Skip to content

MM1 Items Monsters Events

Vairn edited this page Jun 30, 2026 · 1 revision

MM1 Items Monsters Events

Navigation: Home - Might and Magic I (DOS) - MM1 Items Monsters Events

Not yet decoded in this repository. This page records what we know from companion projects and where to start a future trace.


Status summary

Data Likely source (DOS) This repo
Items ITEMS.DTA or embedded tables in MM.EXE ❌ no codec
Monsters MONSTERS.DTA ❌ no codec
Spells SPELLS.DTA / exe tables ❌ no codec
Map events Per-map *.OVR (code + data) ❌ not exported
Strings MM.EXE, STRINGS.DTA (variant) partial — slug table @ 0x10C07 only
Shops / tables OVR / exe

For gameplay reference (not binary layouts), the FAQ monster lists and item notes in Might and Magic FAQ.txt cover MM2 primarily; MM1-specific tables are sparse there.


Best external references

Resource Use for
ScummVM engines/mm/mm1 Authoritative loaders for monsters, items, spells, map scripts
ScummVM mm1/datafiles Expected filenames and platform variants
lagdotcom RE (GOG/.../re/lagdotcom/) WALLPIX / maze tooling (already used here)
RPGClassics / Fandom MM1 tables Human-readable item/monster lists for validation

Map events (*.OVR)

Each MAZEDATA screen has a companion overlay file (e.g. SORPIGAL.OVR, AREAA1.OVR). Structure:

  • 14-byte header (code size, data size, …)
  • Code segment — map script bytecode (movement, encounters, doors, text)
  • Data segment — tables, WALLPIX lane ids (outdoor), exit ids, etc.

ScummVM’s engines/mm/mm1/maps/ implements the interpreter. We only parse data-segment fields needed for outdoor conversion (tools/mm1_wallpix.py parse_ovr_data()).

Next trace targets: event opcode table in OVR code, encounter hooks, item give/take ops — mirror the MM2 event.dat work once opcode layout is confirmed.


Items & monsters (planned)

When decoding starts, expect parallels with MM2:

MM2 MM1 (hypothesis — verify in ScummVM)
items.dat 256×20 ITEMS.DTA fixed records
monsters.dat 256×26 MONSTERS.DTA fixed records
spells.dat 96×2 SPELLS.DTA or exe-embedded
event.dat container per-map *.OVR scripts

Deliverables will follow repo convention: struct in EXTRACTED/decomp/, Python + C codec in tools/, format doc numbered in EXTRACTED/docs/, MM2ED-style editor section if warranted.


See also


See also

Page Why
MM1 Overview Decode status
items dat Format MM2 item layout baseline
monsters dat Format MM2 monster layout baseline

🏠 Home


Getting started

Runtime & engine

Graphics

UI

Data formats (.dat)

Combat

Audio

Game systems

Might and Magic I (DOS)

Gallery

Tools

Clone this wiki locally