Commit History

  1. refactor: extract FFI calls into typed wa_* wrapper functions⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    8fe7bff
  2. refactor: rename DDGameWrapper loading progress fields⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    bee20b7
  3. refactor: lift all magic addresses to va:: constants⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9984c5c
  4. refactor: name DDGame fields, replace pointer arithmetic with struct access⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e826648
  5. refactor: rename TaskStateMachine β†’ BitGrid⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    1240d65
  6. refactor: use TaskStateMachine struct for sprite width/height reads⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c02910c
  7. refactor: add TaskStateMachine and GfxDirEntry structs, eliminate pointer arithmetic⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2eaf41f
  8. fix: complete gradient with palette round-trip, mark as untested⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6c987d4
  9. chore: remove dead PaletteContext methods (find_closest, read_color_fp)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a7fe8f3
  10. refactor: rename DDGame fields _param_018 β†’ timer_obj, _caller β†’ network_ecx⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    919a480
  11. refactor: extract task_state_machine_init to task/state_machine.rs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5d8928f
  12. refactor: extract gradient computation to display/gradient.rs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2d732a2
  13. refactor: extract GfxHandler subsystem to render/gfx_handler.rs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a2be614
  14. feat: implement complex gradient computation for non-standard levels⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    177fc4e
  15. refactor: clean up outdated comments in ddgame.rs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3c72efb
  16. refactor: clean up ddgame.rs β€” remove dead code, fix bug, reduce logging⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    74b6e34
  17. Merge branch 'ddgame-constructor': Rust DDGame constructor⁠

    6db1334
  18. chore: clean up debug logging, document remaining differences⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9ddf61a
  19. fix: initialize DisplayGfx at DDGame+0x138 with TaskStateMachine__Init⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    69dea63
  20. fix: move loading ticks to correct positions, add second pair⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0d5ebac
  21. fix: populate coord_list from PCLandscape output β€” fixes determinism⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a3bc020
  22. fix: set sound_available early to match original constructor⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    ae2f611
  23. fix: remove extra loading progress ticks, cargo fmt⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    04e939e
  24. fix: _field_4dc reads game_info+0x44C, not net_game+0x44C⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6287626
  25. fix: enable loading progress ticks, fix _field_4dc condition⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d6d409e
  26. fix: fill.img uses water_layer, fix release to vtable[3]⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    305964e
  27. fix: correct color entries β€” pass (x=idx, y=0) for colours.img⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    45fd8ba
  28. fix: enable arrow sprite loading fallback, fix SpriteRegion param order⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    8a0cd0d
  29. feat: enable USE_RUST_CTOR β€” Rust DDGame constructor now functional⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e7f6be4

  1. fix: correct vtable calling conventions in Rust DDGame constructor⁠

    paavohtl +1: Claude Opus 4.6
    6820eef
  2. refactor: replace FFI bridges with direct Rust calls in DDGame constructor⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a9dc351
  3. feat: hook GfxHandler__LoadDir β€” all 7 DDGame sub-functions active⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    463da8a
  4. feat: port GfxDir__FindEntry to Rust, add GfxHandler__LoadDir impl⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    920c66b
  5. feat: port 5 DDGame constructor sub-functions to Rust hooks⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d621fac

  1. refactor: simplify GfxHandler threshold to plain 33 / -2⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0844196
  2. refactor: add GameInfo fields, replace pointer arithmetic⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    b7ab092
  3. debug: GfxResource bridge with EBP/EBX save still corrupts stack⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9140c85
  4. debug: isolate call_gfx_resource_create as stack corruption source⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3fa47b2
  5. fix: TSM init missing ESI, unguard display calls for headless⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d06e127
  6. fix: remove g_GameSession loading flag (was corrupting stack)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3c325a3
  7. fix: 3 calling convention bugs found by systematic audit⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    dbded04
  8. fix: guard display vtable calls for headless mode⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    fd089dc
  9. debug: re-enable arrow loop, skip fallback load, disable end sections⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6dee809
  10. fix: TaskStateMachine__Init_Maybe was fastcall+stdcall, not pure fastcall⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    00e3778
  11. debug: remove param hooks, isolate arrow loop hang⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    4563f4c
  12. debug: disable all loading ticks and end sections, add flow logging⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9d4f40a
  13. fix: DisplayGfx vtable (0x664144 not 0x6641F8), alloc size, disable loading tick⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    aa7f19e
  14. fix: re-enable all end sections with correct conventions⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a27530b
  15. debug: disable end sections to isolate crash⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    f4af409
  16. fix: correct HUD/sprite init addresses, fix display byte-read bug⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    7e1ac17