Commit History

  1. refactor: port IMG_Decode and rename GfxResource to IMG⁠

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

  1. refactor: port BufferObject ctor, replace more bridges with typed calls⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    05452c7
  2. refactor: replace raw pointer arithmetic with typed field access in game_state_init⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    314b694

  1. refactor: type CoordEntry fields as Fixed and eliminate pointer arithmetic in level_bounds⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    89937ca
  2. refactor: propagate types and named fields in game_state_init⁠

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

  1. refactor: reorganize display/ and render/ into unified render/ module⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5c850f4

  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

  1. refactor: move bitgrid module from display to crate root⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    31262e9
  2. refactor: typed BitGrid variants with alloc constructors⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    dd5434f
  3. refactor: unify BitGrid to display::bitgrid, clean up naming⁠

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

  1. feat: port DDGame__LoadFonts and DDGameWrapper__LoadFontExtension to Rust⁠

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

    paavohtl +1: Claude Opus 4.6 (1M context)
    113d28e

  1. chore: Add new DDGame & GameInfo fields based on game state init functions

    5ec61be

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

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

  1. style: cargo fmt across all crates⁠

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

  1. refactor: eliminate raw pointer arithmetic in weapon_release.rs⁠

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

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

  1. refactor: eliminate pointer arithmetic in weapon.rs β€” typed params throughout⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e1d5d02
  2. refactor: fully type CTaskCloud handler β€” no raw offsets⁠

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

  1. refactor: split ddgame.rs (2240 lines) into 3 modules⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e88ffaf
  2. refactor: replace raw pointer arithmetic with typed DDGame fields⁠

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

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

  1. feat: add #[derive(FieldRegistry)] proc macro for auto-generated field maps⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    123d0d1
  2. feat: port Surrender and Mail/Mine/Mole weapon handlers to pure Rust⁠

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

  1. fix: correct DDGame constructor β€” allocation size, arrow collision params⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6b181ec
  2. fix: load sprites unconditionally, improve desync debugging tools⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a683d3d
  3. fix: pass ESI (layer_ctx) to LoadSprites usercall in DDGame constructor⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5107860
  4. fix: canonicalize landscape_property as pointer, remove arrow dump⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a6446dc
  5. feat: add arrow_sprites to DDGame snapshot, narrow desync further⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    4127435
  6. feat: add game state snapshot system⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2c6f096
  7. fix: add missing LoadSprites fallback in DDGame constructor for gfx_mode=0⁠

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

  1. refactor: add TeamArenaRef::from_ptr for typed construction⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    fea4eab
  2. fix: use *mut u8 in TeamArenaRef, add team_header_mut⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    ed4e24d
  3. refactor: name TeamHeader.turn_action_flags, clean up fire_skip_go⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    ae56671
  4. refactor: rename team arena types for clarity⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    a84835c
  5. refactor: add TeamWeaponSlots/WeaponSlots structs, replace flat array⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9ff76f4
  6. refactor: embed TeamArenaState as proper DDGame field⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    0c8bf83
  7. refactor: add WeaponEntry/WeaponTable structs, use Weapon enum in match⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    586482f
  8. refactor: type check_weapon_avail, add CoordList struct, name DDGame/GameInfo fields⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    9f3cb75
  9. refactor: add TeamIndexMap, RenderEntry, NetBridge structs to DDGame⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    86781eb

  1. refactor: name DDGame fields, add CoordEntry struct, unify gfx_color_table⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    bec7314
  2. refactor: add wa_malloc_zeroed, use typed arrays and &raw mut in DDGame ctor⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    7b6533e
  3. refactor: use stack arrays for temporary landscape buffers in DDGame ctor⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    8304a79
  4. feat: add hardware watchpoint debugger, fix missing InitPaletteGradientSprites⁠

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

  1. refactor: use *const c_char for C string parameters⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    7c2aa5e
  2. refactor: call_gfx_find_and_load takes &CStr instead of *const u8⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    92780f9
  3. refactor: use c"..." CStr literals instead of b"...\0" binary strings⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    2716775
  4. fix: palette init used DDDisplay pointer arithmetic (sizeof scaling)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5d6bf83
  5. refactor: create GfxDir struct, rename GfxHandler β†’ GfxDir throughout⁠

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