Type animation-metadata lookup names as strings and its Mac status as BOOL
Ghidra v1797 (mac 105) · 3bccb89
Win 0066aa80 and Mac 00139f7c receive a writable animation-name string, pass it to the bytewise uppercase lookup, then write frame count, speed and trigger index. Each sole caller passes a local name buffer and three separate dword output addresses. Retype the int* name to char* in both builds. The complete 110-byte Mac body sets full ECX=1 on success and ECX=0 on fallback, then copies ECX to full EAX after storing the trigger index. Conservative CFG propagation proves every returning path yields 0 or 1; its caller tests that full value. Restore the existing four-byte BOOL contract, retaining all outputs and the four-stack-argument cdecl ABI. Complete 124-byte Windows twin, both caller bodies, field layouts, original Windows bytes and independent Mac bytes verified. Preserve names and locals; do not change the custom-EBX lookup or shared bucket types. Static verification only.
Changes 2, applied together
Retype variable
win 0x0066aa80 Stack[0x4]typeint *→char *Set prototype
mac 0x00139f7csignatureundefined4 ANIMDATA_GetFramesSpeedAndTrigger(int * pszName, uint * pnFrameCount, int * pnAnimSpeed, uint * pnTriggerFrame)→BOOL ANIMDATA_GetFramesSpeedAndTrigger(char * pszName, uint * pnFrameCount, int * pnAnimSpeed, uint * pnTriggerFrame)convention__cdecl