Last updated: 2026-05-26 21:31 GMT+2 Author: Daniel Nylander / Bosse
Priority: P0 Status: β LIKELY WORKING Details: F5/F9 use DM1_SaveGame/DM1_LoadGameWithBackup directly, which properly serialize the world via F0897_WORLD_Serialize_Compat. The m11_engine_save_game stub (passes NULL) has zero callers and is not used by F5/F9. Note: Verify with runtime test - play game, press F5, verify save file size > 0, restart, press F9, verify state restored.
Priority: P0 β UX-breaking
Status: β
FIXED β commit 98f9295f
Details: ESC dialog YES/NO click hit zones (hardcoded hy=67/104) didn't match drawn button positions (choiceY=109). Added dedicated hit-zone computation for returnToMenuConfirmActive + dialogChoiceCount==2 using actual drawn layout.
ReDMCSB ref: CLIKVIEW.C F0378/F0379/F0380
Affected files: src/engine/m11_game_view.c m11_dialog_choice_at_point
Priority: P0 β UX-breaking
Status: β
FIXED β commit 1a186fdc
Details: candidateMirrorPartyIndex stored snapshot at recruit time became stale when party->championCount changed. Changed to party->championCount - 1 (ReDMCSB G0305 pattern).
ReDMCSB ref: REVIVE.C F0282, COMMAND.C C160/C161/C162
Affected files: src/engine/m11_game_view.c ConfirmMirrorCandidate/CancelMirrorCandidate
Priority: P0
Status: β
DONE β commit 483781c3
Output: DM1_REDMSB_CODECOMPAR.md (code comparison matrix)
Priority: P1
Status: β
DONE β commit b604d20c
Output: docs/plans/CSB_INTEGRATION_PLAN.md (361 lines)
Priority: P1 β Need runtime capture before fixing
Details: Walls missing from viewport, but map shows correct layout.
ReDMCSB ref: DUNVIEW.C, MOVESENS.C, VBLANK.C wall draw path
Affected files: src/dm1/dm1_v1_viewport_3d_pc34_compat.c, src/dm1/dm1_v1_draw_primitives_pc34_compat.c
Priority: P1
Details: Champion images rendered at wrong Z-layer, appearing to float.
ReDMCSB ref: VBLANK.C draw order, DUNVIEW.C layer ordering
Affected files: src/engine/m11_game_view.c draw order section
Priority: P1
Details: Champion mirrors not rendered in viewport.
ReDMCSB ref: CLIKVIEW.C, GRAPHICS.DAT bitmap indices for mirror objects
Affected files: viewport rendering files in src/dm1/
Priority: P1 Details: Wall inscription text is very blurry or unreadable. ReDMCSB ref: PANEL.C / DUNVIEW.C inscription blit Affected files: TBD
Priority: P2
Details: macOS .app bundle has no custom icon.
Fix: Add firestaff.icns to firestaff.app/Contents/Resources/
Affected files: cmake/macosx.cmake / CMakeLists.txt
Started: 2026-05-26 21:31 GMT+2
Plan: See docs/plans/CSB_INTEGRATION_PLAN.md
Existing code: 13 header + 13 source files in src/csb/ and include/csb*
Key existing modules:
csb_v1_character_pc34_compat.c/hβ champion system (4 champions imported from DM1)csb_v1_dungeon_loader_pc34_compat.c/hβ dungeon loadingcsb_v1_dungeon_world_pc34_compat.c/hβ dungeon worldcsb_v1_game.c/hβ game logiccsb_v1_save_load_pc34_compat.c/hβ save/loadcsb_v1_viewport_pc34_compat.c/hβ viewportcsb_v1_chaos_magic_pc34_compat.c/hβ chaos magic- Plus v2 modules: chaos_enhanced, minimap, smooth_movement, viewport_renderer
Remaining: CSB V1 runtime handoff (menu β game loop)
| Ticket | Scope | Priority | Status |
|---|---|---|---|
| DM1_V1_ESC_QUIT_DIALOG | ESC quit menu both exits bug | P0 | β DONE |
| DM1_V1_RESURRECT_GAMEOVER | Champion resurrect β game over | P0 | β DONE |
| DM1_V1_SAVE_LOAD_FIX | F5/F9 save/load | P0 | β VERIFY |
| DM1_V1_VIEWPORT_WALLS | Walls not rendering | P1 | TODO |
| DM1_V1_DRAW_ORDER | Champion images floating | P1 | TODO |
| DM1_V1_MIRROR_RENDER | Champion mirrors invisible | P1 | TODO |
| DM1_V1_TEXT_INSCRIPTIONS | Wall inscriptions blurry | P1 | TODO |
| DM1_V1_FULL_CODECOMPAR | ReDMCSB full audit | P0 | β DONE |
| CSB_INTEGRATION_PLAN | CSB support plan | P1 | β DONE |
| CSB_V1_RUNTIME_HANDOFF | CSB V1 launch | P0 | IN PROGRESS |