Commit History

  1. fix: exclude replay hooks from trace-desync baseline⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    89a6579
  2. refactor: split input.rs into frame_hook, replay_test, debug_utils⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0179a59
  3. feat: add trace-desync tool for per-frame checksum comparison⁠

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

  1. docs: update CLAUDE.md with test isolation details and ERRORLOG env var⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    f596e2a
  2. perf: batch MinHook enable calls for 10x faster test startup⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    1bdc4f7
  3. fix: scope MutexGuard in worker thread to not hold lock during test⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    8e36bc6
  4. fix: isolate named semaphore for full test concurrency⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    79ad64a
  5. fix: high-concurrency test crashes from premature thread resume⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    10cb6f9
  6. feat: wire in pure Rust fire_armageddon, fix 4-byte buffer offset bug⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    bb59078
  7. feat: test runner crash detection, ERRORLOG capture, and dialog suppression⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a8f286b
  8. chore: add VSCode settings for automatic formatting on save

    d3f3b34
  9. style: cargo fmt across all crates⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    1d3de83
  10. refactor: use Fixed types and meaningful names in DSSound⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    12635a0
  11. style: cargo fmt on weapon.rs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    36caf33
  12. refactor: use Fixed types and meaningful names in DSSound⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    cbc66c4
  13. fix: DSSound channel priority stored wrong value, preventing sound eviction⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    882d6f3
  14. feat: port CTaskWorm::PlaySound2 (FUN_00515020) to Rust, hook all 23 callers⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    74fd7c8

  1. fix: correct SharedData entity type and rename all SpecialFireSubtype/WormState⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3b55aa0
  2. docs: update CLAUDE.md for _raw methods, noalias rule, typed messages⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9686af7
  3. refactor: rename NapalmStrike subtype to StrikeFire⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    ca43e7d
  4. feat: wire up typed NapalmStrike sender via TeamMessage + handle_message_raw⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d071c17
  5. fix: eliminate noalias UB in vtable dispatch, add typed TeamMessage⁠

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

  1. docs: update CLAUDE.md for WeaponRelease port, sound types, bridge patterns⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0cdcc6e
  2. feat: port SpawnEffect (0x547C30) to Rust and hook it⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    daab4e1
  3. feat: port worm sound functions to Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d575149
  4. refactor: propagate WeaponReleaseContext type through fire dispatch⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e209bb6
  5. fix: split SoundId into newtype + KnownSoundId enum⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    62e3695
  6. refactor: use Weapon enum for weapon IDs and classification⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9d2738d
  7. refactor: add weapon fire type enums, use Fixed for aim/scale params⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    654bf33
  8. refactor: use SoundId and Fixed types in sound functions⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    07b71e5
  9. refactor: eliminate raw pointer arithmetic in weapon_release.rs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e85f37c
  10. feat: port WeaponRelease (0x51C3D0) to Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    f5fbbeb
  11. docs: update CLAUDE.md for weapon porting, CTask vtable, baseline rules⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    254b6b5
  12. feat: port Air Strike, Indian Nuclear Test, and Jet Pack to Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e565bdc
  13. feat: port Jet Pack + Low Gravity to Rust, investigate codegen UB⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e4126c2
  14. feat: port Jet Pack weapon to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2af8d3b

  1. refactor: rename CTaskFireBall → CTaskGirder⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    35a783f
  2. test: add girder replay test (2× Girder, 5× Girder Starter-Pack)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    cd4a89f
  3. feat: port Girder weapon to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    b189527
  4. feat: port Freeze weapon to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    78418c5
  5. feat: discover CTaskWorm poison and health display fields⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    ed7ea8c
  6. fix: correct CTask vtable layout — 7 slots, not 8⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    b532037
  7. feat: add WormState enum — typed worm state machine values⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2a09823
  8. feat: port weapon fire sub-functions to Rust — Drill, Prod, vtable calls⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0572750
  9. refactor: eliminate pointer arithmetic in weapon.rs — typed params throughout⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e1d5d02
  10. docs: update CLAUDE.md for typed vtable infrastructure⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d45f977
  11. fix: broadcast_message now works — use read_volatile for children state⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c090ef4
  12. feat: add CTaskVtable, broadcast_message, and retype children_data⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    df6d1b6
  13. feat: port CTaskFilter::HandleMessage to Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    24cf333
  14. refactor: fully type CTaskCloud handler — no raw offsets⁠

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