You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
s32func_80133038(GlobalContext*globalCtx, u8*arg1, struct_80133038_arg2*arg2) {
u8size;
s32ret;
do {
size=D_801C5C9C[*arg1];
ret= (*D_801C5C50[*arg1])(globalCtx, &arg1, arg2);
arg1+=size;
} while (ret==0);
returnarg2->unkC;
}
mips2c is changing arg1 before the function call when what's actually happening is it changes after the function call.
This was narrowed down to needing a prevent_later_function_calls() on reads.
However, it's tricky to find the right balance of when to add this. Fixing func_80133038 usually makes typical output worse -- emitting incorrect code seems to be rare.
I think theoretically prevent_later_function_calls() would need to be added for all reads (which definitely makes the output worse).
The text was updated successfully, but these errors were encountered:
From Discord:
This was narrowed down to needing a
prevent_later_function_calls()
on reads.However, it's tricky to find the right balance of when to add this. Fixing
func_80133038
usually makes typical output worse -- emitting incorrect code seems to be rare.I think theoretically
prevent_later_function_calls()
would need to be added for all reads (which definitely makes the output worse).The text was updated successfully, but these errors were encountered: