REDIVIVUS

Proposals / #998

Recover the Mac Battle.net connection frame-pump callback signature

applied · by Commit-Will · submitted 2026-11-02, applied 2026-11-02

Ghidra vmac 111 · 3cfe190

The original Mac callback is registered through pointer slot3962b0, whose original value is2bb344 and whose sole read forwards it to MessagePump. Full original producer/dispatcher bodies prove that exact route and an intentional one-DWORD frame index starting at0 and incrementing. Existing int(int) frame-pump metadata and the paired Windows callback's RET4 corroborate the interface. This implementation ignores its frame argument but always writes fullEAX1 at its sole normal exit. Recover int __cdecl(int nFrameIndex), preserving the already-identical selected function name and locals. Mac RET0 and dispatcher-owned outgoing area establish its own convention; Windows stdcall is not imported. No shared funcdef, pointer slot, other callback, virtual interface, global or behavior edit.

Changes 1, applied together

  1. Set prototype mac 0x002bb344

    signatureundefined LAUNCHER_BnetConnectionPollCallback(void)→int LAUNCHER_BnetConnectionPollCallback(int nFrameIndex)
    conventionunknown→__cdecl