diff --git a/src/libultra/mgu/mtxf2l.s b/src/libultra/mgu/mtxf2l.s index 1fada6b530..0268a323ef 100644 --- a/src/libultra/mgu/mtxf2l.s +++ b/src/libultra/mgu/mtxf2l.s @@ -13,23 +13,23 @@ LEAF(guMtxF2L) addu t8, a1, MTX_FRACPART 1: lwc1 ft0, 0(a0) - lwc1 ft3, 4(a0) mul.s ft1, ft0, fv0 - mul.s ft4, ft3, fv0 trunc.w.s ft2, ft1 + lwc1 ft3, 4(a0) + mul.s ft4, ft3, fv0 trunc.w.s ft5, ft4 mfc1 t0, ft2 mfc1 t1, ft5 - srl t3, t1, 0x10 - and t6, t1, 0xFFFF and t2, t0, t9 - sll t5, t0, 0x10 + srl t3, t1, 0x10 or t4, t2, t3 - or t7, t5, t6 sw t4, (MTX_INTPART)(a1) + sll t5, t0, 0x10 + and t6, t1, 0xFFFF + or t7, t5, t6 sw t7, (MTX_FRACPART)(a1) - addu a0, a0, 8 addu a1, a1, 4 + addu a0, a0, 8 bne a1, t8, 1b jr ra diff --git a/src/libultra/mgu/normalize.s b/src/libultra/mgu/normalize.s index da10204d6c..8174527f2c 100644 --- a/src/libultra/mgu/normalize.s +++ b/src/libultra/mgu/normalize.s @@ -8,8 +8,8 @@ LEAF(guNormalize) lwc1 ft0, (a0) lwc1 ft1, (a1) lwc1 ft2, (a2) - li.s t0, 1.0 mul.s ft3, ft0, ft0 + li.s t0, 1.0 mul.s ft4, ft1, ft1 add.s ft5, ft3, ft4 mul.s ft4, ft2, ft2 @@ -18,7 +18,9 @@ LEAF(guNormalize) sqrt.s ft4, ft3 div.s ft3, ft5, ft4 mul.s ft4, ft0, ft3 + nop mul.s ft5, ft1, ft3 + nop mul.s ft0, ft2, ft3 swc1 ft4, (a0) swc1 ft5, (a1) diff --git a/src/libultra/mgu/translate.s b/src/libultra/mgu/translate.s index 4ee630751f..cf2d246434 100644 --- a/src/libultra/mgu/translate.s +++ b/src/libultra/mgu/translate.s @@ -23,8 +23,8 @@ LEAF(guTranslate) or t0, t0, t2 sw t0, 0x18(a0) - sll t2, t3, 0x10 sll t0, t1, 0x10 + sll t2, t3, 0x10 srl t2, t2, 0x10 or t0, t0, t2 sw t0, 0x38(a0)