gamer147
a61c0c9abd
feat(assets): solve asset resolution (SYS4INI per-scene section manifest)
...
resId -> files[section_base(scene) + resId]. SYS4INI's file list is
sectioned, one per scene (SCxxxx.BIN + its cross-archive asset manifest);
file_number is the index within the section. Unified for set-texture,
play-bgm, play-voice. Fully static/general -> no per-scene capture.
- tools/parse_sys4ini.py: SYS4INI (S4IC422, LZSS) -> build/asset-index.json
- tools/resolve_asset.py: sections + (scene,resId) resolver -> build/asset-sections.json
- validated: 97% structural, SC0000 17/17 vs Frida, 586/595 captured loads
- opcodes.toml: set-texture/create/draw-texture, play-bgm/voice enriched (frida-grounded)
- Frida tooling (capture_load_order all-archive, correlate_scope, ...) + vm0 --settex
- docs: asset-resolution-re (step2 SOLVED), global-memory-re (shelved), tools-reference
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 20:48:22 -04:00
gamer147
b92e815850
feat(a2b): asset-RE tooling + findings; render blocked on asset resolution
...
- tools/convert_agf.py (AGF->BMP stills), tools/frida/ (capture harness + README; Frida 17.15.3)
- docs/asset-resolution-re.md: foundational RE steering doc (resId->file; graphics+audio; not
machine-verifiable -> Frida ground truth + human oracle). RE plan: parse SYS4INI, crack resId->name,
backend render (A2b plan Tasks 3-5), audio, movies.
- Finding: SC0000 bg = slot-0 slideshow (res 0x23 first); resolution opaque (CGINIT not a name map,
SYS4INI S4IC needs RE, Frida file-I/O noisy/memory-mapped, opening mixes MPEG movies).
- slice plan updated; texture ops already engine-driven (Task 1, prior commit).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 16:36:17 -04:00
gamer147
ef2cd03af2
docs(a2b): implementation plan for the engine-driven background layer
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 15:44:07 -04:00
gamer147
5af5622601
docs(a2b): spec for the engine-driven background layer (SC0000)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 15:37:05 -04:00
gamer147
78b7d92e93
feat(a2a): CJK font for the message window; mark A2a done in the slice plan
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 14:52:40 -04:00
gamer147
e42655a849
docs(a2a): implementation plan for the interactive dialogue loop
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 14:42:15 -04:00
gamer147
26dcf001f2
docs(a2a): spec for the interactive dialogue loop (Godot + Age.Engine)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 14:31:57 -04:00
gamer147
afc9511270
docs: mark A1 (C# VM core) done in the slice plan
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 14:01:33 -04:00
gamer147
a50b7f600a
docs(a1): implementation plan for the C# VM core
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 13:45:05 -04:00
gamer147
a6cd43ce74
docs(a1): spec for the C# VM core (headless, trace-diff vs vm0.py)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 13:32:42 -04:00
gamer147
0ffb9620a3
docs(opcodes): retire superseded opcode files; update structure + doc pointers
...
- rm vm-map/opcodes-himegari.json, vm-map/himegari-opcode-notes.md (folded into opcodes.toml; in history)
- PROJECT-STRUCTURE.md: opcodes.toml single-source-of-truth + generated artifacts + convention
- repoint dead references in vm-mapping-plan/sys4-format-notes/himegari-port-reference/phase-a-slice-plan
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 13:16:33 -04:00
gamer147
9f140fda83
feat(opcodes): migrate to opcodes.toml as single source of truth; regenerate artifacts
...
- 248 opcodes seeded from Kelebek + corpus arg-types; 23 inferences migrated
- source = provenance (frida/unicorn methods = inference + confirm_by, not grounded)
- 0x90/0x97 enriched with depends_on + details
- differential-verified: SC0830/MENU disasm byte-identical, vm0 --test PASS, sweep 282/294
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 13:11:33 -04:00
gamer147
463877773c
chore: initialize age-reimpl repo
...
Reverse-engineering + open reimplementation workspace for Eushully's AGE/SYS4
engine (first target: Himegari). The repo root is age-reimpl/; the original game
install and the extracted ALF data are siblings outside the repo and are never
tracked. build/ (derived corpora) is gitignored and regenerated by the tools.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-06 12:58:30 -04:00