mirror of https://github.com/zeldaret/tp.git
534 lines
14 KiB
C
534 lines
14 KiB
C
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: mtx
|
|
//
|
|
|
|
#include "dolphin/mtx/mtx.h"
|
|
#include "MSL_C/math.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/mtx/mtxvec.h"
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* ############################################################################################## */
|
|
/* 80456508-8045650C 004B08 0004+00 6/6 0/0 0/0 .sdata2 @96 */
|
|
SECTION_SDATA2 static f32 lit_96 = 1.0f;
|
|
|
|
/* 8045650C-80456510 004B0C 0004+00 6/6 0/0 0/0 .sdata2 @97 */
|
|
SECTION_SDATA2 static u8 lit_97[4] = {
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
};
|
|
|
|
/* 80346484-803464B0 340DC4 002C+00 0/0 27/27 13/13 .text PSMTXIdentity */
|
|
asm void PSMTXIdentity(register Mtx m) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
lfs f0, lit_97(r2)
|
|
lfs f1, lit_96(r2)
|
|
psq_st f0, 8(m), 0, 0
|
|
ps_merge01 f2, f0, f1
|
|
psq_st f0, 24(m), 0, 0
|
|
ps_merge10 f1, f1, f0
|
|
psq_st f0, 32(m), 0, 0
|
|
psq_st f2, 16(m), 0, 0
|
|
psq_st f1, 0(m), 0, 0
|
|
psq_st f1, 40(m), 0, 0
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 803464B0-803464E4 340DF0 0034+00 0/0 119/119 1436/1436 .text PSMTXCopy */
|
|
asm void PSMTXCopy(register const Mtx src, register Mtx dst) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
psq_l f0, 0(src), 0, 0
|
|
psq_st f0, 0(dst), 0, 0
|
|
psq_l f1, 8(src), 0, 0
|
|
psq_st f1, 8(dst), 0, 0
|
|
psq_l f2, 16(src), 0, 0
|
|
psq_st f2, 16(dst), 0, 0
|
|
psq_l f3, 24(src), 0, 0
|
|
psq_st f3, 24(dst), 0, 0
|
|
psq_l f4, 32(src), 0, 0
|
|
psq_st f4, 32(dst), 0, 0
|
|
psq_l f5, 40(src), 0, 0
|
|
psq_st f5, 40(dst), 0, 0
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 804509D0-804509D8 000450 0008+00 1/1 0/0 0/0 .sdata Unit01 */
|
|
static f32 Unit01[2] = {
|
|
0.0f, 1.0f,
|
|
};
|
|
|
|
/* 803464E4-803465B0 340E24 00CC+00 0/0 109/109 30/30 .text PSMTXConcat */
|
|
asm void PSMTXConcat(register const Mtx a, register const Mtx b, register Mtx ab) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
stwu r1, -0x40(r1)
|
|
psq_l f0, 0(a), 0, 0
|
|
stfd f14, 8(r1)
|
|
psq_l f6, 0(b), 0, 0
|
|
lis r6, Unit01@ha
|
|
psq_l f7, 8(b), 0, 0
|
|
stfd f15, 0x10(r1)
|
|
addi r6, r6, Unit01@l
|
|
stfd f31, 0x28(r1)
|
|
psq_l f8, 16(b), 0, 0
|
|
ps_muls0 f12, f6, f0
|
|
psq_l f2, 16(a), 0, 0
|
|
ps_muls0 f13, f7, f0
|
|
psq_l f31, 0(r6), 0, 0
|
|
ps_muls0 f14, f6, f2
|
|
psq_l f9, 24(b), 0, 0
|
|
ps_muls0 f15, f7, f2
|
|
psq_l f1, 8(a), 0, 0
|
|
ps_madds1 f12, f8, f0, f12
|
|
psq_l f3, 24(a), 0, 0
|
|
ps_madds1 f14, f8, f2, f14
|
|
psq_l f10, 32(b), 0, 0
|
|
ps_madds1 f13, f9, f0, f13
|
|
psq_l f11, 40(b), 0, 0
|
|
ps_madds1 f15, f9, f2, f15
|
|
psq_l f4, 32(a), 0, 0
|
|
psq_l f5, 40(a), 0, 0
|
|
ps_madds0 f12, f10, f1, f12
|
|
ps_madds0 f13, f11, f1, f13
|
|
ps_madds0 f14, f10, f3, f14
|
|
ps_madds0 f15, f11, f3, f15
|
|
psq_st f12, 0(ab), 0, 0
|
|
ps_muls0 f2, f6, f4
|
|
ps_madds1 f13, f31, f1, f13
|
|
ps_muls0 f0, f7, f4
|
|
psq_st f14, 16(ab), 0, 0
|
|
ps_madds1 f15, f31, f3, f15
|
|
psq_st f13, 8(ab), 0, 0
|
|
ps_madds1 f2, f8, f4, f2
|
|
ps_madds1 f0, f9, f4, f0
|
|
ps_madds0 f2, f10, f5, f2
|
|
lfd f14, 8(r1)
|
|
psq_st f15, 24(ab), 0, 0
|
|
ps_madds0 f0, f11, f5, f0
|
|
psq_st f2, 32(ab), 0, 0
|
|
ps_madds1 f0, f31, f5, f0
|
|
lfd f15, 0x10(r1)
|
|
psq_st f0, 40(ab), 0, 0
|
|
lfd f31, 0x28(r1)
|
|
addi r1, r1, 0x40
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 803465B0-803466A8 340EF0 00F8+00 0/0 43/43 39/39 .text PSMTXInverse */
|
|
asm u32 PSMTXInverse(register const Mtx src, register Mtx inv) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
psq_l f0, 0(src), 1, 0
|
|
psq_l f1, 4(src), 0, 0
|
|
psq_l f2, 16(src), 1, 0
|
|
ps_merge10 f6, f1, f0
|
|
psq_l f3, 20(src), 0, 0
|
|
psq_l f4, 32(src), 1, 0
|
|
ps_merge10 f7, f3, f2
|
|
psq_l f5, 36(src), 0, 0
|
|
ps_mul f11, f3, f6
|
|
ps_mul f13, f5, f7
|
|
ps_merge10 f8, f5, f4
|
|
ps_msub f11, f1, f7, f11
|
|
ps_mul f12, f1, f8
|
|
ps_msub f13, f3, f8, f13
|
|
ps_mul f10, f3, f4
|
|
ps_msub f12, f5, f6, f12
|
|
ps_mul f9, f0, f5
|
|
ps_mul f8, f1, f2
|
|
ps_sub f6, f6, f6
|
|
ps_msub f10, f2, f5, f10
|
|
ps_mul f7, f0, f13
|
|
ps_msub f9, f1, f4, f9
|
|
ps_madd f7, f2, f12, f7
|
|
ps_msub f8, f0, f3, f8
|
|
ps_madd f7, f4, f11, f7
|
|
ps_cmpo0 cr0, f7, f6
|
|
bne lbl_80346624
|
|
|
|
li r3, 0
|
|
blr
|
|
|
|
lbl_80346624:
|
|
fres f0, f7
|
|
ps_add f6, f0, f0
|
|
ps_mul f5, f0, f0
|
|
ps_nmsub f0, f7, f5, f6
|
|
lfs f1, 0xc(src)
|
|
ps_muls0 f13, f13, f0
|
|
lfs f2, 0x1c(src)
|
|
ps_muls0 f12, f12, f0
|
|
lfs f3, 0x2c(src)
|
|
ps_muls0 f11, f11, f0
|
|
ps_merge00 f5, f13, f12
|
|
ps_muls0 f10, f10, f0
|
|
ps_merge11 f4, f13, f12
|
|
ps_muls0 f9, f9, f0
|
|
psq_st f5, 0(inv), 0, 0
|
|
ps_mul f6, f13, f1
|
|
psq_st f4, 16(inv), 0, 0
|
|
ps_muls0 f8, f8, f0
|
|
ps_madd f6, f12, f2, f6
|
|
psq_st f10, 32(inv), 1, 0
|
|
ps_nmadd f6, f11, f3, f6
|
|
psq_st f9, 36(inv), 1, 0
|
|
ps_mul f7, f10, f1
|
|
ps_merge00 f5, f11, f6
|
|
psq_st f8, 40(inv), 1, 0
|
|
ps_merge11 f4, f11, f6
|
|
psq_st f5, 8(inv), 0, 0
|
|
ps_madd f7, f9, f2, f7
|
|
psq_st f4, 24(inv), 0, 0
|
|
ps_nmadd f7, f8, f3, f7
|
|
li r3, 1
|
|
psq_st f7, 44(inv), 1, 0
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 803466A8-80346718 340FE8 0070+00 0/0 17/17 0/0 .text PSMTXRotRad */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void PSMTXRotRad(Mtx m, u8 axis, f32 rad) {
|
|
nofralloc
|
|
#include "asm/dolphin/mtx/mtx/PSMTXRotRad.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80346718-803467C8 341058 00B0+00 1/1 0/0 0/0 .text PSMTXRotTrig */
|
|
asm void PSMTXRotTrig(register Mtx m, u8 axis, f32 sin, f32 cos) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
frsp f5, f1
|
|
frsp f4, f2
|
|
lfs f0, lit_97(r2)
|
|
lfs f1, lit_96(r2)
|
|
ori r0, r4, 0x20
|
|
ps_neg f2, f5
|
|
cmplwi r0, 0x78
|
|
beq lbl_8034674C
|
|
cmplwi r0, 0x79
|
|
beq lbl_80346774
|
|
cmplwi r0, 0x7a
|
|
beq lbl_803467A0
|
|
b lbl_803467C4
|
|
|
|
lbl_8034674C:
|
|
psq_st f1, 0(m), 1, 0
|
|
psq_st f0, 4(m), 0, 0
|
|
ps_merge00 f3, f5, f4
|
|
psq_st f0, 12(m), 0, 0
|
|
ps_merge00 f1, f4, f2
|
|
psq_st f0, 28(m), 0, 0
|
|
psq_st f0, 44(m), 1, 0
|
|
psq_st f3, 36(m), 0, 0
|
|
psq_st f1, 20(m), 0, 0
|
|
b lbl_803467C4
|
|
|
|
lbl_80346774:
|
|
ps_merge00 f3, f4, f0
|
|
ps_merge00 f1, f0, f1
|
|
psq_st f0, 24(m), 0, 0
|
|
psq_st f3, 0(m), 0, 0
|
|
ps_merge00 f2, f2, f0
|
|
ps_merge00 f0, f5, f0
|
|
psq_st f3, 40(m), 0, 0
|
|
psq_st f1, 16(m), 0, 0
|
|
psq_st f0, 8(m), 0, 0
|
|
psq_st f2, 32(m), 0, 0
|
|
b lbl_803467C4
|
|
|
|
lbl_803467A0:
|
|
psq_st f0, 8(m), 0, 0
|
|
ps_merge00 f3, f5, f4
|
|
ps_merge00 f2, f4, f2
|
|
psq_st f0, 24(m), 0, 0
|
|
psq_st f0, 32(m), 0, 0
|
|
ps_merge00 f1, f1, f0
|
|
psq_st f3, 16(m), 0, 0
|
|
psq_st f2, 0(m), 0, 0
|
|
psq_st f1, 40(m), 0, 0
|
|
|
|
lbl_803467C4:
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 80456510-80456514 004B10 0004+00 2/2 0/0 0/0 .sdata2 @190 */
|
|
SECTION_SDATA2 static f32 lit_190 = 0.5f;
|
|
|
|
/* 80456514-80456518 004B14 0004+00 1/1 0/0 0/0 .sdata2 @191 */
|
|
SECTION_SDATA2 static f32 lit_191 = 3.0f;
|
|
|
|
/* 803467C8-80346878 341108 00B0+00 1/1 0/0 0/0 .text __PSMTXRotAxisRadInternal */
|
|
asm f64 __PSMTXRotAxisRadInternal(f64 param_1, f64 param_2, int param_3, int param_4) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
lfs f10, lit_190(r2)
|
|
lfs f9, lit_191(r2)
|
|
frsp f11, f2
|
|
psq_l f2, 0(r4), 0, 0
|
|
frsp f12, f1
|
|
lfs f3, 8(r4)
|
|
ps_mul f4, f2, f2
|
|
fadds f8, f10, f10
|
|
ps_madd f5, f3, f3, f4
|
|
fsubs f1, f10, f10
|
|
ps_sum0 f6, f5, f3, f4
|
|
fsubs f0, f8, f11
|
|
frsqrte f7, f6
|
|
fmuls f4, f7, f7
|
|
fmuls f5, f7, f10
|
|
fnmsubs f4, f4, f6, f9
|
|
fmuls f7, f4, f5
|
|
ps_merge00 f11, f11, f11
|
|
ps_muls0 f2, f2, f7
|
|
ps_muls0 f3, f3, f7
|
|
ps_muls0 f6, f2, f0
|
|
ps_muls0 f10, f2, f12
|
|
ps_muls0 f7, f3, f0
|
|
ps_muls1 f5, f6, f2
|
|
ps_muls0 f4, f6, f2
|
|
ps_muls0 f6, f6, f3
|
|
fnmsubs f0, f3, f12, f5
|
|
fmadds f8, f3, f12, f5
|
|
ps_neg f2, f10
|
|
ps_sum0 f9, f6, f1, f10
|
|
ps_sum0 f4, f4, f0, f11
|
|
ps_sum1 f5, f11, f8, f5
|
|
ps_sum0 f0, f2, f1, f6
|
|
psq_st f9, 8(r3), 0, 0
|
|
ps_sum0 f2, f6, f6, f2
|
|
psq_st f4, 0(r3), 0, 0
|
|
ps_muls0 f7, f7, f3
|
|
psq_st f5, 16(r3), 0, 0
|
|
ps_sum1 f6, f10, f2, f6
|
|
psq_st f0, 24(r3), 0, 0
|
|
ps_sum0 f7, f7, f1, f11
|
|
psq_st f6, 32(r3), 0, 0
|
|
psq_st f7, 40(r3), 0, 0
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 80346878-803468E8 3411B8 0070+00 0/0 6/6 8/8 .text PSMTXRotAxisRad */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void PSMTXRotAxisRad(Mtx m, const Vec* axis, f32 rad) {
|
|
nofralloc
|
|
#include "asm/dolphin/mtx/mtx/PSMTXRotAxisRad.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 803468E8-8034691C 341228 0034+00 0/0 38/38 471/471 .text PSMTXTrans */
|
|
asm void PSMTXTrans(register Mtx m, f32 x, f32 y, f32 z) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
lfs f0, lit_97(r2)
|
|
lfs f4, lit_96(r2)
|
|
stfs f1, 0xc(m)
|
|
stfs f2, 0x1c(m)
|
|
psq_st f0, 4(m), 0, 0
|
|
psq_st f0, 32(m), 0, 0
|
|
stfs f0, 0x10(m)
|
|
stfs f4, 0x14(m)
|
|
stfs f0, 0x18(m)
|
|
stfs f4, 0x28(m)
|
|
stfs f3, 0x2c(m)
|
|
stfs f4, 0(m)
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 8034691C-80346968 34125C 004C+00 0/0 3/3 0/0 .text PSMTXTransApply */
|
|
asm void PSMTXTransApply(register const Mtx src, register Mtx dst, f32 x, f32 y, f32 z) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
psq_l f4, 0(src), 0, 0
|
|
frsp f1, f1
|
|
psq_l f5, 8(src), 0, 0
|
|
frsp f2, f2
|
|
psq_l f7, 24(src), 0, 0
|
|
frsp f3, f3
|
|
psq_l f8, 40(src), 0, 0
|
|
psq_st f4, 0(dst), 0, 0
|
|
ps_sum1 f5, f1, f5, f5
|
|
psq_l f6, 16(src), 0, 0
|
|
psq_st f5, 8(dst), 0, 0
|
|
ps_sum1 f7, f2, f7, f7
|
|
psq_l f9, 32(src), 0, 0
|
|
psq_st f6, 16(dst), 0, 0
|
|
ps_sum1 f8, f3, f8, f8
|
|
psq_st f7, 24(dst), 0, 0
|
|
psq_st f9, 32(dst), 0, 0
|
|
psq_st f8, 40(dst), 0, 0
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 80346968-80346990 3412A8 0028+00 0/0 14/14 8/8 .text PSMTXScale */
|
|
asm void PSMTXScale(register Mtx m, f32 x, f32 y, f32 z) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
lfs f0, lit_97(r2)
|
|
stfs f1, 0(m)
|
|
psq_st f0, 4(m), 0, 0
|
|
psq_st f0, 12(m), 0, 0
|
|
stfs f2, 0x14(m)
|
|
psq_st f0, 24(m), 0, 0
|
|
psq_st f0, 32(m), 0, 0
|
|
stfs f3, 0x28(m)
|
|
stfs f0, 0x2c(m)
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 80346990-803469E8 3412D0 0058+00 0/0 1/1 0/0 .text PSMTXScaleApply */
|
|
asm void PSMTXScaleApply(register const Mtx src, register Mtx dst, f32 x, f32 y, f32 z) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
frsp f1, f1
|
|
psq_l f4, 0(src), 0, 0
|
|
frsp f2, f2
|
|
psq_l f5, 8(src), 0, 0
|
|
frsp f3, f3
|
|
ps_muls0 f4, f4, f1
|
|
psq_l f6, 16(src), 0, 0
|
|
ps_muls0 f5, f5, f1
|
|
psq_l f7, 24(src), 0, 0
|
|
ps_muls0 f6, f6, f2
|
|
psq_l f8, 32(src), 0, 0
|
|
psq_st f4, 0(dst), 0, 0
|
|
ps_muls0 f7, f7, f2
|
|
psq_l f2, 40(src), 0, 0
|
|
psq_st f5, 8(dst), 0, 0
|
|
ps_muls0 f8, f8, f3
|
|
psq_st f6, 16(dst), 0, 0
|
|
ps_muls0 f2, f2, f3
|
|
psq_st f7, 24(dst), 0, 0
|
|
psq_st f8, 32(dst), 0, 0
|
|
psq_st f2, 40(dst), 0, 0
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 803469E8-80346A8C 341328 00A4+00 0/0 8/8 2/2 .text PSMTXQuat */
|
|
asm void PSMTXQuat(register Mtx m, register const Quaternion* q) {
|
|
// clang-format off
|
|
nofralloc
|
|
|
|
lfs f1, lit_96(r2)
|
|
psq_l f4, 0(q), 0, 0
|
|
psq_l f5, 8(q), 0, 0
|
|
fsubs f0, f1, f1
|
|
fadds f2, f1, f1
|
|
ps_mul f6, f4, f4
|
|
ps_merge10 f9, f4, f4
|
|
ps_madd f8, f5, f5, f6
|
|
ps_mul f7, f5, f5
|
|
ps_sum0 f3, f8, f8, f8
|
|
ps_muls1 f10, f9, f5
|
|
fres f11, f3
|
|
ps_sum1 f8, f7, f8, f6
|
|
ps_nmsub f3, f3, f11, f2
|
|
ps_muls1 f7, f5, f5
|
|
ps_mul f3, f11, f3
|
|
ps_sum0 f6, f6, f6, f6
|
|
fmuls f3, f3, f2
|
|
ps_madd f11, f4, f9, f7
|
|
ps_msub f7, f4, f9, f7
|
|
psq_st f0, 12(m), 1, 0
|
|
ps_nmsub f6, f6, f3, f1
|
|
ps_nmsub f8, f8, f3, f1
|
|
psq_st f0, 44(m), 1, 0
|
|
ps_mul f11, f11, f3
|
|
ps_mul f7, f7, f3
|
|
psq_st f6, 40(m), 1, 0
|
|
ps_madds0 f9, f4, f5, f10
|
|
ps_merge00 f5, f11, f8
|
|
ps_nmsub f10, f10, f2, f9
|
|
ps_merge10 f4, f8, f7
|
|
psq_st f5, 16(m), 0, 0
|
|
ps_mul f9, f9, f3
|
|
ps_mul f10, f10, f3
|
|
psq_st f4, 0(m), 0, 0
|
|
psq_st f9, 8(m), 1, 0
|
|
ps_merge10 f7, f10, f0
|
|
ps_merge01 f11, f10, f9
|
|
psq_st f7, 24(m), 0, 0
|
|
psq_st f11, 32(m), 0, 0
|
|
blr
|
|
// clang-format on
|
|
}
|
|
|
|
/* 80346A8C-80346C18 3413CC 018C+00 0/0 2/2 0/0 .text C_MTXLookAt */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void C_MTXLookAt(Mtx m, const Vec* camPos, const Vec* camUp, const Vec* target) {
|
|
nofralloc
|
|
#include "asm/dolphin/mtx/mtx/C_MTXLookAt.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80456518-8045651C 004B18 0004+00 1/1 0/0 0/0 .sdata2 @206 */
|
|
SECTION_SDATA2 static f32 lit_206 = 2.0f;
|
|
|
|
/* 8045651C-80456520 004B1C 0004+00 1/1 0/0 0/0 .sdata2 @227 */
|
|
SECTION_SDATA2 static f32 lit_227 = -1.0f;
|
|
|
|
/* 80456520-80456528 004B20 0004+04 1/1 0/0 0/0 .sdata2 @230 */
|
|
SECTION_SDATA2 static f32 lit_230[1 + 1 /* padding */] = {
|
|
0.01745329238474369f,
|
|
/* padding */
|
|
0.0f,
|
|
};
|
|
|
|
/* 80346C18-80346CE4 341558 00CC+00 0/0 4/4 7/7 .text C_MTXLightPerspective */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void C_MTXLightPerspective(Mtx m, f32 fovY, f32 aspect, f32 scale_s, f32 scale_t, f32 trans_s,
|
|
f32 trans_t) {
|
|
nofralloc
|
|
#include "asm/dolphin/mtx/mtx/C_MTXLightPerspective.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 80346CE4-80346D6C 341624 0088+00 0/0 2/2 5/5 .text C_MTXLightOrtho */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void C_MTXLightOrtho(Mtx m, f32 top, f32 bottom, f32 left, f32 right, f32 scale_s, f32 scale_t,
|
|
f32 trans_s, f32 trans_t) {
|
|
nofralloc
|
|
#include "asm/dolphin/mtx/mtx/C_MTXLightOrtho.s"
|
|
}
|
|
#pragma pop
|