Type Mac WEATHER_Update as void __cdecl (void)
Mac body reads no stack args and does not read ECX/EDX on entry (it loads them with two local addresses for WEATHER_GetLevelWeatherFlags at 0x0006d396/0x0006d399); no RET n, plain RET at 0x0006d8f7 with EAX a leftover. The caller InGameDraw (0x0006edd4) passes nothing and overwrites EAX next.
Changes 1, applied together
Set prototype
mac 0x0006d387signatureundefined WEATHER_Update(void)→void WEATHER_Update(void)conventionunknown→__cdecl