Commit History

  1. refactor: introduce SpriteOp/SpriteFlags, rename SpriteId to KnownSpriteId⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    07389f9
  2. refactor(cloud): rename pos_y/vel_y to anim_phase/phase_speed, use RenderMessage⁠

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

  1. fix(cloud): use field 0x44 as render Y, not field 0x34⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2b88223
  2. refactor: fix DDGameWrapper size to 0x6F10 and remove WABox⁠

    paavohtl +1: Claude Sonnet 4.6
    902aa11

  1. refactor: eliminate DDDisplay, make DisplayBase generic, rename DDDisplayWrapper⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    88857ea
  2. refactor: rename TeamArenaState to TeamArena, use raw pointers for soundness⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e80ee6b
  3. chore: prefer use over qualified path for structs

    5c51f8a

  1. refactor: unify BitGrid to display::bitgrid, clean up naming⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    893074e

  1. style: cargo fmt, add automatic cargo fmt hook⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    1b797a7
  2. feat: port CTaskTeam__CreateWeatherFilter to Rust, extract wa_lcg⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    113d28e
  3. refactor: fix CTaskCloud vtable (12β†’7 slots), add constructor and addresses⁠

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

  1. refactor: replace raw pointer arithmetic with typed struct access⁠

    paavohtl +1: Claude Opus 4.6
    c7778ea

  1. feat: port streaming sound chain to Rust, unify SoundId/SoundSlot⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    aab6d6e
  2. refactor: extract game logic from wormkit/replacements to openwa-core⁠

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

  1. feat: wire in pure Rust fire_armageddon, fix 4-byte buffer offset bug⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    bb59078
  2. style: cargo fmt across all crates⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    1d3de83
  3. 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. refactor: rename NapalmStrike subtype to StrikeFire⁠

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

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

  1. refactor: use Weapon enum for weapon IDs and classification⁠

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

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

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

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

  1. feat: discover CTaskWorm poison and health display fields⁠

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

    paavohtl +1: Claude Opus 4.6 (1M context)
    b532037
  3. feat: add WormState enum β€” typed worm state machine values⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2a09823
  4. fix: broadcast_message now works β€” use read_volatile for children state⁠

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

    paavohtl +1: Claude Opus 4.6 (1M context)
    df6d1b6
  6. feat: add Vtable marker trait for CTask<V> type safety⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    af1e67a
  7. feat: add Task trait for ergonomic CTask base access⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    94f0eda
  8. feat: add typed vtables to all CTask subclasses⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c6d4e73
  9. feat: generic CTask<V> vtable parameter + FieldRegistry generics support⁠

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

  1. feat: add CTaskTeamVTable and typed handle_message dispatch⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d43153a
  2. feat: port weapon firing pipeline β€” CreateWeaponProjectile, ProjectileFire, CreateArrow⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    f4cb014
  3. feat: upgrade debug tools with registry, typed reflection, and symbolic addresses⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5f22f7f
  4. feat: add #[vtable(...)] attribute macro for typed vtable definitions⁠

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

  1. refactor: distribute task class addresses to their home modules⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    94ea94e
  2. feat: add #[derive(FieldRegistry)] to all task entity structs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    045679a
  3. feat: replace hardcoded debug UI field labels with registry lookups⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0f1b207
  4. feat: add #[derive(FieldRegistry)] proc macro for auto-generated field maps⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    123d0d1

  1. feat: add game state snapshot system⁠

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

  1. feat: port Napalm Strike and Select Worm to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    27b9967
  2. refactor: eliminate pointer arithmetic from FireWeapon impl⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5dd0ca9
  3. feat: identify weapon_ctx as WeaponEntry pointer, add fire fields⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    d088c03
  4. refactor: rename CGameTask._unknown_30 to subclass_data, fix CTaskWorm weapon_ctx⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    fe03f4c
  5. refactor: rename CGameTask._unknown_30 to subclass_data, add CTaskWorm weapon accessors⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0706c93
  6. refactor: name CTaskWorm weapon_self_ptr field, make game_task pub⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9d278f7

  1. refactor: rename TaskStateMachine β†’ BitGrid⁠

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

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