REDIVIVUS

Proposals / #1052

D2WINTEXTBOX_ClearAllLines returns BOOL, not void

checked · by Nugwa628 · submitted 2026-11-02

004fb6a4 TEST ECX,ECX / 004fb6a9 JNE / 004fb6ab XOR EAX,EAX / 004fb6ad MOV ESP,EBP / 004fb6af POP EBP / 004fb6b0 RET returns 0 for a NULL text box; the normal exit zeroes the line counters with EAX (004fb723 XOR EAX,EAX, 004fb725..004fb731 MOV dword ptr [ECX+0x50..0x58],EAX) and then loads 004fb734 MOV EAX,1 / 004fb73d RET. Callers ignore the value (e.g. 0042f99d CALL 0x004fb6a0 / 0042f9a2 MOV EAX,[0x0077abf0]). Same shape as #999. Return type only. Recompiled with VC8, 004fb6a0 then matches byte for byte.

Changes 1, applied together

  1. Set prototype win 0x004fb6a0

    signaturevoid D2WINTEXTBOX_ClearAllLines(D2WinTextBox * pTextBox)→BOOL D2WINTEXTBOX_ClearAllLines(D2WinTextBox * pTextBox)
    convention__fastcall