From fe725ea6b5eba3467883b09fe08810c5e8e7841a Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Thu, 14 May 2026 10:21:11 -0500 Subject: [PATCH] Docs updated. --- ARCHITECTURE.md | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 8cdcefa..6dbe100 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -1400,21 +1400,13 @@ loaded via `PatchSlot_PreMode → LoadSceneryFile1`. To fully reverse-engineer the dogfight logic would require disassembling that scenery file's opcode stream — outside the scope of the binary disassembly. -### 17.2 Some Opcode Edge Cases +### 17.2 Unreached `WarDeclared = 3` Block -A few scenery-data records (the COM `$1E` variable-length records, the curve -subdivision counters in `$2B`) only fully make sense when seen with real -scenery byte streams. The handlers in chunk5 are byte-faithful to the source, -but their exact intended payload formats would benefit from cross-referencing -with the on-disk scenery files. - -### 17.3 Easter Eggs - -`TrimDown` (R key) does `inc $08C8` which triggers `ShowWarReport`. This -appears to be either a developer test-bind or an intentional easter egg. -Similarly, `WarDeclared` gets transitioned to `3` in an unreached code block -at `src/chunk5.s:12590` annotated "unused???" — possibly an aborted -post-war or game-over screen. +`src/chunk5.s:12634` carries an "Unused???" annotation over a block that +transitions `WarDeclared` from `$01` to `$03`, calls `DrawMultiMessage` twice, +and busy-waits through a 65k-iteration delay. No code path reaches it in +the current disassembly — possibly an aborted post-war or game-over screen +that was never wired up. ---