Commit Graph

69 Commits

Author SHA1 Message Date
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
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
9efa56c210 Expose semantic INIT column names 2026-07-22 23:15:33 -04:00
gamer147
b536e91fbc Join item and skill message semantics 2026-07-22 23:04:24 -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
a3cb2cf3da Adopt GPU retained renderer 2026-07-22 15:37:42 -04:00
gamer147
838f6d4245 Profile and optimize retained rendering 2026-07-22 14:19:20 -04:00
gamer147
1625b3bf54 Document performance baselines and native animation cadence 2026-07-22 12:06:54 -04:00
gamer147
740e10c550 Harden movie playback lifecycle and diagnostics 2026-07-22 09:44:57 -04:00
gamer147
5b66cb2cd2 Enable paced FFmpeg movie playback 2026-07-22 08:39:27 -04:00
gamer147
5f115e694f Add isolated FFmpeg movie decoder shim 2026-07-22 00:17:27 -04:00
gamer147
983c7d0bb0 Correct native packed resource addressing docs 2026-07-21 20:14:07 -04:00
gamer147
db8982d909 Capture natural Game Start diagnostics 2026-07-21 01:20:07 -04:00
gamer147
2fa42b085a Add hidden title debug mode and pace menu polls 2026-07-20 23:38:19 -04:00
gamer147
c84952e7d7 Implement root reload and title debug launcher 2026-07-20 22:32:49 -04:00
gamer147
343fde08dc Document SYSTEM4 launcher defaults 2026-07-20 18:17:04 -04:00
gamer147
d4510242d6 Land SYSTEM4-rooted Godot boot 2026-07-20 18:13:32 -04:00
gamer147
9b35fc9e61 Document B0 natural boot control spine 2026-07-20 17:29:38 -04:00
gamer147
c8303babf5 Reverse opcode 0x1ad save resume boundary 2026-07-20 12:06:02 -04:00
gamer147
66b13315f2 Correct ADV Hide Window restore behavior 2026-07-18 22:23:06 -04:00
gamer147
3aca514497 feat: add runtime ADV page locator 2026-07-11 22:52:26 -04:00
gamer147
0d3078de03 Migrate audio payloads onto asset VFS 2026-07-11 11:01:11 -04:00
gamer147
ec07c76721 Decode AGF textures through the asset store 2026-07-11 09:55:58 -04:00
gamer147
8e0f769a6e Implement base SYS4 asset store 2026-07-11 09:14:14 -04:00
gamer147
2232216832 Implement native-backed SC0000 SFX lifecycle 2026-07-11 02:15:17 -04:00
gamer147
0f39a55071 Document native asset VFS roadmap 2026-07-10 23:25:31 -04:00
gamer147
921c91474f Implement native ADV retained text 2026-07-10 22:46:27 -04:00
gamer147
f94bca4ba5 Refresh retained presentation references 2026-07-10 21:56:57 -04:00
gamer147
85a66afe20 Fix native retained presentation batching 2026-07-10 21:37:42 -04:00
gamer147
8731d6389c Implement native 0x202 color interpolation 2026-07-10 20:49:28 -04:00
gamer147
d6d1be984e Implement ADV foreground transition lifecycle 2026-07-10 18:49:53 -04:00
gamer147
768863b48e feat: add affine rotation rendering and timeline diagnostics 2026-07-10 17:54:33 -04:00
gamer147
4d225618f9 fix: align animation pacing and transforms with native 2026-07-10 15:41:17 -04:00
gamer147
5427e9d776 feat: split native scale and translation channels 2026-07-10 10:28:11 -04:00
gamer147
48872de8ed docs: scene-entry state snapshot (capture_global_writes + --state)
engine-re.md: the write-log method, plaintext-value insight (store is obfuscated),
vm_operand_write ABI, the packer poll-until-unpacked fix, and the validation
(34k-global capture seeds the VM to match the engine's whole opening). Plus the
resync-tolerant align() / operand-hook blind-spot notes. tools-reference: the new
tool + trace --state.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 13:32:52 -04:00
gamer147
464d9e9c0e re: record differential oracle outcome + first divergence
engine-re.md: the offset-path diff method, the working capture (operand hook
0x41b940; tick 0x410fb0 sees ecx!=ctx), the two capture caveats (hook-before-load
gating + operand-mode argc>=1 filter), SC0000 codebase id, and the first
divergence found (op 0xa0 jcc @ 0x8d on uninitialized G[0x6c1], the ADV-chrome
enable — a two-boot-gap state hole, not the predicted coroutine yield).
tools-reference.md: trace_engine_ops.py, diff_optrace.py, --trace-json.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 12:00:12 -04:00
gamer147
fae5c9abef re: apply EngineCtx struct to /v2 handlers; doc + canonical-map wiring
Created the EngineCtx Ghidra struct (35 fields, 0xa1000) and retyped all
419 dispatch handlers' this -> EngineCtx* (CUSTOM_STORAGE, ctx in ECX).
Handlers now decompile ctx->cur_ctx_index / ctx->run_state_flags etc.
Validated: sleep_op_0xc8, gfx_op_0x215. tools-reference + engine-re.md
wired; CLAUDE.md canonical-map updated (root, outside repo).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 10:08:06 -04:00