From 148f2d065679cd485ee3c4f044f313a8041488be Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 6 Nov 2021 11:41:04 +1000 Subject: [PATCH] Rename some mtx functions --- src/game/bg.c | 6 +- src/game/bondbike.c | 26 +- src/game/bondgrab.c | 4 +- src/game/bondgun.c | 256 +++++++------- src/game/bondhead.c | 2 +- src/game/bondmove.c | 10 +- src/game/chr/chr.c | 96 +++--- src/game/chr/chraction.c | 38 +- src/game/credits.c | 8 +- src/game/game_00c490.c | 34 +- src/game/game_0125a0.c | 2 +- src/game/game_096360.c | 2 +- src/game/game_0abe70.c | 80 ++--- src/game/game_0b69d0.c | 38 +- src/game/game_0e0770.c | 6 +- src/game/game_0f09f0.c | 98 +++--- src/game/game_11f000.c | 28 +- src/game/game_13c510.c | 4 +- src/game/game_1668e0.c | 2 +- src/game/game_1999b0.c | 18 +- src/game/nbomb.c | 8 +- src/game/prop.c | 12 +- src/game/propobj.c | 650 +++++++++++++++++------------------ src/game/savebuffer.c | 6 +- src/game/sky.c | 2 +- src/game/sparks/sparks.c | 4 +- src/game/splat.c | 6 +- src/game/title.c | 64 ++-- src/game/training/training.c | 40 +-- src/game/wallhit.c | 12 +- src/game/weather/weather.c | 4 +- src/include/lib/mtx.h | 38 +- src/lib/model.c | 22 +- src/lib/mtx.c | 28 +- src/lib/mtxasm.s | 30 +- src/lib/vi.c | 6 +- 36 files changed, 847 insertions(+), 843 deletions(-) diff --git a/src/game/bg.c b/src/game/bg.c index fefead7ac..3b36317f0 100644 --- a/src/game/bg.c +++ b/src/game/bg.c @@ -8953,7 +8953,7 @@ bool func0f15d08c(struct coord *a, struct coord *b) b->y = a->y; b->z = a->z; - mtx00015b64(matrix, b); + mtx4TransformVecInPlace(matrix, b); func0f0b4d68(b, b); if (b->z > 0) { @@ -12700,7 +12700,7 @@ glabel func0f15ffdc /* f160180: 468084a0 */ cvt.s.w $f18,$f16 /* f160184: e6120008 */ swc1 $f18,0x8($s0) /* f160188: a7a800ee */ sh $t0,0xee($sp) -/* f16018c: 0c0056d9 */ jal mtx00015b64 +/* f16018c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f160190: 8fa400a8 */ lw $a0,0xa8($sp) /* f160194: 2631ffff */ addiu $s1,$s1,-1 /* f160198: 87a800ee */ lh $t0,0xee($sp) @@ -16004,7 +16004,7 @@ glabel func0f162d9c /* f162eb0: 0fc2d5de */ jal currentPlayerGetUnk174c /* f162eb4: e7b2009c */ swc1 $f18,0x9c($sp) /* f162eb8: 00402025 */ or $a0,$v0,$zero -/* f162ebc: 0c0056d9 */ jal mtx00015b64 +/* f162ebc: 0c0056d9 */ jal mtx4TransformVecInPlace /* f162ec0: 27a50094 */ addiu $a1,$sp,0x94 /* f162ec4: c7a40094 */ lwc1 $f4,0x94($sp) /* f162ec8: 3c047f1b */ lui $a0,%hi(var7f1b75ac) diff --git a/src/game/bondbike.c b/src/game/bondbike.c index 6148d08e3..ff2c95fe8 100644 --- a/src/game/bondbike.c +++ b/src/game/bondbike.c @@ -42,9 +42,9 @@ void bbikeInit(void) g_Vars.currentplayer->bondenterpos.y = g_Vars.currentplayer->prop->pos.y; g_Vars.currentplayer->bondenterpos.z = g_Vars.currentplayer->prop->pos.z; - mtx00015d54(hoverbike->base.realrot, &matrix); - mtx00015dd4(&hoverbike->base.prop->pos, &matrix); - mtx00015b68(&matrix, &g_Vars.currentplayer->bondvehicleoffset, &g_Vars.currentplayer->bondenteraim); + mtx3ToMtx4(hoverbike->base.realrot, &matrix); + mtx4SetTranslation(&hoverbike->base.prop->pos, &matrix); + mtx4TransformVec(&matrix, &g_Vars.currentplayer->bondvehicleoffset, &g_Vars.currentplayer->bondenteraim); mtx00016b58(&g_Vars.currentplayer->bondentermtx, 0, 0, 0, -g_Vars.currentplayer->bond2.unk1c.x, -g_Vars.currentplayer->bond2.unk1c.y, -g_Vars.currentplayer->bond2.unk1c.z, @@ -1129,9 +1129,9 @@ s32 bbikeCalculateNewPosition(struct coord *vel, f32 angledelta) hoverpropSetTurnAngle(&bike->base, newangle); - mtx00016374(newangle, &sp44); + mtx4LoadYRotation(newangle, &sp44); mtx00015f04(bike->base.model->scale, &sp44); - mtx00015da0(&sp44, bike->base.realrot); + mtx4ToMtx3(&sp44, bike->base.realrot); } if (result == CDRESULT_NOCOLLISION && hasvel) { @@ -1668,9 +1668,9 @@ void bbikeTick(void) func0f0714b8(obj, &bike->hov); func0f069c70(obj, true, true); - mtx00015d54(obj->realrot, &sp1a8); - mtx00015dd4(&obj->prop->pos, &sp1a8); - mtx00015b68(&sp1a8, &g_Vars.currentplayer->bondvehicleoffset, &sp1e8); + mtx3ToMtx4(obj->realrot, &sp1a8); + mtx4SetTranslation(&obj->prop->pos, &sp1a8); + mtx4TransformVec(&sp1a8, &g_Vars.currentplayer->bondvehicleoffset, &sp1e8); bbikeUpdateVertical(&sp1e8); @@ -1690,22 +1690,22 @@ void bbikeTick(void) bheadAdjustAnimation(0); bheadUpdate(0, 0); - mtx000162e8((360.0f - g_Vars.currentplayer->vv_verta360) * 0.017450513318181f, &sp164); + mtx4LoadXRotation((360.0f - g_Vars.currentplayer->vv_verta360) * 0.017450513318181f, &sp164); mtx00016d58(&sp124, 0.0f, 0.0f, 0.0f, -g_Vars.currentplayer->headlook.x, -g_Vars.currentplayer->headlook.y, -g_Vars.currentplayer->headlook.z, g_Vars.currentplayer->headup.x, g_Vars.currentplayer->headup.y, g_Vars.currentplayer->headup.z); - mtx000159fc(&sp124, &sp164); - mtx00015d54(obj->realrot, &sp124); + mtx4MultMtx4InPlace(&sp124, &sp164); + mtx3ToMtx4(obj->realrot, &sp124); mtx00015f04(1.0f / obj->model->scale, &sp124); - mtx00016374(hoverpropGetTurnAngle(obj), &spe4); + mtx4LoadYRotation(hoverpropGetTurnAngle(obj), &spe4); func0f097044(&spe4, &spd4); func0f097044(&sp124, &spc4); func0f0976c0(&spc4, &spd4); func0f0972b8(&spd4, &spc4, 0.8f, spb4); func0f096ed4(spb4, &sp124); - mtx000159fc(&sp124, &sp164); + mtx4MultMtx4InPlace(&sp124, &sp164); if (g_Vars.currentplayer->bondvehiclemode == VEHICLEMODE_OFF) { g_Vars.currentplayer->bondentert += g_Vars.lvupdate240freal / 60.0f; diff --git a/src/game/bondgrab.c b/src/game/bondgrab.c index aa304fe12..4b9f5ef83 100644 --- a/src/game/bondgrab.c +++ b/src/game/bondgrab.c @@ -69,8 +69,8 @@ void bgrabInit(void) g_Vars.currentplayer->gunextraaimx = 0; g_Vars.currentplayer->gunextraaimy = 0; - mtx00016374((g_Vars.currentplayer->vv_theta * M_BADTAU) / 360.0f, &matrix); - mtx00015b10(&matrix, &g_Vars.currentplayer->grabbedposoffset); + mtx4LoadYRotation((g_Vars.currentplayer->vv_theta * M_BADTAU) / 360.0f, &matrix); + mtx4RotateVecInPlace(&matrix, &g_Vars.currentplayer->grabbedposoffset); g_Vars.currentplayer->bondprevtheta = g_Vars.currentplayer->vv_theta; diff --git a/src/game/bondgun.c b/src/game/bondgun.c index ff357d92e..c23dd3c45 100644 --- a/src/game/bondgun.c +++ b/src/game/bondgun.c @@ -3352,7 +3352,7 @@ void bgun0f099780(struct hand *hand, f32 angle) { hand->useposrot = true; - mtx000162e8(angle, &hand->posrotmtx); + mtx4LoadXRotation(angle, &hand->posrotmtx); hand->posrotmtx.m[3][0] = 0; hand->posrotmtx.m[3][1] = (1.0f - cosf(angle)) * -80.0f; @@ -7053,10 +7053,10 @@ bool bgun0f09aba4(struct hand *hand, struct handweaponinfo *info, s32 handnum, s hand->posoffset.y = (hand->posend.y - hand->posstart.y) * mult1 + hand->posstart.y; hand->posoffset.z = (hand->posend.z - hand->posstart.z) * mult1 + hand->posstart.z; - mtx000162e8(hand->rotxoffset, &hand->posrotmtx); - mtx00015dd4(&hand->posoffset, &hand->posrotmtx); + mtx4LoadXRotation(hand->rotxoffset, &hand->posrotmtx); + mtx4SetTranslation(&hand->posoffset, &hand->posrotmtx); } else { - mtx000159b0(&hand->posrotmtx); + mtx4LoadIdentity(&hand->posrotmtx); hand->useposrot = false; return true; } @@ -7093,8 +7093,8 @@ bool bgun0f09aba4(struct hand *hand, struct handweaponinfo *info, s32 handnum, s hand->posoffset.y = (hand->posend.y - hand->posstart.y) * mult2 + hand->posstart.y; hand->posoffset.z = (hand->posend.z - hand->posstart.z) * mult2 + hand->posstart.z; - mtx000162e8(hand->rotxoffset, &hand->posrotmtx); - mtx00015dd4(&hand->posoffset, &hand->posrotmtx); + mtx4LoadXRotation(hand->rotxoffset, &hand->posrotmtx); + mtx4SetTranslation(&hand->posoffset, &hand->posrotmtx); } } @@ -10750,7 +10750,7 @@ void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, s16 *rooms, Mtxf obj->projectile->ownerprop = prop; objSetProjectileFlag4(objprop); - mtx00015d18(matrix2, (Mtxf *)&obj->projectile->unk020); + mtx4Copy(matrix2, (Mtxf *)&obj->projectile->unk020); obj->projectile->unk004.x = arg4[0]; obj->projectile->unk004.y = arg4[1]; @@ -10950,7 +10950,7 @@ glabel var7f1ac72c /* f09f1ac: afa70240 */ sw $a3,0x240($sp) /* f09f1b0: afa6015c */ sw $a2,0x15c($sp) /* f09f1b4: afa50034 */ sw $a1,0x34($sp) -/* f09f1b8: 0c00566c */ jal mtx000159b0 +/* f09f1b8: 0c00566c */ jal mtx4LoadIdentity /* f09f1bc: e7a80184 */ swc1 $f8,0x184($sp) /* f09f1c0: 8fb80244 */ lw $t8,0x244($sp) /* f09f1c4: 2401001a */ addiu $at,$zero,0x1a @@ -10958,14 +10958,14 @@ glabel var7f1ac72c /* f09f1cc: 15c1000b */ bne $t6,$at,.L0f09f1fc /* f09f1d0: 3c017f1b */ lui $at,%hi(var7f1ac708) /* f09f1d4: c42cc708 */ lwc1 $f12,%lo(var7f1ac708)($at) -/* f09f1d8: 0c005900 */ jal mtx00016400 +/* f09f1d8: 0c005900 */ jal mtx4LoadZRotation /* f09f1dc: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f1e0: 3c017f1b */ lui $at,%hi(var7f1ac70c) /* f09f1e4: c42cc70c */ lwc1 $f12,%lo(var7f1ac70c)($at) -/* f09f1e8: 0c0058ba */ jal mtx000162e8 +/* f09f1e8: 0c0058ba */ jal mtx4LoadXRotation /* f09f1ec: 27a50190 */ addiu $a1,$sp,0x190 /* f09f1f0: 27a40190 */ addiu $a0,$sp,0x190 -/* f09f1f4: 0c00567f */ jal mtx000159fc +/* f09f1f4: 0c00567f */ jal mtx4MultMtx4InPlace /* f09f1f8: 27a501f4 */ addiu $a1,$sp,0x1f4 .L0f09f1fc: /* f09f1fc: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) @@ -10973,7 +10973,7 @@ glabel var7f1ac72c /* f09f204: 8fa90034 */ lw $t1,0x34($sp) /* f09f208: 27a50190 */ addiu $a1,$sp,0x190 /* f09f20c: 01e92021 */ addu $a0,$t7,$t1 -/* f09f210: 0c005746 */ jal mtx00015d18 +/* f09f210: 0c005746 */ jal mtx4Copy /* f09f214: 24840c58 */ addiu $a0,$a0,0xc58 /* f09f218: 27a40190 */ addiu $a0,$sp,0x190 /* f09f21c: 27a50194 */ addiu $a1,$sp,0x194 @@ -10992,7 +10992,7 @@ glabel var7f1ac72c /* f09f250: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f254: e7a001c0 */ swc1 $f0,0x1c0($sp) /* f09f258: e7a001c4 */ swc1 $f0,0x1c4($sp) -/* f09f25c: 0c00567f */ jal mtx000159fc +/* f09f25c: 0c00567f */ jal mtx4MultMtx4InPlace /* f09f260: e7a001c8 */ swc1 $f0,0x1c8($sp) /* f09f264: 8fa401d8 */ lw $a0,0x1d8($sp) /* f09f268: 0fc30795 */ jal currentPlayerSetPerimEnabled @@ -11037,7 +11037,7 @@ glabel var7f1ac72c /* f09f2fc: 0fc2d5de */ jal currentPlayerGetUnk174c /* f09f300: 00000000 */ nop /* f09f304: 00402025 */ or $a0,$v0,$zero -/* f09f308: 0c0056c4 */ jal mtx00015b10 +/* f09f308: 0c0056c4 */ jal mtx4RotateVecInPlace /* f09f30c: 27a501dc */ addiu $a1,$sp,0x1dc /* f09f310: 8fac015c */ lw $t4,0x15c($sp) /* f09f314: 3c017f1b */ lui $at,%hi(var7f1ac710) @@ -11466,7 +11466,7 @@ glabel var7f1ac72c /* f09f1ac: afa70240 */ sw $a3,0x240($sp) /* f09f1b0: afa6015c */ sw $a2,0x15c($sp) /* f09f1b4: afa50034 */ sw $a1,0x34($sp) -/* f09f1b8: 0c00566c */ jal mtx000159b0 +/* f09f1b8: 0c00566c */ jal mtx4LoadIdentity /* f09f1bc: e7a80184 */ swc1 $f8,0x184($sp) /* f09f1c0: 8fb80244 */ lw $t8,0x244($sp) /* f09f1c4: 2401001a */ addiu $at,$zero,0x1a @@ -11474,14 +11474,14 @@ glabel var7f1ac72c /* f09f1cc: 15c1000b */ bne $t6,$at,.L0f09f1fc /* f09f1d0: 3c017f1b */ lui $at,%hi(var7f1ac708) /* f09f1d4: c42cc708 */ lwc1 $f12,%lo(var7f1ac708)($at) -/* f09f1d8: 0c005900 */ jal mtx00016400 +/* f09f1d8: 0c005900 */ jal mtx4LoadZRotation /* f09f1dc: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f1e0: 3c017f1b */ lui $at,%hi(var7f1ac70c) /* f09f1e4: c42cc70c */ lwc1 $f12,%lo(var7f1ac70c)($at) -/* f09f1e8: 0c0058ba */ jal mtx000162e8 +/* f09f1e8: 0c0058ba */ jal mtx4LoadXRotation /* f09f1ec: 27a50190 */ addiu $a1,$sp,0x190 /* f09f1f0: 27a40190 */ addiu $a0,$sp,0x190 -/* f09f1f4: 0c00567f */ jal mtx000159fc +/* f09f1f4: 0c00567f */ jal mtx4MultMtx4InPlace /* f09f1f8: 27a501f4 */ addiu $a1,$sp,0x1f4 .L0f09f1fc: /* f09f1fc: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) @@ -11489,7 +11489,7 @@ glabel var7f1ac72c /* f09f204: 8fa90034 */ lw $t1,0x34($sp) /* f09f208: 27a50190 */ addiu $a1,$sp,0x190 /* f09f20c: 01e92021 */ addu $a0,$t7,$t1 -/* f09f210: 0c005746 */ jal mtx00015d18 +/* f09f210: 0c005746 */ jal mtx4Copy /* f09f214: 24840c58 */ addiu $a0,$a0,0xc58 /* f09f218: 27a40190 */ addiu $a0,$sp,0x190 /* f09f21c: 27a50194 */ addiu $a1,$sp,0x194 @@ -11508,7 +11508,7 @@ glabel var7f1ac72c /* f09f250: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f254: e7a001c0 */ swc1 $f0,0x1c0($sp) /* f09f258: e7a001c4 */ swc1 $f0,0x1c4($sp) -/* f09f25c: 0c00567f */ jal mtx000159fc +/* f09f25c: 0c00567f */ jal mtx4MultMtx4InPlace /* f09f260: e7a001c8 */ swc1 $f0,0x1c8($sp) /* f09f264: 8fa401d8 */ lw $a0,0x1d8($sp) /* f09f268: 0fc30795 */ jal currentPlayerSetPerimEnabled @@ -11553,7 +11553,7 @@ glabel var7f1ac72c /* f09f2fc: 0fc2d5de */ jal currentPlayerGetUnk174c /* f09f300: 00000000 */ nop /* f09f304: 00402025 */ or $a0,$v0,$zero -/* f09f308: 0c0056c4 */ jal mtx00015b10 +/* f09f308: 0c0056c4 */ jal mtx4RotateVecInPlace /* f09f30c: 27a501dc */ addiu $a1,$sp,0x1dc /* f09f310: 8fac015c */ lw $t4,0x15c($sp) /* f09f314: 3c017f1b */ lui $at,%hi(var7f1ac710) @@ -11926,7 +11926,7 @@ void bgun0f09f848(s32 handnum) struct model *model = obj->model; if (!hand->firedrocket) { - mtx00015d18(&hand->posmtx, &mtx); + mtx4Copy(&hand->posmtx, &mtx); mtx.m[3][0] = 0; mtx.m[3][1] = 0; @@ -11939,7 +11939,7 @@ void bgun0f09f848(s32 handnum) model->matrices = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf)); - mtx00015d18(&hand->muzzlemat, &model->matrices[0]); + mtx4Copy(&hand->muzzlemat, &model->matrices[0]); model0001cb0c(model, model->filedata->rootnode); objprop->flags |= PROPFLAG_40 | PROPFLAG_ONSCREEN; @@ -12036,7 +12036,7 @@ glabel var7f1ac740 /* f09fe14: 27a40270 */ addiu $a0,$sp,0x270 /* f09fe18: 55610223 */ bnel $t3,$at,.PF0f0a06a8 /* f09fe1c: 8fbf004c */ lw $ra,0x4c($sp) -/* f09fe20: 0c0055d0 */ jal mtx000159b0 +/* f09fe20: 0c0055d0 */ jal mtx4LoadIdentity /* f09fe24: afa301d8 */ sw $v1,0x1d8($sp) /* f09fe28: 27a40204 */ addiu $a0,$sp,0x204 /* f09fe2c: 27a501f8 */ addiu $a1,$sp,0x1f8 @@ -12046,7 +12046,7 @@ glabel var7f1ac740 /* f09fe3c: 0fc2d726 */ jal currentPlayerGetUnk174c /* f09fe40: 00000000 */ nop /* f09fe44: 00402025 */ move $a0,$v0 -/* f09fe48: 0c005628 */ jal mtx00015b10 +/* f09fe48: 0c005628 */ jal mtx4RotateVecInPlace /* f09fe4c: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09fe50: 8fa402b0 */ lw $a0,0x2b0($sp) /* f09fe54: 24010019 */ li $at,0x19 @@ -12299,7 +12299,7 @@ glabel var7f1ac740 /* f0a020c: 8fac0058 */ lw $t4,0x58($sp) /* f0a0210: 27a50210 */ addiu $a1,$sp,0x210 /* f0a0214: 016c2021 */ addu $a0,$t3,$t4 -/* f0a0218: 0c0056aa */ jal mtx00015d18 +/* f0a0218: 0c0056aa */ jal mtx4Copy /* f0a021c: 2484092c */ addiu $a0,$a0,0x92c /* f0a0220: 44801000 */ mtc1 $zero,$f2 /* f0a0224: 8fa702b0 */ lw $a3,0x2b0($sp) @@ -12500,14 +12500,14 @@ glabel var7f1ac740 /* f0a0504: c4d20014 */ lwc1 $f18,0x14($a2) /* f0a0508: 46009402 */ mul.s $f16,$f18,$f0 /* f0a050c: e4d00014 */ swc1 $f16,0x14($a2) -/* f0a0510: 0c0056b9 */ jal mtx00015d54 +/* f0a0510: 0c0056b9 */ jal mtx3ToMtx4 /* f0a0514: afa40058 */ sw $a0,0x58($sp) /* f0a0518: 8fa801d8 */ lw $t0,0x1d8($sp) /* f0a051c: 27a50078 */ addiu $a1,$sp,0x78 /* f0a0520: 0c005725 */ jal mtx00015f04 /* f0a0524: c50c0048 */ lwc1 $f12,0x48($t0) /* f0a0528: 27a40078 */ addiu $a0,$sp,0x78 -/* f0a052c: 0c0056cc */ jal mtx00015da0 +/* f0a052c: 0c0056cc */ jal mtx4ToMtx3 /* f0a0530: 8fa50058 */ lw $a1,0x58($sp) /* f0a0534: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a0538: 8e0a0048 */ lw $t2,0x48($s0) @@ -12671,7 +12671,7 @@ glabel var7f1ac740 /* f09fb10: 27a40270 */ addiu $a0,$sp,0x270 /* f09fb14: 5561021b */ bnel $t3,$at,.L0f0a0384 /* f09fb18: 8fbf004c */ lw $ra,0x4c($sp) -/* f09fb1c: 0c00566c */ jal mtx000159b0 +/* f09fb1c: 0c00566c */ jal mtx4LoadIdentity /* f09fb20: afa301d8 */ sw $v1,0x1d8($sp) /* f09fb24: 27a40204 */ addiu $a0,$sp,0x204 /* f09fb28: 27a501f8 */ addiu $a1,$sp,0x1f8 @@ -12681,7 +12681,7 @@ glabel var7f1ac740 /* f09fb38: 0fc2d5de */ jal currentPlayerGetUnk174c /* f09fb3c: 00000000 */ nop /* f09fb40: 00402025 */ or $a0,$v0,$zero -/* f09fb44: 0c0056c4 */ jal mtx00015b10 +/* f09fb44: 0c0056c4 */ jal mtx4RotateVecInPlace /* f09fb48: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09fb4c: 8fa402b0 */ lw $a0,0x2b0($sp) /* f09fb50: 24010019 */ addiu $at,$zero,0x19 @@ -12934,7 +12934,7 @@ glabel var7f1ac740 /* f09ff08: 8fac0058 */ lw $t4,0x58($sp) /* f09ff0c: 27a50210 */ addiu $a1,$sp,0x210 /* f09ff10: 016c2021 */ addu $a0,$t3,$t4 -/* f09ff14: 0c005746 */ jal mtx00015d18 +/* f09ff14: 0c005746 */ jal mtx4Copy /* f09ff18: 2484092c */ addiu $a0,$a0,0x92c /* f09ff1c: 44801000 */ mtc1 $zero,$f2 /* f09ff20: 8fa702b0 */ lw $a3,0x2b0($sp) @@ -13127,14 +13127,14 @@ glabel var7f1ac740 /* f0a01e0: c4d20014 */ lwc1 $f18,0x14($a2) /* f0a01e4: 46009402 */ mul.s $f16,$f18,$f0 /* f0a01e8: e4d00014 */ swc1 $f16,0x14($a2) -/* f0a01ec: 0c005755 */ jal mtx00015d54 +/* f0a01ec: 0c005755 */ jal mtx3ToMtx4 /* f0a01f0: afa40058 */ sw $a0,0x58($sp) /* f0a01f4: 8fb901d8 */ lw $t9,0x1d8($sp) /* f0a01f8: 27a50078 */ addiu $a1,$sp,0x78 /* f0a01fc: 0c0057c1 */ jal mtx00015f04 /* f0a0200: c72c0048 */ lwc1 $f12,0x48($t9) /* f0a0204: 27a40078 */ addiu $a0,$sp,0x78 -/* f0a0208: 0c005768 */ jal mtx00015da0 +/* f0a0208: 0c005768 */ jal mtx4ToMtx3 /* f0a020c: 8fa50058 */ lw $a1,0x58($sp) /* f0a0210: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a0214: 8e090048 */ lw $t1,0x48($s0) @@ -13298,7 +13298,7 @@ glabel var7f1ac740 /* f09d988: 24010201 */ addiu $at,$zero,0x201 /* f09d98c: 556101ea */ bnel $t3,$at,.NB0f09e138 /* f09d990: 8fbf004c */ lw $ra,0x4c($sp) -/* f09d994: 0c005a28 */ jal mtx000159b0 +/* f09d994: 0c005a28 */ jal mtx4LoadIdentity /* f09d998: 27a40270 */ addiu $a0,$sp,0x270 /* f09d99c: 27a40204 */ addiu $a0,$sp,0x204 /* f09d9a0: 27a501f8 */ addiu $a1,$sp,0x1f8 @@ -13308,7 +13308,7 @@ glabel var7f1ac740 /* f09d9b0: 0fc2cd36 */ jal currentPlayerGetUnk174c /* f09d9b4: 00000000 */ sll $zero,$zero,0x0 /* f09d9b8: 00402025 */ or $a0,$v0,$zero -/* f09d9bc: 0c005a80 */ jal mtx00015b10 +/* f09d9bc: 0c005a80 */ jal mtx4RotateVecInPlace /* f09d9c0: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09d9c4: 8fa402b0 */ lw $a0,0x2b0($sp) /* f09d9c8: 24010019 */ addiu $at,$zero,0x19 @@ -13559,7 +13559,7 @@ glabel var7f1ac740 /* f09dd78: 8fab005c */ lw $t3,0x5c($sp) /* f09dd7c: 27a50210 */ addiu $a1,$sp,0x210 /* f09dd80: 014b2021 */ addu $a0,$t2,$t3 -/* f09dd84: 0c005b02 */ jal mtx00015d18 +/* f09dd84: 0c005b02 */ jal mtx4Copy /* f09dd88: 2484092c */ addiu $a0,$a0,0x92c /* f09dd8c: 44801000 */ mtc1 $zero,$f2 /* f09dd90: 8fa702b0 */ lw $a3,0x2b0($sp) @@ -13730,13 +13730,13 @@ glabel var7f1ac740 /* f09dff8: c4520014 */ lwc1 $f18,0x14($v0) /* f09dffc: 46009402 */ mul.s $f16,$f18,$f0 /* f09e000: e4500014 */ swc1 $f16,0x14($v0) -/* f09e004: 0c005b11 */ jal mtx00015d54 +/* f09e004: 0c005b11 */ jal mtx3ToMtx4 /* f09e008: afa4005c */ sw $a0,0x5c($sp) /* f09e00c: c62c0048 */ lwc1 $f12,0x48($s1) /* f09e010: 0c005b7d */ jal mtx00015f04 /* f09e014: 27a5007c */ addiu $a1,$sp,0x7c /* f09e018: 27a4007c */ addiu $a0,$sp,0x7c -/* f09e01c: 0c005b24 */ jal mtx00015da0 +/* f09e01c: 0c005b24 */ jal mtx4ToMtx3 /* f09e020: 8fa5005c */ lw $a1,0x5c($sp) /* f09e024: 8e180048 */ lw $t8,0x48($s0) .NB0f09e028: @@ -14007,7 +14007,7 @@ glabel var7f1ac764 /* f0a0604: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0a0608: e7a8009c */ swc1 $f8,0x9c($sp) /* f0a060c: 00402025 */ or $a0,$v0,$zero -/* f0a0610: 0c0056d9 */ jal mtx00015b64 +/* f0a0610: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0a0614: 27a50094 */ addiu $a1,$sp,0x94 /* f0a0618: c7a0009c */ lwc1 $f0,0x9c($sp) /* f0a061c: 3c017f1b */ lui $at,%hi(var7f1ac75c) @@ -14547,7 +14547,7 @@ glabel var7f1ac764 /* f0a0604: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0a0608: e7a8009c */ swc1 $f8,0x9c($sp) /* f0a060c: 00402025 */ or $a0,$v0,$zero -/* f0a0610: 0c0056d9 */ jal mtx00015b64 +/* f0a0610: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0a0614: 27a50094 */ addiu $a1,$sp,0x94 /* f0a0618: c7a0009c */ lwc1 $f0,0x9c($sp) /* f0a061c: 3c017f1b */ lui $at,%hi(var7f1ac75c) @@ -15180,7 +15180,7 @@ glabel bgun0f0a0fac /* f0a1210: e7a60018 */ swc1 $f6,0x18($sp) /* f0a1214: 27a40054 */ addiu $a0,$sp,0x54 /* f0a1218: 27a50048 */ addiu $a1,$sp,0x48 -/* f0a121c: 0c0056c5 */ jal mtx00015b14 +/* f0a121c: 0c0056c5 */ jal mtx4RotateVec /* f0a1220: 8fa600a8 */ lw $a2,0xa8($sp) /* f0a1224: 8fbf002c */ lw $ra,0x2c($sp) /* f0a1228: 27bd00a8 */ addiu $sp,$sp,0xa8 @@ -16255,17 +16255,17 @@ glabel bgun0f0a256c /* f0a26f4: afa700b8 */ sw $a3,0xb8($sp) /* f0a26f8: e7a0002c */ swc1 $f0,0x2c($sp) /* f0a26fc: e7a00030 */ swc1 $f0,0x30($sp) -/* f0a2700: 0c00566c */ jal mtx000159b0 +/* f0a2700: 0c00566c */ jal mtx4LoadIdentity /* f0a2704: e7a40034 */ swc1 $f4,0x34($sp) /* f0a2708: 27a4002c */ addiu $a0,$sp,0x2c -/* f0a270c: 0c005923 */ jal mtx0001648c +/* f0a270c: 0c005923 */ jal mtx4LoadRotation /* f0a2710: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2714: 02002025 */ or $a0,$s0,$zero /* f0a2718: 27a50078 */ addiu $a1,$sp,0x78 -/* f0a271c: 0c005680 */ jal mtx00015a00 +/* f0a271c: 0c005680 */ jal mtx4MultMtx4 /* f0a2720: 27a60038 */ addiu $a2,$sp,0x38 /* f0a2724: 27a40038 */ addiu $a0,$sp,0x38 -/* f0a2728: 0c005746 */ jal mtx00015d18 +/* f0a2728: 0c005746 */ jal mtx4Copy /* f0a272c: 02002825 */ or $a1,$s0,$zero /* f0a2730: 8fa700b8 */ lw $a3,0xb8($sp) .L0f0a2734: @@ -16290,17 +16290,17 @@ glabel bgun0f0a256c /* f0a2778: 46000280 */ add.s $f10,$f0,$f0 /* f0a277c: e7a6002c */ swc1 $f6,0x2c($sp) /* f0a2780: e7a80030 */ swc1 $f8,0x30($sp) -/* f0a2784: 0c00566c */ jal mtx000159b0 +/* f0a2784: 0c00566c */ jal mtx4LoadIdentity /* f0a2788: e7aa0034 */ swc1 $f10,0x34($sp) /* f0a278c: 27a4002c */ addiu $a0,$sp,0x2c -/* f0a2790: 0c005923 */ jal mtx0001648c +/* f0a2790: 0c005923 */ jal mtx4LoadRotation /* f0a2794: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2798: 02002025 */ or $a0,$s0,$zero /* f0a279c: 27a50078 */ addiu $a1,$sp,0x78 -/* f0a27a0: 0c005680 */ jal mtx00015a00 +/* f0a27a0: 0c005680 */ jal mtx4MultMtx4 /* f0a27a4: 27a60038 */ addiu $a2,$sp,0x38 /* f0a27a8: 27a40038 */ addiu $a0,$sp,0x38 -/* f0a27ac: 0c005746 */ jal mtx00015d18 +/* f0a27ac: 0c005746 */ jal mtx4Copy /* f0a27b0: 02002825 */ or $a1,$s0,$zero /* f0a27b4: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a27b8: @@ -16415,17 +16415,17 @@ glabel bgun0f0a256c /* f0a26f4: afa700b8 */ sw $a3,0xb8($sp) /* f0a26f8: e7a0002c */ swc1 $f0,0x2c($sp) /* f0a26fc: e7a00030 */ swc1 $f0,0x30($sp) -/* f0a2700: 0c00566c */ jal mtx000159b0 +/* f0a2700: 0c00566c */ jal mtx4LoadIdentity /* f0a2704: e7a40034 */ swc1 $f4,0x34($sp) /* f0a2708: 27a4002c */ addiu $a0,$sp,0x2c -/* f0a270c: 0c005923 */ jal mtx0001648c +/* f0a270c: 0c005923 */ jal mtx4LoadRotation /* f0a2710: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2714: 02002025 */ or $a0,$s0,$zero /* f0a2718: 27a50078 */ addiu $a1,$sp,0x78 -/* f0a271c: 0c005680 */ jal mtx00015a00 +/* f0a271c: 0c005680 */ jal mtx4MultMtx4 /* f0a2720: 27a60038 */ addiu $a2,$sp,0x38 /* f0a2724: 27a40038 */ addiu $a0,$sp,0x38 -/* f0a2728: 0c005746 */ jal mtx00015d18 +/* f0a2728: 0c005746 */ jal mtx4Copy /* f0a272c: 02002825 */ or $a1,$s0,$zero /* f0a2730: 8fa700b8 */ lw $a3,0xb8($sp) .L0f0a2734: @@ -16450,17 +16450,17 @@ glabel bgun0f0a256c /* f0a2778: 46000280 */ add.s $f10,$f0,$f0 /* f0a277c: e7a6002c */ swc1 $f6,0x2c($sp) /* f0a2780: e7a80030 */ swc1 $f8,0x30($sp) -/* f0a2784: 0c00566c */ jal mtx000159b0 +/* f0a2784: 0c00566c */ jal mtx4LoadIdentity /* f0a2788: e7aa0034 */ swc1 $f10,0x34($sp) /* f0a278c: 27a4002c */ addiu $a0,$sp,0x2c -/* f0a2790: 0c005923 */ jal mtx0001648c +/* f0a2790: 0c005923 */ jal mtx4LoadRotation /* f0a2794: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2798: 02002025 */ or $a0,$s0,$zero /* f0a279c: 27a50078 */ addiu $a1,$sp,0x78 -/* f0a27a0: 0c005680 */ jal mtx00015a00 +/* f0a27a0: 0c005680 */ jal mtx4MultMtx4 /* f0a27a4: 27a60038 */ addiu $a2,$sp,0x38 /* f0a27a8: 27a40038 */ addiu $a0,$sp,0x38 -/* f0a27ac: 0c005746 */ jal mtx00015d18 +/* f0a27ac: 0c005746 */ jal mtx4Copy /* f0a27b0: 02002825 */ or $a1,$s0,$zero /* f0a27b4: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a27b8: @@ -17180,7 +17180,7 @@ glabel var7f1ac7d0 /* f0a33fc: 46049182 */ mul.s $f6,$f18,$f4 /* f0a3400: 00000000 */ nop /* f0a3404: 46061202 */ mul.s $f8,$f2,$f6 -/* f0a3408: 0c005923 */ jal mtx0001648c +/* f0a3408: 0c005923 */ jal mtx4LoadRotation /* f0a340c: e7a80040 */ swc1 $f8,0x40($sp) /* f0a3410: 8fa40058 */ lw $a0,0x58($sp) /* f0a3414: 0c0056f8 */ jal mtx00015be0 @@ -17415,7 +17415,7 @@ glabel var7f1ac7d0 /* f0a33fc: 46049182 */ mul.s $f6,$f18,$f4 /* f0a3400: 00000000 */ nop /* f0a3404: 46061202 */ mul.s $f8,$f2,$f6 -/* f0a3408: 0c005923 */ jal mtx0001648c +/* f0a3408: 0c005923 */ jal mtx4LoadRotation /* f0a340c: e7a80040 */ swc1 $f8,0x40($sp) /* f0a3410: 8fa40058 */ lw $a0,0x58($sp) /* f0a3414: 0c0056f8 */ jal mtx00015be0 @@ -18090,7 +18090,7 @@ glabel bgun0f0a37b4 /* f0a3810: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a3814: e7a8006c */ swc1 $f8,0x6c($sp) /* f0a3818: 00402025 */ or $a0,$v0,$zero -/* f0a381c: 0c0056d9 */ jal mtx00015b64 +/* f0a381c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0a3820: 27a50064 */ addiu $a1,$sp,0x64 /* f0a3824: 8e1800b4 */ lw $t8,0xb4($s0) /* f0a3828: 3c02800a */ lui $v0,%hi(g_Vars+0x284) @@ -18111,7 +18111,7 @@ glabel bgun0f0a37b4 /* f0a3860: 27a50088 */ addiu $a1,$sp,0x88 /* f0a3864: e7a20088 */ swc1 $f2,0x88($sp) /* f0a3868: e7a2008c */ swc1 $f2,0x8c($sp) -/* f0a386c: 0c0056c4 */ jal mtx00015b10 +/* f0a386c: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0a3870: e7aa0090 */ swc1 $f10,0x90($sp) /* f0a3874: c7b00088 */ lwc1 $f16,0x88($sp) /* f0a3878: c7b2008c */ lwc1 $f18,0x8c($sp) @@ -18128,13 +18128,13 @@ glabel bgun0f0a37b4 /* f0a38a4: e7aa0044 */ swc1 $f10,0x44($sp) /* f0a38a8: 00402025 */ or $a0,$v0,$zero /* f0a38ac: 27a5003c */ addiu $a1,$sp,0x3c -/* f0a38b0: 0c0056da */ jal mtx00015b68 +/* f0a38b0: 0c0056da */ jal mtx4TransformVec /* f0a38b4: 27a60054 */ addiu $a2,$sp,0x54 /* f0a38b8: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a38bc: 00000000 */ nop /* f0a38c0: 00402025 */ or $a0,$v0,$zero /* f0a38c4: 27a50048 */ addiu $a1,$sp,0x48 -/* f0a38c8: 0c0056c5 */ jal mtx00015b14 +/* f0a38c8: 0c0056c5 */ jal mtx4RotateVec /* f0a38cc: 27a60030 */ addiu $a2,$sp,0x30 /* f0a38d0: 3c0143fa */ lui $at,0x43fa /* f0a38d4: 44810000 */ mtc1 $at,$f0 @@ -18151,7 +18151,7 @@ glabel bgun0f0a37b4 /* f0a3900: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a3904: e7aa0090 */ swc1 $f10,0x90($sp) /* f0a3908: 00402025 */ or $a0,$v0,$zero -/* f0a390c: 0c0056c4 */ jal mtx00015b10 +/* f0a390c: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0a3910: 27a50088 */ addiu $a1,$sp,0x88 /* f0a3914: c7b00088 */ lwc1 $f16,0x88($sp) /* f0a3918: c7b20064 */ lwc1 $f18,0x64($sp) @@ -18195,7 +18195,7 @@ glabel bgun0f0a37b4 /* f0a39a8: e7a20088 */ swc1 $f2,0x88($sp) /* f0a39ac: e7a2008c */ swc1 $f2,0x8c($sp) /* f0a39b0: e7a00090 */ swc1 $f0,0x90($sp) -/* f0a39b4: 0c0056d9 */ jal mtx00015b64 +/* f0a39b4: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0a39b8: 01ae2021 */ addu $a0,$t5,$t6 /* f0a39bc: 10000011 */ b .L0f0a3a04 /* f0a39c0: 00000000 */ nop @@ -18220,7 +18220,7 @@ glabel bgun0f0a37b4 /* f0a3a04: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a3a08: 00000000 */ nop /* f0a3a0c: 00402025 */ or $a0,$v0,$zero -/* f0a3a10: 0c0056d9 */ jal mtx00015b64 +/* f0a3a10: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0a3a14: 27a50088 */ addiu $a1,$sp,0x88 /* f0a3a18: 8fa400a0 */ lw $a0,0xa0($sp) /* f0a3a1c: 24050001 */ addiu $a1,$zero,0x1 @@ -18982,7 +18982,7 @@ glabel bgun0f0a3eac /* f0a4004: e7b60070 */ swc1 $f22,0x70($sp) /* f0a4008: e7b60074 */ swc1 $f22,0x74($sp) /* f0a400c: c62a0000 */ lwc1 $f10,0x0($s1) -/* f0a4010: 0c0056c4 */ jal mtx00015b10 +/* f0a4010: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0a4014: e7aa0078 */ swc1 $f10,0x78($sp) /* f0a4018: c6120030 */ lwc1 $f18,0x30($s0) /* f0a401c: c7a40070 */ lwc1 $f4,0x70($sp) @@ -19075,7 +19075,7 @@ glabel var7f1ac8c0 /* f0a4144: 27a50024 */ addiu $a1,$sp,0x24 /* f0a4148: e7a20028 */ swc1 $f2,0x28($sp) /* f0a414c: e7a2002c */ swc1 $f2,0x2c($sp) -/* f0a4150: 0c0056c4 */ jal mtx00015b10 +/* f0a4150: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0a4154: e7aa0024 */ swc1 $f10,0x24($sp) /* f0a4158: 8fa4001c */ lw $a0,0x1c($sp) /* f0a415c: c7b00024 */ lwc1 $f16,0x24($sp) @@ -19153,7 +19153,7 @@ glabel var7f1ac8c0 /* f0a4144: 27a50024 */ addiu $a1,$sp,0x24 /* f0a4148: e7a20028 */ swc1 $f2,0x28($sp) /* f0a414c: e7a2002c */ swc1 $f2,0x2c($sp) -/* f0a4150: 0c0056c4 */ jal mtx00015b10 +/* f0a4150: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0a4154: e7aa0024 */ swc1 $f10,0x24($sp) /* f0a4158: 8fa4001c */ lw $a0,0x1c($sp) /* f0a415c: c7b00024 */ lwc1 $f16,0x24($sp) @@ -19481,7 +19481,7 @@ glabel var7f1ac8c8 /* f0a44e0: 00002825 */ or $a1,$zero,$zero /* f0a44e4: 00024180 */ sll $t0,$v0,0x6 /* f0a44e8: 02a82021 */ addu $a0,$s5,$t0 -/* f0a44ec: 0c005746 */ jal mtx00015d18 +/* f0a44ec: 0c005746 */ jal mtx4Copy /* f0a44f0: 02002825 */ or $a1,$s0,$zero /* f0a44f4: 4600a306 */ mov.s $f12,$f20 /* f0a44f8: 0c0057c1 */ jal mtx00015f04 @@ -19489,7 +19489,7 @@ glabel var7f1ac8c8 /* f0a4500: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a4504: 00000000 */ nop /* f0a4508: 00402025 */ or $a0,$v0,$zero -/* f0a450c: 0c00567f */ jal mtx000159fc +/* f0a450c: 0c00567f */ jal mtx4MultMtx4InPlace /* f0a4510: 02002825 */ or $a1,$s0,$zero /* f0a4514: 4405b000 */ mfc1 $a1,$f22 /* f0a4518: 02c02025 */ or $a0,$s6,$zero @@ -19977,10 +19977,10 @@ glabel var7f1ac918 /* f0a4f48: 27a400d0 */ addiu $a0,$sp,0xd0 /* f0a4f4c: 27a50090 */ addiu $a1,$sp,0x90 /* f0a4f50: 46124101 */ sub.s $f4,$f8,$f18 -/* f0a4f54: 0c005887 */ jal mtx0001648c +/* f0a4f54: 0c005887 */ jal mtx4LoadRotation /* f0a4f58: e60406d8 */ swc1 $f4,0x6d8($s0) /* f0a4f5c: 27a40090 */ addiu $a0,$sp,0x90 -/* f0a4f60: 0c0056cc */ jal mtx00015da0 +/* f0a4f60: 0c0056cc */ jal mtx4ToMtx3 /* f0a4f64: 26050718 */ addiu $a1,$s0,0x718 /* f0a4f68: 3c03800a */ lui $v1,0x800a /* f0a4f6c: 2463a510 */ addiu $v1,$v1,-23280 @@ -20012,7 +20012,7 @@ glabel var7f1ac918 /* f0a4fd4: 0c005cc6 */ jal mtx00017588 /* f0a4fd8: e7a4008c */ swc1 $f4,0x8c($sp) /* f0a4fdc: 27a40044 */ addiu $a0,$sp,0x44 -/* f0a4fe0: 0c005628 */ jal mtx00015b10 +/* f0a4fe0: 0c005628 */ jal mtx4RotateVecInPlace /* f0a4fe4: 27a50084 */ addiu $a1,$sp,0x84 /* f0a4fe8: 3c017f1b */ lui $at,0x7f1b /* f0a4fec: c420db14 */ lwc1 $f0,-0x24ec($at) @@ -20540,10 +20540,10 @@ glabel var7f1ac918 /* f0a4c30: 27a400d0 */ addiu $a0,$sp,0xd0 /* f0a4c34: 27a50090 */ addiu $a1,$sp,0x90 /* f0a4c38: 46124101 */ sub.s $f4,$f8,$f18 -/* f0a4c3c: 0c005923 */ jal mtx0001648c +/* f0a4c3c: 0c005923 */ jal mtx4LoadRotation /* f0a4c40: e60406d8 */ swc1 $f4,0x6d8($s0) /* f0a4c44: 27a40090 */ addiu $a0,$sp,0x90 -/* f0a4c48: 0c005768 */ jal mtx00015da0 +/* f0a4c48: 0c005768 */ jal mtx4ToMtx3 /* f0a4c4c: 26050718 */ addiu $a1,$s0,0x718 /* f0a4c50: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a4c54: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) @@ -20575,7 +20575,7 @@ glabel var7f1ac918 /* f0a4cbc: 0c005d62 */ jal mtx00017588 /* f0a4cc0: e7a4008c */ swc1 $f4,0x8c($sp) /* f0a4cc4: 27a40044 */ addiu $a0,$sp,0x44 -/* f0a4cc8: 0c0056c4 */ jal mtx00015b10 +/* f0a4cc8: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0a4ccc: 27a50084 */ addiu $a1,$sp,0x84 /* f0a4cd0: 3c017f1b */ lui $at,%hi(var7f1ac914) /* f0a4cd4: c420c914 */ lwc1 $f0,%lo(var7f1ac914)($at) @@ -20761,7 +20761,7 @@ glabel var7f1ac934 /* f0a4f28: 46082180 */ add.s $f6,$f4,$f8 /* f0a4f2c: e7a600b4 */ swc1 $f6,0xb4($sp) /* f0a4f30: c6aa0028 */ lwc1 $f10,0x28($s5) -/* f0a4f34: 0c00566c */ jal mtx000159b0 +/* f0a4f34: 0c00566c */ jal mtx4LoadIdentity /* f0a4f38: e7aa00b0 */ swc1 $f10,0xb0($sp) /* f0a4f3c: 12800017 */ beqz $s4,.L0f0a4f9c /* f0a4f40: 00000000 */ nop @@ -20786,7 +20786,7 @@ glabel var7f1ac934 /* f0a4f88: 46089182 */ mul.s $f6,$f18,$f8 /* f0a4f8c: 02e02825 */ or $a1,$s7,$zero /* f0a4f90: 460a3302 */ mul.s $f12,$f6,$f10 -/* f0a4f94: 0c005900 */ jal mtx00016400 +/* f0a4f94: 0c005900 */ jal mtx4LoadZRotation /* f0a4f98: 00000000 */ nop .L0f0a4f9c: /* f0a4f9c: 0c004b70 */ jal random @@ -20810,14 +20810,14 @@ glabel var7f1ac934 /* f0a4fe0: 460032a1 */ cvt.d.s $f10,$f6 /* f0a4fe4: 46305482 */ mul.d $f18,$f10,$f16 /* f0a4fe8: 46249201 */ sub.d $f8,$f18,$f4 -/* f0a4fec: 0c005900 */ jal mtx00016400 +/* f0a4fec: 0c005900 */ jal mtx4LoadZRotation /* f0a4ff0: 46204320 */ cvt.s.d $f12,$f8 /* f0a4ff4: 8fab0138 */ lw $t3,0x138($sp) /* f0a4ff8: 8fb5012c */ lw $s5,0x12c($sp) /* f0a4ffc: 02e02825 */ or $a1,$s7,$zero /* f0a5000: 000b6180 */ sll $t4,$t3,0x6 /* f0a5004: 02aca021 */ addu $s4,$s5,$t4 -/* f0a5008: 0c00567f */ jal mtx000159fc +/* f0a5008: 0c00567f */ jal mtx4MultMtx4InPlace /* f0a500c: 02802025 */ or $a0,$s4,$zero /* f0a5010: c7ac00b4 */ lwc1 $f12,0xb4($sp) /* f0a5014: 0c0057c1 */ jal mtx00015f04 @@ -20826,7 +20826,7 @@ glabel var7f1ac934 /* f0a5020: 0c0057aa */ jal mtx00015ea8 /* f0a5024: 02e02825 */ or $a1,$s7,$zero /* f0a5028: 02e02025 */ or $a0,$s7,$zero -/* f0a502c: 0c005746 */ jal mtx00015d18 +/* f0a502c: 0c005746 */ jal mtx4Copy /* f0a5030: 02802825 */ or $a1,$s4,$zero /* f0a5034: 16400006 */ bnez $s2,.L0f0a5050 /* f0a5038: 00001025 */ or $v0,$zero,$zero @@ -20936,7 +20936,7 @@ glabel var7f1ac934 /* f0a51b8: c7b00110 */ lwc1 $f16,0x110($sp) /* f0a51bc: 46065100 */ add.s $f4,$f10,$f6 /* f0a51c0: 46048200 */ add.s $f8,$f16,$f4 -/* f0a51c4: 0c00566c */ jal mtx000159b0 +/* f0a51c4: 0c00566c */ jal mtx4LoadIdentity /* f0a51c8: e7a80068 */ swc1 $f8,0x68($sp) /* f0a51cc: 0c004b70 */ jal random /* f0a51d0: 00000000 */ nop @@ -20964,7 +20964,7 @@ glabel var7f1ac934 /* f0a5224: 44072000 */ mfc1 $a3,$f4 /* f0a5228: 44059000 */ mfc1 $a1,$f18 /* f0a522c: 46004487 */ neg.s $f18,$f8 -/* f0a5230: 0c005c0a */ jal mtx00017028 +/* f0a5230: 0c005c0a */ jal mtx4Align /* f0a5234: e7b20010 */ swc1 $f18,0x10($sp) /* f0a5238: 4600a306 */ mov.s $f12,$f20 /* f0a523c: 0c0057c1 */ jal mtx00015f04 @@ -20985,20 +20985,20 @@ glabel var7f1ac934 /* f0a5278: 0c005ba6 */ jal mtx00016e98 /* f0a527c: e7b00010 */ swc1 $f16,0x10($sp) /* f0a5280: 02802025 */ or $a0,$s4,$zero -/* f0a5284: 0c00567f */ jal mtx000159fc +/* f0a5284: 0c00567f */ jal mtx4MultMtx4InPlace /* f0a5288: 02202825 */ or $a1,$s1,$zero /* f0a528c: c7ac00b0 */ lwc1 $f12,0xb0($sp) /* f0a5290: 0c0059c4 */ jal mtx00016710 /* f0a5294: 02202825 */ or $a1,$s1,$zero /* f0a5298: 8fa4013c */ lw $a0,0x13c($sp) -/* f0a529c: 0c00567f */ jal mtx000159fc +/* f0a529c: 0c00567f */ jal mtx4MultMtx4InPlace /* f0a52a0: 02202825 */ or $a1,$s1,$zero /* f0a52a4: 27a40060 */ addiu $a0,$sp,0x60 -/* f0a52a8: 0c005775 */ jal mtx00015dd4 +/* f0a52a8: 0c005775 */ jal mtx4SetTranslation /* f0a52ac: 02202825 */ or $a1,$s1,$zero /* f0a52b0: 0013c980 */ sll $t9,$s3,0x6 /* f0a52b4: 02b92821 */ addu $a1,$s5,$t9 -/* f0a52b8: 0c005746 */ jal mtx00015d18 +/* f0a52b8: 0c005746 */ jal mtx4Copy /* f0a52bc: 02202025 */ or $a0,$s1,$zero .L0f0a52c0: /* f0a52c0: 26520001 */ addiu $s2,$s2,0x1 @@ -21158,7 +21158,7 @@ glabel var7f1ac9e0 /* f0a53b4: 8fad008c */ lw $t5,0x8c($sp) /* f0a53b8: 00027180 */ sll $t6,$v0,0x6 /* f0a53bc: 27a50024 */ addiu $a1,$sp,0x24 -/* f0a53c0: 0c005746 */ jal mtx00015d18 +/* f0a53c0: 0c005746 */ jal mtx4Copy /* f0a53c4: 01ae2021 */ addu $a0,$t5,$t6 /* f0a53c8: 3c017f1b */ lui $at,%hi(var7f1ac938) /* f0a53cc: c42cc938 */ lwc1 $f12,%lo(var7f1ac938)($at) @@ -21167,7 +21167,7 @@ glabel var7f1ac9e0 /* f0a53d8: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a53dc: 00000000 */ nop /* f0a53e0: 00402025 */ or $a0,$v0,$zero -/* f0a53e4: 0c00567f */ jal mtx000159fc +/* f0a53e4: 0c00567f */ jal mtx4MultMtx4InPlace /* f0a53e8: 27a50024 */ addiu $a1,$sp,0x24 /* f0a53ec: 8fa4007c */ lw $a0,0x7c($sp) /* f0a53f0: 8fa50074 */ lw $a1,0x74($sp) @@ -21935,7 +21935,7 @@ glabel var7f1add20pf /* f0a5fdc: 00000000 */ nop /* f0a5fe0: afa201d0 */ sw $v0,0x1d0($sp) .PF0f0a5fe4: -/* f0a5fe4: 0c0055d0 */ jal mtx000159b0 +/* f0a5fe4: 0c0055d0 */ jal mtx4LoadIdentity /* f0a5fe8: afa4004c */ sw $a0,0x4c($sp) /* f0a5fec: 8fae0288 */ lw $t6,0x288($sp) /* f0a5ff0: 8fa201d0 */ lw $v0,0x1d0($sp) @@ -21967,7 +21967,7 @@ glabel var7f1add20pf /* f0a6050: 0fc26042 */ jal bgun0f0981e8 /* f0a6054: 8fa50288 */ lw $a1,0x288($sp) .PF0f0a6058: -/* f0a6058: 0c0055d0 */ jal mtx000159b0 +/* f0a6058: 0c0055d0 */ jal mtx4LoadIdentity /* f0a605c: 27a4023c */ addiu $a0,$sp,0x23c /* f0a6060: 3c08800a */ lui $t0,0x800a /* f0a6064: 2508a510 */ addiu $t0,$t0,-23280 @@ -22083,7 +22083,7 @@ glabel var7f1add20pf /* f0a61fc: 27a5016c */ addiu $a1,$sp,0x16c /* f0a6200: e7a001ac */ swc1 $f0,0x1ac($sp) /* f0a6204: e7a001b4 */ swc1 $f0,0x1b4($sp) -/* f0a6208: 0c005887 */ jal mtx0001648c +/* f0a6208: 0c005887 */ jal mtx4LoadRotation /* f0a620c: e7a601b0 */ swc1 $f6,0x1b0($sp) /* f0a6210: 44804000 */ mtc1 $zero,$f8 /* f0a6214: 27a40120 */ addiu $a0,$sp,0x120 @@ -22108,28 +22108,28 @@ glabel var7f1add20pf /* f0a6260: 27a5012c */ addiu $a1,$sp,0x12c /* f0a6264: e6120234 */ swc1 $f18,0x234($s0) /* f0a6268: c7b001b0 */ lwc1 $f16,0x1b0($sp) -/* f0a626c: 0c005887 */ jal mtx0001648c +/* f0a626c: 0c005887 */ jal mtx4LoadRotation /* f0a6270: e6100238 */ swc1 $f16,0x238($s0) /* f0a6274: 27a4012c */ addiu $a0,$sp,0x12c /* f0a6278: 27a5016c */ addiu $a1,$sp,0x16c -/* f0a627c: 0c0055e4 */ jal mtx00015a00 +/* f0a627c: 0c0055e4 */ jal mtx4MultMtx4 /* f0a6280: 27a6028c */ addiu $a2,$sp,0x28c /* f0a6284: 27a4028c */ addiu $a0,$sp,0x28c -/* f0a6288: 0c0055e3 */ jal mtx000159fc +/* f0a6288: 0c0055e3 */ jal mtx4MultMtx4InPlace /* f0a628c: 27a5023c */ addiu $a1,$sp,0x23c /* f0a6290: 27a4023c */ addiu $a0,$sp,0x23c -/* f0a6294: 0c0056aa */ jal mtx00015d18 +/* f0a6294: 0c0056aa */ jal mtx4Copy /* f0a6298: 27a502cc */ addiu $a1,$sp,0x2cc /* f0a629c: 27a4027c */ addiu $a0,$sp,0x27c -/* f0a62a0: 0c0056d9 */ jal mtx00015dd4 +/* f0a62a0: 0c0056d9 */ jal mtx4SetTranslation /* f0a62a4: 27a502cc */ addiu $a1,$sp,0x2cc /* f0a62a8: 260502b4 */ addiu $a1,$s0,0x2b4 /* f0a62ac: afa5004c */ sw $a1,0x4c($sp) -/* f0a62b0: 0c0056aa */ jal mtx00015d18 +/* f0a62b0: 0c0056aa */ jal mtx4Copy /* f0a62b4: 27a402cc */ addiu $a0,$sp,0x2cc /* f0a62b8: 260402f4 */ addiu $a0,$s0,0x2f4 /* f0a62bc: afa40044 */ sw $a0,0x44($sp) -/* f0a62c0: 0c0056aa */ jal mtx00015d18 +/* f0a62c0: 0c0056aa */ jal mtx4Copy /* f0a62c4: 26050334 */ addiu $a1,$s0,0x334 /* f0a62c8: 0fc2d726 */ jal currentPlayerGetUnk174c /* f0a62cc: 00000000 */ nop @@ -22183,7 +22183,7 @@ glabel var7f1add20pf /* f0a6380: 0c005725 */ jal mtx00015f04 /* f0a6384: 27a502cc */ addiu $a1,$sp,0x2cc /* f0a6388: 27a402cc */ addiu $a0,$sp,0x2cc -/* f0a638c: 0c0056aa */ jal mtx00015d18 +/* f0a638c: 0c0056aa */ jal mtx4Copy /* f0a6390: 8fa5030c */ lw $a1,0x30c($sp) /* f0a6394: 8e190690 */ lw $t9,0x690($s0) /* f0a6398: 0019c0c0 */ sll $t8,$t9,0x3 @@ -22396,7 +22396,7 @@ glabel var7f1add20pf /* f0a6680: 8d2a0dd4 */ lw $t2,0xdd4($t1) /* f0a6684: 55410022 */ bnel $t2,$at,.PF0f0a6710 /* f0a6688: 8e0a038c */ lw $t2,0x38c($s0) -/* f0a668c: 0c0055d0 */ jal mtx000159b0 +/* f0a668c: 0c0055d0 */ jal mtx4LoadIdentity /* f0a6690: afa700d4 */ sw $a3,0xd4($sp) /* f0a6694: 8fb901e0 */ lw $t9,0x1e0($sp) /* f0a6698: 8e060390 */ lw $a2,0x390($s0) @@ -22500,7 +22500,7 @@ glabel var7f1add20pf /* f0a6804: 46002187 */ neg.s $f6,$f4 /* f0a6808: afa40054 */ sw $a0,0x54($sp) /* f0a680c: e7a60080 */ swc1 $f6,0x80($sp) -/* f0a6810: 0c005628 */ jal mtx00015b10 +/* f0a6810: 0c005628 */ jal mtx4RotateVecInPlace /* f0a6814: 27a50078 */ addiu $a1,$sp,0x78 /* f0a6818: 8fa40054 */ lw $a0,0x54($sp) /* f0a681c: c7aa0078 */ lwc1 $f10,0x78($sp) @@ -22611,12 +22611,12 @@ glabel var7f1add20pf /* f0a6994: c4840034 */ lwc1 $f4,0x34($a0) /* f0a6998: e6040378 */ swc1 $f4,0x378($s0) /* f0a699c: c4860038 */ lwc1 $f6,0x38($a0) -/* f0a69a0: 0c0056aa */ jal mtx00015d18 +/* f0a69a0: 0c0056aa */ jal mtx4Copy /* f0a69a4: e606037c */ swc1 $f6,0x37c($s0) /* f0a69a8: 0fc2d726 */ jal currentPlayerGetUnk174c /* f0a69ac: 00000000 */ nop /* f0a69b0: 00402025 */ move $a0,$v0 -/* f0a69b4: 0c00563d */ jal mtx00015b64 +/* f0a69b4: 0c00563d */ jal mtx4TransformVecInPlace /* f0a69b8: 26050374 */ addiu $a1,$s0,0x374 /* f0a69bc: 8fa20070 */ lw $v0,0x70($sp) /* f0a69c0: 8fb9030c */ lw $t9,0x30c($sp) @@ -22683,12 +22683,12 @@ glabel var7f1add20pf /* f0a6aac: c4900034 */ lwc1 $f16,0x34($a0) /* f0a6ab0: e6100378 */ swc1 $f16,0x378($s0) /* f0a6ab4: c4840038 */ lwc1 $f4,0x38($a0) -/* f0a6ab8: 0c0056aa */ jal mtx00015d18 +/* f0a6ab8: 0c0056aa */ jal mtx4Copy /* f0a6abc: e604037c */ swc1 $f4,0x37c($s0) /* f0a6ac0: 0fc2d726 */ jal currentPlayerGetUnk174c /* f0a6ac4: 00000000 */ nop /* f0a6ac8: 00402025 */ move $a0,$v0 -/* f0a6acc: 0c00563d */ jal mtx00015b64 +/* f0a6acc: 0c00563d */ jal mtx4TransformVecInPlace /* f0a6ad0: 26050374 */ addiu $a1,$s0,0x374 /* f0a6ad4: 8faa0070 */ lw $t2,0x70($sp) /* f0a6ad8: 8fb8030c */ lw $t8,0x30c($sp) @@ -22705,7 +22705,7 @@ glabel var7f1add20pf /* f0a6b00: e60a0374 */ swc1 $f10,0x374($s0) /* f0a6b04: e6120378 */ swc1 $f18,0x378($s0) /* f0a6b08: e610037c */ swc1 $f16,0x37c($s0) -/* f0a6b0c: 0c0056aa */ jal mtx00015d18 +/* f0a6b0c: 0c0056aa */ jal mtx4Copy /* f0a6b10: 8fa40044 */ lw $a0,0x44($sp) /* f0a6b14: c60402ec */ lwc1 $f4,0x2ec($s0) /* f0a6b18: 46002187 */ neg.s $f6,$f4 @@ -22719,7 +22719,7 @@ glabel var7f1add20pf /* f0a6b34: e60a0378 */ swc1 $f10,0x378($s0) /* f0a6b38: e612037c */ swc1 $f18,0x37c($s0) /* f0a6b3c: 8fa40044 */ lw $a0,0x44($sp) -/* f0a6b40: 0c0056aa */ jal mtx00015d18 +/* f0a6b40: 0c0056aa */ jal mtx4Copy /* f0a6b44: 26050620 */ addiu $a1,$s0,0x620 /* f0a6b48: c61002ec */ lwc1 $f16,0x2ec($s0) /* f0a6b4c: 46008107 */ neg.s $f4,$f16 @@ -23474,7 +23474,7 @@ glabel var7f1aca70 /* f0a5cc4: 00000000 */ nop /* f0a5cc8: afa201c8 */ sw $v0,0x1c8($sp) .L0f0a5ccc: -/* f0a5ccc: 0c00566c */ jal mtx000159b0 +/* f0a5ccc: 0c00566c */ jal mtx4LoadIdentity /* f0a5cd0: afa40048 */ sw $a0,0x48($sp) /* f0a5cd4: 8fae0280 */ lw $t6,0x280($sp) /* f0a5cd8: 8fa201c8 */ lw $v0,0x1c8($sp) @@ -23506,7 +23506,7 @@ glabel var7f1aca70 /* f0a5d38: 0fc2607a */ jal bgun0f0981e8 /* f0a5d3c: 8fa50280 */ lw $a1,0x280($sp) .L0f0a5d40: -/* f0a5d40: 0c00566c */ jal mtx000159b0 +/* f0a5d40: 0c00566c */ jal mtx4LoadIdentity /* f0a5d44: 27a40234 */ addiu $a0,$sp,0x234 /* f0a5d48: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a5d4c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) @@ -23622,7 +23622,7 @@ glabel var7f1aca70 /* f0a5ee4: 27a50164 */ addiu $a1,$sp,0x164 /* f0a5ee8: e7a001a4 */ swc1 $f0,0x1a4($sp) /* f0a5eec: e7a001ac */ swc1 $f0,0x1ac($sp) -/* f0a5ef0: 0c005923 */ jal mtx0001648c +/* f0a5ef0: 0c005923 */ jal mtx4LoadRotation /* f0a5ef4: e7a601a8 */ swc1 $f6,0x1a8($sp) /* f0a5ef8: 44804000 */ mtc1 $zero,$f8 /* f0a5efc: 27a40118 */ addiu $a0,$sp,0x118 @@ -23647,28 +23647,28 @@ glabel var7f1aca70 /* f0a5f48: 27a50124 */ addiu $a1,$sp,0x124 /* f0a5f4c: e6120234 */ swc1 $f18,0x234($s0) /* f0a5f50: c7b001a8 */ lwc1 $f16,0x1a8($sp) -/* f0a5f54: 0c005923 */ jal mtx0001648c +/* f0a5f54: 0c005923 */ jal mtx4LoadRotation /* f0a5f58: e6100238 */ swc1 $f16,0x238($s0) /* f0a5f5c: 27a40124 */ addiu $a0,$sp,0x124 /* f0a5f60: 27a50164 */ addiu $a1,$sp,0x164 -/* f0a5f64: 0c005680 */ jal mtx00015a00 +/* f0a5f64: 0c005680 */ jal mtx4MultMtx4 /* f0a5f68: 27a60284 */ addiu $a2,$sp,0x284 /* f0a5f6c: 27a40284 */ addiu $a0,$sp,0x284 -/* f0a5f70: 0c00567f */ jal mtx000159fc +/* f0a5f70: 0c00567f */ jal mtx4MultMtx4InPlace /* f0a5f74: 27a50234 */ addiu $a1,$sp,0x234 /* f0a5f78: 27a40234 */ addiu $a0,$sp,0x234 -/* f0a5f7c: 0c005746 */ jal mtx00015d18 +/* f0a5f7c: 0c005746 */ jal mtx4Copy /* f0a5f80: 27a502c4 */ addiu $a1,$sp,0x2c4 /* f0a5f84: 27a40274 */ addiu $a0,$sp,0x274 -/* f0a5f88: 0c005775 */ jal mtx00015dd4 +/* f0a5f88: 0c005775 */ jal mtx4SetTranslation /* f0a5f8c: 27a502c4 */ addiu $a1,$sp,0x2c4 /* f0a5f90: 260502b4 */ addiu $a1,$s0,0x2b4 /* f0a5f94: afa50048 */ sw $a1,0x48($sp) -/* f0a5f98: 0c005746 */ jal mtx00015d18 +/* f0a5f98: 0c005746 */ jal mtx4Copy /* f0a5f9c: 27a402c4 */ addiu $a0,$sp,0x2c4 /* f0a5fa0: 260402f4 */ addiu $a0,$s0,0x2f4 /* f0a5fa4: afa40040 */ sw $a0,0x40($sp) -/* f0a5fa8: 0c005746 */ jal mtx00015d18 +/* f0a5fa8: 0c005746 */ jal mtx4Copy /* f0a5fac: 26050334 */ addiu $a1,$s0,0x334 /* f0a5fb0: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a5fb4: 00000000 */ nop @@ -23722,7 +23722,7 @@ glabel var7f1aca70 /* f0a6068: 0c0057c1 */ jal mtx00015f04 /* f0a606c: 27a502c4 */ addiu $a1,$sp,0x2c4 /* f0a6070: 27a402c4 */ addiu $a0,$sp,0x2c4 -/* f0a6074: 0c005746 */ jal mtx00015d18 +/* f0a6074: 0c005746 */ jal mtx4Copy /* f0a6078: 8fa50304 */ lw $a1,0x304($sp) /* f0a607c: 8e190690 */ lw $t9,0x690($s0) /* f0a6080: 0019c0c0 */ sll $t8,$t9,0x3 @@ -23883,7 +23883,7 @@ glabel var7f1aca70 /* f0a62b0: 8d890dd4 */ lw $t1,0xdd4($t4) /* f0a62b4: 55090013 */ bnel $t0,$t1,.L0f0a6304 /* f0a62b8: 8e0d038c */ lw $t5,0x38c($s0) -/* f0a62bc: 0c00566c */ jal mtx000159b0 +/* f0a62bc: 0c00566c */ jal mtx4LoadIdentity /* f0a62c0: 27a40084 */ addiu $a0,$sp,0x84 /* f0a62c4: 8fab01d8 */ lw $t3,0x1d8($sp) /* f0a62c8: 8e060390 */ lw $a2,0x390($s0) @@ -23955,7 +23955,7 @@ glabel var7f1aca70 /* f0a63c0: 46002187 */ neg.s $f6,$f4 /* f0a63c4: afa40050 */ sw $a0,0x50($sp) /* f0a63c8: e7a6007c */ swc1 $f6,0x7c($sp) -/* f0a63cc: 0c0056c4 */ jal mtx00015b10 +/* f0a63cc: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0a63d0: 27a50074 */ addiu $a1,$sp,0x74 /* f0a63d4: 8fa40050 */ lw $a0,0x50($sp) /* f0a63d8: c7aa0074 */ lwc1 $f10,0x74($sp) @@ -24066,12 +24066,12 @@ glabel var7f1aca70 /* f0a6550: c4840034 */ lwc1 $f4,0x34($a0) /* f0a6554: e6040378 */ swc1 $f4,0x378($s0) /* f0a6558: c4860038 */ lwc1 $f6,0x38($a0) -/* f0a655c: 0c005746 */ jal mtx00015d18 +/* f0a655c: 0c005746 */ jal mtx4Copy /* f0a6560: e606037c */ swc1 $f6,0x37c($s0) /* f0a6564: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a6568: 00000000 */ nop /* f0a656c: 00402025 */ or $a0,$v0,$zero -/* f0a6570: 0c0056d9 */ jal mtx00015b64 +/* f0a6570: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0a6574: 26050374 */ addiu $a1,$s0,0x374 /* f0a6578: 8fa2006c */ lw $v0,0x6c($sp) /* f0a657c: 8fac0304 */ lw $t4,0x304($sp) @@ -24138,12 +24138,12 @@ glabel var7f1aca70 /* f0a6668: c4900034 */ lwc1 $f16,0x34($a0) /* f0a666c: e6100378 */ swc1 $f16,0x378($s0) /* f0a6670: c4840038 */ lwc1 $f4,0x38($a0) -/* f0a6674: 0c005746 */ jal mtx00015d18 +/* f0a6674: 0c005746 */ jal mtx4Copy /* f0a6678: e604037c */ swc1 $f4,0x37c($s0) /* f0a667c: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a6680: 00000000 */ nop /* f0a6684: 00402025 */ or $a0,$v0,$zero -/* f0a6688: 0c0056d9 */ jal mtx00015b64 +/* f0a6688: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0a668c: 26050374 */ addiu $a1,$s0,0x374 /* f0a6690: 8fb8006c */ lw $t8,0x6c($sp) /* f0a6694: 8fae0304 */ lw $t6,0x304($sp) @@ -24160,7 +24160,7 @@ glabel var7f1aca70 /* f0a66bc: e60a0374 */ swc1 $f10,0x374($s0) /* f0a66c0: e6120378 */ swc1 $f18,0x378($s0) /* f0a66c4: e610037c */ swc1 $f16,0x37c($s0) -/* f0a66c8: 0c005746 */ jal mtx00015d18 +/* f0a66c8: 0c005746 */ jal mtx4Copy /* f0a66cc: 8fa40040 */ lw $a0,0x40($sp) /* f0a66d0: c60402ec */ lwc1 $f4,0x2ec($s0) /* f0a66d4: 46002187 */ neg.s $f6,$f4 @@ -24174,7 +24174,7 @@ glabel var7f1aca70 /* f0a66f0: e60a0378 */ swc1 $f10,0x378($s0) /* f0a66f4: e612037c */ swc1 $f18,0x37c($s0) /* f0a66f8: 8fa40040 */ lw $a0,0x40($sp) -/* f0a66fc: 0c005746 */ jal mtx00015d18 +/* f0a66fc: 0c005746 */ jal mtx4Copy /* f0a6700: 26050620 */ addiu $a1,$s0,0x620 /* f0a6704: c61002ec */ lwc1 $f16,0x2ec($s0) /* f0a6708: 46008107 */ neg.s $f4,$f16 diff --git a/src/game/bondhead.c b/src/game/bondhead.c index f2e2c04f3..40b0cbf48 100644 --- a/src/game/bondhead.c +++ b/src/game/bondhead.c @@ -154,7 +154,7 @@ void bheadUpdate(f32 arg0, f32 arg1) model0001ee18(&g_Vars.currentplayer->model, g_Vars.lvupdate240, true); model0001e29c(somebool); model0001b3bc(&g_Vars.currentplayer->model); - mtx000159b0(&sp40); + mtx4LoadIdentity(&sp40); sp80.matrix = &sp40; sp80.unk10 = g_Vars.currentplayer->bondheadmatrices; diff --git a/src/game/bondmove.c b/src/game/bondmove.c index 79f56a19a..342a96172 100644 --- a/src/game/bondmove.c +++ b/src/game/bondmove.c @@ -1500,7 +1500,7 @@ void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool i g_Vars.currentplayer->gunzoomfovs[1] = eraserfov; - mtx00015b68(currentPlayerGetMatrix1740(), &g_Vars.currentplayer->autoerasertarget->pos, &spa0); + mtx4TransformVec(currentPlayerGetMatrix1740(), &g_Vars.currentplayer->autoerasertarget->pos, &spa0); func0f0b4eb8(&spa0, crosspos, eraserfov, g_Vars.currentplayer->c_perspaspect); @@ -2092,18 +2092,18 @@ void bmoveUpdateHead(f32 arg0, f32 arg1, f32 arg2, Mtxf *arg3, f32 arg4) } bheadUpdate(sp244, arg2); - mtx000162e8(BADDEG2RAD(360 - g_Vars.currentplayer->vv_verta360), &sp180); + mtx4LoadXRotation(BADDEG2RAD(360 - g_Vars.currentplayer->vv_verta360), &sp180); if (optionsGetHeadRoll(g_Vars.currentplayerstats->mpindex)) { mtx00016d58(&sp116, 0, 0, 0, -g_Vars.currentplayer->headlook.x, -g_Vars.currentplayer->headlook.y, -g_Vars.currentplayer->headlook.z, g_Vars.currentplayer->headup.x, g_Vars.currentplayer->headup.y, g_Vars.currentplayer->headup.z); - mtx000159fc(&sp116, &sp180); + mtx4MultMtx4InPlace(&sp116, &sp180); } - mtx00016374(BADDEG2RAD(360 - g_Vars.currentplayer->vv_theta), &sp116); - mtx000159fc(&sp116, &sp180); + mtx4LoadYRotation(BADDEG2RAD(360 - g_Vars.currentplayer->vv_theta), &sp116); + mtx4MultMtx4InPlace(&sp116, &sp180); if (arg3) { func0f097044(&sp180, &sp100); diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 5cc5902fe..16c56bbd6 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -4911,13 +4911,13 @@ glabel var7f1a879c /* f021660: 46120301 */ sub.s $f12,$f0,$f18 /* f021664: e7a200b4 */ swc1 $f2,0xb4($sp) .L0f021668: -/* f021668: 0c0058dd */ jal mtx00016374 +/* f021668: 0c0058dd */ jal mtx4LoadYRotation /* f02166c: e7ae00b0 */ swc1 $f14,0xb0($sp) /* f021670: 27a400b8 */ addiu $a0,$sp,0xb8 /* f021674: 0c0056f8 */ jal mtx00015be0 /* f021678: 8fa5015c */ lw $a1,0x15c($sp) /* f02167c: c7ac00b0 */ lwc1 $f12,0xb0($sp) -/* f021680: 0c0058ba */ jal mtx000162e8 +/* f021680: 0c0058ba */ jal mtx4LoadXRotation /* f021684: 27a500f8 */ addiu $a1,$sp,0xf8 /* f021688: 27a400f8 */ addiu $a0,$sp,0xf8 /* f02168c: 0c0056f8 */ jal mtx00015be0 @@ -4933,7 +4933,7 @@ glabel var7f1a879c /* f0216b4: 00000000 */ nop /* f0216b8: 46120301 */ sub.s $f12,$f0,$f18 .L0f0216bc: -/* f0216bc: 0c0058dd */ jal mtx00016374 +/* f0216bc: 0c0058dd */ jal mtx4LoadYRotation /* f0216c0: 27a500b8 */ addiu $a1,$sp,0xb8 /* f0216c4: 27a400b8 */ addiu $a0,$sp,0xb8 /* f0216c8: 0c0056f8 */ jal mtx00015be0 @@ -5492,7 +5492,7 @@ glabel var7f1a879c /* f021e90: 00000000 */ nop /* f021e94: 46126300 */ add.s $f12,$f12,$f18 .L0f021e98: -/* f021e98: 0c0058dd */ jal mtx00016374 +/* f021e98: 0c0058dd */ jal mtx4LoadYRotation /* f021e9c: e7ae00a4 */ swc1 $f14,0xa4($sp) /* f021ea0: 27a4002c */ addiu $a0,$sp,0x2c /* f021ea4: 0c0056f8 */ jal mtx00015be0 @@ -5504,7 +5504,7 @@ glabel var7f1a879c /* f021ebc: 00000000 */ nop /* f021ec0: 45030009 */ bc1tl .L0f021ee8 /* f021ec4: c7a6009c */ lwc1 $f6,0x9c($sp) -/* f021ec8: 0c0058ba */ jal mtx000162e8 +/* f021ec8: 0c0058ba */ jal mtx4LoadXRotation /* f021ecc: 46007306 */ mov.s $f12,$f14 /* f021ed0: 27a4002c */ addiu $a0,$sp,0x2c /* f021ed4: 0c0056f8 */ jal mtx00015be0 @@ -5518,14 +5518,14 @@ glabel var7f1a879c /* f021ef0: 00000000 */ nop /* f021ef4: 45030007 */ bc1tl .L0f021f14 /* f021ef8: c7ac006c */ lwc1 $f12,0x6c($sp) -/* f021efc: 0c005900 */ jal mtx00016400 +/* f021efc: 0c005900 */ jal mtx4LoadZRotation /* f021f00: 46003306 */ mov.s $f12,$f6 /* f021f04: 27a4002c */ addiu $a0,$sp,0x2c /* f021f08: 0c0056f8 */ jal mtx00015be0 /* f021f0c: 8fa5015c */ lw $a1,0x15c($sp) /* f021f10: c7ac006c */ lwc1 $f12,0x6c($sp) .L0f021f14: -/* f021f14: 0c0058dd */ jal mtx00016374 +/* f021f14: 0c0058dd */ jal mtx4LoadYRotation /* f021f18: 27a5002c */ addiu $a1,$sp,0x2c /* f021f1c: 27a4002c */ addiu $a0,$sp,0x2c /* f021f20: 0c0056f8 */ jal mtx00015be0 @@ -5533,7 +5533,7 @@ glabel var7f1a879c /* f021f28: 10000007 */ b .L0f021f48 /* f021f2c: 3c013f80 */ lui $at,0x3f80 .L0f021f30: -/* f021f30: 0c0058dd */ jal mtx00016374 +/* f021f30: 0c0058dd */ jal mtx4LoadYRotation /* f021f34: 27a5002c */ addiu $a1,$sp,0x2c /* f021f38: 27a4002c */ addiu $a0,$sp,0x2c /* f021f3c: 0c0056f8 */ jal mtx00015be0 @@ -5705,13 +5705,13 @@ glabel var7f1a879c /* f021660: 46120301 */ sub.s $f12,$f0,$f18 /* f021664: e7a200b4 */ swc1 $f2,0xb4($sp) .L0f021668: -/* f021668: 0c0058dd */ jal mtx00016374 +/* f021668: 0c0058dd */ jal mtx4LoadYRotation /* f02166c: e7ae00b0 */ swc1 $f14,0xb0($sp) /* f021670: 27a400b8 */ addiu $a0,$sp,0xb8 /* f021674: 0c0056f8 */ jal mtx00015be0 /* f021678: 8fa5015c */ lw $a1,0x15c($sp) /* f02167c: c7ac00b0 */ lwc1 $f12,0xb0($sp) -/* f021680: 0c0058ba */ jal mtx000162e8 +/* f021680: 0c0058ba */ jal mtx4LoadXRotation /* f021684: 27a500f8 */ addiu $a1,$sp,0xf8 /* f021688: 27a400f8 */ addiu $a0,$sp,0xf8 /* f02168c: 0c0056f8 */ jal mtx00015be0 @@ -5727,7 +5727,7 @@ glabel var7f1a879c /* f0216b4: 00000000 */ nop /* f0216b8: 46120301 */ sub.s $f12,$f0,$f18 .L0f0216bc: -/* f0216bc: 0c0058dd */ jal mtx00016374 +/* f0216bc: 0c0058dd */ jal mtx4LoadYRotation /* f0216c0: 27a500b8 */ addiu $a1,$sp,0xb8 /* f0216c4: 27a400b8 */ addiu $a0,$sp,0xb8 /* f0216c8: 0c0056f8 */ jal mtx00015be0 @@ -6286,7 +6286,7 @@ glabel var7f1a879c /* f021e90: 00000000 */ nop /* f021e94: 46126300 */ add.s $f12,$f12,$f18 .L0f021e98: -/* f021e98: 0c0058dd */ jal mtx00016374 +/* f021e98: 0c0058dd */ jal mtx4LoadYRotation /* f021e9c: e7ae00a4 */ swc1 $f14,0xa4($sp) /* f021ea0: 27a4002c */ addiu $a0,$sp,0x2c /* f021ea4: 0c0056f8 */ jal mtx00015be0 @@ -6298,7 +6298,7 @@ glabel var7f1a879c /* f021ebc: 00000000 */ nop /* f021ec0: 45030009 */ bc1tl .L0f021ee8 /* f021ec4: c7a6009c */ lwc1 $f6,0x9c($sp) -/* f021ec8: 0c0058ba */ jal mtx000162e8 +/* f021ec8: 0c0058ba */ jal mtx4LoadXRotation /* f021ecc: 46007306 */ mov.s $f12,$f14 /* f021ed0: 27a4002c */ addiu $a0,$sp,0x2c /* f021ed4: 0c0056f8 */ jal mtx00015be0 @@ -6312,14 +6312,14 @@ glabel var7f1a879c /* f021ef0: 00000000 */ nop /* f021ef4: 45030007 */ bc1tl .L0f021f14 /* f021ef8: c7ac006c */ lwc1 $f12,0x6c($sp) -/* f021efc: 0c005900 */ jal mtx00016400 +/* f021efc: 0c005900 */ jal mtx4LoadZRotation /* f021f00: 46003306 */ mov.s $f12,$f6 /* f021f04: 27a4002c */ addiu $a0,$sp,0x2c /* f021f08: 0c0056f8 */ jal mtx00015be0 /* f021f0c: 8fa5015c */ lw $a1,0x15c($sp) /* f021f10: c7ac006c */ lwc1 $f12,0x6c($sp) .L0f021f14: -/* f021f14: 0c0058dd */ jal mtx00016374 +/* f021f14: 0c0058dd */ jal mtx4LoadYRotation /* f021f18: 27a5002c */ addiu $a1,$sp,0x2c /* f021f1c: 27a4002c */ addiu $a0,$sp,0x2c /* f021f20: 0c0056f8 */ jal mtx00015be0 @@ -6327,7 +6327,7 @@ glabel var7f1a879c /* f021f28: 10000007 */ b .L0f021f48 /* f021f2c: 3c013f80 */ lui $at,0x3f80 .L0f021f30: -/* f021f30: 0c0058dd */ jal mtx00016374 +/* f021f30: 0c0058dd */ jal mtx4LoadYRotation /* f021f34: 27a5002c */ addiu $a1,$sp,0x2c /* f021f38: 27a4002c */ addiu $a0,$sp,0x2c /* f021f3c: 0c0056f8 */ jal mtx00015be0 @@ -6533,18 +6533,18 @@ glabel var7f1a87a8 /* f022348: 27b10080 */ addiu $s1,$sp,0x80 /* f02234c: 3c017f1b */ lui $at,%hi(var7f1a87a0) /* f022350: c42c87a0 */ lwc1 $f12,%lo(var7f1a87a0)($at) -/* f022354: 0c0058dd */ jal mtx00016374 +/* f022354: 0c0058dd */ jal mtx4LoadYRotation /* f022358: 02202825 */ or $a1,$s1,$zero /* f02235c: 27b00040 */ addiu $s0,$sp,0x40 /* f022360: 3c017f1b */ lui $at,%hi(var7f1a87a4) /* f022364: c42c87a4 */ lwc1 $f12,%lo(var7f1a87a4)($at) -/* f022368: 0c005900 */ jal mtx00016400 +/* f022368: 0c005900 */ jal mtx4LoadZRotation /* f02236c: 02002825 */ or $a1,$s0,$zero /* f022370: 02002025 */ or $a0,$s0,$zero -/* f022374: 0c00567f */ jal mtx000159fc +/* f022374: 0c00567f */ jal mtx4MultMtx4InPlace /* f022378: 02202825 */ or $a1,$s1,$zero /* f02237c: 8fa40104 */ lw $a0,0x104($sp) -/* f022380: 0c00567f */ jal mtx000159fc +/* f022380: 0c00567f */ jal mtx4MultMtx4InPlace /* f022384: 02202825 */ or $a1,$s1,$zero /* f022388: 1000000e */ b .L0f0223c4 /* f02238c: afb100c4 */ sw $s1,0xc4($sp) @@ -6554,10 +6554,10 @@ glabel var7f1a87a8 /* f022398: 02202825 */ or $a1,$s1,$zero /* f02239c: 16480008 */ bne $s2,$t0,.L0f0223c0 /* f0223a0: 3c017f1b */ lui $at,%hi(var7f1a87a8) -/* f0223a4: 0c005900 */ jal mtx00016400 +/* f0223a4: 0c005900 */ jal mtx4LoadZRotation /* f0223a8: c42c87a8 */ lwc1 $f12,%lo(var7f1a87a8)($at) /* f0223ac: 8fa40104 */ lw $a0,0x104($sp) -/* f0223b0: 0c00567f */ jal mtx000159fc +/* f0223b0: 0c00567f */ jal mtx4MultMtx4InPlace /* f0223b4: 02202825 */ or $a1,$s1,$zero /* f0223b8: 10000002 */ b .L0f0223c4 /* f0223bc: afb100c4 */ sw $s1,0xc4($sp) @@ -7921,7 +7921,7 @@ glabel var7f1a99ecpf /* f023f50: 0fc2d706 */ jal currentPlayerGetMatrix1740 /* f023f54: 00000000 */ nop /* f023f58: 00402025 */ move $a0,$v0 -/* f023f5c: 0c0055e3 */ jal mtx000159fc +/* f023f5c: 0c0055e3 */ jal mtx4MultMtx4InPlace /* f023f60: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f023f64: 27a901a8 */ addiu $t1,$sp,0x1a8 /* f023f68: 1000004b */ b .PF0f024098 @@ -7991,7 +7991,7 @@ glabel var7f1a99ecpf /* f02405c: 0fc2d706 */ jal currentPlayerGetMatrix1740 /* f024060: 00000000 */ nop /* f024064: 00402025 */ move $a0,$v0 -/* f024068: 0c0055e3 */ jal mtx000159fc +/* f024068: 0c0055e3 */ jal mtx4MultMtx4InPlace /* f02406c: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f024070: 27ae01a8 */ addiu $t6,$sp,0x1a8 /* f024074: 10000008 */ b .PF0f024098 @@ -8283,7 +8283,7 @@ glabel var7f1a99ecpf /* f0244ac: 8d44000c */ lw $a0,0xc($t2) /* f0244b0: 8fac00f4 */ lw $t4,0xf4($sp) /* f0244b4: 27a4005c */ addiu $a0,$sp,0x5c -/* f0244b8: 0c0056aa */ jal mtx00015d18 +/* f0244b8: 0c0056aa */ jal mtx4Copy /* f0244bc: 8d85000c */ lw $a1,0xc($t4) /* f0244c0: 8fad0058 */ lw $t5,0x58($sp) /* f0244c4: 24010002 */ li $at,0x2 @@ -9359,7 +9359,7 @@ glabel var7f1a87d8 /* f023e2c: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f023e30: 00000000 */ nop /* f023e34: 00402025 */ or $a0,$v0,$zero -/* f023e38: 0c00567f */ jal mtx000159fc +/* f023e38: 0c00567f */ jal mtx4MultMtx4InPlace /* f023e3c: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f023e40: 27ab01a8 */ addiu $t3,$sp,0x1a8 /* f023e44: 1000004b */ b .L0f023f74 @@ -9429,7 +9429,7 @@ glabel var7f1a87d8 /* f023f38: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f023f3c: 00000000 */ nop /* f023f40: 00402025 */ or $a0,$v0,$zero -/* f023f44: 0c00567f */ jal mtx000159fc +/* f023f44: 0c00567f */ jal mtx4MultMtx4InPlace /* f023f48: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f023f4c: 27aa01a8 */ addiu $t2,$sp,0x1a8 /* f023f50: 10000008 */ b .L0f023f74 @@ -9721,7 +9721,7 @@ glabel var7f1a87d8 /* f024388: 8d84000c */ lw $a0,0xc($t4) /* f02438c: 8fb800f4 */ lw $t8,0xf4($sp) /* f024390: 27a4005c */ addiu $a0,$sp,0x5c -/* f024394: 0c005746 */ jal mtx00015d18 +/* f024394: 0c005746 */ jal mtx4Copy /* f024398: 8f05000c */ lw $a1,0xc($t8) /* f02439c: 8faf0058 */ lw $t7,0x58($sp) /* f0243a0: 24010002 */ addiu $at,$zero,0x2 @@ -10738,7 +10738,7 @@ glabel var7f1a87d8 /* f023844: 0fc2cd16 */ jal currentPlayerGetMatrix1740 /* f023848: 00000000 */ sll $zero,$zero,0x0 /* f02384c: 00402025 */ or $a0,$v0,$zero -/* f023850: 0c005a3b */ jal mtx000159fc +/* f023850: 0c005a3b */ jal mtx4MultMtx4InPlace /* f023854: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f023858: 27a901a8 */ addiu $t1,$sp,0x1a8 /* f02385c: 1000004b */ beqz $zero,.NB0f02398c @@ -10808,7 +10808,7 @@ glabel var7f1a87d8 /* f023950: 0fc2cd16 */ jal currentPlayerGetMatrix1740 /* f023954: 00000000 */ sll $zero,$zero,0x0 /* f023958: 00402025 */ or $a0,$v0,$zero -/* f02395c: 0c005a3b */ jal mtx000159fc +/* f02395c: 0c005a3b */ jal mtx4MultMtx4InPlace /* f023960: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f023964: 27b901a8 */ addiu $t9,$sp,0x1a8 /* f023968: 10000008 */ beqz $zero,.NB0f02398c @@ -11100,7 +11100,7 @@ glabel var7f1a87d8 /* f023da0: 8dc4000c */ lw $a0,0xc($t6) /* f023da4: 8fab00f4 */ lw $t3,0xf4($sp) /* f023da8: 27a4005c */ addiu $a0,$sp,0x5c -/* f023dac: 0c005b02 */ jal mtx00015d18 +/* f023dac: 0c005b02 */ jal mtx4Copy /* f023db0: 8d65000c */ lw $a1,0xc($t3) /* f023db4: 8fad0058 */ lw $t5,0x58($sp) /* f023db8: 24010002 */ addiu $at,$zero,0x2 @@ -11461,11 +11461,11 @@ glabel func0f024738 /* f0249a0: 8c4f0014 */ lw $t7,0x14($v0) /* f0249a4: ae0f0024 */ sw $t7,0x24($s0) /* f0249a8: 8c410018 */ lw $at,0x18($v0) -/* f0249ac: 0c005755 */ jal mtx00015d54 +/* f0249ac: 0c005755 */ jal mtx3ToMtx4 /* f0249b0: ae010028 */ sw $at,0x28($s0) /* f0249b4: 8e440014 */ lw $a0,0x14($s2) /* f0249b8: 02202825 */ or $a1,$s1,$zero -/* f0249bc: 0c005775 */ jal mtx00015dd4 +/* f0249bc: 0c005775 */ jal mtx4SetTranslation /* f0249c0: 24840008 */ addiu $a0,$a0,0x8 /* f0249c4: 2612006c */ addiu $s2,$s0,0x6c /* f0249c8: 02402825 */ or $a1,$s2,$zero @@ -11711,21 +11711,21 @@ glabel var7f1a87f8 /* f024cfc: 2625002c */ addiu $a1,$s1,0x2c /* f024d00: 02a02025 */ or $a0,$s5,$zero /* f024d04: 27a500a0 */ addiu $a1,$sp,0xa0 -/* f024d08: 0c0056da */ jal mtx00015b68 +/* f024d08: 0c0056da */ jal mtx4TransformVec /* f024d0c: 02603025 */ or $a2,$s3,$zero /* f024d10: 02602025 */ or $a0,$s3,$zero /* f024d14: 0fc2d37b */ jal func0f0b4dec /* f024d18: 26250134 */ addiu $a1,$s1,0x134 /* f024d1c: 02a02025 */ or $a0,$s5,$zero /* f024d20: 27a50094 */ addiu $a1,$sp,0x94 -/* f024d24: 0c0056da */ jal mtx00015b68 +/* f024d24: 0c0056da */ jal mtx4TransformVec /* f024d28: 02603025 */ or $a2,$s3,$zero /* f024d2c: 02602025 */ or $a0,$s3,$zero /* f024d30: 0fc2d37b */ jal func0f0b4dec /* f024d34: 2625013c */ addiu $a1,$s1,0x13c /* f024d38: 02a02025 */ or $a0,$s5,$zero /* f024d3c: 27a50088 */ addiu $a1,$sp,0x88 -/* f024d40: 0c0056da */ jal mtx00015b68 +/* f024d40: 0c0056da */ jal mtx4TransformVec /* f024d44: 02603025 */ or $a2,$s3,$zero /* f024d48: 02602025 */ or $a0,$s3,$zero /* f024d4c: 0fc2d37b */ jal func0f0b4dec @@ -11820,7 +11820,7 @@ glabel var7f1a87f8 .L0f024eac: /* f024eac: 03c02025 */ or $a0,$s8,$zero /* f024eb0: 02c02825 */ or $a1,$s6,$zero -/* f024eb4: 0c0056da */ jal mtx00015b68 +/* f024eb4: 0c0056da */ jal mtx4TransformVec /* f024eb8: 02603025 */ or $a2,$s3,$zero /* f024ebc: 02602025 */ or $a0,$s3,$zero /* f024ec0: 0fc2d37b */ jal func0f0b4dec @@ -11857,7 +11857,7 @@ glabel var7f1a87f8 /* f024f30: 16800030 */ bnez $s4,.L0f024ff4 /* f024f34: 02e02025 */ or $a0,$s7,$zero /* f024f38: 02c02825 */ or $a1,$s6,$zero -/* f024f3c: 0c0056da */ jal mtx00015b68 +/* f024f3c: 0c0056da */ jal mtx4TransformVec /* f024f40: 02603025 */ or $a2,$s3,$zero /* f024f44: c7a60070 */ lwc1 $f6,0x70($sp) /* f024f48: c62a0014 */ lwc1 $f10,0x14($s1) @@ -14209,10 +14209,10 @@ void func0f027994(struct prop *prop, struct shotdata *shotdata, bool arg2, bool while (spc0 > 0) { if (func0f084594(model, node, &shotdata->unk00, &shotdata->unk0c, &sp88, &sp84, &sp80)) { - mtx00015b68(&model->matrices[sp84], &sp88.unk00, &spdc); - mtx00015b64(currentPlayerGetUnk174c(), &spdc); - mtx00015b14(&model->matrices[sp84], &sp88.unk0c, &spd0); - mtx00015b10(currentPlayerGetUnk174c(), &spd0); + mtx4TransformVec(&model->matrices[sp84], &sp88.unk00, &spdc); + mtx4TransformVecInPlace(currentPlayerGetUnk174c(), &spdc); + mtx4RotateVec(&model->matrices[sp84], &sp88.unk0c, &spd0); + mtx4RotateVecInPlace(currentPlayerGetUnk174c(), &spd0); break; } @@ -14224,8 +14224,8 @@ void func0f027994(struct prop *prop, struct shotdata *shotdata, bool arg2, bool if (spc0 > 0) { if (func0f06bea0(model, model->filedata->rootnode, model->filedata->rootnode, &shotdata->unk00, &shotdata->unk0c, &sp88.unk00, &sp70, &node, &spc0, &sp84, &sp80)) { - mtx00015b68(currentPlayerGetUnk174c(), &sp88.unk00, &spdc); - mtx00015b14(currentPlayerGetUnk174c(), &sp88.unk0c, &spd0); + mtx4TransformVec(currentPlayerGetUnk174c(), &sp88.unk00, &spdc); + mtx4RotateVec(currentPlayerGetUnk174c(), &sp88.unk0c, &spd0); } else { spc0 = 0; } @@ -14321,7 +14321,7 @@ glabel func0f027e1c /* f027ef4: e7b200a0 */ swc1 $f18,0xa0($sp) /* f027ef8: 00402025 */ or $a0,$v0,$zero /* f027efc: 27a50098 */ addiu $a1,$sp,0x98 -/* f027f00: 0c0056da */ jal mtx00015b68 +/* f027f00: 0c0056da */ jal mtx4TransformVec /* f027f04: 27a600a4 */ addiu $a2,$sp,0xa4 /* f027f08: 0fc2a519 */ jal bgunSetHitPos /* f027f0c: 27a400a4 */ addiu $a0,$sp,0xa4 @@ -14633,7 +14633,7 @@ glabel func0f027e1c /* f02838c: 27a500b0 */ addiu $a1,$sp,0xb0 /* f028390: 27a400b0 */ addiu $a0,$sp,0xb0 /* f028394: 27a50098 */ addiu $a1,$sp,0x98 -/* f028398: 0c0056da */ jal mtx00015b68 +/* f028398: 0c0056da */ jal mtx4TransformVec /* f02839c: 27a6005c */ addiu $a2,$sp,0x5c /* f0283a0: 8fb800f0 */ lw $t8,0xf0($sp) /* f0283a4: 8fa30068 */ lw $v1,0x68($sp) @@ -14764,7 +14764,7 @@ glabel func0f027e1c /* f027910: e7b200a0 */ swc1 $f18,0xa0($sp) /* f027914: 00402025 */ or $a0,$v0,$zero /* f027918: 27a50098 */ addiu $a1,$sp,0x98 -/* f02791c: 0c005a96 */ jal mtx00015b68 +/* f02791c: 0c005a96 */ jal mtx4TransformVec /* f027920: 27a600a4 */ addiu $a2,$sp,0xa4 /* f027924: 0fc29c81 */ jal bgunSetHitPos /* f027928: 27a400a4 */ addiu $a0,$sp,0xa4 @@ -15074,7 +15074,7 @@ glabel func0f027e1c /* f027da0: 27a500b0 */ addiu $a1,$sp,0xb0 /* f027da4: 27a400b0 */ addiu $a0,$sp,0xb0 /* f027da8: 27a50098 */ addiu $a1,$sp,0x98 -/* f027dac: 0c005a96 */ jal mtx00015b68 +/* f027dac: 0c005a96 */ jal mtx4TransformVec /* f027db0: 27a6005c */ addiu $a2,$sp,0x5c /* f027db4: 3c18800a */ lui $t8,0x800a /* f027db8: 8f18e944 */ lw $t8,-0x16bc($t8) diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 26c6d5be7..2e4b9c978 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -10954,7 +10954,7 @@ glabel var7f1a8fc8 /* f03f374: c4520004 */ lwc1 $f18,0x4($v0) /* f03f378: e7b200bc */ swc1 $f18,0xbc($sp) /* f03f37c: c4480008 */ lwc1 $f8,0x8($v0) -/* f03f380: 0c0056d9 */ jal mtx00015b64 +/* f03f380: 0c0056d9 */ jal mtx4TransformVecInPlace /* f03f384: e7a800c0 */ swc1 $f8,0xc0($sp) /* f03f388: c7a600b8 */ lwc1 $f6,0xb8($sp) /* f03f38c: c7a400bc */ lwc1 $f4,0xbc($sp) @@ -11541,7 +11541,7 @@ bool func0f03fde4(struct chrdata *chr, s32 handnum, struct coord *arg2) arg2->z = rodata->pos.z; mtx00015be4(currentPlayerGetUnk174c(), spac, &sp6c); - mtx00015b64(&sp6c, arg2); + mtx4TransformVecInPlace(&sp6c, arg2); result = true; } else if ((part1 = modelGetPart(model->filedata, MODELPART_0001))) { sp64 = model0001a5cc(model, part1, 0); @@ -11605,8 +11605,8 @@ void chrCalculateShieldHit(struct chrdata *chr, struct coord *pos, struct coord lVar4 = func0f0b5050(chr->model->matrices); if (lVar4) { - mtx00015b68(lVar4, pos, &sp124); - mtx00015b14(lVar4, vector, &sp118); + mtx4TransformVec(lVar4, pos, &sp124); + mtx4RotateVec(lVar4, vector, &sp118); isdifferentmtx = (currentPlayerGetMatrix1740() != lVar4); node = chr->model->filedata->rootnode; @@ -12714,13 +12714,13 @@ glabel var7f1a9184 /* f041154: 46085481 */ sub.s $f18,$f10,$f8 /* f041158: e7b201e8 */ swc1 $f18,0x1e8($sp) .PF0f04115c: -/* f04115c: 0c0055d0 */ jal mtx000159b0 +/* f04115c: 0c0055d0 */ jal mtx4LoadIdentity /* f041160: 27a40178 */ addiu $a0,$sp,0x178 /* f041164: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f041168: 0c00581e */ jal mtx000162e8 +/* f041168: 0c00581e */ jal mtx4LoadXRotation /* f04116c: 27a5011c */ addiu $a1,$sp,0x11c /* f041170: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f041174: 0c005841 */ jal mtx00016374 +/* f041174: 0c005841 */ jal mtx4LoadYRotation /* f041178: 27a500dc */ addiu $a1,$sp,0xdc /* f04117c: 27a400dc */ addiu $a0,$sp,0xdc /* f041180: 0c00565c */ jal mtx00015be0 @@ -14312,13 +14312,13 @@ glabel var7f1a9184 /* f040fd0: 46085481 */ sub.s $f18,$f10,$f8 /* f040fd4: e7b201e8 */ swc1 $f18,0x1e8($sp) .L0f040fd8: -/* f040fd8: 0c00566c */ jal mtx000159b0 +/* f040fd8: 0c00566c */ jal mtx4LoadIdentity /* f040fdc: 27a40178 */ addiu $a0,$sp,0x178 /* f040fe0: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040fe4: 0c0058ba */ jal mtx000162e8 +/* f040fe4: 0c0058ba */ jal mtx4LoadXRotation /* f040fe8: 27a5011c */ addiu $a1,$sp,0x11c /* f040fec: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040ff0: 0c0058dd */ jal mtx00016374 +/* f040ff0: 0c0058dd */ jal mtx4LoadYRotation /* f040ff4: 27a500dc */ addiu $a1,$sp,0xdc /* f040ff8: 27a400dc */ addiu $a0,$sp,0xdc /* f040ffc: 0c0056f8 */ jal mtx00015be0 @@ -15902,13 +15902,13 @@ glabel var7f1a9184 /* f0407b0: 46085481 */ sub.s $f18,$f10,$f8 /* f0407b4: e7b201e8 */ swc1 $f18,0x1e8($sp) .NB0f0407b8: -/* f0407b8: 0c005a28 */ jal mtx000159b0 +/* f0407b8: 0c005a28 */ jal mtx4LoadIdentity /* f0407bc: 27a40178 */ addiu $a0,$sp,0x178 /* f0407c0: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f0407c4: 0c005c9e */ jal mtx000162e8 +/* f0407c4: 0c005c9e */ jal mtx4LoadXRotation /* f0407c8: 27a5011c */ addiu $a1,$sp,0x11c /* f0407cc: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407d0: 0c005cc1 */ jal mtx00016374 +/* f0407d0: 0c005cc1 */ jal mtx4LoadYRotation /* f0407d4: 27a500dc */ addiu $a1,$sp,0xdc /* f0407d8: 27a400dc */ addiu $a0,$sp,0xdc /* f0407dc: 0c005ab4 */ jal mtx00015be0 @@ -17442,11 +17442,11 @@ glabel var7f1a91dc /* f042cc4: e6060004 */ swc1 $f6,0x4($s0) /* f042cc8: c4480008 */ lwc1 $f8,0x8($v0) /* f042ccc: e6080008 */ swc1 $f8,0x8($s0) -/* f042cd0: 0c0058dd */ jal mtx00016374 +/* f042cd0: 0c0058dd */ jal mtx4LoadYRotation /* f042cd4: c7ac00fc */ lwc1 $f12,0xfc($sp) /* f042cd8: 27a400a4 */ addiu $a0,$sp,0xa4 /* f042cdc: 02002825 */ or $a1,$s0,$zero -/* f042ce0: 0c0056c5 */ jal mtx00015b14 +/* f042ce0: 0c0056c5 */ jal mtx4RotateVec /* f042ce4: 27a600e4 */ addiu $a2,$sp,0xe4 /* f042ce8: 8e4c0020 */ lw $t4,0x20($s2) /* f042cec: c7aa00e4 */ lwc1 $f10,0xe4($sp) @@ -17719,8 +17719,8 @@ glabel var7f1a91dc // act->pos[i].y = rodata->position.pos.y - 300; // act->pos[i].z = rodata->position.pos.z; // -// mtx00016374(invtheta, &spa4); -// mtx00015b14(&spa4, &act->pos[i], &spe4); +// mtx4LoadYRotation(invtheta, &spa4); +// mtx4RotateVec(&spa4, &act->pos[i], &spe4); // // spe4.x *= chr->model->scale; // spe4.y *= chr->model->scale; @@ -25385,7 +25385,7 @@ bool chrCanSeeTargetWithExtraCheck(struct chrdata *chr) bgun0f0a0c08(&sp68, &sp56); modelGetRootPosition(model, &sp44); - mtx00015b64(currentPlayerGetMatrix1740(), &sp44); + mtx4TransformVecInPlace(currentPlayerGetMatrix1740(), &sp44); if (func0f06b39c(&sp68, &sp56, &sp44, somefloat)) { return true; @@ -28504,7 +28504,7 @@ Gfx *chrsRenderChrStats(Gfx *gdl, s16 *rooms) sp20c.y = chr->ground + chr->chrheight - 30; sp20c.z = chr->prop->pos.z; - mtx00015b64(g_Vars.currentplayer->matrix1740, &sp20c); + mtx4TransformVecInPlace(g_Vars.currentplayer->matrix1740, &sp20c); if (sp20c.z < -100 && sp20c.z > -1000) { func0f0b4eb8(&sp20c, sp204, g_Vars.currentplayer->c_perspfovy, g_Vars.currentplayer->c_perspaspect); diff --git a/src/game/credits.c b/src/game/credits.c index e4c4a44b2..04b8c4efe 100644 --- a/src/game/credits.c +++ b/src/game/credits.c @@ -5229,7 +5229,7 @@ glabel var7f1b5948 /* f13be4c: ade20004 */ sw $v0,0x4($t7) /* f13be50: 00408025 */ move $s0,$v0 .PF0f13be54: -/* f13be54: 0c0055d0 */ jal mtx000159b0 +/* f13be54: 0c0055d0 */ jal mtx4LoadIdentity /* f13be58: 27a40068 */ addiu $a0,$sp,0x68 /* f13be5c: 27a40068 */ addiu $a0,$sp,0x68 /* f13be60: 0c005779 */ jal mtx00016054 @@ -5538,7 +5538,7 @@ glabel var7f1b5948 /* f13b2e8: ade20004 */ sw $v0,0x4($t7) /* f13b2ec: 00408025 */ or $s0,$v0,$zero .L0f13b2f0: -/* f13b2f0: 0c00566c */ jal mtx000159b0 +/* f13b2f0: 0c00566c */ jal mtx4LoadIdentity /* f13b2f4: 27a40068 */ addiu $a0,$sp,0x68 /* f13b2f8: 27a40068 */ addiu $a0,$sp,0x68 /* f13b2fc: 0c005815 */ jal mtx00016054 @@ -5847,7 +5847,7 @@ glabel var7f1b5948 /* f135de8: ade20004 */ sw $v0,0x4($t7) /* f135dec: 00408025 */ or $s0,$v0,$zero .NB0f135df0: -/* f135df0: 0c005a28 */ jal mtx000159b0 +/* f135df0: 0c005a28 */ jal mtx4LoadIdentity /* f135df4: 27a40068 */ addiu $a0,$sp,0x68 /* f135df8: 27a40068 */ addiu $a0,$sp,0x68 /* f135dfc: 0c005bd1 */ jal mtx00016054 @@ -6030,7 +6030,7 @@ glabel var7f1b5948 // gdl = creditsClearFramebuffer(gdl, 0x000000d8); // } // -// mtx000159b0(&sp68); +// mtx4LoadIdentity(&sp68); // mtx00016054(&sp68, matrix); // currentPlayerSetMatrix1740(&sp68); // diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index f74d3de45..9ea19cf82 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -1375,7 +1375,7 @@ void setupSingleMonitor(struct singlemonitorobj *monitor, s32 cmdindex) } propReparent(prop, owner->prop); - mtx000162e8(0.3664608001709f, &sp64); + mtx4LoadXRotation(0.3664608001709f, &sp64); mtx00015f04(monitor->base.model->scale / owner->model->scale, &sp64); modelGetRootPosition(monitor->base.model, &spa4); @@ -1635,17 +1635,17 @@ glabel var7f1a926cpf /* f00e5bc: e7b2001c */ swc1 $f18,0x1c($sp) /* f00e5c0: 3c017f1b */ lui $at,0x7f1b /* f00e5c4: c42c9260 */ lwc1 $f12,-0x6da0($at) -/* f00e5c8: 0c00581e */ jal mtx000162e8 +/* f00e5c8: 0c00581e */ jal mtx4LoadXRotation /* f00e5cc: 27a500ac */ addiu $a1,$sp,0xac /* f00e5d0: 3c017f1b */ lui $at,0x7f1b /* f00e5d4: c42c9264 */ lwc1 $f12,-0x6d9c($at) -/* f00e5d8: 0c005864 */ jal mtx00016400 +/* f00e5d8: 0c005864 */ jal mtx4LoadZRotation /* f00e5dc: 27a50060 */ addiu $a1,$sp,0x60 /* f00e5e0: 27a40060 */ addiu $a0,$sp,0x60 -/* f00e5e4: 0c0055e3 */ jal mtx000159fc +/* f00e5e4: 0c0055e3 */ jal mtx4MultMtx4InPlace /* f00e5e8: 27a500ac */ addiu $a1,$sp,0xac /* f00e5ec: 27a40110 */ addiu $a0,$sp,0x110 -/* f00e5f0: 0c0055e3 */ jal mtx000159fc +/* f00e5f0: 0c0055e3 */ jal mtx4MultMtx4InPlace /* f00e5f4: 27a500ac */ addiu $a1,$sp,0xac /* f00e5f8: 86040006 */ lh $a0,0x6($s0) /* f00e5fc: 0fc45a85 */ jal padGetCentre @@ -2030,17 +2030,17 @@ glabel var7f1a8064 /* f00e5d4: e7b2001c */ swc1 $f18,0x1c($sp) /* f00e5d8: 3c017f1b */ lui $at,%hi(var7f1a805c) /* f00e5dc: c42c805c */ lwc1 $f12,%lo(var7f1a805c)($at) -/* f00e5e0: 0c0058ba */ jal mtx000162e8 +/* f00e5e0: 0c0058ba */ jal mtx4LoadXRotation /* f00e5e4: 27a500ac */ addiu $a1,$sp,0xac /* f00e5e8: 3c017f1b */ lui $at,%hi(var7f1a8060) /* f00e5ec: c42c8060 */ lwc1 $f12,%lo(var7f1a8060)($at) -/* f00e5f0: 0c005900 */ jal mtx00016400 +/* f00e5f0: 0c005900 */ jal mtx4LoadZRotation /* f00e5f4: 27a50060 */ addiu $a1,$sp,0x60 /* f00e5f8: 27a40060 */ addiu $a0,$sp,0x60 -/* f00e5fc: 0c00567f */ jal mtx000159fc +/* f00e5fc: 0c00567f */ jal mtx4MultMtx4InPlace /* f00e600: 27a500ac */ addiu $a1,$sp,0xac /* f00e604: 27a40110 */ addiu $a0,$sp,0x110 -/* f00e608: 0c00567f */ jal mtx000159fc +/* f00e608: 0c00567f */ jal mtx4MultMtx4InPlace /* f00e60c: 27a500ac */ addiu $a1,$sp,0xac /* f00e610: 86040006 */ lh $a0,0x6($s0) /* f00e614: 0fc457cd */ jal padGetCentre @@ -2324,10 +2324,10 @@ glabel var7f1a8064 // mtx00016d58(sp110, 0, 0, 0, // -pad.look.x, -pad.look.y, -pad.look.z, // pad.up.x, pad.up.y, pad.up.z); -// mtx000162e8(1.5705462694168f, spac); -// mtx00016400(1.5705462694168f, sp60); -// mtx000159fc(sp60, spac); -// mtx000159fc(sp110, spac); +// mtx4LoadXRotation(1.5705462694168f, spac); +// mtx4LoadZRotation(1.5705462694168f, sp60); +// mtx4MultMtx4InPlace(sp60, spac); +// mtx4MultMtx4InPlace(sp110, spac); // // padGetCentre(door->base.pad, &spa0); // @@ -3165,14 +3165,14 @@ void setupParseObjects(s32 stagenum) if (obj->flags & OBJFLAG_DEACTIVATED) { step->frame = escstepy; escstepy += 40; - mtx00016374(4.7116389274597f, (Mtxf *)sp1a8); - mtx00015da0((Mtxf *)sp1a8, sp184); + mtx4LoadYRotation(4.7116389274597f, (Mtxf *)sp1a8); + mtx4ToMtx3((Mtxf *)sp1a8, sp184); mtx00016110(sp184, obj->realrot); } else { step->frame = escstepx; escstepx += 40; - mtx00016374(M_BADPI, (Mtxf *)sp1a8); - mtx00015da0((Mtxf *)sp1a8, sp184); + mtx4LoadYRotation(M_BADPI, (Mtxf *)sp1a8); + mtx4ToMtx3((Mtxf *)sp1a8, sp184); mtx00016110(sp184, obj->realrot); } } diff --git a/src/game/game_0125a0.c b/src/game/game_0125a0.c index 5477446c7..83d9eb588 100644 --- a/src/game/game_0125a0.c +++ b/src/game/game_0125a0.c @@ -102,7 +102,7 @@ void currentPlayerInitAnimation(void) modelSetAnimation(&g_Vars.currentplayer->model, 1, 0, 0, 0.5f, 0); model0001b3bc(&g_Vars.currentplayer->model); - mtx000159b0(&sp48); + mtx4LoadIdentity(&sp48); sp88.matrix = &sp48; sp88.unk10 = g_Vars.currentplayer->bondheadmatrices; model0001cebc(&sp88, &g_Vars.currentplayer->model); diff --git a/src/game/game_096360.c b/src/game/game_096360.c index b46196a14..715778445 100644 --- a/src/game/game_096360.c +++ b/src/game/game_096360.c @@ -19,7 +19,7 @@ void func0f096360(Mtxf *mtx) coord.y = random() * (1.0f / U32_MAX) * PALUPF(M_BADTAU) * 0.0078125f - PALUPF(0.024539785459638f); coord.z = random() * (1.0f / U32_MAX) * PALUPF(M_BADTAU) * 0.0078125f - PALUPF(0.024539785459638f); - mtx0001648c(&coord, mtx); + mtx4LoadRotation(&coord, mtx); } void func0f0964b4(f32 *arg0, Mtxf *mtx) diff --git a/src/game/game_0abe70.c b/src/game/game_0abe70.c index 0c8be1ac1..902cf0cd0 100644 --- a/src/game/game_0abe70.c +++ b/src/game/game_0abe70.c @@ -722,7 +722,7 @@ glabel var7f1acc68 /* f0ac5d4: e7aa00ec */ swc1 $f10,0xec($sp) /* f0ac5d8: 00402025 */ or $a0,$v0,$zero /* f0ac5dc: 8fa500fc */ lw $a1,0xfc($sp) -/* f0ac5e0: 0c0056da */ jal mtx00015b68 +/* f0ac5e0: 0c0056da */ jal mtx4TransformVec /* f0ac5e4: 27a6005c */ addiu $a2,$sp,0x5c /* f0ac5e8: c7ae00f8 */ lwc1 $f14,0xf8($sp) /* f0ac5ec: c7a8005c */ lwc1 $f8,0x5c($sp) @@ -774,7 +774,7 @@ glabel var7f1acc68 /* f0ac68c: 00000000 */ nop /* f0ac690: 00402025 */ or $a0,$v0,$zero /* f0ac694: 8fa50108 */ lw $a1,0x108($sp) -/* f0ac698: 0c0056da */ jal mtx00015b68 +/* f0ac698: 0c0056da */ jal mtx4TransformVec /* f0ac69c: 27a6005c */ addiu $a2,$sp,0x5c /* f0ac6a0: c7b000f8 */ lwc1 $f16,0xf8($sp) /* f0ac6a4: c7a6005c */ lwc1 $f6,0x5c($sp) @@ -1666,7 +1666,7 @@ glabel var7f1accf4 /* f0ad2b8: c6240018 */ lwc1 $f4,0x18($s1) /* f0ad2bc: 46002282 */ mul.s $f10,$f4,$f0 /* f0ad2c0: 46065200 */ add.s $f8,$f10,$f6 -/* f0ad2c4: 0c0056d9 */ jal mtx00015b64 +/* f0ad2c4: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0ad2c8: e7a800d4 */ swc1 $f8,0xd4($sp) /* f0ad2cc: 3c014120 */ lui $at,0x4120 /* f0ad2d0: 44815000 */ mtc1 $at,$f10 @@ -1705,7 +1705,7 @@ glabel var7f1accf4 /* f0ad350: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0ad354: 00000000 */ nop /* f0ad358: 00402025 */ or $a0,$v0,$zero -/* f0ad35c: 0c0056d9 */ jal mtx00015b64 +/* f0ad35c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0ad360: 27a500cc */ addiu $a1,$sp,0xcc /* f0ad364: c7a200cc */ lwc1 $f2,0xcc($sp) /* f0ad368: c7ac0138 */ lwc1 $f12,0x138($sp) @@ -2312,7 +2312,7 @@ glabel func0f0adcc8 /* f0add3c: e5060008 */ swc1 $f6,0x8($t0) /* f0add40: c4c80038 */ lwc1 $f8,0x38($a2) /* f0add44: e508000c */ swc1 $f8,0xc($t0) -/* f0add48: 0c005768 */ jal mtx00015da0 +/* f0add48: 0c005768 */ jal mtx4ToMtx3 /* f0add4c: afa80030 */ sw $t0,0x30($sp) /* f0add50: 8fa80030 */ lw $t0,0x30($sp) /* f0add54: 3c014580 */ lui $at,0x4580 @@ -2515,7 +2515,7 @@ glabel var7f1acd60 /* f0adf48: 29c10002 */ slti $at,$t6,0x2 /* f0adf4c: 10200280 */ beqz $at,.L0f0ae950 /* f0adf50: 8fa40148 */ lw $a0,0x148($sp) -/* f0adf54: 0c005746 */ jal mtx00015d18 +/* f0adf54: 0c005746 */ jal mtx4Copy /* f0adf58: 27a500ec */ addiu $a1,$sp,0xec /* f0adf5c: 0fc27aef */ jal bgun0f09ebbc /* f0adf60: 00000000 */ nop @@ -2596,7 +2596,7 @@ glabel var7f1acd60 /* f0ae07c: 46083282 */ mul.s $f10,$f6,$f8 /* f0ae080: 46005480 */ add.s $f18,$f10,$f0 /* f0ae084: e6120014 */ swc1 $f18,0x14($s0) -/* f0ae088: 0c0056c4 */ jal mtx00015b10 +/* f0ae088: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0ae08c: 8fa40148 */ lw $a0,0x148($sp) /* f0ae090: 0c004b70 */ jal random /* f0ae094: 00000000 */ nop @@ -2669,10 +2669,10 @@ glabel var7f1acd60 /* f0ae194: c428cd10 */ lwc1 $f8,%lo(var7f1acd10)($at) /* f0ae198: 46069102 */ mul.s $f4,$f18,$f6 /* f0ae19c: 46082281 */ sub.s $f10,$f4,$f8 -/* f0ae1a0: 0c005923 */ jal mtx0001648c +/* f0ae1a0: 0c005923 */ jal mtx4LoadRotation /* f0ae1a4: e7aa00ac */ swc1 $f10,0xac($sp) /* f0ae1a8: 27a40064 */ addiu $a0,$sp,0x64 -/* f0ae1ac: 0c005768 */ jal mtx00015da0 +/* f0ae1ac: 0c005768 */ jal mtx4ToMtx3 /* f0ae1b0: 27a500c8 */ addiu $a1,$sp,0xc8 /* f0ae1b4: 3c014580 */ lui $at,0x4580 /* f0ae1b8: 44810000 */ mtc1 $at,$f0 @@ -2909,7 +2909,7 @@ glabel var7f1acd60 /* f0ae520: e6040018 */ swc1 $f4,0x18($s0) .L0f0ae524: /* f0ae524: 8fa40148 */ lw $a0,0x148($sp) -/* f0ae528: 0c0056c4 */ jal mtx00015b10 +/* f0ae528: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0ae52c: afa5002c */ sw $a1,0x2c($sp) /* f0ae530: 8fab00c4 */ lw $t3,0xc4($sp) /* f0ae534: 24010014 */ addiu $at,$zero,0x14 @@ -2986,10 +2986,10 @@ glabel var7f1acd60 /* f0ae644: c428cd40 */ lwc1 $f8,%lo(var7f1acd40)($at) /* f0ae648: 460a2482 */ mul.s $f18,$f4,$f10 /* f0ae64c: 46089181 */ sub.s $f6,$f18,$f8 -/* f0ae650: 0c005923 */ jal mtx0001648c +/* f0ae650: 0c005923 */ jal mtx4LoadRotation /* f0ae654: e7a600ac */ swc1 $f6,0xac($sp) /* f0ae658: 27a40064 */ addiu $a0,$sp,0x64 -/* f0ae65c: 0c0056c4 */ jal mtx00015b10 +/* f0ae65c: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0ae660: 8fa5002c */ lw $a1,0x2c($sp) .L0f0ae664: /* f0ae664: 0c004b70 */ jal random @@ -3063,10 +3063,10 @@ glabel var7f1acd60 /* f0ae768: c432cd58 */ lwc1 $f18,%lo(var7f1acd58)($at) /* f0ae76c: 460a3102 */ mul.s $f4,$f6,$f10 /* f0ae770: 46122201 */ sub.s $f8,$f4,$f18 -/* f0ae774: 0c005923 */ jal mtx0001648c +/* f0ae774: 0c005923 */ jal mtx4LoadRotation /* f0ae778: e7a800ac */ swc1 $f8,0xac($sp) /* f0ae77c: 27a40064 */ addiu $a0,$sp,0x64 -/* f0ae780: 0c005768 */ jal mtx00015da0 +/* f0ae780: 0c005768 */ jal mtx4ToMtx3 /* f0ae784: 27a500c8 */ addiu $a1,$sp,0xc8 /* f0ae788: 3c014580 */ lui $at,0x4580 /* f0ae78c: 44810000 */ mtc1 $at,$f0 @@ -3346,7 +3346,7 @@ glabel var7f1acd60 /* f0adf48: 29c10002 */ slti $at,$t6,0x2 /* f0adf4c: 10200280 */ beqz $at,.L0f0ae950 /* f0adf50: 8fa40148 */ lw $a0,0x148($sp) -/* f0adf54: 0c005746 */ jal mtx00015d18 +/* f0adf54: 0c005746 */ jal mtx4Copy /* f0adf58: 27a500ec */ addiu $a1,$sp,0xec /* f0adf5c: 0fc27aef */ jal bgun0f09ebbc /* f0adf60: 00000000 */ nop @@ -3427,7 +3427,7 @@ glabel var7f1acd60 /* f0ae07c: 46083282 */ mul.s $f10,$f6,$f8 /* f0ae080: 46005480 */ add.s $f18,$f10,$f0 /* f0ae084: e6120014 */ swc1 $f18,0x14($s0) -/* f0ae088: 0c0056c4 */ jal mtx00015b10 +/* f0ae088: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0ae08c: 8fa40148 */ lw $a0,0x148($sp) /* f0ae090: 0c004b70 */ jal random /* f0ae094: 00000000 */ nop @@ -3500,10 +3500,10 @@ glabel var7f1acd60 /* f0ae194: c428cd10 */ lwc1 $f8,%lo(var7f1acd10)($at) /* f0ae198: 46069102 */ mul.s $f4,$f18,$f6 /* f0ae19c: 46082281 */ sub.s $f10,$f4,$f8 -/* f0ae1a0: 0c005923 */ jal mtx0001648c +/* f0ae1a0: 0c005923 */ jal mtx4LoadRotation /* f0ae1a4: e7aa00ac */ swc1 $f10,0xac($sp) /* f0ae1a8: 27a40064 */ addiu $a0,$sp,0x64 -/* f0ae1ac: 0c005768 */ jal mtx00015da0 +/* f0ae1ac: 0c005768 */ jal mtx4ToMtx3 /* f0ae1b0: 27a500c8 */ addiu $a1,$sp,0xc8 /* f0ae1b4: 3c014580 */ lui $at,0x4580 /* f0ae1b8: 44810000 */ mtc1 $at,$f0 @@ -3740,7 +3740,7 @@ glabel var7f1acd60 /* f0ae520: e6040018 */ swc1 $f4,0x18($s0) .L0f0ae524: /* f0ae524: 8fa40148 */ lw $a0,0x148($sp) -/* f0ae528: 0c0056c4 */ jal mtx00015b10 +/* f0ae528: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0ae52c: afa5002c */ sw $a1,0x2c($sp) /* f0ae530: 8fab00c4 */ lw $t3,0xc4($sp) /* f0ae534: 24010014 */ addiu $at,$zero,0x14 @@ -3817,10 +3817,10 @@ glabel var7f1acd60 /* f0ae644: c428cd40 */ lwc1 $f8,%lo(var7f1acd40)($at) /* f0ae648: 460a2482 */ mul.s $f18,$f4,$f10 /* f0ae64c: 46089181 */ sub.s $f6,$f18,$f8 -/* f0ae650: 0c005923 */ jal mtx0001648c +/* f0ae650: 0c005923 */ jal mtx4LoadRotation /* f0ae654: e7a600ac */ swc1 $f6,0xac($sp) /* f0ae658: 27a40064 */ addiu $a0,$sp,0x64 -/* f0ae65c: 0c0056c4 */ jal mtx00015b10 +/* f0ae65c: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0ae660: 8fa5002c */ lw $a1,0x2c($sp) .L0f0ae664: /* f0ae664: 0c004b70 */ jal random @@ -3894,10 +3894,10 @@ glabel var7f1acd60 /* f0ae768: c432cd58 */ lwc1 $f18,%lo(var7f1acd58)($at) /* f0ae76c: 460a3102 */ mul.s $f4,$f6,$f10 /* f0ae770: 46122201 */ sub.s $f8,$f4,$f18 -/* f0ae774: 0c005923 */ jal mtx0001648c +/* f0ae774: 0c005923 */ jal mtx4LoadRotation /* f0ae778: e7a800ac */ swc1 $f8,0xac($sp) /* f0ae77c: 27a40064 */ addiu $a0,$sp,0x64 -/* f0ae780: 0c005768 */ jal mtx00015da0 +/* f0ae780: 0c005768 */ jal mtx4ToMtx3 /* f0ae784: 27a500c8 */ addiu $a1,$sp,0xc8 /* f0ae788: 3c014580 */ lui $at,0x4580 /* f0ae78c: 44810000 */ mtc1 $at,$f0 @@ -4133,7 +4133,7 @@ glabel var7f1acd6c /* f0aeac4: 0c0057c1 */ jal mtx00015f04 /* f0aeac8: e7aa0084 */ swc1 $f10,0x84($sp) /* f0aeacc: 26440004 */ addiu $a0,$s2,0x4 -/* f0aead0: 0c005775 */ jal mtx00015dd4 +/* f0aead0: 0c005775 */ jal mtx4SetTranslation /* f0aead4: 02002825 */ or $a1,$s0,$zero /* f0aead8: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0aeadc: 00000000 */ nop @@ -4577,7 +4577,7 @@ glabel var7f1acd8c /* f0af324: 27b10164 */ addiu $s1,$sp,0x164 /* f0af328: 02202025 */ or $a0,$s1,$zero /* f0af32c: af090004 */ sw $t1,0x4($t8) -/* f0af330: 0c00566c */ jal mtx000159b0 +/* f0af330: 0c00566c */ jal mtx4LoadIdentity /* f0af334: af080000 */ sw $t0,0x0($t8) /* f0af338: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0af33c: 00000000 */ nop @@ -4585,7 +4585,7 @@ glabel var7f1acd8c /* f0af344: 0c0056f8 */ jal mtx00015be0 /* f0af348: 02202825 */ or $a1,$s1,$zero /* f0af34c: 27b10124 */ addiu $s1,$sp,0x124 -/* f0af350: 0c00566c */ jal mtx000159b0 +/* f0af350: 0c00566c */ jal mtx4LoadIdentity /* f0af354: 02202025 */ or $a0,$s1,$zero /* f0af358: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0af35c: 00000000 */ nop @@ -4597,7 +4597,7 @@ glabel var7f1acd8c /* f0af374: 02202025 */ or $a0,$s1,$zero /* f0af378: e7a00158 */ swc1 $f0,0x158($sp) /* f0af37c: e7a00154 */ swc1 $f0,0x154($sp) -/* f0af380: 0c00566c */ jal mtx000159b0 +/* f0af380: 0c00566c */ jal mtx4LoadIdentity /* f0af384: e7a0015c */ swc1 $f0,0x15c($sp) /* f0af388: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0af38c: 00000000 */ nop @@ -5088,16 +5088,16 @@ glabel var7f1acd8c // gDPSetTextureLUT(gdl++, G_TT_NONE); // gDPSetCombineMode(gdl++, G_CC_BLENDIA, G_CC_BLENDIA); // -// mtx000159b0(&sp164); +// mtx4LoadIdentity(&sp164); // mtx00015be0(currentPlayerGetMatrix1740(), &sp164); -// mtx000159b0(&sp124); +// mtx4LoadIdentity(&sp124); // mtx00015be0(currentPlayerGetUnk174c(), &sp124); // // sp124.m[3][1] = 0; // sp124.m[3][0] = 0; // sp124.m[3][2] = 0; // -// mtx000159b0(&sp1b0); +// mtx4LoadIdentity(&sp1b0); // mtx00015be0(currentPlayerGetMatrix1740(), &sp1b0); // // campos.x = player->cam_pos.x; @@ -5379,14 +5379,14 @@ glabel var7f1acd90 /* f0afc10: 00003825 */ or $a3,$zero,$zero /* f0afc14: 0fc2ce70 */ jal func0f0b39c0 /* f0afc18: 24a50024 */ addiu $a1,$a1,0x0024 -/* f0afc1c: 0c00566c */ jal mtx000159b0 +/* f0afc1c: 0c00566c */ jal mtx4LoadIdentity /* f0afc20: 27a4014c */ addiu $a0,$sp,0x14c /* f0afc24: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0afc28: 00000000 */ nop /* f0afc2c: 00402025 */ or $a0,$v0,$zero /* f0afc30: 0c0056f8 */ jal mtx00015be0 /* f0afc34: 27a5014c */ addiu $a1,$sp,0x14c -/* f0afc38: 0c00566c */ jal mtx000159b0 +/* f0afc38: 0c00566c */ jal mtx4LoadIdentity /* f0afc3c: 27a4010c */ addiu $a0,$sp,0x10c /* f0afc40: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0afc44: 00000000 */ nop @@ -5398,7 +5398,7 @@ glabel var7f1acd90 /* f0afc5c: 02202025 */ or $a0,$s1,$zero /* f0afc60: e7b40140 */ swc1 $f20,0x140($sp) /* f0afc64: e7b4013c */ swc1 $f20,0x13c($sp) -/* f0afc68: 0c00566c */ jal mtx000159b0 +/* f0afc68: 0c00566c */ jal mtx4LoadIdentity /* f0afc6c: e7b40144 */ swc1 $f20,0x144($sp) /* f0afc70: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0afc74: 00000000 */ nop @@ -5461,7 +5461,7 @@ glabel var7f1acd90 /* f0afd54: c6060018 */ lwc1 $f6,0x18($s0) /* f0afd58: e7aa0098 */ swc1 $f10,0x98($sp) /* f0afd5c: e7a4009c */ swc1 $f4,0x9c($sp) -/* f0afd60: 0c0056d9 */ jal mtx00015b64 +/* f0afd60: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0afd64: e7a600a0 */ swc1 $f6,0xa0($sp) /* f0afd68: 4480e000 */ mtc1 $zero,$f28 /* f0afd6c: c7a80098 */ lwc1 $f8,0x98($sp) @@ -5487,7 +5487,7 @@ glabel var7f1acd90 /* f0afdb4: 0c0011e4 */ jal guNormalize /* f0afdb8: e7a600ac */ swc1 $f6,0xac($sp) /* f0afdbc: 27a4010c */ addiu $a0,$sp,0x10c -/* f0afdc0: 0c0056c4 */ jal mtx00015b10 +/* f0afdc0: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0afdc4: 02602825 */ or $a1,$s3,$zero /* f0afdc8: c7bc018c */ lwc1 $f28,0x18c($sp) /* f0afdcc: c6000010 */ lwc1 $f0,0x10($s0) @@ -5813,17 +5813,17 @@ glabel var7f1acd90 // gSPClearGeometryMode(gdl++, G_CULL_BOTH); // // func0f0b39c0(&gdl, &var800ab5a8[3], 4, 0, 2, 1, NULL); -// mtx000159b0(&sp14c); +// mtx4LoadIdentity(&sp14c); // // mtx00015be0(currentPlayerGetMatrix1740(), &sp14c); -// mtx000159b0(&sp10c); +// mtx4LoadIdentity(&sp10c); // mtx00015be0(currentPlayerGetUnk174c(), &sp10c); // // sp10c.m[3][1] = 0; // sp10c.m[3][0] = 0; // sp10c.m[3][2] = 0; // -// mtx000159b0(&sp198); +// mtx4LoadIdentity(&sp198); // mtx00015be0(currentPlayerGetMatrix1740(), &sp198); // // campos.x = player->cam_pos.x; @@ -5854,7 +5854,7 @@ glabel var7f1acd90 // sp98.f[1] = g_LaserSights[i].beamnear.f[1]; // sp98.f[2] = g_LaserSights[i].beamnear.f[2]; // -// mtx00015b64(&sp14c, &sp98); +// mtx4TransformVecInPlace(&sp14c, &sp98); // // spa8.f[0] = sp98.f[0] < 0.0f ? 1 : -1; // spa8.f[1] = 2; @@ -5862,7 +5862,7 @@ glabel var7f1acd90 // // guNormalize(&spa8.x, &spa8.y, &spa8.z); // -// mtx00015b10(&sp10c, &spa8); +// mtx4RotateVecInPlace(&sp10c, &spa8); // // spcc.f[0] = (g_LaserSights[i].beamnear.f[0] - campos.f[0]) * 5; // spcc.f[1] = (g_LaserSights[i].beamnear.f[1] - campos.f[1]) * 5; diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index 1c92339aa..7ac41fc02 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -1750,8 +1750,8 @@ void currentPlayerSpawn(void) s32 prevplayernum = g_Vars.currentplayernum; setCurrentPlayerNum(g_Vars.bondplayernum); bgun0f0a0c08(&sp84, &sp9c); - mtx00015b14(currentPlayerGetUnk174c(), &sp9c, &sp90); - mtx00015b68(currentPlayerGetUnk174c(), &sp84, &sp78); + mtx4RotateVec(currentPlayerGetUnk174c(), &sp9c, &sp90); + mtx4TransformVec(currentPlayerGetUnk174c(), &sp84, &sp78); setCurrentPlayerNum(prevplayernum); } @@ -3894,7 +3894,7 @@ void func0f0ba190(u32 arg0) sp7f = anim00023ab0(g_CutsceneAnimNum, lastframe); anim00023d0c(); anim00024050(0, 0, &g_ModelType20, g_CutsceneAnimNum, sp7f, &sp94, &sp88, &sp7c); - mtx0001648c(&sp94, &sp38); + mtx4LoadRotation(&sp94, &sp38); theta = atan2f(-sp38.m[2][0], -sp38.m[2][2]); theta = (M_BADTAU - theta) * 57.304901123047f; @@ -3990,7 +3990,7 @@ void func0f0ba29c(bool arg0) pos.y = sp16c.y * sp118; pos.z = sp16c.z * sp118; - mtx0001648c(&sp178, &sp11c); + mtx4LoadRotation(&sp178, &sp11c); up.x = sp11c.m[1][0]; up.y = sp11c.m[1][1]; @@ -6615,7 +6615,7 @@ glabel var7f1ad6ac /* f0bee2c: 0fc25b7d */ jal func0f096ed4 /* f0bee30: 02a02025 */ move $a0,$s5 /* f0bee34: 02002025 */ move $a0,$s0 -/* f0bee38: 0c005628 */ jal mtx00015b10 +/* f0bee38: 0c005628 */ jal mtx4RotateVecInPlace /* f0bee3c: 26850004 */ addiu $a1,$s4,0x4 /* f0bee40: 8e8b0000 */ lw $t3,0x0($s4) /* f0bee44: 44808000 */ mtc1 $zero,$f16 @@ -6703,7 +6703,7 @@ glabel var7f1ad6ac /* f0bef70: 46023482 */ mul.s $f18,$f6,$f2 /* f0bef74: 460e9203 */ div.s $f8,$f18,$f14 /* f0bef78: e6840008 */ swc1 $f4,0x8($s4) -/* f0bef7c: 0c0056b9 */ jal mtx00015d54 +/* f0bef7c: 0c0056b9 */ jal mtx3ToMtx4 /* f0bef80: e688000c */ swc1 $f8,0xc($s4) /* f0bef84: 27b2012c */ addiu $s2,$sp,0x12c /* f0bef88: 02402825 */ move $a1,$s2 @@ -6719,7 +6719,7 @@ glabel var7f1ad6ac /* f0befb0: 0fc25b7d */ jal func0f096ed4 /* f0befb4: 02002025 */ move $a0,$s0 /* f0befb8: 02402025 */ move $a0,$s2 -/* f0befbc: 0c0056cc */ jal mtx00015da0 +/* f0befbc: 0c0056cc */ jal mtx4ToMtx3 /* f0befc0: 27a502b8 */ addiu $a1,$sp,0x2b8 /* f0befc4: c7a002a8 */ lwc1 $f0,0x2a8($sp) /* f0befc8: c7aa02b8 */ lwc1 $f10,0x2b8($sp) @@ -9016,7 +9016,7 @@ glabel var7f1ad6ac /* f0be8c0: 0fc25bb5 */ jal func0f096ed4 /* f0be8c4: 02a02025 */ or $a0,$s5,$zero /* f0be8c8: 02002025 */ or $a0,$s0,$zero -/* f0be8cc: 0c0056c4 */ jal mtx00015b10 +/* f0be8cc: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0be8d0: 26850004 */ addiu $a1,$s4,0x4 /* f0be8d4: 8e8c0000 */ lw $t4,0x0($s4) /* f0be8d8: 44808000 */ mtc1 $zero,$f16 @@ -9104,7 +9104,7 @@ glabel var7f1ad6ac /* f0bea04: 46023482 */ mul.s $f18,$f6,$f2 /* f0bea08: 460e9203 */ div.s $f8,$f18,$f14 /* f0bea0c: e6840008 */ swc1 $f4,0x8($s4) -/* f0bea10: 0c005755 */ jal mtx00015d54 +/* f0bea10: 0c005755 */ jal mtx3ToMtx4 /* f0bea14: e688000c */ swc1 $f8,0xc($s4) /* f0bea18: 27b2012c */ addiu $s2,$sp,0x12c /* f0bea1c: 02402825 */ or $a1,$s2,$zero @@ -9120,7 +9120,7 @@ glabel var7f1ad6ac /* f0bea44: 0fc25bb5 */ jal func0f096ed4 /* f0bea48: 02002025 */ or $a0,$s0,$zero /* f0bea4c: 02402025 */ or $a0,$s2,$zero -/* f0bea50: 0c005768 */ jal mtx00015da0 +/* f0bea50: 0c005768 */ jal mtx4ToMtx3 /* f0bea54: 27a502b8 */ addiu $a1,$sp,0x2b8 /* f0bea58: c7a002a8 */ lwc1 $f0,0x2a8($sp) /* f0bea5c: c7aa02b8 */ lwc1 $f10,0x2b8($sp) @@ -11375,7 +11375,7 @@ glabel var7f1ad6ac /* f0bc494: 0fc25399 */ jal func0f096ed4 /* f0bc498: 02a02025 */ or $a0,$s5,$zero /* f0bc49c: 02002025 */ or $a0,$s0,$zero -/* f0bc4a0: 0c005a80 */ jal mtx00015b10 +/* f0bc4a0: 0c005a80 */ jal mtx4RotateVecInPlace /* f0bc4a4: 26850004 */ addiu $a1,$s4,0x4 /* f0bc4a8: 8e8f0000 */ lw $t7,0x0($s4) /* f0bc4ac: 44808000 */ mtc1 $zero,$f16 @@ -11463,7 +11463,7 @@ glabel var7f1ad6ac /* f0bc5d8: 46023482 */ mul.s $f18,$f6,$f2 /* f0bc5dc: 460e9203 */ div.s $f8,$f18,$f14 /* f0bc5e0: e6840008 */ swc1 $f4,0x8($s4) -/* f0bc5e4: 0c005b11 */ jal mtx00015d54 +/* f0bc5e4: 0c005b11 */ jal mtx3ToMtx4 /* f0bc5e8: e688000c */ swc1 $f8,0xc($s4) /* f0bc5ec: 27b20130 */ addiu $s2,$sp,0x130 /* f0bc5f0: 02402825 */ or $a1,$s2,$zero @@ -11479,7 +11479,7 @@ glabel var7f1ad6ac /* f0bc618: 0fc25399 */ jal func0f096ed4 /* f0bc61c: 02002025 */ or $a0,$s0,$zero /* f0bc620: 02402025 */ or $a0,$s2,$zero -/* f0bc624: 0c005b24 */ jal mtx00015da0 +/* f0bc624: 0c005b24 */ jal mtx4ToMtx3 /* f0bc628: 27a502bc */ addiu $a1,$sp,0x2bc /* f0bc62c: c7a002ac */ lwc1 $f0,0x2ac($sp) /* f0bc630: c7aa02bc */ lwc1 $f10,0x2bc($sp) @@ -13086,7 +13086,7 @@ glabel var7f1ad6ac // // e8b0 // func0f097738(sp348, sp332, sp316); // func0f096ed4(sp316, sp508); -// mtx00015b10(sp508, &projectile->unk04); +// mtx4RotateVecInPlace(sp508, &projectile->unk04); // // projectile->unkb2 = 0xffff; // projectile->flags |= PROJECTILEFLAG_00004000; @@ -13134,11 +13134,11 @@ glabel var7f1ad6ac // projectile->unk04.z = (projectile->unk04.z * newspeed) / prevspeed; // // // ea10 -// mtx00015d54(sp696, sp444); +// mtx3ToMtx4(sp696, sp444); // func0f097044(sp444, sp300); // func0f097738(sp316, sp300, sp284); // func0f096ed4(sp284, sp380); -// mtx00015da0(sp380, sp696); +// mtx4ToMtx3(sp380, sp696); // // rocket->base.realrot[0] = sp696[0] * sp680; // rocket->base.realrot[1] = sp696[1] * sp680; @@ -13944,7 +13944,7 @@ void currentPlayerSetGlobalDrawCameraOffset(void) g_Vars.currentplayer->globaldrawcameraoffset.y = g_Vars.currentplayer->globaldrawworldoffset.y; g_Vars.currentplayer->globaldrawcameraoffset.z = g_Vars.currentplayer->globaldrawworldoffset.z; - mtx00015b10(currentPlayerGetMatrix1740(), &g_Vars.currentplayer->globaldrawcameraoffset); + mtx4RotateVecInPlace(currentPlayerGetMatrix1740(), &g_Vars.currentplayer->globaldrawcameraoffset); } GLOBAL_ASM( @@ -14089,7 +14089,7 @@ glabel func0f0bfc7c /* f0bfea0: 00408025 */ or $s0,$v0,$zero /* f0bfea4: 00402025 */ or $a0,$v0,$zero /* f0bfea8: 27a5008c */ addiu $a1,$sp,0x8c -/* f0bfeac: 0c005680 */ jal mtx00015a00 +/* f0bfeac: 0c005680 */ jal mtx4MultMtx4 /* f0bfeb0: 02003025 */ or $a2,$s0,$zero /* f0bfeb4: 3c01c6fa */ lui $at,0xc6fa /* f0bfeb8: 44816000 */ mtc1 $at,$f12 @@ -14224,7 +14224,7 @@ glabel func0f0bfc7c // // s1 = gfxAllocateMatrix(); // s0 = gfxAllocateMatrix(); -// mtx00015a00(currentPlayerGetUnk1754(), &sp8c, s0); +// mtx4MultMtx4(currentPlayerGetUnk1754(), &sp8c, s0); // // for (i = 0; i < 4; i++) { // for (j = 0; j < 4; j++) { diff --git a/src/game/game_0e0770.c b/src/game/game_0e0770.c index fb34114d1..55ffdfc7a 100644 --- a/src/game/game_0e0770.c +++ b/src/game/game_0e0770.c @@ -985,7 +985,7 @@ glabel func0f0e0cbc /* f0e0d4c: a6180004 */ sh $t8,0x4($s0) /* f0e0d50: a2000007 */ sb $zero,0x7($s0) /* f0e0d54: 8fa40044 */ lw $a0,0x44($sp) -/* f0e0d58: 0c0056d9 */ jal mtx00015b64 +/* f0e0d58: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0e0d5c: 27a50024 */ addiu $a1,$sp,0x24 /* f0e0d60: 3c014200 */ lui $at,0x4200 /* f0e0d64: 44810000 */ mtc1 $at,$f0 @@ -5986,7 +5986,7 @@ glabel func0f0e5000 /* f0e5698: 3c0c0008 */ lui $t4,0x8 /* f0e569c: 02002025 */ or $a0,$s0,$zero /* f0e56a0: ad2c0004 */ sw $t4,0x4($t1) -/* f0e56a4: 0c00566c */ jal mtx000159b0 +/* f0e56a4: 0c00566c */ jal mtx4LoadIdentity /* f0e56a8: ad2b0000 */ sw $t3,0x0($t1) /* f0e56ac: 0fc59e66 */ jal gfxAllocateMatrix /* f0e56b0: 00000000 */ nop @@ -6853,7 +6853,7 @@ glabel func0f0e5000 /* f0e5698: 3c0c0008 */ lui $t4,0x8 /* f0e569c: 02002025 */ or $a0,$s0,$zero /* f0e56a0: ad2c0004 */ sw $t4,0x4($t1) -/* f0e56a4: 0c00566c */ jal mtx000159b0 +/* f0e56a4: 0c00566c */ jal mtx4LoadIdentity /* f0e56a8: ad2b0000 */ sw $t3,0x0($t1) /* f0e56ac: 0fc59e66 */ jal gfxAllocateMatrix /* f0e56b0: 00000000 */ nop diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 6aad6ff4c..632a8ba81 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -6623,7 +6623,7 @@ glabel var7f1b3c40pf /* f0f46b4: 46065403 */ div.s $f16,$f10,$f6 /* f0f46b8: e7b002f8 */ swc1 $f16,0x2f8($sp) .PF0f0f46bc: -/* f0f46bc: 0c0055d0 */ jal mtx000159b0 +/* f0f46bc: 0c0055d0 */ jal mtx4LoadIdentity /* f0f46c0: 27a40350 */ addiu $a0,$sp,0x350 /* f0f46c4: 8fad0448 */ lw $t5,0x448($sp) /* f0f46c8: 24010001 */ li $at,0x1 @@ -6757,7 +6757,7 @@ glabel var7f1b3c40pf /* f0f48a8: e6000528 */ swc1 $f0,0x528($s0) /* f0f48ac: e7a20398 */ swc1 $f2,0x398($sp) /* f0f48b0: e7ac039c */ swc1 $f12,0x39c($sp) -/* f0f48b4: 0c005887 */ jal mtx0001648c +/* f0f48b4: 0c005887 */ jal mtx4LoadRotation /* f0f48b8: e7a003a0 */ swc1 $f0,0x3a0($sp) /* f0f48bc: 100000b4 */ b .PF0f0f4b90 /* f0f48c0: 3c01c2c8 */ lui $at,0xc2c8 @@ -6915,7 +6915,7 @@ glabel var7f1b3c40pf /* f0f4b04: e6000528 */ swc1 $f0,0x528($s0) /* f0f4b08: e7a20398 */ swc1 $f2,0x398($sp) /* f0f4b0c: e7ac039c */ swc1 $f12,0x39c($sp) -/* f0f4b10: 0c005887 */ jal mtx0001648c +/* f0f4b10: 0c005887 */ jal mtx4LoadRotation /* f0f4b14: e7a003a0 */ swc1 $f0,0x3a0($sp) /* f0f4b18: 8e0205b0 */ lw $v0,0x5b0($s0) /* f0f4b1c: 00025300 */ sll $t2,$v0,0xc @@ -6945,7 +6945,7 @@ glabel var7f1b3c40pf /* f0f4b78: e6000528 */ swc1 $f0,0x528($s0) /* f0f4b7c: e7a20398 */ swc1 $f2,0x398($sp) /* f0f4b80: e7ac039c */ swc1 $f12,0x39c($sp) -/* f0f4b84: 0c005887 */ jal mtx0001648c +/* f0f4b84: 0c005887 */ jal mtx4LoadRotation /* f0f4b88: e7a003a0 */ swc1 $f0,0x3a0($sp) /* f0f4b8c: 3c01c2c8 */ lui $at,0xc2c8 .PF0f0f4b90: @@ -7017,7 +7017,7 @@ glabel var7f1b3c40pf /* f0f4c88: 27a50398 */ addiu $a1,$sp,0x398 /* f0f4c8c: 0fc2d457 */ jal func0f0b4c3c /* f0f4c90: 3c063f80 */ lui $a2,0x3f80 -/* f0f4c94: 0c0055d0 */ jal mtx000159b0 +/* f0f4c94: 0c0055d0 */ jal mtx4LoadIdentity /* f0f4c98: 27a40310 */ addiu $a0,$sp,0x310 /* f0f4c9c: 8e0205b4 */ lw $v0,0x5b4($s0) /* f0f4ca0: 5040001d */ beqzl $v0,.PF0f0f4d18 @@ -7118,7 +7118,7 @@ glabel var7f1b3c40pf .PF0f0f4dfc: /* f0f4dfc: 02203025 */ move $a2,$s1 /* f0f4e00: 27a40310 */ addiu $a0,$sp,0x310 -/* f0f4e04: 0c0055e4 */ jal mtx00015a00 +/* f0f4e04: 0c0055e4 */ jal mtx4MultMtx4 /* f0f4e08: 27a50350 */ addiu $a1,$sp,0x350 /* f0f4e0c: 8fb90448 */ lw $t9,0x448($sp) /* f0f4e10: 24010003 */ li $at,0x3 @@ -7128,12 +7128,12 @@ glabel var7f1b3c40pf /* f0f4e20: 27a401c4 */ addiu $a0,$sp,0x1c4 /* f0f4e24: 27a401c4 */ addiu $a0,$sp,0x1c4 /* f0f4e28: 02202825 */ move $a1,$s1 -/* f0f4e2c: 0c0055e4 */ jal mtx00015a00 +/* f0f4e2c: 0c0055e4 */ jal mtx4MultMtx4 /* f0f4e30: 27a60184 */ addiu $a2,$sp,0x184 /* f0f4e34: 26060014 */ addiu $a2,$s0,0x14 /* f0f4e38: afa60040 */ sw $a2,0x40($sp) /* f0f4e3c: 27a40184 */ addiu $a0,$sp,0x184 -/* f0f4e40: 0c0055e4 */ jal mtx00015a00 +/* f0f4e40: 0c0055e4 */ jal mtx4MultMtx4 /* f0f4e44: 27a50204 */ addiu $a1,$sp,0x204 /* f0f4e48: 10000006 */ b .PF0f0f4e64 /* f0f4e4c: 00000000 */ nop @@ -7141,7 +7141,7 @@ glabel var7f1b3c40pf .PF0f0f4e54: /* f0f4e54: afa60040 */ sw $a2,0x40($sp) /* f0f4e58: 02202025 */ move $a0,$s1 -/* f0f4e5c: 0c0055e4 */ jal mtx00015a00 +/* f0f4e5c: 0c0055e4 */ jal mtx4MultMtx4 /* f0f4e60: 27a50204 */ addiu $a1,$sp,0x204 .PF0f0f4e64: /* f0f4e64: 0fc38a89 */ jal func0f0e2348 @@ -7279,7 +7279,7 @@ glabel var7f1b3c40pf /* f0f5060: 8faf03b4 */ lw $t7,0x3b4($sp) .PF0f0f5064: /* f0f5064: 00116180 */ sll $t4,$s1,0x6 -/* f0f5068: 0c0055d0 */ jal mtx000159b0 +/* f0f5068: 0c0055d0 */ jal mtx4LoadIdentity /* f0f506c: 018f2021 */ addu $a0,$t4,$t7 /* f0f5070: 8e190054 */ lw $t9,0x54($s0) /* f0f5074: 26310001 */ addiu $s1,$s1,0x1 @@ -7376,7 +7376,7 @@ glabel var7f1b3c40pf .PF0f0f51c4: /* f0f51c4: 8fa40040 */ lw $a0,0x40($sp) .PF0f0f51c8: -/* f0f51c8: 0c0056aa */ jal mtx00015d18 +/* f0f51c8: 0c0056aa */ jal mtx4Copy /* f0f51cc: 8fa503b4 */ lw $a1,0x3b4($sp) /* f0f51d0: 8faa0040 */ lw $t2,0x40($sp) /* f0f51d4: 27a403b8 */ addiu $a0,$sp,0x3b8 @@ -7455,14 +7455,14 @@ glabel var7f1b3c40pf /* f0f52e8: 0c0068ad */ jal model0001a524 /* f0f52ec: 00002825 */ move $a1,$zero /* f0f52f0: afa20160 */ sw $v0,0x160($sp) -/* f0f52f4: 0c0055d0 */ jal mtx000159b0 +/* f0f52f4: 0c0055d0 */ jal mtx4LoadIdentity /* f0f52f8: 27a40120 */ addiu $a0,$sp,0x120 /* f0f52fc: 3c014080 */ lui $at,0x4080 /* f0f5300: 44816000 */ mtc1 $at,$f12 /* f0f5304: 0fc01ad1 */ jal func0f006b54 /* f0f5308: 00000000 */ nop /* f0f530c: 46000306 */ mov.s $f12,$f0 -/* f0f5310: 0c00581e */ jal mtx000162e8 +/* f0f5310: 0c00581e */ jal mtx4LoadXRotation /* f0f5314: 27a50120 */ addiu $a1,$sp,0x120 /* f0f5318: 8fac0160 */ lw $t4,0x160($sp) /* f0f531c: 8fab03b4 */ lw $t3,0x3b4($sp) @@ -7471,10 +7471,10 @@ glabel var7f1b3c40pf /* f0f5328: 016f3821 */ addu $a3,$t3,$t7 /* f0f532c: 00e02025 */ move $a0,$a3 /* f0f5330: afa70040 */ sw $a3,0x40($sp) -/* f0f5334: 0c0055e4 */ jal mtx00015a00 +/* f0f5334: 0c0055e4 */ jal mtx4MultMtx4 /* f0f5338: 27a600e0 */ addiu $a2,$sp,0xe0 /* f0f533c: 8fa50040 */ lw $a1,0x40($sp) -/* f0f5340: 0c0056aa */ jal mtx00015d18 +/* f0f5340: 0c0056aa */ jal mtx4Copy /* f0f5344: 27a400e0 */ addiu $a0,$sp,0xe0 .PF0f0f5348: /* f0f5348: 8e040054 */ lw $a0,0x54($s0) @@ -7631,7 +7631,7 @@ glabel var7f1b3c40pf .PF0f0f5588: /* f0f5588: afa20040 */ sw $v0,0x40($sp) /* f0f558c: 27a50070 */ addiu $a1,$sp,0x70 -/* f0f5590: 0c0056aa */ jal mtx00015d18 +/* f0f5590: 0c0056aa */ jal mtx4Copy /* f0f5594: 01622021 */ addu $a0,$t3,$v0 /* f0f5598: 8e0f006c */ lw $t7,0x6c($s0) /* f0f559c: 0011c980 */ sll $t9,$s1,0x6 @@ -8225,7 +8225,7 @@ glabel var7f1b2948 /* f0f3f60: 46082283 */ div.s $f10,$f4,$f8 /* f0f3f64: e7aa02f8 */ swc1 $f10,0x2f8($sp) .L0f0f3f68: -/* f0f3f68: 0c00566c */ jal mtx000159b0 +/* f0f3f68: 0c00566c */ jal mtx4LoadIdentity /* f0f3f6c: 27a40350 */ addiu $a0,$sp,0x350 /* f0f3f70: 8fb90448 */ lw $t9,0x448($sp) /* f0f3f74: 24010001 */ addiu $at,$zero,0x1 @@ -8366,7 +8366,7 @@ glabel var7f1b2948 /* f0f416c: e6000528 */ swc1 $f0,0x528($s0) /* f0f4170: e7a20398 */ swc1 $f2,0x398($sp) /* f0f4174: e7ac039c */ swc1 $f12,0x39c($sp) -/* f0f4178: 0c005923 */ jal mtx0001648c +/* f0f4178: 0c005923 */ jal mtx4LoadRotation /* f0f417c: e7a003a0 */ swc1 $f0,0x3a0($sp) /* f0f4180: 100000b4 */ b .L0f0f4454 /* f0f4184: 3c01c2c8 */ lui $at,0xc2c8 @@ -8524,7 +8524,7 @@ glabel var7f1b2948 /* f0f43c8: e6000528 */ swc1 $f0,0x528($s0) /* f0f43cc: e7a20398 */ swc1 $f2,0x398($sp) /* f0f43d0: e7ac039c */ swc1 $f12,0x39c($sp) -/* f0f43d4: 0c005923 */ jal mtx0001648c +/* f0f43d4: 0c005923 */ jal mtx4LoadRotation /* f0f43d8: e7a003a0 */ swc1 $f0,0x3a0($sp) /* f0f43dc: 8e0205b0 */ lw $v0,0x5b0($s0) /* f0f43e0: 00027b00 */ sll $t7,$v0,0xc @@ -8554,7 +8554,7 @@ glabel var7f1b2948 /* f0f443c: e6000528 */ swc1 $f0,0x528($s0) /* f0f4440: e7a20398 */ swc1 $f2,0x398($sp) /* f0f4444: e7ac039c */ swc1 $f12,0x39c($sp) -/* f0f4448: 0c005923 */ jal mtx0001648c +/* f0f4448: 0c005923 */ jal mtx4LoadRotation /* f0f444c: e7a003a0 */ swc1 $f0,0x3a0($sp) .L0f0f4450: /* f0f4450: 3c01c2c8 */ lui $at,0xc2c8 @@ -8630,7 +8630,7 @@ glabel var7f1b2948 /* f0f4558: 27a50398 */ addiu $a1,$sp,0x398 /* f0f455c: 0fc2d30f */ jal func0f0b4c3c /* f0f4560: 3c063f80 */ lui $a2,0x3f80 -/* f0f4564: 0c00566c */ jal mtx000159b0 +/* f0f4564: 0c00566c */ jal mtx4LoadIdentity /* f0f4568: 27a40310 */ addiu $a0,$sp,0x310 /* f0f456c: 8e0205b4 */ lw $v0,0x5b4($s0) /* f0f4570: 5040001d */ beqzl $v0,.L0f0f45e8 @@ -8731,7 +8731,7 @@ glabel var7f1b2948 .L0f0f46cc: /* f0f46cc: 02203025 */ or $a2,$s1,$zero /* f0f46d0: 27a40310 */ addiu $a0,$sp,0x310 -/* f0f46d4: 0c005680 */ jal mtx00015a00 +/* f0f46d4: 0c005680 */ jal mtx4MultMtx4 /* f0f46d8: 27a50350 */ addiu $a1,$sp,0x350 /* f0f46dc: 8fae0448 */ lw $t6,0x448($sp) /* f0f46e0: 24010003 */ addiu $at,$zero,0x3 @@ -8741,12 +8741,12 @@ glabel var7f1b2948 /* f0f46f0: 27a401c4 */ addiu $a0,$sp,0x1c4 /* f0f46f4: 27a401c4 */ addiu $a0,$sp,0x1c4 /* f0f46f8: 02202825 */ or $a1,$s1,$zero -/* f0f46fc: 0c005680 */ jal mtx00015a00 +/* f0f46fc: 0c005680 */ jal mtx4MultMtx4 /* f0f4700: 27a60184 */ addiu $a2,$sp,0x184 /* f0f4704: 26060014 */ addiu $a2,$s0,0x14 /* f0f4708: afa60040 */ sw $a2,0x40($sp) /* f0f470c: 27a40184 */ addiu $a0,$sp,0x184 -/* f0f4710: 0c005680 */ jal mtx00015a00 +/* f0f4710: 0c005680 */ jal mtx4MultMtx4 /* f0f4714: 27a50204 */ addiu $a1,$sp,0x204 /* f0f4718: 10000006 */ b .L0f0f4734 /* f0f471c: 00000000 */ nop @@ -8754,7 +8754,7 @@ glabel var7f1b2948 .L0f0f4724: /* f0f4724: afa60040 */ sw $a2,0x40($sp) /* f0f4728: 02202025 */ or $a0,$s1,$zero -/* f0f472c: 0c005680 */ jal mtx00015a00 +/* f0f472c: 0c005680 */ jal mtx4MultMtx4 /* f0f4730: 27a50204 */ addiu $a1,$sp,0x204 .L0f0f4734: /* f0f4734: 0fc388d2 */ jal func0f0e2348 @@ -8892,7 +8892,7 @@ glabel var7f1b2948 /* f0f4930: 8faf03b4 */ lw $t7,0x3b4($sp) .L0f0f4934: /* f0f4934: 00116180 */ sll $t4,$s1,0x6 -/* f0f4938: 0c00566c */ jal mtx000159b0 +/* f0f4938: 0c00566c */ jal mtx4LoadIdentity /* f0f493c: 018f2021 */ addu $a0,$t4,$t7 /* f0f4940: 8e180054 */ lw $t8,0x54($s0) /* f0f4944: 26310001 */ addiu $s1,$s1,0x1 @@ -8989,7 +8989,7 @@ glabel var7f1b2948 .L0f0f4a94: /* f0f4a94: 8fa40040 */ lw $a0,0x40($sp) .L0f0f4a98: -/* f0f4a98: 0c005746 */ jal mtx00015d18 +/* f0f4a98: 0c005746 */ jal mtx4Copy /* f0f4a9c: 8fa503b4 */ lw $a1,0x3b4($sp) /* f0f4aa0: 8fac0040 */ lw $t4,0x40($sp) /* f0f4aa4: 27a403b8 */ addiu $a0,$sp,0x3b8 @@ -9065,14 +9065,14 @@ glabel var7f1b2948 /* f0f4ba8: 0c006949 */ jal model0001a524 /* f0f4bac: 00002825 */ or $a1,$zero,$zero /* f0f4bb0: afa20160 */ sw $v0,0x160($sp) -/* f0f4bb4: 0c00566c */ jal mtx000159b0 +/* f0f4bb4: 0c00566c */ jal mtx4LoadIdentity /* f0f4bb8: 27a40120 */ addiu $a0,$sp,0x120 /* f0f4bbc: 3c014080 */ lui $at,0x4080 /* f0f4bc0: 44816000 */ mtc1 $at,$f12 /* f0f4bc4: 0fc01ad5 */ jal func0f006b54 /* f0f4bc8: 00000000 */ nop /* f0f4bcc: 46000306 */ mov.s $f12,$f0 -/* f0f4bd0: 0c0058ba */ jal mtx000162e8 +/* f0f4bd0: 0c0058ba */ jal mtx4LoadXRotation /* f0f4bd4: 27a50120 */ addiu $a1,$sp,0x120 /* f0f4bd8: 8faa0160 */ lw $t2,0x160($sp) /* f0f4bdc: 8fb903b4 */ lw $t9,0x3b4($sp) @@ -9081,10 +9081,10 @@ glabel var7f1b2948 /* f0f4be8: 032b3821 */ addu $a3,$t9,$t3 /* f0f4bec: 00e02025 */ or $a0,$a3,$zero /* f0f4bf0: afa70040 */ sw $a3,0x40($sp) -/* f0f4bf4: 0c005680 */ jal mtx00015a00 +/* f0f4bf4: 0c005680 */ jal mtx4MultMtx4 /* f0f4bf8: 27a600e0 */ addiu $a2,$sp,0xe0 /* f0f4bfc: 8fa50040 */ lw $a1,0x40($sp) -/* f0f4c00: 0c005746 */ jal mtx00015d18 +/* f0f4c00: 0c005746 */ jal mtx4Copy /* f0f4c04: 27a400e0 */ addiu $a0,$sp,0xe0 .L0f0f4c08: /* f0f4c08: 8e040054 */ lw $a0,0x54($s0) @@ -9240,7 +9240,7 @@ glabel var7f1b2948 .L0f0f4e44: /* f0f4e44: afa20040 */ sw $v0,0x40($sp) /* f0f4e48: 27a50070 */ addiu $a1,$sp,0x70 -/* f0f4e4c: 0c005746 */ jal mtx00015d18 +/* f0f4e4c: 0c005746 */ jal mtx4Copy /* f0f4e50: 01e22021 */ addu $a0,$t7,$v0 /* f0f4e54: 8e18006c */ lw $t8,0x6c($s0) /* f0f4e58: 00115180 */ sll $t2,$s1,0x6 @@ -9834,7 +9834,7 @@ glabel var7f1b2948 /* f0f0aa4: 46082283 */ div.s $f10,$f4,$f8 /* f0f0aa8: e7aa0320 */ swc1 $f10,0x320($sp) .NB0f0f0aac: -/* f0f0aac: 0c005a28 */ jal mtx000159b0 +/* f0f0aac: 0c005a28 */ jal mtx4LoadIdentity /* f0f0ab0: 27a40378 */ addiu $a0,$sp,0x378 /* f0f0ab4: 8fb90470 */ lw $t9,0x470($sp) /* f0f0ab8: 24010001 */ addiu $at,$zero,0x1 @@ -9975,7 +9975,7 @@ glabel var7f1b2948 /* f0f0cb0: e6200528 */ swc1 $f0,0x528($s1) /* f0f0cb4: e7a203c0 */ swc1 $f2,0x3c0($sp) /* f0f0cb8: e7ac03c4 */ swc1 $f12,0x3c4($sp) -/* f0f0cbc: 0c005d07 */ jal mtx0001648c +/* f0f0cbc: 0c005d07 */ jal mtx4LoadRotation /* f0f0cc0: e7a003c8 */ swc1 $f0,0x3c8($sp) /* f0f0cc4: 100000b4 */ beqz $zero,.NB0f0f0f98 /* f0f0cc8: 3c01c2c8 */ lui $at,0xc2c8 @@ -10133,7 +10133,7 @@ glabel var7f1b2948 /* f0f0f0c: e6200528 */ swc1 $f0,0x528($s1) /* f0f0f10: e7a203c0 */ swc1 $f2,0x3c0($sp) /* f0f0f14: e7ac03c4 */ swc1 $f12,0x3c4($sp) -/* f0f0f18: 0c005d07 */ jal mtx0001648c +/* f0f0f18: 0c005d07 */ jal mtx4LoadRotation /* f0f0f1c: e7a003c8 */ swc1 $f0,0x3c8($sp) /* f0f0f20: 8e2205b0 */ lw $v0,0x5b0($s1) /* f0f0f24: 00027b00 */ sll $t7,$v0,0xc @@ -10163,7 +10163,7 @@ glabel var7f1b2948 /* f0f0f80: e6200528 */ swc1 $f0,0x528($s1) /* f0f0f84: e7a203c0 */ swc1 $f2,0x3c0($sp) /* f0f0f88: e7ac03c4 */ swc1 $f12,0x3c4($sp) -/* f0f0f8c: 0c005d07 */ jal mtx0001648c +/* f0f0f8c: 0c005d07 */ jal mtx4LoadRotation /* f0f0f90: e7a003c8 */ swc1 $f0,0x3c8($sp) .NB0f0f0f94: /* f0f0f94: 3c01c2c8 */ lui $at,0xc2c8 @@ -10239,7 +10239,7 @@ glabel var7f1b2948 /* f0f109c: 27a503c0 */ addiu $a1,$sp,0x3c0 /* f0f10a0: 0fc2ca67 */ jal func0f0b4c3c /* f0f10a4: 3c063f80 */ lui $a2,0x3f80 -/* f0f10a8: 0c005a28 */ jal mtx000159b0 +/* f0f10a8: 0c005a28 */ jal mtx4LoadIdentity /* f0f10ac: 27a40338 */ addiu $a0,$sp,0x338 /* f0f10b0: 8e2205b4 */ lw $v0,0x5b4($s1) /* f0f10b4: 5040001d */ beqzl $v0,.NB0f0f112c @@ -10365,7 +10365,7 @@ glabel var7f1b2948 .NB0f0f1270: /* f0f1270: 02003025 */ or $a2,$s0,$zero /* f0f1274: 27a40338 */ addiu $a0,$sp,0x338 -/* f0f1278: 0c005a3c */ jal mtx00015a00 +/* f0f1278: 0c005a3c */ jal mtx4MultMtx4 /* f0f127c: 27a50378 */ addiu $a1,$sp,0x378 /* f0f1280: 8fb90470 */ lw $t9,0x470($sp) /* f0f1284: 24010003 */ addiu $at,$zero,0x3 @@ -10375,12 +10375,12 @@ glabel var7f1b2948 /* f0f1294: 27a401c8 */ addiu $a0,$sp,0x1c8 /* f0f1298: 27a401c8 */ addiu $a0,$sp,0x1c8 /* f0f129c: 02002825 */ or $a1,$s0,$zero -/* f0f12a0: 0c005a3c */ jal mtx00015a00 +/* f0f12a0: 0c005a3c */ jal mtx4MultMtx4 /* f0f12a4: 27a60188 */ addiu $a2,$sp,0x188 /* f0f12a8: 26260014 */ addiu $a2,$s1,0x14 /* f0f12ac: afa60044 */ sw $a2,0x44($sp) /* f0f12b0: 27a40188 */ addiu $a0,$sp,0x188 -/* f0f12b4: 0c005a3c */ jal mtx00015a00 +/* f0f12b4: 0c005a3c */ jal mtx4MultMtx4 /* f0f12b8: 27a50208 */ addiu $a1,$sp,0x208 /* f0f12bc: 10000006 */ beqz $zero,.NB0f0f12d8 /* f0f12c0: 00000000 */ sll $zero,$zero,0x0 @@ -10388,7 +10388,7 @@ glabel var7f1b2948 .NB0f0f12c8: /* f0f12c8: afa60044 */ sw $a2,0x44($sp) /* f0f12cc: 02002025 */ or $a0,$s0,$zero -/* f0f12d0: 0c005a3c */ jal mtx00015a00 +/* f0f12d0: 0c005a3c */ jal mtx4MultMtx4 /* f0f12d4: 27a50208 */ addiu $a1,$sp,0x208 .NB0f0f12d8: /* f0f12d8: 0fc37df7 */ jal func0f0e2348 @@ -10526,7 +10526,7 @@ glabel var7f1b2948 /* f0f14d4: 8fad03dc */ lw $t5,0x3dc($sp) .NB0f0f14d8: /* f0f14d8: 00105980 */ sll $t3,$s0,0x6 -/* f0f14dc: 0c005a28 */ jal mtx000159b0 +/* f0f14dc: 0c005a28 */ jal mtx4LoadIdentity /* f0f14e0: 016d2021 */ addu $a0,$t3,$t5 /* f0f14e4: 8e2e0054 */ lw $t6,0x54($s1) /* f0f14e8: 26100001 */ addiu $s0,$s0,0x1 @@ -10623,7 +10623,7 @@ glabel var7f1b2948 .NB0f0f1638: /* f0f1638: 8fa40044 */ lw $a0,0x44($sp) .NB0f0f163c: -/* f0f163c: 0c005b02 */ jal mtx00015d18 +/* f0f163c: 0c005b02 */ jal mtx4Copy /* f0f1640: 8fa503dc */ lw $a1,0x3dc($sp) /* f0f1644: 8fab0044 */ lw $t3,0x44($sp) /* f0f1648: 27a403e0 */ addiu $a0,$sp,0x3e0 @@ -10699,14 +10699,14 @@ glabel var7f1b2948 /* f0f174c: 0c006da5 */ jal model0001a524 /* f0f1750: 00002825 */ or $a1,$zero,$zero /* f0f1754: afa20164 */ sw $v0,0x164($sp) -/* f0f1758: 0c005a28 */ jal mtx000159b0 +/* f0f1758: 0c005a28 */ jal mtx4LoadIdentity /* f0f175c: 27a40124 */ addiu $a0,$sp,0x124 /* f0f1760: 3c014080 */ lui $at,0x4080 /* f0f1764: 44816000 */ mtc1 $at,$f12 /* f0f1768: 0fc019fe */ jal func0f006b54 /* f0f176c: 00000000 */ sll $zero,$zero,0x0 /* f0f1770: 46000306 */ mov.s $f12,$f0 -/* f0f1774: 0c005c9e */ jal mtx000162e8 +/* f0f1774: 0c005c9e */ jal mtx4LoadXRotation /* f0f1778: 27a50124 */ addiu $a1,$sp,0x124 /* f0f177c: 8faf0164 */ lw $t7,0x164($sp) /* f0f1780: 8fac03dc */ lw $t4,0x3dc($sp) @@ -10715,10 +10715,10 @@ glabel var7f1b2948 /* f0f178c: 01983821 */ addu $a3,$t4,$t8 /* f0f1790: 00e02025 */ or $a0,$a3,$zero /* f0f1794: afa70044 */ sw $a3,0x44($sp) -/* f0f1798: 0c005a3c */ jal mtx00015a00 +/* f0f1798: 0c005a3c */ jal mtx4MultMtx4 /* f0f179c: 27a600e4 */ addiu $a2,$sp,0xe4 /* f0f17a0: 8fa50044 */ lw $a1,0x44($sp) -/* f0f17a4: 0c005b02 */ jal mtx00015d18 +/* f0f17a4: 0c005b02 */ jal mtx4Copy /* f0f17a8: 27a400e4 */ addiu $a0,$sp,0xe4 .NB0f0f17ac: /* f0f17ac: 8e240054 */ lw $a0,0x54($s1) @@ -10874,7 +10874,7 @@ glabel var7f1b2948 .NB0f0f19e8: /* f0f19e8: afa20044 */ sw $v0,0x44($sp) /* f0f19ec: 27a50074 */ addiu $a1,$sp,0x74 -/* f0f19f0: 0c005b02 */ jal mtx00015d18 +/* f0f19f0: 0c005b02 */ jal mtx4Copy /* f0f19f4: 01a22021 */ addu $a0,$t5,$v0 /* f0f19f8: 8e2e006c */ lw $t6,0x6c($s1) /* f0f19fc: 00107980 */ sll $t7,$s0,0x6 @@ -31132,7 +31132,7 @@ void func0f0fd494(struct coord *pos) matrix = currentPlayerGetMatrix1740(); - mtx00015b68(matrix, pos, &coord); + mtx4TransformVec(matrix, pos, &coord); func0f0b4d04(&coord, xy); g_MenuData.unk670 = (s32)xy[0] - viGetWidth() / 2; diff --git a/src/game/game_11f000.c b/src/game/game_11f000.c index c8aaf7794..1fb926f94 100644 --- a/src/game/game_11f000.c +++ b/src/game/game_11f000.c @@ -77,7 +77,7 @@ glabel func0f11f000 /* f11f058: 0fc2d30f */ jal func0f0b4c3c /* f11f05c: e7a40020 */ swc1 $f4,0x20($sp) /* f11f060: 8fa40024 */ lw $a0,0x24($sp) -/* f11f064: 0c0056c4 */ jal mtx00015b10 +/* f11f064: 0c0056c4 */ jal mtx4RotateVecInPlace /* f11f068: 8fa50030 */ lw $a1,0x30($sp) /* f11f06c: 8fbf0014 */ lw $ra,0x14($sp) /* f11f070: 27bd0028 */ addiu $sp,$sp,0x28 @@ -2168,7 +2168,7 @@ glabel var7f1b50c8 /* f120e04: 00408025 */ or $s0,$v0,$zero /* f120e08: 02002025 */ or $a0,$s0,$zero /* f120e0c: 00402825 */ or $a1,$v0,$zero -/* f120e10: 0c005680 */ jal mtx00015a00 +/* f120e10: 0c005680 */ jal mtx4MultMtx4 /* f120e14: 27a603cc */ addiu $a2,$sp,0x3cc /* f120e18: 3c013f80 */ lui $at,0x3f80 /* f120e1c: 44813000 */ mtc1 $at,$f6 @@ -2183,7 +2183,7 @@ glabel var7f1b50c8 /* f120e40: 3c05800a */ lui $a1,%hi(var800a33a8) /* f120e44: 24a533a8 */ addiu $a1,$a1,%lo(var800a33a8) /* f120e48: 27a403cc */ addiu $a0,$sp,0x3cc -/* f120e4c: 0c005680 */ jal mtx00015a00 +/* f120e4c: 0c005680 */ jal mtx4MultMtx4 /* f120e50: 27a6038c */ addiu $a2,$sp,0x38c /* f120e54: 1a20004e */ blez $s1,.L0f120f90 /* f120e58: afa00270 */ sw $zero,0x270($sp) @@ -3610,7 +3610,7 @@ glabel var7f1b50c8 /* f122448: 00408025 */ or $s0,$v0,$zero /* f12244c: 02002025 */ or $a0,$s0,$zero /* f122450: 00402825 */ or $a1,$v0,$zero -/* f122454: 0c005680 */ jal mtx00015a00 +/* f122454: 0c005680 */ jal mtx4MultMtx4 /* f122458: 27a601ec */ addiu $a2,$sp,0x1ec /* f12245c: c7a60064 */ lwc1 $f6,0x64($sp) /* f122460: 3c04800a */ lui $a0,%hi(var800a33a8) @@ -3623,7 +3623,7 @@ glabel var7f1b50c8 /* f12247c: 3c05800a */ lui $a1,%hi(var800a33a8) /* f122480: 24a533a8 */ addiu $a1,$a1,%lo(var800a33a8) /* f122484: 27a401ec */ addiu $a0,$sp,0x1ec -/* f122488: 0c005680 */ jal mtx00015a00 +/* f122488: 0c005680 */ jal mtx4MultMtx4 /* f12248c: 27a601ac */ addiu $a2,$sp,0x1ac /* f122490: 1a200036 */ blez $s1,.L0f12256c /* f122494: afa00090 */ sw $zero,0x90($sp) @@ -7358,10 +7358,10 @@ glabel var7f1b5108 /* f1266a4: 92cb0003 */ lbu $t3,0x3($s6) /* f1266a8: 158001d2 */ bnez $t4,.PF0f126df4 /* f1266ac: a3ab014a */ sb $t3,0x14a($sp) -/* f1266b0: 0c00563d */ jal mtx00015b64 +/* f1266b0: 0c00563d */ jal mtx4TransformVecInPlace /* f1266b4: 02802825 */ move $a1,$s4 /* f1266b8: 8fa40168 */ lw $a0,0x168($sp) -/* f1266bc: 0c00563d */ jal mtx00015b64 +/* f1266bc: 0c00563d */ jal mtx4TransformVecInPlace /* f1266c0: 02802825 */ move $a1,$s4 /* f1266c4: c6800008 */ lwc1 $f0,0x8($s4) /* f1266c8: 4600d03c */ c.lt.s $f26,$f0 @@ -7968,10 +7968,10 @@ glabel var7f1b5108 /* f125bc0: 92cc0003 */ lbu $t4,0x3($s6) /* f125bc4: 15a001d2 */ bnez $t5,.L0f126310 /* f125bc8: a3ac014a */ sb $t4,0x14a($sp) -/* f125bcc: 0c0056d9 */ jal mtx00015b64 +/* f125bcc: 0c0056d9 */ jal mtx4TransformVecInPlace /* f125bd0: 02802825 */ or $a1,$s4,$zero /* f125bd4: 8fa40168 */ lw $a0,0x168($sp) -/* f125bd8: 0c0056d9 */ jal mtx00015b64 +/* f125bd8: 0c0056d9 */ jal mtx4TransformVecInPlace /* f125bdc: 02802825 */ or $a1,$s4,$zero /* f125be0: c6800008 */ lwc1 $f0,0x8($s4) /* f125be4: 4600d03c */ c.lt.s $f26,$f0 @@ -9662,12 +9662,12 @@ glabel func0f126c3c /* f126c60: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f126c64: e7a4006c */ swc1 $f4,0x6c($sp) /* f126c68: 00402025 */ or $a0,$v0,$zero -/* f126c6c: 0c0056d9 */ jal mtx00015b64 +/* f126c6c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f126c70: 27a50064 */ addiu $a1,$sp,0x64 /* f126c74: 0fc2d5c6 */ jal currentPlayerGetUnk1754 /* f126c78: 00000000 */ nop /* f126c7c: 00402025 */ or $a0,$v0,$zero -/* f126c80: 0c0056d9 */ jal mtx00015b64 +/* f126c80: 0c0056d9 */ jal mtx4TransformVecInPlace /* f126c84: 27a50064 */ addiu $a1,$sp,0x64 /* f126c88: 3c013f80 */ lui $at,0x3f80 /* f126c8c: 44813000 */ mtc1 $at,$f6 @@ -9775,12 +9775,12 @@ glabel func0f126c3c /* f126c60: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f126c64: e7a4006c */ swc1 $f4,0x6c($sp) /* f126c68: 00402025 */ or $a0,$v0,$zero -/* f126c6c: 0c0056d9 */ jal mtx00015b64 +/* f126c6c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f126c70: 27a50064 */ addiu $a1,$sp,0x64 /* f126c74: 0fc2d5c6 */ jal currentPlayerGetUnk1754 /* f126c78: 00000000 */ nop /* f126c7c: 00402025 */ or $a0,$v0,$zero -/* f126c80: 0c0056d9 */ jal mtx00015b64 +/* f126c80: 0c0056d9 */ jal mtx4TransformVecInPlace /* f126c84: 27a50064 */ addiu $a1,$sp,0x64 /* f126c88: 3c013f80 */ lui $at,0x3f80 /* f126c8c: 44813000 */ mtc1 $at,$f6 @@ -10082,7 +10082,7 @@ glabel var7f1b513c /* f1270a8: 0fc25bb5 */ jal func0f096ed4 /* f1270ac: e7a600dc */ swc1 $f6,0xdc($sp) /* f1270b0: 02802025 */ or $a0,$s4,$zero -/* f1270b4: 0c0056c4 */ jal mtx00015b10 +/* f1270b4: 0c0056c4 */ jal mtx4RotateVecInPlace /* f1270b8: 02e02825 */ or $a1,$s7,$zero /* f1270bc: c7a000e0 */ lwc1 $f0,0xe0($sp) /* f1270c0: c7a200e4 */ lwc1 $f2,0xe4($sp) diff --git a/src/game/game_13c510.c b/src/game/game_13c510.c index 1b013d4d2..fb91c236f 100644 --- a/src/game/game_13c510.c +++ b/src/game/game_13c510.c @@ -327,7 +327,7 @@ glabel func0f13c780 /* f13c880: 00000000 */ nop /* f13c884: 00402025 */ or $a0,$v0,$zero /* f13c888: 02002825 */ or $a1,$s0,$zero -/* f13c88c: 0c005680 */ jal mtx00015a00 +/* f13c88c: 0c005680 */ jal mtx4MultMtx4 /* f13c890: 27a600f8 */ addiu $a2,$sp,0xf8 /* f13c894: 0c002f22 */ jal viGetViewWidth /* f13c898: 00000000 */ nop @@ -1514,7 +1514,7 @@ glabel func0f13d568 /* f13daf0: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f13daf4: 00000000 */ nop /* f13daf8: 00402025 */ or $a0,$v0,$zero -/* f13dafc: 0c0056c4 */ jal mtx00015b10 +/* f13dafc: 0c0056c4 */ jal mtx4RotateVecInPlace /* f13db00: 27a500e4 */ addiu $a1,$sp,0xe4 /* f13db04: 27a400e4 */ addiu $a0,$sp,0xe4 /* f13db08: 0fc2d341 */ jal func0f0b4d04 diff --git a/src/game/game_1668e0.c b/src/game/game_1668e0.c index e3da4da3d..688986049 100644 --- a/src/game/game_1668e0.c +++ b/src/game/game_1668e0.c @@ -59,7 +59,7 @@ void func0f166a6c(Mtxf *mtx, s32 roomnum) { s32 stagenum = g_Vars.stagenum; - mtx000159b0(mtx); + mtx4LoadIdentity(mtx); mtx->m[0][0] = 1; mtx->m[1][1] = 1; diff --git a/src/game/game_1999b0.c b/src/game/game_1999b0.c index e941fcc3a..09639cc6e 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -389,17 +389,17 @@ void func0f19a37c(struct chrdata *chr) sp228.y = sp152[1] * mult; sp228.z = sp152[2] * mult; - mtx000159b0(&sp164); + mtx4LoadIdentity(&sp164); if (chr->aibot->weaponnum == WEAPON_COMBATKNIFE) { - mtx00016400(M_BADPI * 1.5f, &sp164); - mtx000162e8(M_BADPI, &sp84); - mtx000159fc(&sp84, &sp164); + mtx4LoadZRotation(M_BADPI * 1.5f, &sp164); + mtx4LoadXRotation(M_BADPI, &sp84); + mtx4MultMtx4InPlace(&sp84, &sp164); } - mtx000162e8(0.34901028871536f, &sp84); + mtx4LoadXRotation(0.34901028871536f, &sp84); mtx00015be0(&sp84, &sp164); - mtx00016374(sp80, &sp84); + mtx4LoadYRotation(sp80, &sp84); mtx00015be0(&sp84, &sp164); bgun0f09ee18(chr, &gset, &prop->pos, prop->rooms, &sp164, &sp228); @@ -504,10 +504,10 @@ void aibotCreateSlayerRocket(struct chrdata *chr) sp100[1] = sinf(b); sp100[2] = cosf(b) * cosf(a); - mtx000162e8(b, &sp196); - mtx00016374(a, &sp132); + mtx4LoadXRotation(b, &sp196); + mtx4LoadYRotation(a, &sp132); mtx00015be0(&sp132, &sp196); - mtx000159b0(&sp260); + mtx4LoadIdentity(&sp260); bgun0f09ebcc(&rocket->base, &chr->prop->pos, chr->prop->rooms, &sp196, sp100, &sp260, chr->prop, &chr->prop->pos); diff --git a/src/game/nbomb.c b/src/game/nbomb.c index 413493bb5..2b799adac 100644 --- a/src/game/nbomb.c +++ b/src/game/nbomb.c @@ -606,7 +606,7 @@ glabel var7f1a7ee8 /* f00742c: e7a000f8 */ swc1 $f0,0xf8($sp) /* f007430: e7a000fc */ swc1 $f0,0xfc($sp) /* f007434: 02002025 */ or $a0,$s0,$zero -/* f007438: 0c00566c */ jal mtx000159b0 +/* f007438: 0c00566c */ jal mtx4LoadIdentity /* f00743c: e7a40100 */ swc1 $f4,0x100($sp) /* f007440: 8fa40154 */ lw $a0,0x154($sp) /* f007444: 0c0059b7 */ jal mtx000166dc @@ -2868,16 +2868,16 @@ Gfx *nbombRender(Gfx *gdl, struct nbomb *nbomb, Gfx *subgdl) sp3c.y = 0; sp3c.z = -100; - mtx000159b0(&sp48); + mtx4LoadIdentity(&sp48); mtx000166dc(&nbomb->pos, &sp48); sp3c.x = 0; sp3c.y = nbomb->unk14 / divider * M_TAU; sp3c.z = 0; - mtx0001648c(&sp3c, &sp88); + mtx4LoadRotation(&sp3c, &sp88); mtx00015f04(nbomb->radius / 2000.0f, &sp88); - mtx00015a00(&sp48, &sp88, &spc8); + mtx4MultMtx4(&sp48, &sp88, &spc8); mtx00015be0(currentPlayerGetMatrix1740(), &spc8); mtx00016054(&spc8, mtx); diff --git a/src/game/prop.c b/src/game/prop.c index c547d2df2..a30f61ad7 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -698,7 +698,7 @@ struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struc } if (hitbg && shotdata.gset.weaponnum != WEAPON_FARSIGHT) { - mtx00015b68(currentPlayerGetMatrix1740(), &sp694.unk00, &sp658); + mtx4TransformVec(currentPlayerGetMatrix1740(), &sp694.unk00, &sp658); if (shotdata.unk34 > -sp658.z) { shotdata.unk34 = -sp658.z; @@ -968,8 +968,8 @@ struct prop *func0f061d54(s32 handnum, u32 arg1, u32 arg2) sp58.y -= 15 * (random() * (1.0f / U32_MAX)); } - mtx00015b68(currentPlayerGetUnk174c(), &sp58, &sp40); - mtx00015b14(currentPlayerGetUnk174c(), &sp64, &sp4c); + mtx4TransformVec(currentPlayerGetUnk174c(), &sp58, &sp40); + mtx4RotateVec(currentPlayerGetUnk174c(), &sp64, &sp4c); shotCalculateHits(handnum, arg1, &sp58, &sp64, &sp40, &sp4c, 0, 4294836224, PLAYERCOUNT() >= 2); } @@ -984,8 +984,8 @@ void handCreateBulletRaycast(s32 handnum, bool arg1, bool dorandom, s32 arg3, bo bgunCalculateShotSpread(&sp38, &sp44, handnum, dorandom); if (arg3 > 0) { - mtx00015b68(currentPlayerGetUnk174c(), &sp38, &shootpos); - mtx00015b14(currentPlayerGetUnk174c(), &sp44, &shootdir); + mtx4TransformVec(currentPlayerGetUnk174c(), &sp38, &shootpos); + mtx4RotateVec(currentPlayerGetUnk174c(), &sp44, &shootdir); shotCalculateHits(handnum, arg1, &sp38, &sp44, &shootpos, &shootdir, 0, 4294836224, arg4); @@ -1206,7 +1206,7 @@ void handInflictCloseRangeDamage(s32 handnum, struct gset *gset, bool arg2) if (!chrIsAvoiding(chr)) { bgunCalculateShotSpread(&spb8, &vector, handnum, true); skipthething = true; - mtx00015b10(currentPlayerGetUnk174c(), &vector); + mtx4RotateVecInPlace(currentPlayerGetUnk174c(), &vector); bgunPlayPropHitSound(gset, prop, -1); if (chr->model && chrGetShield(chr) > 0) { diff --git a/src/game/propobj.c b/src/game/propobj.c index fd782d363..5877986e9 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -1484,11 +1484,11 @@ glabel func0f0675c8 /* f067628: e7a80054 */ swc1 $f8,0x54($sp) /* f06762c: 27a40058 */ addiu $a0,$sp,0x58 /* f067630: 27a5004c */ addiu $a1,$sp,0x4c -/* f067634: 0c0056c5 */ jal mtx00015b14 +/* f067634: 0c0056c5 */ jal mtx4RotateVec /* f067638: 27a60040 */ addiu $a2,$sp,0x40 /* f06763c: 27a40058 */ addiu $a0,$sp,0x58 /* f067640: 27a50034 */ addiu $a1,$sp,0x34 -/* f067644: 0c0056c5 */ jal mtx00015b14 +/* f067644: 0c0056c5 */ jal mtx4RotateVec /* f067648: 27a60028 */ addiu $a2,$sp,0x28 /* f06764c: 44800000 */ mtc1 $zero,$f0 /* f067650: c7a20028 */ lwc1 $f2,0x28($sp) @@ -2376,7 +2376,7 @@ void projectileReset(struct projectile *projectile) projectile->unk018 = 0; projectile->unk01c = 0; - mtx000159b0((Mtxf *)&projectile->unk020); + mtx4LoadIdentity((Mtxf *)&projectile->unk020); projectile->unk060 = 1; projectile->ownerprop = NULL; @@ -4216,10 +4216,10 @@ glabel func0f069850 /* f069874: afa20034 */ sw $v0,0x34($sp) /* f069878: afa00030 */ sw $zero,0x30($sp) /* f06987c: 8fa40080 */ lw $a0,0x80($sp) -/* f069880: 0c005755 */ jal mtx00015d54 +/* f069880: 0c005755 */ jal mtx3ToMtx4 /* f069884: 27a50038 */ addiu $a1,$sp,0x38 /* f069888: 8fa4007c */ lw $a0,0x7c($sp) -/* f06988c: 0c005775 */ jal mtx00015dd4 +/* f06988c: 0c005775 */ jal mtx4SetTranslation /* f069890: 27a50038 */ addiu $a1,$sp,0x38 /* f069894: 8e0e0018 */ lw $t6,0x18($s0) /* f069898: 3c0f8008 */ lui $t7,%hi(g_ModelTypeHoverbike) @@ -4756,7 +4756,7 @@ glabel var7f1aa1fc /* f06a0b4: 24a50020 */ addiu $a1,$a1,0x20 /* f06a0b8: 46104482 */ mul.s $f18,$f8,$f16 /* f06a0bc: 46069281 */ sub.s $f10,$f18,$f6 -/* f06a0c0: 0c005923 */ jal mtx0001648c +/* f06a0c0: 0c005923 */ jal mtx4LoadRotation /* f06a0c4: e7aa0038 */ swc1 $f10,0x38($sp) /* f06a0c8: 8fa900a8 */ lw $t1,0xa8($sp) .L0f06a0cc: @@ -5063,7 +5063,7 @@ glabel var7f1aa1fc /* f06a0b4: 24a50020 */ addiu $a1,$a1,0x20 /* f06a0b8: 46104482 */ mul.s $f18,$f8,$f16 /* f06a0bc: 46069281 */ sub.s $f10,$f18,$f6 -/* f06a0c0: 0c005923 */ jal mtx0001648c +/* f06a0c0: 0c005923 */ jal mtx4LoadRotation /* f06a0c4: e7aa0038 */ swc1 $f10,0x38($sp) /* f06a0c8: 8fa900a8 */ lw $t1,0xa8($sp) .L0f06a0cc: @@ -5281,7 +5281,7 @@ void func0f06a580(struct defaultobj *obj, struct coord *pos, Mtxf *matrix, s16 * { struct prop *prop = obj->prop; - mtx00015da0(matrix, obj->realrot); + mtx4ToMtx3(matrix, obj->realrot); prop->pos.x = pos->x; prop->pos.y = pos->y; @@ -5462,10 +5462,10 @@ glabel var7f1aa200 /* f06a784: 13000019 */ beqz $t8,.L0f06a7ec /* f06a788: 30590008 */ andi $t9,$v0,0x8 /* f06a78c: c42ca200 */ lwc1 $f12,%lo(var7f1aa200)($at) -/* f06a790: 0c005900 */ jal mtx00016400 +/* f06a790: 0c005900 */ jal mtx4LoadZRotation /* f06a794: e7ae00bc */ swc1 $f14,0xbc($sp) /* f06a798: 8fa400d0 */ lw $a0,0xd0($sp) -/* f06a79c: 0c00567f */ jal mtx000159fc +/* f06a79c: 0c00567f */ jal mtx4MultMtx4InPlace /* f06a7a0: 27a50070 */ addiu $a1,$sp,0x70 /* f06a7a4: c7ae00bc */ lwc1 $f14,0xbc($sp) /* f06a7a8: c7a60080 */ lwc1 $f6,0x80($sp) @@ -5489,7 +5489,7 @@ glabel var7f1aa200 /* f06a7ec: 13200015 */ beqz $t9,.L0f06a844 /* f06a7f0: 8fa400d0 */ lw $a0,0xd0($sp) /* f06a7f4: 8fa400d0 */ lw $a0,0xd0($sp) -/* f06a7f8: 0c005746 */ jal mtx00015d18 +/* f06a7f8: 0c005746 */ jal mtx4Copy /* f06a7fc: 27a50070 */ addiu $a1,$sp,0x70 /* f06a800: c7a40080 */ lwc1 $f4,0x80($sp) /* f06a804: 8fa200d8 */ lw $v0,0xd8($sp) @@ -5510,7 +5510,7 @@ glabel var7f1aa200 /* f06a840: e7aa00b8 */ swc1 $f10,0xb8($sp) .L0f06a844: /* f06a844: 27a50070 */ addiu $a1,$sp,0x70 -/* f06a848: 0c005746 */ jal mtx00015d18 +/* f06a848: 0c005746 */ jal mtx4Copy /* f06a84c: e7ae00bc */ swc1 $f14,0xbc($sp) /* f06a850: 44806000 */ mtc1 $zero,$f12 /* f06a854: c7b20074 */ lwc1 $f18,0x74($sp) @@ -5753,10 +5753,10 @@ glabel var7f1aa200 /* f0699ec: 13000019 */ beqz $t8,.NB0f069a54 /* f0699f0: 30590008 */ andi $t9,$v0,0x8 /* f0699f4: c42c4520 */ lwc1 $f12,0x4520($at) -/* f0699f8: 0c005ce4 */ jal mtx00016400 +/* f0699f8: 0c005ce4 */ jal mtx4LoadZRotation /* f0699fc: e7ae00b4 */ swc1 $f14,0xb4($sp) /* f069a00: 8fa400c8 */ lw $a0,0xc8($sp) -/* f069a04: 0c005a3b */ jal mtx000159fc +/* f069a04: 0c005a3b */ jal mtx4MultMtx4InPlace /* f069a08: 27a50068 */ addiu $a1,$sp,0x68 /* f069a0c: c7ae00b4 */ lwc1 $f14,0xb4($sp) /* f069a10: c7a60078 */ lwc1 $f6,0x78($sp) @@ -5780,7 +5780,7 @@ glabel var7f1aa200 /* f069a54: 13200015 */ beqz $t9,.NB0f069aac /* f069a58: 8fa400c8 */ lw $a0,0xc8($sp) /* f069a5c: 8fa400c8 */ lw $a0,0xc8($sp) -/* f069a60: 0c005b02 */ jal mtx00015d18 +/* f069a60: 0c005b02 */ jal mtx4Copy /* f069a64: 27a50068 */ addiu $a1,$sp,0x68 /* f069a68: c7a40078 */ lwc1 $f4,0x78($sp) /* f069a6c: 8fa200d0 */ lw $v0,0xd0($sp) @@ -5801,7 +5801,7 @@ glabel var7f1aa200 /* f069aa8: e7aa00b0 */ swc1 $f10,0xb0($sp) .NB0f069aac: /* f069aac: 27a50068 */ addiu $a1,$sp,0x68 -/* f069ab0: 0c005b02 */ jal mtx00015d18 +/* f069ab0: 0c005b02 */ jal mtx4Copy /* f069ab4: e7ae00b4 */ swc1 $f14,0xb4($sp) /* f069ab8: 44806000 */ mtc1 $zero,$f12 /* f069abc: c7b2006c */ lwc1 $f18,0x6c($sp) @@ -6035,17 +6035,17 @@ glabel var7f1aa208 /* f06ab88: 3c017f1b */ lui $at,%hi(var7f1aa204) /* f06ab8c: e7a000b8 */ swc1 $f0,0xb8($sp) /* f06ab90: c42ca204 */ lwc1 $f12,%lo(var7f1aa204)($at) -/* f06ab94: 0c0058ba */ jal mtx000162e8 +/* f06ab94: 0c0058ba */ jal mtx4LoadXRotation /* f06ab98: 27a5005c */ addiu $a1,$sp,0x5c /* f06ab9c: 3c017f1b */ lui $at,%hi(var7f1aa208) /* f06aba0: c42ca208 */ lwc1 $f12,%lo(var7f1aa208)($at) -/* f06aba4: 0c0058dd */ jal mtx00016374 +/* f06aba4: 0c0058dd */ jal mtx4LoadYRotation /* f06aba8: 27a5001c */ addiu $a1,$sp,0x1c /* f06abac: 27a4001c */ addiu $a0,$sp,0x1c -/* f06abb0: 0c00567f */ jal mtx000159fc +/* f06abb0: 0c00567f */ jal mtx4MultMtx4InPlace /* f06abb4: 27a5005c */ addiu $a1,$sp,0x5c /* f06abb8: 8fa400c8 */ lw $a0,0xc8($sp) -/* f06abbc: 0c00567f */ jal mtx000159fc +/* f06abbc: 0c00567f */ jal mtx4MultMtx4InPlace /* f06abc0: 27a5005c */ addiu $a1,$sp,0x5c /* f06abc4: c7a000b8 */ lwc1 $f0,0xb8($sp) /* f06abc8: c7a6007c */ lwc1 $f6,0x7c($sp) @@ -6797,7 +6797,7 @@ glabel func0f06b610 /* f06b790: 000c6980 */ sll $t5,$t4,0x6 /* f06b794: 02c02825 */ or $a1,$s6,$zero /* f06b798: 27a600fc */ addiu $a2,$sp,0xfc -/* f06b79c: 0c0056da */ jal mtx00015b68 +/* f06b79c: 0c0056da */ jal mtx4TransformVec /* f06b7a0: 016d2021 */ addu $a0,$t3,$t5 /* f06b7a4: c7a400fc */ lwc1 $f4,0xfc($sp) /* f06b7a8: c6680000 */ lwc1 $f8,0x0($s3) @@ -6828,20 +6828,20 @@ glabel func0f06b610 /* f06b80c: 8e8e000c */ lw $t6,0xc($s4) /* f06b810: e7a00108 */ swc1 $f0,0x108($sp) /* f06b814: 241e0001 */ addiu $s8,$zero,0x1 -/* f06b818: 0c0056c5 */ jal mtx00015b14 +/* f06b818: 0c0056c5 */ jal mtx4RotateVec /* f06b81c: 01d82021 */ addu $a0,$t6,$t8 /* f06b820: c7a00108 */ lwc1 $f0,0x108($sp) /* f06b824: 0fc2d5de */ jal currentPlayerGetUnk174c /* f06b828: e6e00000 */ swc1 $f0,0x0($s7) /* f06b82c: 00402025 */ or $a0,$v0,$zero /* f06b830: 27a500fc */ addiu $a1,$sp,0xfc -/* f06b834: 0c0056da */ jal mtx00015b68 +/* f06b834: 0c0056da */ jal mtx4TransformVec /* f06b838: 8fa6014c */ lw $a2,0x14c($sp) /* f06b83c: 0fc2d5de */ jal currentPlayerGetUnk174c /* f06b840: 00000000 */ nop /* f06b844: 00402025 */ or $a0,$v0,$zero /* f06b848: 27a500f0 */ addiu $a1,$sp,0xf0 -/* f06b84c: 0c0056c5 */ jal mtx00015b14 +/* f06b84c: 0c0056c5 */ jal mtx4RotateVec /* f06b850: 02003025 */ or $a2,$s0,$zero /* f06b854: c6040000 */ lwc1 $f4,0x0($s0) /* f06b858: 02002025 */ or $a0,$s0,$zero @@ -7025,7 +7025,7 @@ glabel func0f06b610 /* f06bae8: 000ec180 */ sll $t8,$t6,0x6 /* f06baec: 02c02825 */ or $a1,$s6,$zero /* f06baf0: 27a600fc */ addiu $a2,$sp,0xfc -/* f06baf4: 0c0056da */ jal mtx00015b68 +/* f06baf4: 0c0056da */ jal mtx4TransformVec /* f06baf8: 01f82021 */ addu $a0,$t7,$t8 /* f06bafc: c7b200fc */ lwc1 $f18,0xfc($sp) /* f06bb00: c66a0000 */ lwc1 $f10,0x0($s3) @@ -7058,14 +7058,14 @@ glabel func0f06b610 /* f06bb6c: 00000000 */ nop /* f06bb70: 8e99000c */ lw $t9,0xc($s4) /* f06bb74: 27a600f0 */ addiu $a2,$sp,0xf0 -/* f06bb78: 0c0056c5 */ jal mtx00015b14 +/* f06bb78: 0c0056c5 */ jal mtx4RotateVec /* f06bb7c: 03292021 */ addu $a0,$t9,$t1 /* f06bb80: c7b20118 */ lwc1 $f18,0x118($sp) /* f06bb84: 0fc2d5de */ jal currentPlayerGetUnk174c /* f06bb88: e6f20000 */ swc1 $f18,0x0($s7) /* f06bb8c: 00402025 */ or $a0,$v0,$zero /* f06bb90: 27a500fc */ addiu $a1,$sp,0xfc -/* f06bb94: 0c0056da */ jal mtx00015b68 +/* f06bb94: 0c0056da */ jal mtx4TransformVec /* f06bb98: 8fa6014c */ lw $a2,0x14c($sp) /* f06bb9c: c7a800f0 */ lwc1 $f8,0xf0($sp) /* f06bba0: c6460000 */ lwc1 $f6,0x0($s2) @@ -7095,7 +7095,7 @@ glabel func0f06b610 /* f06bbfc: 8fb00150 */ lw $s0,0x150($sp) /* f06bc00: 00402025 */ or $a0,$v0,$zero /* f06bc04: 27a500f0 */ addiu $a1,$sp,0xf0 -/* f06bc08: 0c0056c5 */ jal mtx00015b14 +/* f06bc08: 0c0056c5 */ jal mtx4RotateVec /* f06bc0c: 02003025 */ or $a2,$s0,$zero /* f06bc10: c6120000 */ lwc1 $f18,0x0($s0) /* f06bc14: 02002025 */ or $a0,$s0,$zero @@ -7731,7 +7731,7 @@ glabel func0f06c28c /* f06c47c: 000b6180 */ sll $t4,$t3,0x6 /* f06c480: 02e02825 */ or $a1,$s7,$zero /* f06c484: 02a03025 */ or $a2,$s5,$zero -/* f06c488: 0c0056da */ jal mtx00015b68 +/* f06c488: 0c0056da */ jal mtx4TransformVec /* f06c48c: 014c2021 */ addu $a0,$t2,$t4 /* f06c490: c7a800b8 */ lwc1 $f8,0xb8($sp) /* f06c494: c6660000 */ lwc1 $f6,0x0($s3) @@ -7763,20 +7763,20 @@ glabel func0f06c28c /* f06c4fc: 02402025 */ or $a0,$s2,$zero /* f06c500: 8e4d000c */ lw $t5,0xc($s2) /* f06c504: afb800c8 */ sw $t8,0xc8($sp) -/* f06c508: 0c0056c5 */ jal mtx00015b14 +/* f06c508: 0c0056c5 */ jal mtx4RotateVec /* f06c50c: 01af2021 */ addu $a0,$t5,$t7 /* f06c510: c7a800ec */ lwc1 $f8,0xec($sp) /* f06c514: 0fc2d5de */ jal currentPlayerGetUnk174c /* f06c518: e7c80000 */ swc1 $f8,0x0($s8) /* f06c51c: 00402025 */ or $a0,$v0,$zero /* f06c520: 02a02825 */ or $a1,$s5,$zero -/* f06c524: 0c0056da */ jal mtx00015b68 +/* f06c524: 0c0056da */ jal mtx4TransformVec /* f06c528: 8fa6010c */ lw $a2,0x10c($sp) /* f06c52c: 0fc2d5de */ jal currentPlayerGetUnk174c /* f06c530: 00000000 */ nop /* f06c534: 00402025 */ or $a0,$v0,$zero /* f06c538: 02c02825 */ or $a1,$s6,$zero -/* f06c53c: 0c0056c5 */ jal mtx00015b14 +/* f06c53c: 0c0056c5 */ jal mtx4RotateVec /* f06c540: 02203025 */ or $a2,$s1,$zero /* f06c544: c62a0000 */ lwc1 $f10,0x0($s1) /* f06c548: 02202025 */ or $a0,$s1,$zero @@ -7885,14 +7885,14 @@ glabel func0f06c28c /* f06c6c4: e7c40000 */ swc1 $f4,0x0($s8) /* f06c6c8: 00402025 */ or $a0,$v0,$zero /* f06c6cc: 02e02825 */ or $a1,$s7,$zero -/* f06c6d0: 0c0056da */ jal mtx00015b68 +/* f06c6d0: 0c0056da */ jal mtx4TransformVec /* f06c6d4: 8fa6010c */ lw $a2,0x10c($sp) /* f06c6d8: 0fc2d5de */ jal currentPlayerGetUnk174c /* f06c6dc: 00000000 */ nop /* f06c6e0: 8fb10110 */ lw $s1,0x110($sp) /* f06c6e4: 00402025 */ or $a0,$v0,$zero /* f06c6e8: 27a50088 */ addiu $a1,$sp,0x88 -/* f06c6ec: 0c0056c5 */ jal mtx00015b14 +/* f06c6ec: 0c0056c5 */ jal mtx4RotateVec /* f06c6f0: 02203025 */ or $a2,$s1,$zero /* f06c6f4: c62a0000 */ lwc1 $f10,0x0($s1) /* f06c6f8: 02202025 */ or $a0,$s1,$zero @@ -8089,7 +8089,7 @@ glabel func0f06c8ac /* f06c9b4: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f06c9b8: e7aa0090 */ swc1 $f10,0x90($sp) /* f06c9bc: 00402025 */ or $a0,$v0,$zero -/* f06c9c0: 0c0056d9 */ jal mtx00015b64 +/* f06c9c0: 0c0056d9 */ jal mtx4TransformVecInPlace /* f06c9c4: 27a50088 */ addiu $a1,$sp,0x88 /* f06c9c8: c7a60098 */ lwc1 $f6,0x98($sp) /* f06c9cc: c7b2009c */ lwc1 $f18,0x9c($sp) @@ -8099,7 +8099,7 @@ glabel func0f06c8ac /* f06c9dc: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f06c9e0: e7b00084 */ swc1 $f16,0x84($sp) /* f06c9e4: 00402025 */ or $a0,$v0,$zero -/* f06c9e8: 0c0056c4 */ jal mtx00015b10 +/* f06c9e8: 0c0056c4 */ jal mtx4RotateVecInPlace /* f06c9ec: 27a5007c */ addiu $a1,$sp,0x7c /* f06c9f0: 124000a1 */ beqz $s2,.L0f06cc78 /* f06c9f4: e7b400a8 */ swc1 $f20,0xa8($sp) @@ -11052,13 +11052,13 @@ glabel var7f1aa298 /* f06dc4c: ac580000 */ sw $t8,0x0($v0) /* f06dc50: afa601a0 */ sw $a2,0x1a0($sp) /* f06dc54: afa20068 */ sw $v0,0x68($sp) -/* f06dc58: 0c005755 */ jal mtx00015d54 +/* f06dc58: 0c005755 */ jal mtx3ToMtx4 /* f06dc5c: 24c4001c */ addiu $a0,$a2,0x1c /* f06dc60: 27a40148 */ addiu $a0,$sp,0x148 /* f06dc64: 0c005976 */ jal mtx000165d8 /* f06dc68: 27a50188 */ addiu $a1,$sp,0x188 /* f06dc6c: 27a40188 */ addiu $a0,$sp,0x188 -/* f06dc70: 0c005923 */ jal mtx0001648c +/* f06dc70: 0c005923 */ jal mtx4LoadRotation /* f06dc74: 27a50108 */ addiu $a1,$sp,0x108 /* f06dc78: 8fa50068 */ lw $a1,0x68($sp) /* f06dc7c: 27a40188 */ addiu $a0,$sp,0x188 @@ -11066,11 +11066,11 @@ glabel var7f1aa298 /* f06dc84: 0fc25b28 */ jal func0f096ca0 /* f06dc88: afa50038 */ sw $a1,0x38($sp) /* f06dc8c: 27a40108 */ addiu $a0,$sp,0x108 -/* f06dc90: 0c005c1c */ jal mtx00017070 +/* f06dc90: 0c005c1c */ jal mtx4LoadRotationFrom /* f06dc94: 27a500c8 */ addiu $a1,$sp,0xc8 /* f06dc98: 27a400c8 */ addiu $a0,$sp,0xc8 /* f06dc9c: 27a50148 */ addiu $a1,$sp,0x148 -/* f06dca0: 0c005680 */ jal mtx00015a00 +/* f06dca0: 0c005680 */ jal mtx4MultMtx4 /* f06dca4: 27a60088 */ addiu $a2,$sp,0x88 /* f06dca8: c7a20088 */ lwc1 $f2,0x88($sp) /* f06dcac: c7ae008c */ lwc1 $f14,0x8c($sp) @@ -12169,7 +12169,7 @@ glabel var7f1aa2a0 /* f06eab4: c7ae0114 */ lwc1 $f14,0x114($sp) /* f06eab8: e7a000f4 */ swc1 $f0,0xf4($sp) /* f06eabc: 46000307 */ neg.s $f12,$f0 -/* f06eac0: 0c0058dd */ jal mtx00016374 +/* f06eac0: 0c0058dd */ jal mtx4LoadYRotation /* f06eac4: 27a500b0 */ addiu $a1,$sp,0xb0 /* f06eac8: c7aa0124 */ lwc1 $f10,0x124($sp) /* f06eacc: c7a80120 */ lwc1 $f8,0x120($sp) @@ -12178,7 +12178,7 @@ glabel var7f1aa2a0 /* f06ead8: 27a50024 */ addiu $a1,$sp,0x24 /* f06eadc: e7aa0024 */ swc1 $f10,0x24($sp) /* f06eae0: e7a80028 */ swc1 $f8,0x28($sp) -/* f06eae4: 0c0056c4 */ jal mtx00015b10 +/* f06eae4: 0c0056c4 */ jal mtx4RotateVecInPlace /* f06eae8: e7a4002c */ swc1 $f4,0x2c($sp) /* f06eaec: c7ac0024 */ lwc1 $f12,0x24($sp) /* f06eaf0: 0fc259d4 */ jal atan2f @@ -12188,17 +12188,17 @@ glabel var7f1aa2a0 /* f06eb00: c7aa00f4 */ lwc1 $f10,0xf4($sp) /* f06eb04: e7a000f0 */ swc1 $f0,0xf0($sp) /* f06eb08: 27a50070 */ addiu $a1,$sp,0x70 -/* f06eb0c: 0c0058dd */ jal mtx00016374 +/* f06eb0c: 0c0058dd */ jal mtx4LoadYRotation /* f06eb10: 460a3300 */ add.s $f12,$f6,$f10 /* f06eb14: 3c017f1b */ lui $at,%hi(var7f1aa2a0) /* f06eb18: c428a2a0 */ lwc1 $f8,%lo(var7f1aa2a0)($at) /* f06eb1c: c7a400f0 */ lwc1 $f4,0xf0($sp) /* f06eb20: 27a50030 */ addiu $a1,$sp,0x30 -/* f06eb24: 0c0058ba */ jal mtx000162e8 +/* f06eb24: 0c0058ba */ jal mtx4LoadXRotation /* f06eb28: 46044301 */ sub.s $f12,$f8,$f4 /* f06eb2c: 27a40070 */ addiu $a0,$sp,0x70 /* f06eb30: 27a50030 */ addiu $a1,$sp,0x30 -/* f06eb34: 0c005680 */ jal mtx00015a00 +/* f06eb34: 0c005680 */ jal mtx4MultMtx4 /* f06eb38: 8fa6012c */ lw $a2,0x12c($sp) /* f06eb3c: 8fbf0014 */ lw $ra,0x14($sp) /* f06eb40: 27bd0128 */ addiu $sp,$sp,0x128 @@ -12299,7 +12299,7 @@ glabel func0f06ec20 /* f06ec98: 46000480 */ add.s $f18,$f0,$f0 /* f06ec9c: 46128100 */ add.s $f4,$f16,$f18 /* f06eca0: 46041081 */ sub.s $f2,$f2,$f4 -/* f06eca4: 0c005755 */ jal mtx00015d54 +/* f06eca4: 0c005755 */ jal mtx3ToMtx4 /* f06eca8: e7a20040 */ swc1 $f2,0x40($sp) /* f06ecac: c7a20040 */ lwc1 $f2,0x40($sp) /* f06ecb0: c7a60078 */ lwc1 $f6,0x78($sp) @@ -12454,11 +12454,11 @@ glabel var7f1aa2bc /* f06eea4: e7a60024 */ swc1 $f6,0x24($sp) /* f06eea8: 3c017f1b */ lui $at,%hi(var7f1aa2bc) /* f06eeac: c42ca2bc */ lwc1 $f12,%lo(var7f1aa2bc)($at) -/* f06eeb0: 0c0058ba */ jal mtx000162e8 +/* f06eeb0: 0c0058ba */ jal mtx4LoadXRotation /* f06eeb4: 27a50050 */ addiu $a1,$sp,0x50 /* f06eeb8: 27a40090 */ addiu $a0,$sp,0x90 /* f06eebc: 27a50050 */ addiu $a1,$sp,0x50 -/* f06eec0: 0c005680 */ jal mtx00015a00 +/* f06eec0: 0c005680 */ jal mtx4MultMtx4 /* f06eec4: 27a600d0 */ addiu $a2,$sp,0xd0 /* f06eec8: 8faa0110 */ lw $t2,0x110($sp) /* f06eecc: 27a500d0 */ addiu $a1,$sp,0xd0 @@ -12550,10 +12550,10 @@ glabel func0f06ef44 /* f06f014: 0c0059b7 */ jal mtx000166dc /* f06f018: 27a50074 */ addiu $a1,$sp,0x74 /* f06f01c: 2604001c */ addiu $a0,$s0,0x1c -/* f06f020: 0c005755 */ jal mtx00015d54 +/* f06f020: 0c005755 */ jal mtx3ToMtx4 /* f06f024: 27a50034 */ addiu $a1,$sp,0x34 /* f06f028: 26240008 */ addiu $a0,$s1,0x8 -/* f06f02c: 0c005775 */ jal mtx00015dd4 +/* f06f02c: 0c005775 */ jal mtx4SetTranslation /* f06f030: 27a50034 */ addiu $a1,$sp,0x34 /* f06f034: 27b10134 */ addiu $s1,$sp,0x134 /* f06f038: 02203025 */ or $a2,$s1,$zero @@ -12980,7 +12980,7 @@ glabel func0f06f314 /* f06f3a8: e7a80084 */ swc1 $f8,0x84($sp) /* f06f3ac: 27b0007c */ addiu $s0,$sp,0x7c /* f06f3b0: 02002825 */ or $a1,$s0,$zero -/* f06f3b4: 0c0056d9 */ jal mtx00015b64 +/* f06f3b4: 0c0056d9 */ jal mtx4TransformVecInPlace /* f06f3b8: 00402025 */ or $a0,$v0,$zero /* f06f3bc: 10000008 */ b .L0f06f3e0 /* f06f3c0: 8fa30088 */ lw $v1,0x88($sp) @@ -13205,7 +13205,7 @@ glabel var7f1aa2c4 /* f06f6e8: c7a601a0 */ lwc1 $f6,0x1a0($sp) /* f06f6ec: e4a60008 */ swc1 $f6,0x8($a1) /* f06f6f0: c7a801a4 */ lwc1 $f8,0x1a4($sp) -/* f06f6f4: 0c00566c */ jal mtx000159b0 +/* f06f6f4: 0c00566c */ jal mtx4LoadIdentity /* f06f6f8: e4a8000c */ swc1 $f8,0xc($a1) /* f06f6fc: 8fa50194 */ lw $a1,0x194($sp) /* f06f700: 8fb901a8 */ lw $t9,0x1a8($sp) @@ -13997,7 +13997,7 @@ glabel var7f1aa2c4 /* f0701fc: 00000000 */ nop /* f070200: 46006307 */ neg.s $f12,$f12 .L0f070204: -/* f070204: 0c0058dd */ jal mtx00016374 +/* f070204: 0c0058dd */ jal mtx4LoadYRotation /* f070208: afa60140 */ sw $a2,0x140($sp) /* f07020c: 8e030048 */ lw $v1,0x48($s0) /* f070210: 8fa60140 */ lw $a2,0x140($sp) @@ -14012,7 +14012,7 @@ glabel var7f1aa2c4 /* f070234: 24640004 */ addiu $a0,$v1,0x4 /* f070238: 11e10068 */ beq $t7,$at,.L0f0703dc /* f07023c: 27a500f8 */ addiu $a1,$sp,0xf8 -/* f070240: 0c005746 */ jal mtx00015d18 +/* f070240: 0c005746 */ jal mtx4Copy /* f070244: afa60140 */ sw $a2,0x140($sp) /* f070248: 44800000 */ mtc1 $zero,$f0 /* f07024c: 8fa40140 */ lw $a0,0x140($sp) @@ -14031,13 +14031,13 @@ glabel var7f1aa2c4 /* f070280: e7a00074 */ swc1 $f0,0x74($sp) /* f070284: 27a400f8 */ addiu $a0,$sp,0xf8 /* f070288: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f07028c: 0c005680 */ jal mtx00015a00 +/* f07028c: 0c005680 */ jal mtx4MultMtx4 /* f070290: 27a60078 */ addiu $a2,$sp,0x78 /* f070294: 27a400f8 */ addiu $a0,$sp,0xf8 -/* f070298: 0c0056c4 */ jal mtx00015b10 +/* f070298: 0c0056c4 */ jal mtx4RotateVecInPlace /* f07029c: 27a5006c */ addiu $a1,$sp,0x6c /* f0702a0: 27a40078 */ addiu $a0,$sp,0x78 -/* f0702a4: 0c0056c4 */ jal mtx00015b10 +/* f0702a4: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0702a8: 27a50060 */ addiu $a1,$sp,0x60 /* f0702ac: c7a80060 */ lwc1 $f8,0x60($sp) /* f0702b0: c7aa006c */ lwc1 $f10,0x6c($sp) @@ -14062,7 +14062,7 @@ glabel var7f1aa2c4 /* f0702fc: 46045181 */ sub.s $f6,$f10,$f4 /* f070300: e7a600b0 */ swc1 $f6,0xb0($sp) /* f070304: 8e050048 */ lw $a1,0x48($s0) -/* f070308: 0c005746 */ jal mtx00015d18 +/* f070308: 0c005746 */ jal mtx4Copy /* f07030c: 24a50004 */ addiu $a1,$a1,0x4 /* f070310: 10000033 */ b .L0f0703e0 /* f070314: 8fb801a8 */ lw $t8,0x1a8($sp) @@ -14078,20 +14078,20 @@ glabel var7f1aa2c4 /* f070338: e7a00068 */ swc1 $f0,0x68($sp) /* f07033c: e7a00074 */ swc1 $f0,0x74($sp) /* f070340: afa40038 */ sw $a0,0x38($sp) -/* f070344: 0c005755 */ jal mtx00015d54 +/* f070344: 0c005755 */ jal mtx3ToMtx4 /* f070348: 27a500f8 */ addiu $a1,$sp,0xf8 /* f07034c: 27a400f8 */ addiu $a0,$sp,0xf8 /* f070350: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f070354: 0c005680 */ jal mtx00015a00 +/* f070354: 0c005680 */ jal mtx4MultMtx4 /* f070358: 27a60078 */ addiu $a2,$sp,0x78 /* f07035c: 27a40078 */ addiu $a0,$sp,0x78 -/* f070360: 0c005768 */ jal mtx00015da0 +/* f070360: 0c005768 */ jal mtx4ToMtx3 /* f070364: 8fa50038 */ lw $a1,0x38($sp) /* f070368: 27a400f8 */ addiu $a0,$sp,0xf8 -/* f07036c: 0c0056c4 */ jal mtx00015b10 +/* f07036c: 0c0056c4 */ jal mtx4RotateVecInPlace /* f070370: 27a5006c */ addiu $a1,$sp,0x6c /* f070374: 27a40078 */ addiu $a0,$sp,0x78 -/* f070378: 0c0056c4 */ jal mtx00015b10 +/* f070378: 0c0056c4 */ jal mtx4RotateVecInPlace /* f07037c: 27a50060 */ addiu $a1,$sp,0x60 /* f070380: c7a80060 */ lwc1 $f8,0x60($sp) /* f070384: c7aa006c */ lwc1 $f10,0x6c($sp) @@ -14414,7 +14414,7 @@ glabel var7f1aa2c4 /* f06f6e8: c7a601a0 */ lwc1 $f6,0x1a0($sp) /* f06f6ec: e4a60008 */ swc1 $f6,0x8($a1) /* f06f6f0: c7a801a4 */ lwc1 $f8,0x1a4($sp) -/* f06f6f4: 0c00566c */ jal mtx000159b0 +/* f06f6f4: 0c00566c */ jal mtx4LoadIdentity /* f06f6f8: e4a8000c */ swc1 $f8,0xc($a1) /* f06f6fc: 8fa50194 */ lw $a1,0x194($sp) /* f06f700: 8fb901a8 */ lw $t9,0x1a8($sp) @@ -15206,7 +15206,7 @@ glabel var7f1aa2c4 /* f0701fc: 00000000 */ nop /* f070200: 46006307 */ neg.s $f12,$f12 .L0f070204: -/* f070204: 0c0058dd */ jal mtx00016374 +/* f070204: 0c0058dd */ jal mtx4LoadYRotation /* f070208: afa60140 */ sw $a2,0x140($sp) /* f07020c: 8e030048 */ lw $v1,0x48($s0) /* f070210: 8fa60140 */ lw $a2,0x140($sp) @@ -15221,7 +15221,7 @@ glabel var7f1aa2c4 /* f070234: 24640004 */ addiu $a0,$v1,0x4 /* f070238: 11e10068 */ beq $t7,$at,.L0f0703dc /* f07023c: 27a500f8 */ addiu $a1,$sp,0xf8 -/* f070240: 0c005746 */ jal mtx00015d18 +/* f070240: 0c005746 */ jal mtx4Copy /* f070244: afa60140 */ sw $a2,0x140($sp) /* f070248: 44800000 */ mtc1 $zero,$f0 /* f07024c: 8fa40140 */ lw $a0,0x140($sp) @@ -15240,13 +15240,13 @@ glabel var7f1aa2c4 /* f070280: e7a00074 */ swc1 $f0,0x74($sp) /* f070284: 27a400f8 */ addiu $a0,$sp,0xf8 /* f070288: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f07028c: 0c005680 */ jal mtx00015a00 +/* f07028c: 0c005680 */ jal mtx4MultMtx4 /* f070290: 27a60078 */ addiu $a2,$sp,0x78 /* f070294: 27a400f8 */ addiu $a0,$sp,0xf8 -/* f070298: 0c0056c4 */ jal mtx00015b10 +/* f070298: 0c0056c4 */ jal mtx4RotateVecInPlace /* f07029c: 27a5006c */ addiu $a1,$sp,0x6c /* f0702a0: 27a40078 */ addiu $a0,$sp,0x78 -/* f0702a4: 0c0056c4 */ jal mtx00015b10 +/* f0702a4: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0702a8: 27a50060 */ addiu $a1,$sp,0x60 /* f0702ac: c7a80060 */ lwc1 $f8,0x60($sp) /* f0702b0: c7aa006c */ lwc1 $f10,0x6c($sp) @@ -15271,7 +15271,7 @@ glabel var7f1aa2c4 /* f0702fc: 46045181 */ sub.s $f6,$f10,$f4 /* f070300: e7a600b0 */ swc1 $f6,0xb0($sp) /* f070304: 8e050048 */ lw $a1,0x48($s0) -/* f070308: 0c005746 */ jal mtx00015d18 +/* f070308: 0c005746 */ jal mtx4Copy /* f07030c: 24a50004 */ addiu $a1,$a1,0x4 /* f070310: 10000033 */ b .L0f0703e0 /* f070314: 8fb801a8 */ lw $t8,0x1a8($sp) @@ -15287,20 +15287,20 @@ glabel var7f1aa2c4 /* f070338: e7a00068 */ swc1 $f0,0x68($sp) /* f07033c: e7a00074 */ swc1 $f0,0x74($sp) /* f070340: afa40038 */ sw $a0,0x38($sp) -/* f070344: 0c005755 */ jal mtx00015d54 +/* f070344: 0c005755 */ jal mtx3ToMtx4 /* f070348: 27a500f8 */ addiu $a1,$sp,0xf8 /* f07034c: 27a400f8 */ addiu $a0,$sp,0xf8 /* f070350: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f070354: 0c005680 */ jal mtx00015a00 +/* f070354: 0c005680 */ jal mtx4MultMtx4 /* f070358: 27a60078 */ addiu $a2,$sp,0x78 /* f07035c: 27a40078 */ addiu $a0,$sp,0x78 -/* f070360: 0c005768 */ jal mtx00015da0 +/* f070360: 0c005768 */ jal mtx4ToMtx3 /* f070364: 8fa50038 */ lw $a1,0x38($sp) /* f070368: 27a400f8 */ addiu $a0,$sp,0xf8 -/* f07036c: 0c0056c4 */ jal mtx00015b10 +/* f07036c: 0c0056c4 */ jal mtx4RotateVecInPlace /* f070370: 27a5006c */ addiu $a1,$sp,0x6c /* f070374: 27a40078 */ addiu $a0,$sp,0x78 -/* f070378: 0c0056c4 */ jal mtx00015b10 +/* f070378: 0c0056c4 */ jal mtx4RotateVecInPlace /* f07037c: 27a50060 */ addiu $a1,$sp,0x60 /* f070380: c7a80060 */ lwc1 $f8,0x60($sp) /* f070384: c7aa006c */ lwc1 $f10,0x6c($sp) @@ -15624,7 +15624,7 @@ glabel var7f1aa2c4 /* f06e950: c7a60168 */ lwc1 $f6,0x168($sp) /* f06e954: e4a60008 */ swc1 $f6,0x8($a1) /* f06e958: c7a8016c */ lwc1 $f8,0x16c($sp) -/* f06e95c: 0c005a28 */ jal mtx000159b0 +/* f06e95c: 0c005a28 */ jal mtx4LoadIdentity /* f06e960: e4a8000c */ swc1 $f8,0xc($a1) /* f06e964: 8fa5015c */ lw $a1,0x15c($sp) /* f06e968: 8fa70170 */ lw $a3,0x170($sp) @@ -16133,7 +16133,7 @@ glabel var7f1aa2c4 /* f06f0ac: 46006307 */ neg.s $f12,$f12 /* f06f0b0: afa60118 */ sw $a2,0x118($sp) .NB0f06f0b4: -/* f06f0b4: 0c005cc1 */ jal mtx00016374 +/* f06f0b4: 0c005cc1 */ jal mtx4LoadYRotation /* f06f0b8: afa70170 */ sw $a3,0x170($sp) /* f06f0bc: 8fad0174 */ lw $t5,0x174($sp) /* f06f0c0: 8fa60118 */ lw $a2,0x118($sp) @@ -16151,7 +16151,7 @@ glabel var7f1aa2c4 /* f06f0f0: 1121006d */ beq $t1,$at,.NB0f06f2a8 /* f06f0f4: 27a500d0 */ addiu $a1,$sp,0xd0 /* f06f0f8: afa60118 */ sw $a2,0x118($sp) -/* f06f0fc: 0c005b02 */ jal mtx00015d18 +/* f06f0fc: 0c005b02 */ jal mtx4Copy /* f06f100: afa70170 */ sw $a3,0x170($sp) /* f06f104: 44800000 */ mtc1 $zero,$f0 /* f06f108: 8fa40118 */ lw $a0,0x118($sp) @@ -16170,13 +16170,13 @@ glabel var7f1aa2c4 /* f06f13c: e7a0004c */ swc1 $f0,0x4c($sp) /* f06f140: 27a400d0 */ addiu $a0,$sp,0xd0 /* f06f144: 27a50090 */ addiu $a1,$sp,0x90 -/* f06f148: 0c005a3c */ jal mtx00015a00 +/* f06f148: 0c005a3c */ jal mtx4MultMtx4 /* f06f14c: 27a60050 */ addiu $a2,$sp,0x50 /* f06f150: 27a400d0 */ addiu $a0,$sp,0xd0 -/* f06f154: 0c005a80 */ jal mtx00015b10 +/* f06f154: 0c005a80 */ jal mtx4RotateVecInPlace /* f06f158: 27a50044 */ addiu $a1,$sp,0x44 /* f06f15c: 27a40050 */ addiu $a0,$sp,0x50 -/* f06f160: 0c005a80 */ jal mtx00015b10 +/* f06f160: 0c005a80 */ jal mtx4RotateVecInPlace /* f06f164: 27a50038 */ addiu $a1,$sp,0x38 /* f06f168: 8faa0174 */ lw $t2,0x174($sp) /* f06f16c: c7a80038 */ lwc1 $f8,0x38($sp) @@ -16202,7 +16202,7 @@ glabel var7f1aa2c4 /* f06f1bc: 46045181 */ sub.s $f6,$f10,$f4 /* f06f1c0: e7a60088 */ swc1 $f6,0x88($sp) /* f06f1c4: 8d450048 */ lw $a1,0x48($t2) -/* f06f1c8: 0c005b02 */ jal mtx00015d18 +/* f06f1c8: 0c005b02 */ jal mtx4Copy /* f06f1cc: 24a50004 */ addiu $a1,$a1,0x4 /* f06f1d0: 10000035 */ beqz $zero,.NB0f06f2a8 /* f06f1d4: 8fa70170 */ lw $a3,0x170($sp) @@ -16220,20 +16220,20 @@ glabel var7f1aa2c4 /* f06f200: e7a0004c */ swc1 $f0,0x4c($sp) /* f06f204: 2484001c */ addiu $a0,$a0,0x1c /* f06f208: afa40020 */ sw $a0,0x20($sp) -/* f06f20c: 0c005b11 */ jal mtx00015d54 +/* f06f20c: 0c005b11 */ jal mtx3ToMtx4 /* f06f210: 27a500d0 */ addiu $a1,$sp,0xd0 /* f06f214: 27a400d0 */ addiu $a0,$sp,0xd0 /* f06f218: 27a50090 */ addiu $a1,$sp,0x90 -/* f06f21c: 0c005a3c */ jal mtx00015a00 +/* f06f21c: 0c005a3c */ jal mtx4MultMtx4 /* f06f220: 27a60050 */ addiu $a2,$sp,0x50 /* f06f224: 27a40050 */ addiu $a0,$sp,0x50 -/* f06f228: 0c005b24 */ jal mtx00015da0 +/* f06f228: 0c005b24 */ jal mtx4ToMtx3 /* f06f22c: 8fa50020 */ lw $a1,0x20($sp) /* f06f230: 27a400d0 */ addiu $a0,$sp,0xd0 -/* f06f234: 0c005a80 */ jal mtx00015b10 +/* f06f234: 0c005a80 */ jal mtx4RotateVecInPlace /* f06f238: 27a50044 */ addiu $a1,$sp,0x44 /* f06f23c: 27a40050 */ addiu $a0,$sp,0x50 -/* f06f240: 0c005a80 */ jal mtx00015b10 +/* f06f240: 0c005a80 */ jal mtx4RotateVecInPlace /* f06f244: 27a50038 */ addiu $a1,$sp,0x38 /* f06f248: c7a80038 */ lwc1 $f8,0x38($sp) /* f06f24c: c7aa0044 */ lwc1 $f10,0x44($sp) @@ -18281,7 +18281,7 @@ glabel var7f1ab5c0pf /* f0721cc: 27a50148 */ addiu $a1,$sp,0x148 /* f0721d0: 46040280 */ add.s $f10,$f0,$f4 /* f0721d4: e58a000c */ swc1 $f10,0xc($t4) -/* f0721d8: 0c005864 */ jal mtx00016400 +/* f0721d8: 0c005864 */ jal mtx4LoadZRotation /* f0721dc: c60c0020 */ lwc1 $f12,0x20($s0) /* f0721e0: c608002c */ lwc1 $f8,0x2c($s0) /* f0721e4: c6060014 */ lwc1 $f6,0x14($s0) @@ -18306,13 +18306,13 @@ glabel var7f1ab5c0pf /* f07222c: c426b5c0 */ lwc1 $f6,-0x4a40($at) /* f072230: 46066300 */ add.s $f12,$f12,$f6 .PF0f072234: -/* f072234: 0c00581e */ jal mtx000162e8 +/* f072234: 0c00581e */ jal mtx4LoadXRotation /* f072238: 27a50108 */ addiu $a1,$sp,0x108 /* f07223c: 27a40108 */ addiu $a0,$sp,0x108 /* f072240: 0c00565c */ jal mtx00015be0 /* f072244: 27a50148 */ addiu $a1,$sp,0x148 /* f072248: c60c0010 */ lwc1 $f12,0x10($s0) -/* f07224c: 0c005841 */ jal mtx00016374 +/* f07224c: 0c005841 */ jal mtx4LoadYRotation /* f072250: 27a50108 */ addiu $a1,$sp,0x108 /* f072254: 27b00108 */ addiu $s0,$sp,0x108 /* f072258: 02002025 */ move $a0,$s0 @@ -18336,7 +18336,7 @@ glabel var7f1ab5c0pf /* f0722a0: 00000000 */ nop /* f0722a4: 4503000c */ bc1tl .PF0f0722d8 /* f0722a8: c7a4006c */ lwc1 $f4,0x6c($sp) -/* f0722ac: 0c00581e */ jal mtx000162e8 +/* f0722ac: 0c00581e */ jal mtx4LoadXRotation /* f0722b0: 02002825 */ move $a1,$s0 /* f0722b4: 27b100c8 */ addiu $s1,$sp,0xc8 /* f0722b8: 02203025 */ move $a2,$s1 @@ -18344,7 +18344,7 @@ glabel var7f1ab5c0pf /* f0722c0: 0c00565d */ jal mtx00015be4 /* f0722c4: 02002825 */ move $a1,$s0 /* f0722c8: 02202025 */ move $a0,$s1 -/* f0722cc: 0c0056aa */ jal mtx00015d18 +/* f0722cc: 0c0056aa */ jal mtx4Copy /* f0722d0: 27a50148 */ addiu $a1,$sp,0x148 /* f0722d4: c7a4006c */ lwc1 $f4,0x6c($sp) .PF0f0722d8: @@ -18355,18 +18355,18 @@ glabel var7f1ab5c0pf /* f0722e8: 00000000 */ nop /* f0722ec: 4503000b */ bc1tl .PF0f07231c /* f0722f0: 27a40148 */ addiu $a0,$sp,0x148 -/* f0722f4: 0c005864 */ jal mtx00016400 +/* f0722f4: 0c005864 */ jal mtx4LoadZRotation /* f0722f8: 46002306 */ mov.s $f12,$f4 /* f0722fc: 27a40148 */ addiu $a0,$sp,0x148 /* f072300: 02002825 */ move $a1,$s0 /* f072304: 0c00565d */ jal mtx00015be4 /* f072308: 02203025 */ move $a2,$s1 /* f07230c: 02202025 */ move $a0,$s1 -/* f072310: 0c0056aa */ jal mtx00015d18 +/* f072310: 0c0056aa */ jal mtx4Copy /* f072314: 27a50148 */ addiu $a1,$sp,0x148 /* f072318: 27a40148 */ addiu $a0,$sp,0x148 .PF0f07231c: -/* f07231c: 0c0056cc */ jal mtx00015da0 +/* f07231c: 0c0056cc */ jal mtx4ToMtx3 /* f072320: 8fa5005c */ lw $a1,0x5c($sp) /* f072324: 8fbf004c */ lw $ra,0x4c($sp) .PF0f072328: @@ -19143,7 +19143,7 @@ glabel var7f1aa314 /* f071f48: 27a50148 */ addiu $a1,$sp,0x148 /* f071f4c: 46040280 */ add.s $f10,$f0,$f4 /* f071f50: e58a000c */ swc1 $f10,0xc($t4) -/* f071f54: 0c005900 */ jal mtx00016400 +/* f071f54: 0c005900 */ jal mtx4LoadZRotation /* f071f58: c60c0020 */ lwc1 $f12,0x20($s0) /* f071f5c: c608002c */ lwc1 $f8,0x2c($s0) /* f071f60: c6060014 */ lwc1 $f6,0x14($s0) @@ -19168,13 +19168,13 @@ glabel var7f1aa314 /* f071fa8: c426a314 */ lwc1 $f6,%lo(var7f1aa314)($at) /* f071fac: 46066300 */ add.s $f12,$f12,$f6 .L0f071fb0: -/* f071fb0: 0c0058ba */ jal mtx000162e8 +/* f071fb0: 0c0058ba */ jal mtx4LoadXRotation /* f071fb4: 27a50108 */ addiu $a1,$sp,0x108 /* f071fb8: 27a40108 */ addiu $a0,$sp,0x108 /* f071fbc: 0c0056f8 */ jal mtx00015be0 /* f071fc0: 27a50148 */ addiu $a1,$sp,0x148 /* f071fc4: c60c0010 */ lwc1 $f12,0x10($s0) -/* f071fc8: 0c0058dd */ jal mtx00016374 +/* f071fc8: 0c0058dd */ jal mtx4LoadYRotation /* f071fcc: 27a50108 */ addiu $a1,$sp,0x108 /* f071fd0: 27b00108 */ addiu $s0,$sp,0x108 /* f071fd4: 02002025 */ or $a0,$s0,$zero @@ -19198,7 +19198,7 @@ glabel var7f1aa314 /* f07201c: 00000000 */ nop /* f072020: 4503000c */ bc1tl .L0f072054 /* f072024: c7a4006c */ lwc1 $f4,0x6c($sp) -/* f072028: 0c0058ba */ jal mtx000162e8 +/* f072028: 0c0058ba */ jal mtx4LoadXRotation /* f07202c: 02002825 */ or $a1,$s0,$zero /* f072030: 27b100c8 */ addiu $s1,$sp,0xc8 /* f072034: 02203025 */ or $a2,$s1,$zero @@ -19206,7 +19206,7 @@ glabel var7f1aa314 /* f07203c: 0c0056f9 */ jal mtx00015be4 /* f072040: 02002825 */ or $a1,$s0,$zero /* f072044: 02202025 */ or $a0,$s1,$zero -/* f072048: 0c005746 */ jal mtx00015d18 +/* f072048: 0c005746 */ jal mtx4Copy /* f07204c: 27a50148 */ addiu $a1,$sp,0x148 /* f072050: c7a4006c */ lwc1 $f4,0x6c($sp) .L0f072054: @@ -19217,18 +19217,18 @@ glabel var7f1aa314 /* f072064: 00000000 */ nop /* f072068: 4503000b */ bc1tl .L0f072098 /* f07206c: 27a40148 */ addiu $a0,$sp,0x148 -/* f072070: 0c005900 */ jal mtx00016400 +/* f072070: 0c005900 */ jal mtx4LoadZRotation /* f072074: 46002306 */ mov.s $f12,$f4 /* f072078: 27a40148 */ addiu $a0,$sp,0x148 /* f07207c: 02002825 */ or $a1,$s0,$zero /* f072080: 0c0056f9 */ jal mtx00015be4 /* f072084: 02203025 */ or $a2,$s1,$zero /* f072088: 02202025 */ or $a0,$s1,$zero -/* f07208c: 0c005746 */ jal mtx00015d18 +/* f07208c: 0c005746 */ jal mtx4Copy /* f072090: 27a50148 */ addiu $a1,$sp,0x148 /* f072094: 27a40148 */ addiu $a0,$sp,0x148 .L0f072098: -/* f072098: 0c005768 */ jal mtx00015da0 +/* f072098: 0c005768 */ jal mtx4ToMtx3 /* f07209c: 8fa5005c */ lw $a1,0x5c($sp) /* f0720a0: 8fbf004c */ lw $ra,0x4c($sp) .L0f0720a4: @@ -19330,14 +19330,14 @@ glabel var7f1aa31c .L0f072200: /* f072200: c7ac045c */ lwc1 $f12,0x45c($sp) .L0f072204: -/* f072204: 0c0058dd */ jal mtx00016374 +/* f072204: 0c0058dd */ jal mtx4LoadYRotation /* f072208: 27a500a4 */ addiu $a1,$sp,0xa4 /* f07220c: 8e180018 */ lw $t8,0x18($s0) /* f072210: 27a500a4 */ addiu $a1,$sp,0xa4 /* f072214: 0c0057c1 */ jal mtx00015f04 /* f072218: c70c0014 */ lwc1 $f12,0x14($t8) /* f07221c: 27a400a4 */ addiu $a0,$sp,0xa4 -/* f072220: 0c005768 */ jal mtx00015da0 +/* f072220: 0c005768 */ jal mtx4ToMtx3 /* f072224: 27a50460 */ addiu $a1,$sp,0x460 /* f072228: 10000025 */ b .L0f0722c0 /* f07222c: 8fa400e8 */ lw $a0,0xe8($sp) @@ -19366,10 +19366,10 @@ glabel var7f1aa31c /* f072280: 00000000 */ nop /* f072284: 460e6300 */ add.s $f12,$f12,$f14 .L0f072288: -/* f072288: 0c0058dd */ jal mtx00016374 +/* f072288: 0c0058dd */ jal mtx4LoadYRotation /* f07228c: 27a50064 */ addiu $a1,$sp,0x64 /* f072290: 27a40064 */ addiu $a0,$sp,0x64 -/* f072294: 0c005768 */ jal mtx00015da0 +/* f072294: 0c005768 */ jal mtx4ToMtx3 /* f072298: 27a50040 */ addiu $a1,$sp,0x40 /* f07229c: 27a40040 */ addiu $a0,$sp,0x40 /* f0722a0: 2605001c */ addiu $a1,$s0,0x1c @@ -19378,7 +19378,7 @@ glabel var7f1aa31c /* f0722ac: 10000004 */ b .L0f0722c0 /* f0722b0: 8fa400e8 */ lw $a0,0xe8($sp) .L0f0722b4: -/* f0722b4: 0c005736 */ jal mtx00015cd8 +/* f0722b4: 0c005736 */ jal mtx3Copy /* f0722b8: 27a50460 */ addiu $a1,$sp,0x460 /* f0722bc: 8fa400e8 */ lw $a0,0xe8($sp) .L0f0722c0: @@ -19551,7 +19551,7 @@ glabel var7f1aa31c /* f072530: 0fc1c844 */ jal hoverpropSetTurnAngle /* f072534: 8fa5045c */ lw $a1,0x45c($sp) /* f072538: 27a40460 */ addiu $a0,$sp,0x460 -/* f07253c: 0c005736 */ jal mtx00015cd8 +/* f07253c: 0c005736 */ jal mtx3Copy /* f072540: 8fa5003c */ lw $a1,0x3c($sp) /* f072544: c7a40450 */ lwc1 $f4,0x450($sp) /* f072548: 8fa400e8 */ lw $a0,0xe8($sp) @@ -19666,7 +19666,7 @@ void hovercarStartNextPath(struct hovercarobj *hovercar) padUnpack(pads[0], PADFIELD_POS | PADFIELD_ROOM, &pad); - mtx00015d54(hovercar->base.realrot, &matrix); + mtx3ToMtx4(hovercar->base.realrot, &matrix); rooms[0] = pad.room; rooms[1] = -1; @@ -21605,17 +21605,17 @@ glabel func0f0732d4 /* f0733b8: 2671001c */ addiu $s1,$s3,0x1c /* f0733bc: 02202025 */ or $a0,$s1,$zero /* f0733c0: 02802825 */ or $a1,$s4,$zero -/* f0733c4: 0c005755 */ jal mtx00015d54 +/* f0733c4: 0c005755 */ jal mtx3ToMtx4 /* f0733c8: 26f50008 */ addiu $s5,$s7,0x8 /* f0733cc: 26120008 */ addiu $s2,$s0,0x8 /* f0733d0: 02402025 */ or $a0,$s2,$zero -/* f0733d4: 0c005775 */ jal mtx00015dd4 +/* f0733d4: 0c005775 */ jal mtx4SetTranslation /* f0733d8: 02802825 */ or $a1,$s4,$zero /* f0733dc: 8fa402ac */ lw $a0,0x2ac($sp) -/* f0733e0: 0c00567f */ jal mtx000159fc +/* f0733e0: 0c00567f */ jal mtx4MultMtx4InPlace /* f0733e4: 02802825 */ or $a1,$s4,$zero /* f0733e8: 02802025 */ or $a0,$s4,$zero -/* f0733ec: 0c005768 */ jal mtx00015da0 +/* f0733ec: 0c005768 */ jal mtx4ToMtx3 /* f0733f0: 02202825 */ or $a1,$s1,$zero /* f0733f4: c7a80088 */ lwc1 $f8,0x88($sp) /* f0733f8: 02002025 */ or $a0,$s0,$zero @@ -21800,15 +21800,15 @@ glabel var7f1aa3d0 /* f073654: c6520014 */ lwc1 $f18,0x14($s2) /* f073658: 27b10118 */ addiu $s1,$sp,0x118 /* f07365c: 02202825 */ or $a1,$s1,$zero -/* f073660: 0c0058ba */ jal mtx000162e8 +/* f073660: 0c0058ba */ jal mtx4LoadXRotation /* f073664: 46128301 */ sub.s $f12,$f16,$f18 /* f073668: c64c0018 */ lwc1 $f12,0x18($s2) -/* f07366c: 0c0058dd */ jal mtx00016374 +/* f07366c: 0c0058dd */ jal mtx4LoadYRotation /* f073670: 27a500d8 */ addiu $a1,$sp,0xd8 /* f073674: 27b00098 */ addiu $s0,$sp,0x98 /* f073678: 02003025 */ or $a2,$s0,$zero /* f07367c: 27a400d8 */ addiu $a0,$sp,0xd8 -/* f073680: 0c005680 */ jal mtx00015a00 +/* f073680: 0c005680 */ jal mtx4MultMtx4 /* f073684: 02202825 */ or $a1,$s1,$zero /* f073688: 8fae0188 */ lw $t6,0x188($sp) /* f07368c: 02002825 */ or $a1,$s0,$zero @@ -21817,7 +21817,7 @@ glabel var7f1aa3d0 /* f073698: c5ec0014 */ lwc1 $f12,0x14($t7) /* f07369c: 8fa50188 */ lw $a1,0x188($sp) /* f0736a0: 02002025 */ or $a0,$s0,$zero -/* f0736a4: 0c005768 */ jal mtx00015da0 +/* f0736a4: 0c005768 */ jal mtx4ToMtx3 /* f0736a8: 24a5001c */ addiu $a1,$a1,0x1c .L0f0736ac: /* f0736ac: 3c15800a */ lui $s5,%hi(g_Vars) @@ -22257,15 +22257,15 @@ glabel var7f1aa3d0 /* f073654: c6520014 */ lwc1 $f18,0x14($s2) /* f073658: 27b10118 */ addiu $s1,$sp,0x118 /* f07365c: 02202825 */ or $a1,$s1,$zero -/* f073660: 0c0058ba */ jal mtx000162e8 +/* f073660: 0c0058ba */ jal mtx4LoadXRotation /* f073664: 46128301 */ sub.s $f12,$f16,$f18 /* f073668: c64c0018 */ lwc1 $f12,0x18($s2) -/* f07366c: 0c0058dd */ jal mtx00016374 +/* f07366c: 0c0058dd */ jal mtx4LoadYRotation /* f073670: 27a500d8 */ addiu $a1,$sp,0xd8 /* f073674: 27b00098 */ addiu $s0,$sp,0x98 /* f073678: 02003025 */ or $a2,$s0,$zero /* f07367c: 27a400d8 */ addiu $a0,$sp,0xd8 -/* f073680: 0c005680 */ jal mtx00015a00 +/* f073680: 0c005680 */ jal mtx4MultMtx4 /* f073684: 02202825 */ or $a1,$s1,$zero /* f073688: 8fae0188 */ lw $t6,0x188($sp) /* f07368c: 02002825 */ or $a1,$s0,$zero @@ -22274,7 +22274,7 @@ glabel var7f1aa3d0 /* f073698: c5ec0014 */ lwc1 $f12,0x14($t7) /* f07369c: 8fa50188 */ lw $a1,0x188($sp) /* f0736a0: 02002025 */ or $a0,$s0,$zero -/* f0736a4: 0c005768 */ jal mtx00015da0 +/* f0736a4: 0c005768 */ jal mtx4ToMtx3 /* f0736a8: 24a5001c */ addiu $a1,$a1,0x1c .L0f0736ac: /* f0736ac: 3c15800a */ lui $s5,%hi(g_Vars) @@ -22920,11 +22920,11 @@ glabel var7f1ab6dcpf /* f073ff0: 30490800 */ andi $t1,$v0,0x800 /* f073ff4: 11200379 */ beqz $t1,.PF0f074ddc /* f073ff8: 304e0001 */ andi $t6,$v0,0x1 -/* f073ffc: 0c0056b9 */ jal mtx00015d54 +/* f073ffc: 0c0056b9 */ jal mtx3ToMtx4 /* f074000: afa40074 */ sw $a0,0x74($sp) /* f074004: 26440008 */ addiu $a0,$s2,0x8 /* f074008: afa40070 */ sw $a0,0x70($sp) -/* f07400c: 0c0056d9 */ jal mtx00015dd4 +/* f07400c: 0c0056d9 */ jal mtx4SetTranslation /* f074010: 27a50504 */ addiu $a1,$sp,0x504 /* f074014: 4480a000 */ mtc1 $zero,$f20 /* f074018: c60000dc */ lwc1 $f0,0xdc($s0) @@ -23847,10 +23847,10 @@ glabel var7f1ab6dcpf /* f074d84: 24060001 */ li $a2,0x1 /* f074d88: 27b00484 */ addiu $s0,$sp,0x484 /* f074d8c: 02002825 */ move $a1,$s0 -/* f074d90: 0c0056b9 */ jal mtx00015d54 +/* f074d90: 0c0056b9 */ jal mtx3ToMtx4 /* f074d94: 8fa40074 */ lw $a0,0x74($sp) /* f074d98: 8fa40070 */ lw $a0,0x70($sp) -/* f074d9c: 0c0056d9 */ jal mtx00015dd4 +/* f074d9c: 0c0056d9 */ jal mtx4SetTranslation /* f074da0: 02002825 */ move $a1,$s0 /* f074da4: 27b104c4 */ addiu $s1,$sp,0x4c4 /* f074da8: 02202825 */ move $a1,$s1 @@ -23858,7 +23858,7 @@ glabel var7f1ab6dcpf /* f074db0: 27a40504 */ addiu $a0,$sp,0x504 /* f074db4: 02002025 */ move $a0,$s0 /* f074db8: 02202825 */ move $a1,$s1 -/* f074dbc: 0c0055e4 */ jal mtx00015a00 +/* f074dbc: 0c0055e4 */ jal mtx4MultMtx4 /* f074dc0: 27a60544 */ addiu $a2,$sp,0x544 /* f074dc4: 02402025 */ move $a0,$s2 /* f074dc8: 0fc1cd53 */ jal func0f0732d4 @@ -23926,7 +23926,7 @@ glabel var7f1ab6dcpf /* f074eac: 27a50358 */ addiu $a1,$sp,0x358 /* f074eb0: 018e7821 */ addu $t7,$t4,$t6 /* f074eb4: ae0f00a0 */ sw $t7,0xa0($s0) -/* f074eb8: 0c00569a */ jal mtx00015cd8 +/* f074eb8: 0c00569a */ jal mtx3Copy /* f074ebc: afa40074 */ sw $a0,0x74($sp) /* f074ec0: 8e180000 */ lw $t8,0x0($s0) /* f074ec4: 3c017f1b */ lui $at,0x7f1b @@ -24067,7 +24067,7 @@ glabel var7f1ab6dcpf /* f0750cc: 0c0127b4 */ jal sqrtf /* f0750d0: 46064300 */ add.s $f12,$f8,$f6 /* f0750d4: 27a402a0 */ addiu $a0,$sp,0x2a0 -/* f0750d8: 0c0055d0 */ jal mtx000159b0 +/* f0750d8: 0c0055d0 */ jal mtx4LoadIdentity /* f0750dc: e7a0029c */ swc1 $f0,0x29c($sp) /* f0750e0: c7ae029c */ lwc1 $f14,0x29c($sp) /* f0750e4: c624001c */ lwc1 $f4,0x1c($s1) @@ -24283,7 +24283,7 @@ glabel var7f1ab6dcpf /* f07541c: e6140014 */ swc1 $f20,0x14($s0) /* f075420: e6140010 */ swc1 $f20,0x10($s0) /* f075424: 27a4020c */ addiu $a0,$sp,0x20c -/* f075428: 0c005628 */ jal mtx00015b10 +/* f075428: 0c005628 */ jal mtx4RotateVecInPlace /* f07542c: 26050004 */ addiu $a1,$s0,0x4 /* f075430: 27a402a0 */ addiu $a0,$sp,0x2a0 /* f075434: 0fc25bd9 */ jal func0f097044 @@ -24402,7 +24402,7 @@ glabel var7f1ab6dcpf /* f0755e0: c608000c */ lwc1 $f8,0xc($s0) /* f0755e4: 46024182 */ mul.s $f6,$f8,$f2 /* f0755e8: 46065100 */ add.s $f4,$f10,$f6 -/* f0755ec: 0c0056b9 */ jal mtx00015d54 +/* f0755ec: 0c0056b9 */ jal mtx3ToMtx4 /* f0755f0: e7a405e4 */ swc1 $f4,0x5e4($sp) /* f0755f4: 26050020 */ addiu $a1,$s0,0x20 /* f0755f8: 3c06800a */ lui $a2,0x800a @@ -24411,7 +24411,7 @@ glabel var7f1ab6dcpf /* f075604: 0fc2596e */ jal func0f096698 /* f075608: 27a4030c */ addiu $a0,$sp,0x30c /* f07560c: 27a4030c */ addiu $a0,$sp,0x30c -/* f075610: 0c0056cc */ jal mtx00015da0 +/* f075610: 0c0056cc */ jal mtx4ToMtx3 /* f075614: 8fa50074 */ lw $a1,0x74($sp) /* f075618: c6480008 */ lwc1 $f8,0x8($s2) /* f07561c: 26440028 */ addiu $a0,$s2,0x28 @@ -24787,13 +24787,13 @@ glabel var7f1ab6dcpf /* f075b74: afa20184 */ sw $v0,0x184($sp) /* f075b78: 00402025 */ move $a0,$v0 /* f075b7c: 27a505e8 */ addiu $a1,$sp,0x5e8 -/* f075b80: 0c00563e */ jal mtx00015b68 +/* f075b80: 0c00563e */ jal mtx4TransformVec /* f075b84: 27a601c8 */ addiu $a2,$sp,0x1c8 /* f075b88: 8fa40184 */ lw $a0,0x184($sp) /* f075b8c: 0c005bcb */ jal mtx0001719c /* f075b90: 27a50188 */ addiu $a1,$sp,0x188 /* f075b94: 27a40188 */ addiu $a0,$sp,0x188 -/* f075b98: 0c00563d */ jal mtx00015b64 +/* f075b98: 0c00563d */ jal mtx4TransformVecInPlace /* f075b9c: 27a501c8 */ addiu $a1,$sp,0x1c8 /* f075ba0: 3c04800a */ lui $a0,0x800a /* f075ba4: 3c058007 */ lui $a1,0x8007 @@ -26044,7 +26044,7 @@ glabel var7f1ab6dcpf /* f076d98: 0c00571b */ jal mtx00015edc /* f076d9c: 27a500ac */ addiu $a1,$sp,0xac /* f076da0: 27a400ac */ addiu $a0,$sp,0xac -/* f076da4: 0c0056cc */ jal mtx00015da0 +/* f076da4: 0c0056cc */ jal mtx4ToMtx3 /* f076da8: 2625001c */ addiu $a1,$s1,0x1c /* f076dac: 3c013f80 */ lui $at,0x3f80 /* f076db0: 44816000 */ mtc1 $at,$f12 @@ -26461,11 +26461,11 @@ glabel var7f1aa438 /* f073d78: 30490800 */ andi $t1,$v0,0x800 /* f073d7c: 11200376 */ beqz $t1,.L0f074b58 /* f073d80: 304e0001 */ andi $t6,$v0,0x1 -/* f073d84: 0c005755 */ jal mtx00015d54 +/* f073d84: 0c005755 */ jal mtx3ToMtx4 /* f073d88: afa40074 */ sw $a0,0x74($sp) /* f073d8c: 26440008 */ addiu $a0,$s2,0x8 /* f073d90: afa40070 */ sw $a0,0x70($sp) -/* f073d94: 0c005775 */ jal mtx00015dd4 +/* f073d94: 0c005775 */ jal mtx4SetTranslation /* f073d98: 27a50504 */ addiu $a1,$sp,0x504 /* f073d9c: 4480a000 */ mtc1 $zero,$f20 /* f073da0: c60000dc */ lwc1 $f0,0xdc($s0) @@ -27385,10 +27385,10 @@ glabel var7f1aa438 /* f074b00: 24060001 */ addiu $a2,$zero,0x1 /* f074b04: 27b00484 */ addiu $s0,$sp,0x484 /* f074b08: 02002825 */ or $a1,$s0,$zero -/* f074b0c: 0c005755 */ jal mtx00015d54 +/* f074b0c: 0c005755 */ jal mtx3ToMtx4 /* f074b10: 8fa40074 */ lw $a0,0x74($sp) /* f074b14: 8fa40070 */ lw $a0,0x70($sp) -/* f074b18: 0c005775 */ jal mtx00015dd4 +/* f074b18: 0c005775 */ jal mtx4SetTranslation /* f074b1c: 02002825 */ or $a1,$s0,$zero /* f074b20: 27b104c4 */ addiu $s1,$sp,0x4c4 /* f074b24: 02202825 */ or $a1,$s1,$zero @@ -27396,7 +27396,7 @@ glabel var7f1aa438 /* f074b2c: 27a40504 */ addiu $a0,$sp,0x504 /* f074b30: 02002025 */ or $a0,$s0,$zero /* f074b34: 02202825 */ or $a1,$s1,$zero -/* f074b38: 0c005680 */ jal mtx00015a00 +/* f074b38: 0c005680 */ jal mtx4MultMtx4 /* f074b3c: 27a60544 */ addiu $a2,$sp,0x544 /* f074b40: 02402025 */ or $a0,$s2,$zero /* f074b44: 0fc1ccb5 */ jal func0f0732d4 @@ -27464,7 +27464,7 @@ glabel var7f1aa438 /* f074c28: 27a50358 */ addiu $a1,$sp,0x358 /* f074c2c: 018e7821 */ addu $t7,$t4,$t6 /* f074c30: ae0f00a0 */ sw $t7,0xa0($s0) -/* f074c34: 0c005736 */ jal mtx00015cd8 +/* f074c34: 0c005736 */ jal mtx3Copy /* f074c38: afa40074 */ sw $a0,0x74($sp) /* f074c3c: 8e180000 */ lw $t8,0x0($s0) /* f074c40: 3c017f1b */ lui $at,%hi(var7f1aa3f4) @@ -27605,7 +27605,7 @@ glabel var7f1aa438 /* f074e48: 0c012974 */ jal sqrtf /* f074e4c: 46043300 */ add.s $f12,$f6,$f4 /* f074e50: 27a402a0 */ addiu $a0,$sp,0x2a0 -/* f074e54: 0c00566c */ jal mtx000159b0 +/* f074e54: 0c00566c */ jal mtx4LoadIdentity /* f074e58: e7a0029c */ swc1 $f0,0x29c($sp) /* f074e5c: c7a2029c */ lwc1 $f2,0x29c($sp) /* f074e60: c62a001c */ lwc1 $f10,0x1c($s1) @@ -27821,7 +27821,7 @@ glabel var7f1aa438 /* f075198: e6140014 */ swc1 $f20,0x14($s0) /* f07519c: e6140010 */ swc1 $f20,0x10($s0) /* f0751a0: 27a4020c */ addiu $a0,$sp,0x20c -/* f0751a4: 0c0056c4 */ jal mtx00015b10 +/* f0751a4: 0c0056c4 */ jal mtx4RotateVecInPlace /* f0751a8: 26050004 */ addiu $a1,$s0,0x4 /* f0751ac: 27a402a0 */ addiu $a0,$sp,0x2a0 /* f0751b0: 0fc25c11 */ jal func0f097044 @@ -27940,7 +27940,7 @@ glabel var7f1aa438 /* f07535c: c606000c */ lwc1 $f6,0xc($s0) /* f075360: 46023102 */ mul.s $f4,$f6,$f2 /* f075364: 46044280 */ add.s $f10,$f8,$f4 -/* f075368: 0c005755 */ jal mtx00015d54 +/* f075368: 0c005755 */ jal mtx3ToMtx4 /* f07536c: e7aa05e4 */ swc1 $f10,0x5e4($sp) /* f075370: 26050020 */ addiu $a1,$s0,0x20 /* f075374: 3c06800a */ lui $a2,%hi(g_Vars+0x34) @@ -27949,7 +27949,7 @@ glabel var7f1aa438 /* f075380: 0fc259a6 */ jal func0f096698 /* f075384: 27a4030c */ addiu $a0,$sp,0x30c /* f075388: 27a4030c */ addiu $a0,$sp,0x30c -/* f07538c: 0c005768 */ jal mtx00015da0 +/* f07538c: 0c005768 */ jal mtx4ToMtx3 /* f075390: 8fa50074 */ lw $a1,0x74($sp) /* f075394: c6460008 */ lwc1 $f6,0x8($s2) /* f075398: 26440028 */ addiu $a0,$s2,0x28 @@ -28325,13 +28325,13 @@ glabel var7f1aa438 /* f0758f0: afa20184 */ sw $v0,0x184($sp) /* f0758f4: 00402025 */ or $a0,$v0,$zero /* f0758f8: 27a505e8 */ addiu $a1,$sp,0x5e8 -/* f0758fc: 0c0056da */ jal mtx00015b68 +/* f0758fc: 0c0056da */ jal mtx4TransformVec /* f075900: 27a601c8 */ addiu $a2,$sp,0x1c8 /* f075904: 8fa40184 */ lw $a0,0x184($sp) /* f075908: 0c005c67 */ jal mtx0001719c /* f07590c: 27a50188 */ addiu $a1,$sp,0x188 /* f075910: 27a40188 */ addiu $a0,$sp,0x188 -/* f075914: 0c0056d9 */ jal mtx00015b64 +/* f075914: 0c0056d9 */ jal mtx4TransformVecInPlace /* f075918: 27a501c8 */ addiu $a1,$sp,0x1c8 /* f07591c: 3c04800a */ lui $a0,%hi(var8009ce70) /* f075920: 3c058007 */ lui $a1,%hi(var80069934) @@ -29582,7 +29582,7 @@ glabel var7f1aa438 /* f076b14: 0c0057b7 */ jal mtx00015edc /* f076b18: 27a500ac */ addiu $a1,$sp,0xac /* f076b1c: 27a400ac */ addiu $a0,$sp,0xac -/* f076b20: 0c005768 */ jal mtx00015da0 +/* f076b20: 0c005768 */ jal mtx4ToMtx3 /* f076b24: 2625001c */ addiu $a1,$s1,0x1c /* f076b28: 3c013f80 */ lui $at,0x3f80 /* f076b2c: 44816000 */ mtc1 $at,$f12 @@ -29993,11 +29993,11 @@ glabel var7f1aa438 /* f072b0c: 30490800 */ andi $t1,$v0,0x800 /* f072b10: 11200370 */ beqz $t1,.NB0f0738d4 /* f072b14: 304d0001 */ andi $t5,$v0,0x1 -/* f072b18: 0c005b11 */ jal mtx00015d54 +/* f072b18: 0c005b11 */ jal mtx3ToMtx4 /* f072b1c: afa40078 */ sw $a0,0x78($sp) /* f072b20: 26440008 */ addiu $a0,$s2,0x8 /* f072b24: afa40074 */ sw $a0,0x74($sp) -/* f072b28: 0c005b31 */ jal mtx00015dd4 +/* f072b28: 0c005b31 */ jal mtx4SetTranslation /* f072b2c: 27a50504 */ addiu $a1,$sp,0x504 /* f072b30: 4480a000 */ mtc1 $zero,$f20 /* f072b34: c60000dc */ lwc1 $f0,0xdc($s0) @@ -30910,10 +30910,10 @@ glabel var7f1aa438 /* f07387c: 24060001 */ addiu $a2,$zero,0x1 /* f073880: 27b00484 */ addiu $s0,$sp,0x484 /* f073884: 02002825 */ or $a1,$s0,$zero -/* f073888: 0c005b11 */ jal mtx00015d54 +/* f073888: 0c005b11 */ jal mtx3ToMtx4 /* f07388c: 8fa40078 */ lw $a0,0x78($sp) /* f073890: 8fa40074 */ lw $a0,0x74($sp) -/* f073894: 0c005b31 */ jal mtx00015dd4 +/* f073894: 0c005b31 */ jal mtx4SetTranslation /* f073898: 02002825 */ or $a1,$s0,$zero /* f07389c: 27b104c4 */ addiu $s1,$sp,0x4c4 /* f0738a0: 02202825 */ or $a1,$s1,$zero @@ -30921,7 +30921,7 @@ glabel var7f1aa438 /* f0738a8: 27a40504 */ addiu $a0,$sp,0x504 /* f0738ac: 02002025 */ or $a0,$s0,$zero /* f0738b0: 02202825 */ or $a1,$s1,$zero -/* f0738b4: 0c005a3c */ jal mtx00015a00 +/* f0738b4: 0c005a3c */ jal mtx4MultMtx4 /* f0738b8: 27a60544 */ addiu $a2,$sp,0x544 /* f0738bc: 02402025 */ or $a0,$s2,$zero /* f0738c0: 0fc1c81a */ jal func0f0732d4 @@ -30989,7 +30989,7 @@ glabel var7f1aa438 /* f0739a4: 27a50358 */ addiu $a1,$sp,0x358 /* f0739a8: 016d7021 */ addu $t6,$t3,$t5 /* f0739ac: ae0e00a0 */ sw $t6,0xa0($s0) -/* f0739b0: 0c005af2 */ jal mtx00015cd8 +/* f0739b0: 0c005af2 */ jal mtx3Copy /* f0739b4: afa40078 */ sw $a0,0x78($sp) /* f0739b8: 8e0f0000 */ lw $t7,0x0($s0) /* f0739bc: 3c017f1a */ lui $at,0x7f1a @@ -31130,7 +31130,7 @@ glabel var7f1aa438 /* f073bc4: 0c012e84 */ jal sqrtf /* f073bc8: 46043300 */ add.s $f12,$f6,$f4 /* f073bcc: 27a402a0 */ addiu $a0,$sp,0x2a0 -/* f073bd0: 0c005a28 */ jal mtx000159b0 +/* f073bd0: 0c005a28 */ jal mtx4LoadIdentity /* f073bd4: e7a0029c */ swc1 $f0,0x29c($sp) /* f073bd8: c7a2029c */ lwc1 $f2,0x29c($sp) /* f073bdc: c62a001c */ lwc1 $f10,0x1c($s1) @@ -31346,7 +31346,7 @@ glabel var7f1aa438 /* f073f14: e6140014 */ swc1 $f20,0x14($s0) /* f073f18: e6140010 */ swc1 $f20,0x10($s0) /* f073f1c: 27a4020c */ addiu $a0,$sp,0x20c -/* f073f20: 0c005a80 */ jal mtx00015b10 +/* f073f20: 0c005a80 */ jal mtx4RotateVecInPlace /* f073f24: 26050004 */ addiu $a1,$s0,0x4 /* f073f28: 27a402a0 */ addiu $a0,$sp,0x2a0 /* f073f2c: 0fc253f5 */ jal func0f097044 @@ -31465,7 +31465,7 @@ glabel var7f1aa438 /* f0740d8: c606000c */ lwc1 $f6,0xc($s0) /* f0740dc: 46023102 */ mul.s $f4,$f6,$f2 /* f0740e0: 46044280 */ add.s $f10,$f8,$f4 -/* f0740e4: 0c005b11 */ jal mtx00015d54 +/* f0740e4: 0c005b11 */ jal mtx3ToMtx4 /* f0740e8: e7aa05e4 */ swc1 $f10,0x5e4($sp) /* f0740ec: 26050020 */ addiu $a1,$s0,0x20 /* f0740f0: 3c06800a */ lui $a2,0x800a @@ -31474,7 +31474,7 @@ glabel var7f1aa438 /* f0740fc: 0fc2518a */ jal func0f096698 /* f074100: 27a4030c */ addiu $a0,$sp,0x30c /* f074104: 27a4030c */ addiu $a0,$sp,0x30c -/* f074108: 0c005b24 */ jal mtx00015da0 +/* f074108: 0c005b24 */ jal mtx4ToMtx3 /* f07410c: 8fa50078 */ lw $a1,0x78($sp) /* f074110: c6460008 */ lwc1 $f6,0x8($s2) /* f074114: 26440028 */ addiu $a0,$s2,0x28 @@ -31827,13 +31827,13 @@ glabel var7f1aa438 /* f07461c: afa20188 */ sw $v0,0x188($sp) /* f074620: 00402025 */ or $a0,$v0,$zero /* f074624: 27a505e8 */ addiu $a1,$sp,0x5e8 -/* f074628: 0c005a96 */ jal mtx00015b68 +/* f074628: 0c005a96 */ jal mtx4TransformVec /* f07462c: 27a601cc */ addiu $a2,$sp,0x1cc /* f074630: 8fa40188 */ lw $a0,0x188($sp) /* f074634: 0c006082 */ jal mtx0001719c /* f074638: 27a5018c */ addiu $a1,$sp,0x18c /* f07463c: 27a4018c */ addiu $a0,$sp,0x18c -/* f074640: 0c005a95 */ jal mtx00015b64 +/* f074640: 0c005a95 */ jal mtx4TransformVecInPlace /* f074644: 27a501cc */ addiu $a1,$sp,0x1cc /* f074648: 3c04800a */ lui $a0,0x800a /* f07464c: 3c058007 */ lui $a1,0x8007 @@ -33020,7 +33020,7 @@ glabel var7f1aa438 /* f07574c: 0c005b73 */ jal mtx00015edc /* f075750: 27a500ac */ addiu $a1,$sp,0xac /* f075754: 27a400ac */ addiu $a0,$sp,0xac -/* f075758: 0c005b24 */ jal mtx00015da0 +/* f075758: 0c005b24 */ jal mtx4ToMtx3 /* f07575c: 2625001c */ addiu $a1,$s1,0x1c /* f075760: 3c013f80 */ lui $at,0x3f80 /* f075764: 44816000 */ mtc1 $at,$f12 @@ -33551,13 +33551,13 @@ glabel var7f1aa44c /* f0774e4: 26b10040 */ addiu $s1,$s5,0x40 /* f0774e8: 00408025 */ or $s0,$v0,$zero /* f0774ec: 02202825 */ or $a1,$s1,$zero -/* f0774f0: 0c0058ba */ jal mtx000162e8 +/* f0774f0: 0c0058ba */ jal mtx4LoadXRotation /* f0774f4: 4600a306 */ mov.s $f12,$f20 /* f0774f8: 02002025 */ or $a0,$s0,$zero -/* f0774fc: 0c005775 */ jal mtx00015dd4 +/* f0774fc: 0c005775 */ jal mtx4SetTranslation /* f077500: 02202825 */ or $a1,$s1,$zero /* f077504: 02a02025 */ or $a0,$s5,$zero -/* f077508: 0c00567f */ jal mtx000159fc +/* f077508: 0c00567f */ jal mtx4MultMtx4InPlace /* f07750c: 02202825 */ or $a1,$s1,$zero /* f077510: 8ec40008 */ lw $a0,0x8($s6) /* f077514: 0c006a6f */ jal modelGetPartRodata @@ -33565,13 +33565,13 @@ glabel var7f1aa44c /* f07751c: 26b10080 */ addiu $s1,$s5,0x80 /* f077520: 00408025 */ or $s0,$v0,$zero /* f077524: 02202825 */ or $a1,$s1,$zero -/* f077528: 0c0058ba */ jal mtx000162e8 +/* f077528: 0c0058ba */ jal mtx4LoadXRotation /* f07752c: 4614b301 */ sub.s $f12,$f22,$f20 /* f077530: 02002025 */ or $a0,$s0,$zero -/* f077534: 0c005775 */ jal mtx00015dd4 +/* f077534: 0c005775 */ jal mtx4SetTranslation /* f077538: 02202825 */ or $a1,$s1,$zero /* f07753c: 02a02025 */ or $a0,$s5,$zero -/* f077540: 0c00567f */ jal mtx000159fc +/* f077540: 0c00567f */ jal mtx4MultMtx4InPlace /* f077544: 02202825 */ or $a1,$s1,$zero /* f077548: 1000003c */ b .L0f07763c /* f07754c: 8fbf0044 */ lw $ra,0x44($sp) @@ -33609,13 +33609,13 @@ glabel var7f1aa44c /* f0775c0: 02b89021 */ addu $s2,$s5,$t8 /* f0775c4: 00408025 */ or $s0,$v0,$zero /* f0775c8: 02402825 */ or $a1,$s2,$zero -/* f0775cc: 0c005900 */ jal mtx00016400 +/* f0775cc: 0c005900 */ jal mtx4LoadZRotation /* f0775d0: 4600a306 */ mov.s $f12,$f20 /* f0775d4: 02002025 */ or $a0,$s0,$zero -/* f0775d8: 0c005775 */ jal mtx00015dd4 +/* f0775d8: 0c005775 */ jal mtx4SetTranslation /* f0775dc: 02402825 */ or $a1,$s2,$zero /* f0775e0: 02a02025 */ or $a0,$s5,$zero -/* f0775e4: 0c00567f */ jal mtx000159fc +/* f0775e4: 0c00567f */ jal mtx4MultMtx4InPlace /* f0775e8: 02402825 */ or $a1,$s2,$zero /* f0775ec: 26330002 */ addiu $s3,$s1,0x2 /* f0775f0: 02602825 */ or $a1,$s3,$zero @@ -33625,13 +33625,13 @@ glabel var7f1aa44c /* f077600: 02b98821 */ addu $s1,$s5,$t9 /* f077604: 00408025 */ or $s0,$v0,$zero /* f077608: 02202825 */ or $a1,$s1,$zero -/* f07760c: 0c005900 */ jal mtx00016400 +/* f07760c: 0c005900 */ jal mtx4LoadZRotation /* f077610: 4600b306 */ mov.s $f12,$f22 /* f077614: 02002025 */ or $a0,$s0,$zero -/* f077618: 0c005775 */ jal mtx00015dd4 +/* f077618: 0c005775 */ jal mtx4SetTranslation /* f07761c: 02202825 */ or $a1,$s1,$zero /* f077620: 02402025 */ or $a0,$s2,$zero -/* f077624: 0c00567f */ jal mtx000159fc +/* f077624: 0c00567f */ jal mtx4MultMtx4InPlace /* f077628: 02202825 */ or $a1,$s1,$zero /* f07762c: 26940001 */ addiu $s4,$s4,0x1 /* f077630: 5697ffde */ bnel $s4,$s7,.L0f0775ac @@ -35178,14 +35178,14 @@ glabel var7f1aa4ac .L0f0789ac: /* f0789ac: afa3007c */ sw $v1,0x7c($sp) .L0f0789b0: -/* f0789b0: 0c0058dd */ jal mtx00016374 +/* f0789b0: 0c0058dd */ jal mtx4LoadYRotation /* f0789b4: afa70070 */ sw $a3,0x70($sp) /* f0789b8: 8fa60074 */ lw $a2,0x74($sp) /* f0789bc: 8fa3007c */ lw $v1,0x7c($sp) /* f0789c0: 27a40024 */ addiu $a0,$sp,0x24 /* f0789c4: 24c60040 */ addiu $a2,$a2,0x40 /* f0789c8: afa60018 */ sw $a2,0x18($sp) -/* f0789cc: 0c005680 */ jal mtx00015a00 +/* f0789cc: 0c005680 */ jal mtx4MultMtx4 /* f0789d0: 24650060 */ addiu $a1,$v1,0x60 /* f0789d4: 8fa70070 */ lw $a3,0x70($sp) /* f0789d8: 8fa40084 */ lw $a0,0x84($sp) @@ -35195,10 +35195,10 @@ glabel var7f1aa4ac /* f0789e8: c4e80004 */ lwc1 $f8,0x4($a3) /* f0789ec: e7a80068 */ swc1 $f8,0x68($sp) /* f0789f0: c4ea0008 */ lwc1 $f10,0x8($a3) -/* f0789f4: 0c0056d9 */ jal mtx00015b64 +/* f0789f4: 0c0056d9 */ jal mtx4TransformVecInPlace /* f0789f8: e7aa006c */ swc1 $f10,0x6c($sp) /* f0789fc: 27a40064 */ addiu $a0,$sp,0x64 -/* f078a00: 0c005775 */ jal mtx00015dd4 +/* f078a00: 0c005775 */ jal mtx4SetTranslation /* f078a04: 8fa50018 */ lw $a1,0x18($sp) /* f078a08: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f078a0c: 00000000 */ nop @@ -35272,10 +35272,10 @@ void fanUpdateModel(struct prop *prop) angle -= M_BADTAU; } - mtx00016374(angle, &sp6c); - mtx00015da0(&sp6c, sp48); + mtx4LoadYRotation(angle, &sp6c); + mtx4ToMtx3(&sp6c, sp48); mtx00016140(fan->base.realrot, sp48, sp24); - mtx00015cd8(sp24, fan->base.realrot); + mtx3Copy(sp24, fan->base.realrot); } #if VERSION >= VERSION_PAL_FINAL @@ -37767,15 +37767,15 @@ glabel var7f1aa588 /* f079d20: c4520004 */ lwc1 $f18,0x4($v0) /* f079d24: e7b20050 */ swc1 $f18,0x50($sp) /* f079d28: c4440008 */ lwc1 $f4,0x8($v0) -/* f079d2c: 0c0056d9 */ jal mtx00015b64 +/* f079d2c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f079d30: e7a40054 */ swc1 $f4,0x54($sp) /* f079d34: 8fa5005c */ lw $a1,0x5c($sp) /* f079d38: c7ac0048 */ lwc1 $f12,0x48($sp) /* f079d3c: 24a50040 */ addiu $a1,$a1,0x40 -/* f079d40: 0c0058dd */ jal mtx00016374 +/* f079d40: 0c0058dd */ jal mtx4LoadYRotation /* f079d44: afa50028 */ sw $a1,0x28($sp) /* f079d48: 27a4004c */ addiu $a0,$sp,0x4c -/* f079d4c: 0c005775 */ jal mtx00015dd4 +/* f079d4c: 0c005775 */ jal mtx4SetTranslation /* f079d50: 8fa50028 */ lw $a1,0x28($sp) /* f079d54: 8faf0064 */ lw $t7,0x64($sp) /* f079d58: 8fa50028 */ lw $a1,0x28($sp) @@ -37796,10 +37796,10 @@ glabel var7f1aa588 /* f079d94: 24a50080 */ addiu $a1,$a1,0x80 /* f079d98: afa50024 */ sw $a1,0x24($sp) /* f079d9c: c7ac0044 */ lwc1 $f12,0x44($sp) -/* f079da0: 0c005900 */ jal mtx00016400 +/* f079da0: 0c005900 */ jal mtx4LoadZRotation /* f079da4: afb90058 */ sw $t9,0x58($sp) /* f079da8: 8fa40058 */ lw $a0,0x58($sp) -/* f079dac: 0c005775 */ jal mtx00015dd4 +/* f079dac: 0c005775 */ jal mtx4SetTranslation /* f079db0: 8fa50024 */ lw $a1,0x24($sp) /* f079db4: 8fa40028 */ lw $a0,0x28($sp) /* f079db8: 0c0056f8 */ jal mtx00015be0 @@ -37815,10 +37815,10 @@ glabel var7f1aa588 /* f079de0: c7a60044 */ lwc1 $f6,0x44($sp) /* f079de4: 00402825 */ or $a1,$v0,$zero /* f079de8: 46083302 */ mul.s $f12,$f6,$f8 -/* f079dec: 0c005900 */ jal mtx00016400 +/* f079dec: 0c005900 */ jal mtx4LoadZRotation /* f079df0: 00000000 */ nop /* f079df4: 8fa40058 */ lw $a0,0x58($sp) -/* f079df8: 0c005775 */ jal mtx00015dd4 +/* f079df8: 0c005775 */ jal mtx4SetTranslation /* f079dfc: 02002825 */ or $a1,$s0,$zero /* f079e00: 8fa40028 */ lw $a0,0x28($sp) /* f079e04: 0c0056f8 */ jal mtx00015be0 @@ -37839,10 +37839,10 @@ glabel var7f1aa588 /* f079e3c: 8ce80004 */ lw $t0,0x4($a3) /* f079e40: 00402825 */ or $a1,$v0,$zero /* f079e44: afa80058 */ sw $t0,0x58($sp) -/* f079e48: 0c0058ba */ jal mtx000162e8 +/* f079e48: 0c0058ba */ jal mtx4LoadXRotation /* f079e4c: c52c008c */ lwc1 $f12,0x8c($t1) /* f079e50: 8fa40058 */ lw $a0,0x58($sp) -/* f079e54: 0c005775 */ jal mtx00015dd4 +/* f079e54: 0c005775 */ jal mtx4SetTranslation /* f079e58: 02002825 */ or $a1,$s0,$zero /* f079e5c: 8fa40024 */ lw $a0,0x24($sp) /* f079e60: 0c0056f8 */ jal mtx00015be0 @@ -37881,10 +37881,10 @@ glabel var7f1aa588 /* f079edc: 8cea0004 */ lw $t2,0x4($a3) /* f079ee0: 00402825 */ or $a1,$v0,$zero /* f079ee4: afaa0058 */ sw $t2,0x58($sp) -/* f079ee8: 0c0058ba */ jal mtx000162e8 +/* f079ee8: 0c0058ba */ jal mtx4LoadXRotation /* f079eec: c56c008c */ lwc1 $f12,0x8c($t3) /* f079ef0: 8fa40058 */ lw $a0,0x58($sp) -/* f079ef4: 0c005775 */ jal mtx00015dd4 +/* f079ef4: 0c005775 */ jal mtx4SetTranslation /* f079ef8: 02002825 */ or $a1,$s0,$zero /* f079efc: 8fa40024 */ lw $a0,0x24($sp) /* f079f00: 0c0056f8 */ jal mtx00015be0 @@ -38077,7 +38077,7 @@ glabel var7f1aa5a8 /* f07a164: 0c0056f9 */ jal mtx00015be4 /* f07a168: 27a600c8 */ addiu $a2,$sp,0xc8 /* f07a16c: 27a400c8 */ addiu $a0,$sp,0xc8 -/* f07a170: 0c0056d9 */ jal mtx00015b64 +/* f07a170: 0c0056d9 */ jal mtx4TransformVecInPlace /* f07a174: 27a50168 */ addiu $a1,$sp,0x168 /* f07a178: 8fa20198 */ lw $v0,0x198($sp) /* f07a17c: 240a0020 */ addiu $t2,$zero,0x20 @@ -39039,7 +39039,7 @@ glabel var7f1aa5a8 /* f07a164: 0c0056f9 */ jal mtx00015be4 /* f07a168: 27a600c8 */ addiu $a2,$sp,0xc8 /* f07a16c: 27a400c8 */ addiu $a0,$sp,0xc8 -/* f07a170: 0c0056d9 */ jal mtx00015b64 +/* f07a170: 0c0056d9 */ jal mtx4TransformVecInPlace /* f07a174: 27a50168 */ addiu $a1,$sp,0x168 /* f07a178: 8fa20198 */ lw $v0,0x198($sp) /* f07a17c: 240a0020 */ addiu $t2,$zero,0x20 @@ -40001,7 +40001,7 @@ glabel var7f1aa5a8 /* f07a164: 0c0056f9 */ jal mtx00015be4 /* f07a168: 27a600c8 */ addiu $a2,$sp,0xc8 /* f07a16c: 27a400c8 */ addiu $a0,$sp,0xc8 -/* f07a170: 0c0056d9 */ jal mtx00015b64 +/* f07a170: 0c0056d9 */ jal mtx4TransformVecInPlace /* f07a174: 27a50168 */ addiu $a1,$sp,0x168 /* f07a178: 8fa20198 */ lw $v0,0x198($sp) /* f07a17c: 240a0020 */ addiu $t2,$zero,0x20 @@ -40810,13 +40810,13 @@ glabel var7f1aa5b0 /* f07ad04: c424a5ac */ lwc1 $f4,%lo(var7f1aa5ac)($at) /* f07ad08: c60600d4 */ lwc1 $f6,0xd4($s0) /* f07ad0c: 27a50068 */ addiu $a1,$sp,0x68 -/* f07ad10: 0c005900 */ jal mtx00016400 +/* f07ad10: 0c005900 */ jal mtx4LoadZRotation /* f07ad14: 46062301 */ sub.s $f12,$f4,$f6 /* f07ad18: 3c017f1b */ lui $at,%hi(var7f1aa5b0) /* f07ad1c: c42aa5b0 */ lwc1 $f10,%lo(var7f1aa5b0)($at) /* f07ad20: c60800d0 */ lwc1 $f8,0xd0($s0) /* f07ad24: 27a50028 */ addiu $a1,$sp,0x28 -/* f07ad28: 0c0058dd */ jal mtx00016374 +/* f07ad28: 0c0058dd */ jal mtx4LoadYRotation /* f07ad2c: 460a4300 */ add.s $f12,$f8,$f10 /* f07ad30: 27b100a8 */ addiu $s1,$sp,0xa8 /* f07ad34: 02203025 */ or $a2,$s1,$zero @@ -40824,7 +40824,7 @@ glabel var7f1aa5b0 /* f07ad3c: 0c0056f9 */ jal mtx00015be4 /* f07ad40: 27a50068 */ addiu $a1,$sp,0x68 /* f07ad44: 8fa400e8 */ lw $a0,0xe8($sp) -/* f07ad48: 0c005775 */ jal mtx00015dd4 +/* f07ad48: 0c005775 */ jal mtx4SetTranslation /* f07ad4c: 02202825 */ or $a1,$s1,$zero /* f07ad50: 8fa400ec */ lw $a0,0xec($sp) /* f07ad54: 02202825 */ or $a1,$s1,$zero @@ -40837,10 +40837,10 @@ glabel var7f1aa5b0 /* f07ad70: 8de40008 */ lw $a0,0x8($t7) /* f07ad74: afa200e8 */ sw $v0,0xe8($sp) /* f07ad78: c60c00dc */ lwc1 $f12,0xdc($s0) -/* f07ad7c: 0c0058ba */ jal mtx000162e8 +/* f07ad7c: 0c0058ba */ jal mtx4LoadXRotation /* f07ad80: 02202825 */ or $a1,$s1,$zero /* f07ad84: 8fa400e8 */ lw $a0,0xe8($sp) -/* f07ad88: 0c005775 */ jal mtx00015dd4 +/* f07ad88: 0c005775 */ jal mtx4SetTranslation /* f07ad8c: 02202825 */ or $a1,$s1,$zero /* f07ad90: 8fa600ec */ lw $a2,0xec($sp) /* f07ad94: 8fa40024 */ lw $a0,0x24($sp) @@ -41092,9 +41092,9 @@ void chopperFireRocket(struct chopperobj *chopper, bool side) pos.y = -400; pos.z = -400; - mtx00015d54(chopper->base.realrot, &sp2c); + mtx3ToMtx4(chopper->base.realrot, &sp2c); mtx000166dc(&pos, &sp6c); - mtx000159fc(&sp2c, &sp6c); + mtx4MultMtx4InPlace(&sp2c, &sp6c); pos.x = sp6c.m[3][0] + chopperprop->pos.f[0]; pos.y = sp6c.m[3][1] + chopperprop->pos.f[1]; @@ -41262,13 +41262,13 @@ glabel var7f1aa610 /* f07b5a0: e7a400f4 */ swc1 $f4,0xf4($sp) /* f07b5a4: e7aa00f8 */ swc1 $f10,0xf8($sp) .L0f07b5a8: -/* f07b5a8: 0c005755 */ jal mtx00015d54 +/* f07b5a8: 0c005755 */ jal mtx3ToMtx4 /* f07b5ac: 27a50050 */ addiu $a1,$sp,0x50 /* f07b5b0: 27a400f0 */ addiu $a0,$sp,0xf0 /* f07b5b4: 0c0059b7 */ jal mtx000166dc /* f07b5b8: 27a50090 */ addiu $a1,$sp,0x90 /* f07b5bc: 27a40050 */ addiu $a0,$sp,0x50 -/* f07b5c0: 0c00567f */ jal mtx000159fc +/* f07b5c0: 0c00567f */ jal mtx4MultMtx4InPlace /* f07b5c4: 27a50090 */ addiu $a1,$sp,0x90 /* f07b5c8: 8fa30120 */ lw $v1,0x120($sp) /* f07b5cc: c7a400c0 */ lwc1 $f4,0xc0($sp) @@ -41723,13 +41723,13 @@ glabel var7f1aa610 /* f07b5a0: e7a400f4 */ swc1 $f4,0xf4($sp) /* f07b5a4: e7aa00f8 */ swc1 $f10,0xf8($sp) .L0f07b5a8: -/* f07b5a8: 0c005755 */ jal mtx00015d54 +/* f07b5a8: 0c005755 */ jal mtx3ToMtx4 /* f07b5ac: 27a50050 */ addiu $a1,$sp,0x50 /* f07b5b0: 27a400f0 */ addiu $a0,$sp,0xf0 /* f07b5b4: 0c0059b7 */ jal mtx000166dc /* f07b5b8: 27a50090 */ addiu $a1,$sp,0x90 /* f07b5bc: 27a40050 */ addiu $a0,$sp,0x50 -/* f07b5c0: 0c00567f */ jal mtx000159fc +/* f07b5c0: 0c00567f */ jal mtx4MultMtx4InPlace /* f07b5c4: 27a50090 */ addiu $a1,$sp,0x90 /* f07b5c8: 8fa30120 */ lw $v1,0x120($sp) /* f07b5cc: c7a400c0 */ lwc1 $f4,0xc0($sp) @@ -42184,13 +42184,13 @@ glabel var7f1aa610 /* f07b5a0: e7a400f4 */ swc1 $f4,0xf4($sp) /* f07b5a4: e7aa00f8 */ swc1 $f10,0xf8($sp) .L0f07b5a8: -/* f07b5a8: 0c005755 */ jal mtx00015d54 +/* f07b5a8: 0c005755 */ jal mtx3ToMtx4 /* f07b5ac: 27a50050 */ addiu $a1,$sp,0x50 /* f07b5b0: 27a400f0 */ addiu $a0,$sp,0xf0 /* f07b5b4: 0c0059b7 */ jal mtx000166dc /* f07b5b8: 27a50090 */ addiu $a1,$sp,0x90 /* f07b5bc: 27a40050 */ addiu $a0,$sp,0x50 -/* f07b5c0: 0c00567f */ jal mtx000159fc +/* f07b5c0: 0c00567f */ jal mtx4MultMtx4InPlace /* f07b5c4: 27a50090 */ addiu $a1,$sp,0x90 /* f07b5c8: 8fa30120 */ lw $v1,0x120($sp) /* f07b5cc: c7a400c0 */ lwc1 $f4,0xc0($sp) @@ -42839,7 +42839,7 @@ glabel var7f1aa668 /* f07be88: 00000000 */ nop /* f07be8c: 46007306 */ mov.s $f12,$f14 /* f07be90: 27a5003c */ addiu $a1,$sp,0x3c -/* f07be94: 0c005900 */ jal mtx00016400 +/* f07be94: 0c005900 */ jal mtx4LoadZRotation /* f07be98: e7ae0148 */ swc1 $f14,0x148($sp) /* f07be9c: 10000008 */ b .L0f07bec0 /* f07bea0: 27a400fc */ addiu $a0,$sp,0xfc @@ -42848,11 +42848,11 @@ glabel var7f1aa668 /* f07bea8: c424a660 */ lwc1 $f4,%lo(var7f1aa660)($at) /* f07beac: 27a5003c */ addiu $a1,$sp,0x3c /* f07beb0: e7ae0148 */ swc1 $f14,0x148($sp) -/* f07beb4: 0c005900 */ jal mtx00016400 +/* f07beb4: 0c005900 */ jal mtx4LoadZRotation /* f07beb8: 46047300 */ add.s $f12,$f14,$f4 /* f07bebc: 27a400fc */ addiu $a0,$sp,0xfc .L0f07bec0: -/* f07bec0: 0c005923 */ jal mtx0001648c +/* f07bec0: 0c005923 */ jal mtx4LoadRotation /* f07bec4: 27a5007c */ addiu $a1,$sp,0x7c /* f07bec8: 8e0a0018 */ lw $t2,0x18($s0) /* f07becc: 27a5007c */ addiu $a1,$sp,0x7c @@ -42860,13 +42860,13 @@ glabel var7f1aa668 /* f07bed4: c54c0014 */ lwc1 $f12,0x14($t2) /* f07bed8: 27a4007c */ addiu $a0,$sp,0x7c /* f07bedc: 27a5003c */ addiu $a1,$sp,0x3c -/* f07bee0: 0c005680 */ jal mtx00015a00 +/* f07bee0: 0c005680 */ jal mtx4MultMtx4 /* f07bee4: 27a600bc */ addiu $a2,$sp,0xbc /* f07bee8: 27a400bc */ addiu $a0,$sp,0xbc -/* f07beec: 0c005768 */ jal mtx00015da0 +/* f07beec: 0c005768 */ jal mtx4ToMtx3 /* f07bef0: 27a5011c */ addiu $a1,$sp,0x11c /* f07bef4: 27a4011c */ addiu $a0,$sp,0x11c -/* f07bef8: 0c005736 */ jal mtx00015cd8 +/* f07bef8: 0c005736 */ jal mtx3Copy /* f07befc: 2605001c */ addiu $a1,$s0,0x1c /* f07bf00: 3c017f1b */ lui $at,%hi(var7f1aa664) /* f07bf04: c432a664 */ lwc1 $f18,%lo(var7f1aa664)($at) @@ -43363,7 +43363,7 @@ glabel var7f1aa668 /* f07be88: 00000000 */ nop /* f07be8c: 46007306 */ mov.s $f12,$f14 /* f07be90: 27a5003c */ addiu $a1,$sp,0x3c -/* f07be94: 0c005900 */ jal mtx00016400 +/* f07be94: 0c005900 */ jal mtx4LoadZRotation /* f07be98: e7ae0148 */ swc1 $f14,0x148($sp) /* f07be9c: 10000008 */ b .L0f07bec0 /* f07bea0: 27a400fc */ addiu $a0,$sp,0xfc @@ -43372,11 +43372,11 @@ glabel var7f1aa668 /* f07bea8: c424a660 */ lwc1 $f4,%lo(var7f1aa660)($at) /* f07beac: 27a5003c */ addiu $a1,$sp,0x3c /* f07beb0: e7ae0148 */ swc1 $f14,0x148($sp) -/* f07beb4: 0c005900 */ jal mtx00016400 +/* f07beb4: 0c005900 */ jal mtx4LoadZRotation /* f07beb8: 46047300 */ add.s $f12,$f14,$f4 /* f07bebc: 27a400fc */ addiu $a0,$sp,0xfc .L0f07bec0: -/* f07bec0: 0c005923 */ jal mtx0001648c +/* f07bec0: 0c005923 */ jal mtx4LoadRotation /* f07bec4: 27a5007c */ addiu $a1,$sp,0x7c /* f07bec8: 8e0a0018 */ lw $t2,0x18($s0) /* f07becc: 27a5007c */ addiu $a1,$sp,0x7c @@ -43384,13 +43384,13 @@ glabel var7f1aa668 /* f07bed4: c54c0014 */ lwc1 $f12,0x14($t2) /* f07bed8: 27a4007c */ addiu $a0,$sp,0x7c /* f07bedc: 27a5003c */ addiu $a1,$sp,0x3c -/* f07bee0: 0c005680 */ jal mtx00015a00 +/* f07bee0: 0c005680 */ jal mtx4MultMtx4 /* f07bee4: 27a600bc */ addiu $a2,$sp,0xbc /* f07bee8: 27a400bc */ addiu $a0,$sp,0xbc -/* f07beec: 0c005768 */ jal mtx00015da0 +/* f07beec: 0c005768 */ jal mtx4ToMtx3 /* f07bef0: 27a5011c */ addiu $a1,$sp,0x11c /* f07bef4: 27a4011c */ addiu $a0,$sp,0x11c -/* f07bef8: 0c005736 */ jal mtx00015cd8 +/* f07bef8: 0c005736 */ jal mtx3Copy /* f07befc: 2605001c */ addiu $a1,$s0,0x1c /* f07bf00: 3c017f1b */ lui $at,%hi(var7f1aa664) /* f07bf04: c432a664 */ lwc1 $f18,%lo(var7f1aa664)($at) @@ -43887,7 +43887,7 @@ glabel var7f1aa668 /* f07be88: 00000000 */ nop /* f07be8c: 46007306 */ mov.s $f12,$f14 /* f07be90: 27a5003c */ addiu $a1,$sp,0x3c -/* f07be94: 0c005900 */ jal mtx00016400 +/* f07be94: 0c005900 */ jal mtx4LoadZRotation /* f07be98: e7ae0148 */ swc1 $f14,0x148($sp) /* f07be9c: 10000008 */ b .L0f07bec0 /* f07bea0: 27a400fc */ addiu $a0,$sp,0xfc @@ -43896,11 +43896,11 @@ glabel var7f1aa668 /* f07bea8: c424a660 */ lwc1 $f4,%lo(var7f1aa660)($at) /* f07beac: 27a5003c */ addiu $a1,$sp,0x3c /* f07beb0: e7ae0148 */ swc1 $f14,0x148($sp) -/* f07beb4: 0c005900 */ jal mtx00016400 +/* f07beb4: 0c005900 */ jal mtx4LoadZRotation /* f07beb8: 46047300 */ add.s $f12,$f14,$f4 /* f07bebc: 27a400fc */ addiu $a0,$sp,0xfc .L0f07bec0: -/* f07bec0: 0c005923 */ jal mtx0001648c +/* f07bec0: 0c005923 */ jal mtx4LoadRotation /* f07bec4: 27a5007c */ addiu $a1,$sp,0x7c /* f07bec8: 8e0a0018 */ lw $t2,0x18($s0) /* f07becc: 27a5007c */ addiu $a1,$sp,0x7c @@ -43908,13 +43908,13 @@ glabel var7f1aa668 /* f07bed4: c54c0014 */ lwc1 $f12,0x14($t2) /* f07bed8: 27a4007c */ addiu $a0,$sp,0x7c /* f07bedc: 27a5003c */ addiu $a1,$sp,0x3c -/* f07bee0: 0c005680 */ jal mtx00015a00 +/* f07bee0: 0c005680 */ jal mtx4MultMtx4 /* f07bee4: 27a600bc */ addiu $a2,$sp,0xbc /* f07bee8: 27a400bc */ addiu $a0,$sp,0xbc -/* f07beec: 0c005768 */ jal mtx00015da0 +/* f07beec: 0c005768 */ jal mtx4ToMtx3 /* f07bef0: 27a5011c */ addiu $a1,$sp,0x11c /* f07bef4: 27a4011c */ addiu $a0,$sp,0x11c -/* f07bef8: 0c005736 */ jal mtx00015cd8 +/* f07bef8: 0c005736 */ jal mtx3Copy /* f07befc: 2605001c */ addiu $a1,$s0,0x1c /* f07bf00: 3c017f1b */ lui $at,%hi(var7f1aa664) /* f07bf04: c432a664 */ lwc1 $f18,%lo(var7f1aa664)($at) @@ -47043,7 +47043,7 @@ glabel var7f1aa6e4 /* f07dcb8: 45000006 */ bc1f .L0f07dcd4 /* f07dcbc: 00000000 */ nop /* f07dcc0: 46004306 */ mov.s $f12,$f8 -/* f07dcc4: 0c005900 */ jal mtx00016400 +/* f07dcc4: 0c005900 */ jal mtx4LoadZRotation /* f07dcc8: 27a5006c */ addiu $a1,$sp,0x6c /* f07dccc: 10000008 */ b .L0f07dcf0 /* f07dcd0: 27a4012c */ addiu $a0,$sp,0x12c @@ -47052,11 +47052,11 @@ glabel var7f1aa6e4 /* f07dcd8: c424a6e0 */ lwc1 $f4,%lo(var7f1aa6e0)($at) /* f07dcdc: c7aa0188 */ lwc1 $f10,0x188($sp) /* f07dce0: 27a5006c */ addiu $a1,$sp,0x6c -/* f07dce4: 0c005900 */ jal mtx00016400 +/* f07dce4: 0c005900 */ jal mtx4LoadZRotation /* f07dce8: 46045300 */ add.s $f12,$f10,$f4 /* f07dcec: 27a4012c */ addiu $a0,$sp,0x12c .L0f07dcf0: -/* f07dcf0: 0c005923 */ jal mtx0001648c +/* f07dcf0: 0c005923 */ jal mtx4LoadRotation /* f07dcf4: 27a500ac */ addiu $a1,$sp,0xac /* f07dcf8: 8e0d0018 */ lw $t5,0x18($s0) /* f07dcfc: 27a500ac */ addiu $a1,$sp,0xac @@ -47064,13 +47064,13 @@ glabel var7f1aa6e4 /* f07dd04: c5ac0014 */ lwc1 $f12,0x14($t5) /* f07dd08: 27a400ac */ addiu $a0,$sp,0xac /* f07dd0c: 27a5006c */ addiu $a1,$sp,0x6c -/* f07dd10: 0c005680 */ jal mtx00015a00 +/* f07dd10: 0c005680 */ jal mtx4MultMtx4 /* f07dd14: 27a600ec */ addiu $a2,$sp,0xec /* f07dd18: 27a400ec */ addiu $a0,$sp,0xec -/* f07dd1c: 0c005768 */ jal mtx00015da0 +/* f07dd1c: 0c005768 */ jal mtx4ToMtx3 /* f07dd20: 27a5015c */ addiu $a1,$sp,0x15c /* f07dd24: 27a4015c */ addiu $a0,$sp,0x15c -/* f07dd28: 0c005736 */ jal mtx00015cd8 +/* f07dd28: 0c005736 */ jal mtx3Copy /* f07dd2c: 2605001c */ addiu $a1,$s0,0x1c /* f07dd30: 0c0068f4 */ jal cosf /* f07dd34: c7ac018c */ lwc1 $f12,0x18c($sp) @@ -48009,7 +48009,7 @@ glabel var7f1aa6e4 /* f07dcb8: 45000006 */ bc1f .L0f07dcd4 /* f07dcbc: 00000000 */ nop /* f07dcc0: 46004306 */ mov.s $f12,$f8 -/* f07dcc4: 0c005900 */ jal mtx00016400 +/* f07dcc4: 0c005900 */ jal mtx4LoadZRotation /* f07dcc8: 27a5006c */ addiu $a1,$sp,0x6c /* f07dccc: 10000008 */ b .L0f07dcf0 /* f07dcd0: 27a4012c */ addiu $a0,$sp,0x12c @@ -48018,11 +48018,11 @@ glabel var7f1aa6e4 /* f07dcd8: c424a6e0 */ lwc1 $f4,%lo(var7f1aa6e0)($at) /* f07dcdc: c7aa0188 */ lwc1 $f10,0x188($sp) /* f07dce0: 27a5006c */ addiu $a1,$sp,0x6c -/* f07dce4: 0c005900 */ jal mtx00016400 +/* f07dce4: 0c005900 */ jal mtx4LoadZRotation /* f07dce8: 46045300 */ add.s $f12,$f10,$f4 /* f07dcec: 27a4012c */ addiu $a0,$sp,0x12c .L0f07dcf0: -/* f07dcf0: 0c005923 */ jal mtx0001648c +/* f07dcf0: 0c005923 */ jal mtx4LoadRotation /* f07dcf4: 27a500ac */ addiu $a1,$sp,0xac /* f07dcf8: 8e0d0018 */ lw $t5,0x18($s0) /* f07dcfc: 27a500ac */ addiu $a1,$sp,0xac @@ -48030,13 +48030,13 @@ glabel var7f1aa6e4 /* f07dd04: c5ac0014 */ lwc1 $f12,0x14($t5) /* f07dd08: 27a400ac */ addiu $a0,$sp,0xac /* f07dd0c: 27a5006c */ addiu $a1,$sp,0x6c -/* f07dd10: 0c005680 */ jal mtx00015a00 +/* f07dd10: 0c005680 */ jal mtx4MultMtx4 /* f07dd14: 27a600ec */ addiu $a2,$sp,0xec /* f07dd18: 27a400ec */ addiu $a0,$sp,0xec -/* f07dd1c: 0c005768 */ jal mtx00015da0 +/* f07dd1c: 0c005768 */ jal mtx4ToMtx3 /* f07dd20: 27a5015c */ addiu $a1,$sp,0x15c /* f07dd24: 27a4015c */ addiu $a0,$sp,0x15c -/* f07dd28: 0c005736 */ jal mtx00015cd8 +/* f07dd28: 0c005736 */ jal mtx3Copy /* f07dd2c: 2605001c */ addiu $a1,$s0,0x1c /* f07dd30: 0c0068f4 */ jal cosf /* f07dd34: c7ac018c */ lwc1 $f12,0x18c($sp) @@ -48974,7 +48974,7 @@ glabel var7f1aa6e0 /* f07c768: 45000006 */ bc1f .NB0f07c784 /* f07c76c: 00000000 */ sll $zero,$zero,0x0 /* f07c770: 46002306 */ mov.s $f12,$f4 -/* f07c774: 0c005ce4 */ jal mtx00016400 +/* f07c774: 0c005ce4 */ jal mtx4LoadZRotation /* f07c778: 27a5006c */ addiu $a1,$sp,0x6c /* f07c77c: 10000008 */ beqz $zero,.NB0f07c7a0 /* f07c780: 27a4012c */ addiu $a0,$sp,0x12c @@ -48983,11 +48983,11 @@ glabel var7f1aa6e0 /* f07c788: c42a4a00 */ lwc1 $f10,0x4a00($at) /* f07c78c: c7a60188 */ lwc1 $f6,0x188($sp) /* f07c790: 27a5006c */ addiu $a1,$sp,0x6c -/* f07c794: 0c005ce4 */ jal mtx00016400 +/* f07c794: 0c005ce4 */ jal mtx4LoadZRotation /* f07c798: 460a3300 */ add.s $f12,$f6,$f10 /* f07c79c: 27a4012c */ addiu $a0,$sp,0x12c .NB0f07c7a0: -/* f07c7a0: 0c005d07 */ jal mtx0001648c +/* f07c7a0: 0c005d07 */ jal mtx4LoadRotation /* f07c7a4: 27a500ac */ addiu $a1,$sp,0xac /* f07c7a8: 8e0d0018 */ lw $t5,0x18($s0) /* f07c7ac: 27a500ac */ addiu $a1,$sp,0xac @@ -48995,13 +48995,13 @@ glabel var7f1aa6e0 /* f07c7b4: c5ac0014 */ lwc1 $f12,0x14($t5) /* f07c7b8: 27a400ac */ addiu $a0,$sp,0xac /* f07c7bc: 27a5006c */ addiu $a1,$sp,0x6c -/* f07c7c0: 0c005a3c */ jal mtx00015a00 +/* f07c7c0: 0c005a3c */ jal mtx4MultMtx4 /* f07c7c4: 27a600ec */ addiu $a2,$sp,0xec /* f07c7c8: 27a400ec */ addiu $a0,$sp,0xec -/* f07c7cc: 0c005b24 */ jal mtx00015da0 +/* f07c7cc: 0c005b24 */ jal mtx4ToMtx3 /* f07c7d0: 27a5015c */ addiu $a1,$sp,0x15c /* f07c7d4: 27a4015c */ addiu $a0,$sp,0x15c -/* f07c7d8: 0c005af2 */ jal mtx00015cd8 +/* f07c7d8: 0c005af2 */ jal mtx3Copy /* f07c7dc: 2605001c */ addiu $a1,$s0,0x1c /* f07c7e0: 0c006d52 */ jal cosf /* f07c7e4: c7ac018c */ lwc1 $f12,0x18c($sp) @@ -49447,17 +49447,17 @@ glabel var7f1aa6e0 // // // cb4 // if (sp188 >= 0) { -// mtx00016400(sp188, &sp6c); +// mtx4LoadZRotation(sp188, &sp6c); // } else { -// mtx00016400(sp188 + M_BADTAU, &sp6c); +// mtx4LoadZRotation(sp188 + M_BADTAU, &sp6c); // } // // // cf0 -// mtx0001648c(&sp12c, &spac); +// mtx4LoadRotation(&sp12c, &spac); // mtx00015f04(hovercar->base.model->scale, &spac); -// mtx00015a00(&spac, &sp6c, &spec); -// mtx00015da0(&spec, sp15c); -// mtx00015cd8(sp15c, hovercar->base.realrot); +// mtx4MultMtx4(&spac, &sp6c, &spec); +// mtx4ToMtx3(&spec, sp15c); +// mtx3Copy(sp15c, hovercar->base.realrot); // // sp138 = cosf(sp18c); // @@ -49595,7 +49595,7 @@ glabel func0f07e184 /* f07e1b8: 5420000b */ bnezl $at,.L0f07e1e8 /* f07e1bc: 8fbf0024 */ lw $ra,0x24($sp) .L0f07e1c0: -/* f07e1c0: 0c00566c */ jal mtx000159b0 +/* f07e1c0: 0c00566c */ jal mtx4LoadIdentity /* f07e1c4: 02202025 */ or $a0,$s1,$zero /* f07e1c8: 8e580008 */ lw $t8,0x8($s2) /* f07e1cc: 26100001 */ addiu $s0,$s0,0x1 @@ -49687,11 +49687,11 @@ glabel func0f07e2cc /* f07e300: 8fbf001c */ lw $ra,0x1c($sp) /* f07e304: 2604001c */ addiu $a0,$s0,0x1c .L0f07e308: -/* f07e308: 0c005755 */ jal mtx00015d54 +/* f07e308: 0c005755 */ jal mtx3ToMtx4 /* f07e30c: afa700f0 */ sw $a3,0xf0($sp) /* f07e310: 8fa700f0 */ lw $a3,0xf0($sp) /* f07e314: 27a500ac */ addiu $a1,$sp,0xac -/* f07e318: 0c005775 */ jal mtx00015dd4 +/* f07e318: 0c005775 */ jal mtx4SetTranslation /* f07e31c: 24e40008 */ addiu $a0,$a3,0x8 /* f07e320: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f07e324: 00000000 */ nop @@ -49766,7 +49766,7 @@ glabel func0f07e2cc /* f07e420: 27a50028 */ addiu $a1,$sp,0x28 /* f07e424: ad210000 */ sw $at,0x0($t1) /* f07e428: 8e0d0018 */ lw $t5,0x18($s0) -/* f07e42c: 0c005746 */ jal mtx00015d18 +/* f07e42c: 0c005746 */ jal mtx4Copy /* f07e430: 8da4000c */ lw $a0,0xc($t5) /* f07e434: 8e0e0018 */ lw $t6,0x18($s0) /* f07e438: 27b80028 */ addiu $t8,$sp,0x28 @@ -49997,7 +49997,7 @@ s32 objTick(struct prop *prop) if (sp572) { mtx00015be4(currentPlayerGetUnk174c(), model->matrices, &sp412); - mtx00015da0(&sp412, obj->realrot); + mtx4ToMtx3(&sp412, obj->realrot); sp400.x = sp412.m[3][0]; sp400.y = sp412.m[3][1]; @@ -50084,9 +50084,9 @@ s32 objTick(struct prop *prop) mtx00016208(obj->realrot, &sp116); } - mtx00015d54(obj->realrot, &sp248); - mtx00015dd4(&prop->pos, &sp248); - mtx00015a00(currentPlayerGetMatrix1740(), &sp248, &sp152); + mtx3ToMtx4(obj->realrot, &sp248); + mtx4SetTranslation(&prop->pos, &sp248); + mtx4MultMtx4(currentPlayerGetMatrix1740(), &sp248, &sp152); sp556 = true; sp312.unk10 = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf)); @@ -50108,7 +50108,7 @@ s32 objTick(struct prop *prop) animTurnOff(model->anim); model->anim = NULL; mtx00015be4(currentPlayerGetUnk174c(), model->matrices, &sp248); - mtx00015da0(&sp248, obj->realrot); + mtx4ToMtx3(&sp248, obj->realrot); tagnum = objGetTagNum(obj); if (tagnum >= 0) { @@ -52420,13 +52420,13 @@ glabel gfxRenderRadialShadow /* f080ffc: afa2007c */ sw $v0,0x7c($sp) /* f081000: 27a40068 */ addiu $a0,$sp,0x68 /* f081004: 8fa50110 */ lw $a1,0x110($sp) -/* f081008: 0c005892 */ jal mtx00016248 +/* f081008: 0c005892 */ jal mtx4LoadYRotationWithTranslation /* f08100c: 27a600c0 */ addiu $a2,$sp,0xc0 /* f081010: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f081014: 00000000 */ nop /* f081018: 00402025 */ or $a0,$v0,$zero /* f08101c: 27a500c0 */ addiu $a1,$sp,0xc0 -/* f081020: 0c005680 */ jal mtx00015a00 +/* f081020: 0c005680 */ jal mtx4MultMtx4 /* f081024: 27a60080 */ addiu $a2,$sp,0x80 /* f081028: 27a40080 */ addiu $a0,$sp,0x80 /* f08102c: 0c005815 */ jal mtx00016054 @@ -55739,7 +55739,7 @@ glabel var7f1aa85c /* f0828c0: 26050020 */ addiu $a1,$s0,0x20 /* f0828c4: 460a8102 */ mul.s $f4,$f16,$f10 /* f0828c8: 46122181 */ sub.s $f6,$f4,$f18 -/* f0828cc: 0c005923 */ jal mtx0001648c +/* f0828cc: 0c005923 */ jal mtx4LoadRotation /* f0828d0: e7a60048 */ swc1 $f6,0x48($sp) /* f0828d4: 8e0c0000 */ lw $t4,0x0($s0) /* f0828d8: 8fa2005c */ lw $v0,0x5c($sp) @@ -55753,7 +55753,7 @@ glabel var7f1aa85c /* f0828f8: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0828fc: e7aa0054 */ swc1 $f10,0x54($sp) /* f082900: 00402025 */ or $a0,$v0,$zero -/* f082904: 0c0056c4 */ jal mtx00015b10 +/* f082904: 0c0056c4 */ jal mtx4RotateVecInPlace /* f082908: 27a5004c */ addiu $a1,$sp,0x4c /* f08290c: c7b2004c */ lwc1 $f18,0x4c($sp) /* f082910: c6040004 */ lwc1 $f4,0x4($s0) @@ -55938,7 +55938,7 @@ glabel var7f1aa85c /* f0828c0: 26050020 */ addiu $a1,$s0,0x20 /* f0828c4: 460a8102 */ mul.s $f4,$f16,$f10 /* f0828c8: 46122181 */ sub.s $f6,$f4,$f18 -/* f0828cc: 0c005923 */ jal mtx0001648c +/* f0828cc: 0c005923 */ jal mtx4LoadRotation /* f0828d0: e7a60048 */ swc1 $f6,0x48($sp) /* f0828d4: 8e0c0000 */ lw $t4,0x0($s0) /* f0828d8: 8fa2005c */ lw $v0,0x5c($sp) @@ -55952,7 +55952,7 @@ glabel var7f1aa85c /* f0828f8: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0828fc: e7aa0054 */ swc1 $f10,0x54($sp) /* f082900: 00402025 */ or $a0,$v0,$zero -/* f082904: 0c0056c4 */ jal mtx00015b10 +/* f082904: 0c0056c4 */ jal mtx4RotateVecInPlace /* f082908: 27a5004c */ addiu $a1,$sp,0x4c /* f08290c: c7b2004c */ lwc1 $f18,0x4c($sp) /* f082910: c6040004 */ lwc1 $f4,0x4($s0) @@ -57107,7 +57107,7 @@ glabel var7f1aa978 /* f0832f4: c446000c */ lwc1 $f6,0xc($v0) /* f0832f8: 46043200 */ add.s $f8,$f6,$f4 /* f0832fc: e448000c */ swc1 $f8,0xc($v0) -/* f083300: 0c005755 */ jal mtx00015d54 +/* f083300: 0c005755 */ jal mtx3ToMtx4 /* f083304: 8fa40038 */ lw $a0,0x38($sp) /* f083308: c7b200e4 */ lwc1 $f18,0xe4($sp) /* f08330c: c60a0008 */ lwc1 $f10,0x8($s0) @@ -57122,7 +57122,7 @@ glabel var7f1aa978 /* f083330: e7b200e8 */ swc1 $f18,0xe8($sp) /* f083334: c6060010 */ lwc1 $f6,0x10($s0) /* f083338: 46065100 */ add.s $f4,$f10,$f6 -/* f08333c: 0c005775 */ jal mtx00015dd4 +/* f08333c: 0c005775 */ jal mtx4SetTranslation /* f083340: e7a400ec */ swc1 $f4,0xec($sp) /* f083344: 26040008 */ addiu $a0,$s0,0x8 /* f083348: 26050028 */ addiu $a1,$s0,0x28 @@ -57242,7 +57242,7 @@ glabel var7f1aa978 /* f0834fc: 24a50020 */ addiu $a1,$a1,0x20 /* f083500: 46082182 */ mul.s $f6,$f4,$f8 /* f083504: 46123281 */ sub.s $f10,$f6,$f18 -/* f083508: 0c005923 */ jal mtx0001648c +/* f083508: 0c005923 */ jal mtx4LoadRotation /* f08350c: e7aa0098 */ swc1 $f10,0x98($sp) /* f083510: 1000019a */ b .L0f083b7c /* f083514: 8fb80144 */ lw $t8,0x144($sp) @@ -57398,7 +57398,7 @@ glabel var7f1aa978 /* f083744: 24a50020 */ addiu $a1,$a1,0x20 /* f083748: 460a3482 */ mul.s $f18,$f6,$f10 /* f08374c: 46089101 */ sub.s $f4,$f18,$f8 -/* f083750: 0c005923 */ jal mtx0001648c +/* f083750: 0c005923 */ jal mtx4LoadRotation /* f083754: e7a40084 */ swc1 $f4,0x84($sp) /* f083758: 0fc1a1a5 */ jal objSetProjectileFlag4 /* f08375c: 8fa40140 */ lw $a0,0x140($sp) @@ -57551,7 +57551,7 @@ glabel var7f1aa978 /* f08398c: 24a50020 */ addiu $a1,$a1,0x20 /* f083990: 46062202 */ mul.s $f8,$f4,$f6 /* f083994: 460a4481 */ sub.s $f18,$f8,$f10 -/* f083998: 0c005923 */ jal mtx0001648c +/* f083998: 0c005923 */ jal mtx4LoadRotation /* f08399c: e7b20070 */ swc1 $f18,0x70($sp) /* f0839a0: 10000076 */ b .L0f083b7c /* f0839a4: 8fb80144 */ lw $t8,0x144($sp) @@ -57670,7 +57670,7 @@ glabel var7f1aa978 /* f083b50: 24a50020 */ addiu $a1,$a1,0x20 /* f083b54: 46082182 */ mul.s $f6,$f4,$f8 /* f083b58: 460a3481 */ sub.s $f18,$f6,$f10 -/* f083b5c: 0c005923 */ jal mtx0001648c +/* f083b5c: 0c005923 */ jal mtx4LoadRotation /* f083b60: e7b20054 */ swc1 $f18,0x54($sp) /* f083b64: 10000005 */ b .L0f083b7c /* f083b68: 8fb80144 */ lw $t8,0x144($sp) @@ -57749,14 +57749,14 @@ glabel var7f1aa978 /* f083c7c: 1000000d */ b .L0f083cb4 /* f083c80: e70a0014 */ swc1 $f10,0x14($t8) .L0f083c84: -/* f083c84: 0c00566c */ jal mtx000159b0 +/* f083c84: 0c00566c */ jal mtx4LoadIdentity /* f083c88: 27a400f0 */ addiu $a0,$sp,0xf0 /* f083c8c: 8fb90130 */ lw $t9,0x130($sp) /* f083c90: 27a500f0 */ addiu $a1,$sp,0xf0 /* f083c94: 0c0057c1 */ jal mtx00015f04 /* f083c98: c72c0014 */ lwc1 $f12,0x14($t9) /* f083c9c: 26040008 */ addiu $a0,$s0,0x8 -/* f083ca0: 0c005775 */ jal mtx00015dd4 +/* f083ca0: 0c005775 */ jal mtx4SetTranslation /* f083ca4: 27a500f0 */ addiu $a1,$sp,0xf0 /* f083ca8: 26040028 */ addiu $a0,$s0,0x28 /* f083cac: 0fc195e9 */ jal roomsCopy @@ -57786,7 +57786,7 @@ glabel var7f1aa978 /* f083d08: e7a00120 */ swc1 $f0,0x120($sp) /* f083d0c: e7a00124 */ swc1 $f0,0x124($sp) /* f083d10: e7a00128 */ swc1 $f0,0x128($sp) -/* f083d14: 0c005768 */ jal mtx00015da0 +/* f083d14: 0c005768 */ jal mtx4ToMtx3 /* f083d18: 24a5001c */ addiu $a1,$a1,0x1c /* f083d1c: 8fa40138 */ lw $a0,0x138($sp) /* f083d20: 24050001 */ addiu $a1,$zero,0x1 @@ -58080,7 +58080,7 @@ glabel var7f1aa978 /* f0832f4: c446000c */ lwc1 $f6,0xc($v0) /* f0832f8: 46043200 */ add.s $f8,$f6,$f4 /* f0832fc: e448000c */ swc1 $f8,0xc($v0) -/* f083300: 0c005755 */ jal mtx00015d54 +/* f083300: 0c005755 */ jal mtx3ToMtx4 /* f083304: 8fa40038 */ lw $a0,0x38($sp) /* f083308: c7b200e4 */ lwc1 $f18,0xe4($sp) /* f08330c: c60a0008 */ lwc1 $f10,0x8($s0) @@ -58095,7 +58095,7 @@ glabel var7f1aa978 /* f083330: e7b200e8 */ swc1 $f18,0xe8($sp) /* f083334: c6060010 */ lwc1 $f6,0x10($s0) /* f083338: 46065100 */ add.s $f4,$f10,$f6 -/* f08333c: 0c005775 */ jal mtx00015dd4 +/* f08333c: 0c005775 */ jal mtx4SetTranslation /* f083340: e7a400ec */ swc1 $f4,0xec($sp) /* f083344: 26040008 */ addiu $a0,$s0,0x8 /* f083348: 26050028 */ addiu $a1,$s0,0x28 @@ -58215,7 +58215,7 @@ glabel var7f1aa978 /* f0834fc: 24a50020 */ addiu $a1,$a1,0x20 /* f083500: 46082182 */ mul.s $f6,$f4,$f8 /* f083504: 46123281 */ sub.s $f10,$f6,$f18 -/* f083508: 0c005923 */ jal mtx0001648c +/* f083508: 0c005923 */ jal mtx4LoadRotation /* f08350c: e7aa0098 */ swc1 $f10,0x98($sp) /* f083510: 1000019a */ b .L0f083b7c /* f083514: 8fb80144 */ lw $t8,0x144($sp) @@ -58371,7 +58371,7 @@ glabel var7f1aa978 /* f083744: 24a50020 */ addiu $a1,$a1,0x20 /* f083748: 460a3482 */ mul.s $f18,$f6,$f10 /* f08374c: 46089101 */ sub.s $f4,$f18,$f8 -/* f083750: 0c005923 */ jal mtx0001648c +/* f083750: 0c005923 */ jal mtx4LoadRotation /* f083754: e7a40084 */ swc1 $f4,0x84($sp) /* f083758: 0fc1a1a5 */ jal objSetProjectileFlag4 /* f08375c: 8fa40140 */ lw $a0,0x140($sp) @@ -58524,7 +58524,7 @@ glabel var7f1aa978 /* f08398c: 24a50020 */ addiu $a1,$a1,0x20 /* f083990: 46062202 */ mul.s $f8,$f4,$f6 /* f083994: 460a4481 */ sub.s $f18,$f8,$f10 -/* f083998: 0c005923 */ jal mtx0001648c +/* f083998: 0c005923 */ jal mtx4LoadRotation /* f08399c: e7b20070 */ swc1 $f18,0x70($sp) /* f0839a0: 10000076 */ b .L0f083b7c /* f0839a4: 8fb80144 */ lw $t8,0x144($sp) @@ -58643,7 +58643,7 @@ glabel var7f1aa978 /* f083b50: 24a50020 */ addiu $a1,$a1,0x20 /* f083b54: 46082182 */ mul.s $f6,$f4,$f8 /* f083b58: 460a3481 */ sub.s $f18,$f6,$f10 -/* f083b5c: 0c005923 */ jal mtx0001648c +/* f083b5c: 0c005923 */ jal mtx4LoadRotation /* f083b60: e7b20054 */ swc1 $f18,0x54($sp) /* f083b64: 10000005 */ b .L0f083b7c /* f083b68: 8fb80144 */ lw $t8,0x144($sp) @@ -58722,14 +58722,14 @@ glabel var7f1aa978 /* f083c7c: 1000000d */ b .L0f083cb4 /* f083c80: e70a0014 */ swc1 $f10,0x14($t8) .L0f083c84: -/* f083c84: 0c00566c */ jal mtx000159b0 +/* f083c84: 0c00566c */ jal mtx4LoadIdentity /* f083c88: 27a400f0 */ addiu $a0,$sp,0xf0 /* f083c8c: 8fb90130 */ lw $t9,0x130($sp) /* f083c90: 27a500f0 */ addiu $a1,$sp,0xf0 /* f083c94: 0c0057c1 */ jal mtx00015f04 /* f083c98: c72c0014 */ lwc1 $f12,0x14($t9) /* f083c9c: 26040008 */ addiu $a0,$s0,0x8 -/* f083ca0: 0c005775 */ jal mtx00015dd4 +/* f083ca0: 0c005775 */ jal mtx4SetTranslation /* f083ca4: 27a500f0 */ addiu $a1,$sp,0xf0 /* f083ca8: 26040028 */ addiu $a0,$s0,0x28 /* f083cac: 0fc195e9 */ jal roomsCopy @@ -58759,7 +58759,7 @@ glabel var7f1aa978 /* f083d08: e7a00120 */ swc1 $f0,0x120($sp) /* f083d0c: e7a00124 */ swc1 $f0,0x124($sp) /* f083d10: e7a00128 */ swc1 $f0,0x128($sp) -/* f083d14: 0c005768 */ jal mtx00015da0 +/* f083d14: 0c005768 */ jal mtx4ToMtx3 /* f083d18: 24a5001c */ addiu $a1,$a1,0x1c /* f083d1c: 8fa40138 */ lw $a0,0x138($sp) /* f083d20: 24050001 */ addiu $a1,$zero,0x1 @@ -59015,7 +59015,7 @@ glabel var7f1aa9a8 /* f084058: e7b0002c */ swc1 $f16,0x2c($sp) /* f08405c: 27a40024 */ addiu $a0,$sp,0x24 .L0f084060: -/* f084060: 0c005923 */ jal mtx0001648c +/* f084060: 0c005923 */ jal mtx4LoadRotation /* f084064: 26250020 */ addiu $a1,$s1,0x20 /* f084068: 8e290000 */ lw $t1,0x0($s1) /* f08406c: 2401feff */ addiu $at,$zero,-257 @@ -59247,7 +59247,7 @@ glabel var7f1aa9a8 /* f084058: e7b0002c */ swc1 $f16,0x2c($sp) /* f08405c: 27a40024 */ addiu $a0,$sp,0x24 .L0f084060: -/* f084060: 0c005923 */ jal mtx0001648c +/* f084060: 0c005923 */ jal mtx4LoadRotation /* f084064: 26250020 */ addiu $a1,$s1,0x20 /* f084068: 8e290000 */ lw $t1,0x0($s1) /* f08406c: 2401feff */ addiu $at,$zero,-257 @@ -59458,7 +59458,7 @@ glabel var7f1aa9a8 /* f082974: e7b20034 */ swc1 $f18,0x34($sp) /* f082978: 27a4002c */ addiu $a0,$sp,0x2c .NB0f08297c: -/* f08297c: 0c005d07 */ jal mtx0001648c +/* f08297c: 0c005d07 */ jal mtx4LoadRotation /* f082980: 26250020 */ addiu $a1,$s1,0x20 /* f082984: 8e390000 */ lw $t9,0x0($s1) /* f082988: 2401feff */ addiu $at,$zero,-257 @@ -60208,7 +60208,7 @@ glabel func0f084594 /* f0845f4: 27a4003c */ addiu $a0,$sp,0x3c /* f0845f8: e7a600bc */ swc1 $f6,0xbc($sp) /* f0845fc: c6280008 */ lwc1 $f8,0x8($s1) -/* f084600: 0c0056d9 */ jal mtx00015b64 +/* f084600: 0c0056d9 */ jal mtx4TransformVecInPlace /* f084604: e7a800c0 */ swc1 $f8,0xc0($sp) /* f084608: 8fa200ec */ lw $v0,0xec($sp) /* f08460c: 27b100ac */ addiu $s1,$sp,0xac @@ -60219,7 +60219,7 @@ glabel func0f084594 /* f084620: c4500004 */ lwc1 $f16,0x4($v0) /* f084624: e7b000b0 */ swc1 $f16,0xb0($sp) /* f084628: c4520008 */ lwc1 $f18,0x8($v0) -/* f08462c: 0c0056c4 */ jal mtx00015b10 +/* f08462c: 0c0056c4 */ jal mtx4RotateVecInPlace /* f084630: e7b200b4 */ swc1 $f18,0xb4($sp) /* f084634: 3c018006 */ lui $at,%hi(var8005efc0) /* f084638: 44806000 */ mtc1 $zero,$f12 @@ -60649,7 +60649,7 @@ glabel var7f1aaa00 /* f084b90: c5e60004 */ lwc1 $f6,0x4($t7) /* f084b94: e7a600f0 */ swc1 $f6,0xf0($sp) /* f084b98: c5e80008 */ lwc1 $f8,0x8($t7) -/* f084b9c: 0c0056d9 */ jal mtx00015b64 +/* f084b9c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f084ba0: e7a800f4 */ swc1 $f8,0xf4($sp) /* f084ba4: 8fb80104 */ lw $t8,0x104($sp) /* f084ba8: 27a40064 */ addiu $a0,$sp,0x64 @@ -60659,7 +60659,7 @@ glabel var7f1aaa00 /* f084bb8: c7100004 */ lwc1 $f16,0x4($t8) /* f084bbc: e7b000d8 */ swc1 $f16,0xd8($sp) /* f084bc0: c7120008 */ lwc1 $f18,0x8($t8) -/* f084bc4: 0c0056c4 */ jal mtx00015b10 +/* f084bc4: 0c0056c4 */ jal mtx4RotateVecInPlace /* f084bc8: e7b200dc */ swc1 $f18,0xdc($sp) /* f084bcc: c7a400d4 */ lwc1 $f4,0xd4($sp) /* f084bd0: c7a800ec */ lwc1 $f8,0xec($sp) @@ -61282,7 +61282,7 @@ void func0f0859a0(struct prop *prop, struct shotdata *shotdata) } if (lVar3 > 0) { - mtx00015b68(&model->matrices[spe4], &hitthing1.unk00, &spd8); + mtx4TransformVec(&model->matrices[spe4], &hitthing1.unk00, &spd8); spd4 = -spd8.f[2]; if (spd4 <= shotdata->unk34) { @@ -61297,9 +61297,9 @@ void func0f0859a0(struct prop *prop, struct shotdata *shotdata) } } - mtx00015b68(currentPlayerGetUnk174c(), &spd8, &sp7c); - mtx00015b14(&model->matrices[spe4], &hitthing1.unk0c, &sp70); - mtx00015b10(currentPlayerGetUnk174c(), &sp70); + mtx4TransformVec(currentPlayerGetUnk174c(), &spd8, &sp7c); + mtx4RotateVec(&model->matrices[spe4], &hitthing1.unk0c, &sp70); + mtx4RotateVecInPlace(currentPlayerGetUnk174c(), &sp70); func0f061fa8(shotdata, prop, spd4, lVar3, node1, &hitthing1, spe4, node2, @@ -61393,7 +61393,7 @@ glabel func0f085eac /* f085f90: 0fc2d5de */ jal currentPlayerGetUnk174c /* f085f94: e7b20118 */ swc1 $f18,0x118($sp) /* f085f98: 00402025 */ or $a0,$v0,$zero -/* f085f9c: 0c0056d9 */ jal mtx00015b64 +/* f085f9c: 0c0056d9 */ jal mtx4TransformVecInPlace /* f085fa0: 27a50110 */ addiu $a1,$sp,0x110 /* f085fa4: 8fb900fc */ lw $t9,0xfc($sp) /* f085fa8: 3c0b800a */ lui $t3,%hi(g_Vars+0x284) @@ -61459,7 +61459,7 @@ glabel func0f085eac /* f086080: 27a50110 */ addiu $a1,$sp,0x110 /* f086084: 8f24000c */ lw $a0,0xc($t9) /* f086088: 27a600ec */ addiu $a2,$sp,0xec -/* f08608c: 0c0056da */ jal mtx00015b68 +/* f08608c: 0c0056da */ jal mtx4TransformVec /* f086090: afa700e4 */ sw $a3,0xe4($sp) /* f086094: c7a000f4 */ lwc1 $f0,0xf4($sp) /* f086098: 8fa700e4 */ lw $a3,0xe4($sp) @@ -61981,11 +61981,11 @@ glabel func0f085eac /* f086804: 27a60058 */ addiu $a2,$sp,0x58 /* f086808: 8d6d000c */ lw $t5,0xc($t3) /* f08680c: 000e7980 */ sll $t7,$t6,0x6 -/* f086810: 0c005680 */ jal mtx00015a00 +/* f086810: 0c005680 */ jal mtx4MultMtx4 /* f086814: 01af2821 */ addu $a1,$t5,$t7 /* f086818: 27a40058 */ addiu $a0,$sp,0x58 /* f08681c: 8fa50048 */ lw $a1,0x48($sp) -/* f086820: 0c0056da */ jal mtx00015b68 +/* f086820: 0c0056da */ jal mtx4TransformVec /* f086824: 27a600a4 */ addiu $a2,$sp,0xa4 /* f086828: 8fb80120 */ lw $t8,0x120($sp) /* f08682c: 24190001 */ addiu $t9,$zero,0x1 @@ -62124,7 +62124,7 @@ glabel func0f085eac /* f0847f4: 0fc2cd36 */ jal currentPlayerGetUnk174c /* f0847f8: e7b20118 */ swc1 $f18,0x118($sp) /* f0847fc: 00402025 */ or $a0,$v0,$zero -/* f084800: 0c005a95 */ jal mtx00015b64 +/* f084800: 0c005a95 */ jal mtx4TransformVecInPlace /* f084804: 27a50110 */ addiu $a1,$sp,0x110 /* f084808: 8fb900fc */ lw $t9,0xfc($sp) /* f08480c: 3c0b800a */ lui $t3,0x800a @@ -62188,7 +62188,7 @@ glabel func0f085eac /* f0848dc: 8c470004 */ lw $a3,0x4($v0) /* f0848e0: 27a600ec */ addiu $a2,$sp,0xec /* f0848e4: 8de4000c */ lw $a0,0xc($t7) -/* f0848e8: 0c005a96 */ jal mtx00015b68 +/* f0848e8: 0c005a96 */ jal mtx4TransformVec /* f0848ec: afa700e4 */ sw $a3,0xe4($sp) /* f0848f0: c7a000f4 */ lwc1 $f0,0xf4($sp) /* f0848f4: 8fa700e4 */ lw $a3,0xe4($sp) @@ -62710,11 +62710,11 @@ glabel func0f085eac /* f085060: 27a60058 */ addiu $a2,$sp,0x58 /* f085064: 8d8d000c */ lw $t5,0xc($t4) /* f085068: 00185980 */ sll $t3,$t8,0x6 -/* f08506c: 0c005a3c */ jal mtx00015a00 +/* f08506c: 0c005a3c */ jal mtx4MultMtx4 /* f085070: 01ab2821 */ addu $a1,$t5,$t3 /* f085074: 27a40058 */ addiu $a0,$sp,0x58 /* f085078: 8fa50048 */ lw $a1,0x48($sp) -/* f08507c: 0c005a96 */ jal mtx00015b68 +/* f08507c: 0c005a96 */ jal mtx4TransformVec /* f085080: 27a600a4 */ addiu $a2,$sp,0xa4 /* f085084: 8fb90120 */ lw $t9,0x120($sp) /* f085088: 240f0001 */ addiu $t7,$zero,0x1 @@ -69896,8 +69896,8 @@ glabel doorsCheckAutomatic void func0f08c424(struct doorobj *door, Mtxf *matrix) { - mtx00015d54(door->base.realrot, matrix); - mtx00015dd4(&door->base.prop->pos, matrix); + mtx3ToMtx4(door->base.realrot, matrix); + mtx4SetTranslation(&door->base.prop->pos, matrix); if (door->doorflags & DOORFLAG_FLIP) { mtx00015edc(-1, matrix); @@ -70091,13 +70091,13 @@ glabel var7f1aaf48 /* f08c780: e7b00084 */ swc1 $f16,0x84($sp) /* f08c784: c60a0094 */ lwc1 $f10,0x94($s0) /* f08c788: 46065201 */ sub.s $f8,$f10,$f6 -/* f08c78c: 0c005755 */ jal mtx00015d54 +/* f08c78c: 0c005755 */ jal mtx3ToMtx4 /* f08c790: e7a80088 */ swc1 $f8,0x88($sp) /* f08c794: 27a40080 */ addiu $a0,$sp,0x80 /* f08c798: 0c0059b7 */ jal mtx000166dc /* f08c79c: 27a50098 */ addiu $a1,$sp,0x98 /* f08c7a0: 27a40098 */ addiu $a0,$sp,0x98 -/* f08c7a4: 0c00567f */ jal mtx000159fc +/* f08c7a4: 0c00567f */ jal mtx4MultMtx4InPlace /* f08c7a8: 27a500dc */ addiu $a1,$sp,0xdc /* f08c7ac: 96020072 */ lhu $v0,0x72($s0) /* f08c7b0: 24010009 */ addiu $at,$zero,0x9 @@ -70115,7 +70115,7 @@ glabel var7f1aaf48 /* f08c7e0: c42aaf2c */ lwc1 $f10,%lo(var7f1aaf2c)($at) /* f08c7e4: 46049402 */ mul.s $f16,$f18,$f4 /* f08c7e8: 27a50098 */ addiu $a1,$sp,0x98 -/* f08c7ec: 0c005900 */ jal mtx00016400 +/* f08c7ec: 0c005900 */ jal mtx4LoadZRotation /* f08c7f0: 46105301 */ sub.s $f12,$f10,$f16 /* f08c7f4: 1000003d */ b .L0f08c8ec /* f08c7f8: 27a40098 */ addiu $a0,$sp,0x98 @@ -70124,7 +70124,7 @@ glabel var7f1aaf48 /* f08c800: c428af30 */ lwc1 $f8,%lo(var7f1aaf30)($at) /* f08c804: 27a50098 */ addiu $a1,$sp,0x98 /* f08c808: 46083302 */ mul.s $f12,$f6,$f8 -/* f08c80c: 0c005900 */ jal mtx00016400 +/* f08c80c: 0c005900 */ jal mtx4LoadZRotation /* f08c810: 00000000 */ nop /* f08c814: 10000035 */ b .L0f08c8ec /* f08c818: 27a40098 */ addiu $a0,$sp,0x98 @@ -70172,7 +70172,7 @@ glabel var7f1aaf48 /* f08c8b4: c42aaf38 */ lwc1 $f10,%lo(var7f1aaf38)($at) /* f08c8b8: 46124102 */ mul.s $f4,$f8,$f18 /* f08c8bc: 27a50098 */ addiu $a1,$sp,0x98 -/* f08c8c0: 0c0058dd */ jal mtx00016374 +/* f08c8c0: 0c0058dd */ jal mtx4LoadYRotation /* f08c8c4: 46045301 */ sub.s $f12,$f10,$f4 /* f08c8c8: 10000008 */ b .L0f08c8ec /* f08c8cc: 27a40098 */ addiu $a0,$sp,0x98 @@ -70181,20 +70181,20 @@ glabel var7f1aaf48 /* f08c8d4: c426af3c */ lwc1 $f6,%lo(var7f1aaf3c)($at) /* f08c8d8: 27a50098 */ addiu $a1,$sp,0x98 /* f08c8dc: 46068302 */ mul.s $f12,$f16,$f6 -/* f08c8e0: 0c0058dd */ jal mtx00016374 +/* f08c8e0: 0c0058dd */ jal mtx4LoadYRotation /* f08c8e4: 00000000 */ nop /* f08c8e8: 27a40098 */ addiu $a0,$sp,0x98 .L0f08c8ec: -/* f08c8ec: 0c00567f */ jal mtx000159fc +/* f08c8ec: 0c00567f */ jal mtx4MultMtx4InPlace /* f08c8f0: 27a500dc */ addiu $a1,$sp,0xdc /* f08c8f4: 27a4008c */ addiu $a0,$sp,0x8c /* f08c8f8: 0c0059b7 */ jal mtx000166dc /* f08c8fc: 27a50098 */ addiu $a1,$sp,0x98 /* f08c900: 27a40098 */ addiu $a0,$sp,0x98 -/* f08c904: 0c00567f */ jal mtx000159fc +/* f08c904: 0c00567f */ jal mtx4MultMtx4InPlace /* f08c908: 27a500dc */ addiu $a1,$sp,0xdc /* f08c90c: 27a400dc */ addiu $a0,$sp,0xdc -/* f08c910: 0c005768 */ jal mtx00015da0 +/* f08c910: 0c005768 */ jal mtx4ToMtx3 /* f08c914: 2605001c */ addiu $a1,$s0,0x1c /* f08c918: c7a8010c */ lwc1 $f8,0x10c($sp) /* f08c91c: 8e190014 */ lw $t9,0x14($s0) @@ -71051,7 +71051,7 @@ glabel var7f1aaf78 /* f08d5a0: a6080070 */ sh $t0,0x70($s0) .L0f08d5a4: /* f08d5a4: 8fa40088 */ lw $a0,0x88($sp) -/* f08d5a8: 0c005746 */ jal mtx00015d18 +/* f08d5a8: 0c005746 */ jal mtx4Copy /* f08d5ac: 27a50038 */ addiu $a1,$sp,0x38 /* f08d5b0: 86090004 */ lh $t1,0x4($s0) /* f08d5b4: 3c0b8008 */ lui $t3,%hi(g_ModelStates+0x6) @@ -71073,7 +71073,7 @@ glabel var7f1aaf78 /* f08d5f0: 0c0057c1 */ jal mtx00015f04 /* f08d5f4: 00000000 */ nop /* f08d5f8: 27a40038 */ addiu $a0,$sp,0x38 -/* f08d5fc: 0c005768 */ jal mtx00015da0 +/* f08d5fc: 0c005768 */ jal mtx4ToMtx3 /* f08d600: 2605001c */ addiu $a1,$s0,0x1c /* f08d604: 8e0c0008 */ lw $t4,0x8($s0) /* f08d608: 44802000 */ mtc1 $zero,$f4 @@ -71131,7 +71131,7 @@ glabel var7f1aaf78 /* f08d6cc: 10000004 */ b .L0f08d6e0 /* f08d6d0: ae0000a4 */ sw $zero,0xa4($s0) .L0f08d6d4: -/* f08d6d4: 0c005768 */ jal mtx00015da0 +/* f08d6d4: 0c005768 */ jal mtx4ToMtx3 /* f08d6d8: 26050098 */ addiu $a1,$s0,0x98 /* f08d6dc: 8fa60094 */ lw $a2,0x94($sp) .L0f08d6e0: @@ -71483,7 +71483,7 @@ void func0f08e224(struct doorobj *door) if (door->base.hidden & OBJHFLAG_AIRBORNE) { door->base.projectile->flags |= PROJECTILEFLAG_00000001; - mtx000159b0((Mtxf *)&door->base.projectile->unk020); + mtx4LoadIdentity((Mtxf *)&door->base.projectile->unk020); } } @@ -73724,13 +73724,13 @@ glabel var7f1ab214 /* f091688: e7a60098 */ swc1 $f6,0x98($sp) /* f09168c: 104001b9 */ beqz $v0,.L0f091d74 /* f091690: afa2017c */ sw $v0,0x17c($sp) -/* f091694: 0c00566c */ jal mtx000159b0 +/* f091694: 0c00566c */ jal mtx4LoadIdentity /* f091698: 27a4013c */ addiu $a0,$sp,0x13c /* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) -/* f0916a0: 0c0058ba */ jal mtx000162e8 +/* f0916a0: 0c0058ba */ jal mtx4LoadXRotation /* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 /* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f0916ac: 0c0058dd */ jal mtx00016374 +/* f0916ac: 0c0058dd */ jal mtx4LoadYRotation /* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 /* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 /* f0916b8: 0c0056f8 */ jal mtx00015be0 @@ -74453,13 +74453,13 @@ glabel var7f1ab214 /* f091688: e7a60098 */ swc1 $f6,0x98($sp) /* f09168c: 104001b9 */ beqz $v0,.L0f091d74 /* f091690: afa2017c */ sw $v0,0x17c($sp) -/* f091694: 0c00566c */ jal mtx000159b0 +/* f091694: 0c00566c */ jal mtx4LoadIdentity /* f091698: 27a4013c */ addiu $a0,$sp,0x13c /* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) -/* f0916a0: 0c0058ba */ jal mtx000162e8 +/* f0916a0: 0c0058ba */ jal mtx4LoadXRotation /* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 /* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f0916ac: 0c0058dd */ jal mtx00016374 +/* f0916ac: 0c0058dd */ jal mtx4LoadYRotation /* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 /* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 /* f0916b8: 0c0056f8 */ jal mtx00015be0 @@ -75182,13 +75182,13 @@ glabel var7f1ab214 /* f091688: e7a60098 */ swc1 $f6,0x98($sp) /* f09168c: 104001b9 */ beqz $v0,.L0f091d74 /* f091690: afa2017c */ sw $v0,0x17c($sp) -/* f091694: 0c00566c */ jal mtx000159b0 +/* f091694: 0c00566c */ jal mtx4LoadIdentity /* f091698: 27a4013c */ addiu $a0,$sp,0x13c /* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) -/* f0916a0: 0c0058ba */ jal mtx000162e8 +/* f0916a0: 0c0058ba */ jal mtx4LoadXRotation /* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 /* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f0916ac: 0c0058dd */ jal mtx00016374 +/* f0916ac: 0c0058dd */ jal mtx4LoadYRotation /* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 /* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 /* f0916b8: 0c0056f8 */ jal mtx00015be0 diff --git a/src/game/savebuffer.c b/src/game/savebuffer.c index 84480d68b..56f815561 100644 --- a/src/game/savebuffer.c +++ b/src/game/savebuffer.c @@ -38,7 +38,7 @@ void func0f0d4690(Mtxf *mtx) { struct coord pos; - mtx000159b0(mtx); + mtx4LoadIdentity(mtx); pos.x = -159.75f; pos.y = PAL ? 136.25f : 120.25f; @@ -48,7 +48,7 @@ void func0f0d4690(Mtxf *mtx) pos.y = (.5f + viGetHeight()) * 0.5f; pos.z = 0; - mtx00015dd4(&pos, mtx); + mtx4SetTranslation(&pos, mtx); mtx00015e4c(-1, mtx); if (g_ScaleX == 2) { @@ -75,7 +75,7 @@ Gfx *func0f0d479c(Gfx *gdl) mtx00016760(); func0f0d475c(&mtx); mtx00016054(&mtx, mtx2); - mtx000159b0(&mtx); + mtx4LoadIdentity(&mtx); guFrustumF(mtx.m, -(f32) viGetWidth() * 0.5f, viGetWidth() * 0.5f, diff --git a/src/game/sky.c b/src/game/sky.c index 7e201c007..da326a795 100644 --- a/src/game/sky.c +++ b/src/game/sky.c @@ -1023,7 +1023,7 @@ glabel var7f1b57bc /* f136c88: 00000000 */ nop /* f136c8c: 27b1016c */ addiu $s1,$sp,0x16c /* f136c90: 02202025 */ or $a0,$s1,$zero -/* f136c94: 0c00566c */ jal mtx000159b0 +/* f136c94: 0c00566c */ jal mtx4LoadIdentity /* f136c98: e7a00154 */ swc1 $f0,0x154($sp) /* f136c9c: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f136ca0: 00000000 */ nop diff --git a/src/game/sparks/sparks.c b/src/game/sparks/sparks.c index 9cc6550eb..24f216397 100644 --- a/src/game/sparks/sparks.c +++ b/src/game/sparks/sparks.c @@ -1631,14 +1631,14 @@ glabel sparksRender /* f130a24: 27a400d4 */ addiu $a0,$sp,0xd4 /* f130a28: 46040283 */ div.s $f10,$f0,$f4 /* f130a2c: 460ab582 */ mul.s $f22,$f22,$f10 -/* f130a30: 0c00566c */ jal mtx000159b0 +/* f130a30: 0c00566c */ jal mtx4LoadIdentity /* f130a34: 00000000 */ nop /* f130a38: e7bc00d4 */ swc1 $f28,0xd4($sp) /* f130a3c: e7bc00e8 */ swc1 $f28,0xe8($sp) /* f130a40: e7bc00fc */ swc1 $f28,0xfc($sp) /* f130a44: e7bc0110 */ swc1 $f28,0x110($sp) /* f130a48: 02a02025 */ or $a0,$s5,$zero -/* f130a4c: 0c005775 */ jal mtx00015dd4 +/* f130a4c: 0c005775 */ jal mtx4SetTranslation /* f130a50: 27a500d4 */ addiu $a1,$sp,0xd4 /* f130a54: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f130a58: 00000000 */ nop diff --git a/src/game/splat.c b/src/game/splat.c index 8352e97dd..972898945 100644 --- a/src/game/splat.c +++ b/src/game/splat.c @@ -168,9 +168,9 @@ s32 func0f148f18(s32 qty, f32 arg1, struct prop *prop, struct splat *arg3, struc spe4[j] = (rand * var8007f8a8 + rand * var8007f8a8 - var8007f8a8) * 0.017453292384744f; } - mtx0001648c((struct coord *)spe4, &spa4); - mtx00015b14(&spa4, (struct coord *)spfc, &splat->unk028); - mtx00015b14(&spa4, (struct coord *)spf0, &splat->unk00c); + mtx4LoadRotation((struct coord *)spe4, &spa4); + mtx4RotateVec(&spa4, (struct coord *)spfc, &splat->unk028); + mtx4RotateVec(&spa4, (struct coord *)spf0, &splat->unk00c); #if VERSION >= VERSION_NTSC_1_0 func0f177164(&splat->unk028, &splat->unk028, 403, "splat.c"); diff --git a/src/game/title.c b/src/game/title.c index c8b4ca430..05e30d4dc 100644 --- a/src/game/title.c +++ b/src/game/title.c @@ -2349,7 +2349,7 @@ glabel func0f017248 /* f0178a0: 01e02025 */ or $a0,$t7,$zero /* f0178a4: afa20120 */ sw $v0,0x120($sp) /* f0178a8: 02002025 */ or $a0,$s0,$zero -/* f0178ac: 0c005746 */ jal mtx00015d18 +/* f0178ac: 0c005746 */ jal mtx4Copy /* f0178b0: 00402825 */ or $a1,$v0,$zero /* f0178b4: 8fb80120 */ lw $t8,0x120($sp) /* f0178b8: 02e02025 */ or $a0,$s7,$zero @@ -2374,7 +2374,7 @@ glabel func0f017248 /* f017904: 8eef000c */ lw $t7,0xc($s7) .L0f017908: /* f017908: 02202825 */ or $a1,$s1,$zero -/* f01790c: 0c005746 */ jal mtx00015d18 +/* f01790c: 0c005746 */ jal mtx4Copy /* f017910: 01f02021 */ addu $a0,$t7,$s0 /* f017914: 8ef8000c */ lw $t8,0xc($s7) /* f017918: 00145980 */ sll $t3,$s4,0x6 @@ -3260,18 +3260,18 @@ glabel var7f1a8468 /* f0186cc: afb9022c */ sw $t9,0x22c($sp) .PF0f0186d0: /* f0186d0: 3c018006 */ lui $at,0x8006 -/* f0186d4: 0c005841 */ jal mtx00016374 +/* f0186d4: 0c005841 */ jal mtx4LoadYRotation /* f0186d8: c42c2478 */ lwc1 $f12,0x2478($at) /* f0186dc: 3c018006 */ lui $at,0x8006 /* f0186e0: c42c2480 */ lwc1 $f12,0x2480($at) -/* f0186e4: 0c00581e */ jal mtx000162e8 +/* f0186e4: 0c00581e */ jal mtx4LoadXRotation /* f0186e8: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f0186ec: 27a401a8 */ addiu $a0,$sp,0x1a8 -/* f0186f0: 0c0055e3 */ jal mtx000159fc +/* f0186f0: 0c0055e3 */ jal mtx4MultMtx4InPlace /* f0186f4: 27a501e8 */ addiu $a1,$sp,0x1e8 /* f0186f8: 27a402b0 */ addiu $a0,$sp,0x2b0 /* f0186fc: 27a501e8 */ addiu $a1,$sp,0x1e8 -/* f018700: 0c0055e4 */ jal mtx00015a00 +/* f018700: 0c0055e4 */ jal mtx4MultMtx4 /* f018704: 27a60270 */ addiu $a2,$sp,0x270 /* f018708: 3c018006 */ lui $at,0x8006 /* f01870c: c42c2488 */ lwc1 $f12,0x2488($at) @@ -3619,7 +3619,7 @@ glabel var7f1a8468 /* f018c3c: 460a4300 */ add.s $f12,$f8,$f10 /* f018c40: 27a402b0 */ addiu $a0,$sp,0x2b0 /* f018c44: 27a501e8 */ addiu $a1,$sp,0x1e8 -/* f018c48: 0c0055e4 */ jal mtx00015a00 +/* f018c48: 0c0055e4 */ jal mtx4MultMtx4 /* f018c4c: 27a60230 */ addiu $a2,$sp,0x230 /* f018c50: 3c017f1b */ lui $at,0x7f1b /* f018c54: c42c9678 */ lwc1 $f12,-0x6988($at) @@ -4591,18 +4591,18 @@ glabel var7f1a8468 /* f0185e8: afb8022c */ sw $t8,0x22c($sp) .L0f0185ec: /* f0185ec: 3c018006 */ lui $at,%hi(var800627a8) -/* f0185f0: 0c0058dd */ jal mtx00016374 +/* f0185f0: 0c0058dd */ jal mtx4LoadYRotation /* f0185f4: c42c27a8 */ lwc1 $f12,%lo(var800627a8)($at) /* f0185f8: 3c018006 */ lui $at,%hi(var800627b0) /* f0185fc: c42c27b0 */ lwc1 $f12,%lo(var800627b0)($at) -/* f018600: 0c0058ba */ jal mtx000162e8 +/* f018600: 0c0058ba */ jal mtx4LoadXRotation /* f018604: 27a501a8 */ addiu $a1,$sp,0x1a8 /* f018608: 27a401a8 */ addiu $a0,$sp,0x1a8 -/* f01860c: 0c00567f */ jal mtx000159fc +/* f01860c: 0c00567f */ jal mtx4MultMtx4InPlace /* f018610: 27a501e8 */ addiu $a1,$sp,0x1e8 /* f018614: 27a402b0 */ addiu $a0,$sp,0x2b0 /* f018618: 27a501e8 */ addiu $a1,$sp,0x1e8 -/* f01861c: 0c005680 */ jal mtx00015a00 +/* f01861c: 0c005680 */ jal mtx4MultMtx4 /* f018620: 27a60270 */ addiu $a2,$sp,0x270 /* f018624: 3c018006 */ lui $at,%hi(var800627b8) /* f018628: c42c27b8 */ lwc1 $f12,%lo(var800627b8)($at) @@ -4950,7 +4950,7 @@ glabel var7f1a8468 /* f018b58: 46083300 */ add.s $f12,$f6,$f8 /* f018b5c: 27a402b0 */ addiu $a0,$sp,0x2b0 /* f018b60: 27a501e8 */ addiu $a1,$sp,0x1e8 -/* f018b64: 0c005680 */ jal mtx00015a00 +/* f018b64: 0c005680 */ jal mtx4MultMtx4 /* f018b68: 27a60230 */ addiu $a2,$sp,0x230 /* f018b6c: 3c017f1b */ lui $at,%hi(var7f1a8468) /* f018b70: c42c8468 */ lwc1 $f12,%lo(var7f1a8468)($at) @@ -5618,7 +5618,7 @@ glabel var7f1a84a0 /* f0198fc: 46083280 */ add.s $f10,$f6,$f8 /* f019900: e7a200a4 */ swc1 $f2,0xa4($sp) /* f019904: 46105482 */ mul.s $f18,$f10,$f16 -/* f019908: 0c005923 */ jal mtx0001648c +/* f019908: 0c005923 */ jal mtx4LoadRotation /* f01990c: e7b200a0 */ swc1 $f18,0xa0($sp) /* f019910: 3c017f1b */ lui $at,%hi(var7f1a84a0) /* f019914: c42484a0 */ lwc1 $f4,%lo(var7f1a84a0)($at) @@ -5644,10 +5644,10 @@ glabel var7f1a84a0 /* f019964: 0c005ab9 */ jal mtx00016ae4 /* f019968: e7aa0020 */ swc1 $f10,0x20($sp) /* f01996c: 02002025 */ or $a0,$s0,$zero -/* f019970: 0c00567f */ jal mtx000159fc +/* f019970: 0c00567f */ jal mtx4MultMtx4InPlace /* f019974: 02202825 */ or $a1,$s1,$zero /* f019978: 02202025 */ or $a0,$s1,$zero -/* f01997c: 0c005746 */ jal mtx00015d18 +/* f01997c: 0c005746 */ jal mtx4Copy /* f019980: 02002825 */ or $a1,$s0,$zero /* f019984: 3c138006 */ lui $s3,%hi(g_TitleModel) /* f019988: 267324f8 */ addiu $s3,$s3,%lo(g_TitleModel) @@ -5660,7 +5660,7 @@ glabel var7f1a84a0 /* f0199a4: 03002025 */ or $a0,$t8,$zero /* f0199a8: afa20160 */ sw $v0,0x160($sp) /* f0199ac: 02002025 */ or $a0,$s0,$zero -/* f0199b0: 0c005746 */ jal mtx00015d18 +/* f0199b0: 0c005746 */ jal mtx4Copy /* f0199b4: 00402825 */ or $a1,$v0,$zero /* f0199b8: 8faf0160 */ lw $t7,0x160($sp) /* f0199bc: 8e790000 */ lw $t9,0x0($s3) @@ -5688,7 +5688,7 @@ glabel var7f1a84a0 /* f019a14: 8c4a000c */ lw $t2,0xc($v0) .L0f019a18: /* f019a18: 02402825 */ or $a1,$s2,$zero -/* f019a1c: 0c005746 */ jal mtx00015d18 +/* f019a1c: 0c005746 */ jal mtx4Copy /* f019a20: 01512021 */ addu $a0,$t2,$s1 /* f019a24: 8e6d0000 */ lw $t5,0x0($s3) /* f019a28: 00107980 */ sll $t7,$s0,0x6 @@ -5918,7 +5918,7 @@ glabel var7f1a84a0 /* f0198fc: 46083280 */ add.s $f10,$f6,$f8 /* f019900: e7a200a4 */ swc1 $f2,0xa4($sp) /* f019904: 46105482 */ mul.s $f18,$f10,$f16 -/* f019908: 0c005923 */ jal mtx0001648c +/* f019908: 0c005923 */ jal mtx4LoadRotation /* f01990c: e7b200a0 */ swc1 $f18,0xa0($sp) /* f019910: 3c017f1b */ lui $at,%hi(var7f1a84a0) /* f019914: c42484a0 */ lwc1 $f4,%lo(var7f1a84a0)($at) @@ -5944,10 +5944,10 @@ glabel var7f1a84a0 /* f019964: 0c005ab9 */ jal mtx00016ae4 /* f019968: e7aa0020 */ swc1 $f10,0x20($sp) /* f01996c: 02002025 */ or $a0,$s0,$zero -/* f019970: 0c00567f */ jal mtx000159fc +/* f019970: 0c00567f */ jal mtx4MultMtx4InPlace /* f019974: 02202825 */ or $a1,$s1,$zero /* f019978: 02202025 */ or $a0,$s1,$zero -/* f01997c: 0c005746 */ jal mtx00015d18 +/* f01997c: 0c005746 */ jal mtx4Copy /* f019980: 02002825 */ or $a1,$s0,$zero /* f019984: 3c138006 */ lui $s3,%hi(g_TitleModel) /* f019988: 267324f8 */ addiu $s3,$s3,%lo(g_TitleModel) @@ -5960,7 +5960,7 @@ glabel var7f1a84a0 /* f0199a4: 03002025 */ or $a0,$t8,$zero /* f0199a8: afa20160 */ sw $v0,0x160($sp) /* f0199ac: 02002025 */ or $a0,$s0,$zero -/* f0199b0: 0c005746 */ jal mtx00015d18 +/* f0199b0: 0c005746 */ jal mtx4Copy /* f0199b4: 00402825 */ or $a1,$v0,$zero /* f0199b8: 8faf0160 */ lw $t7,0x160($sp) /* f0199bc: 8e790000 */ lw $t9,0x0($s3) @@ -5988,7 +5988,7 @@ glabel var7f1a84a0 /* f019a14: 8c4a000c */ lw $t2,0xc($v0) .L0f019a18: /* f019a18: 02402825 */ or $a1,$s2,$zero -/* f019a1c: 0c005746 */ jal mtx00015d18 +/* f019a1c: 0c005746 */ jal mtx4Copy /* f019a20: 01512021 */ addu $a0,$t2,$s1 /* f019a24: 8e6d0000 */ lw $t5,0x0($s3) /* f019a28: 00107980 */ sll $t7,$s0,0x6 @@ -6335,7 +6335,7 @@ glabel var7f1a84bc /* f01a024: 3c017f1b */ lui $at,%hi(var7f1a84bc) /* f01a028: c43084bc */ lwc1 $f16,%lo(var7f1a84bc)($at) /* f01a02c: 46088182 */ mul.s $f6,$f16,$f8 -/* f01a030: 0c005923 */ jal mtx0001648c +/* f01a030: 0c005923 */ jal mtx4LoadRotation /* f01a034: e7a600b8 */ swc1 $f6,0xb8($sp) /* f01a038: 3c013e80 */ lui $at,0x3e80 /* f01a03c: 44819000 */ mtc1 $at,$f18 @@ -6362,10 +6362,10 @@ glabel var7f1a84bc /* f01a090: 0c005ab9 */ jal mtx00016ae4 /* f01a094: e7a80020 */ swc1 $f8,0x20($sp) /* f01a098: 02002025 */ or $a0,$s0,$zero -/* f01a09c: 0c00567f */ jal mtx000159fc +/* f01a09c: 0c00567f */ jal mtx4MultMtx4InPlace /* f01a0a0: 02202825 */ or $a1,$s1,$zero /* f01a0a4: 02202025 */ or $a0,$s1,$zero -/* f01a0a8: 0c005746 */ jal mtx00015d18 +/* f01a0a8: 0c005746 */ jal mtx4Copy /* f01a0ac: 02002825 */ or $a1,$s0,$zero /* f01a0b0: 3c138006 */ lui $s3,%hi(g_TitleModel) /* f01a0b4: 267324f8 */ addiu $s3,$s3,%lo(g_TitleModel) @@ -6378,7 +6378,7 @@ glabel var7f1a84bc /* f01a0d0: 01802025 */ or $a0,$t4,$zero /* f01a0d4: afa20170 */ sw $v0,0x170($sp) /* f01a0d8: 02002025 */ or $a0,$s0,$zero -/* f01a0dc: 0c005746 */ jal mtx00015d18 +/* f01a0dc: 0c005746 */ jal mtx4Copy /* f01a0e0: 00402825 */ or $a1,$v0,$zero /* f01a0e4: 8fab0170 */ lw $t3,0x170($sp) /* f01a0e8: 8e6d0000 */ lw $t5,0x0($s3) @@ -6515,7 +6515,7 @@ glabel var7f1a84bc /* f01a2dc: 8c4d000c */ lw $t5,0xc($v0) .L0f01a2e0: /* f01a2e0: 02402825 */ or $a1,$s2,$zero -/* f01a2e4: 0c005746 */ jal mtx00015d18 +/* f01a2e4: 0c005746 */ jal mtx4Copy /* f01a2e8: 01b12021 */ addu $a0,$t5,$s1 /* f01a2ec: 8e790000 */ lw $t9,0x0($s3) /* f01a2f0: 00104180 */ sll $t0,$s0,0x6 @@ -6753,7 +6753,7 @@ glabel var7f1a84bc /* f01a024: 3c017f1b */ lui $at,%hi(var7f1a84bc) /* f01a028: c43084bc */ lwc1 $f16,%lo(var7f1a84bc)($at) /* f01a02c: 46088182 */ mul.s $f6,$f16,$f8 -/* f01a030: 0c005923 */ jal mtx0001648c +/* f01a030: 0c005923 */ jal mtx4LoadRotation /* f01a034: e7a600b8 */ swc1 $f6,0xb8($sp) /* f01a038: 3c013e80 */ lui $at,0x3e80 /* f01a03c: 44819000 */ mtc1 $at,$f18 @@ -6780,10 +6780,10 @@ glabel var7f1a84bc /* f01a090: 0c005ab9 */ jal mtx00016ae4 /* f01a094: e7a80020 */ swc1 $f8,0x20($sp) /* f01a098: 02002025 */ or $a0,$s0,$zero -/* f01a09c: 0c00567f */ jal mtx000159fc +/* f01a09c: 0c00567f */ jal mtx4MultMtx4InPlace /* f01a0a0: 02202825 */ or $a1,$s1,$zero /* f01a0a4: 02202025 */ or $a0,$s1,$zero -/* f01a0a8: 0c005746 */ jal mtx00015d18 +/* f01a0a8: 0c005746 */ jal mtx4Copy /* f01a0ac: 02002825 */ or $a1,$s0,$zero /* f01a0b0: 3c138006 */ lui $s3,%hi(g_TitleModel) /* f01a0b4: 267324f8 */ addiu $s3,$s3,%lo(g_TitleModel) @@ -6796,7 +6796,7 @@ glabel var7f1a84bc /* f01a0d0: 01802025 */ or $a0,$t4,$zero /* f01a0d4: afa20170 */ sw $v0,0x170($sp) /* f01a0d8: 02002025 */ or $a0,$s0,$zero -/* f01a0dc: 0c005746 */ jal mtx00015d18 +/* f01a0dc: 0c005746 */ jal mtx4Copy /* f01a0e0: 00402825 */ or $a1,$v0,$zero /* f01a0e4: 8fab0170 */ lw $t3,0x170($sp) /* f01a0e8: 8e6d0000 */ lw $t5,0x0($s3) @@ -6933,7 +6933,7 @@ glabel var7f1a84bc /* f01a2dc: 8c4d000c */ lw $t5,0xc($v0) .L0f01a2e0: /* f01a2e0: 02402825 */ or $a1,$s2,$zero -/* f01a2e4: 0c005746 */ jal mtx00015d18 +/* f01a2e4: 0c005746 */ jal mtx4Copy /* f01a2e8: 01b12021 */ addu $a0,$t5,$s1 /* f01a2ec: 8e790000 */ lw $t9,0x0($s3) /* f01a2f0: 00104180 */ sll $t0,$s0,0x6 diff --git a/src/game/training/training.c b/src/game/training/training.c index 2fea4a238..64e4d05e6 100644 --- a/src/game/training/training.c +++ b/src/game/training/training.c @@ -2127,15 +2127,15 @@ void frInitTargets(void) } if (g_FrData.targets[i].flags & FRTARGETFLAG_SPAWNFACINGAWAY) { - mtx00016374(0.0f, &sp144); + mtx4LoadYRotation(0.0f, &sp144); g_FrData.targets[i].angle = M_PI; } else { - mtx00016374(M_PI, &sp144); + mtx4LoadYRotation(M_PI, &sp144); } mtx00015f04(obj->model->scale, &sp144); - mtx00015da0(&sp144, sp108); - mtx00015cd8(sp108, obj->realrot); + mtx4ToMtx3(&sp144, sp108); + mtx3Copy(sp108, obj->realrot); prop->pos.x = pospad.pos.x; prop->pos.y = pospad.pos.y; @@ -2282,12 +2282,12 @@ glabel var7f1b3a44 /* f19863c: 11a00006 */ beqz $t5,.NB0f198658 /* f198640: 00000000 */ sll $zero,$zero,0x0 /* f198644: 4600a306 */ mov.s $f12,$f20 -/* f198648: 0c005cc1 */ jal mtx00016374 +/* f198648: 0c005cc1 */ jal mtx4LoadYRotation /* f19864c: 02802825 */ or $a1,$s4,$zero /* f198650: 10000003 */ beqz $zero,.NB0f198660 /* f198654: e6160038 */ swc1 $f22,0x38($s0) .NB0f198658: -/* f198658: 0c005cc1 */ jal mtx00016374 +/* f198658: 0c005cc1 */ jal mtx4LoadYRotation /* f19865c: 4600b306 */ mov.s $f12,$f22 .NB0f198660: /* f198660: 8e2e0018 */ lw $t6,0x18($s1) @@ -2295,10 +2295,10 @@ glabel var7f1b3a44 /* f198668: 0c005b7d */ jal mtx00015f04 /* f19866c: c5cc0014 */ lwc1 $f12,0x14($t6) /* f198670: 02802025 */ or $a0,$s4,$zero -/* f198674: 0c005b24 */ jal mtx00015da0 +/* f198674: 0c005b24 */ jal mtx4ToMtx3 /* f198678: 27a50064 */ addiu $a1,$sp,0x64 /* f19867c: 27a40064 */ addiu $a0,$sp,0x64 -/* f198680: 0c005af2 */ jal mtx00015cd8 +/* f198680: 0c005af2 */ jal mtx3Copy /* f198684: 2625001c */ addiu $a1,$s1,0x1c /* f198688: c7a600c8 */ lwc1 $f6,0xc8($sp) /* f19868c: 02202025 */ or $a0,$s1,$zero @@ -4048,17 +4048,17 @@ glabel var7f1b94e4 .PF0f1a1904: /* f1a1904: c426ab44 */ lwc1 $f6,-0x54bc($at) /* f1a1908: 02802825 */ move $a1,$s4 -/* f1a190c: 0c005841 */ jal mtx00016374 +/* f1a190c: 0c005841 */ jal mtx4LoadYRotation /* f1a1910: 46060300 */ add.s $f12,$f0,$f6 /* f1a1914: 8e6c0018 */ lw $t4,0x18($s3) /* f1a1918: 02802825 */ move $a1,$s4 /* f1a191c: 0c005725 */ jal mtx00015f04 /* f1a1920: c58c0014 */ lwc1 $f12,0x14($t4) /* f1a1924: 02802025 */ move $a0,$s4 -/* f1a1928: 0c0056cc */ jal mtx00015da0 +/* f1a1928: 0c0056cc */ jal mtx4ToMtx3 /* f1a192c: 02a02825 */ move $a1,$s5 /* f1a1930: 02a02025 */ move $a0,$s5 -/* f1a1934: 0c00569a */ jal mtx00015cd8 +/* f1a1934: 0c00569a */ jal mtx3Copy /* f1a1938: 2665001c */ addiu $a1,$s3,0x1c /* f1a193c: 8e020010 */ lw $v0,0x10($s0) .PF0f1a1940: @@ -5159,17 +5159,17 @@ glabel var7f1b94e4 .L0f1a081c: /* f1a081c: c43294e4 */ lwc1 $f18,%lo(var7f1b94e4)($at) /* f1a0820: 02802825 */ or $a1,$s4,$zero -/* f1a0824: 0c0058dd */ jal mtx00016374 +/* f1a0824: 0c0058dd */ jal mtx4LoadYRotation /* f1a0828: 46120300 */ add.s $f12,$f0,$f18 /* f1a082c: 8e6e0018 */ lw $t6,0x18($s3) /* f1a0830: 02802825 */ or $a1,$s4,$zero /* f1a0834: 0c0057c1 */ jal mtx00015f04 /* f1a0838: c5cc0014 */ lwc1 $f12,0x14($t6) /* f1a083c: 02802025 */ or $a0,$s4,$zero -/* f1a0840: 0c005768 */ jal mtx00015da0 +/* f1a0840: 0c005768 */ jal mtx4ToMtx3 /* f1a0844: 02a02825 */ or $a1,$s5,$zero /* f1a0848: 02a02025 */ or $a0,$s5,$zero -/* f1a084c: 0c005736 */ jal mtx00015cd8 +/* f1a084c: 0c005736 */ jal mtx3Copy /* f1a0850: 2665001c */ addiu $a1,$s3,0x1c /* f1a0854: 8e020010 */ lw $v0,0x10($s0) .L0f1a0858: @@ -6274,17 +6274,17 @@ glabel var7f1b94e4 .NB0f19a82c: /* f19a82c: c4243b04 */ lwc1 $f4,0x3b04($at) /* f19a830: 02802825 */ or $a1,$s4,$zero -/* f19a834: 0c005cc1 */ jal mtx00016374 +/* f19a834: 0c005cc1 */ jal mtx4LoadYRotation /* f19a838: 46040300 */ add.s $f12,$f0,$f4 /* f19a83c: 8e6f0018 */ lw $t7,0x18($s3) /* f19a840: 02802825 */ or $a1,$s4,$zero /* f19a844: 0c005b7d */ jal mtx00015f04 /* f19a848: c5ec0014 */ lwc1 $f12,0x14($t7) /* f19a84c: 02802025 */ or $a0,$s4,$zero -/* f19a850: 0c005b24 */ jal mtx00015da0 +/* f19a850: 0c005b24 */ jal mtx4ToMtx3 /* f19a854: 02a02825 */ or $a1,$s5,$zero /* f19a858: 02a02025 */ or $a0,$s5,$zero -/* f19a85c: 0c005af2 */ jal mtx00015cd8 +/* f19a85c: 0c005af2 */ jal mtx3Copy /* f19a860: 2665001c */ addiu $a1,$s3,0x1c /* f19a864: 8e020010 */ lw $v0,0x10($s0) .NB0f19a868: @@ -6850,10 +6850,10 @@ glabel var7f1b94e4 // } // // // 81c -// mtx00016374(g_FrData.targets[i].angle + M_PI, &spbc); +// mtx4LoadYRotation(g_FrData.targets[i].angle + M_PI, &spbc); // mtx00015f04(obj->model->scale, &spbc); -// mtx00015da0(&spbc, sp98); -// mtx00015cd8(sp98, obj->realrot); +// mtx4ToMtx3(&spbc, sp98); +// mtx3Copy(sp98, obj->realrot); // } // // // 854 diff --git a/src/game/wallhit.c b/src/game/wallhit.c index d8ba1a1fa..cb508ddb8 100644 --- a/src/game/wallhit.c +++ b/src/game/wallhit.c @@ -2178,10 +2178,10 @@ glabel var7f1b5d6c /* f13fdb0: e7b20080 */ swc1 $f18,0x80($sp) /* f13fdb4: e7a00084 */ swc1 $f0,0x84($sp) /* f13fdb8: e7a20088 */ swc1 $f2,0x88($sp) -/* f13fdbc: 0c0056c4 */ jal mtx00015b10 +/* f13fdbc: 0c0056c4 */ jal mtx4RotateVecInPlace /* f13fdc0: e7a6008c */ swc1 $f6,0x8c($sp) /* f13fdc4: 02202025 */ or $a0,$s1,$zero -/* f13fdc8: 0c0056c4 */ jal mtx00015b10 +/* f13fdc8: 0c0056c4 */ jal mtx4RotateVecInPlace /* f13fdcc: 27a50078 */ addiu $a1,$sp,0x78 /* f13fdd0: c7a00084 */ lwc1 $f0,0x84($sp) /* f13fdd4: c7a20088 */ lwc1 $f2,0x88($sp) @@ -3477,10 +3477,10 @@ glabel var7f1b5d6c /* f13fdb0: e7b20080 */ swc1 $f18,0x80($sp) /* f13fdb4: e7a00084 */ swc1 $f0,0x84($sp) /* f13fdb8: e7a20088 */ swc1 $f2,0x88($sp) -/* f13fdbc: 0c0056c4 */ jal mtx00015b10 +/* f13fdbc: 0c0056c4 */ jal mtx4RotateVecInPlace /* f13fdc0: e7a6008c */ swc1 $f6,0x8c($sp) /* f13fdc4: 02202025 */ or $a0,$s1,$zero -/* f13fdc8: 0c0056c4 */ jal mtx00015b10 +/* f13fdc8: 0c0056c4 */ jal mtx4RotateVecInPlace /* f13fdcc: 27a50078 */ addiu $a1,$sp,0x78 /* f13fdd0: c7a00084 */ lwc1 $f0,0x84($sp) /* f13fdd4: c7a20088 */ lwc1 $f2,0x88($sp) @@ -4774,10 +4774,10 @@ glabel var7f1b02acnb /* f13a8ac: e7b20084 */ swc1 $f18,0x84($sp) /* f13a8b0: e7a00088 */ swc1 $f0,0x88($sp) /* f13a8b4: e7a2008c */ swc1 $f2,0x8c($sp) -/* f13a8b8: 0c005a80 */ jal mtx00015b10 +/* f13a8b8: 0c005a80 */ jal mtx4RotateVecInPlace /* f13a8bc: e7a60090 */ swc1 $f6,0x90($sp) /* f13a8c0: 02202025 */ or $a0,$s1,$zero -/* f13a8c4: 0c005a80 */ jal mtx00015b10 +/* f13a8c4: 0c005a80 */ jal mtx4RotateVecInPlace /* f13a8c8: 27a5007c */ addiu $a1,$sp,0x7c /* f13a8cc: c7a00088 */ lwc1 $f0,0x88($sp) /* f13a8d0: c7a2008c */ lwc1 $f2,0x8c($sp) diff --git a/src/game/weather/weather.c b/src/game/weather/weather.c index c71f4742e..f2e8fd6d9 100644 --- a/src/game/weather/weather.c +++ b/src/game/weather/weather.c @@ -999,7 +999,7 @@ glabel var7f1b5780 /* f133068: 01f8c821 */ addu $t9,$t7,$t8 /* f13306c: 8f370024 */ lw $s7,0x24($t9) /* f133070: afa00194 */ sw $zero,0x194($sp) -/* f133074: 0c00566c */ jal mtx000159b0 +/* f133074: 0c00566c */ jal mtx4LoadIdentity /* f133078: 02002025 */ or $a0,$s0,$zero /* f13307c: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f133080: 00000000 */ nop @@ -2643,7 +2643,7 @@ glabel var7f1b5790 /* f134870: 27b001cc */ addiu $s0,$sp,0x1cc /* f134874: 8dd20024 */ lw $s2,0x24($t6) /* f134878: afa00198 */ sw $zero,0x198($sp) -/* f13487c: 0c00566c */ jal mtx000159b0 +/* f13487c: 0c00566c */ jal mtx4LoadIdentity /* f134880: 02002025 */ or $a0,$s0,$zero /* f134884: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f134888: 00000000 */ nop diff --git a/src/include/lib/mtx.h b/src/include/lib/mtx.h index 9853414e0..44c27d3e8 100644 --- a/src/include/lib/mtx.h +++ b/src/include/lib/mtx.h @@ -4,20 +4,20 @@ #include "data.h" #include "types.h" -void mtx000159b0(Mtxf *matrix); -void mtx000159fc(Mtxf *matrix, Mtxf *arg1); -void mtx00015a00(Mtxf *matrix, Mtxf *arg1, Mtxf *arg2); -void mtx00015b10(Mtxf *matrix, struct coord *coord); -void mtx00015b14(Mtxf *matrix, struct coord *coord, struct coord *arg2); -void mtx00015b64(Mtxf *arg0, struct coord *coord); -void mtx00015b68(Mtxf *matrix, struct coord *arg1, struct coord *arg2); +void mtx4LoadIdentity(Mtxf *mtx); +void mtx4MultMtx4InPlace(Mtxf *multmtx, Mtxf *subject); +void mtx4MultMtx4(Mtxf *mtx1, Mtxf *mtx2, Mtxf *dst); +void mtx4RotateVecInPlace(Mtxf *mtx, struct coord *vec); +void mtx4RotateVec(Mtxf *mtx, struct coord *vec, struct coord *dst); +void mtx4TransformVecInPlace(Mtxf *mtx, struct coord *vec); +void mtx4TransformVec(Mtxf *mtx, struct coord *vec, struct coord *dst); void mtx00015be0(Mtxf *matrix1, Mtxf *matrix2); void mtx00015be4(Mtxf *arg0, Mtxf *arg1, Mtxf *arg2); -void mtx00015cd8(f32 arg0[3][3], f32 arg1[3][3]); -void mtx00015d18(Mtxf *matrix, Mtxf *arg1); -void mtx00015d54(f32 realrot[3][3], Mtxf *matrix); -void mtx00015da0(Mtxf *arg0, f32 arg1[3][3]); -void mtx00015dd4(struct coord *pos, Mtxf *matrix); +void mtx3Copy(f32 src[3][3], f32 dst[3][3]); +void mtx4Copy(Mtxf *src, Mtxf *dst); +void mtx3ToMtx4(f32 src[3][3], Mtxf *dst); +void mtx4ToMtx3(Mtxf *src, f32 dst[3][3]); +void mtx4SetTranslation(struct coord *pos, Mtxf *mtx); void mtx00015df0(f32 arg0, Mtxf *matrix); void mtx00015e24(f32 mult, f32 *matrix); void mtx00015e4c(f32 arg0, Mtxf *matrix); @@ -33,11 +33,11 @@ void mtx00016110(f32 mtx1[3][3], f32 mtx2[3][3]); void mtx00016140(f32 mtx1[3][3], f32 mtx2[3][3], f32 dst[3][3]); void mtx000161b0(f32 arg0[3][3], f32 src[3], f32 dest[3]); void mtx00016208(f32 mtx[3][3], struct coord *coord); -void mtx00016248(struct coord *coord, f32 angle, Mtxf *matrix); -void mtx000162e8(f32 angle, Mtxf *matrix); -void mtx00016374(f32 angle, Mtxf *matrix); -void mtx00016400(f32 angle, Mtxf *matrix); -void mtx0001648c(struct coord *coord, Mtxf *dest); +void mtx4LoadYRotationWithTranslation(struct coord *pos, f32 radians, Mtxf *mtx); +void mtx4LoadXRotation(f32 radians, Mtxf *mtx); +void mtx4LoadYRotation(f32 radians, Mtxf *mtx); +void mtx4LoadZRotation(f32 radians, Mtxf *mtx); +void mtx4LoadRotation(struct coord *rot, Mtxf *mtx); u32 mtx000165d8(void); void mtx000166a4(struct coord *pos, struct coord *rot, Mtxf *matrix); void mtx000166dc(struct coord *pos, Mtxf *matrix); @@ -53,8 +53,8 @@ void mtx00016b58(Mtxf *matrix, f32 posx, f32 posy, f32 posz, f32 lookx, f32 look void mtx00016d58(Mtxf *matrix, f32 posx, f32 posy, f32 posz, f32 lookx, f32 looky, f32 lookz, f32 upx, f32 upy, f32 upz); u32 mtx00016dcc(f32 arg0, f32 arg1); u32 mtx00016e98(void); -void mtx00017028(f32 mtx[4][4], f32 radians, f32 x, f32 y, f32 z); -void mtx00017070(f32 src[4][4], f32 dst[4][4]); +void mtx4Align(f32 mtx[4][4], f32 radians, f32 x, f32 y, f32 z); +void mtx4LoadRotationFrom(f32 src[4][4], f32 dst[4][4]); u32 mtx000170e4(void); u32 mtx0001719c(void); u32 mtx000172f0(void); diff --git a/src/lib/model.c b/src/lib/model.c index e492d9e4c..8cfc0ddcd 100644 --- a/src/lib/model.c +++ b/src/lib/model.c @@ -727,8 +727,8 @@ void model0001b400(struct objticksp476 *arg0, struct model *model, struct modeln } if ((g_Anims[anim->animnum].flags & ANIMFLAG_02) && (g_Anims[anim->animnum2].flags & ANIMFLAG_02) == 0) { - mtx00016374(rwdata->chrinfo.unk14, &sp78); - mtx0001648c(&sp124, &sp38); + mtx4LoadYRotation(rwdata->chrinfo.unk14, &sp78); + mtx4LoadRotation(&sp124, &sp38); mtx00015be0(&sp78, &sp38); func0f097044(&sp38, &spec); } else { @@ -740,7 +740,7 @@ void model0001b400(struct objticksp476 *arg0, struct model *model, struct modeln func0f0972b8(&spfc, &spec, anim->fracmerge, &spdc); func0f096ed4(&spdc, &sp1d8); } else { - mtx0001648c(&sp230, &sp1d8); + mtx4LoadRotation(&sp230, &sp1d8); } if (g_Anims[anim->animnum].flags & ANIMFLAG_02) { @@ -750,7 +750,7 @@ void model0001b400(struct objticksp476 *arg0, struct model *model, struct modeln sp250 = model0001afe8(sp250, rwdata->chrinfo.unk1c, rwdata->chrinfo.unk18); } - mtx00016248(sp254, sp250, &sp198); + mtx4LoadYRotationWithTranslation(sp254, sp250, &sp198); } mtx00015be4(&sp198, &sp1d8, &sp158); @@ -762,7 +762,7 @@ void model0001b400(struct objticksp476 *arg0, struct model *model, struct modeln if (sp24c) { mtx00015be4(sp24c, &sp158, mtx); } else { - mtx00015d18(&sp158, mtx); + mtx4Copy(&sp158, mtx); } } @@ -1014,7 +1014,7 @@ glabel var70054308 /* 1bb60: 46049182 */ mul.s $f6,$f18,$f4 /* 1bb64: 46064301 */ sub.s $f12,$f8,$f6 .L0001bb68: -/* 1bb68: 0c0058dd */ jal mtx00016374 +/* 1bb68: 0c0058dd */ jal mtx4LoadYRotation /* 1bb6c: e7ac0024 */ swc1 $f12,0x24($sp) /* 1bb70: 3c017005 */ lui $at,%hi(var70054300) /* 1bb74: c7ac0024 */ lwc1 $f12,0x24($sp) @@ -1045,7 +1045,7 @@ glabel var70054308 /* 1bbcc: 0c0057b7 */ jal mtx00015edc /* 1bbd0: 8fa50028 */ lw $a1,0x28($sp) /* 1bbd4: 8fa400c8 */ lw $a0,0xc8($sp) -/* 1bbd8: 0c005775 */ jal mtx00015dd4 +/* 1bbd8: 0c005775 */ jal mtx4SetTranslation /* 1bbdc: 8fa50028 */ lw $a1,0x28($sp) /* 1bbe0: 8fa900ac */ lw $t1,0xac($sp) /* 1bbe4: 8faa005c */ lw $t2,0x5c($sp) @@ -1281,7 +1281,7 @@ glabel var70054320 /* 1bef4: 46105482 */ mul.s $f18,$f10,$f16 /* 1bef8: 46122301 */ sub.s $f12,$f4,$f18 .L0001befc: -/* 1befc: 0c0058dd */ jal mtx00016374 +/* 1befc: 0c0058dd */ jal mtx4LoadYRotation /* 1bf00: e7ac0024 */ swc1 $f12,0x24($sp) /* 1bf04: 3c017005 */ lui $at,%hi(var70054318) /* 1bf08: c7ac0024 */ lwc1 $f12,0x24($sp) @@ -1312,7 +1312,7 @@ glabel var70054320 /* 1bf60: 0c0057b7 */ jal mtx00015edc /* 1bf64: 8fa50028 */ lw $a1,0x28($sp) /* 1bf68: 8fa400b8 */ lw $a0,0xb8($sp) -/* 1bf6c: 0c005775 */ jal mtx00015dd4 +/* 1bf6c: 0c005775 */ jal mtx4SetTranslation /* 1bf70: 8fa50028 */ lw $a1,0x28($sp) /* 1bf74: 8fae009c */ lw $t6,0x9c($sp) /* 1bf78: 8faf004c */ lw $t7,0x4c($sp) @@ -2345,7 +2345,7 @@ void model0001c950(struct model *model, struct modelnode *node) sp38.x = rodata->reorder.unk0c[0]; sp38.y = rodata->reorder.unk0c[1]; sp38.z = rodata->reorder.unk0c[2]; - mtx00015b10(mtx, &sp38); + mtx4RotateVecInPlace(mtx, &sp38); } else if (rodata->reorder.unk20 == 2) { sp38.x = mtx->m[1][0] * rodata->reorder.unk0c[1]; sp38.y = mtx->m[1][1] * rodata->reorder.unk0c[1]; @@ -2364,7 +2364,7 @@ void model0001c950(struct model *model, struct modelnode *node) sp2c.y = rodata->reorder.unk04; sp2c.z = rodata->reorder.unk08; - mtx00015b64(mtx, &sp2c); + mtx4TransformVecInPlace(mtx, &sp2c); tmp = sp38.f[0] * sp2c.f[0] + sp38.f[1] * sp2c.f[1] + sp38.f[2] * sp2c.f[2]; diff --git a/src/lib/mtx.c b/src/lib/mtx.c index 7f7ef4cbb..44b10df1e 100644 --- a/src/lib/mtx.c +++ b/src/lib/mtx.c @@ -20,7 +20,7 @@ void mtx00016110(f32 mtx1[3][3], f32 mtx2[3][3]) f32 mtx3[3][3]; mtx00016140(mtx1, mtx2, mtx3); - mtx00015cd8(mtx3, mtx2); + mtx3Copy(mtx3, mtx2); } void mtx00016140(f32 mtx1[3][3], f32 mtx2[3][3], f32 dst[3][3]) @@ -55,7 +55,7 @@ void mtx00016208(f32 mtx[3][3], struct coord *coord) coord->z = tmp[2]; } -void mtx00016248(struct coord *coord, f32 angle, Mtxf *matrix) +void mtx4LoadYRotationWithTranslation(struct coord *coord, f32 angle, Mtxf *matrix) { f32 cos = cosf(angle); f32 sin = sinf(angle); @@ -127,7 +127,7 @@ glabel func000171d8nb ); #endif -void mtx000162e8(f32 angle, Mtxf *matrix) +void mtx4LoadXRotation(f32 angle, Mtxf *matrix) { f32 cos = cosf(angle); f32 sin = sinf(angle); @@ -153,7 +153,7 @@ void mtx000162e8(f32 angle, Mtxf *matrix) matrix->m[3][3] = 1; } -void mtx00016374(f32 angle, Mtxf *matrix) +void mtx4LoadYRotation(f32 angle, Mtxf *matrix) { f32 cos = cosf(angle); f32 sin = sinf(angle); @@ -179,7 +179,7 @@ void mtx00016374(f32 angle, Mtxf *matrix) matrix->m[3][3] = 1; } -void mtx00016400(f32 angle, Mtxf *matrix) +void mtx4LoadZRotation(f32 angle, Mtxf *matrix) { f32 cos = cosf(angle); f32 sin = (float)sinf(angle); @@ -205,7 +205,7 @@ void mtx00016400(f32 angle, Mtxf *matrix) matrix->m[3][3] = 1; } -void mtx0001648c(struct coord *src, Mtxf *dest) +void mtx4LoadRotation(struct coord *src, Mtxf *dest) { f32 xcos = cosf(src->x); f32 xsin = sinf(src->x); @@ -298,14 +298,14 @@ glabel mtx000165d8 void mtx000166a4(struct coord *pos, struct coord *rot, Mtxf *matrix) { - mtx0001648c(rot, matrix); - mtx00015dd4(pos, matrix); + mtx4LoadRotation(rot, matrix); + mtx4SetTranslation(pos, matrix); } void mtx000166dc(struct coord *pos, Mtxf *matrix) { - mtx000159b0(matrix); - mtx00015dd4(pos, matrix); + mtx4LoadIdentity(matrix); + mtx4SetTranslation(pos, matrix); } void mtx00016710(f32 mult, f32 mtx[4][4]) @@ -813,7 +813,7 @@ glabel mtx00016e98 /* 17004: 10000003 */ b .L00017014 /* 17008: e606003c */ swc1 $f6,0x3c($s0) .L0001700c: -/* 1700c: 0c00566c */ jal mtx000159b0 +/* 1700c: 0c00566c */ jal mtx4LoadIdentity /* 17010: 02002025 */ or $a0,$s0,$zero .L00017014: /* 17014: 8fbf0024 */ lw $ra,0x24($sp) @@ -823,7 +823,7 @@ glabel mtx00016e98 /* 17024: 27bd0048 */ addiu $sp,$sp,0x48 ); -void mtx00017028(f32 mtx[4][4], f32 angle, f32 x, f32 y, f32 z) +void mtx4Align(f32 mtx[4][4], f32 angle, f32 x, f32 y, f32 z) { angle = RAD2DEG(angle); guAlignF(mtx, angle, x, y, z); @@ -831,7 +831,7 @@ void mtx00017028(f32 mtx[4][4], f32 angle, f32 x, f32 y, f32 z) #if VERSION < VERSION_NTSC_1_0 GLOBAL_ASM( -glabel func00018000nb +glabel mtx4Print /* 18000: 27bdffb8 */ addiu $sp,$sp,-72 /* 18004: afbe0040 */ sw $s8,0x40($sp) /* 18008: afb40030 */ sw $s4,0x30($sp) @@ -892,7 +892,7 @@ glabel func00018000nb ); #endif -void mtx00017070(f32 src[4][4], f32 dst[4][4]) +void mtx4LoadRotationFrom(f32 src[4][4], f32 dst[4][4]) { dst[0][0] = src[0][0]; dst[0][1] = src[1][0]; diff --git a/src/lib/mtxasm.s b/src/lib/mtxasm.s index 5c52b8745..fcddf03e6 100644 --- a/src/lib/mtxasm.s +++ b/src/lib/mtxasm.s @@ -11,7 +11,7 @@ glabel var8005ef10 .text -glabel mtx000159b0 +glabel mtx4LoadIdentity lui $at, 0x3f80 mtc1 $at, $f0 sw $zero, 0x4($a0) @@ -32,9 +32,10 @@ glabel mtx000159b0 jr $ra swc1 $f0, 0x3c($a0) -glabel mtx000159fc +glabel mtx4MultMtx4InPlace add $a2, $a1, $zero - glabel mtx00015a00 + +glabel mtx4MultMtx4 mfc1 $t1, $f20 mfc1 $t2, $f21 mfc1 $t3, $f22 @@ -105,9 +106,10 @@ glabel mtx000159fc jr $ra mtc1 $t5, $f24 -glabel mtx00015b10 +glabel mtx4RotateVecInPlace add $a2, $a1, $zero - glabel mtx00015b14 + +glabel mtx4RotateVec lwc1 $f0, 0x0($a1) lwc1 $f1, 0x4($a1) lwc1 $f2, 0x8($a1) @@ -130,9 +132,10 @@ glabel mtx00015b10 jr $ra nop -glabel mtx00015b64 +glabel mtx4TransformVecInPlace add $a2, $a1, $zero - glabel mtx00015b68 + +glabel mtx4TransformVec lwc1 $f0, 0x0($a1) lwc1 $f1, 0x4($a1) lwc1 $f2, 0x8($a1) @@ -167,7 +170,8 @@ glabel mtx00015b64 glabel mtx00015be0 add $a2, $a1, $zero - glabel mtx00015be4 + +glabel mtx00015be4 mfc1 $t1, $f20 mfc1 $t2, $f21 mfc1 $t3, $f22 @@ -231,7 +235,7 @@ glabel mtx00015be0 jr $ra mtc1 $t4, $f23 -glabel mtx00015cd8 +glabel mtx3Copy addiu $t0, $zero, 0x2 .L00015cdc: lw $t1, 0x0($a0) @@ -250,7 +254,7 @@ glabel mtx00015cd8 jr $ra sw $t0, 0x0($a1) -glabel mtx00015d18 +glabel mtx4Copy addiu $t0, $zero, 0x4 .L00015d1c: lw $t1, 0x0($a0) @@ -268,7 +272,7 @@ glabel mtx00015d18 jr $ra nop -glabel mtx00015d54 +glabel mtx3ToMtx4 addiu $t0, $zero, 0x3 lui $at, 0x3f80 mtc1 $at, $f4 @@ -290,7 +294,7 @@ glabel mtx00015d54 jr $ra swc1 $f4, 0xc($a1) -glabel mtx00015da0 +glabel mtx4ToMtx3 addiu $t0, $zero, 0x3 .L00015da4: lw $t1, 0x0($a0) @@ -306,7 +310,7 @@ glabel mtx00015da0 jr $ra nop -glabel mtx00015dd4 +glabel mtx4SetTranslation lw $t0, 0x0($a0) lw $t1, 0x4($a0) lw $t2, 0x8($a0) diff --git a/src/lib/vi.c b/src/lib/vi.c index ed958f509..c403515b2 100644 --- a/src/lib/vi.c +++ b/src/lib/vi.c @@ -1801,17 +1801,17 @@ Gfx *vi0000ab78(Gfx *gdl) u16 sp46; guPerspectiveF(sp110.m, &sp46, g_ViBackData->fovy, g_ViBackData->aspect, g_ViBackData->znear, g_ViBackData->zfar + g_ViBackData->zfar, 1); - mtx00015d18(currentPlayerGetMatrix1740(), &sp90); + mtx4Copy(currentPlayerGetMatrix1740(), &sp90); sp90.m[3][0] = 0; sp90.m[3][1] = 0; sp90.m[3][2] = 0; - mtx00015a00(&sp110, &sp90, &spd0); + mtx4MultMtx4(&sp110, &sp90, &spd0); sp4c = gfxAllocateMatrix(); guMtxF2L(spd0.m, sp4c); - mtx000159b0(&sp50); + mtx4LoadIdentity(&sp50); sp48 = gfxAllocateMatrix(); guMtxF2L(sp50.m, sp48);