REDIVIVUS

Proposals / #1277

Mac D2GFX_DrawWallTile: BOOL __cdecl (pTile, nPosX, nPosY, D2GfxLightStrc* pLight, nScreenPanels)

checked · by KierTaylor · submitted 2026-11-06

The Mac body is a tail-jump wrapper: it loads the active renderer table and JMPs to slot +0xa8 with the stack untouched, so the args are the caller's. WALL2_DrawWallTilesWithAlpha 0x00062de9 stores five slots: [ESP]=tile (EBX+0x18), [ESP+4]/[ESP+8]=x/y, [ESP+0xc]=LEA of a local light block, [ESP+0x10]=panels. It then tests EAX (0x00062e15). Matches the Windows twin 0x004f6920 (BOOL; pTile, nPosX, nPosY, pLight, nScreenPanels).

Changes 1, applied together

  1. Set prototype mac 0x002b5699

    signatureundefined D2GFX_DrawWallTile(void)→BOOL D2GFX_DrawWallTile(D2TileLibraryEntryStrc* pTile, int32_t nPosX, int32_t nPosY, D2GfxLightStrc* pLight, int32_t nScreenPanels)
    conventionunknown→__cdecl