REDIVIVUS

Proposals / #1216

Mac INTRONPC_FillInPacketWithIntroNpcIds: BOOL __fastcc (pInteractedNPCs, pPacket, aNpcList, nListSize)

approved · by KierTaylor · submitted 2026-11-05, approved 2026-11-05

Mac 0x00215f2c is "undefined (void)", convention unknown. Entry: ECX saved to [EBP-0x18] (interacted-NPC record), EDX saved to [EBP-0x14] and immediately used as the 0x91 packet: six dwords at +0x2..+0x16 set to -1 (0x00215f3b-0x00215f5e, inside the 26-byte D2GSPacketSrv0x91). Stack: [EBP+0xc] list size (tested >0 as loop bound), [EBP+8] list base (EBX). Same four values as Windows twin 0x00545090 BOOL (D2UnitDataPlayerInteractedNPCStrc* pInteractedNPCs, int* aNpcList, int32_t nListSize, D2GSPacketSrv0x91* pD2GSPacketSrv0x91), in Mac register order (ECX, EDX, then stack).

Changes 1, applied together

  1. Set prototype mac 0x00215f2c

    signatureundefined INTRONPC_FillInPacketWithIntroNpcIds(void)→BOOL INTRONPC_FillInPacketWithIntroNpcIds(D2UnitDataPlayerInteractedNPCStrc * pInteractedNPCs, D2GSPacketSrv0x91 * pD2GSPacketSrv0x91, int * aNpcList, int32_t nListSize)
    conventionunknown→__fastcc