REDIVIVUS

Proposals / #1219

Mac PLRSAVE_CreateItemFromSaveData: D2UnitStrc* __fastcc (pGame ECX, pItemRelated EDX)

checked · by KierTaylor · submitted 2026-11-05

Mac 0x00206d88 is "undefined (void)", convention unknown. Entry: EDI=ECX passed as pGame to ITEM_CreateItemInstance; ESI=EDX read as the saved-item record (+0x42 format, +2 level, +6 class, +0x18/+0x1c position, +0x20 file index, +0x30 page, +0x32 name...). No [EBP+n] reads; returns the created item (or NULL) in EAX; plain RET 0x00206eab. Same two values as Windows twin 0x00530f40 D2UnitStrc* (pGame, D2UnknownItemRelatedStruct* pItemRelated); the record is left void* because that struct name fails the D2<Thing>Strc check.

Changes 1, applied together

  1. Set prototype mac 0x00206d88

    signatureundefined PLRSAVE_CreateItemFromSaveData(void)→D2UnitStrc * PLRSAVE_CreateItemFromSaveData(D2GameStrc * pGame, void * pItemRelated)
    conventionunknown→__fastcc