diff --git a/asm/non_matchings/code_80005FD0/func_8001AC10.s b/asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s similarity index 99% rename from asm/non_matchings/code_80005FD0/func_8001AC10.s rename to asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s index 8061bd692..823d461ba 100644 --- a/asm/non_matchings/code_80005FD0/func_8001AC10.s +++ b/asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s @@ -21,7 +21,7 @@ glabel jpt_800ED4A0 .section .text -glabel func_8001AC10 +glabel cpu_use_item_strategy /* 01B810 8001AC10 000478C0 */ sll $t7, $a0, 3 /* 01B814 8001AC14 01E47823 */ subu $t7, $t7, $a0 /* 01B818 8001AC18 000F7900 */ sll $t7, $t7, 4 @@ -100,7 +100,7 @@ glabel L8001ACAC /* 01B938 8001AD38 85A50002 */ lh $a1, 2($t5) /* 01B93C 8001AD3C 8FA40030 */ lw $a0, 0x30($sp) /* 01B940 8001AD40 02002825 */ move $a1, $s0 -/* 01B944 8001AD44 0C006ADD */ jal func_8001AB74 +/* 01B944 8001AD44 0C006ADD */ jal cpu_decisions_branch_item /* 01B948 8001AD48 00403025 */ move $a2, $v0 /* 01B94C 8001AD4C 10000003 */ b .L8001AD5C /* 01B950 8001AD50 00000000 */ nop diff --git a/asm/non_matchings/code_80005FD0/func_80009B60.s b/asm/non_matchings/code_80005FD0/func_80009B60.s index 82eaafdae..f4c9b7d09 100644 --- a/asm/non_matchings/code_80005FD0/func_80009B60.s +++ b/asm/non_matchings/code_80005FD0/func_80009B60.s @@ -257,7 +257,7 @@ glabel func_80009B60 /* 00AABC 80009EBC 318D0001 */ andi $t5, $t4, 1 /* 00AAC0 80009EC0 11ED0003 */ beq $t7, $t5, .L80009ED0 /* 00AAC4 80009EC4 AFAD0030 */ sw $t5, 0x30($sp) -/* 00AAC8 80009EC8 0C006B04 */ jal func_8001AC10 +/* 00AAC8 80009EC8 0C006B04 */ jal cpu_use_item_strategy /* 00AACC 80009ECC 01802025 */ move $a0, $t4 .L80009ED0: /* 00AAD0 80009ED0 8FA400D0 */ lw $a0, 0xd0($sp) diff --git a/include/common_structs.h b/include/common_structs.h index f55e6e0d8..de00e60e4 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -255,10 +255,10 @@ typedef struct { /* 0x0010 */ s16 currentItemCopy; // Has no effect on what item the players has, It is just a synced copy /* 0x0012 */ s16 unk_012; /* 0x0014 */ Vec3f pos; - /* 0x0020 */ f32 rotX; - /* 0x0024 */ f32 rotY; - /* 0x0028 */ f32 rotZ; - /* 0x002C */ Vec3s unk_02C; + /* 0x0020 */ f32 copy_rotation_x; + /* 0x0024 */ f32 copy_rotation_y; + /* 0x0028 */ f32 copy_rotation_z; + /* 0x002C */ Vec3s rotation; /* 0x0032 */ char unk_032[0x2]; /* 0x0034 */ Vec3f velocity; /* 0x0040 */ s16 unk_040; diff --git a/include/defines.h b/include/defines.h index 43526ef3d..fc1ca4c0c 100644 --- a/include/defines.h +++ b/include/defines.h @@ -290,22 +290,24 @@ /** * @brief Item IDs */ -#define ITEM_NONE 0 -#define ITEM_BANANA 1 -#define ITEM_BANANA_BUNCH 2 -#define ITEM_GREEN_SHELL 3 -#define ITEM_TRIPLE_GREEN_SHELL 4 -#define ITEM_RED_SHELL 5 -#define ITEM_TRIPLE_RED_SHELL 6 -#define ITEM_BLUE_SPINY_SHELL 7 -#define ITEM_THUNDERBOLT 8 -#define ITEM_FAKE_ITEM_BOX 9 -#define ITEM_STAR 10 -#define ITEM_BOO 11 -#define ITEM_MUSHROOM 12 -#define ITEM_DOUBLE_MUSHROOM 13 -#define ITEM_TRIPLE_MUSHROOM 14 -#define ITEM_SUPER_MUSHROOM 15 +typedef enum { + /* 0x00 */ ITEM_NONE = 0, + /* 0x01 */ ITEM_BANANA, + /* 0x02 */ ITEM_BANANA_BUNCH, + /* 0x03 */ ITEM_GREEN_SHELL, + /* 0x04 */ ITEM_TRIPLE_GREEN_SHELL, + /* 0x05 */ ITEM_RED_SHELL, + /* 0x06 */ ITEM_TRIPLE_RED_SHELL, + /* 0x07 */ ITEM_BLUE_SPINY_SHELL, + /* 0x08 */ ITEM_THUNDERBOLT, + /* 0x09 */ ITEM_FAKE_ITEM_BOX, + /* 0x0A */ ITEM_STAR, + /* 0x0B */ ITEM_BOO, + /* 0x0C */ ITEM_MUSHROOM, + /* 0x0D */ ITEM_DOUBLE_MUSHROOM, + /* 0x0E */ ITEM_TRIPLE_MUSHROOM, + /* 0x0F */ ITEM_SUPER_MUSHROOM +} ITEMS; /** * @brief Balloon status diff --git a/src/camera.c b/src/camera.c index 75859d733..19bbaf03e 100644 --- a/src/camera.c +++ b/src/camera.c @@ -93,8 +93,8 @@ void camera_init(f32 posX, f32 posY, f32 posZ, UNUSED s16 rot, u32 arg4, s32 cam camera->unk_94.unk_0 = 0.0f; player += cameraId; - camera->unk_2C = player->unk_02C[1]; - camera->unk_AC = player->unk_02C[1]; + camera->unk_2C = player->rotation[1]; + camera->unk_AC = player->rotation[1]; switch (gActiveScreenMode) { case SCREEN_MODE_1P: case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: @@ -637,7 +637,7 @@ void func_8001E0C4(Camera *camera, Player *player, s8 arg2) { } else { var_a2 = (player->unk_078 / 3) + 0x87; } - adjust_angle(&camera->unk_2C, player->unk_02C[1], var_a2); + adjust_angle(&camera->unk_2C, player->rotation[1], var_a2); func_8001CA78(player, camera, sp60, &sp74, &sp70, &sp6C, camera->unk_2C, arg2); camera->someBitFlags &= ~0x0004; temp_t7 = func_802ADDC8(&camera->unk_54, test, sp74, sp70, sp6C); @@ -717,7 +717,7 @@ void func_8001E45C(Camera *camera, Player *player, s8 arg2) { } } else { move_s16_towards(&camera->unk_B0, 0, 0.05f); - var_a3 = ((s16) camera->unk_2C / 182) - ((s16) player->unk_02C[1] / 182); + var_a3 = ((s16) camera->unk_2C / 182) - ((s16) player->rotation[1] / 182); if (player->unk_078 == 0) { if ((player->effects & 0x20) == 0x20) { var_a3 = 0x02D8; @@ -742,7 +742,7 @@ void func_8001E45C(Camera *camera, Player *player, s8 arg2) { (player->unk_110.unk3C[0] <= 0.0f) || (player->unk_110.unk3C[1] <= 0.0f) || ((player->effects & 0x20000) == 0x20000)) { func_8001CCEC(player, camera, sp64, &sp84, &sp80, &sp7C, &sp58, (s32) camera->unk_2C, (s32) arg2); } else { - adjust_angle(&camera->unk_2C, (s16) (player->unk_02C[1] + camera->unk_B0), var_a3); + adjust_angle(&camera->unk_2C, (s16) (player->rotation[1] + camera->unk_B0), var_a3); func_8001CCEC(player, camera, sp64, &sp84, &sp80, &sp7C, &sp58, (s32) camera->unk_2C, (s32) arg2); } temp = 3; @@ -780,8 +780,8 @@ void func_8001E8E8(Camera *camera, Player *player, s8 arg2) { UNUSED f32 pad4[10]; camera->unk_B0 = 0; - camera->unk_2C = player->unk_02C[1]; - func_8001D53C(player, camera, sp5C, &sp7C, &sp78, &sp74, (s16) (s32) player->unk_02C[1], (s16) (s32) arg2); + camera->unk_2C = player->rotation[1]; + func_8001D53C(player, camera, sp5C, &sp7C, &sp78, &sp74, (s16) (s32) player->rotation[1], (s16) (s32) arg2); func_802ADDC8(&camera->unk_54, 5.0f, sp7C, sp78, sp74); camera->lookAt[0] = sp5C[0]; camera->lookAt[1] = sp5C[1]; @@ -839,7 +839,7 @@ void func_8001EA0C(Camera *camera, Player *player, s8 arg2) { } } else { move_s16_towards(&camera->unk_B0, 0, 0.05f); - var_a3 = ((s16) camera->unk_2C / 182) - ((s16) player->unk_02C[1] / 182); + var_a3 = ((s16) camera->unk_2C / 182) - ((s16) player->rotation[1] / 182); if (player->unk_078 == 0) { if ((player->effects & 0x20) == 0x20) { var_a3 = 0x02D8; @@ -864,7 +864,7 @@ void func_8001EA0C(Camera *camera, Player *player, s8 arg2) { (player->unk_110.unk3C[0] <= 0.0f) || (player->unk_110.unk3C[1] <= 0.0f) || ((player->effects & 0x20000) == 0x20000)) { func_8001D944(player, camera, sp64, &sp84, &sp80, &sp7C, &sp58, (s32) camera->unk_2C, (s32) arg2); } else { - adjust_angle(&camera->unk_2C, (s16) (player->unk_02C[1] + camera->unk_B0), var_a3); + adjust_angle(&camera->unk_2C, (s16) (player->rotation[1] + camera->unk_B0), var_a3); func_8001D944(player, camera, sp64, &sp84, &sp80, &sp7C, &sp58, (s32) camera->unk_2C, (s32) arg2); } temp = 3; @@ -1134,8 +1134,8 @@ void func_8001F87C(s32 cameraId) { if ((playerIndex == 7) && (D_80164A2C == 0x0000003C)) { D_80164A28 = 2; D_80152300[id] = 1; - cameras[id].rot[1] = gPlayerOne[playerIndex].unk_02C[1]; - cameras[id].unk_2C = gPlayerOne[playerIndex].unk_02C[1]; + cameras[id].rot[1] = gPlayerOne[playerIndex].rotation[1]; + cameras[id].unk_2C = gPlayerOne[playerIndex].rotation[1]; } } } diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index ff09c4a0f..2f9ca2e34 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -663,7 +663,7 @@ void func_800065D0(s32 playerId, Player *player) { a = (s16) gPathIndexByPlayerId[playerId]; b = gNearestWaypointByPlayerId[playerId]; - temp_t2 = (s16) ((s16) player->unk_02C[1] / 182); + temp_t2 = (s16) ((s16) player->rotation[1] / 182); temp_t3 = (s16) ((s16) D_80164590[a][b] / 182); var_t1 = temp_t2 - temp_t3; @@ -1792,7 +1792,7 @@ void func_80009B60(s32 playerId) { func_80011E38(playerId); } if ((playerId & 1) != (D_80163378 & 1)) { - func_8001AC10(playerId); + cpu_use_item_strategy(playerId); } func_800099EC(playerId, player); D_80162FD0 = 0; @@ -1874,9 +1874,9 @@ void func_80009B60(s32 playerId) { func_8000BBD8(stackPadding1A, D_80163090[playerId], D_80163448); } } - player->unk_02C[1] = -get_angle_between_points(player->pos, D_80162FA0); + player->rotation[1] = -get_angle_between_points(player->pos, D_80162FA0); } else { - player->unk_02C[1] = D_80164590[D_80163448][(D_801630E0 + 4) % D_80164430]; + player->rotation[1] = D_80164590[D_80163448][(D_801630E0 + 4) % D_80164430]; } } func_8003680C(player, 0); @@ -1887,7 +1887,7 @@ void func_80009B60(s32 playerId) { player->effects |= 0x10; } if (D_801630E8[playerId] != 0) { - D_80163300[playerId] = -get_angle_between_points(&player->rotX, player->pos); + D_80163300[playerId] = -get_angle_between_points(&player->copy_rotation_x, player->pos); var_a0_2 = (D_801631DC[(D_80162FCE + 2) % D_80164430] * 0x168) / 65535; var_a1 = (D_80163300[playerId] * 0x168) / 65535; if (var_a0_2 < -0xB4) { @@ -1993,8 +1993,8 @@ void func_80009B60(s32 playerId) { // MISMATCH2 // This fixes part of the register allocation problems, makes fixing others // harder though. Needs more investigation - // var_a2 = (-get_angle_between_points(player->pos, D_80162FA0)) - (var_a1 = player->unk_02C[1]); - stackPadding19 = -get_angle_between_points(player->pos, D_80162FA0) - player->unk_02C[1]; + // var_a2 = (-get_angle_between_points(player->pos, D_80162FA0)) - (var_a1 = player->rotation[1]); + stackPadding19 = -get_angle_between_points(player->pos, D_80162FA0) - player->rotation[1]; var_a1 = stackPadding19; var_a2 = var_a1; if ((s16) temp_f2 < var_a1) { @@ -5586,7 +5586,7 @@ void func_80015314(s32 playerId, UNUSED f32 arg1, s32 cameraId) { temp_a0 = camera1; temp_a1 += playerId; temp_a0 += cameraId; - temp_a0->unk_2C = temp_a1->unk_02C[1]; + temp_a0->unk_2C = temp_a1->rotation[1]; func_80015390(temp_a0, temp_a1, 0); } @@ -5619,7 +5619,7 @@ void func_80015390(Camera *camera, UNUSED Player *player, UNUSED s32 arg2) { var_a2 = 0xA0 + (temp_s1->unk_078 / 16); } if (!((temp_s1->effects & 0x80) || (temp_s1->effects & 0x40))) { - adjust_angle(&camera->unk_2C, temp_s1->unk_02C[1], var_a2); + adjust_angle(&camera->unk_2C, temp_s1->rotation[1], var_a2); } func_8001D794(temp_s1, camera, sp64, &sp84, &sp80, &sp7C, camera->unk_2C); func_802ADDC8(&camera->unk_54, 10.0f, sp84, sp80, sp7C); @@ -7574,7 +7574,7 @@ void func_8001AB00(void) { } } -void func_8001AB74(s32 arg0, s16 *arg1, s32 arg2) { +void cpu_decisions_branch_item(s32 arg0, s16 *arg1, s32 arg2) { s32 value = -1; switch (arg2) { case ITEM_FAKE_ITEM_BOX: @@ -7623,7 +7623,7 @@ void func_8001ABEC(struct struct_801642D8 *arg0) { // The use of several different actor types might make getting a match hard(er), // might have to get creative/ugly with just a single generic `Actor` variable. // https://decomp.me/scratch/FOlbG -void func_8001AC10(s32 playerId) { +void cpu_use_item_strategy(s32 playerId) { s32 var_v0; Player *player; TrackWaypoint *waypoint; @@ -7641,7 +7641,7 @@ void func_8001AC10(s32 playerId) { case 0: temp_s0->actorIndex = -1; if ((((playerId * 0x14) + 0x64) < D_80164450[playerId]) && (temp_s0->unk_04 >= 0x259) && (temp_s0->unk_06 < 3) && (gLapCountByPlayerId[playerId] < 3)) { - func_8001AB74(playerId, &temp_s0->unk_00, gen_random_item_cpu((s16)gLapCountByPlayerId[playerId], gGPCurrentRaceRankByPlayerId[playerId])); + cpu_decisions_branch_item(playerId, &temp_s0->unk_00, gen_random_item_cpu((s16)gLapCountByPlayerId[playerId], gGPCurrentRaceRankByPlayerId[playerId])); } else { func_8001ABE0(playerId, temp_s0); } @@ -8072,7 +8072,7 @@ void func_8001AC10(s32 playerId) { } } #else -GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001AC10.s") +GLOBAL_ASM("asm/non_matchings/code_80005FD0/cpu_use_item_strategy.s") #endif void func_8001BE78(void) { @@ -8106,7 +8106,7 @@ void func_8001BE78(void) { temp_s1->pos[0] = (f32) temp_s0->posX; temp_s1->pos[1] = func_802AE1C0((f32) temp_s0->posX, 2000.0f, (f32) temp_s0->posZ) + temp_s1->boundingBoxSize; temp_s1->pos[2] = (f32) temp_s0->posZ; - temp_s1->unk_02C[1] = (s16) *D_80164590[i]; + temp_s1->rotation[1] = (s16) *D_80164590[i]; func_8003680C(temp_s1, 0); temp_s1++; D_80163410[i] = 0; diff --git a/src/code_80005FD0.h b/src/code_80005FD0.h index 6364e770e..bfc073fc4 100644 --- a/src/code_80005FD0.h +++ b/src/code_80005FD0.h @@ -236,10 +236,10 @@ void func_8001A518(s32, s32, s32); void func_8001A588(u16*, Camera*, Player*, s8, s32); void func_8001AAAC(s16, s16, s16); void func_8001AB00(void); -void func_8001AB74(s32, s16*, s32); +void cpu_decisions_branch_item(s32, s16*, s32); void func_8001ABE0(s32, D_801642D8_entry*); void func_8001ABEC(struct struct_801642D8*); -void func_8001AC10(s32); +void cpu_use_item_strategy(s32); void func_8001BE78(void); diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 18e770bbe..cd0b0155f 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -2812,7 +2812,7 @@ void func_8005D794(Player* player, UnkPlayerStruct258* arg1, f32 arg2, f32 arg3, arg1->unk_000[2] = arg4; arg1->unk_000[0] = arg2; arg1->unk_000[1] = arg3; - arg1->unk_020 = -player->unk_02C[1]; + arg1->unk_020 = -player->rotation[1]; arg1->unk_014 = arg5; arg1->unk_010 = arg6; } @@ -3689,7 +3689,7 @@ void func_800612F8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a for (var_s2 = 0; var_s2 < 10; var_s2++){ player->unk_258[0x1E + var_s2].unk_01C = 1; player->unk_258[0x1E + var_s2].unk_028 = player->pos[1] + 5.0f; - player->unk_258[0x1E + var_s2].unk_020 = (0x1C70 * var_s2) - player->unk_02C[1]; + player->unk_258[0x1E + var_s2].unk_020 = (0x1C70 * var_s2) - player->rotation[1]; player->unk_258[0x1E + var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.5; player->unk_258[0x1E + var_s2].unk_03A = 0; player->unk_258[0x1E + var_s2].unk_012 = 1; @@ -3707,7 +3707,7 @@ void func_80061430(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a for (var_s2 = 0; var_s2 < 7; var_s2++){ player->unk_258[0x1E + var_s2].unk_01C = 1; player->unk_258[0x1E + var_s2].unk_028 = player->pos[1] - 4.0f; - player->unk_258[0x1E + var_s2].unk_020 = (0x1C70 * var_s2) - player->unk_02C[1]; + player->unk_258[0x1E + var_s2].unk_020 = (0x1C70 * var_s2) - player->rotation[1]; // ??? player->unk_258[0x1E + var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.9; player->unk_258[0x1E + var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.5; @@ -3732,7 +3732,7 @@ void func_800615AC(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3) { player->unk_258[0x1E + arg1].unk_01C = 1; player->unk_258[0x1E + arg1].unk_000[0] = player->pos[0]; player->unk_258[0x1E + arg1].unk_000[2] = player->pos[2]; - player->unk_258[0x1E + arg1].unk_020 = -player->unk_02C[1] + sp28[arg1]; + player->unk_258[0x1E + arg1].unk_020 = -player->rotation[1] + sp28[arg1]; player->unk_258[0x1E + arg1].unk_018 = random_int(1U) + 2.0f; temp_f0 = random_int(4U); temp_f0 -= test; @@ -3828,7 +3828,7 @@ void func_80061D4C(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3) { player->unk_258[0x1E + arg1].unk_000[0] = player->pos[0]; player->unk_258[0x1E + arg1].unk_000[1] = player->pos[1] + 2.0f; player->unk_258[0x1E + arg1].unk_000[2] = player->pos[2]; - player->unk_258[0x1E + arg1].unk_020 = -player->unk_02C[1] + sp20[arg1]; + player->unk_258[0x1E + arg1].unk_020 = -player->rotation[1] + sp20[arg1]; player->unk_258[0x1E + arg1].unk_018 = random_int(3U) + 2.0f; player->unk_258[0x1E + arg1].unk_014 = random_int(4U); player->unk_258[0x1E + arg1].unk_014 -= test; @@ -3870,8 +3870,8 @@ void func_80061EF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3) { } else { player->unk_258[0x1E + arg1].unk_020 -= 0x888; } - player->unk_258[0x1E + arg1].unk_000[2] = player->pos[2] + (coss(player->unk_258[0x1E + arg1].unk_020 - player->unk_02C[1] - player->unk_0C0) * 5.0f); - player->unk_258[0x1E + arg1].unk_000[0] = player->pos[0] + (sins(player->unk_258[0x1E + arg1].unk_020 - player->unk_02C[1] - player->unk_0C0) * 5.0f); + player->unk_258[0x1E + arg1].unk_000[2] = player->pos[2] + (coss(player->unk_258[0x1E + arg1].unk_020 - player->rotation[1] - player->unk_0C0) * 5.0f); + player->unk_258[0x1E + arg1].unk_000[0] = player->pos[0] + (sins(player->unk_258[0x1E + arg1].unk_020 - player->rotation[1] - player->unk_0C0) * 5.0f); } else if (player->unk_258[0x1E + arg2].unk_01E > 0) { func_8005D794(player, &player->unk_258[0x1E + arg1], 0.0f, var_f2, 0.0f, (s8) var_t0, (s8) var_t1); func_8005D7D8(&player->unk_258[0x1E + arg1], 3, 0.5f); @@ -3882,8 +3882,8 @@ void func_80061EF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3) { } else { player->unk_258[0x1E + arg1].unk_020 -= 0x888; } - player->unk_258[0x1E + arg1].unk_000[2] = player->pos[2] + (coss(player->unk_258[0x1E + arg1].unk_020 - player->unk_02C[1] - player->unk_0C0) * 5.0f); - player->unk_258[0x1E + arg1].unk_000[0] = player->pos[0] + (sins(player->unk_258[0x1E + arg1].unk_020 - player->unk_02C[1] - player->unk_0C0) * 5.0f); + player->unk_258[0x1E + arg1].unk_000[2] = player->pos[2] + (coss(player->unk_258[0x1E + arg1].unk_020 - player->rotation[1] - player->unk_0C0) * 5.0f); + player->unk_258[0x1E + arg1].unk_000[0] = player->pos[0] + (sins(player->unk_258[0x1E + arg1].unk_020 - player->rotation[1] - player->unk_0C0) * 5.0f); } } } @@ -3925,8 +3925,8 @@ void func_800621BC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3) { player->unk_258[30 + arg1].unk_020 -= 2184; } - player->unk_258[30 + arg1].unk_000[2] = player->pos[2] + (coss((player->unk_258[30 + arg1].unk_020 - player->unk_02C[1]) - player->unk_0C0) * 5.0f); - player->unk_258[30 + arg1].unk_000[0] = player->pos[0] + (sins((player->unk_258[30 + arg1].unk_020 - player->unk_02C[1]) - player->unk_0C0) * 5.0f); + player->unk_258[30 + arg1].unk_000[2] = player->pos[2] + (coss((player->unk_258[30 + arg1].unk_020 - player->rotation[1]) - player->unk_0C0) * 5.0f); + player->unk_258[30 + arg1].unk_000[0] = player->pos[0] + (sins((player->unk_258[30 + arg1].unk_020 - player->rotation[1]) - player->unk_0C0) * 5.0f); return; } @@ -3943,8 +3943,8 @@ void func_800621BC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3) { } new_var = new_var2; - 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_02C[1]) - 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_02C[1]) - new_var->unk_0C0) * 5.0f); + new_var->unk_258[30 + arg1].unk_000[2] = new_var->pos[2] + (coss((new_var->unk_258[30 + arg1].unk_020 - new_var->rotation[1]) - 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->rotation[1]) - new_var->unk_0C0) * 5.0f); } } } @@ -3954,7 +3954,7 @@ void func_80062484(Player* player, UnkPlayerStruct258* arg1, s32 arg2) { arg1->unk_000[1] = player->unk_074 + 1.0f; arg1->unk_000[2] = player->pos[2]; arg1->unk_000[0] = player->pos[0]; - arg1->unk_020 = (arg2 * 0x1998) - player->unk_02C[1]; + arg1->unk_020 = (arg2 * 0x1998) - player->rotation[1]; arg1->unk_012 = 4; arg1->unk_01E = 0; } @@ -4051,7 +4051,7 @@ void func_800624D8(Player *player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a void func_800628C0(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { player->unk_258[20 + arg3].unk_01C = 1; - player->unk_258[20 + arg3].unk_020 = -player->unk_02C[1]; + player->unk_258[20 + arg3].unk_020 = -player->rotation[1]; player->unk_258[20 + arg3].unk_012 = 2; player->unk_258[20 + arg3].unk_01E = 0; player->unk_258[20 + arg3].unk_00C = 0.2f; @@ -4059,7 +4059,7 @@ void func_800628C0(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { void func_80062914(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { player->unk_258[20 + arg3].unk_01C = 1; - player->unk_258[20 + arg3].unk_020 = -player->unk_02C[1]; + player->unk_258[20 + arg3].unk_020 = -player->rotation[1]; player->unk_258[20 + arg3].unk_012 = 4; player->unk_258[20 + arg3].unk_01E = 0; player->unk_258[20 + arg3].unk_00C = 1.0f; @@ -4067,7 +4067,7 @@ void func_80062914(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { void func_80062968(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { player->unk_258[20 + arg3].unk_01C = 1; - player->unk_258[20 + arg3].unk_020 = -player->unk_02C[1]; + player->unk_258[20 + arg3].unk_020 = -player->rotation[1]; player->unk_258[20 + arg3].unk_012 = 5; player->unk_258[20 + arg3].unk_01E = 0; player->unk_258[20 + arg3].unk_00C = 0.2f; @@ -4075,7 +4075,7 @@ void func_80062968(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { void func_800629BC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { player->unk_258[20 + arg3].unk_01C = 1; - player->unk_258[20 + arg3].unk_020 = -player->unk_02C[1]; + player->unk_258[20 + arg3].unk_020 = -player->rotation[1]; player->unk_258[20 + arg3].unk_012 = 6; player->unk_258[20 + arg3].unk_01E = 0; player->unk_258[20 + arg3].unk_00C = 0.2f; @@ -4674,8 +4674,8 @@ void func_80064C74(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { player->unk_258[30 + arg1].unk_020 -= 2184; } - player->unk_258[30 + arg1].unk_000[2] = player->pos[2] + (coss(player->unk_258[30 + arg1].unk_020 - player->unk_02C[1] - player->unk_0C0) * 5.0f); - player->unk_258[30 + arg1].unk_000[0] = player->pos[0] + (sins(player->unk_258[30 + arg1].unk_020 - player->unk_02C[1] - player->unk_0C0) * 5.0f); + player->unk_258[30 + arg1].unk_000[2] = player->pos[2] + (coss(player->unk_258[30 + arg1].unk_020 - player->rotation[1] - player->unk_0C0) * 5.0f); + player->unk_258[30 + arg1].unk_000[0] = player->pos[0] + (sins(player->unk_258[30 + arg1].unk_020 - player->rotation[1] - player->unk_0C0) * 5.0f); player->unk_258[30 + arg1].unk_000[1] = player->pos[1] - 1.0f; player->unk_258[30 + arg1].unk_00C += 0.4; ++player->unk_258[30 + arg1].unk_01E; @@ -5248,9 +5248,9 @@ void func_80067D3C(Player *player, s8 arg1, u8 *texture, s8 arg3, f32 arg4, s32 sp74[0] = 0; sp74[1] = player->unk_048[arg1]; sp74[2] = 0; - sp7C[0] = player->pos[0] + (sins((0x4000 & 0xFFFFFFFF) - (player->unk_02C[1] + player->unk_0C0)) * arg4); + sp7C[0] = player->pos[0] + (sins((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); sp7C[1] = player->pos[1] + player->boundingBoxSize - sp54[player->characterId] - 2.0f; - sp7C[2] = player->pos[2] + (coss((0x4000 & 0xFFFFFFFF) - (player->unk_02C[1] + player->unk_0C0)) * arg4); + sp7C[2] = player->pos[2] + (coss((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); func_800652D4(sp7C, sp74, player->unk_258[20 + arg3].unk_00C * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -5275,9 +5275,9 @@ void func_8006801C(Player *player, s8 arg1, u8 *texture, s8 arg3, f32 arg4, s32 sp74[0] = 0; sp74[1] = player->unk_048[arg1]; sp74[2] = 0; - sp7C[0] = player->pos[0] + (sins((0x4000 & 0xFFFFFFFF) - (player->unk_02C[1] + player->unk_0C0)) * arg4); + sp7C[0] = player->pos[0] + (sins((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); sp7C[1] = player->pos[1] + player->boundingBoxSize - sp54[player->characterId] - 2.0f; - sp7C[2] = player->pos[2] + (coss((0x4000 & 0xFFFFFFFF) - (player->unk_02C[1] + player->unk_0C0)) * arg4); + sp7C[2] = player->pos[2] + (coss((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); func_800652D4(sp7C, sp74, player->unk_258[20 + arg3].unk_00C * player->size * 0.8); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -5624,8 +5624,8 @@ void func_8006A50C(Player *player, f32 arg1, f32 arg2, s8 arg3, s8 arg4, s16 arg D_8018D7D0[arg3][arg4] = 0; D_8018D800[arg3][arg4] = 5; D_8018D830[arg3][arg4] = 1; - D_8018D620[arg3][arg4] = -player->unk_02C[1] - player->unk_0C0; - func_80062B18(&someX, &someY, &someZ, arg1, 4.0f, arg2 + -3.8, -player->unk_02C[1], 0); + D_8018D620[arg3][arg4] = -player->rotation[1] - player->unk_0C0; + func_80062B18(&someX, &someY, &someZ, arg1, 4.0f, arg2 + -3.8, -player->rotation[1], 0); D_8018D4D0[arg3][arg4] = player->pos[0] + someX; D_8018D590[arg3][arg4] = player->pos[2] + someZ; D_8018D530[arg3][arg4] = (player->pos[1] - player->boundingBoxSize) + someY; @@ -5669,7 +5669,7 @@ void func_8006A7C0(Player *player, f32 arg1, f32 arg2, s8 arg3, s8 arg4) { D_8018D6B0[arg3][arg4] = 0.0f; D_8018D710[arg3][arg4] = 0.0f; } - D_8018D620[arg3][arg4] = -player->unk_02C[1] - player->unk_0C0; + D_8018D620[arg3][arg4] = -player->rotation[1] - player->unk_0C0; move_s16_towards(&D_8018D890[arg3][arg4], player->unk_094 * 182.0f, 0.1f); } if (D_8018D830[arg3][arg4] == 1) { @@ -5750,7 +5750,7 @@ void func_8006AFD0(Player *player, s8 arg1, s16 arg2, s8 arg3) { envRed = (envColors[player->characterId] >> 0x10) & 0xFF; envGreen = (envColors[player->characterId] >> 0x08) & 0xFF; envBlue = (envColors[player->characterId] >> 0x00) & 0xFF; - temp_t1 = (((player->unk_048[arg3] + player->unk_02C[1] + player->unk_0C0) & 0xFFFF) / 128); + temp_t1 = (((player->unk_048[arg3] + player->rotation[1] + player->unk_0C0) & 0xFFFF) / 128); temp_t1 <<= 7; if (arg3 == arg1) { var_f20 = 0.3f; diff --git a/src/code_80071F00.c b/src/code_80071F00.c index 77354e184..db63503df 100644 --- a/src/code_80071F00.c +++ b/src/code_80071F00.c @@ -4557,7 +4557,7 @@ void func_8007D070(void) { temp_s2 = random_int(0x012CU); temp_s3 = random_int(0x1000U) - 0x800; temp_t5 = random_int(0x000FU) - 5; - gObjectList[objectIndex].direction_angle[1] = D_8018CF1C->unk_02C[1] + 0x8000; + gObjectList[objectIndex].direction_angle[1] = D_8018CF1C->rotation[1] + 0x8000; temp_t2 = (D_8018CF14->rot[1] + temp_s3); gObjectList[objectIndex].origin_pos[0] = D_8018CF1C->pos[0] + (sins(temp_t2) * temp_s2); gObjectList[objectIndex].origin_pos[1] = temp_t5; diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c index 3d64a161e..96bc7638f 100644 --- a/src/code_8008C1D0.c +++ b/src/code_8008C1D0.c @@ -303,7 +303,7 @@ void func_8008C73C(Player *player, s8 arg1) { } player->unk_0B6 |= 0x80; - player->unk_0C0 = 0; player->unk_07C = 0; player->unk_078 = 0; player->unk_0AE = player->unk_02C[1]; player->unk_0B2 = 2; + player->unk_0C0 = 0; player->unk_07C = 0; player->unk_078 = 0; player->unk_0AE = player->rotation[1]; player->unk_0B2 = 2; D_80165190[0][arg1] = 1; D_80165190[1][arg1] = 1; D_80165190[2][arg1] = 1; @@ -327,7 +327,7 @@ void func_8008C8C4(Player* player, s8 playerId) { player->effects &= ~0x80; player->effects &= ~0x40; player->unk_0A8 = 0; - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; player->unk_07C = 0; player->unk_0C0 = 0; player->effects &= ~0x800; @@ -367,7 +367,7 @@ void func_8008C9EC(Player *player, s8 arg1) { } } if ((player->effects & 0x80) == 0x80) { - player->unk_02C[1] -= sp30[player->unk_0B2]; + player->rotation[1] -= sp30[player->unk_0B2]; D_8018D920[arg1] -= sp30[player->unk_0B2]; stackPadding1 = (u16)D_8018D920[arg1] / (0x10000 / (0x168 / (sp30[player->unk_0B2] / 182))); if (stackPadding1 == 0) { @@ -380,7 +380,7 @@ void func_8008C9EC(Player *player, s8 arg1) { } } } else { - player->unk_02C[1] += sp30[player->unk_0B2]; + player->rotation[1] += sp30[player->unk_0B2]; D_8018D920[arg1] -= sp30[player->unk_0B2]; stackPadding2 = (u16)D_8018D920[arg1] / (0x10000 / (0x168 / (sp30[player->unk_0B2] / 182))); if (stackPadding2 == 0) { @@ -588,7 +588,7 @@ void func_8008D554(Player* player) { void func_8008D570(Player *player, s8 arg1) { func_8008C354(player, arg1); - player->unk_0AE = player->unk_02C[1]; + player->unk_0AE = player->rotation[1]; player->effects |= 0x80000; player->effects &= ~0x10; player->statusEffects &= ~0x1000; @@ -614,10 +614,10 @@ void func_8008D698(Player* player, s8 arg1) { s16 temp; if (player->unk_0B2 == 0) { - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; temp = 0; } else { - player->unk_02C[1] -= 1820; + player->rotation[1] -= 1820; D_8018D920[arg1] -= 1820; temp = ((u16) D_8018D920[arg1] / 1820); } @@ -636,7 +636,7 @@ void func_8008D760(Player* player) { player->unk_0A8 = 0; player->unk_07C = 0; player->unk_0C0 = 0; - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; player->effects &= 0xFFF7FFFF; player->kartGravity = gKartGravityTable[player->characterId]; player->type &= 0xFF7F; @@ -645,7 +645,7 @@ void func_8008D760(Player* player) { void func_8008D7B0(Player* player, s8 arg1) { func_8008C354(player, arg1); - player->unk_0AE = player->unk_02C[1]; + player->unk_0AE = player->rotation[1]; player->effects |= 0x800000; player->effects &= ~0x10; player->statusEffects &= 0xFFFDFFFF; @@ -667,10 +667,10 @@ void func_8008D8B4(Player* player, s8 arg1) { s16 temp; if (player->unk_0B2 == 0) { - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; temp = 0; } else { - player->unk_02C[1] -= 1820; + player->rotation[1] -= 1820; D_8018D920[arg1] -= 1820; temp = ((u16) (D_8018D920[arg1]) / 1820); } @@ -689,7 +689,7 @@ void func_8008D97C(Player *player) { player->unk_0A8 = 0; player->unk_07C = 0; player->unk_0C0 = 0; - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; player->effects &= 0xFF7FFFFF; player->kartGravity = gKartGravityTable[player->characterId]; } @@ -864,7 +864,7 @@ void func_8008DF98(Player* player, s8 arg1) { player->unk_0B0 = 0; player->size = 1.0f; D_8018D930[arg1] = gCourseTimer; - player->unk_0AE = player->unk_02C[1]; + player->unk_0AE = player->rotation[1]; player->unk_0B2 = 2; player->unk_0C0 = 0; player->unk_07C = 0; @@ -894,7 +894,7 @@ void func_8008E118(Player *player, s8 arg1) { player->unk_0A8 = 0; player->unk_07C = 0; player->unk_0C0 = 0; - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; func_8008E3C0(player, arg1); D_80165190[0][arg1] = 1; D_80165190[1][arg1] = 1; @@ -902,7 +902,7 @@ void func_8008E118(Player *player, s8 arg1) { D_80165190[3][arg1] = 1; func_8008DABC(player, arg1); } else if ((player->effects & 0x20000) == 0x20000) { - player->unk_02C[1] -= 0x5B0; + player->rotation[1] -= 0x5B0; D_8018D920[arg1] -= 0x5B0; test = (u16)D_8018D920[arg1] / 1456; if (test == 0) { @@ -912,7 +912,7 @@ void func_8008E118(Player *player, s8 arg1) { player->effects &= ~0x20000; player->unk_07C = 0; player->unk_0C0 = 0; - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; D_80165190[0][arg1] = 1; D_80165190[1][arg1] = 1; D_80165190[2][arg1] = 1; @@ -950,7 +950,7 @@ void func_8008E3C0(Player* player, UNUSED s8 arg1) { player->effects |= 0x08000000; if ((player->effects & 0x20000) == 0x20000) { - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; } player->effects &= ~0x20000; @@ -1263,7 +1263,7 @@ void func_8008F0E8(Player* player) { void func_8008F104(Player* player, s8 arg1) { func_8008C354(player, arg1); - player->unk_0AE = player->unk_02C[1]; + player->unk_0AE = player->rotation[1]; player->unk_0B2 = 2; player->unk_0C0 = 0; player->unk_07C = 0; @@ -1282,7 +1282,7 @@ void func_8008F1B8(Player* player, s8 arg1) { player->unk_08C = (player->unk_210 * 0.05); if (player->unk_0B2 < 0) { if ((player->unk_044 & 0x80) == 0x80) { - player->unk_02C[1] += 182; + player->rotation[1] += 182; D_8018D920[arg1] += 182; temp = ((u16) D_8018D920[arg1] / 182); @@ -1293,7 +1293,7 @@ void func_8008F1B8(Player* player, s8 arg1) { } } else { - player->unk_02C[1] -= 182; + player->rotation[1] -= 182; D_8018D920[arg1] -= 182; temp = ((u16) D_8018D920[arg1] / 182); if (temp == 180) { @@ -1304,7 +1304,7 @@ void func_8008F1B8(Player* player, s8 arg1) { } } else { if ((player->unk_0B2 & 1) != 0) { - player->unk_02C[1] -= 364; + player->rotation[1] -= 364; D_8018D920[arg1] -= 364; temp = ((u16) D_8018D920[arg1] / 364); if (temp < 71) { @@ -1314,7 +1314,7 @@ void func_8008F1B8(Player* player, s8 arg1) { player->unk_044 &= ~0x40; return; } - player->unk_02C[1] += 364; + player->rotation[1] += 364; D_8018D920[arg1] += 364; temp = ((u16) D_8018D920[arg1] / 364); if (temp >= 110) { @@ -1800,7 +1800,7 @@ void func_80090778(Player* player) { player->unk_0A8 = 0; player->unk_07C = 0; player->unk_0C0 = 0; - player->unk_02C[1] = player->unk_0AE; + player->rotation[1] = player->unk_0AE; } func_8008E3C0(player, playerIndex); } @@ -1896,7 +1896,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { player->unk_0CA &= ~0x0001; } } else { - move_f32_towards(&player->pos[1], player->rotY + 40.0f, 0.02f); + move_f32_towards(&player->pos[1], player->copy_rotation_y + 40.0f, 0.02f); player->unk_0C6 -= 8; if (player->unk_0C6 < 9) { player->unk_0C6 = 0; @@ -1908,7 +1908,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { case 2: func_80090178(player, arg1, sp44, sp38); // Fakematch found by Verti, who knows what's going on here - player->unk_02C[1] = (u16) -get_angle_between_points(sp44, sp38) & 0xFFFF; + player->rotation[1] = (u16) -get_angle_between_points(sp44, sp38) & 0xFFFF; player->pos[0] = sp44[0]; player->pos[1] = sp44[1] + 40.0f; player->pos[2] = sp44[2]; @@ -1923,8 +1923,8 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { player->pos[0] = sp44[0]; player->pos[1] = sp44[1] + 40.0f; player->pos[2] = sp44[2]; - player->pos[2] = player->pos[2] + coss((arg1 * 0x1C70) - player->unk_02C[1]) * -5.0f; - player->pos[0] = player->pos[0] + sins((arg1 * 0x1C70) - player->unk_02C[1]) * -5.0f; + player->pos[2] = player->pos[2] + coss((arg1 * 0x1C70) - player->rotation[1]) * -5.0f; + player->pos[0] = player->pos[0] + sins((arg1 * 0x1C70) - player->rotation[1]) * -5.0f; player->unk_0C6 += 8; if (player->unk_0C6 >= 0xF0) { player->unk_0C6 = 0x00FF; @@ -1935,8 +1935,8 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { break; case 4: if ((player->unk_0C8 == 0x0096) || (player->unk_0C8 == 0x00C8) || (player->unk_0C8 == 0x00FA)) { - player->pos[2] = player->pos[2] + coss(-player->unk_02C[1]) * -10.0f; - player->pos[0] = player->pos[0] + sins(-player->unk_02C[1]) * -10.0f; + player->pos[2] = player->pos[2] + coss(-player->rotation[1]) * -10.0f; + player->pos[0] = player->pos[0] + sins(-player->rotation[1]) * -10.0f; } if (player->unk_0C8 == 0x00FC) { waypoint = D_80164550[0]; @@ -2019,7 +2019,7 @@ func_800910E4_label: void func_800911B4(Player* player, s8 arg1) { s32 temp_v0; - player->unk_0AE = player->unk_02C[1]; + player->unk_0AE = player->rotation[1]; player->unk_044 |= 0x1800; player->unk_044 &= ~0x0400; player->unk_044 |= 0x2000; @@ -2066,7 +2066,7 @@ void func_80091298(Player *player, s8 arg1) { if (player->unk_0B2 == 0) { var_v1 = 0; } else { - player->unk_02C[1] -= 0xE38; + player->rotation[1] -= 0xE38; D_8018D920[arg1] -= 0xE38; var_v1 = (u16)D_8018D920[arg1] / 3640; } diff --git a/src/ending/code_80280000.c b/src/ending/code_80280000.c index ddc307833..b3e5733ea 100644 --- a/src/ending/code_80280000.c +++ b/src/ending/code_80280000.c @@ -60,7 +60,7 @@ void func_80280038(void) { gCurrentCourseId = gCreditsCourseId; mtxf_identity(matrix); render_set_position(matrix, 0); - func_80295A38(D_800DC5EC); + render_course(D_800DC5EC); render_course_actors(D_800DC5EC); func_80058090(0); func_80058538(0); diff --git a/src/hud_renderer.c b/src/hud_renderer.c index 35c651cab..59ccf9ffc 100644 --- a/src/hud_renderer.c +++ b/src/hud_renderer.c @@ -2344,10 +2344,10 @@ void func_8004F168(s32 arg0, s32 playerId, s32 characterId) { temp_a1 = ((D_8018D2D8[arg0] + D_8018D2F8) - ((s16) D_8018D2B8 / 2)) + D_8018D2E8 + (s32) (player->pos[2] * D_8018D2A0); if (characterId != 8) { if ((gGPCurrentRaceRankByPlayerId[playerId] == 0) && (gModeSelection != BATTLE) && (gModeSelection != TIME_TRIALS)) { - func_80046424((s32) temp_a0, (s32) temp_a1, (player->unk_02C[1] + 0x8000) & 0xFFFF, 1.0f, (u8 *) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, 8, 8, 8, 8); + func_80046424((s32) temp_a0, (s32) temp_a1, (player->rotation[1] + 0x8000) & 0xFFFF, 1.0f, (u8 *) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, 8, 8, 8, 8); // return; } else { - func_800463B0((s32) temp_a0, (s32) temp_a1, (player->unk_02C[1] + 0x8000) & 0xFFFF, 1.0f, (u8 *) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, 8, 8, 8, 8); + func_800463B0((s32) temp_a0, (s32) temp_a1, (player->rotation[1] + 0x8000) & 0xFFFF, 1.0f, (u8 *) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, 8, 8, 8, 8); } //return; } else { diff --git a/src/player_controller.c b/src/player_controller.c index a973dd3b1..82b62e999 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -852,7 +852,7 @@ void func_8002934C(Player *player, Camera *camera, s8 arg2, s8 playerId) { u16 var_a0; player->unk_048[arg2] = atan2s(player->pos[0] - camera->pos[0], player->pos[2] - camera->pos[2]); - player->animFrameSelector[arg2] = (u16) ( (((player->unk_048[arg2]) + player->unk_02C[1] + player->unk_0C0))) / 128; + player->animFrameSelector[arg2] = (u16) ( (((player->unk_048[arg2]) + player->rotation[1] + player->unk_0C0))) / 128; temp_f2 = (gCharacterSize[player->characterId] * 18.0f) * player->size; temp_f0 = player->unk_230 - player->unk_23C; @@ -872,9 +872,9 @@ void func_8002934C(Player *player, Camera *camera, s8 arg2, s8 playerId) { } else { if (((player->animFrameSelector[arg2]) >= 0) && ((player->animFrameSelector[arg2]) < 0x101)) { - var_f0 = player->rotY - player->pos[1]; + var_f0 = player->copy_rotation_y - player->pos[1]; } else { - var_f0 = player->pos[1] - player->rotY; + var_f0 = player->pos[1] - player->copy_rotation_y; } player->unk_0D4[arg2] = (s16) ((s32) (((f64) func_802B7C40(var_f0 / temp_f2)) * 0.5)); } @@ -882,7 +882,7 @@ void func_8002934C(Player *player, Camera *camera, s8 arg2, s8 playerId) { player->unk_0D4[arg2] = (s16) ((s32) player->unk_D9C); } func_80029200(player, arg2); - temp_a0 = ((player->unk_048[arg2] + player->unk_02C[1]) + player->unk_0C0); + temp_a0 = ((player->unk_048[arg2] + player->rotation[1]) + player->unk_0C0); temp_a0 = (s16) player->unk_0D4[arg2] * sins((u16) temp_a0) + player->unk_0CC[arg2] * coss((u16) temp_a0); move_s16_towards(&player->unk_050[arg2], temp_a0, 0.5f); var_a0 = player->animFrameSelector[arg2]; @@ -918,7 +918,7 @@ void func_8002934C(Player *player, Camera *camera, s8 arg2, s8 playerId) { && ((player->unk_0CA & 2) == 2)) { player->unk_050[arg2] = 0; } - var_a0 = (player->unk_048[arg2] + player->unk_02C[1] + player->unk_0C0); + var_a0 = (player->unk_048[arg2] + player->rotation[1] + player->unk_0C0); if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40) || ((player->effects & 0x80000) == 0x80000) @@ -1016,7 +1016,7 @@ void func_80029B4C(Player *player, UNUSED f32 arg1, f32 arg2, UNUSED f32 arg3) { var_f12 = 18.0f * (gCharacterSize[player->characterId] / 2); } - calculate_orientation_matrix(sp5C, 0.0f, 1.0f, 0.0f, (player->unk_02C[1] + player->unk_0C0)); + calculate_orientation_matrix(sp5C, 0.0f, 1.0f, 0.0f, (player->rotation[1] + player->unk_0C0)); sp8C[0] = var_f12 - 3.6; sp8C[1] = -player->boundingBoxSize; sp8C[2] = var_f12 - 2.0f; @@ -1089,7 +1089,7 @@ void func_80029B4C(Player *player, UNUSED f32 arg1, f32 arg2, UNUSED f32 arg3) { move_s16_towards(&player->slopeAccel, func_802B7C40(temp_f0_2 / temp_f2_3), 0.5f); } else { - temp_f0_2 = player->rotY - arg2; + temp_f0_2 = player->copy_rotation_y - arg2; temp_v0 = func_802B7C40(temp_f0_2 / temp_f2_3); if (temp_f0_2 >= 0.0f) { temp_v0 /= 4; @@ -1125,7 +1125,7 @@ void func_8002A194(Player *player, f32 arg1, f32 arg2, f32 arg3) { UNUSED s32 pad2; f32 temp_f0; - temp_v1 = -player->unk_02C[1] - player->unk_0C0; + temp_v1 = -player->rotation[1] - player->unk_0C0; if ((player->effects & LIGHTNING_EFFECT) == LIGHTNING_EFFECT) { var_f20 = (((gCharacterSize[player->characterId] * 18) / 2) * (player->size * 1.5)) - 1; } else { @@ -1169,7 +1169,7 @@ void func_8002A194(Player *player, f32 arg1, f32 arg2, f32 arg3) { temp_f0 = (player->unk_1F8 - player->unk_1FC); move_s16_towards(&player->slopeAccel, func_802B7C40(temp_f0 / var_f20), 0.5f); } else { - temp_f0 = player->rotY - arg2; + temp_f0 = player->copy_rotation_y - arg2; temp_v0 = func_802B7C40(temp_f0 / var_f20); if (temp_f0 >= 0.0f) { var_a1 = temp_v0 * 2; @@ -1425,8 +1425,8 @@ void func_8002AE38(Player *player, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 ar s16 temp_a0; s32 var_v1; - sp28 = (sins(-player->unk_02C[1]) * player->unk_094) + arg2; - temp_f16 = (coss(-player->unk_02C[1]) * player->unk_094) + arg3; + sp28 = (sins(-player->rotation[1]) * player->unk_094) + arg2; + temp_f16 = (coss(-player->rotation[1]) * player->unk_094) + arg3; if ( ((player->effects & 0x800) != 0x800) && ((player->effects & 0x10) != 0x10) && @@ -1695,8 +1695,8 @@ void func_8002B9CC(Player *player, s8 arg1, UNUSED s32 arg2) { func_8008C73C(player, arg1); } } - temp = (-(s16)get_angle_between_points(player->pos, &player->rotX)); - temp2 = (player->unk_02C[1] - player->unk_0C0); + temp = (-(s16)get_angle_between_points(player->pos, &player->copy_rotation_x)); + temp2 = (player->rotation[1] - player->unk_0C0); temp = temp - temp2; player->unk_234 = temp / 182; @@ -1732,14 +1732,14 @@ void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, UNUSED s8 arg3, UNUSED mtxf_translate_vec3f_mat3(sp58, sp64); - sp4C[0] = player->rotX; + sp4C[0] = player->copy_rotation_x; sp4C[1] = 0; - sp4C[2] = player->rotZ; + sp4C[2] = player->copy_rotation_z; mtxf_translate_vec3f_mat3(sp4C, sp64); var_v0 = -(s16)get_angle_between_points(sp58, sp4C); - t0 = player->unk_02C[1]; + t0 = player->rotation[1]; var_v0 = 0x10000 + (t0 - var_v0); var_v0 /= 182; @@ -1758,9 +1758,9 @@ void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, UNUSED s8 arg3, UNUSED } if ((player->unk_07C >> 0x10) < 0) { - player->unk_02C[1] -= sp30[var_v0]; + player->rotation[1] -= sp30[var_v0]; } else { - player->unk_02C[1] += sp30[var_v0]; + player->rotation[1] += sp30[var_v0]; } } @@ -2160,7 +2160,7 @@ void func_8002D028(Player *player, s8 arg1) { sp4C[2] = D_80165230[D_80165270[arg1]]; temp = -(s16)get_angle_between_points(player->pos, sp4C); - temp2 = player->unk_02C[1]; + temp2 = player->rotation[1]; temp = (temp - temp2); thing0 = 8; @@ -2179,8 +2179,8 @@ void func_8002D028(Player *player, s8 arg1) { temp_f18 = sqrtf((sp4C[0] - player->pos[0]) * (sp4C[0] - player->pos[0])+ (sp4C[2] - player->pos[2]) * (sp4C[2] - player->pos[2])); if (temp_f18 <= 8.0f) { - adjust_angle(&player->unk_02C[1], -0x8000, 0x016C); - if ((player->unk_02C[1] < (-0x7F41)) || (player->unk_02C[1] > 0x7F41)) { + adjust_angle(&player->rotation[1], -0x8000, 0x016C); + if ((player->rotation[1] < (-0x7F41)) || (player->rotation[1] > 0x7F41)) { player->type &= ~0x0200; } player->unk_08C = 0; @@ -2272,7 +2272,7 @@ void func_8002D268(Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId) spB0 = -1 * player->kartGravity; spAC = 0 * (player->unk_064[2] + sp16C[2]); } - temp_f2_2 = ((player->rotZ - player->pos[2]) * coss(player->unk_02C[1] + player->unk_0C0)) + (-(player->rotX - player->pos[0]) * sins(player->unk_02C[1] + player->unk_0C0)); + temp_f2_2 = ((player->copy_rotation_z - player->pos[2]) * coss(player->rotation[1] + player->unk_0C0)) + (-(player->copy_rotation_x - player->pos[0]) * sins(player->rotation[1] + player->unk_0C0)); if (temp_f2_2 > 0.1) { player->unk_044 |= 8; } else { @@ -2324,9 +2324,9 @@ void func_8002D268(Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId) posY = player->pos[1]; posZ = player->pos[2]; - player->rotX = player->pos[0]; - player->rotZ = player->pos[2]; - player->rotY = player->pos[1]; + player->copy_rotation_x = player->pos[0]; + player->copy_rotation_z = player->pos[2]; + player->copy_rotation_y = player->pos[1]; spFC = posX + player->velocity[0] + D_8018CE10[playerId].unk_04[0]; spF8 = posY + player->velocity[1]; spF4 = posZ + player->velocity[2] + D_8018CE10[playerId].unk_04[2]; @@ -2339,14 +2339,14 @@ void func_8002D268(Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId) spF8 += player->kartHopVelocity; spF8 -= 0.02; } - func_802AD950(&player->unk_110, player->boundingBoxSize, spFC, spF8, spF4, player->rotX, player->rotY, player->rotZ); + func_802AD950(&player->unk_110, player->boundingBoxSize, spFC, spF8, spF4, player->copy_rotation_x, player->copy_rotation_y, player->copy_rotation_z); player->unk_058 = 0.0f; player->unk_060 = 0.0f; player->unk_05C = 1.0f; if ((player->unk_044 & 1) != 1) { - calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->unk_02C[1]); + calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->rotation[1]); } else { - calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->unk_02C[1] + 0x8000); + calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->rotation[1] + 0x8000); } player->effects |= 8; player->unk_0C2 += 1; @@ -2503,7 +2503,7 @@ void func_8002E4C4(Player *player) { player->kartHopVelocity = 0.0f; player->pos[1] = func_802AE1C0(player->pos[0], D_80164510[player_index] + 10.0f, player->pos[2]) + player->boundingBoxSize; 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->pos[1] = player->copy_rotation_y; } player->velocity[1] = 0.0f; } @@ -2558,10 +2558,10 @@ void func_8002E594(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { } func_8002C7E4(player, arg3, arg2); if (sp46 == 1) { - calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->unk_02C[1])); + calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->rotation[1])); calculate_orientation_matrix(player->unk_150, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->unk_0AE)); } else { - calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->unk_02C[1])); + calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->rotation[1])); } spEC[2] = func_80030150(player, arg3); if (sp46 == 1) { @@ -2595,16 +2595,16 @@ void func_8002E594(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { posY = player->pos[1]; posZ = player->pos[2]; - player->rotX = player->pos[0]; - player->rotY = player->pos[1]; - player->rotZ = player->pos[2]; + player->copy_rotation_x = player->pos[0]; + player->copy_rotation_y = player->pos[1]; + player->copy_rotation_z = player->pos[2]; spD0 = posX + player->velocity[0] + D_8018CE10[arg3].unk_04[0]; spCC = posY + player->velocity[1]; spC8 = posZ + player->velocity[2] + D_8018CE10[arg3].unk_04[2]; func_8002AAC0(player); spCC += player->kartHopVelocity; - func_802AD950(&player->unk_110, player->boundingBoxSize, spD0, spCC, spC8, player->rotX, player->rotY, player->rotZ); + func_802AD950(&player->unk_110, player->boundingBoxSize, spD0, spCC, spC8, player->copy_rotation_x, player->copy_rotation_y, player->copy_rotation_z); player->effects |= 8; player->unk_0C2 += 1; player->unk_058 = 0.0f; @@ -2788,16 +2788,16 @@ void control_cpu_movement(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg sp68[2] = player->velocity[2]; sp68[0] += (((spF4[0] + sp84) + spD0[0]) - (sp68[0] * (0.12 * player->kartFriction))) / 6000.0; sp68[2] += (((spF4[2] + sp7C) + spD0[2]) - (sp68[2] * (0.12 * player->kartFriction))) / 6000.0; - player->rotX = player->pos[0]; - player->rotY = test; - player->rotZ = player->pos[2]; + player->copy_rotation_x = player->pos[0]; + player->copy_rotation_y = test; + player->copy_rotation_z = player->pos[2]; spCC = player->pos[0] + player->velocity[0]; spC4 = player->pos[2] + player->velocity[2]; player->unk_0C0 = 0; player->kartHopJerk = 0; player->kartHopAcceleration = 0; player->kartHopVelocity = 0; - calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->unk_02C[1]); + calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->rotation[1]); player->unk_0C2 = 0; player->effects &= ~2; player->effects &= ~8; @@ -2869,9 +2869,9 @@ void func_8002F730(Player *player, UNUSED Camera *camera, UNUSED s8 arg2, s8 arg spB8 = player->pos[2]; - player->rotX = player->pos[0]; - player->rotY = player->pos[1]; - player->rotZ = player->pos[2]; + player->copy_rotation_x = player->pos[0]; + player->copy_rotation_y = player->pos[1]; + player->copy_rotation_z = player->pos[2]; spCC = player->velocity[0] + spC0; spC8 = player->velocity[1] + sp44; @@ -2880,11 +2880,11 @@ void func_8002F730(Player *player, UNUSED Camera *camera, UNUSED s8 arg2, s8 arg func_8002AAC0(player); spC8 += player->kartHopVelocity; - func_802AD950(&player->unk_110, player->boundingBoxSize, spCC, spC8, spC4, player->rotX, player->rotY, player->rotZ); + func_802AD950(&player->unk_110, player->boundingBoxSize, spCC, spC8, spC4, player->copy_rotation_x, player->copy_rotation_y, player->copy_rotation_z); player->unk_058 = 0.0f; player->unk_05C = 1.0f; player->unk_060 = 0.0f; - calculate_orientation_matrix(player->orientationMatrix, 0.0f, 1.0f, 0.0f, (s16) (s32) player->unk_02C[1]); + calculate_orientation_matrix(player->orientationMatrix, 0.0f, 1.0f, 0.0f, (s16) (s32) player->rotation[1]); player->effects &= ~8; sp78 = player->unk_110.unk3C[2]; if (sp78 <= 0.0f) { @@ -4601,7 +4601,7 @@ void func_80037BB4(Player *player, Vec3f arg1) { } else { if (player->unk_078 < 0) { if (((player->effects & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { - player->unk_02C[1] += player->unk_078; + player->rotation[1] += player->unk_078; } if (!(player->type & PLAYER_CPU)) { if (gModeSelection == BATTLE) { @@ -4614,7 +4614,7 @@ void func_80037BB4(Player *player, Vec3f arg1) { } } else { if (((player->effects & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { - player->unk_02C[1] += player->unk_078; + player->rotation[1] += player->unk_078; } if (!(player->type & PLAYER_CPU)) { if (gModeSelection == BATTLE) { @@ -4969,7 +4969,7 @@ void func_80038C6C(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { player->topSpeed = 250.0f; func_8002B830(player, arg3, arg2); func_8002CD48(player, arg3, arg2); - player->unk_02C[1] += player->unk_078; + player->rotation[1] += player->unk_078; spF0[0] = 0; spF0[1] = 0; spF0[2] = 0; @@ -5001,9 +5001,9 @@ void func_80038C6C(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { posY = player->pos[1]; posZ = player->pos[2]; - player->rotX = player->pos[0]; - player->rotY = player->pos[1]; - player->rotZ = player->pos[2]; + player->copy_rotation_x = player->pos[0]; + player->copy_rotation_y = player->pos[1]; + player->copy_rotation_z = player->pos[2]; spEC = posX + player->velocity[0]; spE8 = posY + player->velocity[1]; @@ -5011,11 +5011,11 @@ void func_80038C6C(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { func_8002AAC0(player); spE8 += player->kartHopVelocity; spE8 -= 0.02; - func_802AD950(&player->unk_110, player->boundingBoxSize, spEC, spE8, spE4, player->rotX, player->rotY, player->rotZ); + func_802AD950(&player->unk_110, player->boundingBoxSize, spEC, spE8, spE4, player->copy_rotation_x, player->copy_rotation_y, player->copy_rotation_z); player->unk_058 = 0; player->unk_060 = 0; player->unk_05C = 1.0f; - calculate_orientation_matrix(player->orientationMatrix, 0, 1.0f, 0, player->unk_02C[1]); + calculate_orientation_matrix(player->orientationMatrix, 0, 1.0f, 0, player->rotation[1]); player->effects |= 8; player->unk_0C2 += 1; sp98 = player->unk_110.unk3C[2]; diff --git a/src/racing/actors_extended.c b/src/racing/actors_extended.c index c7ae6b26a..dbc6404b4 100644 --- a/src/racing/actors_extended.c +++ b/src/racing/actors_extended.c @@ -15,7 +15,7 @@ #include "code_80071F00.h" #include "code_8008C1D0.h" -void func_802B0210(Collision *arg0, Collision *arg1) { +void copy_collision(Collision *arg0, Collision *arg1) { arg1->unk30 = arg0->unk30; arg1->unk32 = arg0->unk32; arg1->unk34 = arg0->unk34; @@ -192,7 +192,7 @@ void func_802B0788(s16 rawStickY, struct BananaBunchParent *banana_bunch, Player var_f12 = (player->unk_094 * 0.75f) + 4.5f + var_f0; } vec3f_set(velocity, 0.0f, var_f0, var_f12); - func_802B64C4(velocity, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(velocity, player->rotation[1] + player->unk_0C0); banana->velocity[0] = velocity[0]; banana->velocity[1] = velocity[1]; banana->velocity[2] = velocity[2]; @@ -429,7 +429,7 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) { someVelocity[0] = 0; someVelocity[1] = 0; someVelocity[2] = 8; - func_802B64C4(someVelocity, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); shell->velocity[0] = someVelocity[0]; shell->velocity[1] = someVelocity[1]; shell->velocity[2] = someVelocity[2]; @@ -454,7 +454,7 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) { someVelocity[0] = 0; someVelocity[1] = 0; someVelocity[2] = 8; - func_802B64C4(someVelocity, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); shell->velocity[0] = someVelocity[0]; shell->velocity[1] = someVelocity[1]; shell->velocity[2] = someVelocity[2]; @@ -479,7 +479,7 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) { someVelocity[0] = 0; someVelocity[1] = 0; someVelocity[2] = 8; - func_802B64C4(someVelocity, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); shell->velocity[0] = someVelocity[0]; shell->velocity[1] = someVelocity[1]; shell->velocity[2] = someVelocity[2]; @@ -664,7 +664,7 @@ s32 use_red_shell_item(Player *player) { func_802B4E30((struct Actor *)shell); shell->state = HELD_SHELL; shell->rotVelocity = 0; - shell->rotAngle = player->unk_02C[1] - 0x8000; + shell->rotAngle = player->rotation[1] - 0x8000; shell->playerId = player - gPlayerOne; return actorIndex; } @@ -738,7 +738,7 @@ void update_actor_banana(struct BananaActor *banana) { temp_f0 = (player->unk_094 * 0.75f) + 3.5f + pad3; } vec3f_set(someVelocity, 0, pad3, temp_f0); - func_802B64C4(someVelocity, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); banana->velocity[0] = someVelocity[0]; banana->velocity[1] = someVelocity[1]; banana->velocity[2] = someVelocity[2]; @@ -784,7 +784,7 @@ void update_actor_banana(struct BananaActor *banana) { someVelocity[0] = 0.0f; someVelocity[1] = 0.0f; someVelocity[2] = -5.0f; - func_802B64C4(someVelocity, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(someVelocity, player->rotation[1] + player->unk_0C0); unkX = player->pos[0] + someVelocity[0]; unkY = player->pos[1] + someVelocity[1]; unkZ = player->pos[2] + someVelocity[2]; @@ -1044,7 +1044,7 @@ void use_thunder_item(Player *player) { } // Handles item use? -void func_802B2FA0(Player *player) { +void player_use_item(Player *player) { s32 playerId = player - gPlayerOne; switch (player->currentItemCopy) { @@ -1122,7 +1122,7 @@ void func_802B30EC(void) { if (((player->type & PLAYER_HUMAN) != 0) && (player->currentItemCopy != ITEM_NONE) && ((player->type & PLAYER_START_SEQUENCE) == 0)) { if ((controller->buttonPressed & Z_TRIG) != 0) { controller->buttonPressed &= ~Z_TRIG; - func_802B2FA0(player); + player_use_item(player); } } } @@ -1158,7 +1158,7 @@ void update_actor_green_shell(struct ShellActor *shell) { switch (shell->state) { case HELD_SHELL: player = &gPlayers[shell->playerId]; - func_802B0210(&player->unk_110, &shell->unk30); + copy_collision(&player->unk_110, &shell->unk30); somePosVel[0] = 0.0f; somePosVel[1] = player->boundingBoxSize; somePosVel[2] = -(player->boundingBoxSize + shell->boundingBoxSize + 2.0f); @@ -1185,7 +1185,7 @@ void update_actor_green_shell(struct ShellActor *shell) { somePosVel[0] = 0.0f; somePosVel[1] = 0.0f; somePosVel[2] = -var_f2; - func_802B64C4(somePosVel, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(somePosVel, player->rotation[1] + player->unk_0C0); shell->velocity[0] = somePosVel[0]; shell->velocity[1] = somePosVel[1]; shell->velocity[2] = somePosVel[2]; @@ -1234,7 +1234,7 @@ void update_actor_green_shell(struct ShellActor *shell) { somePosVel[0] = 0.0f; somePosVel[1] = 0.0f; somePosVel[2] = var_f2; - func_802B64C4(somePosVel, player->unk_02C[1] + player->unk_0C0); + func_802B64C4(somePosVel, player->rotation[1] + player->unk_0C0); shell->velocity[0] = somePosVel[0]; shell->velocity[1] = somePosVel[1]; shell->velocity[2] = somePosVel[2]; @@ -1537,7 +1537,7 @@ void update_actor_red_blue_shell(struct ShellActor *shell) { switch (shell->state) { case HELD_SHELL: player = &gPlayers[shell->playerId]; - func_802B0210(&player->unk_110, &shell->unk30); + copy_collision(&player->unk_110, &shell->unk30); somePosVel[0] = 0.0f; somePosVel[1] = player->boundingBoxSize; somePosVel[2] = -(player->boundingBoxSize + shell->boundingBoxSize + 2.0f); @@ -1612,7 +1612,7 @@ void update_actor_red_blue_shell(struct ShellActor *shell) { somePosVel[0] = 0.0f; somePosVel[1] = 0.0f; somePosVel[2] = temp_f0; - func_802B64C4(somePosVel, (s16) (player->unk_02C[1] + player->unk_0C0)); + func_802B64C4(somePosVel, (s16) (player->rotation[1] + player->unk_0C0)); shell->velocity[0] = somePosVel[0]; shell->velocity[1] = somePosVel[1]; shell->velocity[2] = somePosVel[2]; diff --git a/src/racing/actors_extended.h b/src/racing/actors_extended.h index b1ab80fcb..e0143668f 100644 --- a/src/racing/actors_extended.h +++ b/src/racing/actors_extended.h @@ -4,7 +4,7 @@ #include "common_structs.h" #include "actor_types.h" -void func_802B0210(Collision*, Collision*); +void copy_collision(Collision*, Collision*); void func_802B02B4(struct ShellActor*, s32); void func_802B039C(struct BananaActor*); void func_802B0464(s16); @@ -27,7 +27,7 @@ void func_802B2914(struct BananaBunchParent*, Player*, s16); s32 use_fake_itembox_item(Player*); s32 use_banana_item(Player*); void use_thunder_item(Player*); -void func_802B2FA0(Player*); +void player_use_item(Player*); void func_802B30EC(void); void update_actor_green_shell(struct ShellActor*); void func_802B3B44(struct ShellActor*); diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index f4ddc1a33..cc0134050 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -502,7 +502,7 @@ void start_race(void) { f32 func_8028EE8C(s32 arg0) { f32 temp_v0 = gPlayers[arg0].pos[2]; - f32 temp_v1 = gPlayers[arg0].rotZ; + f32 temp_v1 = gPlayers[arg0].copy_rotation_z; f32 temp_f14 = D_8015F8D0[2] - temp_v0; f32 temp_f16 = temp_v1 - D_8015F8D0[2]; return gCourseTimer - ((0.01666666f * temp_f14) / (temp_f14 + temp_f16)); diff --git a/src/racing/render_courses.c b/src/racing/render_courses.c index cfa0ef560..d97b7b750 100644 --- a/src/racing/render_courses.c +++ b/src/racing/render_courses.c @@ -1258,7 +1258,7 @@ void func_8029569C(void) { } } -void func_80295A38(struct UnkStruct_800DC5EC *arg0) { +void render_course(struct UnkStruct_800DC5EC *arg0) { func_802B5D64((uintptr_t) D_800DC610, D_802B87D4, 0, 1); if (creditsRenderMode) { diff --git a/src/racing/render_courses.h b/src/racing/render_courses.h index 8256be02c..61a755f52 100644 --- a/src/racing/render_courses.h +++ b/src/racing/render_courses.h @@ -27,7 +27,7 @@ void render_double_deck(struct UnkStruct_800DC5EC*); void render_dks_jungle_parkway(struct UnkStruct_800DC5EC*); void render_big_donut(struct UnkStruct_800DC5EC*); void func_8029569C(void); -void func_80295A38(struct UnkStruct_800DC5EC*); +void render_course(struct UnkStruct_800DC5EC*); void func_80295BF8(s32); void func_80295C6C(void); void func_80295D50(s16, s16); diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c index 094a11e16..2b5eb1638 100644 --- a/src/racing/skybox_and_splitscreen.c +++ b/src/racing/skybox_and_splitscreen.c @@ -803,7 +803,7 @@ void func_802A59A4(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5EC); + render_course(D_800DC5EC); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); @@ -857,7 +857,7 @@ void func_802A5CB4(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5EC); + render_course(D_800DC5EC); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); @@ -913,7 +913,7 @@ void func_802A5FAC(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5F0); + render_course(D_800DC5F0); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); @@ -971,7 +971,7 @@ void func_802A62A4(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5EC); + render_course(D_800DC5EC); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); @@ -1028,7 +1028,7 @@ void func_802A65B8(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5F0); + render_course(D_800DC5F0); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); @@ -1082,7 +1082,7 @@ void func_802A68CC(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5EC); + render_course(D_800DC5EC); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[0]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); @@ -1136,7 +1136,7 @@ void func_802A6BB0(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5F0); + render_course(D_800DC5F0); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[1]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); @@ -1191,7 +1191,7 @@ void func_802A6E94(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5F4); + render_course(D_800DC5F4); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[2]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); @@ -1254,7 +1254,7 @@ void func_802A7178(void) { } else { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); } - func_80295A38(D_800DC5F8); + render_course(D_800DC5F8); if (D_800DC5C8 == 1) { gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxLookAt[3]), G_MTX_NOPUSH | G_MTX_MUL | G_MTX_PROJECTION); mtxf_identity(matrix); diff --git a/src/render_player.c b/src/render_player.c index b4b75f5f5..b75c8462a 100644 --- a/src/render_player.c +++ b/src/render_player.c @@ -153,12 +153,12 @@ u16 func_8001FD78(Player *player, f32 posX, UNUSED f32 arg2, f32 posZ) { ret = FALSE; - sp58 = (70.0f * coss(((player->unk_0C0 - player->unk_02C[1]) - 0x71C))) + player->pos[2]; - sp64 = (70.0f * sins(((player->unk_0C0 - player->unk_02C[1]) - 0x71C))) + player->pos[0]; - sp54 = (70.0f * coss(((player->unk_0C0 - player->unk_02C[1]) + 0x71C))) + player->pos[2]; - sp60 = (70.0f * sins(((player->unk_0C0 - player->unk_02C[1]) + 0x71C))) + player->pos[0]; - sp50 = (10.0f * coss(((player->unk_0C0 - player->unk_02C[1]) + 0x1C70))) + player->pos[2]; - sp5c = (10.0f * sins(((player->unk_0C0 - player->unk_02C[1]) + 0x1C70))) + player->pos[0]; + sp58 = (70.0f * coss(((player->unk_0C0 - player->rotation[1]) - 0x71C))) + player->pos[2]; + sp64 = (70.0f * sins(((player->unk_0C0 - player->rotation[1]) - 0x71C))) + player->pos[0]; + sp54 = (70.0f * coss(((player->unk_0C0 - player->rotation[1]) + 0x71C))) + player->pos[2]; + sp60 = (70.0f * sins(((player->unk_0C0 - player->rotation[1]) + 0x71C))) + player->pos[0]; + sp50 = (10.0f * coss(((player->unk_0C0 - player->rotation[1]) + 0x1C70))) + player->pos[2]; + sp5c = (10.0f * sins(((player->unk_0C0 - player->rotation[1]) + 0x1C70))) + player->pos[0]; temp_f14 = ((sp58 - posZ) * (sp60 - posX)) - ((sp54 - posZ) * (sp64 - posX)); thing0 = ((sp54 - posZ) * (sp5c - posX)) - ((sp50 - posZ) * (sp60 - posX)); @@ -1230,8 +1230,8 @@ void render_player_shadow(Player *player, s8 arg1, s8 arg2) { UNUSED Vec3f pad2; f32 var_f2; - temp_t9 = (u16)(player->unk_048[arg2] + player->unk_02C[1] + player->unk_0C0) / 128; // << 7) & 0xFFFF; - spC0 = -player->unk_02C[1] - player->unk_0C0; + temp_t9 = (u16)(player->unk_048[arg2] + player->rotation[1] + player->unk_0C0) / 128; // << 7) & 0xFFFF; + spC0 = -player->rotation[1] - player->unk_0C0; spB0 = -coss(temp_t9 << 7) * 2; spAC = -sins(temp_t9 << 7) * 2; @@ -1305,8 +1305,8 @@ void render_player_shadow_credits(Player *player, s8 playerId, s8 arg2) { UNUSED Vec3f pad3; Vec3f sp94 = { 9.0f, 7.0f, 5.0f }; - temp_t9 = (u16)(player->unk_048[arg2] + player->unk_02C[1] + player->unk_0C0) / 128; - spC0 = -player->unk_02C[1] - player->unk_0C0; + temp_t9 = (u16)(player->unk_048[arg2] + player->rotation[1] + player->unk_0C0) / 128; + spC0 = -player->rotation[1] - player->unk_0C0; spB0 = -coss(temp_t9 << 7) * 3; spAC = -sins(temp_t9 << 7) * 3; @@ -1365,7 +1365,7 @@ void kart_render(Player *player, s8 playerId, s8 arg2, s8 arg3) { sp154[0] = player->pos[0] + sp148; sp154[2] = player->pos[2] + sp140; } else { - thing = (u16)(player->unk_048[arg2] + player->unk_02C[1] + player->unk_0C0); + thing = (u16)(player->unk_048[arg2] + player->rotation[1] + player->unk_0C0); temp_v1 = player->unk_0CC[arg2] * sins(thing); if ((player->effects & 8) == 8) { sp14C[0] = cameras[arg2].rot[0] - 0x4000; @@ -1496,7 +1496,7 @@ void ghost_render(Player *player, s8 playerId, s8 arg2, s8 arg3) { } else { spC2 = 0x0070; } - thing = (u16)(player->unk_048[arg2] - player->unk_02C[1]); + thing = (u16)(player->unk_048[arg2] - player->rotation[1]); spD4[0] = (-(s16)(sins(thing) * (0.0f * 0.0f)) * 0.8); spD4[1] = player->unk_048[arg2]; spD4[2] = player->unk_050[arg2]; @@ -1552,9 +1552,9 @@ void func_80025DE8(Player *player, s8 playerId, s8 arg2, s8 arg3) { Vec3f sp9C; Vec3s sp94; - sp9C[0] = player->pos[0] + (sins(-player->unk_02C[1]) * -1.5); + sp9C[0] = player->pos[0] + (sins(-player->rotation[1]) * -1.5); sp9C[1] = ((player->pos[1] - player->boundingBoxSize) + player->unk_108) + 0.1; - sp9C[2] = player->pos[2] + (coss(-player->unk_02C[1]) * -1.5); + sp9C[2] = player->pos[2] + (coss(-player->rotation[1]) * -1.5); sp94[0] = -0x00B6; sp94[1] = player->unk_048[arg2]; sp94[2] = player->unk_050[arg2]; diff --git a/src/spawn_players.c b/src/spawn_players.c index 87bdd6d1c..7abe20d2d 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -111,22 +111,22 @@ void spawn_player(Player *player, s8 playerIndex, f32 startingRow, f32 startingC ret = func_802AE1C0(startingRow, arg4 + 50.0f, startingColumn) + player->boundingBoxSize; player->pos[2] = startingColumn; player->pos[1] = ret; - player->rotX = startingRow; - player->rotY = ret; + player->copy_rotation_x = startingRow; + player->copy_rotation_y = ret; D_80164510[playerIndex] = ret; - player->unk_02C[0] = 0; - player->rotZ = startingColumn; + player->rotation[0] = 0; + player->copy_rotation_z = startingColumn; player->unk_05C = 1.0f; player->unk_058 = 0.0f; player->unk_060 = 0.0f; player->velocity[0] = 0.0f; player->velocity[1] = 0.0f; player->velocity[2] = 0.0f; - player->unk_02C[1] = arg5; - player->unk_02C[2] = 0; + player->rotation[1] = arg5; + player->rotation[2] = 0; player->unk_0FA = 0; player->unk_002 = 0; @@ -359,8 +359,8 @@ void spawn_player(Player *player, s8 playerIndex, f32 startingRow, f32 startingC if (gModeSelection == BATTLE) { func_8006B7E4(player, playerIndex); } - calculate_orientation_matrix(player->unk_150, player->unk_058, player->unk_05C, player->unk_060, player->unk_02C[1]); - calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->unk_02C[1]); + calculate_orientation_matrix(player->unk_150, player->unk_058, player->unk_05C, player->unk_060, player->rotation[1]); + calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->rotation[1]); } void func_80039AE4(void) { @@ -1110,18 +1110,18 @@ void func_8003D080(void) { switch (gModeSelection) { case GRAND_PRIX: if (gCurrentCourseId == COURSE_TOADS_TURNPIKE) { - camera_init(0.0f, player->pos[1], D_80165230[7], player->unk_02C[1], 8, 0); + camera_init(0.0f, player->pos[1], D_80165230[7], player->rotation[1], 8, 0); } else { - camera_init((D_80165210[7] + D_80165210[6]) / 2, player->pos[1], D_80165230[7], player->unk_02C[1], 8, 0); + camera_init((D_80165210[7] + D_80165210[6]) / 2, player->pos[1], D_80165230[7], player->rotation[1], 8, 0); } break; case TIME_TRIALS: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 0); break; default: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 10, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 10, 0); break; } break; @@ -1130,45 +1130,45 @@ void func_8003D080(void) { case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: switch (gModeSelection) { case GRAND_PRIX: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 0); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 1); break; case BATTLE: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 9, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 9, 0); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 9, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 9, 1); break; default: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 0); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 1); break; } break; case SCREEN_MODE_3P_4P_SPLITSCREEN: if (gModeSelection == BATTLE) { - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 9, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 9, 0); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 9, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 9, 1); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 9, 2); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 9, 2); if (gPlayerCountSelection1 == 4) { player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 9, 3); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 9, 3); } } else { - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 0); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 1); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 2); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 2); if (gPlayerCountSelection1 == 4) { player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 1, 3); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 1, 3); } } break; @@ -1176,24 +1176,24 @@ void func_8003D080(void) { } else { switch (gActiveScreenMode) { case SCREEN_MODE_1P: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 0); break; case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 0); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 1); break; case SCREEN_MODE_3P_4P_SPLITSCREEN: - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 0); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 1); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 2); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 2); player++; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 3); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 3); break; } } @@ -1255,8 +1255,8 @@ void func_8003DB5C(void) { Player *player = gPlayerOne; s32 playerId; - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 0); - camera_init(player->pos[0], player->pos[1], player->pos[2], player->unk_02C[1], 3, 1); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 0); + camera_init(player->pos[0], player->pos[1], player->pos[2], player->rotation[1], 3, 1); for (playerId = 0; playerId < NUM_PLAYERS; playerId++, player++) { load_kart_palette(player, playerId, 1, 0); diff --git a/tools/doxygen_syms.md b/tools/doxygen_syms.md index 15d63f63a..433598db2 100644 --- a/tools/doxygen_syms.md +++ b/tools/doxygen_syms.md @@ -343,10 +343,10 @@ Variable Name | Memory Address [func_8001A588](@ref func_8001A588) | 0x8001A588 [func_8001AAAC](@ref func_8001AAAC) | 0x8001AAAC [func_8001AB00](@ref func_8001AB00) | 0x8001AB00 -[func_8001AB74](@ref func_8001AB74) | 0x8001AB74 +[cpu_decisions_branch_item](@ref cpu_decisions_branch_item) | 0x8001AB74 [func_8001ABE0](@ref func_8001ABE0) | 0x8001ABE0 [func_8001ABEC](@ref func_8001ABEC) | 0x8001ABEC -[func_8001AC10](@ref func_8001AC10) | 0x8001AC10 +[cpu_use_item_strategy](@ref cpu_use_item_strategy) | 0x8001AC10 [func_8001BE78](@ref func_8001BE78) | 0x8001BE78 [func_8001C05C](@ref func_8001C05C) | 0x8001C05C [func_8001C14C](@ref func_8001C14C) | 0x8001C14C @@ -5097,7 +5097,7 @@ Variable Name | Memory Address [render_dks_jungle_parkway](@ref render_dks_jungle_parkway) | 0x80295310 [render_big_donut](@ref render_big_donut) | 0x802954E8 [func_8029569C](@ref func_8029569C) | 0x8029569C -[func_80295A38](@ref func_80295A38) | 0x80295A38 +[render_course](@ref render_course) | 0x80295A38 [func_80295BF8](@ref func_80295BF8) | 0x80295BF8 [func_80295C6C](@ref func_80295C6C) | 0x80295C6C [func_80295D50](@ref func_80295D50) | 0x80295D50 @@ -5357,7 +5357,7 @@ Variable Name | Memory Address [find_vtx_and_set_colours](@ref find_vtx_and_set_colours) | 0x802AF8BC [subtract_scaled_vector](@ref subtract_scaled_vector) | 0x802AF9F0 [process_collision](@ref process_collision) | 0x802AFA34 -[func_802B0210](@ref func_802B0210) | 0x802B0210 +[copy_collision](@ref copy_collision) | 0x802B0210 [func_802B02B4](@ref func_802B02B4) | 0x802B02B4 [func_802B039C](@ref func_802B039C) | 0x802B039C [func_802B0464](@ref func_802B0464) | 0x802B0464 @@ -5380,7 +5380,7 @@ Variable Name | Memory Address [use_fake_itembox_item](@ref use_fake_itembox_item) | 0x802B2C40 [use_banana_item](@ref use_banana_item) | 0x802B2D70 [use_thunder_item](@ref use_thunder_item) | 0x802B2EBC -[func_802B2FA0](@ref func_802B2FA0) | 0x802B2FA0 +[player_use_item](@ref player_use_item) | 0x802B2FA0 [func_802B30EC](@ref func_802B30EC) | 0x802B30EC [update_actor_green_shell](@ref update_actor_green_shell) | 0x802B32C4 [func_802B3B44](@ref func_802B3B44) | 0x802B3B44