REDIVIVUS

Proposals / #1450

Mac SERVER_CreatePlayerUnit: void __fastcc (pGameStrc ECX, pClient EDX, ppUnitOut stack)

checked · by KierTaylor · submitted 2026-11-08

Resubmit of #1218 with a void return, as the reviewer asked. Nothing loads EAX before RET 0x0020a91a (it is left over from the call at 0x0020a90c), and both callers ignore it. The parameters are unchanged: ECX = game, EDX -> EBX = client, [EBP+8] = out pointer (the store at 0x0020a911). Windows twin 0x00532590.

Changes 1, applied together

  1. Set prototype mac 0x0020a7a1

    signatureundefined SERVER_CreatePlayerUnit(void)→void SERVER_CreatePlayerUnit(D2GameStrc* pGameStrc, D2ClientStrc* pClient, D2UnitStrc** ppUnitOut)
    conventionunknown→__fastcc