Magic Pockets

From ModdingWiki
Jump to navigation Jump to search
Magic Pockets
Magic Pockets.png
There is no image of a modified version of this game — upload one!
Levels?Emblem-important.png Partially editable
Tiles?Emblem-important.png Partially editable
Sprites?Emblem-important.png Partially editable
Fullscreen?Emblem-important.png Partially editable
Sound?Emblem-important.png Partially editable
Music?Emblem-important.png Partially editable
Text?Emblem-important.png Partially editable
Story/cutscenes?Unknown
UI/menus?Emblem-important.png Partially editable
Demos?Emblem-important.png Partially editable

Magic Pockets uses several compact binary formats for its DOS graphics, maps, level events and sound. These pages describe the DOS asset collection analysed by the re-magicpockets project.

Sixty files in the supplied data directory have an RNC ProPack method 1 wrapper. Decompress these before interpreting the formats below. install.txt and pockets.ini are uncompressed text; the logo resources embedded in the unpacked logo executable use a separate archive and LZHUF compression.

The filename matters as much as the extension. In particular, .pin identifies several unrelated formats, and .pak contains three different fixed-size graphics layouts.

Tools

Name Platform Archives Levels Graphics Music Sounds Text Saves .exe patch Notes
re-magicpockets Web browser / Node.js Extract View Export Export Some Some No No Open-source vanilla JavaScript port, unified asset viewer and command-line extractors. Requires original game files. The viewer exports PNG and plain MIDI; the engine has a separate original-driver AdLib playback path.

File formats

Filename Format Details
*.pak, *.pap, *.pip, *.pin Magic Pockets RNC Compression Outer compression used by all 60 binary files in the analysed data directory
bitkid.pak, ape.pak, nasty1-4.pak, special1-4.pak, kidx1-4.pak, extras.pak, extrax1-4.pak Magic Pockets Sprite Format 32×32 or 16×16 masked planar tiles
blocks1-4.pak Magic Pockets Tileset Format 120 opaque 32×16 tiles per world
level1a-4b.pap, pcmap.pap, sea.pap Magic Pockets Map Format Ten 128×128 tile grids; level filenames use a world number and A/B suffix
new.pip, endscrn.pip, intro0-5.pip Magic Pockets Image Format DEGAS low-resolution planar images, including a shorter caption-font image
level0.pin, new1.pin, level2.pin, level3a-c.pin, level4.pin Magic Pockets Level Script Format Entity placement and level-event streams
adlib.pin, adlib2-3.pin, roland.pin, roland2.pin, soundbnk.pin Magic Pockets Music Format MIDI cue banks, with some dictionary-compressed entries
autoplay.pin Magic Pockets Demo Format Run-length encoded input for the attract demo
player.pin, beeper.pin, tandy.pin Magic Pockets Sound Driver Format Loadable 8086 code, rather than an audio data format
sblaster.pin Magic Pockets Sound Blaster Data Format Undecoded payload; filename alone does not establish its internal format
extra_2.pin Magic Pockets Extra Data Format Unclassified payload
pockets.ini Magic Pockets Configuration Format Positional hardware and control settings
install.txt Magic Pockets Installer Script Format Text configuration and commands for the installer
Archive appended to KLOGOPOU.EXE Magic Pockets Resource Archive Format EJWLIB resource directory with an XOR-obfuscated directory
LOGO1.HUF, LOGO2_4.HUF, LOGO3.HUF inside that archive Magic Pockets Logo Image Format LZHUF-compressed resources; LOGO1 has a verified planar image layout

Notes

  • Sizes and offsets on the format pages refer to decompressed data unless explicitly stated otherwise.
  • Big-endian level records and picture words coexist with little-endian sound tables and 8086 executable code. There is no universal byte order.
  • Sprite palettes, animation descriptors and tile collision classifications are held in the executable, rather than in the sprite or map files.
  • The RE notes retain older hypotheses alongside later corrections. The image and music pages use the newer DEGAS and dictionary-MIDI findings. Unknown layouts remain marked as unknown.
  • Viewing or exporting a format does not imply that an editor or a compressor is available. The capability flags above indicate partial support.

External links