REDIVIVUS

Proposals / #1353

Use a 32-bit BOOL output for the player name formatter's party-status flag

checked · by eejitgames · submitted 2026-11-06

win 00452af0 declares EBX pbIsPartied as bool*, but every output is one DWORD: 00452b5c MOV [EBX],1 on the dead-player path, 00452b90 MOV [EBX],0 initially, and 00452bbc MOV [EBX],1 when partied. The current type splits each DWORD into four bool stores in decompile. Both callers pass four-byte stack slots: 00453457 LEA EBX,[EBP-0x28] before CALL 0045345f; 00455054 LEA EBX,[EBP-4] before CALL 0045505c. The second reads that slot as DWORD at 00455064. Retype only the EBX parameter bool* -> BOOL*, matching the native scalar width and 0/1 values. BOOL is the existing 4-byte int typedef. Names, pointer size, custom register locations, return and convention unchanged. No runtime/byte-match improvement claimed.

Changes 1, applied together

  1. Retype variable win 0x00452af0 EBX

    typebool *→BOOL *