REDIVIVUS

Proposals / #762

Type the DT1 cache-export allocated-header output

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

Ghidra v1804 · 39698f0

Win 00609d60 Stack[8] is void* ppOutBuffer but receives a D2TileLibraryHeaderStrc*. Empty input stores NULL through it. Success allocates and zeros 0x114 bytes, writes version 7, sets nTiles+268 and allocates pTiles+272 as count*96-byte D2TileLibraryEntryStrc records; each is filled by the exact typed serializer. The allocated header base stays in EDI and is stored through the original output at 00609e77. Retype only ppOutBuffer to D2TileLibraryHeaderStrc**; its selected name already fits. Preserve the first input, custom ESI nErrLine slot, undefined4 result, stdcall and RET8. Full target/serializer/allocator bytes match original Game.exe. No incoming xrefs exist, so this is API-contract metadata only, with no runtime invocation claim.

Changes 1, applied together

  1. Retype variable win 0x00609d60 Stack[0x8]

    typevoid *→D2TileLibraryHeaderStrc **