Recover the Mac timer recycler as the paired void procedure
Ghidra vmac 109 · 39698f0
The complete318-byte recycler consumes ECX game and EDX one48-byte timer, with no stack inputs. Flags+2 control deferral; game+b8 supplies the queue, and native unlink/free-list stores perform the operation. All13 code calls prepare exactly those registers and do not consume a returned value; complete caller and producer bodies are byte-verified. Restore pGame/pTimer under Mac __fastcc and declare void, matching Windows00540cd0 and the explicit request in rejected625. The earlier undefined1 return was an incomplete procedure contract, not a meaningful byte result. Original Windows body and current void metadata are independently checked. Preserve selected name, Mac register/stack mapping and all shared link fields; Windows uses different custom argument registers and is read-only corroboration. No caller, callback, allocation, source or runtime/matching change.
Changes 1, applied together
Set prototype
mac 0x001aad59signatureundefined EVENT_RemoveAndRecycleTimer(void)→void EVENT_RemoveAndRecycleTimer(D2GameStrc * pGame, D2TimerStrc * pTimer)conventionunknown→__fastcc