Decode MAINIT and message infrastructure

This commit is contained in:
gamer147
2026-07-23 18:14:19 -04:00
parent 7269ddb547
commit 7f344739e6
12 changed files with 461 additions and 49 deletions

View File

@@ -117,13 +117,16 @@ instantiated steps to join.
text), `CIMES` (15 KB), `MAMES`, `INFOMES`, `MES` — where most translatable text
outside scenes lives. The generated message join covers ITMES's 287 item records, SKMES's 131 skill
records, VIMES's complete 65-topic VIINIT glossary, EIMES's 192 sparse EBINIT enemy-commentary
records, and CIMES's complete 24-profile CIINIT character registry. ITMES/SKMES use fallthrough message
bodies; VIMES/EIMES/CIMES place all guards first and branch to later bodies. VIMES records retain title
records, CIMES's complete 24-profile CIINIT character registry, and nine of MAINIT's eleven magic actions.
ITMES/SKMES/MAMES use fallthrough message bodies; VIMES/EIMES/CIMES place all guards first and branch to
later bodies. VIMES records retain title
plus multiline description, EIMES's untitled two-line records expose `summary` and `strategy`, and
CIMES exposes one untitled multiline `biography`. INFOCH uses each CIINIT profile id to join its displayed
name, backing unit definition, optional portrait, and CIMES text. The smaller MAMES/INFOMES/MES scripts
need separate structural classification; INFOMES is already known to be the information-screen handler
router rather than a text body.
CIMES exposes one untitled multiline `biography`; MAMES exposes one untitled action `description`.
INFOCH uses each CIINIT profile id to join its displayed name, backing unit definition, optional portrait,
and CIMES text. INFOMES itself contains no text: it walks a 32-by-4 first-handler-wins registry whose
shipped row zero routes the character, enemy, and glossary tabs to CIMES/EIMES/VIMES. MES is the generic
modal renderer for caller-populated line buffers, with a shared optional annotation ABI also consumed by
SBUNKI. Full data-flow details live in `name-resolution.md`.
### Battle system
`BTL` (61 KB — main battle loop), `BTRTN`, `ROUND`, `AIM`, `ATSEEK`, `MVSEEK`,