REDIVIVUS

Proposals / #794

Type the record and pixel inputs of the isometric subtile helpers

applied · by Commit-Will · submitted 2026-11-02, applied 2026-11-02

Ghidra v1809 · 383dd74

Win 0060d840 Stack4 int32_t pSubTileEntry is the existing D2GroundSubTileStrc*: both callers push their actual 20-byte destination element, and the target writes format+8 and pPixelData+16. Win 0060d7e0 custom EAX int32_t pSubTileData is indexed byte data: both callers pass the byte allocation from record+16 or RGB-to-index conversion; target compares individual bytes over 15 rows at 32-byte stride. Retype only these two slots to D2GroundSubTileStrc* and uint8_t*. Both chosen names fit. Preserve shape's EAX char* input, void/stdcall/RET4 and predicate's BOOL/cdecl/plainRET/custom EAX. Predicate's two returns remain full-width 0/1. Complete target/caller/buffer producer bytes match original Game.exe; prior pending callers are original-byte evidence only. No return, name, arity, layout or runtime/Mac claim.

Changes 2, applied together

  1. Retype variable win 0x0060d840 Stack[0x4]

    typeint32_t→D2GroundSubTileStrc *
  2. Retype variable win 0x0060d7e0 EAX

    typeint32_t→uint8_t *