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
In mk64 the args match as two s16s. iirc they are minimum and maximum values for fog thickness.
Dunno if it actually asks for s16. That's just what mk64 does.
Note that G_CC_MODULATEIA appears to be the default flag that gfxdis outputs. This case required G_CC_MODULATERGB dunno if that's a thing that gfxdis can realize (I'm assuming not, so we can ignore that. Just wanted to point that out in-case that's important)
The text was updated successfully, but these errors were encountered:
Issue 1 happens because gfxdis is rejecting SPFogPosition macros with a zero in the z multiplier as invalid, since there's no input in the normal range that can produce that output. This has been fixed in libgfxd, where a macro with invalid values for SPFogPosition is replaced by an equivalent SPFogFactor. I'll port the fix over to gfxdis.
For issue 2, substituting -0x7C8 for the second half of the input produces the correct output:
F3DEX1
Issue 1
Machine code:
BC00000800000000
From hack64:
Byte-matching C code:
In mk64 the args match as two s16s. iirc they are minimum and maximum values for fog thickness.
Dunno if it actually asks for s16. That's just what mk64 does.
Issue 2
Mips to C output:
gfxdis:
FC127FFF00000000
output:
Matching C:
Note that
G_CC_MODULATEIA
appears to be the default flag that gfxdis outputs. This case requiredG_CC_MODULATERGB
dunno if that's a thing that gfxdis can realize (I'm assuming not, so we can ignore that. Just wanted to point that out in-case that's important)The text was updated successfully, but these errors were encountered: