Commit History

  1. feat: add arrow sprites, DisplayGfx, CoordList, weapon sprites⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    ac31270
  2. feat: create_ddgame() with bridges for first 60% of constructor⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9a6b43f
  3. feat: replace DDGame__Constructor with Rust create_ddgame()⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    49ff7ed
  4. docs: add DDGame constructor implementation plan⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    4d0c588

  1. docs: add DDGame constructor port design spec⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d2350ac
  2. chore: re-enable scheme hooks after engine speed fix⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a356f52
  3. refactor: use own EXTENDED_OPTIONS_DEFAULTS constant instead of ROM⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c817312
  4. chore: remove unused EXTENDED_OPTIONS_DEFAULTS import from scheme hooks⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    060f2de
  5. fix: correct EXTENDED_OPTIONS_DEFAULTS and read from ROM at runtime⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    b8e4ca1
  6. feat: add CTaskCrate struct, raw field debug UI, new task fields⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2835c9a
  7. refactor: call DSSound play functions directly instead of via vtable⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6cbc730
  8. refactor: add typed fields for sound dispatch, remove pointer arithmetic⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3f54e7c
  9. feat: convert sound dispatch helpers and fix ActiveSoundEntry fields⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    cbd02f2
  10. chore: remove debug logging from DSSound, fix unused import⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    8c437b9
  11. fix: correct play_sound param order and descriptor state⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    08bd011
  12. feat: replace DSSound slots 3, 4 (play_sound, play_sound_pooled) — 24/24⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    f25f79c
  13. feat: replace DSSound slot 0 (destructor) with Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    b7c455f
  14. feat: replace DSSound slots 2, 5 (set_volume_params, set_pan)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    06e639d
  15. feat: replace DSSound slot 5 (set_pan) with Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    b28d619
  16. feat: replace DSSound slots 7, 8 (set_master_volume, set_channel_volume)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2516121
  17. fix: correct slot 9 return value, enable slots 1, 9, 10, 11⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    886847c
  18. fix: SpeechSlotTable off-by-one, add DSSound channel dump hotkey⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5ce5ac6
  19. fix: correct SpeechSlotTable off-by-one, add sub_destructor (slot 14)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    cf29bed
  20. feat: replace DSSound vtable slots 1, 11, 14 (update_channels, release_finished, sub_destructor)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e84dbd5
  21. feat: replace DSSound vtable slots 9 (is_channel_playing) and 10 (stop_channel)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0976585
  22. feat: pure Rust DDGameWrapper__LoadSpeechWAV, typed struct fields⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    085ae61
  23. chore: update Cargo.lock for hound and windows crate additions⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    8d85984
  24. fix: invert load_wav return values to match original (1=success, 0=fail)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    610bc8a
  25. fix: correct off-by-one in DSSound slot indexing⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    f354a25
  26. refactor: move log_line to openwa-core for shared logging⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    ff1ae87
  27. feat: replace 12/24 DSSound vtable slots with Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0bcdcfa
  28. feat: define DSSoundVtable (24 slots) and patch is_slot_loaded to Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e2abf8d
  29. feat: pure Rust DSSound::new() and typed COM init via windows crate⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    32368d0
  30. refactor: use windows crate for DirectSound calls in create_dssound⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9148328
  31. refactor: reorganize openwa-core into subdirectory modules⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    8790ac2
  32. feat: integrate ERRORLOG.TXT into replay testing flow⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    af56c14
  33. feat: pure Rust DisplayBase::new_headless() with in-place vtable patching⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6437fe1
  34. feat: add DisplayBase vtable struct, Rust headless vtable, and purecall patching⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    853d394

  1. feat: add headless mode to replay-test script⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9c16cae
  2. feat: add headless mode with launcher↔DLL event synchronization⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    68630ac
  3. refactor: rename GameStats → DDDisplayBase, display_gfx → display⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c9f5be7
  4. refactor: extract subsystem creation into construct() methods⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9a56ced
  5. refactor: type GameInfo pointers, merge ctor_impl, fix warnings⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    628ffd1
  6. feat: add install_trap! macro for fully-converted functions⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a92dbfc
  7. refactor: add WABox::from_value and struct constructors for DDKeyboard/Palette⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    96a786b
  8. feat: add vcall! macro and typed vtable structs for Palette and InputCtrl⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    17e3bdc
  9. refactor: improve naming, typing, and readability in hardware_init⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6795996
  10. refactor: add typed structs and named fields to hardware_init⁠

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

  1. feat: replace GameEngine__InitHardware with full Rust reimplementation⁠

    paavohtl +1: Claude Sonnet 4.6
    7dd5442
  2. feat: replace DDGameWrapper__Constructor with full Rust reimplementation⁠

    paavohtl +1: Claude Sonnet 4.6
    d30e8ca