gamer147
d449a2fe1e
Document append bootstrap sequence
2026-07-24 09:33:55 -04:00
gamer147
a3103e708a
Decode persistent unit stat growth
2026-07-24 09:12:49 -04:00
gamer147
0bb7dc7e12
Decode battle passive activation state
2026-07-24 08:58:32 -04:00
gamer147
c4362fe9b7
Decode selected movement routes
2026-07-24 00:08:33 -04:00
gamer147
a5137c2f97
Name ADV graphics layer slots
2026-07-23 23:58:38 -04:00
gamer147
768d2f9d06
Classify stage authoring difficulty tiers
2026-07-23 23:45:46 -04:00
gamer147
ddfbfcb9f8
Decode stage definition tables
2026-07-23 23:36:02 -04:00
gamer147
85e71ae33d
Decode battle animation tables
2026-07-23 23:17:47 -04:00
gamer147
e7e65cf6bb
Decode CDINIT2 card effects
2026-07-23 22:58:01 -04:00
gamer147
6e95ea29a9
Decode TRINIT training actions
2026-07-23 22:25:41 -04:00
gamer147
4c06cd9568
Decode SPINIT H-scene gallery
2026-07-23 21:57:32 -04:00
gamer147
57c45a5e1c
Decode LAINIT terrain definitions
2026-07-23 21:47:48 -04:00
gamer147
a6831d349c
Decode MPINIT stage terrain atlas
2026-07-23 21:31:43 -04:00
gamer147
d0b1a97b47
Decode CVINIT voice configuration
2026-07-23 20:01:53 -04:00
gamer147
664ed5376f
Decode AFINIT and CTINIT data tables
2026-07-23 19:42:32 -04:00
gamer147
44bbbf1687
Decode ALINIT alchemy recipes
2026-07-23 19:26:49 -04:00
gamer147
02e1db9fa4
Decode MAINIT and message infrastructure
2026-07-23 18:14:19 -04:00
gamer147
29aa9a4da5
Join CIINIT and CIMES character profiles
2026-07-23 17:57:21 -04:00
gamer147
e84f61d670
Join VIMES and EIMES semantics
2026-07-23 17:39:08 -04:00
gamer147
98c7b8aba7
Close RTINIT movement provider semantics
2026-07-23 17:11:14 -04:00
gamer147
1168535f1b
Decode RTINIT providers 17 and 52
2026-07-23 16:54:39 -04:00
gamer147
cb68e9eabd
Decode RTINIT providers 3 and 51
2026-07-23 16:44:49 -04:00
gamer147
6ce98da1ab
Close RTINIT movement parameter semantics
2026-07-23 15:58:38 -04:00
gamer147
d75adf50ba
Decode RTINIT movement providers 4 6 and 15
2026-07-23 15:43:27 -04:00
gamer147
ccdc8a1fe1
Decode RTINIT movement providers 7 10 and 12
2026-07-23 15:32:20 -04:00
gamer147
46d4d1e88f
Decode RTINIT movement providers 5 and 11
2026-07-23 14:25:47 -04:00
gamer147
eefca87ad8
Decode RTINIT routine step banks
2026-07-23 13:41:35 -04:00
gamer147
aff9a6fa3c
Decode SCINIT scene dispatch registry
2026-07-23 13:08:48 -04:00
gamer147
101be005d5
Decode CCINIT class change rules
2026-07-23 12:40:42 -04:00
gamer147
557e83be27
Fix EBINIT overlapping field ownership
2026-07-23 12:20:35 -04:00
gamer147
66d8fb7cae
Decode EBINIT signed boss classes
2026-07-23 12:02:23 -04:00
gamer147
82daa07f8d
Classify EBINIT unit power tier
2026-07-23 10:25:19 -04:00
gamer147
7db56c9f8e
Decode EBINIT voice bank semantics
2026-07-23 10:14:55 -04:00
gamer147
b231f50868
Decode EBINIT SALLY action semantics
2026-07-23 10:06:31 -04:00
gamer147
e7091f5680
Resolve final STINIT object payloads
2026-07-23 09:56:18 -04:00
gamer147
d1565d8e18
Decode STINIT initial object states
2026-07-23 09:47:22 -04:00
gamer147
229c77855a
Join STINIT object definitions
2026-07-23 09:34:23 -04:00
gamer147
3210b907f6
Decode STINIT tagged object payloads
2026-07-23 09:07:58 -04:00
gamer147
668e138507
Decode STINIT enemy spawn semantics
2026-07-23 08:40:22 -04:00
gamer147
4e42b57970
Decode STINIT map and object placement data
2026-07-23 00:22:03 -04:00
gamer147
5903357260
Extract and profile STINIT stage records
2026-07-22 23:50:43 -04:00
gamer147
214a1cda9d
Name confirmed EBINIT table columns
2026-07-22 23:25:03 -04:00
gamer147
9efa56c210
Expose semantic INIT column names
2026-07-22 23:15:33 -04:00
gamer147
17d2432d63
Map EB roster events and critical chance
2026-07-22 22:46:21 -04:00
gamer147
bb3eec7aa0
Map EBINIT presentation and reward fields
2026-07-22 21:18:12 -04:00
gamer147
b828c07ff7
Recover signed INIT data semantics
2026-07-22 21:05:48 -04:00
gamer147
24fac92676
Model linked INIT record tables
2026-07-22 16:57:59 -04:00
gamer147
b466c36f8a
Correct INIT extraction and profile item fields
2026-07-22 16:44:53 -04:00
gamer147
8e0f769a6e
Implement base SYS4 asset store
2026-07-11 09:14:14 -04:00
gamer147
c302dda9db
Resolve call-script dispatch: id = raw SYS4INI file index
...
Native-RE (Ghidra) cracked call-script <id> (opcode 0x03): its handler
FUN_0041bc90 -> loader FUN_0040e980 -> resolver FUN_0044f390 indexes an
80-byte record table at base + id*0x50 == the SYS4INI record layout. So
`call-script <id>` is a direct RAW index into the SYS4INI global file
table (the asset index we already parse) -- there is no separate on-disk
id->code registry. This resolves name-resolution.md #1 , statically, no
Frida.
Confirmed: all 297 distinct corpus call-script ids resolve to a .BIN
script with a semantically-exact name (0x1ab->ADDITEM, 0x2ae7->MES,
0x143->BUNKI, 0x329d->CALCREVISE), 0 out-of-range, 0 alternate-pack.
Companion op 0x8f `call` is an intra-script JSR (FUN_0041fba0), not
cross-script.
- parse_sys4ini.py: preserve `raw_index` per entry (= the engine file id;
index the RAW records incl. '@' placeholders) + emit
build/callscript-names.json (id->name).
- sys4load.py: annotate `call-script 0x1ab =ADDITEM.BIN`.
- opcodes.toml 0x03/0x8f refined (source=investigation, confidence high,
handler VAs) + rebuilt opcode-reference.md.
- docs: engine-re.md (op 0x03 section + backlog re-aimed),
name-resolution.md #1 (SOLVED), script-inventory.md (call graph +
living-reference decision), tools-reference.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-07 12:44:51 -04:00