Actor decomp (#183)

* Actor decomp
This commit is contained in:
MegaMech
2022-04-26 16:48:36 -06:00
committed by GitHub
parent 626513f90a
commit 2f8a1bfcb6
57 changed files with 1869 additions and 5545 deletions
+2 -1
View File
@@ -5242,7 +5242,8 @@ extern ? D_800EA1C8;
extern ? D_800EA1D4;
extern ? D_800EA1DC;
void func_800C98B8(s32 arg0, ? arg1, s32 arg2) {
// Precursor to play_sound
void func_800C98B8(Vec3f arg0, Vec3f arg1, u32 arg2) {
s32 temp_t0;
void *temp_v0;
s32 phi_s0;
+22 -22
View File
@@ -932,9 +932,9 @@ void func_8002934C(Player *player, s32 arg1, s8 arg2, s8 arg3) {
} else {
temp_v0 = phi_a3->unk244;
if ((temp_v0 >= 0) && (temp_v0 < 0x101)) {
phi_f0 = player->rotY - player->posY;
phi_f0 = player->rotY - player->pos[1];
} else {
phi_f0 = player->posY - player->rotY;
phi_f0 = player->pos[1] - player->rotY;
}
sp24 = phi_a3;
phi_a3->unkD4 = func_802B7C40(phi_f0 / phi_f2, 0x4000000) * 0.5;
@@ -1124,9 +1124,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) {
sp80 = player->boundingBoxCorners[0].cornerX;
sp84 = player->boundingBoxCorners[0].cornerY;
sp88 = player->boundingBoxCorners[0].cornerZ;
player->boundingBoxCorners[0].cornerX = sp8C + player->posX;
player->boundingBoxCorners[0].cornerY = sp90 + player->posY;
player->boundingBoxCorners[0].cornerZ = sp94 + player->posZ;
player->boundingBoxCorners[0].cornerX = sp8C + player->pos[0];
player->boundingBoxCorners[0].cornerY = sp90 + player->pos[1];
player->boundingBoxCorners[0].cornerZ = sp94 + player->pos[2];
func_802AFA34(player, player->boundingBoxCorners, sp80, sp84, sp88);
temp_f14 = -sp48;
temp_f2_2 = (f64) temp_f14;
@@ -1140,9 +1140,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) {
sp80 = player->boundingBoxCorners[1].cornerX;
sp84 = player->boundingBoxCorners[1].cornerY;
sp88 = player->boundingBoxCorners[1].cornerZ;
player->boundingBoxCorners[1].cornerX = sp8C + player->posX;
player->boundingBoxCorners[1].cornerY = sp90 + player->posY;
player->boundingBoxCorners[1].cornerZ = sp94 + player->posZ;
player->boundingBoxCorners[1].cornerX = sp8C + player->pos[0];
player->boundingBoxCorners[1].cornerY = sp90 + player->pos[1];
player->boundingBoxCorners[1].cornerZ = sp94 + player->pos[2];
func_802AFA34(player, &player->boundingBoxCorners[1], sp80, sp84, sp88);
temp_a0_3 = &sp8C;
temp_f12 = sp34 + 4.0f;
@@ -1154,9 +1154,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) {
sp80 = player->boundingBoxCorners[2].cornerX;
sp84 = player->boundingBoxCorners[2].cornerY;
sp88 = player->boundingBoxCorners[2].cornerZ;
player->boundingBoxCorners[2].cornerX = sp8C + player->posX;
player->boundingBoxCorners[2].cornerY = sp90 + player->posY;
player->boundingBoxCorners[2].cornerZ = sp94 + player->posZ;
player->boundingBoxCorners[2].cornerX = sp8C + player->pos[0];
player->boundingBoxCorners[2].cornerY = sp90 + player->pos[1];
player->boundingBoxCorners[2].cornerZ = sp94 + player->pos[2];
func_802AFA34(player, &player->boundingBoxCorners[2], sp80, sp84, sp88);
temp_a0_4 = &sp8C;
sp8C = (f32) (sp28 + 2.6);
@@ -1166,9 +1166,9 @@ void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) {
sp80 = player->boundingBoxCorners[3].cornerX;
sp84 = player->boundingBoxCorners[3].cornerY;
sp88 = player->boundingBoxCorners[3].cornerZ;
player->boundingBoxCorners[3].cornerX = sp8C + player->posX;
player->boundingBoxCorners[3].cornerY = sp90 + player->posY;
player->boundingBoxCorners[3].cornerZ = sp94 + player->posZ;
player->boundingBoxCorners[3].cornerX = sp8C + player->pos[0];
player->boundingBoxCorners[3].cornerY = sp90 + player->pos[1];
player->boundingBoxCorners[3].cornerZ = sp94 + player->pos[2];
func_802AFA34(player, &player->boundingBoxCorners[3], sp80, sp84, sp88);
if ((player->unk_0BC & 8) == 0) {
move_f32_towards(&player->unk_230, (player->boundingBoxCorners[0].cornerGroundY + player->boundingBoxCorners[2].cornerGroundY) / 2.0f, 0.5f);
@@ -1619,7 +1619,7 @@ void func_8002AB70(Player *player) {
move_f32_towards(&player->unk_DAC, 1.0f, 0.07f);
}
} else {
if (player->unk_124 >= 50.0f) {
if (player->unk_110.unk44 >= 50.0f) {
player->unk_DAC = 2.0f;
}
move_f32_towards(&player->unk_100, gKartGravityTable[player->characterId], 0.02f);
@@ -3207,10 +3207,10 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
if ((temp_v0_5 & 0x10) == 0x10) {
player->unk_044 = temp_v0_5 & 0xFFEF;
}
temp_f0_7 = player->posX;
temp_f0_7 = player->pos[0];
spF0 = temp_f0_7;
temp_f2_7 = player->posZ;
temp_f12_6 = player->posY;
temp_f2_7 = player->pos[2];
temp_f12_6 = player->pos[1];
spE8 = temp_f2_7;
player->rotX = temp_f0_7;
player->rotZ = temp_f2_7;
@@ -3353,7 +3353,7 @@ void func_8002D268(Player *player, s32 arg1, s8 arg2, s8 arg3) {
player->posZ = spF4;
}
temp_v0_17 = player->unk_000;
player->posY = spF8;
player->pos[1] = spF8;
if (((temp_v0_17 & 0x4000) != 0) && ((temp_v0_17 & 0x1000) == 0)) {
func_8002BB9C(player, &spFC, &spF4, arg2, arg3, &sp98);
}
@@ -3404,9 +3404,9 @@ void func_8002E4C4(Player *player) {
player->kartHopJerk = 0.0f;
player->kartHopAcceleration = 0.0f;
player->kartHopVelocity = 0.0f;
player->posY = func_802AE1C0(player->posX, D_80164510[player_index] + 10.0f, player->posZ) + player->unk_070;
if (((player->posY - D_80164510[player_index]) > 1200.0f) || ((player->posY - D_80164510[player_index]) < -1200.0f)) {
player->posY = player->rotY;
player->pos[1] = func_802AE1C0(player->pos[0], D_80164510[player_index] + 10.0f, player->pos[2]) + player->unk_070;
if (((player->pos[1] - D_80164510[player_index]) > 1200.0f) || ((player->pos[1] - D_80164510[player_index]) < -1200.0f)) {
player->pos[1] = player->rotY;
}
player->unk_038 = 0.0f;
}
+36 -36
View File
@@ -49,10 +49,10 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4,
break;
}
player->posX = arg2;
player->pos[0] = arg2;
ret = func_802AE1C0(arg2, arg4 + 50.0f, arg3) + player->unk_070;
player->posZ = arg3;
player->posY = ret;
player->pos[2] = arg3;
player->pos[1] = ret;
player->rotX = arg2;
player->rotY = ret;
@@ -251,12 +251,12 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4,
player->boundingBoxCorners[BACK_LEFT_TYRE].unk_14 = 0;
player->boundingBoxCorners[BACK_RIGHT_TYRE].unk_14 = 0;
player->unk_110 = 0;
player->unk_112 = 0;
player->unk_114 = 0;
player->unk_116 = 0;
player->unk_118 = 0;
player->unk_11A = 0;
player->unk_110.unk30 = 0;
player->unk_110.unk32 = 0;
player->unk_110.unk34 = 0;
player->unk_110.unk36 = 0;
player->unk_110.unk38 = 0;
player->unk_110.unk3A = 0;
player->boundingBoxCorners[FRONT_LEFT_TYRE].cornerX = 0.0f;
player->boundingBoxCorners[FRONT_LEFT_TYRE].cornerY = 0.0f;
@@ -279,18 +279,18 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4,
player->boundingBoxCorners[BACK_LEFT_TYRE].cornerGroundY = 0.0f;
player->boundingBoxCorners[BACK_RIGHT_TYRE].cornerGroundY = 0.0f;
player->unk_11C = 0.0f;
player->unk_120 = 0.0f;
player->unk_124 = 0.0f;
player->unk_128 = 0.0f;
player->unk_12C = 0.0f;
player->unk_130 = 0.0f;
player->unk_134 = 0.0f;
player->unk_138 = 0.0f;
player->unk_13C = 0.0f;
player->unk_140 = 0.0f;
player->unk_144 = 0.0f;
player->unk_148 = 0.0f;
player->unk_110.unk3C = 0.0f;
player->unk_110.unk40 = 0.0f;
player->unk_110.unk44 = 0.0f;
player->unk_110.unk48[0] = 0.0f;
player->unk_110.unk48[1] = 0.0f;
player->unk_110.unk48[2] = 0.0f;
player->unk_110.unk54[0] = 0.0f;
player->unk_110.unk54[1] = 0.0f;
player->unk_110.unk54[2] = 0.0f;
player->unk_110.unk60[0] = 0.0f;
player->unk_110.unk60[1] = 0.0f;
player->unk_110.unk60[2] = 0.0f;
D_80165300[playerIndex] = 0;
D_8018CE10[playerIndex].unk_04 = 0.0f;
@@ -1115,17 +1115,17 @@ void func_8003D080(void) {
switch (gModeSelection) {
case GRAND_PRIX:
func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 1, 0);
func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 1, 1);
func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 1, 1);
break;
case BATTLE:
func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 9, 0);
func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 9, 1);
func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 9, 1);
break;
default:
func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 1, 0);
func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 1, 1);
func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 1, 1);
break;
}
break;
@@ -1134,22 +1134,22 @@ void func_8003D080(void) {
if (gModeSelection == BATTLE) {
ptr = &gPlayerThree;
func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 9, 0);
func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 9, 1);
func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 9, 1);
ptr++;
func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 9, 2);
func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 9, 2);
ptr++;
if (gPlayerCountSelection1 == 4) {
func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 9, 3);
func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 9, 3);
}
} else {
ptr = &gPlayerThree;
func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 1, 0);
func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 1, 1);
func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 1, 1);
ptr++;
func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 1, 2);
func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 1, 2);
ptr++;
if (gPlayerCountSelection1 == 4) {
func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 1, 3);
func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 1, 3);
}
}
break;
@@ -1163,17 +1163,17 @@ void func_8003D080(void) {
case 1:
case 2:
func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 3, 0);
func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 3, 1);
func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 3, 1);
break;
case 3:
ptr = &gPlayerThree;
func_8001C4D0(gPlayerOne->unk_0A4, gPlayerOne->unk_0A8, gPlayerOne->unk_0AC, gPlayerOne->unk_0BC, 3, 0);
func_8001C4D0(gPlayerTwo->posX, gPlayerTwo->posY, gPlayerTwo->posZ, gPlayerTwo->unk_02E, 3, 1);
func_8001C4D0(gPlayerTwo->pos[0], gPlayerTwo->pos[1], gPlayerTwo->pos[2], gPlayerTwo->unk_02E, 3, 1);
ptr++;
func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 3, 2);
func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 3, 2);
ptr++;
func_8001C4D0(ptr->posX, ptr->posY, ptr->posZ, ptr->unk_02E, 3, 3);
func_8001C4D0(ptr->pos[0], ptr->pos[1], ptr->pos[2], ptr->unk_02E, 3, 3);
break;
}
}
@@ -1242,8 +1242,8 @@ void func_8003DB5C(void) {
Player *player = gPlayerOne;
s32 i;
func_8001C4D0(player->posX, player->posY, player->posZ, player->unk_02E, 3, 0);
func_8001C4D0(player->posX, player->posY, player->posZ, player->unk_02E, 3, 1);
func_8001C4D0(player->pos[0], player->pos[1], player->pos[2], player->unk_02E, 3, 0);
func_8001C4D0(player->pos[0], player->pos[1], player->pos[2], player->unk_02E, 3, 1);
for (i = 0; i < 8; i++, player++) {
func_80027A20(player, i, 1, 0);
-1
View File
@@ -192,7 +192,6 @@ UNUSED s32 s32_step_up_towards_alternate(s32 *value, s32 target, s32 *step) {
}
UNUSED s32 s32_step_down_towards_alternate(s32 *value, s32 target, s32 *step) {
s32 temp_t7;
s32 targetReached = 0;
if (target < *value) {
+101 -101
View File
@@ -919,9 +919,9 @@ void func_80059820(s32 playerId) {
D_8018CF14 = &camera1[playerId];
temp_v1 = D_8018CF1C;
temp_v0 = &D_8018CA70[playerId];
temp_v0->posXInt = (s32) temp_v1->posX;
temp_v0->posYInt = (s32) temp_v1->posY;
temp_v0->posZInt = (s32) temp_v1->posZ;
temp_v0->posXInt = (s32) temp_v1->pos[0];
temp_v0->posYInt = (s32) temp_v1->pos[1];
temp_v0->posZInt = (s32) temp_v1->pos[2];
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059820.s")
@@ -3184,9 +3184,9 @@ void func_8005D6C0(Player* arg0) {
}
void func_8005D794(Player* arg0, UnkPlayerStruct258* arg1, f32 arg2, f32 arg3, f32 arg4, s8 arg5, s8 arg6) {
arg1->unk_008 = arg4;
arg1->unk_000 = arg2;
arg1->unk_004 = arg3;
arg1->unk_000[2] = arg4;
arg1->unk_000[0] = arg2;
arg1->unk_000[1] = arg3;
arg1->unk_020 = -arg0->unk_02E;
arg1->unk_014 = arg5;
arg1->unk_010 = arg6;
@@ -4144,15 +4144,15 @@ void func_8005F90C(Player *player, s16 arg1, s32 arg2, s32 arg3) {
phi_t1 = 0;
if ((player->unk_0BC & 0x80) == 0x80) {
phi_v0 = (s32) player->boundingBoxCorners[2].surfaceType;
phi_f12 = player->posZ;
phi_f0 = player->posX;
phi_f2 = player->posY - player->unk_070;
phi_f12 = player->pos[2];
phi_f0 = player->pos[0];
phi_f2 = player->pos[1] - player->unk_070;
phi_t1 = 1;
} else {
phi_v0 = (s32) player->boundingBoxCorners[3].surfaceType;
phi_f12 = player->posZ;
phi_f0 = player->posX;
phi_f2 = player->posY - player->unk_070;
phi_f12 = player->pos[2];
phi_f0 = player->pos[0];
phi_f2 = player->pos[1] - player->unk_070;
}
switch (phi_v0) {
case 2:
@@ -4655,9 +4655,9 @@ void func_80060F50(Player* arg0, s16 arg1, UNUSED s8 arg2, s8 arg3) {
func_8005D800(&arg0->unk_258[arg1], 0xFFFFFF, 0xFF);
}
arg0->unk_258[arg1].unk_008 = (coss(arg0->unk_258[arg1].unk_020) * D_800EE5A8) + arg0->posZ;
arg0->unk_258[arg1].unk_000 = (sins(arg0->unk_258[arg1].unk_020) * D_800EE5B0) + arg0->posX;
arg0->unk_258[arg1].unk_004 = D_801652A0[arg3];
arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + (coss(arg0->unk_258[arg1].unk_020) * D_800EE5A8);
arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + (sins(arg0->unk_258[arg1].unk_020) * D_800EE5B0);
arg0->unk_258[arg1].unk_000[1] = D_801652A0[arg3];
arg0->unk_0DE &= ~0x0008;
}
@@ -4677,9 +4677,9 @@ void func_80061130(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
func_8005D7D8(&arg0->unk_258[arg1], 7, 0.6f);
func_8005D800(&arg0->unk_258[arg1], 0xFFFFFF, 0xD0);
arg0->unk_258[arg1].unk_008 = (coss(arg0->unk_258[arg1].unk_020) * 6.0f) + arg0->posZ;
arg0->unk_258[arg1].unk_000 = (sins(arg0->unk_258[arg1].unk_020) * 6.0f) + arg0->posX;
arg0->unk_258[arg1].unk_004 = arg0->posY - 5.0f;
arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] +(coss(arg0->unk_258[arg1].unk_020) * 6.0f);
arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + (sins(arg0->unk_258[arg1].unk_020) * 6.0f);
arg0->unk_258[arg1].unk_000[1] = arg0->pos[1] - 5.0f;
arg0->unk_258[arg1].unk_040 = 0;
arg0->unk_258[arg1].unk_024 = 0.0f;
}
@@ -5108,7 +5108,7 @@ void func_80061EF4(void *arg0, s16 arg1, s32 arg2, ? arg3) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80061EF4.s")
#endif
void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) {
void func_800621BC(Player* arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) {
s32 temp_v1;
s32 phi_t0;
s32 phi_t1;
@@ -5121,7 +5121,7 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) {
if (temp_v1 == 1) {
phi_t1 = 1;
phi_t0 = 0;
phi_f2 = arg0->posY;
phi_f2 = arg0->pos[1];
}
if (temp_v1 == 0) {
@@ -5129,7 +5129,7 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) {
if (1) {
phi_t0 = 0;
}
phi_f2 = arg0->posY;
phi_f2 = arg0->pos[1];
}
if (phi_t0 == 0) {
@@ -5145,8 +5145,8 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) {
arg0->unk_258[30 + arg1].unk_020 -= 2184;
}
arg0->unk_258[30 + arg1].unk_008 = (coss((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f) + arg0->posZ;
arg0->unk_258[30 + arg1].unk_000 = (sins((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f) + arg0->posX;
arg0->unk_258[30 + arg1].unk_000[2] = arg0->pos[2] + (coss((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f);
arg0->unk_258[30 + arg1].unk_000[0] = arg0->pos[0] + (sins((arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E) - arg0->unk_0C0) * 5.0f);
return;
}
@@ -5163,17 +5163,17 @@ void func_800621BC(Player *arg0, s16 arg1, s32 arg2, UNUSED s8 arg3) {
}
new_var = new_var2;
new_var->unk_258[30 + arg1].unk_008 = (coss((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f) + new_var->posZ;
new_var->unk_258[30 + arg1].unk_000 = (sins((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f) + new_var->posX;
new_var->unk_258[30 + arg1].unk_000[2] = new_var->pos[2] + (coss((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f);
new_var->unk_258[30 + arg1].unk_000[0] = new_var->pos[0] + (sins((new_var->unk_258[30 + arg1].unk_020 - new_var->unk_02E) - new_var->unk_0C0) * 5.0f);
}
}
}
void func_80062484(Player* arg0, UnkPlayerStruct258* arg1, s32 arg2) {
arg1->unk_01C = 1;
arg1->unk_004 = arg0->unk_074 + 1.0f;
arg1->unk_008 = arg0->posZ;
arg1->unk_000 = arg0->posX;
arg1->unk_000[1] = arg0->unk_074 + 1.0f;
arg1->unk_000[2] = arg0->pos[2];
arg1->unk_000[0] = arg0->pos[0];
arg1->unk_020 = (arg2 * 0x1998) - arg0->unk_02E;
arg1->unk_012 = 4;
arg1->unk_01E = 0;
@@ -5401,7 +5401,7 @@ void func_800629BC(Player* arg0, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
arg0->unk_258[20 + arg3].unk_012 = 6;
arg0->unk_258[20 + arg3].unk_01E = 0;
arg0->unk_258[20 + arg3].unk_00C = D_800EE604;
arg0->unk_258[20 + arg3].unk_004 = 0.0f;
arg0->unk_258[20 + arg3].unk_000[1] = 0.0f;
}
void func_80062A18(Player* arg0, s8 arg1, UNUSED s8 arg2, s8 arg3) {
@@ -5411,9 +5411,9 @@ void func_80062A18(Player* arg0, s8 arg1, UNUSED s8 arg2, s8 arg3) {
arg0->unk_258[20 + arg3].unk_01E = 1;
arg0->unk_258[20 + arg3].unk_020 = 0;
arg0->unk_0B6 &= ~0x0080;
arg0->unk_258[20 + arg3].unk_008 = arg0->posZ;
arg0->unk_258[20 + arg3].unk_000 = arg0->posX;
arg0->unk_258[20 + arg3].unk_004 = (arg0->posY + 4.0f);
arg0->unk_258[20 + arg3].unk_000[2] = arg0->pos[2];
arg0->unk_258[20 + arg3].unk_000[0] = arg0->pos[0];
arg0->unk_258[20 + arg3].unk_000[1] = (arg0->pos[1] + 4.0f);
}
void func_80062AA8(Player* arg0, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
@@ -5421,7 +5421,7 @@ void func_80062AA8(Player* arg0, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
arg0->unk_258[20 + arg3].unk_012 = 5;
arg0->unk_258[20 + arg3].unk_00C = D_800EE60C;
arg0->unk_258[20 + arg3].unk_01E = 0;
arg0->unk_258[20 + arg3].unk_004 = (arg0->posY + arg0->unk_070) - 2.5;
arg0->unk_258[20 + arg3].unk_000[1] = (arg0->pos[1] + arg0->unk_070) - 2.5;
}
void func_80062B18(f32 *arg0, f32 *arg1, f32 *arg2, f32 arg3, f32 arg4, f32 arg5, u16 arg6, u16 arg7) {
@@ -5552,15 +5552,15 @@ void func_80062F98(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) {
temp_f0 = arg0->unk_258[10 + arg1].unk_018 / 10.0f;
++arg0->unk_258[10 + arg1].unk_01E;
arg0->unk_258[10 + arg1].unk_004 += temp_f0;
arg0->unk_258[10 + arg1].unk_000[1] += temp_f0;
if ((arg0->unk_0CA & 1) == 1) {
arg0->unk_258[10 + arg1].unk_004 += (temp_f0 + D_800EE648);
if ((arg0->unk_258[10 + arg1].unk_01E == 0x10) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_004) < 3.0f)) {
arg0->unk_258[10 + arg1].unk_000[1] += (temp_f0 + D_800EE648);
if ((arg0->unk_258[10 + arg1].unk_01E == 0x10) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_000[1]) < 3.0f)) {
arg0->unk_258[10 + arg1].unk_01C = 0;
arg0->unk_258[10 + arg1].unk_01E = 0;
arg0->unk_258[10 + arg1].unk_012 = 0;
}
} else if ((arg0->unk_258[10 + arg1].unk_01E == 0xA) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_004) < 3.0f)) {
} else if ((arg0->unk_258[10 + arg1].unk_01E == 0xA) || ((D_801652A0[arg2] - arg0->unk_258[10 + arg1].unk_000[1]) < 3.0f)) {
arg0->unk_258[10 + arg1].unk_01C = 0;
arg0->unk_258[10 + arg1].unk_01E = 0;
arg0->unk_258[10 + arg1].unk_012 = 0;
@@ -5569,9 +5569,9 @@ void func_80062F98(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) {
void func_800630C0(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) {
++arg0->unk_258[arg1].unk_01E;
arg0->unk_258[arg1].unk_008 = coss(arg0->unk_258[arg1].unk_020) * D_800EE650 + arg0->posZ;
arg0->unk_258[arg1].unk_000 = sins(arg0->unk_258[arg1].unk_020) * D_800EE658 + arg0->posX;
arg0->unk_258[arg1].unk_004 = D_801652A0[arg2];
arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + coss(arg0->unk_258[arg1].unk_020) * D_800EE650;
arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + sins(arg0->unk_258[arg1].unk_020) * D_800EE658;
arg0->unk_258[arg1].unk_000[1] = D_801652A0[arg2];
if (arg0->unk_258[arg1].unk_01E == 15) {
arg0->unk_258[arg1].unk_01C = 0;
arg0->unk_258[arg1].unk_01E = 0;
@@ -5611,9 +5611,9 @@ void func_80063268(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
}
arg0->unk_258[arg1].unk_024 += 0.25;
arg0->unk_258[arg1].unk_008 = (coss((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5) + arg0->posZ;
arg0->unk_258[arg1].unk_000 = (sins((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5) + arg0->posX;
arg0->unk_258[arg1].unk_004 = (arg0->unk_258[arg1].unk_024 + (arg0->posY - 5.0f));
arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + (coss((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5);
arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + (sins((arg0->unk_258[arg1].unk_020 + arg0->unk_258[arg1].unk_040)) * 5.5);
arg0->unk_258[arg1].unk_000[1] = ((arg0->pos[1] - 5.0f) + arg0->unk_258[arg1].unk_024);
++arg0->unk_258[arg1].unk_01E;
arg0->unk_258[arg1].unk_00C += D_800EE660;
arg0->unk_258[arg1].unk_03E -= 5;
@@ -5631,15 +5631,15 @@ void func_80063268(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
void func_80063408(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
if (arg0->unk_258[10 + arg1].unk_010 == 1) {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020);
} else {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + (arg0->unk_258[10 + arg1].unk_01E * -7) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + (arg0->unk_258[10 + arg1].unk_01E * -7) * sins(arg0->unk_258[10 + arg1].unk_020);
}
++arg0->unk_258[10 + arg1].unk_01E;
arg0->unk_258[10 + arg1].unk_004 += 1.0f;
arg0->unk_258[10 + arg1].unk_000[1] += 1.0f;
if (((arg0->unk_0BC & 0x80) != 0) || ((arg0->unk_0BC & 0x40) != 0)) {
arg0->unk_258[10 + arg1].unk_01C = 0;
@@ -5670,23 +5670,23 @@ void func_800635D4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
if (arg0->unk_258[10 + arg1].unk_010 == 1) {
if ((arg0->unk_0BC * 2) < 0) {
func_80062B18(&sp44, &sp40, &sp3C, -2.0f, 0.0f, (-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16, -arg0->unk_258[10 + arg1].unk_020, 2 * -arg0->unk_206);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + sp44;
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + sp3C;
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + sp44;
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + sp3C;
} else {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020);
}
} else if ((arg0->unk_0BC * 2) < 0) {
func_80062B18(&sp44, &sp40, &sp3C, 2.0f, 0.0f, (-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16, - arg0->unk_258[10 + arg1].unk_020, 2 * -arg0->unk_206);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + sp44;
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + sp3C;
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + sp44;
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + sp3C;
} else {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 16) * sins(arg0->unk_258[10 + arg1].unk_020);
}
++arg0->unk_258[10 + arg1].unk_01E;
arg0->unk_258[10 + arg1].unk_004 += D_800EE670;
arg0->unk_258[10 + arg1].unk_000[1] += D_800EE670;
if (((arg0->unk_0BC & 0x80) != 0) || ((arg0->unk_0BC & 0x40) != 0)) {
arg0->unk_258[10 + arg1].unk_01C = 0;
arg0->unk_258[10 + arg1].unk_01E = 0;
@@ -5718,14 +5718,14 @@ void func_800635D4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
void func_800639DC(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
if (arg0->unk_258[10 + arg1].unk_010 == 1) {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + (D_800EE680 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + (D_800EE684 * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + (D_800EE680 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + (D_800EE684 * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020);
} else {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + (D_800EE688 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + (D_800EE68C * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + (D_800EE688 * arg0->unk_258[10 + arg1].unk_01E) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + (D_800EE68C * arg0->unk_258[10 + arg1].unk_01E) * sins(arg0->unk_258[10 + arg1].unk_020);
}
++arg0->unk_258[10 + arg1].unk_01E;
arg0->unk_258[10 + arg1].unk_004 += D_800EE690;
arg0->unk_258[10 + arg1].unk_000[1] += D_800EE690;
if (arg0->unk_258[10 + arg1].unk_01E == 8) {
arg0->unk_258[10 + arg1].unk_01C = 0;
arg0->unk_258[10 + arg1].unk_01E = 0;
@@ -5753,15 +5753,15 @@ void func_800639DC(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
void func_80063BD4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
if (arg0->unk_258[10 + arg1].unk_010 == 1) {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020));
} else {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + (-2 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + (-2 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020));
}
++arg0->unk_258[10 + arg1].unk_01E;
arg0->unk_258[10 + arg1].unk_004 += D_800EE6A0;
arg0->unk_258[10 + arg1].unk_000[1] += D_800EE6A0;
if (arg0->unk_258[10 + arg1].unk_01E == 8) {
arg0->unk_258[10 + arg1].unk_01C = 0;
arg0->unk_258[10 + arg1].unk_01E = 0;
@@ -5774,11 +5774,11 @@ void func_80063BD4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
void func_80063D58(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
if (arg0->unk_258[10 + arg1].unk_010 == 1) {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[2].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[2].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020);
} else {
arg0->unk_258[10 + arg1].unk_008 = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000 = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[2] = arg0->boundingBoxCorners[3].cornerZ + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * coss(arg0->unk_258[10 + arg1].unk_020);
arg0->unk_258[10 + arg1].unk_000[0] = arg0->boundingBoxCorners[3].cornerX + ((-arg0->unk_258[10 + arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 20.0f) * sins(arg0->unk_258[10 + arg1].unk_020);
}
++arg0->unk_258[10 + arg1].unk_01E;
@@ -5791,9 +5791,9 @@ void func_80063D58(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
arg0->unk_258[10 + arg1].unk_00C += D_800EE6B0;
if (arg0->unk_258[10 + arg1].unk_01E >= 4) {
arg0->unk_258[10 + arg1].unk_03E -= 18;
arg0->unk_258[10 + arg1].unk_004 -= D_800EE6B8;
arg0->unk_258[10 + arg1].unk_000[1] -= D_800EE6B8;
} else {
arg0->unk_258[10 + arg1].unk_004 += D_800EE6C0;
arg0->unk_258[10 + arg1].unk_000[1] += D_800EE6C0;
}
if (arg0->unk_258[10 + arg1].unk_03E <= 0) {
@@ -5840,17 +5840,17 @@ void func_80064184(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) {
f32 sp40;
f32 sp3C;
sp40 = D_801652A0[arg2] - arg0->posY - 3.0f;
sp40 = D_801652A0[arg2] - arg0->pos[1] - 3.0f;
if (((arg0->unk_0DE & 1) != 0) && (gCurrentCourseId != COURSE_KOOPA_BEACH)) {
sp40 = D_801652A0[arg2] - arg0->posY + D_800EE6C8;
sp40 = D_801652A0[arg2] - arg0->pos[1] + D_800EE6C8;
}
func_80062B18(&sp44, &sp40, &sp3C, 0.0f, sp40, -4.0f + ((-arg0->unk_258[arg1].unk_01E * (arg0->unk_094 / 18.0f) * 216.0f) / 10.0f), -arg0->unk_258[arg1].unk_020, 2 * -arg0->unk_206);
arg0->unk_258[arg1].unk_000 = arg0->posX + sp44;
arg0->unk_258[arg1].unk_008 = arg0->posZ + sp3C;
arg0->unk_258[arg1].unk_004 = arg0->posY + sp40;
arg0->unk_258[arg1].unk_000[0] = arg0->pos[0] + sp44;
arg0->unk_258[arg1].unk_000[2] = arg0->pos[2] + sp3C;
arg0->unk_258[arg1].unk_000[1] = arg0->pos[1] + sp40;
++arg0->unk_258[arg1].unk_01E;
if ((arg0->unk_258[arg1].unk_01E == 12) || (D_801652A0[arg2] <= (arg0->posY - arg0->unk_070))) {
if ((arg0->unk_258[arg1].unk_01E == 12) || (D_801652A0[arg2] <= (arg0->pos[1] - arg0->unk_070))) {
arg0->unk_258[arg1].unk_01C = 0;
arg0->unk_258[arg1].unk_01E = 0;
arg0->unk_258[arg1].unk_012 = 0;
@@ -5868,9 +5868,9 @@ void func_80064184(Player* arg0, s16 arg1, s8 arg2, UNUSED s8 arg3) {
}
void func_800643A8(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
arg0->unk_258[10 + arg1].unk_008 = (D_800EE6D8 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020) + arg0->posZ);
arg0->unk_258[10 + arg1].unk_000 = (D_800EE6E0 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020) + arg0->posX);
arg0->unk_258[10 + arg1].unk_004 = arg0->unk_258[10 + arg1].unk_004 + 0.5;
arg0->unk_258[10 + arg1].unk_000[2] = arg0->pos[2] + (D_800EE6D8 * arg0->unk_258[10 + arg1].unk_01E * coss(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000[0] = arg0->pos[0] + (D_800EE6E0 * arg0->unk_258[10 + arg1].unk_01E * sins(arg0->unk_258[10 + arg1].unk_020));
arg0->unk_258[10 + arg1].unk_000[1] = arg0->unk_258[10 + arg1].unk_000[1] + 0.5;
++arg0->unk_258[10 + arg1].unk_01E;
if (arg0->unk_258[10 + arg1].unk_01E == 10) {
@@ -5984,9 +5984,9 @@ GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80064664.s")
void func_800647C8(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
++arg0->unk_258[30 + arg1].unk_01E;
arg0->unk_258[30 + arg1].unk_008 = ((D_800EE710 * (arg0->unk_258[30 + arg1].unk_01E)) * coss(arg0->unk_258[30 + arg1].unk_020)) + arg0->posZ;
arg0->unk_258[30 + arg1].unk_000 = ((D_800EE718 * (arg0->unk_258[30 + arg1].unk_01E)) * sins(arg0->unk_258[30 + arg1].unk_020) + arg0->posX);
arg0->unk_258[30 + arg1].unk_004 = (arg0->unk_074 + 2.0f);
arg0->unk_258[30 + arg1].unk_000[2] = arg0->pos[2] + ((D_800EE710 * (arg0->unk_258[30 + arg1].unk_01E)) * coss(arg0->unk_258[30 + arg1].unk_020));
arg0->unk_258[30 + arg1].unk_000[0] = arg0->pos[0] + ((D_800EE718 * (arg0->unk_258[30 + arg1].unk_01E)) * sins(arg0->unk_258[30 + arg1].unk_020));
arg0->unk_258[30 + arg1].unk_000[1] = (arg0->unk_074 + 2.0f);
if (arg0->unk_258[30 + arg1].unk_01E == 14) {
arg0->unk_258[30 + arg1].unk_01C = 0;
@@ -6003,7 +6003,7 @@ void func_800647C8(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
void func_800648E4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
++arg0->unk_258[30 + arg1].unk_01E;
arg0->unk_258[30 + arg1].unk_00C -= D_800EE720;
arg0->unk_258[30 + arg1].unk_004 += D_800EE728;
arg0->unk_258[30 + arg1].unk_000[1] += D_800EE728;
arg0->unk_258[30 + arg1].unk_03E -= 12;
if (arg0->unk_258[30 + arg1].unk_03E <= 0) {
@@ -6019,7 +6019,7 @@ void func_800648E4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
void func_80064988(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
++arg0->unk_258[30 + arg1].unk_01E;
arg0->unk_258[30 + arg1].unk_004 -= D_800EE730;
arg0->unk_258[30 + arg1].unk_000[1] -= D_800EE730;
if (arg0->unk_258[30 + arg1].unk_01E == 10) {
arg0->unk_258[30 + arg1].unk_01C = 0;
@@ -6032,9 +6032,9 @@ void func_800649F4(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
f32 temp;
temp = arg0->unk_258[30 + arg1].unk_018;
arg0->unk_258[30 + arg1].unk_008 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (coss(arg0->unk_258[30 + arg1].unk_020) ) + arg0->unk_21C);
arg0->unk_258[30 + arg1].unk_000 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (sins(arg0->unk_258[30 + arg1].unk_020)) + arg0->unk_218);
arg0->unk_258[30 + arg1].unk_004 = (arg0->unk_258[30 + arg1].unk_014 + arg0->posY);
arg0->unk_258[30 + arg1].unk_000[2] = arg0->unk_21C + (((-temp) * arg0->unk_258[30 + arg1].unk_01E) * coss(arg0->unk_258[30 + arg1].unk_020));
arg0->unk_258[30 + arg1].unk_000[0] = arg0->unk_218 + (((-temp) * arg0->unk_258[30 + arg1].unk_01E) * sins(arg0->unk_258[30 + arg1].unk_020));
arg0->unk_258[30 + arg1].unk_000[1] = arg0->pos[1] + arg0->unk_258[30 + arg1].unk_014;
arg0->unk_258[30 + arg1].unk_00C += D_800EE738;
++arg0->unk_258[30 + arg1].unk_01E;
@@ -6056,9 +6056,9 @@ void func_80064B30(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
f32 temp;
temp = arg0->unk_258[30 + arg1].unk_018 * D_800EE740;
arg0->unk_258[30 + arg1].unk_008 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (coss(arg0->unk_258[30 + arg1].unk_020)) + arg0->posZ);
arg0->unk_258[30 + arg1].unk_000 = ((-temp * arg0->unk_258[30 + arg1].unk_01E) * (sins(arg0->unk_258[30 + arg1].unk_020)) + arg0->posX);
arg0->unk_258[30 + arg1].unk_004 += D_800EE748;
arg0->unk_258[30 + arg1].unk_000[2] = (arg0->pos[2] + (-temp * arg0->unk_258[30 + arg1].unk_01E) * (coss(arg0->unk_258[30 + arg1].unk_020)));
arg0->unk_258[30 + arg1].unk_000[0] = (arg0->pos[0] + (-temp * arg0->unk_258[30 + arg1].unk_01E) * (sins(arg0->unk_258[30 + arg1].unk_020)));
arg0->unk_258[30 + arg1].unk_000[1] += D_800EE748;
++arg0->unk_258[30 + arg1].unk_01E;
if (arg0->unk_258[30 + arg1].unk_01E == 10) {
@@ -6084,9 +6084,9 @@ void func_80064C74(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
arg0->unk_258[30 + arg1].unk_020 -= 2184;
}
arg0->unk_258[30 + arg1].unk_008 = (coss(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f) + arg0->posZ;
arg0->unk_258[30 + arg1].unk_000 = (sins(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f) + arg0->posX;
arg0->unk_258[30 + arg1].unk_004 = arg0->posY - 1.0f;
arg0->unk_258[30 + arg1].unk_000[2] = arg0->pos[2] + (coss(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f);
arg0->unk_258[30 + arg1].unk_000[0] = arg0->pos[0] + (sins(arg0->unk_258[30 + arg1].unk_020 - arg0->unk_02E - arg0->unk_0C0) * 5.0f);
arg0->unk_258[30 + arg1].unk_000[1] = arg0->pos[1] - 1.0f;
arg0->unk_258[30 + arg1].unk_00C += D_800EE750;
++arg0->unk_258[30 + arg1].unk_01E;
@@ -6105,7 +6105,7 @@ void func_80064C74(Player* arg0, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) {
void func_80064DEC(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
arg0->unk_258[20 + arg3].unk_004 = arg0->posY;
arg0->unk_258[20 + arg3].unk_000[1] = arg0->pos[1];
++arg0->unk_258[20 + arg3].unk_01E;
if (arg0->unk_258[20 + arg3].unk_01E == 9) {
@@ -6157,7 +6157,7 @@ void func_80064F88(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
void func_80065030(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
++arg0->unk_258[20 + arg3].unk_01E;
arg0->unk_258[20 + arg3].unk_004 += D_800EE788;
arg0->unk_258[20 + arg3].unk_000[1] += D_800EE788;
arg0->unk_258[20 + arg3].unk_00C += D_800EE790;
if (arg0->unk_258[20 + arg3].unk_00C >= (f64) 1.5) {
arg0->unk_258[20 + arg3].unk_00C = 1.5f;
@@ -6172,9 +6172,9 @@ void func_80065030(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
}
void func_800650FC(Player* arg0, UNUSED s16 arg1, UNUSED s8 arg2, s8 arg3) {
arg0->unk_258[20 + arg3].unk_008 = (f32) arg0->posZ;
arg0->unk_258[20 + arg3].unk_000 = (f32) arg0->posX;
arg0->unk_258[20 + arg3].unk_004 = (f32) (arg0->posY + 4.0f);
arg0->unk_258[20 + arg3].unk_000[2] = (f32) arg0->pos[2];
arg0->unk_258[20 + arg3].unk_000[0] = (f32) arg0->pos[0];
arg0->unk_258[20 + arg3].unk_000[1] = (f32) (arg0->pos[1] + 4.0f);
if ((arg0->unk_0BC & 0x80) == 0x80) {
arg0->unk_258[20 + arg3].unk_020 += 4732;
} else {
+5 -5
View File
@@ -4143,27 +4143,27 @@ void func_80078C70(u32 arg0) {
case 0: /* switch 1 */
sp1C = 0;
sp18 = camera1;
D_8018D200 = D_80150130 + 40.0f;
D_8018D200 = D_80150130[0] + 40.0f;
break;
case 1: /* switch 1 */
sp1C = 0;
sp18 = camera1;
D_8018D200 = D_80150130 + 40.0f;
D_8018D200 = D_80150130[0] + 40.0f;
break;
case 2: /* switch 1 */
sp18 = camera2;
sp1C = D_8018D1F0;
D_8018D200 = D_80150134 + 40.0f;
D_8018D200 = D_80150130[1] + 40.0f;
break;
case 3: /* switch 1 */
sp1C = 0;
sp18 = camera1;
D_8018D200 = D_80150130 + 40.0f;
D_8018D200 = D_80150130[0] + 40.0f;
break;
case 4: /* switch 1 */
sp18 = camera2;
sp1C = D_8018D1F0;
D_8018D200 = D_80150134 + 40.0f;
D_8018D200 = D_80150130[1] + 40.0f;
break;
}
temp_v0 = D_8018D200;
+4 -4
View File
@@ -854,7 +854,7 @@ void func_8008DC08(Player* player, s8 arg1) {
player->unk_0C0 = 0;
player->unk_08C = 0.0f;
player->unk_09C = 0.0f;
if ((player->unk_124 >= 600.0f) || ((player->unk_0BC & 0x1000) != 0)) { D_8018D990[arg1] = 3; } // placed block on same line to match
if ((player->unk_110.unk44 >= 600.0f) || ((player->unk_0BC & 0x1000) != 0)) { D_8018D990[arg1] = 3; } // placed block on same line to match
switch (D_8018D990[arg1]) {
case 0:
@@ -888,7 +888,7 @@ void func_8008DC08(Player* player, s8 arg1) {
break;
case 1:
player->unk_DC4 = 4.5f;
player->posY += D_800EF570;
player->pos[1] += D_800EF570;
++player->unk_238;
if ((player->unk_046 & 0x80) != 0) {
@@ -920,12 +920,12 @@ void func_8008DC08(Player* player, s8 arg1) {
player->unk_238 = 0;
}
if (player->unk_124 >= 600.0f) {
if (player->unk_110.unk44 >= 600.0f) {
D_8018D990[arg1] = 3;
}
player->unk_DC4 = 4.5f;
player->posY -= D_800EF580;
player->pos[1] -= D_800EF580;
if ((player->unk_0BC & 8) != 8) {
D_8018D990[arg1] = 3;
+7 -7
View File
@@ -11,8 +11,8 @@ extern Gfx *gDisplayListHead;
extern Camera cameras[];//, *camera1, *camera2, *camera3, *camera4;
extern f32 D_80150130, D_80150148, D_8015014C, D_80150150;
extern f32 D_80150148, D_8015014C, D_80150150;
extern f32 D_80150130[4];
extern s16 gCreditsCourseId;
extern u16 D_80150112;
extern u16 D_80164AF0;
@@ -52,7 +52,7 @@ void func_80280038(void) {
func_802A3E3C();
func_80057FC4(0);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[1], &sp44[37], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[1], &sp44[37], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp44[37]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
@@ -103,9 +103,9 @@ void func_802802AC(void) {
temp_f12 = camera->unk - camera->pos[0];
temp = camera->unk1 - camera->pos[1];
temp_f14 = camera->unk2 - camera->pos[2];
camera->rotX2 = func_802B7830(temp_f12, temp_f14);
camera->rotX = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp);
camera->rotY = 0;
camera->rotX[1] = func_802B7830(temp_f12, temp_f14);
camera->rotX[0] = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp);
camera->rotX[2] = 0;
if (D_802874A0 != 0) {
D_800DC5E4++;
} else {
@@ -126,7 +126,7 @@ void func_80280420(void) {
func_802A4D18();
func_802A74BC();
camera->unk30 = 60.0f;
D_80150130 = 60.0f;
D_80150130[0] = 60.0f;
D_800DC5EC->screenWidth = 320;
D_800DC5EC->screenHeight = 240;
D_800DC5EC->screenStartX = 160;
+6 -6
View File
@@ -18,14 +18,14 @@ void func_80281610(void) {
temp_f12 = camera->unk - camera->pos[0];
temp = camera->unk1 - camera->pos[1];
temp_f14 = camera->unk2 - camera->pos[2];
camera->rotX2 = func_802B7830(temp_f12, temp_f14);
camera->rotX = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp);
camera->rotY = 0;
camera->rotX[1] = func_802B7830(temp_f12, temp_f14);
camera->rotX[0] = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp);
camera->rotX[2] = 0;
}
// guPerspective params
extern f32 D_80150130, D_80150148, D_8015014C, D_80150150;
extern f32 D_80150148, D_8015014C, D_80150150;
extern f32 D_80150130[];
// rodata
extern const f32 D_80286B90, D_80286B94, D_80286B98, D_80286B9C, D_80286BA0;
@@ -39,7 +39,7 @@ void func_802816B8(void) {
cameras[0].angleX = 0.0f;
cameras[0].angleY = 1.0f;
cameras[0].angleZ = 0.0f;
D_80150130 = 40.0f;
D_80150130[0] = 40.0f;
D_80150148 = D_80286B9C;
D_80150150 = 3.0f;
D_8015014C = D_80286BA0;
+1 -1
View File
@@ -85,7 +85,7 @@ void load_ending_sequence_royalraceway(void) {
func_802A4D18();
func_802A74BC();
camera->unk30 = 60.0f;
D_80150130 = 60.0f;
D_80150130[0] = 60.0f;
D_800DC5EC->screenWidth = 320;
D_800DC5EC->screenHeight = 240;
D_800DC5EC->screenStartX = 160;
+1 -1
View File
@@ -33,7 +33,7 @@ extern struct UnkStruct_800DC5EC *D_800DC5EC;
extern s32 gMenuSelectionFromEndingSequence; //D_80287550;
extern s32 D_80287554;
extern f32 D_801647A4;
extern f32 D_80150130;
extern f32 D_80150130[];
extern s32 gPrevLoadedAddress;
extern s32 D_8015F734;
+3 -3
View File
@@ -24,9 +24,9 @@ extern Gfx D_00284EE0[];
extern Camera cameras[];
extern f32 D_80150130, D_80150148, D_8015014C, D_80150150;
extern f32 D_80150148, D_8015014C, D_80150150;
extern f32 D_80150130[];
void func_80281C40(void) {
s32 i;
@@ -64,7 +64,7 @@ void func_80281D00(void) {
}
func_8028150C();
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective((Mtx*) &gGfxPool->mtxPool[1], &sp64[39], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective((Mtx*) &gGfxPool->mtxPool[1], &sp64[39], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp64[39]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt((Mtx*) &gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
+8 -8
View File
@@ -1070,7 +1070,7 @@ void func_80283EA0(s32 arg0) {
}
void func_80283ED0(Vec3f arg0) {
func_80282008(arg0, &gPlayerTwo->posX);
func_80282008(arg0, &gPlayerTwo->pos[0]);
}
#ifdef MIPS_TO_C
@@ -1078,9 +1078,9 @@ void func_80283ED0(Vec3f arg0) {
? func_802821A0(f32, f32, ?); // extern
void func_80283EF8(s32 arg0) {
func_802821A0(gPlayerTwo->posX, 0.12f);
func_802821A0((bitwise f32) (arg0 + 4), gPlayerTwo->posY, 0x3DF5C28F);
func_802821A0((bitwise f32) (arg0 + 8), gPlayerTwo->posZ, 0x3DF5C28F);
func_802821A0(gPlayerTwo->pos[0], 0.12f);
func_802821A0((bitwise f32) (arg0 + 4), gPlayerTwo->pos[1], 0x3DF5C28F);
func_802821A0((bitwise f32) (arg0 + 8), gPlayerTwo->pos[2], 0x3DF5C28F);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283EF8.s")
@@ -1095,7 +1095,7 @@ void func_80283F6C(s32 arg0) {
}
void func_80283FCC(Vec3f arg0) {
func_80282008(arg0, &gPlayerThree->posX);
func_80282008(arg0, &gPlayerThree->pos[0]);
}
#ifdef MIPS_TO_C
@@ -1219,9 +1219,9 @@ void func_80284308(void *arg0) {
func_80282D90(arg0, &D_802858E0, &D_802858F8, 0);
temp_v0 = *(sp30 + (D_802874F5 * 4));
//player = gPlayerOne;
temp_f0 = temp_v0->unk14 - player->posX;
temp_f12 = temp_v0->unk1C - player->posZ;
temp_f2 = temp_v0->unk18 - player->posY;
temp_f0 = temp_v0->unk14 - player->pos[0];
temp_f12 = temp_v0->unk1C - player->pos[2];
temp_f2 = temp_v0->unk18 - player->pos[1];
arg0->unkC = arg0->unkC + temp_f0;
arg0->unk0 = arg0->unk0 + temp_f0;
arg0->unk14 = arg0->unk14 + temp_f12;
+1 -1
View File
@@ -588,7 +588,7 @@ void func_8028EDA8(void) {
}
f32 func_8028EE8C(s32 arg0) {
f32 temp_v0 = gPlayers[arg0].posZ;
f32 temp_v0 = gPlayers[arg0].pos[2];
f32 temp_v1 = gPlayers[arg0].rotZ;
f32 temp_f14 = D_8015F8D8 - temp_v0;
f32 temp_f16 = temp_v1 - D_8015F8D8;
+1037 -1658
View File
File diff suppressed because it is too large Load Diff
+40 -40
View File
@@ -754,31 +754,31 @@ void func_802A4D18(void) {
GLOBAL_ASM("asm/non_matchings/code_802A3730/func_802A4D18.s")
#endif
extern f32 D_80150134;
extern f32 D_80150138;
extern f32 D_8015013C;
//extern f32 D_80150134;
//extern f32 D_80150138;
//extern f32 D_8015013C;
extern f32 D_80150130;
extern f32 D_80150130[];
void func_802A4EF4(void) {
switch(gActiveScreenMode) {
case 0:
func_8001F394(gPlayerOne, &D_80150130);
func_8001F394(gPlayerOne, &D_80150130[0]);
break;
case 2:
func_8001F394(gPlayerOne, &D_80150130);
func_8001F394(gPlayerTwo, &D_80150134);
func_8001F394(gPlayerOne, &D_80150130[0]);
func_8001F394(gPlayerTwo, &D_80150130[1]);
break;
case 1:
func_8001F394(gPlayerOne, &D_80150130);
func_8001F394(gPlayerTwo, &D_80150134);
func_8001F394(gPlayerOne, &D_80150130[0]);
func_8001F394(gPlayerTwo, &D_80150130[1]);
break;
case 3:
func_8001F394(gPlayerOne, &D_80150130);
func_8001F394(gPlayerTwo, &D_80150134);
func_8001F394(gPlayerThree, &D_80150138);
func_8001F394(gPlayerFour, &D_8015013C);
func_8001F394(gPlayerOne, &D_80150130[0]);
func_8001F394(gPlayerTwo, &D_80150130[1]);
func_8001F394(gPlayerThree, &D_80150130[2]);
func_8001F394(gPlayerFour, &D_80150130[3]);
break;
}
}
@@ -796,9 +796,9 @@ void func_802A5004(void) {
func_802A39E0(D_800DC5F0);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134);
func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
func_80057FC4(2);
func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134);
func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
func_80093A30(2);
}
}
@@ -813,9 +813,9 @@ void func_802A50EC(void) {
func_802A39E0(D_800DC5EC);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130);
func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
func_80057FC4(1);
func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130);
func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
func_80093A30(1);
}
}
@@ -830,9 +830,9 @@ void func_802A51D4(void) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130);
func_802A4A0C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
func_80057FC4(3);
func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130);
func_802A487C(&D_802B8890, D_800DC5EC, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[0]);
func_80093A30(3);
}
}
@@ -847,9 +847,9 @@ void func_802A52BC(void) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134);
func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
func_80057FC4(4);
func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134);
func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
func_80093A30(4);
}
}
@@ -866,11 +866,11 @@ void func_802A53A4(void) {
func_802A3CB0();
func_802A41D4();
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130);
func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
if (D_800DC50C != CREDITS_SEQUENCE) {
func_80057FC4(0);
}
func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130);
func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
func_80093A30(0);
}
}
@@ -885,9 +885,9 @@ void func_802A54A8(void) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130);
func_802A4A0C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
func_80057FC4(8);
func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130);
func_802A487C(&D_802B8890, D_800DC5EC, 0x140, 0xF0, &D_80150130[0]);
func_80093A30(8);
}
}
@@ -902,9 +902,9 @@ void func_802A5590(void) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134);
func_802A4A0C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
func_80057FC4(9);
func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150134);
func_802A487C(&D_802B8910, D_800DC5F0, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[1]);
func_80093A30(9);
}
}
@@ -919,9 +919,9 @@ void func_802A5678(void) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_SHADING_SMOOTH | G_CLIPPING);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150138);
func_802A4A0C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[2]);
func_80057FC4(10);
func_802A487C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150138);
func_802A487C(&D_802B8990, D_800DC5F4, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[2]);
func_80093A30(10);
}
}
@@ -955,9 +955,9 @@ void func_802A5760(void) {
func_802A39E0(D_800DC5F8);
if (D_800DC5B4 != 0) {
func_802A4A0C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_8015013C);
func_802A4A0C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[3]);
func_80057FC4(11);
func_802A487C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_8015013C);
func_802A487C(&D_802B8A10, D_800DC5F8, SCREEN_WIDTH, SCREEN_HEIGHT, &D_80150130[3]);
func_80093A30(11);
}
}
@@ -983,7 +983,7 @@ void func_802A59A4(void) {
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH);
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
guPerspective(&gGfxPool->mtxPool[1], &spAA[23], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[1], &spAA[23], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, spAA[23]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
@@ -1033,7 +1033,7 @@ void func_802A5CB4(void) {
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp9A[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
@@ -1082,7 +1082,7 @@ void func_802A5FAC(void) {
func_802A3730(D_800DC5F0);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp9A[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
@@ -1130,7 +1130,7 @@ void func_802A62A4(void) {
func_802A3E3C();
func_802A3730(D_800DC5EC);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp9A[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
@@ -1178,7 +1178,7 @@ void func_802A65B8(void) {
func_802A3E3C();
func_802A3730(D_800DC5F0);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp9A[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[8], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
@@ -1224,7 +1224,7 @@ void func_802A68CC(void) {
func_802A3730(D_800DC5EC);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[1], &sp9A[17], D_80150130[0], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp9A[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[7], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
@@ -1270,7 +1270,7 @@ void func_802A6BB0(void) {
func_802A3730(D_800DC5F0);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150134, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[2], &sp9A[17], D_80150130[1], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp9A[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
@@ -1315,7 +1315,7 @@ void func_802A6E94(void) {
func_802A3E3C();
func_802A3730(D_800DC5F4);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[3], &sp9A[17], D_80150138, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[3], &sp9A[17], D_80150130[2], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp9A[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[9], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
@@ -1370,7 +1370,7 @@ void func_802A7178(void) {
func_802A3730(D_800DC5F8);
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
guPerspective(&gGfxPool->mtxPool[4], &sp92[17], D_8015013C, D_80150148, D_80150150, D_8015014C, 1.0f);
guPerspective(&gGfxPool->mtxPool[4], &sp92[17], D_80150130[3], D_80150148, D_80150150, D_8015014C, 1.0f);
gDPHalf1(gDisplayListHead++, sp92[17]);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[4]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
guLookAt(&gGfxPool->mtxPool[10], camera->pos[0], camera->pos[1], camera->pos[2], camera->unk, camera->unk1, camera->unk2, camera->angleX, camera->angleY, camera->angleZ);
+79 -108
View File
@@ -1,78 +1,61 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include <actor_types.h>
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? vec3f_copy(void *, void *, void *, void *); // extern
void *vec3f_copy(Vec3f, Vec3f); // extern
void func_802B0210(void *arg0, void *arg1) {
void *temp_a0;
void *temp_a2;
void *temp_a3;
void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) {
arg1->unk30 = arg0->unk30;
arg1->unk32 = arg0->unk32;
arg1->unk34 = arg0->unk34;
arg1->unk36 = arg0->unk36;
arg1->unk38 = arg0->unk38;
arg1->unk3A = arg0->unk3A;
arg1->unk3C = arg0->unk3C;
arg1->unk40 = arg0->unk40;
temp_a3 = arg0;
temp_a2 = arg1;
arg1->unk0 = arg0->unk0;
arg1->unk2 = arg0->unk2;
arg1->unk4 = arg0->unk4;
arg1->unk6 = arg0->unk6;
arg1->unk8 = arg0->unk8;
arg1->unkA = arg0->unkA;
arg1->unkC = arg0->unkC;
arg1->unk10 = arg0->unk10;
temp_a0 = arg1 + 0x18;
arg1->unk14 = arg0->unk14;
arg0 = temp_a3;
arg1 = temp_a2;
vec3f_copy(temp_a0, temp_a3 + 0x18, temp_a2, temp_a3);
vec3f_copy(arg1 + 0x24, arg0 + 0x24, arg1, arg0);
vec3f_copy(arg1 + 0x30, arg0 + 0x30, arg1, arg0);
arg1->unk44 = arg0->unk44;
vec3f_copy(arg1->unk48, arg0->unk48);
vec3f_copy(arg1->unk54, arg0->unk54);
vec3f_copy(arg1->unk60, arg0->unk60);
}
#else
GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B0210.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_8015F9B8;
extern struct Actor D_8015F9B8[];
void func_802B02B4(void *arg0, s32 arg1) {
void func_802B02B4(struct Actor *arg0, s32 arg1) {
s32 temp_f6;
void *temp_v0;
struct Actor *temp_v0 = &D_8015F9B8[arg0->unk4];
temp_v0->unk4--;
switch((s16)arg0->unk8) {
case 0:
temp_v0->unk24[0] = -1.0f;
break;
case 1:
temp_v0->unk24[1] = -1.0f;
break;
case 2:
temp_v0->unk24[2] = -1.0f;
break;
temp_v0 = (arg0->unk4 * 0x70) + &D_8015F9B8;
temp_v0->unk4 = temp_v0->unk4 - 1;
temp_f6 = arg0->unk8;
if (temp_f6 != 0) {
if (temp_f6 != 1) {
if (temp_f6 != 2) {
} else {
temp_v0->unk2C = -1.0f;
}
} else {
temp_v0->unk28 = -1.0f;
}
} else {
temp_v0->unk24 = -1.0f;
}
arg0->unk2 = -0x8000;
arg0->unk12 = 0;
arg0->unk4 = 0x3C;
arg0->unk28 = 3.0f;
if (arg1 != 7) {
if (arg1 != 8) {
return;
}
arg0->unk6 = 7;
return;
arg0->unk2 = 0x8000; // bitflag
arg0->unk10[1] = 0;
arg0->unk24[1] = 3.0f;
arg0->unk4 = 60;
switch(arg1) {
case 7:
arg0->unk6 = 5;
break;
case 8:
arg0->unk6 = 7;
break;
}
arg0->unk6 = 5;
}
#else
GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B02B4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -1130,10 +1113,10 @@ void update_obj_banana(void *arg0) {
temp_t9 = arg0->unk6;
switch (temp_t9) {
case 0:
temp_f2 = gPlayers[temp_t6].posX - arg0->unk18;
temp_f14 = gPlayers[temp_t6].posY - arg0->unk1C;
temp_f2 = gPlayers[temp_t6].pos[0] - arg0->unk18;
temp_f14 = gPlayers[temp_t6].pos[1] - arg0->unk1C;
sp48 = temp_f2;
temp_f16 = gPlayers[temp_t6].posZ - arg0->unk20;
temp_f16 = gPlayers[temp_t6].pos[2] - arg0->unk20;
sp44 = temp_f14;
sp88 = &gPlayers[temp_t6];
sp40 = temp_f16;
@@ -1141,13 +1124,13 @@ void update_obj_banana(void *arg0) {
phi_f14 = (bitwise void *) temp_f14;
if (temp_f12 == 0.0f) {
temp_f0 = D_802B9EE0;
arg0->unk18 = gPlayers[temp_t6].posX + temp_f0;
arg0->unk1C = gPlayers[temp_t6].posY + temp_f0;
arg0->unk18 = gPlayers[temp_t6].pos[0] + temp_f0;
arg0->unk1C = gPlayers[temp_t6].pos[1] + temp_f0;
phi_f6 = gPlayers[temp_t6].posZ + temp_f0;
} else {
temp_f14_2 = temp_f14 / temp_f12;
arg0->unk18 = gPlayers[temp_t6].posX - (temp_f2 / temp_f12);
arg0->unk1C = (gPlayers[temp_t6].posY - temp_f14_2) - 2.0f;
arg0->unk18 = gPlayers[temp_t6].pos[0] - (temp_f2 / temp_f12);
arg0->unk1C = (gPlayers[temp_t6].pos[1] - temp_f14_2) - 2.0f;
phi_f6 = gPlayers[temp_t6].posZ - (temp_f16 / temp_f12);
phi_f14 = (bitwise void *) temp_f14_2;
}
@@ -1239,9 +1222,9 @@ void update_obj_banana(void *arg0) {
sp70 = -5.0f;
sp88 = &gPlayers[temp_t6];
func_802B64C4(&sp68, gPlayers[temp_t6].unk_02E + gPlayers[temp_t6].unk_0C0);
temp_f18 = sp68 + gPlayers[temp_t6].posX;
temp_f0_7 = sp6C + gPlayers[temp_t6].posY;
temp_f10 = sp70 + gPlayers[temp_t6].posZ;
temp_f18 = sp68 + gPlayers[temp_t6].pos[0];
temp_f0_7 = sp6C + gPlayers[temp_t6].pos[1];
temp_f10 = sp70 + gPlayers[temp_t6].pos[2];
sp34 = temp_f10;
temp_f2_4 = temp_f18 - arg0->unk18;
sp3C = temp_f18;
@@ -1254,9 +1237,9 @@ void update_obj_banana(void *arg0) {
temp_f0_8 = sqrtf((temp_f2_4 * temp_f2_4) + (temp_f14_3 * temp_f14_3) + (temp_f16_2 * temp_f16_2), temp_f14_3);
if (temp_f0_8 == 0.0f) {
temp_f0_9 = D_802B9EE8;
arg0->unk18 = gPlayers[temp_t6].posX + temp_f0_9;
arg0->unk1C = gPlayers[temp_t6].posY + temp_f0_9;
arg0->unk20 = gPlayers[temp_t6].posZ + temp_f0_9;
arg0->unk18 = gPlayers[temp_t6].pos[0] + temp_f0_9;
arg0->unk1C = gPlayers[temp_t6].pos[1] + temp_f0_9;
arg0->unk20 = gPlayers[temp_t6].pos[2] + temp_f0_9;
} else {
arg0->unk18 = sp68 + (temp_f18 - (temp_f2_4 / temp_f0_8));
arg0->unk1C = (sp38 - (temp_f14_3 / temp_f0_8)) - 2.0f;
@@ -1355,9 +1338,9 @@ void func_802B2914(void *arg0, Player *player, s16 arg2) {
temp_a0 = &sp4C;
temp_a1 = &sp58;
temp_a2 = &sp60;
sp4C += player->posX;
sp50 += player->posY;
sp54 += player->posZ;
sp4C += player->pos[0];
sp50 += player->pos[1];
sp54 += player->pos[2];
sp60 = player->unk_034;
sp64 = player->unk_038;
sp58 = 0;
@@ -1368,10 +1351,10 @@ void func_802B2914(void *arg0, Player *player, s16 arg2) {
temp_t6 = temp_v0;
if (temp_v0 >= 0) {
temp_lo = temp_t6 * 0x70;
sp4C = player->posX;
sp50 = player->posY;
sp4C = player->pos[0];
sp50 = player->pos[1];
temp_s0 = &D_8015F9B8 + temp_lo;
sp54 = player->posZ;
sp54 = player->pos[2];
sp6E = temp_t6;
func_802AD950(temp_s0 + 0x30, temp_s0->unkC + 1.0f, temp_s0->unk18, temp_s0->unk1C, temp_s0->unk20, sp4C, sp50, sp54);
func_802B4E30(temp_s0);
@@ -1724,7 +1707,7 @@ GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B30EC.s")
? func_802B64C4(f32 *, s16); /* extern */
extern ? D_8015F9B8;
void update_obj_green_shell(void *arg0) {
void update_obj_green_shell(struct Actor *arg0) {
f32 sp80;
f32 sp7C;
f32 sp78;
@@ -1767,15 +1750,15 @@ void update_obj_green_shell(void *arg0) {
arg0->unk10 = arg0->unk10 + 0x71C;
switch (temp_t3) {
case 0:
temp_s1 = &gPlayers[arg0->unk14];
temp_s1 = &gPlayers[arg0->unk10[2]];
func_802B0210(&temp_s1->unk_110, arg0 + 0x30);
sp6C = 0.0f;
sp70 = temp_s1->unk_070;
sp74 = -(temp_s1->unk_070 + arg0->unkC + 2.0f);
func_802B63B8(&sp6C, temp_s1->unk_174);
arg0->unk18 = sp6C + temp_s1->posX;
arg0->unk18 = sp6C + temp_s1->pos[0];
temp_f14 = temp_s1->posY - sp70;
arg0->unk20 = sp74 + temp_s1->posZ;
arg0->unk20 = sp74 + temp_s1->pos[2];
sp54 = temp_f14;
temp_f0_2 = func_802ABE30(arg0->unk18, temp_f14, arg0->unk20, temp_s1->unk_11A);
temp_f2_2 = temp_f14 - temp_f0_2;
@@ -2521,32 +2504,20 @@ block_16:
GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_802B4E30(void *arg0) {
f32 temp_f0;
f32 temp_f0_2;
f32 temp_f0_3;
temp_f0 = arg0->unk44;
if ((temp_f0 < 0.0f) && (arg0->unk34 == 1)) {
arg0->unk18 = arg0->unk18 - (arg0->unk60 * temp_f0);
arg0->unk1C = arg0->unk1C - (arg0->unk64 * temp_f0);
arg0->unk20 = arg0->unk20 - (arg0->unk68 * temp_f0);
void func_802B4E30(struct Actor *arg0) {
if ((arg0->unk30.unk44 < 0.0f) && (arg0->unk30.unk34 == 1)) {
arg0->unk18[0] -= (arg0->unk30.unk60[0] * arg0->unk30.unk44);
arg0->unk18[1] -= (arg0->unk30.unk60[1] * arg0->unk30.unk44);
arg0->unk18[2] -= (arg0->unk30.unk60[2] * arg0->unk30.unk44);
}
temp_f0_2 = arg0->unk3C;
if ((temp_f0_2 < 0.0f) && (arg0->unk30 == 1)) {
arg0->unk18 = arg0->unk18 - (arg0->unk48 * temp_f0_2);
arg0->unk1C = arg0->unk1C - (arg0->unk4C * temp_f0_2);
arg0->unk20 = arg0->unk20 - (arg0->unk50 * temp_f0_2);
if ((arg0->unk30.unk3C < 0.0f) && (arg0->unk30.unk30 == 1)) {
arg0->unk18[0] -= (arg0->unk30.unk48[0] * arg0->unk30.unk3C);
arg0->unk18[1] -= (arg0->unk30.unk48[1] * arg0->unk30.unk3C);
arg0->unk18[2] -= (arg0->unk30.unk48[2] * arg0->unk30.unk3C);
}
temp_f0_3 = arg0->unk40;
if ((temp_f0_3 < 0.0f) && (arg0->unk32 == 1)) {
arg0->unk18 = arg0->unk18 - (arg0->unk54 * temp_f0_3);
arg0->unk1C = arg0->unk1C - (arg0->unk58 * temp_f0_3);
arg0->unk20 = arg0->unk20 - (arg0->unk5C * temp_f0_3);
if ((arg0->unk30.unk40 < 0.0f) && (arg0->unk30.unk32 == 1)) {
arg0->unk18[0] -= (arg0->unk30.unk54[0] * arg0->unk30.unk40);
arg0->unk18[1] -= (arg0->unk30.unk54[1] * arg0->unk30.unk40);
arg0->unk18[2] -= (arg0->unk30.unk54[2] * arg0->unk30.unk40);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B4E30.s")
#endif
+8 -6
View File
@@ -118,10 +118,10 @@ s32 D_80150120;
s32 gMenuSelectionFromQuit;
UNUSED s32 D_80150128;
UNUSED s32 D_8015012C;
s32 D_80150130;
s32 D_80150134;
s32 D_80150138;
s32 D_8015013C;
f32 D_80150130[4];
//f32 D_80150134;
//f32 D_80150138;
//f32 D_8015013C;
UNUSED s32 D_80150140;
UNUSED s32 D_80150144;
f32 D_80150148;
@@ -139,7 +139,9 @@ uintptr_t gPhysicalFramebuffers[3];
u32 D_801502B4;
UNUSED u32 D_801502B8;
UNUSED u32 D_801502BC;
s32 D_801502C0[2064];
Mat4 D_801502C0;
s32 padding[2048];
u16 D_80152300[4];
u16 D_80152308;
@@ -640,7 +642,7 @@ void func_8000142C(void) {
D_800DC514 = 0;
}
temp_v0 = camera1->rotX2;
temp_v0 = camera1->rotX[1];
D_801625E8 = D_800DC5EC->pathCounter;
if (temp_v0 < 0x2000) {
func_80057A50(40, 100, "SOUTH ", D_801625E8);
+30 -30
View File
@@ -38,34 +38,34 @@ s32 func_802B4FF8(Mat4 arg0, s32 arg1) {
}
func_802B75F8(&gGfxPool->mtxPool[D_80150112 + 0x32B], arg0);
switch (arg1) { /* irregular */
case 0:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
case 1:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
case 3:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
case 2:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
case 0:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
case 1:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
case 3:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
case 2:
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[D_80150112 + 0x32B]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
D_80150112 += 1;
break;
}
return 1;
}
f32 func_802B51E8(struct UnkStruct_802B51E8 *arg0, struct UnkStruct_802B51E8 *arg1) {
f32 func_802B51E8(Vec3f arg0, Vec3f arg1) {
f32 temp_f12;
f32 temp_f14;
f32 temp_f2;
temp_f2 = arg1->unk0 - arg0->unk0;
temp_f12 = arg1->unk4 - arg0->unk4;
temp_f14 = arg1->unk8 - arg0->unk8;
temp_f2 = arg1[0] - arg0[0];
temp_f12 = arg1[1] - arg0[1];
temp_f14 = arg1[2] - arg0[2];
return (temp_f2 * temp_f2) + (temp_f12 * temp_f12) + temp_f14 + temp_f14;
}
@@ -87,16 +87,16 @@ u32 func_802B5258(Vec3f arg0, Vec3s arg1) {
return func_802B7830(temp_v1, temp_v2);
}
void load_giant_egg(struct UnkStruct_802B51E8 *arg0, f32 arg1, f32 arg2, f32 arg3) {
arg0->unk0 = arg1;
arg0->unk4 = arg2;
arg0->unk8 = arg3;
void load_giant_egg(Vec3f arg0, f32 arg1, f32 arg2, f32 arg3) {
arg0[0] = arg1;
arg0[1] = arg2;
arg0[2] = arg3;
}
void func_802B52BC(struct UnkStruct_802B52BC *arg0, s16 arg1, s16 arg2, s16 arg3) {
arg0->unk0 = arg1;
arg0->unk2 = arg2;
arg0->unk4 = arg3;
void func_802B52BC(Vec3s arg0, s16 arg1, s16 arg2, s16 arg3) {
arg0[0] = arg1;
arg0[1] = arg2;
arg0[2] = arg3;
}
// These functions have bogus return values.
@@ -707,7 +707,7 @@ void func_802B5F00(Mat4 arg0, f32 arg1) {
f32 sins(u16); /* extern */
f32 coss(u16); /* extern */
void func_802B5F74(void *arg0, void *arg1, void *arg2) {
void func_802B5F74(Mat4 arg0, Vec3f arg1, Vec3s arg2) {
f32 sp3C;
f32 sp34;
f32 sp30;
@@ -1810,7 +1810,7 @@ s32 func_802B5224(f32, f32, u16); /* extern */
u16 func_802B7CA8(f32, f32); /* extern */
s32 func_802B8058(s32, s32, u16, u16); /* extern */
f32 func_802B80D0(void *arg0, void *arg1, u16 arg2, f32 arg3, f32 arg4, f32 arg5) {
f32 func_802B80D0(Vec3f arg0, Vec3f arg1, u16 arg2, f32 arg3, f32 arg4, f32 arg5) {
u16 sp5E;
u16 sp5A;
s32 sp28;
+17 -20
View File
@@ -10,6 +10,7 @@
#include "main.h"
#include "memory.h"
#include "variables.h"
#include <actor_types.h>
//#include "segment_symbols.h"
//#include "segments.h"
@@ -2478,25 +2479,21 @@ f32 func_802ABE30(f32 arg0, f32 arg1, f32 arg2, u16 arg3) {
return ((tile->height * arg0) + (tile->rotation * arg2) + tile->height2) / -tile->gravity;
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
f32 func_802ABE30(f32, f32, s32, u16); // extern
f32 func_802ABE30(f32, f32, f32, u16); // extern
f32 func_802ABEAC(void *arg0, void *arg1) {
if (arg0->unk4 == 1) {
return func_802ABE30(arg1->unk0, arg1->unk4, arg1->unk8, arg0->unkA);
f32 func_802ABEAC(UnkActorInner *arg0, Vec3f arg1) {
if (arg0->unk34 == 1) {
return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk3A);
}
if (arg0->unk0 == 1) {
return func_802ABE30(arg1->unk0, arg1->unk4, arg1->unk8, arg0->unk6);
if (arg0->unk30 == 1) {
return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk36);
}
if (arg0->unk2 == 1) {
return func_802ABE30(arg1->unk0, arg1->unk4, arg1->unk8, arg0->unk8);
if (arg0->unk32 == 1) {
return func_802ABE30(arg1[0], arg1[1], arg1[2], arg0->unk38);
}
return arg1->unk4;
return arg1[1];
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802ABEAC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -4500,7 +4497,7 @@ s32 func_802AFA34(Player *player, kartBoundingBoxCorner *corner, f32 cornerX, f3
}
if (func_802AD278(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerX, cornerY, cornerZ) == 1) {
temp_f0 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex);
temp_f2 = player->posY;
temp_f2 = player->pos[1];
if (!(temp_f2 < temp_f0) && !((2.0f * temp_f20) < (temp_f2 - temp_f0))) {
corner->cornerGroundY = temp_f0;
func_802AF9F0(temp_f0, &sp11C, sp108, corner);
@@ -4512,7 +4509,7 @@ s32 func_802AFA34(Player *player, kartBoundingBoxCorner *corner, f32 cornerX, f3
}
if (func_802AC760(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerX, cornerY, cornerZ) == 1) {
temp_f0_2 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex);
temp_f2_2 = player->posY;
temp_f2_2 = player->pos[1];
if (!(temp_f2_2 < temp_f0_2) && !((2.0f * temp_f20) < (temp_f2_2 - temp_f0_2))) {
corner->cornerGroundY = temp_f0_2;
func_802AF9F0(temp_f0_2, &sp128, sp10C, corner);
@@ -4524,7 +4521,7 @@ s32 func_802AFA34(Player *player, kartBoundingBoxCorner *corner, f32 cornerX, f3
}
if (func_802ACBA4(&spF8, temp_f20, temp_f22, temp_f24, temp_f26, (s32) corner->surfaceMapIndex, cornerX, cornerY, cornerZ) == 1) {
temp_f0_3 = func_802ABE30(temp_f22, temp_f24, temp_f26, corner->surfaceMapIndex);
temp_f2_3 = player->posY;
temp_f2_3 = player->pos[1];
if (!(temp_f2_3 < temp_f0_3) && !((2.0f * temp_f20) < (temp_f2_3 - temp_f0_3))) {
corner->cornerGroundY = temp_f0_3;
func_802AF9F0(temp_f0_3, &sp110, sp104, corner);
@@ -4570,7 +4567,7 @@ loop_34:
if ((temp_v1_3 & 0x4000) != 0) {
if ((corner->surfaceMapIndex != temp_s0) && (func_802AC760(phi_s7, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerX, cornerY, cornerZ) == 1)) {
temp_f0_4 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF);
temp_f2_4 = player->posY;
temp_f2_4 = player->pos[1];
if (!(temp_f2_4 < temp_f0_4) && !((phi_f30 * temp_f20) < (temp_f2_4 - temp_f0_4))) {
spD4 = temp_f0_4;
func_802AF9F0(temp_f0_4, &sp128, sp10C, corner);
@@ -4591,7 +4588,7 @@ loop_34:
if ((temp_v1_3 & 0x8000) != 0) {
if ((temp_v0_4->gravity != 0.0f) && (corner->surfaceMapIndex != temp_s0) && (func_802AD278(phi_s7, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerX, cornerY, cornerZ) == 1)) {
temp_f0_5 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF);
temp_f2_5 = player->posY;
temp_f2_5 = player->pos[1];
if (!(temp_f2_5 < temp_f0_5) && !((phi_f30 * temp_f20) < (temp_f2_5 - temp_f0_5))) {
corner->cornerGroundY = temp_f0_5;
func_802AF9F0(temp_f0_5, &sp11C, sp108, corner);
@@ -4606,7 +4603,7 @@ loop_34:
}
if ((temp_v0_4->gravity != 0.0f) && (corner->surfaceMapIndex != temp_s0) && (func_802ACBA4(phi_s7, temp_f20, temp_f22, temp_f24, temp_f26, (s32) temp_s0, cornerX, cornerY, cornerZ) == 1)) {
temp_f0_6 = func_802ABE30(temp_f22, temp_f24, temp_f26, temp_s0 & 0xFFFF);
temp_f2_6 = player->posY;
temp_f2_6 = player->pos[1];
if (!(temp_f2_6 < temp_f0_6) && !((phi_f30 * temp_f20) < (temp_f2_6 - temp_f0_6))) {
corner->cornerGroundY = temp_f0_6;
func_802AF9F0(temp_f0_6, &sp110, sp104, corner);