summaryrefslogtreecommitdiff
path: root/src/engine/fox_effect.c
diff options
context:
space:
mode:
authorpetrie911 <69443847+petrie911@users.noreply.github.com>2024-04-15 18:38:19 -0500
committerGitHub <noreply@github.com>2024-04-15 20:38:19 -0300
commit0e54a134335f924ac7d1b8de7ccfb97bf37abff0 (patch)
tree26048feed9974328eab779cff435581ede11ae85 /src/engine/fox_effect.c
parent1ee676279710594486d656cc0af40e605b74a24b (diff)
Docs relating to fox_360. Also a UB fix in audio_load. (#215)
* docs * format * format plz
Diffstat (limited to 'src/engine/fox_effect.c')
-rw-r--r--src/engine/fox_effect.c215
1 files changed, 108 insertions, 107 deletions
diff --git a/src/engine/fox_effect.c b/src/engine/fox_effect.c
index 5be131bd..16c0687e 100644
--- a/src/engine/fox_effect.c
+++ b/src/engine/fox_effect.c
@@ -53,7 +53,7 @@ void BonusText_Update(void) {
if (gLevelMode == LEVELMODE_ON_RAILS) {
bonus->pos.z -= D_ctx_80177D08;
- } else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) {
+ } else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) {
bonus->pos.x += gPlayer[0].vel.x;
bonus->pos.z += gPlayer[0].vel.z;
}
@@ -83,16 +83,16 @@ void BonusText_Draw(BonusText* bonus) {
f32 sp50;
if (bonus->timer <= 45) {
- Matrix_Translate(gGfxMatrix, bonus->pos.x, bonus->pos.y, bonus->pos.z + D_ctx_80177D20, 1);
+ Matrix_Translate(gGfxMatrix, bonus->pos.x, bonus->pos.y, bonus->pos.z + D_ctx_80177D20, MTXF_APPLY);
Matrix_MultVec3f(gGfxMatrix, &sp60, &sp54);
if ((fabsf(sp54.x) < 20000.0f) && (fabsf(sp54.y) < 20000.0f)) {
if ((sp54.z < 0.0f) && (sp54.z > -20000.0f)) {
sp50 = (VEC3F_MAG(&sp54)) * 0.0015f * 0.2f;
- Matrix_RotateY(gGfxMatrix, -gPlayer[gPlayerNum].unk_058, 1);
- Matrix_RotateX(gGfxMatrix, gPlayer[gPlayerNum].unk_05C, 1);
- Matrix_Scale(gGfxMatrix, sp50, sp50, 1.0f, 1);
- Matrix_Translate(gGfxMatrix, 0.0f, bonus->unk_10, 0.0f, 1);
+ Matrix_RotateY(gGfxMatrix, -gPlayer[gPlayerNum].camYaw, MTXF_APPLY);
+ Matrix_RotateX(gGfxMatrix, gPlayer[gPlayerNum].camPitch, MTXF_APPLY);
+ Matrix_Scale(gGfxMatrix, sp50, sp50, 1.0f, MTXF_APPLY);
+ Matrix_Translate(gGfxMatrix, 0.0f, bonus->unk_10, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
if (bonus->hits <= 10) {
@@ -206,8 +206,8 @@ void func_effect_80077A7C(Effect* effect) {
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->unk_44);
gDPSetEnvColor(gMasterDisp++, 255, 255, 255, effect->unk_44);
- Matrix_Scale(gGfxMatrix, effect->scale1, effect->scale2, 1.0f, 1);
- Matrix_Translate(gGfxMatrix, 0.0f, 20.0f, 0.0f, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale1, effect->scale2, 1.0f, MTXF_APPLY);
+ Matrix_Translate(gGfxMatrix, 0.0f, 20.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_ZO_6024220);
RCP_SetupDL(&gMasterDisp, 0x40);
@@ -220,7 +220,7 @@ void func_effect_80077B84(Effect* effect) {
Graphics_SetScaleMtx(effect->scale2);
if ((effect->scale1 == 71.0f) ||
- ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) && (gCurrentLevel == LEVEL_CORNERIA))) {
+ ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gCurrentLevel == LEVEL_CORNERIA))) {
RCP_SetupDL(&gMasterDisp, 0x26);
} else {
RCP_SetupDL(&gMasterDisp, 0x43);
@@ -349,14 +349,14 @@ void func_effect_800780F8(Effect* effect) {
for (i = 0; i < 10; i++) {
if ((i >= effect->unk_48) && (i < effect->unk_46)) {
Matrix_Push(&gGfxMatrix);
- Matrix_Translate(gGfxMatrix, 0.0f, -60.0f, 0.0f, 1);
- Matrix_Scale(gGfxMatrix, 0.8f, 3.0f, 1.0f, 1);
+ Matrix_Translate(gGfxMatrix, 0.0f, -60.0f, 0.0f, MTXF_APPLY);
+ Matrix_Scale(gGfxMatrix, 0.8f, 3.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_102F5E0);
Matrix_Pop(&gGfxMatrix);
}
- Matrix_Translate(gGfxMatrix, 0.0f, -120.0f, 0.0f, 1);
- Matrix_RotateZ(gGfxMatrix, D_800D1534[effect->unk_4C][i] * M_DTOR, 1);
+ Matrix_Translate(gGfxMatrix, 0.0f, -120.0f, 0.0f, MTXF_APPLY);
+ Matrix_RotateZ(gGfxMatrix, D_800D1534[effect->unk_4C][i] * M_DTOR, MTXF_APPLY);
}
}
@@ -375,7 +375,7 @@ void func_effect_80078438(Effect* effect) {
void func_effect_800784B4(Effect* effect) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->unk_46);
Graphics_SetScaleMtx(effect->scale2);
- Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
+ Matrix_RotateX(gGfxMatrix, M_PI / 2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_BG_PLANET_200D750);
}
@@ -400,9 +400,9 @@ void func_effect_80078604(Effect* effect) {
void func_effect_8007868C(Effect* effect) {
RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, MTXF_APPLY);
if (effect->unk_44 >= 2) {
- Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
+ Matrix_RotateX(gGfxMatrix, M_PI / 2, MTXF_APPLY);
}
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1029780);
@@ -412,8 +412,8 @@ void func_effect_8007868C(Effect* effect) {
void func_effect_8007879C(Effect* effect) {
RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
- Matrix_Scale(gGfxMatrix, effect->scale2 * 0.6f, 1.0f, effect->scale2 * 3.5f, 1);
- Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2 * 0.6f, 1.0f, effect->scale2 * 3.5f, MTXF_APPLY);
+ Matrix_RotateX(gGfxMatrix, M_PI / 2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1029780);
RCP_SetupDL(&gMasterDisp, 0x40);
@@ -594,8 +594,8 @@ void func_effect_8007905C(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scal
yAng = Math_Atan2F(sp3C.x - xPos, sp3C.z - zPos);
sp38 = sqrtf(SQ(sp3C.x - xPos) + SQ(sp3C.z - zPos));
xAng = -Math_Atan2F(sp3C.y - yPos, sp38);
- Matrix_RotateY(gCalcMatrix, yAng, 0);
- Matrix_RotateX(gCalcMatrix, xAng, 1);
+ Matrix_RotateY(gCalcMatrix, yAng, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, xAng, MTXF_APPLY);
sp54.x = RAND_FLOAT_CENTERED(50.0f);
sp54.y = RAND_FLOAT_CENTERED(50.0f);
sp54.z = RAND_FLOAT(10.0f) + 150.0f;
@@ -683,7 +683,8 @@ void func_effect_8007968C(Effect* effect) {
effect->vel.y -= 0.5f;
}
- if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) && (gCsFrameCount > 175)) {
+ if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) &&
+ (gCsFrameCount > 175)) {
effect->vel.x *= 0.95f;
effect->vel.y *= 0.95f;
effect->vel.z *= 0.95f;
@@ -710,7 +711,7 @@ bool func_effect_800798C4(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void*
void func_effect_800798F0(Effect* effect) {
Vec3f frameJointTable[50];
- if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) {
+ if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
func_edisplay_8005F670(&effect->obj.pos);
}
@@ -840,16 +841,16 @@ void func_effect_800798F0(Effect* effect) {
case 1:
switch ((s32) (effect->index % 4U)) {
case 0:
- Matrix_Scale(gGfxMatrix, 1.0f, 0.3f, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, 1.0f, 0.3f, 1.0f, MTXF_APPLY);
break;
case 1:
- Matrix_Scale(gGfxMatrix, 0.3f, 1.0f, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, 0.3f, 1.0f, 1.0f, MTXF_APPLY);
break;
case 2:
- Matrix_Scale(gGfxMatrix, 1.0f, 0.5f, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, 1.0f, 0.5f, 1.0f, MTXF_APPLY);
break;
case 3:
- Matrix_Scale(gGfxMatrix, 0.5f, 1.0f, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, 0.5f, 1.0f, 1.0f, MTXF_APPLY);
break;
}
Matrix_SetGfxMtx(&gMasterDisp);
@@ -900,7 +901,7 @@ void func_effect_8007A28C(Effect* effect) {
void func_effect_8007A3C0(Effect* effect) {
if (gReflectY > 0) {
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_64_2();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->unk_44);
@@ -1046,7 +1047,7 @@ void func_effect_8007AA60(Effect* effect) {
RCP_SetupDL(&gMasterDisp, 0x44);
gDPSetPrimColor(gMasterDisp++, 0, 0, 31, 10, 00, effect->unk_44);
gDPSetEnvColor(gMasterDisp++, 141, 73, 5, 0);
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_800D178C[effect->unk_4C]);
effect->unk_4C = effect->unk_48;
@@ -1467,11 +1468,11 @@ void func_effect_8007BC7C(f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
}
void func_effect_8007BCE8(Effect* effect) {
- if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) {
- effect->obj.rot.x = RAD_TO_DEG(gPlayer[0].unk_05C);
- effect->obj.rot.y = RAD_TO_DEG(-gPlayer[0].unk_058);
+ if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) {
+ effect->obj.rot.x = RAD_TO_DEG(gPlayer[0].camPitch);
+ effect->obj.rot.y = RAD_TO_DEG(-gPlayer[0].camYaw);
}
- if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_6) {
+ if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_NEXT) {
effect->unk_46 = 2;
effect->vel.y -= 0.13f;
}
@@ -1699,7 +1700,7 @@ void func_effect_8007C6FC(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scal
if (Rand_ZeroOne() < 0.5f) {
effect->unk_48 = -effect->unk_48;
}
- if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_6)) {
+ if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_NEXT)) {
effect->unk_4A = 180;
} else {
effect->unk_4A = 255;
@@ -1736,7 +1737,7 @@ void func_effect_8007C8C4(Effect* effect) {
s32 var_v0;
var_v0 = 0;
- if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_6)) {
+ if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_NEXT)) {
var_v0 = 3;
}
@@ -1780,7 +1781,7 @@ void func_effect_8007CAF0(Effect* effect) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 0, 0, effect->unk_4A);
gSPDisplayList(gMasterDisp++, D_102A010);
} else {
- Matrix_Scale(gGfxMatrix, 1.5f, 1.5f, 1.5f, 1);
+ Matrix_Scale(gGfxMatrix, 1.5f, 1.5f, 1.5f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->unk_4A);
gSPDisplayList(gMasterDisp++, D_BG_PLANET_20031B0);
@@ -1964,7 +1965,7 @@ void func_effect_8007D2C8(f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
void func_effect_8007D2F4(Effect* effect) {
if (gLevelType == LEVELTYPE_PLANET) {
- if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) {
+ if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
effect->vel.y += 0.1f;
if (effect->timer_50 == 0) {
effect->unk_4C++;
@@ -1977,7 +1978,7 @@ void func_effect_8007D2F4(Effect* effect) {
}
}
} else {
- if ((gCurrentLevel == LEVEL_MACBETH) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) &&
+ if ((gCurrentLevel == LEVEL_MACBETH) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) &&
(effect->vel.x != 0)) {
Math_SmoothStepToF(&effect->vel.x, -1.0f, 1.0f, 1.0f, 0.0f);
Math_SmoothStepToF(&effect->vel.z, 4.0f, 1.0f, 1.0f, 0.0f);
@@ -2053,14 +2054,14 @@ void func_effect_8007D55C(Effect* effect) {
gDPSetPrimColor(gMasterDisp++, 0, 0, D_800D184C[effect->unk_4C][0], D_800D184C[effect->unk_4C][1],
D_800D184C[effect->unk_4C][2], D_800D184C[effect->unk_4C][3]);
scale = D_800D17F8[effect->unk_4C] - 0.5f;
- Matrix_Scale(gGfxMatrix, scale, scale, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, scale, scale, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_800D17A4[effect->unk_4C]);
return;
}
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 100, effect->unk_44);
if (effect->unk_4C == 0) {
- Matrix_Scale(gGfxMatrix, 2.5f, 2.5f, 2.5f, 1);
+ Matrix_Scale(gGfxMatrix, 2.5f, 2.5f, 2.5f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_800D18A0[effect->unk_4C]);
return;
@@ -2173,7 +2174,7 @@ void func_effect_8007DB70(Effect* effect) {
switch (effect->state) {
case 0:
effect->vel.y -= 0.5f;
- if ((effect->timer_50 == 0) && ((func_enmy_8006351C(1000, &effect->obj.pos, &sp54, 1) != 0) ||
+ if ((effect->timer_50 == 0) && ((Object_CheckCollision(1000, &effect->obj.pos, &sp54, 1) != 0) ||
(effect->obj.pos.y < (gGroundLevel + 10.0f)))) {
effect->vel.y = 0.0f;
if (effect->obj.pos.y < (gGroundLevel + 10.0f)) {
@@ -2228,7 +2229,7 @@ void func_effect_8007DED4(Effect* effect) {
break;
case 1:
- Matrix_Scale(gGfxMatrix, effect->scale1, effect->scale2, 2.5f, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale1, effect->scale2, 2.5f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_40();
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
@@ -2380,8 +2381,8 @@ void func_effect_8007E6B8(Effect* effect, u32 objId, f32 xPos, f32 yPos, f32 zPo
temp_ft4 = sqrtf(SQ(gPlayer[0].pos.x - xPos) + SQ(gPlayer[0].unk_138 - zPos));
sp54 = -Math_Atan2F(gPlayer[0].pos.y - yPos, temp_ft4);
- Matrix_RotateY(gCalcMatrix, sp50, 0);
- Matrix_RotateX(gCalcMatrix, sp54, 1);
+ Matrix_RotateY(gCalcMatrix, sp50, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, sp54, MTXF_APPLY);
sp40.x = 0.0f;
sp40.y = 0.0f;
@@ -2433,12 +2434,12 @@ void func_effect_8007E93C(Effect* effect, u32 objId, f32 xPos, f32 yPos, f32 zPo
effect->obj.pos.z = zPos;
Object_SetInfo(&effect->info, effect->obj.id);
- sp50 = Math_Atan2F(gPlayer[0].camEye.x - xPos, gPlayer[0].camEye.z - zPos);
- temp_ft4 = sqrtf(SQ(gPlayer[0].camEye.x - xPos) + SQ(gPlayer[0].camEye.z - zPos));
- sp54 = -Math_Atan2F(gPlayer[0].camEye.y - yPos, temp_ft4);
+ sp50 = Math_Atan2F(gPlayer[0].cam.eye.x - xPos, gPlayer[0].cam.eye.z - zPos);
+ temp_ft4 = sqrtf(SQ(gPlayer[0].cam.eye.x - xPos) + SQ(gPlayer[0].cam.eye.z - zPos));
+ sp54 = -Math_Atan2F(gPlayer[0].cam.eye.y - yPos, temp_ft4);
- Matrix_RotateY(gCalcMatrix, sp50, 0);
- Matrix_RotateX(gCalcMatrix, sp54, 1);
+ Matrix_RotateY(gCalcMatrix, sp50, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, sp54, MTXF_APPLY);
sp40.x = 0.0f;
sp40.y = 0.0f;
@@ -2547,12 +2548,12 @@ void func_effect_8007EE68(ObjectId objId, Vec3f* pos, Vec3f* rot, Vec3f* arg3, V
s32 i;
Vec3f sp68;
- Matrix_RotateY(gCalcMatrix, arg3->y * M_DTOR, 0);
- Matrix_RotateX(gCalcMatrix, arg3->x * M_DTOR, 1);
- Matrix_RotateZ(gCalcMatrix, arg3->z * M_DTOR, 1);
- Matrix_RotateY(gCalcMatrix, rot->y * M_DTOR, 1);
- Matrix_RotateX(gCalcMatrix, rot->x * M_DTOR, 1);
- Matrix_RotateZ(gCalcMatrix, rot->z * M_DTOR, 1);
+ Matrix_RotateY(gCalcMatrix, arg3->y * M_DTOR, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, arg3->x * M_DTOR, MTXF_APPLY);
+ Matrix_RotateZ(gCalcMatrix, arg3->z * M_DTOR, MTXF_APPLY);
+ Matrix_RotateY(gCalcMatrix, rot->y * M_DTOR, MTXF_APPLY);
+ Matrix_RotateX(gCalcMatrix, rot->x * M_DTOR, MTXF_APPLY);
+ Matrix_RotateZ(gCalcMatrix, rot->z * M_DTOR, MTXF_APPLY);
Matrix_MultVec3f(gCalcMatrix, arg4, &sp68);
for (i = ARRAY_COUNT(gEffects) - 1; i >= 0; i--) {
@@ -2596,7 +2597,7 @@ void func_effect_8007F11C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 spee
void func_effect_8007F20C(ObjectId objId, f32 xPos, f32 yPos, f32 zPos, f32 speed) {
s32 i;
- if ((fabsf(zPos - gPlayer[0].camEye.z) > 300.0f) || (fabsf(xPos - gPlayer[0].camEye.x) > 300.0f)) {
+ if ((fabsf(zPos - gPlayer[0].cam.eye.z) > 300.0f) || (fabsf(xPos - gPlayer[0].cam.eye.x) > 300.0f)) {
for (i = ARRAY_COUNT(gEffects) - 1; i >= 0; i--) {
if (gEffects[i].obj.status == OBJ_FREE) {
Matrix_Push(&gCalcMatrix);
@@ -2864,8 +2865,8 @@ void func_effect_8007FE88(Effect* effect) {
if ((gPlayer[0].unk_280 != 0) || (gPlayer[0].timer_27C != 0)) {
effect->obj.rot.y = 90.0f;
effect->obj.rot.x = RAND_FLOAT(360.0f);
- Matrix_RotateY(gCalcMatrix, effect->obj.rot.y * M_DTOR, 0);
- Matrix_RotateX(gCalcMatrix, effect->obj.rot.x * M_DTOR, 1);
+ Matrix_RotateY(gCalcMatrix, effect->obj.rot.y * M_DTOR, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, effect->obj.rot.x * M_DTOR, MTXF_APPLY);
srcVelocity.x = 0.0f;
srcVelocity.y = 0.0f;
srcVelocity.z = 100.0f;
@@ -2911,7 +2912,7 @@ void func_effect_8007FE88(Effect* effect) {
velocity.z = effect->vel.z;
if (gCurrentLevel != LEVEL_MACBETH) {
- if (func_enmy_8006351C(1000, &effect->obj.pos, &velocity, 2) != 0) {
+ if (Object_CheckCollision(1000, &effect->obj.pos, &velocity, 2) != 0) {
func_effect_8007D10C(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 2.0f);
Object_Kill(&effect->obj, effect->sfxSource);
}
@@ -2963,8 +2964,8 @@ void func_effect_8008040C(Effect* effect) {
yRot = Math_Atan2F(gPlayer[0].pos.x - effect->obj.pos.x, gPlayer[0].unk_138 - effect->obj.pos.z);
temp = sqrtf(SQ(gPlayer[0].pos.x - effect->obj.pos.x) + SQ(gPlayer[0].unk_138 - effect->obj.pos.z));
xRot = -Math_Atan2F(gPlayer[0].pos.y - effect->obj.pos.y, temp);
- Matrix_RotateY(gCalcMatrix, yRot, 0);
- Matrix_RotateX(gCalcMatrix, xRot, 1);
+ Matrix_RotateY(gCalcMatrix, yRot, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, xRot, MTXF_APPLY);
srcVelocity.y = 0.0f;
srcVelocity.x = 0.0f;
srcVelocity.z = 100.0f;
@@ -2997,8 +2998,8 @@ void func_effect_8008040C(Effect* effect) {
if ((gPlayer[0].unk_280 != 0) || (gPlayer[0].timer_27C != 0)) {
effect->obj.rot.y = 90.0f;
effect->obj.rot.x = RAND_FLOAT(360.0f);
- Matrix_RotateY(gCalcMatrix, effect->obj.rot.y * M_DTOR, 0);
- Matrix_RotateX(gCalcMatrix, effect->obj.rot.x * M_DTOR, 1);
+ Matrix_RotateY(gCalcMatrix, effect->obj.rot.y * M_DTOR, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, effect->obj.rot.x * M_DTOR, MTXF_APPLY);
srcVelocity.y = 0.0f;
srcVelocity.x = 0.0f;
srcVelocity.z = 100.0f;
@@ -3041,7 +3042,7 @@ void func_effect_8008040C(Effect* effect) {
sp3C.y = effect->vel.y;
sp3C.z = effect->vel.z;
- if (func_enmy_8006351C(1000, &effect->obj.pos, &sp3C, 2) != 0) {
+ if (Object_CheckCollision(1000, &effect->obj.pos, &sp3C, 2) != 0) {
func_effect_8007D10C(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 2.0f);
Object_Kill(&effect->obj, effect->sfxSource);
}
@@ -3058,7 +3059,7 @@ void func_effect_8008092C(Effect* effect) {
RCP_SetupDL(&gMasterDisp, 0x31);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
gDPSetEnvColor(gMasterDisp++, 255, 0, 0, 255);
- Matrix_Scale(gGfxMatrix, 4.0f, 2.0f, 4.0f, 1);
+ Matrix_Scale(gGfxMatrix, 4.0f, 2.0f, 4.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_ZO_6018AF0);
break;
@@ -3067,8 +3068,8 @@ void func_effect_8008092C(Effect* effect) {
RCP_SetupDL(&gMasterDisp, 0x31);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
gDPSetEnvColor(gMasterDisp++, 255, 0, 0, 255);
- Matrix_RotateZ(gGfxMatrix, 30.0f * M_DTOR, 1);
- Matrix_Scale(gGfxMatrix, 3.0f, 1.5f, 3.0f, 1);
+ Matrix_RotateZ(gGfxMatrix, 30.0f * M_DTOR, MTXF_APPLY);
+ Matrix_Scale(gGfxMatrix, 3.0f, 1.5f, 3.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
break;
@@ -3186,7 +3187,7 @@ void func_effect_80080D04(Effect* effect) {
case 10:
RCP_SetupDL(&gMasterDisp, 0x41);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->unk_48);
- Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_TI_A000000);
RCP_SetupDL(&gMasterDisp, 0x40);
@@ -3238,19 +3239,19 @@ void func_effect_80080D04(Effect* effect) {
case 16:
Graphics_SetScaleMtx(effect->scale2);
gDPSetPrimColor(gMasterDisp++, 0, 0, 96, 96, 255, 255);
- Matrix_Translate(gGfxMatrix, 34.14f, 0.0f, 0.0f, 1);
+ Matrix_Translate(gGfxMatrix, 34.14f, 0.0f, 0.0f, MTXF_APPLY);
Matrix_Push(&gGfxMatrix);
- Matrix_Scale(gGfxMatrix, 0.25f, 1.0f, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, 0.25f, 1.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_102F5E0);
Matrix_Pop(&gGfxMatrix);
for (i = 0; i < 7; i++) {
- Matrix_Translate(gGfxMatrix, 0.0f, 10.0f, 0.0f, 1);
- Matrix_RotateZ(gGfxMatrix, M_PI / 4, 1);
- Matrix_Translate(gGfxMatrix, 1.0f, 20.0f, 0.0f, 1);
+ Matrix_Translate(gGfxMatrix, 0.0f, 10.0f, 0.0f, MTXF_APPLY);
+ Matrix_RotateZ(gGfxMatrix, M_PI / 4, MTXF_APPLY);
+ Matrix_Translate(gGfxMatrix, 1.0f, 20.0f, 0.0f, MTXF_APPLY);
Matrix_Push(&gGfxMatrix);
- Matrix_Scale(gGfxMatrix, 0.25f, 1.0f, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, 0.25f, 1.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_102F5E0);
Matrix_Pop(&gGfxMatrix);
@@ -3277,13 +3278,13 @@ void func_effect_80080D04(Effect* effect) {
for (i = 0; i < 10; i++) {
Matrix_Push(&gGfxMatrix);
- Matrix_Translate(gGfxMatrix, 0.0f, -60.0f, 0.0f, 1);
- Matrix_Scale(gGfxMatrix, 0.8f, 3.0f, 1.0f, 1);
+ Matrix_Translate(gGfxMatrix, 0.0f, -60.0f, 0.0f, MTXF_APPLY);
+ Matrix_Scale(gGfxMatrix, 0.8f, 3.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_102F5E0);
Matrix_Pop(&gGfxMatrix);
- Matrix_Translate(gGfxMatrix, 0.0f, -120.0f, 0.0f, 1);
- Matrix_RotateZ(gGfxMatrix, D_800D1534[D_800D18E4][i] * M_DTOR, 1);
+ Matrix_Translate(gGfxMatrix, 0.0f, -120.0f, 0.0f, MTXF_APPLY);
+ Matrix_RotateZ(gGfxMatrix, D_800D1534[D_800D18E4][i] * M_DTOR, MTXF_APPLY);
}
break;
@@ -3498,7 +3499,7 @@ void func_effect_80081C5C(Effect* effect) {
effect->vel.z, RAND_FLOAT(0.05f) + 0.05f, 0);
}
- if (func_enmy_8006351C(effect->index, &effect->obj.pos, &velocity, 1) != 0) {
+ if (Object_CheckCollision(effect->index, &effect->obj.pos, &velocity, 1) != 0) {
func_effect_8007B344(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 3.0f, 7);
Object_Kill(&effect->obj, effect->sfxSource);
}
@@ -3525,7 +3526,7 @@ void func_effect_80081C5C(Effect* effect) {
Math_SmoothStepToF(&effect->scale2, 0.5f, 0.01f, 0.02f, 0.0f);
}
- if (func_enmy_8006351C(effect->index, &effect->obj.pos, &velocity, 1) != 0) {
+ if (Object_CheckCollision(effect->index, &effect->obj.pos, &velocity, 1) != 0) {
Object_Kill(&effect->obj, effect->sfxSource);
func_effect_8007D0E0(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 1.0f);
}
@@ -3563,7 +3564,7 @@ void func_effect_80081C5C(Effect* effect) {
(RAND_FLOAT_CENTERED(effect->scale2) * 50.0f) + effect->obj.pos.z, effect->vel.x,
effect->vel.y, effect->vel.z, RAND_FLOAT(0.03f) + 0.05f, 10);
}
- if (func_enmy_8006351C(effect->index, &effect->obj.pos, &velocity, 1) != 0) {
+ if (Object_CheckCollision(effect->index, &effect->obj.pos, &velocity, 1) != 0) {
func_effect_8007B344(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 3.0f, 7);
Object_Kill(&effect->obj, effect->sfxSource);
}
@@ -3653,8 +3654,8 @@ void func_effect_80081C5C(Effect* effect) {
case 8:
Math_SmoothStepToF(D_ctx_801779A8, 30.0f, 1.0f, 5.0f, 0.0f);
- Matrix_RotateY(gCalcMatrix, gBosses[0].obj.rot.y * M_DTOR, 0);
- Matrix_RotateX(gCalcMatrix, gBosses[0].obj.rot.x * M_DTOR, 1);
+ Matrix_RotateY(gCalcMatrix, gBosses[0].obj.rot.y * M_DTOR, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, gBosses[0].obj.rot.x * M_DTOR, MTXF_APPLY);
velocity.y = 0.0f;
velocity.x = 0;
@@ -3723,8 +3724,8 @@ void func_effect_80081C5C(Effect* effect) {
yRotDeg = Math_RadToDeg(Math_Atan2F(posXDiff, posZDiff));
xRotDeg = Math_RadToDeg(-Math_Atan2F(posYDiff, sqrtf(SQ(posXDiff) + SQ(posZDiff))));
- Matrix_RotateY(gCalcMatrix, M_DTOR * yRotDeg, 0);
- Matrix_RotateX(gCalcMatrix, M_DTOR * xRotDeg, 1);
+ Matrix_RotateY(gCalcMatrix, M_DTOR * yRotDeg, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, M_DTOR * xRotDeg, MTXF_APPLY);
velocity.x = velocity.y = 0.0f;
velocity.z = 20.0f;
@@ -3764,13 +3765,13 @@ void func_effect_80081C5C(Effect* effect) {
}
if ((((gGameFrameCount % 16) == 0)) && (effect->timer_50 == 0)) {
D_800D18EC =
- RAD_TO_DEG(Math_Atan2F(gPlayer[0].camEye.x - gBosses[0].obj.pos.x,
- gPlayer[0].camEye.z - (gBosses[0].obj.pos.z + D_ctx_80177D20)));
+ RAD_TO_DEG(Math_Atan2F(gPlayer[0].cam.eye.x - gBosses[0].obj.pos.x,
+ gPlayer[0].cam.eye.z - (gBosses[0].obj.pos.z + D_ctx_80177D20)));
D_800D18E8 = RAD_TO_DEG(
- -Math_Atan2F(gPlayer[0].camEye.y - gBosses[0].obj.pos.y,
- sqrtf(SQ(gPlayer[0].camEye.z - (gBosses[0].obj.pos.z + D_ctx_80177D20)) +
- SQ(gPlayer[0].camEye.x - gBosses[0].obj.pos.x))));
+ -Math_Atan2F(gPlayer[0].cam.eye.y - gBosses[0].obj.pos.y,
+ sqrtf(SQ(gPlayer[0].cam.eye.z - (gBosses[0].obj.pos.z + D_ctx_80177D20)) +
+ SQ(gPlayer[0].cam.eye.x - gBosses[0].obj.pos.x))));
}
if (gBosses[0].timer_050 == 0) {
gBosses[0].swork[39] = effect->index;
@@ -3792,8 +3793,8 @@ void func_effect_80081C5C(Effect* effect) {
effect->obj.rot.y = gBosses[0].obj.rot.y;
effect->obj.rot.z += 30.0f;
- Matrix_RotateY(gCalcMatrix, gBosses[0].obj.rot.y * M_DTOR, 0);
- Matrix_RotateX(gCalcMatrix, gBosses[0].obj.rot.x * M_DTOR, 1);
+ Matrix_RotateY(gCalcMatrix, gBosses[0].obj.rot.y * M_DTOR, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, gBosses[0].obj.rot.x * M_DTOR, MTXF_APPLY);
velocity.x = velocity.y = 0.0f;
velocity.z = 250.0f;
@@ -3864,7 +3865,7 @@ void func_effect_80082F78(Effect* effect) {
switch (effect->state) {
case 0:
RCP_SetupDL(&gMasterDisp, 0x31);
- Matrix_Scale(gGfxMatrix, 0.7f, 0.7f, 1.0f, 1);
+ Matrix_Scale(gGfxMatrix, 0.7f, 0.7f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 32, 32, 255, 255);
@@ -3880,7 +3881,7 @@ void func_effect_80082F78(Effect* effect) {
case 2:
RCP_SetupDL(&gMasterDisp, 0x31);
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 32, 32, 255, 255);
@@ -3924,7 +3925,7 @@ void func_effect_80082F78(Effect* effect) {
case 8:
RCP_SetupDL(&gMasterDisp, 0x31);
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 255, 0, 128, 255);
@@ -3933,7 +3934,7 @@ void func_effect_80082F78(Effect* effect) {
case 9:
RCP_SetupDL(&gMasterDisp, 0x31);
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->scale1);
gDPSetEnvColor(gMasterDisp++, 255, 255, 128, 255);
@@ -3945,7 +3946,7 @@ void func_effect_80082F78(Effect* effect) {
Texture_Scroll(D_A6_6012840, 16, 16, 0);
}
RCP_SetupDL(&gMasterDisp, 0x35);
- Matrix_Scale(gGfxMatrix, effect->unk_60.x, effect->unk_60.y, effect->unk_60.z, 1);
+ Matrix_Scale(gGfxMatrix, effect->unk_60.x, effect->unk_60.y, effect->unk_60.z, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
gSPDisplayList(gMasterDisp++, D_A6_6012550);
@@ -4050,15 +4051,15 @@ void func_effect_800837EC(Effect* effect) {
break;
}
- effect->obj.rot.y = RAD_TO_DEG(Math_Atan2F(gPlayer[0].camEye.x - effect->obj.pos.x,
- gPlayer[0].camEye.z - (effect->obj.pos.z + D_ctx_80177D20)));
+ effect->obj.rot.y = RAD_TO_DEG(Math_Atan2F(gPlayer[0].cam.eye.x - effect->obj.pos.x,
+ gPlayer[0].cam.eye.z - (effect->obj.pos.z + D_ctx_80177D20)));
}
void func_effect_80083B8C(Effect* effect) {
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, effect->unk_44);
gDPSetEnvColor(gMasterDisp++, 36, 45, 28, 255);
- Matrix_Scale(gGfxMatrix, effect->unk_60.x, effect->scale2 * effect->unk_60.y, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->unk_60.x, effect->scale2 * effect->unk_60.y, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_ZO_601BAD0);
RCP_SetupDL(&gMasterDisp, 0x40);
@@ -4120,8 +4121,8 @@ void func_effect_80083D2C(f32 xPos, f32 yPos, f32 zPos, f32 srcZ) {
yRot = Math_Atan2F(x, z);
xRot = -Math_Atan2F(y, sqrtf(SQ(x) + SQ(z)));
- Matrix_RotateY(gCalcMatrix, yRot, 0);
- Matrix_RotateX(gCalcMatrix, xRot, 1);
+ Matrix_RotateY(gCalcMatrix, yRot, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, xRot, MTXF_APPLY);
src.x = src.y = 0.0f;
src.z = srcZ;
@@ -4152,12 +4153,12 @@ void func_effect_80083FA8(Effect* effect) {
return;
}
- effect->obj.rot.y = RAD_TO_DEG(-gPlayer[0].unk_058);
- effect->obj.rot.x = RAD_TO_DEG(gPlayer[0].unk_05C);
+ effect->obj.rot.y = RAD_TO_DEG(-gPlayer[0].camYaw);
+ effect->obj.rot.x = RAD_TO_DEG(gPlayer[0].camPitch);
effect->obj.rot.z += 20.0f;
- Matrix_RotateZ(gCalcMatrix, effect->unk_60.z * M_DTOR, 0);
- Matrix_RotateZ(gCalcMatrix, effect->unk_46 * M_DTOR, 1);
+ Matrix_RotateZ(gCalcMatrix, effect->unk_60.z * M_DTOR, MTXF_NEW);
+ Matrix_RotateZ(gCalcMatrix, effect->unk_46 * M_DTOR, MTXF_APPLY);
src.x = 0.0f;
src.y = effect->scale1;
@@ -4196,14 +4197,14 @@ void func_effect_80084194(Effect* effect) {
if (gCurrentLevel != LEVEL_AQUAS) {
RCP_SetupDL(&gMasterDisp, 0x31);
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
tmp = effect->unk_44 * 4;
gDPSetEnvColor(gMasterDisp++, D_800D18F0[tmp + 0], D_800D18F0[tmp + 1], D_800D18F0[tmp + 2], 255);
} else {
RCP_SetupDL(&gMasterDisp, 0x31);
- Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, 1);
+ Matrix_Scale(gGfxMatrix, effect->scale2, effect->scale2, effect->scale2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_800D1950[effect->unk_44]);
gDPSetEnvColor(gMasterDisp++, 255, 0, 0, 255);