-
Notifications
You must be signed in to change notification settings - Fork 0
MM1 Art and Graphics
Navigation: Home - Might and Magic I (DOS) - MM1 Art and Graphics
MM1 DOS graphics are not the same format as MM2 Amiga .32 / .anm planar chunks. What we have decoded or exported in this repo is listed below.
| Asset | File | Status | Notes |
|---|---|---|---|
| Horizon WALLPIX | WALLPIX.DTA |
Partial | Entries 7–14 = overland biomes; lagdotcom PNG exports |
| Indoor wall sets | WALLPIX.DTA |
Partial |
wall01.png…wall14.png composites (496×128, 12 slices each) |
| Floor / object pix |
FLOORPIX.DTA, OBJPIX.DTA
|
Not decoded | ScummVM loaders only |
| Monster portraits | MONPIX.DTA |
Not decoded | Combat UI sprites |
| Character faces | in MM.EXE / data |
Not decoded | — |
| Walker rendering | — | MM2 stand-ins | Indoor walls from MM2 town/cave/castle; outdoor horizons from MM2 desert/ocean/etc. |
Each wall set is one 496×128 indexed-color composite. The 3D engine slices it into 12 sub-images for the frustum (tools/mm1_wallpix.py WALLSLICES):
| Slice | Size | Role |
|---|---|---|
| left1…left4 | 32×128 … 16×32 | Left wall column, near → far |
| right1…right4 | mirror of left | Right wall column |
| mid2…mid5 | 176×96 … 16×16 | Front wall column |
Slice order matches MM2’s collectBlits depth table (SLICE_BY_FRAME in mm1_wallpix.py).
Export path (GOG): Might and Magic 1\re\lagdotcom\exported\wallNN.png
Regenerate from game files with lagdotcom’s RE tools (not shipped in this repo).
Outdoor maps load three WALLPIX entries (near / mid / far lanes). Per-sector assignments are in 24-mm1-outdoor-wallpix-by-sector.
| Entry | PNG | Biome label |
|---|---|---|
| 7 | wall07.png | trees |
| 8 | wall08.png | mountains |
| 9 | wall09.png | trees |
| 10 | wall10.png | lava |
| 11 | wall11.png | swamp |
| 12 | wall12.png | water |
| 13 | wall13.png | thick forest |
| 14 | wall14.png | mountains |
Lane ids come from each area*.OVR data segment (ScummVM Maps::loadTile / TILE_AREA2 table) — see tools/mm1_wallpix.py outdoor_wall_lanes().
MM1_COLOR_OFFSET (from ScummVM maps.cpp) plus slug heuristics pick which wallNN.png a dungeon/town uses (wall_set_for_screen()):
| Screen kind | Typical wall set |
|---|---|
| Caves, upper dragon | wall01 |
| Towns (default) | wall02 |
| Overland A–E | wall05–wall09 (by sector letter) |
| Endgame fights | wall10 |
| Doom / demon / astral / dragon | wall13 |
| Plane of Power | wall14 |
The HTML walker does not render these PNGs yet — it uses MM2 .32 sheets for a consistent preview pipeline.
55-byte table (one byte per MAZEDATA screen) toggles palette variant for wall sets — MM1_COLOR_OFFSET in tools/mm1_wallpix.py (from ScummVM COLOR_OFFSET[mapIndex]).
Rendered PNGs (regenerate anytime):
python tools/export_mm1_gallery.py # 55 maps + WALLPIX sheets → wiki/public/gallery/mm1/
python wiki/scripts/export-gfx-gallery.py # MM2 maps, monsters, tilesets → wiki/public/gallery/Browse locally: cd wiki && npm run dev → MM1 maps, MM1 walls.
When lagdotcom exports are present, wall sheets include labeled slice atlases (12 frustum pieces per wallNN.png).
- 50-mm1-overview — MM1 hub
- 22-mm1-mazedata-format — maze geometry
- 23-mm1-to-mm2-outdoor — how WALLPIX biomes drive the outdoor walker
-
06-gfx-loading — MM2
.32format (walker stand-ins)
| Page | Why |
|---|---|
| MM1 Outdoor WALLPIX | Biome sheet table |
| GFX Loading | MM2 .32 walker stand-ins |
| MM1 Map Walker | Preview pipeline |
- 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