Commit History

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

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

  1. refactor: port GfxDir resource loading system to Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3f42fbe
  2. refactor: typed vtables, port PaletteContext__Init and GameStateStream__Init⁠

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

  1. fix: port shadow LUT remap to Rust, fixing Indian Nuclear Test crash⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    10ece8a
  2. refactor: migrate all render queue commands to typed RenderMessage enum⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    12a0785
  3. refactor: propagate types and trim comments in render hook shims⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    89a37f4
  4. refactor: split render.rs, move game logic to core, type command structs⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c75775a
  5. refactor: introduce SpriteOp/SpriteFlags, rename SpriteId to KnownSpriteId⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    07389f9
  6. feat: introduce RenderMessage enum for typed render queue commands⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    6be3052

  1. refactor: dispatch via DisplayGfx::*_raw methods in queue_dispatch⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    59bfee7
  2. feat: port RenderDrawingQueue dispatcher to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c8f62aa
  3. refactor: type set_active_layer return + propagate PaletteContext⁠

    4a4cdc9
  4. refactor: propagate type info through display vtable.rs and friends⁠

    1b3fdc4
  5. docs: trim obsolete algorithm narration from display vtable.rs⁠

    e162b4f
  6. docs: refresh DisplayGfx slot 0 docstring after the destructor port⁠

    0c9ee19
  7. feat: port DisplayGfx::Destructor (slot 0) to pure Rust⁠

    c2c2c15
  8. feat: define FramePostProcessHook abstract class + ScreenshotHook vtable⁠

    f9aa4a2
  9. refactor: type DisplayGfx hook_vec fields + add destructor addresses⁠

    e7c9ec5
  10. refactor: type DisplayGfx +0x3DA8..0x3DD4 as embedded BitGrid⁠

    8300566
  11. refactor: fix DDGameWrapper size to 0x6F10 and remove WABox⁠

    paavohtl +1: Claude Sonnet 4.6
    902aa11
  12. refactor: replace inline thiscall transmutes with typed GfxDirVtable pattern⁠

    paavohtl +1: Claude Sonnet 4.6
    1a5e3f2
  13. refactor: replace untested SpriteBank slot-33 port with panic, trap leaves⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    fb071dd
  14. feat: port DisplayGfx::GetSpriteFrameForBlit (slot 33) to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    802630e
  15. refactor: type FrameCache + Sprite/SpriteBank subframe-cache layouts⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    5c447e4
  16. feat: port slot 19 bitmap-sprite path to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    04b2ceb
  17. refactor: switch slot 22 (DrawTiledTerrain) to native BlitBitmapClipped⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    edcdcc5
  18. refactor: introduce Layer newtype, type layer_contexts and palette_ctx⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    bdfa78f
  19. refactor: extract font module, type GfxDir pointers, rename DisplayVtable⁠

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

  1. feat: port DisplayGfx::DrawTiledBitmap (slot 11) to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    48dff37
  2. feat: port DisplayGfx::DrawTextOnBitmap (slot 7) to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    f360a51
  3. feat: port DisplayGfx::SetFontPalette (slot 36) to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    b6987a4
  4. refactor: rename mis-labeled DisplayGfx slot 33 to GetSpriteFrameForBlit⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    c38e471
  5. feat: port DisplayGfx::{GetFontInfo,GetFontMetric,SetFontParam} to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3bfaac0
  6. refactor: rename mislabeled tile-bitmap queue command and slot 11⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    29a9a26
  7. feat: port DisplayGfx::LoadFontExtension (slot 35) to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    e279e4d
  8. feat: port DisplayGfx::LoadFont (slot 34) to pure Rust⁠

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

  1. feat: port LoadSpriteByLayer (slot 37) and LoadSpriteByName to pure Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    30d0cba
  2. feat: port DisplayGfx::LoadSprite (slot 31) and improve Sprite struct⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    43b6a0b

  1. feat: port DisplayGfx font vtable methods (slots 7-10, 36) to Rust⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    3fc929d
  2. refactor: reorganize display/ and render/ into unified render/ module⁠

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

  1. refactor: use typed pointers throughout DisplayBase and sprite cache⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    26f89c2
  2. feat: port DisplayGfx slots 4 (set_layer_color) and 6 (get_sprite_info)⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    693004d

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

    paavohtl +1: Claude Opus 4.6 (1M context)
    88857ea
  2. feat: port DDDisplay slots 5, 23, 24 β€” layer management and palette update⁠

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

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

  1. fix: rename DRAW_SCALED to DRAW_CROSSHAIR, fix DrawCrosshairCmd fields⁠

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

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

  1. refactor: rename openwa-wormkit crate to openwa-dll, output openwa.dll⁠

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

  1. refactor: use typed Sprite/PaletteContext/SpriteFrame in sprite hook impls⁠

    paavohtl +1: Claude Opus 4.6 (1M context)
    14c0aff
  2. fix: bounds-check palette cache instead of relying on overflow⁠

    paavohtl +1: Claude Opus 4.6
    eb1677d