Mac: type pLevel as D2DrlgLevelStrc * in the four DRLGMAZE_Find{Top,Bottom,Left,Right}MostRoom helpers
Ghidra vmac 108 · bc4e150
All four Mac helpers take the level as an int and walk its room list: they start from level+0x10 (D2DrlgLevelStrc.pRoomExFirst), follow room+0x24 (D2RoomExStrc.pRoomExNext) and compare room+0x34 / +0x38 (sCoords world x / y). Same-width retypes of the one parameter in each; names kept. FindTopMostRoom is __fastcc (the level is in ECX), the other three are __cdecl. Windows twins (006723e0 / 006724a0 / 00672420 / 00672460) are named in each Mac function's comment. Return values and the pRoomEx/pBestRoom locals are not touched. Mac callers were not traced.
Changes 4, applied together
Retype variable
mac 0x0015333f Stack[0x4]typeint→D2DrlgLevelStrc *Retype variable
mac 0x001533c1 ECXtypeint→D2DrlgLevelStrc *Retype variable
mac 0x00153b48 Stack[0x4]typeint→D2DrlgLevelStrc *Retype variable
mac 0x00153b83 Stack[0x4]typeint→D2DrlgLevelStrc *