Skip to content

Latest commit

Β 

History

History
108 lines (86 loc) Β· 4.7 KB

File metadata and controls

108 lines (86 loc) Β· 4.7 KB

Firestaff DM1 Bug & Feature Tracking

Last updated: 2026-05-26 21:31 GMT+2 Author: Daniel Nylander / Bosse


βœ… Completed Items

1. Load/save does not work

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.

2. The quit menu (Escape key) does not work correctly (both choices quit)

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

3. Selecting Resurrect on a Champion mirror causes Game Over (all party members die)

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

9. Verify against the ReDMCSB source code

Priority: P0 Status: βœ… DONE β€” commit 483781c3 Output: DM1_REDMSB_CODECOMPAR.md (code comparison matrix)

11. Plan for integrating CSB support into Firestaff

Priority: P1 Status: βœ… DONE β€” commit b604d20c Output: docs/plans/CSB_INTEGRATION_PLAN.md (361 lines)


πŸ”΄ Remaining Items (P1/P2 - moved to TODO.md)

4. Walls are not displayed (but the map is correct)

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

5. Champion portraits are displayed in mid-air

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

6. Champion mirrors are not displayed

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/

7. Wall inscriptions are extremely blurry

Priority: P1 Details: Wall inscription text is very blurry or unreadable. ReDMCSB ref: PANEL.C / DUNVIEW.C inscription blit Affected files: TBD

8. The macOS app has no icon

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


CSB V1 Status

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 loading
  • csb_v1_dungeon_world_pc34_compat.c/h β€” dungeon world
  • csb_v1_game.c/h β€” game logic
  • csb_v1_save_load_pc34_compat.c/h β€” save/load
  • csb_v1_viewport_pc34_compat.c/h β€” viewport
  • csb_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)


Subagent Tickets

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