-
Notifications
You must be signed in to change notification settings - Fork 0
GFX Loading
Navigation: Home - Graphics - GFX Loading
- Graphics are loaded from external
.32files (not embedded pixel blobs). - The filename strings live in code hunk 0 as C strings at
0x0212..0x035E. - A relocated pointer table in the DATA hunk points at those strings.
- Runtime loading goes through the resource/file wrapper family near
0x25222,0x254CC, and0x25528.
In DATA hunk 0, offset 0x07B0..0x0838 is a contiguous array of relocated longwords that resolve to code-hunk string addresses (catalogue begins @ DATA_gfx_and_dat_filenames / 0x230):
disk.32globe.32book.32throw.32-
intro.32(title background — see38-title-screen-and-intro-assets.md, animation39-title-screen-animation.md) -
introclips.32(title animated clips — pegasus overlays + peekers) xfer.32sky.32event.datnwcp.32master.32townf.32townt.32townb.32town.32cavef.32cavet.32-
townb.32(reused) cave.32castlef.32castlet.32-
townb.32(reused) castle.32outdoor1.32outdoor2.32outdoor3.32outb.32outf.32desert.32ocean.32tundra.32swamp.32endgame.32str.datmap.datroster.dat
The .dat files are in the same table, so this appears to be a unified asset/resource list, not a graphics-only list.
Combat sprites are not a .32 sheet. Monster art is NN.anm (TV animation blobs) indexed by monsters.dat byte @ 0x15 & 0x7F. On PC DOS the parallel atlas is MONSTERS.4 / MONSTERS.16 (see 54-pc-dos-graphics-formats.md). There is no monsters.32 in the retail Amiga install or filename catalogue.
Not planar graphics: globe.32 is an XOR-obfuscated blob of copy-protection / title
string tables (decoded by tools/decode_globe_amiga.py; UI prompts documented in
20-copy-protection-table.md). disk.32 is a similar XOR blob. Both share the .32
extension and loader path but are not Amiga image-chunk tilesets.
-
0x25222validates an index against a 6-byte-per-entry resource table (-0x34E(A4)base, count at-0x5E6E(A4)), then dispatches via0x25528. -
0x251D6uses0x254CCto test/open an entry's backing name pointer from that table. -
0x25300is a central cleanup/reload routine that iterates the resource table and tears down/rebuilds handles.
- Startup builds or restores the resource-entry table.
- Entries reference names through the relocated filename pointer table.
- Screen/game-mode transitions request resources by index.
- The wrapper layer (
0x254CC/0x25528family) performs open/read/close and handle lifecycle.
The numbered animation files (NN.anm) are now partially decoded as the same TV family used by the .32 loader path.
- See
EXTRACTED/docs/07-anm-tv-format.mdfor current format notes. - See
tools/decode_anm.pyfor a working parser that exports metadata and per-plane blobs. - See
EXTRACTED/decomp/mm2_anm_codec.handEXTRACTED/decomp/mm2_anm_codec.cfor a C loader/saver API.
- Exact semantics of some prelude/sequence control bytes (
0x30..block). - Full meaning of per-frame
flagsfields (mostly observed as zero in sampled files). - Exact runtime mapping between wrapper call sites and playback behavior in-engine.
- Docs Wiki Hub ← full doc index
- Getting Started ← read this first
- Overview
- Workspace Notes
- Open Questions
- Full Analysis
- Game Remake
- Startup and Init
- Runtime Memory Map
- Main Loop and Map
- Exploration Input and Options
- Party and Session
- Game State Struct
- Data Hunk mm2 data 00
- Time Era Calendar
- GFX Loading
- ANM TV Format
- PC DOS graphics
- SNES graphics
- 3D View and Game Screen
- Amiga 3D Render Process
- Scripted Scene Graphics
- Event Graphics Opcodes
- Title Screen Assets
- Title Screen Animation
- Format inventory
- items.dat
- monsters.dat
- roster.dat
- attrib.dat
- map.dat
- spells & item use
- event.dat
- Events by location ← 71 maps
- Events hub (numbered)
- Event Script Opcodes
-
Event Script DSL ←
.mm2evtauthoring - Event Text Rendering
- Event Graphics Opcodes
- Combat Overview
- Combat System
- Encounter Tables
- Spell Cast ASM
- monsters.dat abilities
- Spells and item use
- Town Services
- Spell Sources
- Character Mechanics
- Skills and Hirelings
- Commerce Formulas
- Commerce World Services
- Mount Farview Class Quest
- Class Quest HP Bug
- Event Runtime
- Event to String Path
- Embedded Exe Strings
- Copy Protection
- Time Era Calendar
- Game State Struct
- MM1 Overview ← hub + decode status
- MM1 MAZEDATA format
- MM1 to MM2 outdoor
- MM1 WALLPIX by sector
- MM1 art & graphics
- MM1 items / monsters (status)
- MM1 map walker ↗
- MM1 2D maps gallery
- MM1 WALLPIX gallery