diff options
| author | coco875 <59367621+coco875@users.noreply.github.com> | 2025-12-16 17:55:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-16 09:55:37 -0700 |
| commit | 1a5c79b641517e38d6a2925ba1f332dffdafc1e8 (patch) | |
| tree | 5c9e0844e2839651cd89c9134e9e725e02680160 /src | |
| parent | 6b8be33a5bc5f26c425095d8c3d0b9caa7e91ae6 (diff) | |
Player bitflag attributes (pr 750 from the decomp) (#592)
* Player bitflag attributes (pr 750 from the decomp)
Co-Authored-By: Jed Grabman <JedGrabman@users.noreply.github.com>
* remove WATER_NO_INTERACTION
---------
Co-authored-by: Jed Grabman <JedGrabman@users.noreply.github.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/actors/fake_item_box/update.inc.c | 7 | ||||
| -rw-r--r-- | src/audio/external.c | 18 | ||||
| -rw-r--r-- | src/camera.c | 16 | ||||
| -rw-r--r-- | src/code_80005FD0.c | 26 | ||||
| -rw-r--r-- | src/code_8003DC40.c | 4 | ||||
| -rw-r--r-- | src/code_80057C60.c | 122 | ||||
| -rw-r--r-- | src/effects.c | 144 | ||||
| -rw-r--r-- | src/engine/objects/BombKart.cpp | 2 | ||||
| -rw-r--r-- | src/engine/objects/Lakitu.cpp | 30 | ||||
| -rw-r--r-- | src/engine/objects/Mole.cpp | 4 | ||||
| -rw-r--r-- | src/engine/objects/Thwomp.cpp | 8 | ||||
| -rw-r--r-- | src/kart_dma.c | 4 | ||||
| -rw-r--r-- | src/player_controller.c | 250 | ||||
| -rw-r--r-- | src/racing/actors.c | 14 | ||||
| -rw-r--r-- | src/racing/actors_extended.c | 4 | ||||
| -rw-r--r-- | src/racing/math_util.h | 2 | ||||
| -rw-r--r-- | src/racing/race_logic.c | 2 | ||||
| -rw-r--r-- | src/render_player.c | 54 | ||||
| -rw-r--r-- | src/replays.c | 4 | ||||
| -rw-r--r-- | src/spawn_players.c | 12 |
20 files changed, 366 insertions, 361 deletions
diff --git a/src/actors/fake_item_box/update.inc.c b/src/actors/fake_item_box/update.inc.c index 48fbedf50..f49a366e2 100644 --- a/src/actors/fake_item_box/update.inc.c +++ b/src/actors/fake_item_box/update.inc.c @@ -1,3 +1,8 @@ +#include "actors_extended.h" +#include "collision.h" +#include "defines.h" +#include "external.h" +#include "sounds.h" #include <actors.h> #include <main.h> @@ -40,7 +45,7 @@ void update_actor_fake_item_box(struct FakeItemBox* fake_item_box) { fake_item_box->pos[1], fake_item_box->pos[2]); func_802B4E30((struct Actor*) fake_item_box); temp_v1_3 = &gControllers[temp_v1]; - if ((temp_v0_4->type & 0x4000) != 0) { + if ((temp_v0_4->type & PLAYER_HUMAN) != 0) { if ((temp_v1_3->buttonDepressed & Z_TRIG) != 0) { temp_v1_3->buttonDepressed &= 0xDFFF; diff --git a/src/audio/external.c b/src/audio/external.c index 99848cb6c..7aca5e550 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -595,7 +595,7 @@ void func_800C2474(void) { gPlayers[var_v0].unk_20C = 0.0f; gPlayers[var_v0].unk_0C0 = 0; gPlayers[var_v0].unk_098 = 0.0f; - gPlayers[var_v0].waterInteractionFlags = WATER_NO_INTERACTION; + gPlayers[var_v0].oobProps = 0; D_8018FC10[var_v0][0] = 0x00FF; D_8018FC10[var_v0][1] = 0; D_800EA10C[var_v0] = 0; @@ -1835,7 +1835,7 @@ void func_800C5CB8(void) { } void func_800C5D04(u8 playerId) { - if ((gPlayers[playerId].unk_044 & 0x20) == 0x20) { + if ((gPlayers[playerId].kartProps & THROTTLE) == THROTTLE) { D_800E9E34[playerId] = 0; if (D_800E9E24[playerId] < 0x4E20) { if ((u8) D_800EA16C == 0) { @@ -1864,7 +1864,7 @@ void func_800C5D04(u8 playerId) { void func_800C5E38(u8 playerId) { if (D_800EA108 == 0) { - if (((gPlayers[playerId].unk_044 & 0x20) != 0x20) && (gPlayers[playerId].unk_098 > 400.0f)) { + if (((gPlayers[playerId].kartProps & THROTTLE) != THROTTLE) && (gPlayers[playerId].unk_098 > 400.0f)) { D_800E9E14[playerId] = 1; if (D_800EA0EC[playerId] == 0) { D_800E9F7C[playerId].unk_10 = 0.6f - D_800E9F54[playerId]; @@ -1916,7 +1916,7 @@ void func_800C6108(u8 playerId) { player = &gPlayers[playerId]; D_800E9E64[playerId] = (player->unk_098 / D_800E9DC4[playerId]) + D_800E9DD4[playerId]; - if ((player->unk_098 < 1800.0f) && ((player->unk_044 & 0x20) != 0x20)) { + if ((player->unk_098 < 1800.0f) && ((player->kartProps & THROTTLE) != THROTTLE)) { D_800E9E64[playerId] = (player->unk_098 / D_800E9F7C[playerId].unk_34) + D_800E9F7C[playerId].unk_28; if (D_800E9EC4) {} // ? } @@ -2014,7 +2014,7 @@ void func_800C64A0(u8 playerId) { if (D_800E9EF4[playerId] < 0.0f) { D_800E9EF4[playerId] = 0.0f; } - if ((gPlayers[playerId].unk_044 & 0x20) == 0x20) { + if ((gPlayers[playerId].kartProps & THROTTLE) == THROTTLE) { D_800E9F04[playerId] = 0.56f - (D_800E9E24[playerId] * 0.06f); } else { D_800E9F04[playerId] = (D_800E9E34[playerId] / 50.0f) + 0.25f; @@ -2390,12 +2390,12 @@ void func_800C70A8(u8 playerId) { (D_800E9E74[playerId] != 0x0000001C)) { D_800E9E74[playerId] = 0; } - if ((((gPlayers[playerId].effects & 0x4000) == 0x4000) && ((gPlayers[playerId].type & 0x2000) != 0x2000)) || + if ((((gPlayers[playerId].effects & 0x4000) == 0x4000) && ((gPlayers[playerId].type & PLAYER_START_SEQUENCE) != PLAYER_START_SEQUENCE)) || ((gPlayers[playerId].effects & 0x800) == 0x800) || ((gPlayers[playerId].effects & 0x80) == 0x80) || - ((gPlayers[playerId].effects & 0x40) == 0x40) || ((gPlayers[playerId].unk_044 & 0x4000) == 0x4000)) { + ((gPlayers[playerId].effects & 0x40) == 0x40) || ((gPlayers[playerId].kartProps & DRIVING_SPINOUT) == DRIVING_SPINOUT)) { D_800E9E74[playerId] = 0x00000012; } - if ((((gPlayers[playerId].effects & 0x20) == 0x20) && ((gPlayers[playerId].type & 0x2000) != 0x2000)) || + if ((((gPlayers[playerId].effects & 0x20) == 0x20) && ((gPlayers[playerId].type & PLAYER_START_SEQUENCE) != PLAYER_START_SEQUENCE)) || ((gPlayers[playerId].effects & 0x800) == 0x800)) { D_800E9E74[playerId] = 0x00000013; } @@ -2686,7 +2686,7 @@ void func_800C76C0(u8 playerId) { } void func_800C847C(u8 playerId) { - if ((gPlayers[playerId].waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) == WATER_IS_FULLY_SUBMERGED) { + if ((gPlayers[playerId].oobProps & UNDER_OOB_OR_FLUID_LEVEL) == UNDER_OOB_OR_FLUID_LEVEL) { if (D_800E9F74[playerId] == 0) { if ((s32) D_800EA1C0 < 2) { func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xF9, 0x26)); diff --git a/src/camera.c b/src/camera.c index 8526b1f18..17eca8d87 100644 --- a/src/camera.c +++ b/src/camera.c @@ -475,7 +475,7 @@ void func_8001CCEC(Player* player, Camera* camera, Vec3f arg2, f32* arg3, f32* a D_80164A78[index] = D_800DDB30[gActiveScreenMode]; } } - if ((player->unk_0CA & 0x100) == 0x100) { + if ((player->lakituProps & WENT_OVER_OOB) == WENT_OVER_OOB) { switch (gActiveScreenMode) { case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: @@ -545,7 +545,7 @@ void func_8001CCEC(Player* player, Camera* camera, Vec3f arg2, f32* arg3, f32* a *arg4 = camera->pos[1] + (((y - camera->pos[1]) * 0.15)); } - if ((player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) != 0) { + if ((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) != 0) { *arg4 = gPlayerWaterLevel[index]; } } @@ -590,7 +590,7 @@ void func_8001D53C(Player* player, Camera* camera, Vec3f arg2, f32* arg3, f32* a stackPadding0 = player->pos[0] + sp68[0]; stackPadding2 = player->pos[2] + sp68[2]; stackPadding1 = sp68[1] + (player->unk_074 + 1.5); - if ((player->unk_0CA & 1) == 1) { + if ((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) { stackPadding1 = sp68[1] + (thing + 10.0f); } *arg3 = stackPadding0; @@ -709,7 +709,7 @@ void func_8001D944(Player* player, Camera* camera, Vec3f arg2, f32* arg3, f32* a D_80164A78[index] = D_800DDB30[gActiveScreenMode]; } } - if ((player->unk_0CA & 0x100) == 0x100) { + if ((player->lakituProps & WENT_OVER_OOB) == WENT_OVER_OOB) { move_f32_towards(&D_80164A90[index], 15, 0.02f); move_f32_towards(&D_80164AA0[index], 20, 0.02f); @@ -765,7 +765,7 @@ void func_8001D944(Player* player, Camera* camera, Vec3f arg2, f32* arg3, f32* a *arg4 = camera->pos[1] + (((y - camera->pos[1]) * 0.15)); } - if ((player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) != 0) { + if ((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) != 0) { *arg4 = gPlayerWaterLevel[index]; } } @@ -1109,7 +1109,7 @@ void func_8001EE98(Player* player, Camera* camera, s8 index) { func_8001A588(&camera->mode, camera, player, index, cameraIndex); break; case 1: // player camera - if (((player->unk_0CA & 1) == 1) || ((player->unk_0CA & 2) == 2)) { + if (((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) || ((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU)) { func_8001E8E8(camera, player, index); break; } @@ -1120,7 +1120,7 @@ void func_8001EE98(Player* player, Camera* camera, s8 index) { func_8001F87C(cameraIndex); break; case 9: - if (((player->unk_0CA & 1) == 1) || ((player->unk_0CA & 2) == 2)) { + if (((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) || ((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU)) { func_8001E8E8(camera, player, index); break; } @@ -1269,7 +1269,7 @@ void func_8001F87C(s32 cameraId) { if (gActiveScreenMode == SCREEN_MODE_1P) { if (gModeSelection == GRAND_PRIX) { for (size_t i = 0; i < NUM_PLAYERS; i++) { - if ((gPlayerOne[i].type & 0x200) || (gPlayerOne[i].type & 0x80)) { + if ((gPlayerOne[i].type & PLAYER_STAGING) || (gPlayerOne[i].type & PLAYER_UNKNOWN_0x80)) { break; } if (i == PLAYER_EIGHT) { diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index ee25db35c..5c597c9e4 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -1226,7 +1226,7 @@ bool func_800088D8(s32 playerId, s16 lapNum, s16 arg2) { return true; } player = &gPlayers[playerId]; - if (player->type & 0x4000) { + if (player->type & PLAYER_HUMAN) { return true; } @@ -1641,7 +1641,7 @@ void update_player(s32 playerId) { if (gTrackMaxZ < player->pos[2]) { D_801633E0[playerId] = 4; } // clang-format on - if (!(player->unk_0CA & 2) && !(player->unk_0CA & 8)) { + if (!(player->lakituProps & HELD_BY_LAKITU) && !(player->lakituProps & LAKITU_SCENE)) { gPlayerPathIndex = gPathIndexByPlayerId[playerId]; set_current_path(gPlayerPathIndex); @@ -1669,7 +1669,7 @@ void update_player(s32 playerId) { // } if (player->type & PLAYER_CINEMATIC_MODE) { player->effects &= ~REVERSE_EFFECT; - player->unk_044 &= ~1; + player->kartProps &= ~BACK_UP; } update_player_path_completion(playerId, player); if ((!IsPodiumCeremony()) && ((D_80163240[playerId] == 1) || (playerId == 0))) { @@ -2570,7 +2570,7 @@ s16 update_player_path(f32 posX, f32 posY, f32 posZ, s16 waypointIndex, Player* UNUSED s32 stackPadding2; TrackPathPoint* temp_v1; - if ((player->type & 0x4000) && !(player->type & 0x1000)) { + if ((player->type & PLAYER_HUMAN) && !(player->type & PLAYER_CPU)) { newWaypoint = update_path_index_with_track(posX, posY, posZ, waypointIndex, pathIndex, (u16) get_track_section_id(player->collision.meshIndexZX)); if (newWaypoint == -1) { @@ -2578,12 +2578,12 @@ s16 update_player_path(f32 posX, f32 posY, f32 posZ, s16 waypointIndex, Player* } } else { if (D_801631E0[playerId] == 1) { - if (player->unk_0CA & 1) { + if (player->lakituProps & LAKITU_RETRIEVAL) { temp_v1 = &gTrackPaths[pathIndex][waypointIndex]; player->pos[0] = (f32) temp_v1->x; player->pos[1] = (f32) temp_v1->y; player->pos[2] = (f32) temp_v1->z; - player->unk_0CA &= ~0x0001; + player->lakituProps &= ~LAKITU_RETRIEVAL; return waypointIndex; } if (playerId == ((s32) D_80163488 % 8)) { @@ -3115,7 +3115,7 @@ void func_8000DF8C(s32 bombKartId) { var_s1 = 0; sp7E = 4; var_v0->triggers |= VERTICAL_TUMBLE_TRIGGER; - var_v0->type &= ~0x2000; + var_v0->type &= ~PLAYER_STAGING; } } } else { @@ -6969,7 +6969,7 @@ void func_8001A588(UNUSED u16* localD_80152300, Camera* camera, Player* player, if (playerId >= 8) { playerId = 1; } - if ((!(gPlayers[playerId].unk_0CA & 2) && !(gPlayers[playerId].unk_0CA & 8))) { + if ((!(gPlayers[playerId].lakituProps & HELD_BY_LAKITU) && !(gPlayers[playerId].lakituProps & LAKITU_SCENE))) { break; } } @@ -7863,26 +7863,26 @@ void func_8001C14C(void) { player = &gPlayerOne[var_s1]; update_player(var_s1); - if (!(player->type & 0x2000)) { + if (!(player->type & PLAYER_START_SEQUENCE)) { temp_f0 = D_80163418[var_s1] - player->pos[0]; temp_f2 = D_80163438[var_s1] - player->pos[2]; if ((f64) ((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 1.0) { if (var_s1 != 3) { if (1) {} // Why oh why is a ternary required here? Who does that? - (D_8016347C == 0) ? (player->type |= 0x2000) : (player->type &= ~0x2000); - if ((gPlayerOne->type & 0x2000) && (gPlayerTwo->type & 0x2000) && (gPlayerThree->type & 0x2000)) { + (D_8016347C == 0) ? (player->type |= PLAYER_START_SEQUENCE) : (player->type &= ~PLAYER_START_SEQUENCE); + if ((gPlayerOne->type & PLAYER_START_SEQUENCE) && (gPlayerTwo->type & PLAYER_START_SEQUENCE) && (gPlayerThree->type & PLAYER_START_SEQUENCE)) { D_8016347C = 1; D_80163480 = 0; } } else if (D_8016347E == 0) { if (!(player->effects & 0x01000000)) { - player->type |= 0x2000; + player->type |= PLAYER_START_SEQUENCE; } D_8016347E = 1; D_80163484 = 0; } else if (!(player->effects & 0x01000000)) { - player->type |= 0x2000; + player->type |= PLAYER_START_SEQUENCE; } } } diff --git a/src/code_8003DC40.c b/src/code_8003DC40.c index 4d459cbb5..f4c425ce7 100644 --- a/src/code_8003DC40.c +++ b/src/code_8003DC40.c @@ -197,7 +197,7 @@ void func_8003F138(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4 *arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1; func_8002A5F4(arg1, *arg4, arg2, 0.5f, 2); if (player->surfaceType == GRASS) { - player->unk_044 &= ~1; + player->kartProps &= ~BACK_UP; } if (player->collision.orientationVector[1] <= 0.8357f) { arg3[0] = ((player->unk_206 / 182) * 0xC8); @@ -222,7 +222,7 @@ void func_8003F46C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4 arg1[0] = -player->collision.orientationVector[0]; arg1[1] = -player->collision.orientationVector[1]; arg1[2] = -player->collision.orientationVector[2]; - if ((player->collision.orientationVector[1] < 0.0f) && ((player->unk_0CA & 2) == 0)) { + if ((player->collision.orientationVector[1] < 0.0f) && ((player->lakituProps & HELD_BY_LAKITU) == 0)) { *arg5 += arg1[0] * player->collision.surfaceDistance[2] * 1; *arg6 += arg1[1] * player->collision.surfaceDistance[2] * 1; *arg7 += arg1[2] * player->collision.surfaceDistance[2] * 1; diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 94b8005f8..76e67b4c0 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -3249,7 +3249,7 @@ void func_80060504(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 s32 temp_v0; UNUSED s32 test; - if ((player->unk_044 & 0x20) == 0x20) { + if ((player->kartProps & THROTTLE) == THROTTLE) { var_v0 = 5; } else { var_v0 = 0xE; @@ -3272,7 +3272,7 @@ void func_80060504(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 } } player->particlePool0[arg1].unk_024 = 0.0f; - if ((player->unk_044 & 0x20) == 0x20) { + if ((player->kartProps & THROTTLE) == THROTTLE) { player->particlePool0[arg1].unk_040 = 0; if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) { set_particle_colour(&player->particlePool0[arg1], 0x00FFFF00, 0x0080); @@ -3317,7 +3317,7 @@ void func_800608E0(Player* player, s16 arg1, UNUSED s32 arg2, s8 arg3, UNUSED s8 var_f0 = 0.0f; } sp4C = (gPlayerWaterLevel[arg3] - player->pos[1]) - 3.0f; - if ((player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) && (!IsKoopaTroopaBeach())) { + if ((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) && (!IsKoopaTroopaBeach())) { var_f0 = 2.5f; sp4C = (f32) ((f64) (gPlayerWaterLevel[arg3] - player->pos[1]) + 0.1); } @@ -3404,7 +3404,7 @@ void func_80060F50(Player* player, s16 arg1, UNUSED s32 arg2, s8 arg3, UNUSED s8 player->particlePool0[arg1].pos[0] = player->pos[0] + (sins(player->particlePool0[arg1].unk_020) * -5.8); player->particlePool0[arg1].pos[1] = gPlayerWaterLevel[arg3]; - player->waterInteractionFlags &= ~WATER_JUST_ENTERED_DEEP_LIQUID; + player->oobProps &= ~UNDER_OOB_LEVEL; } void func_80061094(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { @@ -3439,7 +3439,7 @@ void func_80061224(Player* player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) { } else if (player->particlePool0[arg2].unk_01E >= 2) { func_80061130(player, arg1, arg2, arg3, arg4); if (arg1 == 9) { - player->unk_044 &= ~0x0200; + player->kartProps &= ~BECOME_INVISIBLE; } } } @@ -3479,7 +3479,7 @@ void func_80061430(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a player->particlePool3[var_s2].pos[2] = player->pos[2]; player->particlePool3[var_s2].pos[0] = player->pos[0]; } - player->unk_044 &= ~0x1000; + player->kartProps &= ~UNUSED_0x1000; } void func_800615AC(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { @@ -3767,42 +3767,42 @@ void func_800624D8(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a } func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; case GRASS: for (var_s1 = 0; var_s1 < 10; var_s1++) { func_8005DAD8(&player->particlePool3[var_s1], 2, 1, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; case SAND_OFFROAD: for (var_s1 = 0; var_s1 < 10; var_s1++) { func_8005DAD8(&player->particlePool3[var_s1], 2, 1, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; case SAND: for (var_s1 = 0; var_s1 < 10; var_s1++) { func_8005DAD8(&player->particlePool3[var_s1], 3, 1, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; case WET_SAND: for (var_s1 = 0; var_s1 < 10; var_s1++) { func_8005DAD8(&player->particlePool3[var_s1], 4, 1, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; case DIRT_OFFROAD: for (var_s1 = 0; var_s1 < 10; var_s1++) { func_8005DAD8(&player->particlePool3[var_s1], 5, 1, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; case SNOW: case SNOW_OFFROAD: @@ -3810,7 +3810,7 @@ void func_800624D8(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a func_8005DAD8(&player->particlePool3[var_s1], 6, 1, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; case ASPHALT: case STONE: @@ -3819,14 +3819,14 @@ void func_800624D8(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a func_8005DAD8(&player->particlePool3[var_s1], 0, 0, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; default: for (var_s1 = 0; var_s1 < 10; var_s1++) { func_8005DAD8(&player->particlePool3[var_s1], 0, 0, 0x00A8); func_80062484(player, &player->particlePool3[var_s1], var_s1); } - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; break; } } @@ -3870,7 +3870,7 @@ void func_80062A18(Player* player, s8 arg1, UNUSED s8 arg2, s8 index) { player->particlePool2[arg1 /* arg1 instead of arg3 */].scale = 0.2f; player->particlePool2[index].unk_01E = 1; player->particlePool2[index].unk_020 = 0; - player->unk_0B6 &= ~0x0080; + player->kartGraphics &= ~WHIRRR; player->particlePool2[index].pos[2] = player->pos[2]; player->particlePool2[index].pos[0] = player->pos[0]; player->particlePool2[index].pos[1] = (player->pos[1] + 4.0f); @@ -3981,7 +3981,7 @@ void func_80062F98(Player* player, s16 arg1, s8 arg2, UNUSED s8 arg3) { temp_f0 = player->particlePool1[arg1].unk_018 / 10.0f; ++player->particlePool1[arg1].unk_01E; player->particlePool1[arg1].pos[1] += temp_f0; - if ((player->unk_0CA & 1) == 1) { + if ((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) { player->particlePool1[arg1].pos[1] += (temp_f0 + 0.3); if ((player->particlePool1[arg1].unk_01E == 0x10) || ((gPlayerWaterLevel[arg2] - player->particlePool1[arg1].pos[1]) < 3.0f)) { @@ -4321,7 +4321,7 @@ void func_80064184(Player* player, s16 arg1, s8 arg2, UNUSED s8 arg3) { f32 sp3C; sp40 = gPlayerWaterLevel[arg2] - player->pos[1] - 3.0f; - if (((player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) != 0) && (!IsKoopaTroopaBeach())) { + if (((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) != 0) && (!IsKoopaTroopaBeach())) { sp40 = gPlayerWaterLevel[arg2] - player->pos[1] + 0.1; } @@ -4570,7 +4570,7 @@ void func_80064DEC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { ++player->particlePool2[index].unk_01E; if (player->particlePool2[index].unk_01E == 9) { - player->unk_0B6 &= ~0x0040; + player->kartGraphics &= ~CRASH; player->particlePool2[index].isAlive = 0; player->particlePool2[index].unk_01E = 0; player->particlePool2[index].type = 0; @@ -4592,7 +4592,7 @@ void func_80064EA4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { } else { player->particlePool2[index].scale -= 1.8; if (player->particlePool2[index].scale <= 0.0f) { - player->unk_0B6 &= ~0x1000; + player->kartGraphics &= ~EXPLOSION; player->particlePool2[index].isAlive = 0; player->particlePool2[index].unk_01E = 0; player->particlePool2[index].type = 0; @@ -4608,7 +4608,7 @@ void func_80064F88(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { player->particlePool2[index].scale = 1.2f; } if (player->particlePool2[index].unk_01E >= 12) { - player->unk_0B6 &= ~0x0800; + player->kartGraphics &= ~BOING; player->particlePool2[index].isAlive = 0; player->particlePool2[index].unk_01E = 0; player->particlePool2[index].type = 0; @@ -4625,7 +4625,7 @@ void func_80065030(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { } if (player->particlePool2[index].unk_01E >= 12) { - player->unk_0B6 &= ~0x0100; + player->kartGraphics &= ~POOMP; player->particlePool2[index].isAlive = 0; player->particlePool2[index].unk_01E = 0; player->particlePool2[index].type = 0; @@ -4664,7 +4664,7 @@ void func_800651F4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { } else { player->particlePool2[index].scale -= 0.4; if (player->particlePool2[index].scale <= 0.0f) { - player->unk_0B6 &= ~0x0020; + player->kartGraphics &= ~WHISTLE; player->particlePool2[index].isAlive = 0; player->particlePool2[index].unk_01E = 0; player->particlePool2[index].type = 0; @@ -6048,7 +6048,7 @@ void func_8006C6AC(Player* player, s16 particleIndex, s8 arg2, s8 arg3) { break; } } else { - if (player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) { + if (player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) { func_80060BCC(player, particleIndex, sp28, arg2_copy, arg3); } else if (!(player->effects & 8) && !(player->effects & 2)) { if (((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) && @@ -6060,7 +6060,7 @@ void func_8006C6AC(Player* player, s16 particleIndex, s8 arg2, s8 arg3) { } else if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40)) { func_8005F90C(player, particleIndex, sp28, arg2_copy, arg3); } else if (((player->effects & 0x4000) && !(player->type & PLAYER_START_SEQUENCE)) || - (player->effects & 0x800) || (player->effects & 0x20) || (player->unk_044 & 0x4000)) { + (player->effects & 0x800) || (player->effects & 0x20) || (player->kartProps & DRIVING_SPINOUT)) { func_8005ED48(player, particleIndex, sp28, arg2_copy, arg3); } else { setup_tyre_particles(player, particleIndex, sp28, arg2_copy, arg3); @@ -6118,40 +6118,40 @@ void func_8006C9B8(Player* player, s16 arg1, s8 arg2, s8 arg3) { break; } } else { - if (player->unk_044 & 0x1000) { + if (player->kartProps & UNUSED_0x1000) { func_80061430(player, arg1, sp28, arg2, arg3); - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; return; } - if (((((player->unk_0CA & 0x1000) == 0x1000) || ((player->unk_0E0 < 2) && (player->effects & 0x01000000))) || + if (((((player->lakituProps & LAKITU_LAVA) == LAKITU_LAVA) || ((player->unk_0E0 < 2) && (player->effects & 0x01000000))) || ((player->unk_0E0 < 2) && (player->effects & HIT_BY_ITEM_EFFECT))) || (player->effects & 0x400)) { func_8006199C(player, arg1, sp28, arg2, arg3); player->unk_046 &= ~0x0008; - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; return; } - if ((player->unk_0CA & 0x2000) == 0x2000) { + if ((player->lakituProps & LAKITU_WATER) == LAKITU_WATER) { func_80061A34(player, arg1, sp28, arg2, arg3); player->unk_046 &= ~0x0008; - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; return; } if ((player->effects & STAR_EFFECT) && ((((s32) gCourseTimer) - gPlayerStarEffectStartTime[arg2]) < 9)) { func_800615AC(player, arg1, sp28, arg2, arg3); player->unk_046 &= ~0x0008; - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; return; } if ((player->unk_046 & 8) == 8) { func_800612F8(player, arg1, sp28, arg2, arg3); - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; return; } if (((player->unk_046 & 0x20) == 0x20) && (((player->speed / 18.0f) * 216.0f) >= 20.0f)) { func_80061D4C(player, arg1, sp28, arg2, arg3); player->unk_046 &= ~0x0008; - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; return; } if ((player->effects & BOOST_EFFECT) && (player->type & PLAYER_HUMAN)) { @@ -6162,10 +6162,10 @@ void func_8006C9B8(Player* player, s16 arg1, s8 arg2, s8 arg3) { ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) { func_80061EF4(player, arg1, sp28, arg2, arg3); player->unk_046 &= ~0x0008; - player->unk_044 &= ~0x0100; + player->kartProps &= ~POST_TUMBLE_GAS; return; } - if ((player->unk_044 & 0x100) == 0x100) { + if ((player->kartProps & POST_TUMBLE_GAS) == POST_TUMBLE_GAS) { func_800624D8(player, arg1, sp28, arg2, arg3); player->unk_046 &= ~0x0008; } @@ -6197,17 +6197,17 @@ void func_8006CEC0(Player* player, s16 arg1, s8 arg2, s8 arg3) { break; } } else { - if ((player->unk_044 & 0x200) && (player->type & 0x4000)) { + if ((player->kartProps & BECOME_INVISIBLE) && (player->type & PLAYER_HUMAN)) { func_80061224(player, arg1, sp20, arg2, arg3); return; - } else if (((player->effects & 0x40000000) == 0x40000000) && (player->unk_0B0 < 0x32)) { + } else if (((player->effects & LIGHTNING_EFFECT) == LIGHTNING_EFFECT) && (player->unk_0B0 < 0x32)) { func_80061094(player, arg1, sp20, arg2, arg3); return; - } else if ((player->type & 0x4000) == 0x4000) { - if ((player->waterInteractionFlags & WATER_JUST_ENTERED_DEEP_LIQUID) == WATER_JUST_ENTERED_DEEP_LIQUID) { + } else if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { + if ((player->oobProps & UNDER_OOB_LEVEL) == UNDER_OOB_LEVEL) { func_80060F50(player, arg1, sp20, arg2, arg3); return; - } else if ((player->waterInteractionFlags & WATER_IS_PARTIALLY_SUBMERGED) || (player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED)) { + } else if ((player->oobProps & PASS_OOB_OR_FLUID_LEVEL) || (player->oobProps & UNDER_OOB_OR_FLUID_LEVEL)) { func_80060B14(player, arg1, sp20, arg2, arg3); return; } @@ -6216,7 +6216,7 @@ void func_8006CEC0(Player* player, s16 arg1, s8 arg2, s8 arg3) { case SCREEN_MODE_1P: if (((player->effects & 0x04000000) != 0x04000000) && ((player->effects & 0x400) != 0x400) && ((player->effects & 0x01000000) != 0x01000000)) { - if (((player->unk_0CA & 2) != 2) && ((player->unk_0CA & 0x10) != 0x10) && !(player->unk_0CA & 0x100)) { + if (((player->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU) && ((player->lakituProps & FRIGID_EFFECT) != FRIGID_EFFECT) && !(player->lakituProps & WENT_OVER_OOB)) { func_80060504(player, arg1, sp20, arg2, arg3); } } @@ -6226,9 +6226,9 @@ void func_8006CEC0(Player* player, s16 arg1, s8 arg2, s8 arg3) { case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: case SCREEN_MODE_3P_4P_SPLITSCREEN: - if (((player->type & 0x4000) != 0) && ((player->effects & 0x04000000) != 0x04000000) && + if (((player->type & PLAYER_HUMAN) != 0) && ((player->effects & 0x04000000) != 0x04000000) && ((player->effects & 0x400) != 0x400) && ((player->effects & 0x01000000) != 0x01000000)) { - if (((player->unk_0CA & 2) != 2) && ((player->unk_0CA & 0x10) != 0x10) && !(player->unk_0CA & 0x100)) { + if (((player->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU) && ((player->lakituProps & FRIGID_EFFECT) != FRIGID_EFFECT) && !(player->lakituProps & WENT_OVER_OOB)) { func_80060504(player, arg1, sp20, arg2, arg3); } } @@ -6238,8 +6238,8 @@ void func_8006CEC0(Player* player, s16 arg1, s8 arg2, s8 arg3) { } void func_8006D194(Player* player, s8 arg1, s8 arg2) { - if (player->particlePool0[0x14].isAlive == 1) { - switch (player->particlePool0[0x14].type) { + if (player->particlePool2[0].isAlive == 1) { + switch (player->particlePool2[0].type) { case 2: func_80064DEC(player, arg1, arg2, 0); break; @@ -6257,34 +6257,34 @@ void func_8006D194(Player* player, s8 arg1, s8 arg2) { break; } } else { - if ((player->unk_0B6 & 0x40) == 0x40) { + if ((player->kartGraphics & CRASH) == CRASH) { func_800628C0(player, arg1, arg2, 0); } - if ((player->unk_0B6 & 0x800) == 0x800) { + if ((player->kartGraphics & BOING) == BOING) { func_80062968(player, arg1, arg2, 0); } - if ((player->unk_0B6 & 0x1000) == 0x1000) { + if ((player->kartGraphics & EXPLOSION) == EXPLOSION) { func_80062914(player, arg1, arg2, 0); } - if ((player->unk_0B6 & 0x80) == 0x80) { + if ((player->kartGraphics & WHIRRR) == WHIRRR) { func_80062A18(player, arg1, arg2, 0); } - if ((player->unk_0B6 & 0x100) == 0x100) { + if ((player->kartGraphics & POOMP) == POOMP) { func_800629BC(player, arg1, arg2, 0); } } - if (player->particlePool0[0x15].isAlive == 1) { - if (player->particlePool0[0x15].type == 5) { + if (player->particlePool2[1].isAlive == 1) { + if (player->particlePool2[1].type == 5) { func_800651F4(player, arg1, arg2, 1); } - } else if ((player->unk_0B6 & 0x20) == 0x20) { + } else if ((player->kartGraphics & WHISTLE) == WHISTLE) { func_80062AA8(player, arg1, arg2, 1); } } void func_8006D474(Player* player, s8 playerId, s8 screenId) { s16 var_s2; - if ((player->unk_002 & (8 << (screenId * 4))) == (8 << (screenId * 4))) { + if ((player->unk_002 & (SIDE_OF_KART << (screenId * 4))) == (SIDE_OF_KART << (screenId * 4))) { for (var_s2 = 0; var_s2 < 10; var_s2++) { // @port: Tag the transform. FrameInterpolation_RecordOpenChild("SmokeDust", TAG_SMOKE_DUST((playerId << 8) + var_s2)); @@ -6418,7 +6418,7 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) { FrameInterpolation_RecordCloseChild(); } } - if ((gModeSelection == BATTLE) && (player->unk_002 & (2 << (screenId * 4)))) { + if ((gModeSelection == BATTLE) && (player->unk_002 & (UNK_002_UNKNOWN_0x2 << (screenId * 4)))) { func_8006BA94(player, playerId, screenId); } } @@ -6427,7 +6427,7 @@ void func_8006DC54(Player* player, s8 arg1, s8 arg2) { s16 i; s32 bitwiseMask; - bitwiseMask = 8 << (arg2 * 4); + bitwiseMask = SIDE_OF_KART << (arg2 * 4); if (bitwiseMask == (player->unk_002 & bitwiseMask)) { for (i = 0; i < 10; i++) { if (player->particlePool0[i].type == 7) { @@ -6441,7 +6441,7 @@ void func_8006DD3C(Player* player, s8 playerId, s8 arg2) { s16 temp_s0; s32 temp_v0; - temp_v0 = 8 << (arg2 * 4); + temp_v0 = SIDE_OF_KART << (arg2 * 4); if (temp_v0 == (player->unk_002 & temp_v0)) { for (temp_s0 = 0; temp_s0 < 10; ++temp_s0) { temp_v0 = player->particlePool0[temp_s0].type; @@ -6458,7 +6458,7 @@ void func_8006DD3C(Player* player, s8 playerId, s8 arg2) { } } - if (((player->type & 0x4000) == 0x4000) && (arg2 == playerId)) { + if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && (arg2 == playerId)) { FrameInterpolation_RecordOpenChild("onomatopoeia", TAG_SMOKE_DUST((playerId << 8) + 20)); switch (player->particlePool2[0].type) { case 2: @@ -6504,11 +6504,11 @@ void func_8006E058(void) { case TIME_TRIALS: func_8006E420(gPlayerOne, 0, 0); - if ((gPlayerTwo->type & 0x100) == 0x100) { + if ((gPlayerTwo->type & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) { func_8006E420(gPlayerTwo, 1, 0); } - if ((gPlayerThree->type & 0x100) == 0x100) { + if ((gPlayerThree->type & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) { func_8006E420(gPlayerThree, 2, 0); break; } diff --git a/src/effects.c b/src/effects.c index 03159f8d5..5fcfe5a43 100644 --- a/src/effects.c +++ b/src/effects.c @@ -136,7 +136,7 @@ UNUSED void func_unnamed33(void) { void func_8008C310(Player* player) { if ((player->triggers & HIGH_TUMBLE_TRIGGER) || (player->triggers & LOW_TUMBLE_TRIGGER) || ((player->triggers << 9) < 0) || (player->triggers & HIT_BY_STAR_TRIGGER)) { - player->unk_0B6 = ((u16) player->unk_0B6 | 0x1000); + player->kartGraphics = ((u16) player->kartGraphics | EXPLOSION); } } @@ -155,7 +155,7 @@ void clean_effect(Player* player, s8 arg1) { if ((player->effects & 0x800) == 0x800) { func_8008D0E4(player, arg1); } - if ((player->unk_044 & 0x4000) != 0) { + if ((player->kartProps & DRIVING_SPINOUT) != 0) { func_8008D3B0(player, arg1); } if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) { @@ -188,7 +188,7 @@ void clean_effect(Player* player, s8 arg1) { if ((player->effects & 0x10000000) == 0x10000000) { func_8008FEDC(player, arg1); } - player->unk_044 = (s16) (player->unk_044 & 0xFFFE); + player->kartProps = (s16) (player->kartProps & ~BACK_UP); player->effects = (s32) (player->effects & ~0x20); } @@ -266,7 +266,7 @@ void func_8008C73C(Player* player, s8 playerIndex) { player->effects |= 0x80; } - player->unk_0B6 |= 0x80; + player->kartGraphics |= WHIRRR; // clang-format off player->unk_0C0 = 0; player->unk_07C = 0; player->unk_078 = 0; player->unk_0AE = player->rotation[1]; player->unk_0B2 = 2; // clang-format on @@ -310,7 +310,7 @@ void func_8008C8C4(Player* player, s8 playerId) { player->currentSpeed = (f32) (player->currentSpeed + 100.0f); } if ((gModeSelection == VERSUS) && ((player->type & PLAYER_CPU) == PLAYER_CPU) && (!gDemoMode) && - ((player->unk_0CA & 2) == 0) && (gGPCurrentRaceRankByPlayerId[playerId] != 0)) { + ((player->lakituProps & HELD_BY_LAKITU) == 0) && (gGPCurrentRaceRankByPlayerId[playerId] != 0)) { player->triggers = (s32) (player->triggers | VERTICAL_TUMBLE_TRIGGER); } } @@ -411,7 +411,7 @@ void func_8008CEB0(Player* player, s8 arg1) { func_8008C73C(player, arg1); var_v1 = 0; } else { - player->unk_0B6 |= 0x20; + player->kartGraphics |= WHISTLE; player->effects &= ~0x40000; if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008008); @@ -448,8 +448,8 @@ void func_8008D0FC(Player* player, s8 arg1) { player->unk_0B4 = 0; player->unk_0B8 = 2.0f; player->unk_0AC = 1; - player->effects &= ~0x10; - player->unk_044 |= 0x4000; + player->effects &= ~DRIFTING_EFFECT; + player->kartProps |= DRIVING_SPINOUT; } void func_8008D170(Player* player, s8 arg1) { @@ -467,16 +467,16 @@ void func_8008D170(Player* player, s8 arg1) { var_v1 = 0; var_a3 = -var_a3; var_f0 *= 0.9; - if (((player->effects & 1) == 1) || !(player->unk_044 & 0x20)) { + if (((player->effects & 1) == 1) || !(player->kartProps & THROTTLE)) { player->effects |= 0x40000; } if (var_f0 <= 1.3) { - player->unk_044 &= ~0x4000; + player->kartProps &= ~DRIVING_SPINOUT; if ((player->effects & 0x40000) != 0x40000) { func_8008C73C(player, arg1); var_v1 = 0; } else { - player->unk_0B6 |= 0x20; + player->kartGraphics |= WHISTLE; player->effects &= ~0x40000; if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008008); @@ -498,12 +498,12 @@ void func_8008D170(Player* player, s8 arg1) { player->unk_0AC = var_a3; if (player->effects & 8) { func_8008C73C(player, arg1); - player->unk_044 &= ~0x4000; + player->kartProps &= ~DRIVING_SPINOUT; } } void func_8008D3B0(Player* player, UNUSED s8 arg1) { - player->unk_044 &= 0xBFFF; + player->kartProps &= ~DRIVING_SPINOUT; } void trigger_shroom(Player* player, s8 arg1) { @@ -609,7 +609,7 @@ void func_8008D760(Player* player) { player->rotation[1] = player->unk_0AE; player->effects &= 0xFFF7FFFF; player->kartGravity = gKartGravityTable[player->characterId]; - player->type &= 0xFF7F; + player->type &= ~PLAYER_UNKNOWN_0x80; } void func_8008D7B0(Player* player, s8 arg1) { @@ -713,7 +713,7 @@ void trigger_squish(Player* player, s8 arg1) { } player->effects |= HIT_EFFECT; - if (((player->type) & 0x1000) != 0) { + if (((player->type) & PLAYER_CPU) != 0) { play_cpu_sound_effect(arg1, player); } } @@ -957,7 +957,7 @@ void func_8008E4A4(Player* player, s8 arg1) { D_80165190[2][arg1] = 1; D_80165190[3][arg1] = 1; player->unk_042 = 0; - player->type &= ~0x80; + player->type &= ~PLAYER_UNKNOWN_0x80; if ((gIsPlayerTripleAButtonCombo[arg1] == true) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) { player->currentSpeed += 100.0f; @@ -986,7 +986,7 @@ void func_8008E4A4(Player* player, s8 arg1) { player->currentSpeed += 100.0f; } - player->type &= ~0x80; + player->type &= ~PLAYER_UNKNOWN_0x80; } } } @@ -1026,7 +1026,7 @@ void trigger_vertical_tumble(Player* player, s8 arg1) { } player->triggers &= ~(VERTICAL_TUMBLE_TRIGGER | HIT_PADDLE_BOAT_TRIGGER); - player->unk_0B6 |= 0x40; + player->kartGraphics |= CRASH; gTimerBoostTripleACombo[arg1] = 0; gIsPlayerTripleAButtonCombo[arg1] = false; gCountASwitch[arg1] = 0; @@ -1125,7 +1125,7 @@ void trigger_high_tumble(Player* player, s8 arg1) { } player->effects |= HIT_BY_ITEM_EFFECT; - player->unk_0B6 |= 0x40; + player->kartGraphics |= CRASH; player->triggers &= ~(HIT_BY_STAR_TRIGGER | HIGH_TUMBLE_TRIGGER); gTimerBoostTripleACombo[arg1] = 0; @@ -1161,7 +1161,7 @@ void trigger_asphalt_ramp_boost(Player* player, s8 playerId) { func_800C90F4(playerId, (player->characterId * 0x10) + 0x29008001); func_800C9060(playerId, 0x1900A40B); } - player->unk_044 &= ~0x1; + player->kartProps &= ~BACK_UP; player->effects &= ~0x20; } @@ -1209,7 +1209,7 @@ void trigger_wood_ramp_boost(Player* player, s8 playerId) { func_800C9060(playerId, 0x1900A40B); } - player->unk_044 &= ~0x1; + player->kartProps &= ~BACK_UP; player->effects &= ~0x20; } @@ -1257,14 +1257,14 @@ void func_8008F1B8(Player* player, s8 arg1) { player->kartPropulsionStrength = (player->unk_210 * 0.05); if (player->unk_0B2 < 0) { - if ((player->unk_044 & 0x80) == 0x80) { + if ((player->kartProps & EARLY_SPINOUT_LEFT) == EARLY_SPINOUT_LEFT) { player->rotation[1] += 182; D_8018D920[arg1] += 182; temp = ((u16) D_8018D920[arg1] / 182); if (temp == 180) { player->effects &= ~0x4000; - player->type &= ~0x80; + player->type &= ~PLAYER_UNKNOWN_0x80; player->currentSpeed /= 3.0f; } } else { @@ -1274,7 +1274,7 @@ void func_8008F1B8(Player* player, s8 arg1) { temp = ((u16) D_8018D920[arg1] / 182); if (temp == 180) { player->effects &= ~0x4000; - player->type &= ~0x80; + player->type &= ~PLAYER_UNKNOWN_0x80; player->currentSpeed /= 3.0f; } } @@ -1286,8 +1286,8 @@ void func_8008F1B8(Player* player, s8 arg1) { if (temp < 71) { --player->unk_0B2; } - player->unk_044 |= 0x80; - player->unk_044 &= ~0x40; + player->kartProps |= EARLY_SPINOUT_LEFT; + player->kartProps &= ~EARLY_SPINOUT_RIGHT; return; } player->rotation[1] += 364; @@ -1296,8 +1296,8 @@ void func_8008F1B8(Player* player, s8 arg1) { if (temp >= 110) { --player->unk_0B2; } - player->unk_044 |= 0x40; - player->unk_044 &= ~0x80; + player->kartProps |= EARLY_SPINOUT_RIGHT; + player->kartProps &= ~EARLY_SPINOUT_LEFT; } } @@ -1326,7 +1326,7 @@ void func_8008F494(Player* player, s8 arg1) { if ((((player->effects & 0x80) != 0) || ((player->effects & 0x40) != 0) || ((player->effects & 0x01000000)) || ((player->effects & HIT_BY_ITEM_EFFECT)) || ((player->effects & 0x400) != 0)) && (gModeSelection == BATTLE)) { - player->unk_044 |= 0x8000; + player->kartProps |= UNKNOWN_BATTLE_VAR; } clean_effect(player, arg1); @@ -1339,16 +1339,16 @@ void func_8008F494(Player* player, s8 arg1) { player->unk_042 = 0; if (((player->type & PLAYER_HUMAN) != 0) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) == 0) && - ((player->unk_0CA & 2) == 0) && ((player->waterInteractionFlags & 1) == 0) && ((player->waterInteractionFlags & 2) == 0)) { + ((player->lakituProps & HELD_BY_LAKITU) == 0) && ((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) == 0) && ((player->oobProps & PASS_OOB_OR_FLUID_LEVEL) == 0)) { func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008004); } } void func_8008F5A4(Player* player, s8 arg1) { - if ((player->unk_044 & 0x8000) != 0) { + if ((player->kartProps & UNKNOWN_BATTLE_VAR) != 0) { pop_player_balloon(player, arg1); - player->unk_044 &= ~0x8000; + player->kartProps &= ~UNKNOWN_BATTLE_VAR; } player->unk_206 = 0; @@ -1450,7 +1450,7 @@ void apply_boo_effect(Player* player, s8 playerIndex) { player->alpha = ALPHA_MAX; gPlayerOtherScreensAlpha[playerIndex] = ALPHA_MAX; player->effects &= ~0x80000000; - if ((player->type & 0x4000) != 0) { + if ((player->type & PLAYER_HUMAN) != 0) { func_800CB064(playerIndex); } } @@ -1460,7 +1460,7 @@ void apply_boo_effect(Player* player, s8 playerIndex) { gPlayerOtherScreensAlpha[playerIndex] = ALPHA_MAX; player->alpha = ALPHA_MAX; player->effects &= ~0x80000000; - if ((player->type & 0x4000) != 0) { + if ((player->type & PLAYER_HUMAN) != 0) { func_800CB064(playerIndex); } } @@ -1469,9 +1469,9 @@ void apply_boo_effect(Player* player, s8 playerIndex) { void trigger_boo(Player* player, s8 playerIndex) { s16 temp_v1; - + // become boo if ((player->type & PLAYER_HUMAN) != 0) { - player->unk_044 |= 0x200; + player->kartProps |= BECOME_INVISIBLE; for (temp_v1 = 0; temp_v1 < 10; ++temp_v1) { player->particlePool0[temp_v1].isAlive = 0; @@ -1499,7 +1499,7 @@ void func_8008FB30(Player* player, s8 playerIndex) { gPlayerOtherScreensAlpha[playerIndex] = ALPHA_MAX; player->effects &= ~0x80000000; - if ((player->type & 0x4000) != 0) { + if ((player->type & PLAYER_HUMAN) != 0) { func_800CB064(playerIndex); } } @@ -1509,7 +1509,7 @@ void func_8008FB30(Player* player, s8 playerIndex) { gPlayerOtherScreensAlpha[playerIndex] = ALPHA_MAX; player->alpha = ALPHA_MAX; player->effects &= ~0x80000000; - if ((player->type & 0x4000) != 0) { + if ((player->type & PLAYER_HUMAN) != 0) { func_800CB064(playerIndex); } } @@ -1550,7 +1550,7 @@ void func_8008FD4C(Player* player, UNUSED s8 arg1) { s16 temp_v0; player->triggers |= LOSE_BATTLE_EFFECT; - player->unk_044 |= 0x200; + player->kartProps |= BECOME_INVISIBLE; for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { player->particlePool0[temp_v0].isAlive = 0; @@ -1561,7 +1561,7 @@ void func_8008FD4C(Player* player, UNUSED s8 arg1) { void func_8008FDA8(Player* player, UNUSED s8 arg1) { s16 temp_v0; - player->unk_044 |= 0x200; + player->kartProps |= BECOME_INVISIBLE; for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { player->particlePool0[temp_v0].isAlive = 0; player->particlePool0[temp_v0].unk_01E = 0; @@ -1683,7 +1683,7 @@ void func_80090778(Player* player) { player->unk_078 = 0; player->unk_07C = 0; player->unk_0C0 = 0; - player->unk_0CA |= 8; + player->lakituProps |= LAKITU_SCENE; player->effects &= ~0x10; player->unk_222 = 0; player->kartPropulsionStrength = 0.0f; @@ -1716,24 +1716,24 @@ void func_80090868(Player* player) { player->kartPropulsionStrength = 0.0f; playerIndex = get_player_index_for_player(player); - if ((player->unk_0CA & 2) != 2) { + if ((player->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU) { player->unk_D98 = 1; player->unk_D9C = 0.0f; player->unk_DA0 = 0.5f; func_8008FF08(player, playerIndex); player->unk_222 = 0; - player->unk_0CA |= 2; + player->lakituProps |= HELD_BY_LAKITU; player->unk_0C8 = 0; - if ((player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) == WATER_IS_FULLY_SUBMERGED) { + if ((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) == UNDER_OOB_OR_FLUID_LEVEL) { if ((IsBowsersCastle()) || (IsBigDonut())) { - player->unk_0CA |= 0x1000; + player->lakituProps |= LAKITU_LAVA; } else { - player->unk_0CA |= 0x2000; + player->lakituProps |= LAKITU_WATER; } if ((IsSherbetLand()) || (IsSkyscraper()) || (IsRainbowRoad())) { - player->unk_0CA &= ~0x3000; + player->lakituProps &= ~(LAKITU_LAVA | LAKITU_WATER); } } } @@ -1756,8 +1756,8 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { clean_effect(player, playerId); switch (player->unk_222) { case 0: - if ((player->unk_0CA & 1) == 1) { - if ((player->unk_0C8 < 0x3C) || ((player->unk_0CA & 2) != 2)) { + if ((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) { + if ((player->unk_0C8 < 0x3C) || ((player->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU)) { player->unk_0C8++; if (player->unk_0C8 >= 0x3C) { player->unk_0C8 = 0x003C; @@ -1767,16 +1767,16 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { move_s16_towards(&player->unk_0CC[arg2], 0, 0.2f); if ((gPlayerWaterLevel[playerId] + 40.0f) <= player->pos[1]) { player->unk_222 = 1; - player->unk_0CA |= 4; + player->lakituProps |= LAKITU_FIZZLE; player->alpha = ALPHA_MAX; } } - } else if ((player->unk_0CA & 2) == 2) { + } else if ((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) { move_f32_towards(&player->pos[1], player->unk_074 + 100.0f, 0.025f); move_s16_towards(&player->unk_0CC[arg2], 0, 0.2f); if ((player->unk_074 + 40.0f) <= player->pos[1]) { player->unk_222 = 1; - player->unk_0CA |= 4; + player->lakituProps |= LAKITU_FIZZLE; player->alpha = ALPHA_MAX; } } @@ -1785,16 +1785,16 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { } break; case 1: - if (((player->type & PLAYER_HUMAN) == 0x4000) && ((player->type & PLAYER_CPU) == 0)) { + if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_CPU) == 0)) { func_8009E088(playerId, 0xA); } - if ((player->unk_0CA & 1) == 1) { + if ((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) { move_f32_towards(&player->pos[1], gPlayerWaterLevel[playerId] + 40.0f, 0.02f); player->alpha -= ALPHA_CHANGE_LARGE; if (player->alpha <= ALPHA_CHANGE_LARGE) { player->alpha = ALPHA_MIN; player->unk_222 = 2; - player->unk_0CA &= ~0x0001; + player->lakituProps &= ~LAKITU_RETRIEVAL; } } else { move_f32_towards(&player->pos[1], player->oldPos[1] + 40.0f, 0.02f); @@ -1804,7 +1804,7 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { player->unk_222 = 2; } } - player->unk_0CA &= ~0x2000; + player->lakituProps &= ~LAKITU_WATER; break; case 2: func_80090178(player, playerId, sp44, sp38); @@ -1830,7 +1830,7 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { if (player->alpha > ALPHA_MAX - (ALPHA_CHANGE_LARGE * 2)) { player->alpha = ALPHA_MAX; player->unk_222 = 4; - player->unk_0CA &= ~0x0004; + player->lakituProps &= ~LAKITU_FIZZLE; player->unk_0C8 = 0; } break; @@ -1848,7 +1848,7 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { move_f32_towards(&player->pos[1], (player->unk_074 + player->boundingBoxSize) - 2.0f, 0.04f); player->unk_0C8++; if (((player->effects & 8) != 8) || (player->effects & 0x8000)) { - player->unk_0CA &= ~0x1000; + player->lakituProps &= ~LAKITU_LAVA; if (player->unk_0C8 >= 0x5B) { if (player->type & PLAYER_HUMAN) { func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28)); @@ -1856,10 +1856,10 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { if (gModeSelection == BATTLE) { pop_player_balloon(player, playerId); } - player->unk_0CA &= ~0x0002; - player->waterInteractionFlags &= ~WATER_IN_DEEP_LIQUID_STATE; - if ((player->unk_0CA & 0x80) != 0x80) { - player->unk_0CA &= ~0x0008; + player->lakituProps &= ~HELD_BY_LAKITU; + player->oobProps &= ~UNDER_FLUID_LEVEL; + if ((player->lakituProps & FROZEN_EFFECT) != FROZEN_EFFECT) { + player->lakituProps &= ~LAKITU_SCENE; if ((player->topSpeed * 0.9) <= player->currentSpeed) { func_8008F104(player, playerId); } @@ -1895,7 +1895,7 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { bool prevent_item_use(Player* player) { s32 phi_v0 = 0; - if ((((((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) || + if ((((((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || ((player->lakituProps & LAKITU_SCENE) == LAKITU_SCENE)) || ((player->type & PLAYER_UNKNOWN_0x40) != 0)) || ((player->type & PLAYER_CINEMATIC_MODE) != 0)) || ((player->type & PLAYER_EXISTS) == 0)) { @@ -1925,13 +1925,14 @@ bool prevent_item_use(Player* player) { } } +//UNUSED void func_800911B4(Player* player, s8 arg1) { s32 temp_v0; player->unk_0AE = player->rotation[1]; - player->unk_044 |= 0x1800; - player->unk_044 &= ~0x0400; - player->unk_044 |= 0x2000; + player->kartProps |= (UNUSED_0x1000 | UNUSED_0x800); + player->kartProps &= ~UNUSED_0x400; + player->kartProps |= UNUSED_0x2000; player->kartHopJerk = 0.002f; player->kartHopAcceleration = 0.0f; player->kartHopVelocity = 2.6f; @@ -1968,12 +1969,13 @@ void func_800911B4(Player* player, s8 arg1) { } while (temp_v0 < 10); } +// unused void func_80091298(Player* player, s8 arg1) { s16 var_v1; UNUSED s32 stackPadding1; Vec3f spC = { 27.167f, 25.167f, 23.167f }; - player->unk_044 |= 0x2000; + player->kartProps |= UNUSED_0x2000; if (player->unk_0B2 == 0) { var_v1 = 0; } else { @@ -1995,7 +1997,7 @@ void func_80091298(Player* player, s8 arg1) { player->unk_07C = 0; player->unk_0C0 = 0; player->unk_DB4.unkC = 3.0f; - player->unk_044 &= ~0x800; + player->kartProps &= ~UNUSED_0x800; player->kartGravity = gKartGravityTable[player->characterId]; player->unk_0D4[0] = 0; player->type |= PLAYER_START_SEQUENCE; @@ -2011,8 +2013,8 @@ void func_80091298(Player* player, s8 arg1) { } void func_80091440(s8 arg0) { - if ((gPlayers[arg0].unk_044 & 0x800) == 0) { - gPlayers[arg0].unk_044 |= 0x2400; - gPlayers[arg0].type &= ~0x2000; + if ((gPlayers[arg0].kartProps & UNUSED_0x800) == 0) { + gPlayers[arg0].kartProps |= (UNUSED_0x2000 | UNUSED_0x400); + gPlayers[arg0].type &= ~PLAYER_START_SEQUENCE; } } diff --git a/src/engine/objects/BombKart.cpp b/src/engine/objects/BombKart.cpp index 3ba60d98a..f5a9f701b 100644 --- a/src/engine/objects/BombKart.cpp +++ b/src/engine/objects/BombKart.cpp @@ -149,7 +149,7 @@ void OBombKart::Tick() { state = States::EXPLODE; Behaviour = States::EXPLODE; player->triggers |= VERTICAL_TUMBLE_TRIGGER; - player->type &= ~0x2000; + player->type &= ~PLAYER_START_SEQUENCE; } } } else { diff --git a/src/engine/objects/Lakitu.cpp b/src/engine/objects/Lakitu.cpp index a4f580952..be3474cb0 100644 --- a/src/engine/objects/Lakitu.cpp +++ b/src/engine/objects/Lakitu.cpp @@ -197,13 +197,13 @@ void OLakitu::func_800791F0(s32 objectIndex, s32 playerId) { if ((gObjectList[objectIndex].unk_0D8 != 3) && (gObjectList[objectIndex].unk_0D8 != 7)) { func_800722CC(objectIndex, 1); if (CM_GetProps()->LakituTowType == LakituTowType::ICE) { - player->unk_0CA &= 0xFFEF; + player->lakituProps &= ~FRIGID_EFFECT; } } if (CM_GetProps()->LakituTowType == LakituTowType::ICE) { func_800722CC(objectIndex, 0x00000010); - player->unk_0CA &= 0xFFDF; + player->lakituProps &= ~THAWING_EFFECT; } func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28)); } @@ -429,10 +429,10 @@ void OLakitu::func_800797AC(s32 playerId) { objectIndex = gIndexLakituList[playerId]; player = &gPlayerOne[playerId]; - // if ((IsSherbetLand()) && (player->unk_0CA & 1)) { - if ((CM_GetProps()->LakituTowType == LakituTowType::ICE) && (player->unk_0CA & 1)) { + // if ((IsSherbetLand()) && (player->lakituProps & 1)) { + if ((CM_GetProps()->LakituTowType == LakituTowType::ICE) && (player->lakituProps & LAKITU_RETRIEVAL)) { init_object(objectIndex, 7); - player->unk_0CA |= 0x10; + player->lakituProps |= FRIGID_EFFECT; } else { init_object(objectIndex, 3); } @@ -447,14 +447,14 @@ void OLakitu::func_80079860(s32 playerId) { player = &gPlayerOne[playerId]; if ((func_80072354(objectIndex, 1) != 0) && (((func_802ABDF4(player->collision.meshIndexZX) != 0) && (player->collision.surfaceDistance[2] <= 3.0f)) || - (player->unk_0CA & 1) || ((player->surfaceType == OUT_OF_BOUNDS) && !(player->effects & 8)))) { + (player->lakituProps & LAKITU_RETRIEVAL) || ((player->surfaceType == OUT_OF_BOUNDS) && !(player->effects & 8)))) { func_80090778(player); OLakitu::func_800797AC(playerId); } } void OLakitu::func_8007993C(s32 objectIndex, Player* player) { - if (player->unk_0CA & 4) { + if (player->lakituProps & LAKITU_FIZZLE) { func_800722A4(objectIndex, 2); gObjectList[objectIndex].primAlpha = player->alpha; return; @@ -544,7 +544,7 @@ void OLakitu::update_object_lakitu_fishing(s32 objectIndex, s32 playerId) { func_80073654(objectIndex); break; case 3: - if (!(player->unk_0CA & 2)) { + if (!(player->lakituProps & HELD_BY_LAKITU)) { func_80086EAC(objectIndex, 0, 3); func_80073654(objectIndex); } @@ -579,7 +579,7 @@ void OLakitu::update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) { case 2: /* switch 1 */ set_object_flag(objectIndex, 0x00000010); func_800736E0(objectIndex); - player->unk_0CA |= 0x80; + player->lakituProps |= FROZEN_EFFECT; object_next_state(objectIndex); break; case 3: /* switch 1 */ @@ -599,11 +599,11 @@ void OLakitu::update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) { func_80073654(objectIndex); break; case 3: - if ((player->surfaceType == ICE) && !(player->unk_0CA & 1) && + if ((player->surfaceType == ICE) && !(player->lakituProps & LAKITU_RETRIEVAL) && ((f64) player->collision.surfaceDistance[2] <= 30.0)) { func_800722A4(objectIndex, 8); } - if (!(player->unk_0CA & 2)) { + if (!(player->lakituProps & HELD_BY_LAKITU)) { func_80086EAC(objectIndex, 0, 3); func_80073654(objectIndex); } @@ -612,7 +612,7 @@ void OLakitu::update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) { func_8007375C(objectIndex, 0x0000001E); break; case 5: - player->unk_0CA &= 0xFF7F; + player->lakituProps &= ~FROZEN_EFFECT; func_800722A4(objectIndex, 0x00000010); func_800722A4(objectIndex, 0x00000020); func_800722CC(objectIndex, 4); @@ -623,8 +623,8 @@ void OLakitu::update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) { case 6: if (func_8007375C(objectIndex, 0x000000A0) != 0) { func_800722CC(objectIndex, 0x00000010); - player->unk_0CA &= 0xFFEF; - player->unk_0CA |= 0x20; + player->lakituProps &= ~FRIGID_EFFECT; + player->lakituProps |= THAWING_EFFECT; } break; case 7: @@ -633,7 +633,7 @@ void OLakitu::update_object_lakitu_fishing2(s32 objectIndex, s32 playerId) { case 8: func_80073720(objectIndex); func_80072428(objectIndex); - player->unk_0CA &= 0xFFDF; + player->lakituProps &= ~THAWING_EFFECT; func_800722CC(objectIndex, 1); func_800C9018((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28)); break; diff --git a/src/engine/objects/Mole.cpp b/src/engine/objects/Mole.cpp index 8cdfd0599..95c32ca0f 100644 --- a/src/engine/objects/Mole.cpp +++ b/src/engine/objects/Mole.cpp @@ -208,13 +208,13 @@ void OMole::func_80081D34(s32 objectIndex) { for (size_t i = 0; i < D_8018D158; i++, player++, camera++) { if ((is_obj_flag_status_active(objectIndex, 0x00000200) != 0) && !(player->effects & 0x80000000) && (has_collided_with_player(objectIndex, player) != 0)) { - if ((player->type & 0x8000) && !(player->type & 0x100)) { + if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB)) { var_s5 = 1; object = &gObjectList[objectIndex]; if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } - if (player->effects & 0x200) { + if (player->effects & STAR_EFFECT) { func_800C9060(i, 0x1900A046U); } else { player->triggers |= HIGH_TUMBLE_TRIGGER; diff --git a/src/engine/objects/Thwomp.cpp b/src/engine/objects/Thwomp.cpp index 4a699c217..1bde243a9 100644 --- a/src/engine/objects/Thwomp.cpp +++ b/src/engine/objects/Thwomp.cpp @@ -648,11 +648,11 @@ void OThwomp::func_80080B28(s32 objectIndex, s32 playerId) { temp_f0 = func_80088F54(objectIndex, player); if ((temp_f0 <= 9.0) && !(player->effects & 0x04000000) && (has_collided_horizontally_with_player(objectIndex, player) != 0)) { - if ((player->type & 0x8000) && !(player->type & 0x100)) { - if (!(player->effects & 0x200)) { + if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB)) { + if (!(player->effects & STAR_EFFECT)) { func_80089474(objectIndex, playerId, 1.4f, 1.1f, SOUND_ARG_LOAD(0x19, 0x00, 0xA0, 0x4C)); } else if (func_80072354(objectIndex, 0x00000040) != 0) { - if (player->type & 0x1000) { + if (player->type & PLAYER_CPU) { func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0xA2, 0x4A)); } else { func_800C9060((u8) playerId, SOUND_ARG_LOAD(0x19, 0x01, 0xA2, 0x4A)); @@ -668,7 +668,7 @@ void OThwomp::func_80080B28(s32 objectIndex, s32 playerId) { } else if ((temp_f0 <= 17.5) && (func_80072320(objectIndex, 1) != 0) && (is_within_horizontal_distance_of_player(objectIndex, player, (player->speed * 0.5) + BoundingBoxSize) != 0)) { - if ((player->type & 0x8000) && !(player->type & 0x100)) { + if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB)) { if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) { func_80072180(); } diff --git a/src/kart_dma.c b/src/kart_dma.c index aa2d3b115..c25de204a 100644 --- a/src/kart_dma.c +++ b/src/kart_dma.c @@ -604,7 +604,7 @@ void load_kart_texture(Player* player, s8 playerId, s8 screenId, s8 screenId2, s s32 temp = player->effects; s16 tyreSpeed = player->tyreSpeed; if (((temp & 0x80) == 0x80) || ((temp & 0x40) == 0x40) || ((temp & 0x80000) == 0x80000) || - ((temp & 0x800000) == 0x800000) || ((temp & 0x20000) == 0x20000) || ((player->unk_044 & 0x800) != 0)) { + ((temp & 0x800000) == 0x800000) || ((temp & 0x20000) == 0x20000) || ((player->kartProps & UNUSED_0x800) != 0)) { if (player->animFrameSelector[screenId] != 0) { osInvalDCache(&gEncodedKartTexture[index][screenId2][playerId], D_800DDEB0[player->characterId]); gEncodedKartTexture[index][screenId2][playerId].unk_00 = @@ -635,7 +635,7 @@ void load_kart_texture_non_blocking(Player* player, s8 arg1, s8 arg2, s8 arg3, s s16 tyreSpeed = player->tyreSpeed; if (((temp & 0x80) == 0x80) || ((temp & 0x40) == 0x40) || ((temp & 0x80000) == 0x80000) || - ((temp & 0x800000) == 0x800000) || ((temp & 0x20000) == 0x20000) || ((player->unk_044 & 0x800) != 0)) { + ((temp & 0x800000) == 0x800000) || ((temp & 0x20000) == 0x20000) || ((player->kartProps & UNUSED_0x800) != 0)) { if (player->animFrameSelector[arg2] != 0) { osInvalDCache(&gEncodedKartTexture[arg4][arg3][arg1], D_800DDEB0[player->characterId]); diff --git a/src/player_controller.c b/src/player_controller.c index 10c9ee2e0..b8a33c4c6 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -219,22 +219,22 @@ s32 get_player_index_for_player(Player* player) { void func_80027DA8(Player* player, s8 playerId) { if (D_8015F890 != 1) { - if ((player->type & 0x10) != 0x10) { - if (((D_8018D168 == 1) && ((player->type & 0x4000) == 0x4000)) && ((player->type & 0x100) != 0x100)) { + if ((player->type & PLAYER_UNKNOWN_0x10) != PLAYER_UNKNOWN_0x10) { + if (((D_8018D168 == 1) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) { func_800C94A4(playerId); - player->type |= 0x10; - } else if ((player->type & 0x2000) == 0) { + player->type |= PLAYER_UNKNOWN_0x10; + } else if ((player->type & PLAYER_START_SEQUENCE) == 0) { func_800C9A88(playerId); - player->type |= 0x10; + player->type |= PLAYER_UNKNOWN_0x10; } } - } else if ((player->type & 0x10) != 0x10) { + } else if ((player->type & PLAYER_UNKNOWN_0x10) != PLAYER_UNKNOWN_0x10) { if ((D_8018D168 == 1) && (player == gPlayerOne)) { func_800C94A4(playerId); - player->type |= 0x10; - } else if ((player->type & 0x2000) == 0) { + player->type |= PLAYER_UNKNOWN_0x10; + } else if ((player->type & PLAYER_START_SEQUENCE) == 0) { func_800C9A88(playerId); - player->type |= 0x10; + player->type |= PLAYER_UNKNOWN_0x10; } } } @@ -335,7 +335,7 @@ void func_80028864(Player* player, Camera* camera, s8 playerId, s8 screenId) { break; } if ((sp1E == 1) || ((player->type & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) || - (gModeSelection == BATTLE) || ((player->unk_0CA & 2) != 0) || (player->unk_0CA & 8) || + (gModeSelection == BATTLE) || ((player->lakituProps & HELD_BY_LAKITU) != 0) || (player->lakituProps & LAKITU_SCENE) || //! @todo make a proper match ((*(D_801633F8 + (playerId))) == ((s16) 1U))) { player->effects &= ~0x1000; @@ -344,7 +344,7 @@ void func_80028864(Player* player, Camera* camera, s8 playerId, s8 screenId) { ((player->effects & 0x80000) == 0x80000) || ((player->effects & 0x800000) == 0x800000) || ((player->effects & 0x01000000) == 0x01000000) || ((player->effects & HIT_BY_ITEM_EFFECT) == HIT_BY_ITEM_EFFECT) || - ((player->effects & 0x20000) == 0x20000) || (player->unk_044 & 0x800)) { + ((player->effects & 0x20000) == 0x20000) || (player->kartProps & UNUSED_0x800)) { func_8002E594(player, camera, screenId, playerId); } else { func_8002D268(player, camera, screenId, playerId); @@ -355,7 +355,7 @@ void func_80028864(Player* player, Camera* camera, s8 playerId, s8 screenId) { } else if ((player->type & PLAYER_STAGING) == PLAYER_STAGING) { func_8002D028(player, playerId); func_8002F730(player, camera, screenId, playerId); - } else if (player->type & 0x80) { + } else if (player->type & PLAYER_UNKNOWN_0x80) { func_8002D268(player, camera, screenId, playerId); } else { if ((player->type & PLAYER_HUMAN) != PLAYER_HUMAN) { @@ -373,7 +373,7 @@ void func_80028C44(Player* player, Camera* camera, s8 playerId, s8 screenId) { ((player->effects & 0x80000) == 0x80000) || ((player->effects & 0x800000) == 0x800000) || ((player->effects & 0x1000000) == 0x1000000) || ((player->effects & HIT_BY_ITEM_EFFECT) == HIT_BY_ITEM_EFFECT) || - ((player->effects & 0x20000) == 0x20000) || ((player->unk_044 & 0x800) != 0)) { + ((player->effects & 0x20000) == 0x20000) || ((player->kartProps & UNUSED_0x800) != 0)) { func_8002E594(player, camera, screenId, playerId); } else { func_8002D268(player, camera, screenId, playerId); @@ -385,7 +385,7 @@ void func_80028C44(Player* player, Camera* camera, s8 playerId, s8 screenId) { void func_80028D3C(Player* player, Camera* camera, s8 playerId, s8 screenId) { if ((((player->type & PLAYER_START_SEQUENCE) == 0) && (gRaceState != RACE_FINISHED)) || - (player->unk_0CA & 2) != 0 || (player->unk_0CA & 8) != 0 || (player->effects & 0x4F010CC0) != 0) { + (player->lakituProps & HELD_BY_LAKITU) != 0 || (player->lakituProps & LAKITU_SCENE) != 0 || (player->effects & 0x4F010CC0) != 0) { player->effects &= ~0x1000; if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40) || @@ -393,7 +393,7 @@ void func_80028D3C(Player* player, Camera* camera, s8 playerId, s8 screenId) { ((player->effects & 0x80000) == 0x80000) || ((player->effects & 0x800000) == 0x800000) || ((player->effects & 0x1000000) == 0x1000000) || ((player->effects & HIT_BY_ITEM_EFFECT) == HIT_BY_ITEM_EFFECT) || - ((player->effects & 0x20000) == 0x20000) || ((player->unk_044 & 0x800) != 0)) { + ((player->effects & 0x20000) == 0x20000) || ((player->kartProps & UNUSED_0x800) != 0)) { func_8002E594(player, camera, screenId, playerId); } else { func_8002D268(player, camera, screenId, playerId); @@ -527,14 +527,14 @@ void func_8002934C(Player* player, Camera* camera, s8 screenId, s8 playerId) { temp_a0 = (s16) player->unk_0D4[screenId] * sins((u16) temp_a0) + player->unk_0CC[screenId] * coss((u16) temp_a0); move_s16_towards(&player->unk_050[screenId], temp_a0, 0.5f); var_a0 = player->animFrameSelector[screenId]; - player->unk_002 = player->unk_002 & (~(4 << (screenId * 4))); + player->unk_002 = player->unk_002 & (~(UNK_002_UNKNOWN_0x4 << (screenId * 4))); if (var_a0 >= 0x101) { var_a0 = 0x201 - var_a0; - player->unk_002 |= (4 << (screenId * 4)); + player->unk_002 |= (UNK_002_UNKNOWN_0x4 << (screenId * 4)); } if (((player->effects & 0x80) != 0x80) && ((player->effects & 0x40) != 0x40) && ((player->effects & 0x80000) != 0x80000) && ((player->effects & 0x800000) != 0x800000) && - ((player->effects & 0x20000) != 0x20000) && (!(player->unk_044 & 0x800))) { + ((player->effects & 0x20000) != 0x20000) && (!(player->kartProps & UNUSED_0x800))) { if (var_a0 < 0x51) { var_a1 = 0x208; var_t0 = 0; @@ -547,16 +547,16 @@ void func_8002934C(Player* player, Camera* camera, s8 screenId, s8 playerId) { var_t0 = 0; } if (((player->effects & 0x80000) == 0x80000) || ((player->effects & 0x800000) == 0x800000) || - (player->unk_044 & 0x800)) { + (player->kartProps & UNUSED_0x800)) { player->unk_050[screenId] = 0; } - if (((player->effects & 8) == 8) && ((player->unk_0CA & 2) == 2)) { + if (((player->effects & 8) == 8) && ((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU)) { player->unk_050[screenId] = 0; } var_a0 = (player->unk_048[screenId] + player->rotation[1] + player->unk_0C0); if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40) || ((player->effects & 0x80000) == 0x80000) || ((player->effects & 0x800000) == 0x800000) || - ((player->effects & 0x20000) == 0x20000) || (player->unk_044 & 0x800)) { + ((player->effects & 0x20000) == 0x20000) || (player->kartProps & UNUSED_0x800)) { if (var_a0 >= 0x7FF9) { var_a0 = -var_a0; var_a0 /= var_a1; @@ -577,7 +577,7 @@ void func_8002934C(Player* player, Camera* camera, s8 screenId, s8 playerId) { player->animFrameSelector[screenId] = 0x22; } if ((player->effects & 0x80) || (player->effects & 0x40) || (player->effects & 0x80000) || - (player->effects & 0x800000) || (player->effects & 0x20000) || (player->unk_044 & 0x800)) { + (player->effects & 0x800000) || (player->effects & 0x20000) || (player->kartProps & UNUSED_0x800)) { if ((player->animFrameSelector[screenId]) >= 0x14) { player->animFrameSelector[screenId] = 0; @@ -587,7 +587,7 @@ void func_8002934C(Player* player, Camera* camera, s8 screenId, s8 playerId) { player->animGroupSelector[screenId] = 4; } if (((player->effects & 0x80000) == 0x80000) || ((player->effects & 0x800000) == 0x800000) || - (player->unk_044 & 0x800)) { + (player->kartProps & UNUSED_0x800)) { player->animGroupSelector[screenId] = 4; } @@ -595,29 +595,29 @@ void func_8002934C(Player* player, Camera* camera, s8 screenId, s8 playerId) { ((player->effects & HIT_BY_ITEM_EFFECT) == HIT_BY_ITEM_EFFECT) || (player->effects & 0x10000) || (player->effects & 0x80) || (player->effects & 0x40)) { - player->unk_002 |= 1 << (screenId * 4); + player->unk_002 |= CHANGING_ANIMATION << (screenId * 4); D_80165190[screenId][playerId] = 1; if ((player->effects & 0x80) || (player->effects & 0x40)) { if ((player->animFrameSelector[screenId] == gLastAnimFrameSelector[screenId][playerId]) && (player->animGroupSelector[screenId] == gLastAnimGroupSelector[screenId][playerId])) { - player->unk_002 &= ~(1 << (screenId * 4)); + player->unk_002 &= ~(CHANGING_ANIMATION << (screenId * 4)); D_80165190[screenId][playerId] = 1; } } else if (((player->unk_0A8) >> 8) == D_80165150[screenId][playerId] >> 8) { - player->unk_002 &= ~(1 << (screenId * 4)); + player->unk_002 &= ~(CHANGING_ANIMATION << (screenId * 4)); } } else { - player->unk_002 |= 1 << (screenId * 4); + player->unk_002 |= CHANGING_ANIMATION << (screenId * 4); if (((player->animFrameSelector[screenId] == gLastAnimFrameSelector[screenId][playerId]) && (player->animGroupSelector[screenId] == gLastAnimGroupSelector[screenId][playerId])) && ((D_80165190[screenId][playerId]) == 0)) { - player->unk_002 &= ~(1 << (screenId * 4)); + player->unk_002 &= ~(CHANGING_ANIMATION << (screenId * 4)); } } temp_a0_2 = gLastAnimFrameSelector[screenId][playerId] - player->animFrameSelector[screenId]; if ((temp_a0_2 >= 0x14) || (temp_a0_2 < (-0x13))) { - player->unk_002 |= 1 << (screenId * 4); + player->unk_002 |= CHANGING_ANIMATION << (screenId * 4); } } @@ -702,7 +702,7 @@ void func_80029B4C(Player* player, UNUSED f32 arg1, f32 arg2, UNUSED f32 arg3) { temp_f2_3 = ((gCharacterSize[player->characterId] * 18.0f) + 1.0f) * player->size; temp_f0_2 = player->unk_23C - player->unk_230; player->unk_206 = -func_802B7C40(temp_f0_2 / temp_f2_3); - if (((player->unk_0CA & 2) == 2) || (player->effects & 8)) { + if (((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || (player->effects & 8)) { player->unk_206 = 0; } if ((player->effects & 8) != 8) { @@ -718,7 +718,7 @@ void func_80029B4C(Player* player, UNUSED f32 arg1, f32 arg2, UNUSED f32 arg3) { } move_s16_towards(&player->slopeAccel, temp_v0, 0.5f); } - if (((player->effects & 8) == 8) && ((player->unk_0CA & 2) == 2)) { + if (((player->effects & 8) == 8) && ((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU)) { player->slopeAccel = (s16) ((s32) player->unk_D9C); } player->surfaceType = get_surface_type(player->collision.meshIndexZX) & 0xFF; @@ -1019,7 +1019,7 @@ void func_8002AB70(Player* player) { if (player->effects & 0x80000) { player->kartGravity = 1500.0f; } - if ((player->unk_044 & 0x800) != 0) { + if ((player->kartProps & UNUSED_0x800) != 0) { player->kartGravity = 1900.0f; } if ((player->effects & 0x800000) == 0x800000) { @@ -1053,7 +1053,7 @@ void func_8002AE38(Player* player, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 ar sp28 = (sins(-player->rotation[1]) * player->speed) + arg2; temp_f16 = (coss(-player->rotation[1]) * player->speed) + arg3; if (((player->effects & 0x800) != 0x800) && ((player->effects & DRIFTING_EFFECT) != DRIFTING_EFFECT) && - !(player->unk_044 & 0x4000) && + !(player->kartProps & DRIVING_SPINOUT) && ((((player->speed / 18.0f) * 216.0f) <= 8.0f) || (((player->unk_07C >> 0x10) < 5) && ((player->unk_07C >> 0x10) > -5)))) { if ((player->effects & 0x20) == 0x20) { @@ -1179,7 +1179,7 @@ void apply_triggers(Player* player, s8 playerId, UNUSED s8 screenId) { } void func_8002B5C0(Player* player, UNUSED s8 playerId, UNUSED s8 screenId) { - if (((player->unk_0CA & 8) != 0) || ((player->unk_0CA & 2) != 0)) { + if (((player->lakituProps & LAKITU_SCENE) != 0) || ((player->lakituProps & HELD_BY_LAKITU) != 0)) { player->triggers &= ALL_TRIGGERS & ~(HIT_TRIGGERS | ANY_BOOST_TRIGGERS | RACING_SPINOUT_TRIGGERS | STATE_TRANSITION_TRIGGERS); } // Green shell @@ -1194,7 +1194,7 @@ void func_8002B5C0(Player* player, UNUSED s8 playerId, UNUSED s8 screenId) { if ((player->effects & 0x800) == 0x800) { player->triggers &= ALL_TRIGGERS & ~(ANY_BOOST_TRIGGERS | RACING_SPINOUT_TRIGGERS | STATE_TRANSITION_TRIGGERS); } - if ((player->unk_044 & 0x4000) != 0) { + if ((player->kartProps & DRIVING_SPINOUT) != 0) { player->triggers &= ALL_TRIGGERS & ~(ANY_BOOST_TRIGGERS | RACING_SPINOUT_TRIGGERS | STATE_TRANSITION_TRIGGERS); } //unclear @@ -1254,7 +1254,7 @@ void func_8002B830(Player* player, s8 playerId, s8 screenId) { if (player->triggers != 0) { apply_triggers(player, playerId, screenId); } - if ((player->unk_044 & 0x400) != 0) { + if ((player->kartProps & UNUSED_0x400) != 0) { // can never be true func_800911B4(player, playerId); } } @@ -1456,7 +1456,7 @@ void func_8002BF4C(Player* player, s8 arg1) { } else { for (i = 0; i < NUM_PLAYERS; i++) { playerBorrow = &players[i]; - if (((player != playerBorrow) && ((playerBorrow->type & 0x100) == 0) && (playerBorrow->type & 0x8000)) && + if (((player != playerBorrow) && ((playerBorrow->type & PLAYER_INVISIBLE_OR_BOMB) == 0) && (playerBorrow->type & 0x8000)) && ((var_a2 = func_8001FD78(player, playerBorrow->pos[0], playerBorrow->pos[1], playerBorrow->pos[2]), var_a2 == 1))) { player->unk_0E2 += 1; @@ -1537,7 +1537,7 @@ void func_8002C17C(Player* player, s8 playerId) { } else if (D_80165330[playerId] == 0) { gCopyNearestWaypointByPlayerId[playerId] = gNearestPathPointByPlayerId[playerId]; gCopyPathIndexByPlayerId[playerId] = gPathIndexByPlayerId[playerId]; - } else if (!((player->effects & 8) || (player->unk_0CA & 1))) { + } else if (!((player->effects & 8) || (player->lakituProps & LAKITU_RETRIEVAL))) { D_80165330[playerId] = 0; } } else { @@ -1549,25 +1549,25 @@ void func_8002C17C(Player* player, s8 playerId) { void update_player_environment_and_hazard_state(Player* player, s8 playerIndex) { gPlayerWaterLevel[playerIndex] = get_water_level(player); if (player->pos[1] <= gPlayerWaterLevel[playerIndex]) { // Player is in water, at least partially - player->waterInteractionFlags |= WATER_IS_PARTIALLY_SUBMERGED; + player->oobProps |= PASS_OOB_OR_FLUID_LEVEL; } else { - player->waterInteractionFlags &= ~WATER_IS_PARTIALLY_SUBMERGED; + player->oobProps &= ~PASS_OOB_OR_FLUID_LEVEL; } if (player->boundingBoxSize < (gPlayerWaterLevel[playerIndex] - player->pos[1])) { // Player is fully submerged in water - player->waterInteractionFlags |= WATER_IS_FULLY_SUBMERGED; - player->waterInteractionFlags &= ~WATER_IS_PARTIALLY_SUBMERGED; + player->oobProps |= UNDER_OOB_OR_FLUID_LEVEL; + player->oobProps &= ~PASS_OOB_OR_FLUID_LEVEL; } else { // Player is not fully submerged in water, clear the flag - player->waterInteractionFlags &= ~WATER_IS_FULLY_SUBMERGED; + player->oobProps &= ~UNDER_OOB_OR_FLUID_LEVEL; } if (player->boundingBoxSize < (gPlayerWaterLevel[playerIndex] - player->pos[1])) { // We confirm again that the player if fully submerged - if ((player->waterInteractionFlags & WATER_IN_DEEP_LIQUID_STATE) != WATER_IN_DEEP_LIQUID_STATE) { + if ((player->oobProps & UNDER_FLUID_LEVEL) != UNDER_FLUID_LEVEL) { // Set flag - it will be cleared shortly after - player->waterInteractionFlags |= WATER_JUST_ENTERED_DEEP_LIQUID; + player->oobProps |= UNDER_OOB_LEVEL; // This flag persists longer - player->waterInteractionFlags |= WATER_IN_DEEP_LIQUID_STATE; + player->oobProps |= UNDER_FLUID_LEVEL; if ((!IsKoopaTroopaBeach()) && (!IsSkyscraper()) && (!IsRainbowRoad()) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) { if ((IsBowsersCastle()) || (IsBigDonut())) { @@ -1581,20 +1581,20 @@ void update_player_environment_and_hazard_state(Player* player, s8 playerIndex) if ((IsKoopaTroopaBeach()) || (IsSkyscraper()) || (IsRainbowRoad())) { // Different handling for these tracks, we just use the first two (0x0001 and 0x0002) - player->waterInteractionFlags &= ~(WATER_IN_DEEP_LIQUID_STATE | WATER_JUST_ENTERED_DEEP_LIQUID); + player->oobProps &= ~(UNDER_FLUID_LEVEL | UNDER_OOB_LEVEL); } if ((player->boundingBoxSize < (gPlayerWaterLevel[playerIndex] - player->pos[1])) && (player->collision.surfaceDistance[2] >= 600.0f)) { // We are fully submerged in water and far away from the surface (out of bounds?) - player->unk_0CA |= 1; + player->lakituProps |= LAKITU_RETRIEVAL; } if (player->collision.surfaceDistance[2] >= 600.0f) { - player->unk_0CA |= 0x0100; + player->lakituProps |= WENT_OVER_OOB; } else if ((player->effects & 8) != 8) { - player->unk_0CA &= ~0x0100; + player->lakituProps &= ~WENT_OVER_OOB; } - if ((player->type & PLAYER_CPU) && ((func_802ABDF4(player->collision.meshIndexZX) != 0) || (player->unk_0CA & 1))) { - if (!(player->unk_0CA & 2) && !(player->unk_0CA & 8) && !(player->effects & 0x1000)) { + if ((player->type & PLAYER_CPU) && ((func_802ABDF4(player->collision.meshIndexZX) != 0) || (player->lakituProps & LAKITU_RETRIEVAL))) { + if (!(player->lakituProps & HELD_BY_LAKITU) && !(player->lakituProps & LAKITU_SCENE) && !(player->effects & 0x1000)) { func_80090778(player); func_80090868(player); } @@ -1612,7 +1612,7 @@ void func_8002C7E4(Player* player, s8 arg1, s8 arg2) { if ((player->effects & BOOST_EFFECT) != BOOST_EFFECT) { func_8002B9CC(player, arg1, arg2); } - player->unk_044 &= ~0x0001; + player->kartProps &= ~BACK_UP; player->unk_046 |= 1; player->unk_046 |= 8; if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { @@ -1632,7 +1632,7 @@ void func_8002C7E4(Player* player, s8 arg1, s8 arg2) { if ((player->effects & 0x8000) == 0x8000) { player->effects &= ~0x8000; player->unk_10C = 1; - player->unk_044 &= ~0x0001; + player->kartProps &= ~BACK_UP; return; } player->unk_046 &= ~0x0001; @@ -1659,7 +1659,7 @@ void func_8002C954(Player* player, s8 playerId, Vec3f arg2) { ((((temp_f0 >= 20.0f) || (temp_f0 < (-1.0f))) && ((player->effects & 0x10000) == 0)) && (player->effects & 8)) || ((player->collision.unk34 == 0) && ((player->effects & 0x10000) == 0))) && - (((player->unk_0CA & 2) == 0) || (!(player->unk_0CA & 8)))) { + (((player->lakituProps & HELD_BY_LAKITU) == 0) || (!(player->lakituProps & LAKITU_SCENE)))) { func_8008F494(player, playerId); } if ((player->unk_046 & 0x20) != 0x20) { @@ -1707,13 +1707,13 @@ void func_8002C954(Player* player, s8 playerId, Vec3f arg2) { } void apply_effect(Player* player, s8 arg1, s8 arg2) { - if (((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) { + if (((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || ((player->lakituProps & LAKITU_SCENE) == LAKITU_SCENE)) { func_80090970(player, arg1, arg2); } if ((player->effects & 0x800) == 0x800) { func_8008CEB0(player, arg1); } - if (player->unk_044 & 0x4000) { + if (player->kartProps & DRIVING_SPINOUT) { func_8008D170(player, arg1); } if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) { @@ -1773,7 +1773,7 @@ void apply_effect(Player* player, s8 arg1, s8 arg2) { func_8008FCDC(player, arg1); } } - if (player->unk_044 & 0x800) { + if (player->kartProps & UNUSED_0x800) { func_80091298(player, arg1); } } @@ -1813,7 +1813,7 @@ void func_8002D028(Player* player, s8 arg1) { if (temp_f18 <= 8.0f) { adjust_angle(&player->rotation[1], -0x8000, 0x016C); if ((player->rotation[1] < (-0x7F41)) || (player->rotation[1] > 0x7F41)) { - player->type &= ~0x0200; + player->type &= ~SHROOM_TRIGGER; } player->kartPropulsionStrength = 0; player->speed = 0; @@ -1877,7 +1877,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player func_80037BB4(player, sp160); func_8002AB70(player); func_8002FCA8(player, playerId); - if (player->unk_044 & 1) { + if (player->kartProps & 1) { player->unk_064[0] *= -1.0f; player->unk_064[2] *= -1.0f; } @@ -1911,9 +1911,9 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player temp_f2_2 = ((player->oldPos[2] - player->pos[2]) * coss(player->rotation[1] + player->unk_0C0)) + (-(player->oldPos[0] - player->pos[0]) * sins(player->rotation[1] + player->unk_0C0)); if (temp_f2_2 > 0.1) { - player->unk_044 |= 8; + player->kartProps |= MOVE_BACKWARDS; } else { - player->unk_044 &= 0xFFF7; + player->kartProps &= ~MOVE_BACKWARDS; } if (((player->kartPropulsionStrength <= 0.0f) && ((temp_v0_3 = player->effects, (temp_v0_3 & 1) == 1))) && ((temp_v0_3 & 0x20) != 0x20)) { @@ -1961,15 +1961,15 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player newVelocity[1] += (((((f64) ((sp184[1] + gravityY) + sp160[1])) - (newVelocity[1] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / ((f64) player->unk_DAC)); - if (((((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) || + if (((((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || ((player->lakituProps & LAKITU_SCENE) == LAKITU_SCENE)) || ((player->effects & HIT_EFFECT) == HIT_EFFECT)) || - (player->unk_0CA & 1)) { + (player->lakituProps & LAKITU_RETRIEVAL)) { newVelocity[0] = 0.0f; newVelocity[1] = 0.0f; newVelocity[2] = 0.0f; } - if ((player->unk_044 & 0x10) == 0x10) { - player->unk_044 &= 0xFFEF; + if ((player->kartProps & LOSE_GP_RACE) == LOSE_GP_RACE) { + player->kartProps &= ~LOSE_GP_RACE; } posX = player->pos[0]; @@ -1983,9 +1983,9 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player nextY = posY + player->velocity[1]; nextZ = posZ + player->velocity[2] + D_8018CE10[playerId].unk_04[2]; - if (((((player->unk_0CA & 2) != 2) && ((player->unk_0CA & 8) != 8)) && + if (((((player->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU) && ((player->lakituProps & LAKITU_SCENE) != LAKITU_SCENE)) && ((player->effects & HIT_EFFECT) != HIT_EFFECT)) && - (!(player->unk_0CA & 1))) { + (!(player->lakituProps & LAKITU_RETRIEVAL))) { func_8002AAC0(player); nextY += player->kartHopVelocity; nextY -= 0.02; @@ -1995,7 +1995,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player player->unk_058 = 0.0f; player->unk_060 = 0.0f; player->unk_05C = 1.0f; - if ((player->unk_044 & 1) != 1) { + if ((player->kartProps & 1) != 1) { calculate_orientation_matrix(player->orientationMatrix, player->unk_058, player->unk_05C, player->unk_060, player->rotation[1]); } else { @@ -2014,7 +2014,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player } player->unk_DB4.unkC = 3.0f; player->unk_DB4.unk18 = 0; - player->unk_0B6 |= 0x100; + player->kartGraphics |= POOMP; if ((((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->effects & BOOST_RAMP_ASPHALT_EFFECT) == BOOST_RAMP_ASPHALT_EFFECT)) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) { @@ -2025,7 +2025,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player func_800CADD0((u8) playerId, ((f32) player->unk_0C2) / 35.0f); } if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { - player->unk_044 |= 0x100; + player->kartProps |= POST_TUMBLE_GAS; } } if (((player->unk_0C2 < 0x23) && (player->unk_0C2 >= 0x1C)) && (((player->speed / 18.0f) * 216.0f) >= 20.0f)) { @@ -2036,7 +2036,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player func_800CADD0((u8) playerId, ((f32) player->unk_0C2) / 35.0f); } if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { - player->unk_044 |= 0x100; + player->kartProps |= POST_TUMBLE_GAS; } } if (((player->unk_0C2 < 0x1C) && (player->unk_0C2 >= 4)) && (((player->speed / 18.0f) * 216.0f) >= 20.0f)) { @@ -2083,7 +2083,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player } if (((!(player->effects & 8)) && (func_802ABDB8(player->collision.meshIndexZX) != 0)) && ((player->effects & 0x10000) != 0x10000)) { - if ((!(player->unk_0CA & 2)) || (!(player->unk_0CA & 8))) { + if ((!(player->lakituProps & HELD_BY_LAKITU)) || (!(player->lakituProps & LAKITU_SCENE))) { func_8008F494(player, playerId); } } else if (((!(player->effects & 8)) && (func_802ABDB8(player->collision.meshIndexZX) == 0)) && @@ -2136,7 +2136,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player player->speed = gKartTopSpeedTable[player->characterId]; } } - if ((player->unk_044 & 1) == 1) { + if ((player->kartProps & 1) == 1) { if (player->speed > 1) { temp = 1 / player->speed; player->velocity[0] *= temp; @@ -2195,7 +2195,7 @@ void func_8002E594(Player* player, UNUSED Camera* camera, s8 screenId, s8 player ((player->effects & 0x80000) == 0x80000)) || ((player->effects & 0x800000) == 0x800000)) || ((player->effects & 0x20000) == 0x20000)) || - (player->unk_044 & 0x800)) { + (player->kartProps & UNUSED_0x800)) { sp46 = 1; } else { sp46 = 0; @@ -2247,7 +2247,7 @@ void func_8002E594(Player* player, UNUSED Camera* camera, s8 screenId, s8 player } sp54[1] += (((((spEC[1] + sp7C) + spD4[1])) - (sp54[1] * (0.12 * player->kartFriction))) / 6000) / player->unk_DAC; - if (((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) { + if (((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || ((player->lakituProps & LAKITU_SCENE) == LAKITU_SCENE)) { sp54[0] = 0.0f; sp54[1] = 0.0f; sp54[2] = 0.0f; @@ -2283,14 +2283,14 @@ void func_8002E594(Player* player, UNUSED Camera* camera, s8 screenId, s8 player player->unk_0C2 = 0x0032; } player->unk_DB4.unk18 = 0; - player->unk_0B6 |= 0x100; + player->kartGraphics |= POOMP; player->unk_DB4.unkC = 3.0f; if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) { func_800CADD0((u8) playerId, ((f32) player->unk_0C2) / 50.0f); } if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { - player->unk_044 |= 0x100; + player->kartProps |= POST_TUMBLE_GAS; } } if (((player->unk_0C2 < 0x1C) && (player->unk_0C2 >= 0xA)) && @@ -2302,7 +2302,7 @@ void func_8002E594(Player* player, UNUSED Camera* camera, s8 screenId, s8 player func_800CADD0((u8) playerId, ((f32) player->unk_0C2) / 50.0f); } if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { - player->unk_044 |= 0x100; + player->kartProps |= POST_TUMBLE_GAS; } } player->unk_0C2 = 0; @@ -2327,7 +2327,7 @@ void func_8002E594(Player* player, UNUSED Camera* camera, s8 screenId, s8 player player->kartHopJerk = 0.06f; player->kartHopAcceleration = 0.0f; if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { - player->unk_044 |= 0x100; + player->kartProps |= POST_TUMBLE_GAS; } } } else { @@ -2367,7 +2367,7 @@ void func_8002E594(Player* player, UNUSED Camera* camera, s8 screenId, s8 player } if (((func_802ABDB8(player->collision.meshIndexZX) != 0) && ((player->effects & 0x10000) != 0x10000)) && (((player->speed / 18.0f) * 216.0f) >= 20.0f)) { - if ((!(player->unk_0CA & 2)) || (!(player->unk_0CA & 8))) { + if ((!(player->lakituProps & HELD_BY_LAKITU)) || (!(player->lakituProps & LAKITU_SCENE))) { func_8008F494(player, playerId); } } else if (((!(player->effects & 8)) && (func_802ABDB8(player->collision.meshIndexZX) == 0)) && @@ -2432,7 +2432,7 @@ void control_cpu_movement(Player* player, UNUSED Camera* camera, s8 screenId, s8 f32 topSpeedMultiplier; f32 nextY; player->effects |= 0x1000; - player->unk_044 |= 0x10; + player->kartProps |= LOSE_GP_RACE; nextY = gPlayerPathY[playerId]; player->driftDuration = 0; player->effects &= ~DRIFTING_EFFECT; @@ -2717,7 +2717,7 @@ f32 func_80030150(Player* player, s8 arg1) { var_f0 += D_800E2E90[player->characterId][player->tyres[FRONT_LEFT].surfaceType]; } } - if (((player->effects & 8) != 8) && ((player->unk_0CA & 2) != 2)) { + if (((player->effects & 8) != 8) && ((player->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU)) { temp_lo = player->slopeAccel / 182; if (var_f2 >= 20.0f) { if ((temp_lo > 0x11) || (temp_lo < -0x11)) { @@ -2757,10 +2757,10 @@ f32 func_80030150(Player* player, s8 arg1) { var_f0 += -0.25; } } - if ((player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) == WATER_IS_FULLY_SUBMERGED) { + if ((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) == UNDER_OOB_OR_FLUID_LEVEL) { var_f0 += 0.3; } else { - if ((player->waterInteractionFlags & WATER_IS_PARTIALLY_SUBMERGED) == WATER_IS_PARTIALLY_SUBMERGED) { + if ((player->oobProps & PASS_OOB_OR_FLUID_LEVEL) == PASS_OOB_OR_FLUID_LEVEL) { var_f0 += 0.15; } if (((gPlayerWaterLevel[arg1] - player->tyres[BACK_LEFT].baseHeight) >= 3.5) || @@ -2807,7 +2807,7 @@ f32 func_80030150(Player* player, s8 arg1) { if (var_f2 < 0.0f) { var_f2 = 0.0f; } - if (((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8) || + if (((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || ((player->lakituProps & LAKITU_SCENE) == LAKITU_SCENE) || ((player->type & PLAYER_START_SEQUENCE) == PLAYER_START_SEQUENCE)) { return (1.0f - player->unk_104) * var_f2; } @@ -2831,7 +2831,7 @@ void update_player_kart_hop(Player* player) { f32 hopInitialUpwardVelocity; f32 hopDownwardAcceleration; - if (((player->unk_0CA & 2) != 2) && ((player->unk_0CA & 8) != 8)) { + if (((player->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU) && ((player->lakituProps & LAKITU_SCENE) != LAKITU_SCENE)) { if ((((player->speed / 18.0f) * 216.0f) >= 8.0f) && (player->unk_DB4.unkC < 1.0f)) { switch (player->surfaceType) { /* irregular */ case ASPHALT: @@ -3107,7 +3107,7 @@ void player_accelerate_alternative(Player* player) { if (!((player->effects & 8)) || ((player->effects & LIGHTNING_EFFECT))) { player->kartPropulsionStrength = (player->currentSpeed * player->currentSpeed) / 25.0f; } - player->unk_044 |= 0x20; + player->kartProps |= THROTTLE; // Hacky way to check for START_SPINOUT_TRIGGER if ((player->triggers * 8) < 0) { func_8008F104(player, player_index); @@ -3132,7 +3132,7 @@ void player_decelerate_alternative(Player* player, f32 speed) { if ((player->effects & 8) != 8) { player->kartPropulsionStrength = (player->currentSpeed * player->currentSpeed) / 25.0f; } - player->unk_044 &= 0xFFDF; + player->kartProps &= ~THROTTLE; // Hacky way to check for START_SPINOUT_TRIGGER if ((player->triggers * 8) < 0) { func_8008F104(player, player_index); @@ -3375,7 +3375,7 @@ void player_accelerate_during_start_sequence(Player* player) { } else { var_v0 = 8; } - if ((test < var_v0) && ((player->unk_044 & 0x20) != 0x20)) { + if ((test < var_v0) && ((player->kartProps & THROTTLE) != THROTTLE)) { player->triggers |= START_BOOST_TRIGGER; } else if ((player->topSpeed * 0.9f) <= player->currentSpeed) { if ((player->triggers & START_BOOST_TRIGGER) != START_BOOST_TRIGGER) { @@ -3384,7 +3384,7 @@ void player_accelerate_during_start_sequence(Player* player) { } } } - player->unk_044 |= 0x20; + player->kartProps |= THROTTLE; player->unk_098 = (player->currentSpeed * player->currentSpeed) / 25.0f; } @@ -3403,7 +3403,7 @@ void player_decelerate_during_start_sequence(Player* player, f32 speedReduction) player->triggers &= ~START_SPINOUT_TRIGGER; } player->triggers &= ~START_BOOST_TRIGGER; - player->unk_044 &= ~0x0020; + player->kartProps &= ~THROTTLE; player->unk_098 = (player->currentSpeed * player->currentSpeed) / 25.0f; } @@ -3489,7 +3489,7 @@ void player_accelerate_global(Player* player, s32 playerIndex) { if (((player->topSpeed * 0.9) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] <= (player->topSpeed * 1.0))) { gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][9] * 2.8; } - player->unk_044 |= 0x20; + player->kartProps |= THROTTLE; if (gPlayerCurrentSpeed[playerIndex] < 0.0f) { gPlayerCurrentSpeed[playerIndex] = 0.0f; } @@ -3497,7 +3497,7 @@ void player_accelerate_global(Player* player, s32 playerIndex) { } void player_decelerate_global(Player* player, f32 speedReduction, s32 playerIndex) { - player->unk_044 &= ~0x20; + player->kartProps &= ~THROTTLE; gPlayerCurrentSpeed[playerIndex] -= speedReduction; if (gPlayerCurrentSpeed[playerIndex] <= 0.0f) { gPlayerCurrentSpeed[playerIndex] = 0.0f; @@ -3621,31 +3621,31 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 arg2) { ((player->effects & 0x8000) == 0x8000)) { func_80036CB4(player); } - if ((player->unk_0C0 / 182) < (-5)) { - player->unk_044 |= 4; - player->unk_044 &= 0xFFFD; + if ((player->unk_0C0 / DEGREES_CONVERSION_FACTOR) < (-5)) { + player->kartProps |= LEFT_TURN; + player->kartProps &= ~RIGHT_TURN; D_801652C0[arg2]++; - } else if ((player->unk_0C0 / 182) >= 6) { - player->unk_044 |= 2; - player->unk_044 &= 0xFFFB; + } else if ((player->unk_0C0 / DEGREES_CONVERSION_FACTOR) >= 6) { + player->kartProps |= RIGHT_TURN; + player->kartProps &= ~LEFT_TURN; D_801652C0[arg2]++; } else { - player->unk_044 &= 0xFFF9; + player->kartProps &= ~(LEFT_TURN | RIGHT_TURN); D_801652C0[arg2] = 0; } if (((player->effects & 2) == 2) || ((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT)) { - player->unk_044 &= 0xFFF9; + player->kartProps &= ~(LEFT_TURN | RIGHT_TURN); } sp2E4 = player->unk_07C; temp_v0_3 = func_80038534(controller); - if (((player->unk_044 & 1) == 1) || ((player->unk_044 & 8) == 8)) { + if (((player->kartProps & BACK_UP) == BACK_UP) || ((player->kartProps & MOVE_BACKWARDS) == MOVE_BACKWARDS)) { temp_v0_3 = -temp_v0_3; } player->unk_07C = (temp_v0_3 << 16) & 0xFFFF0000; sp2D0 = sp2E4 - player->unk_07C; sp2D0 = sp2D0 >> 16; player->unk_0FA = (s16) sp2D0; - if (((sp2D0 >= 0x5A) || (sp2D0 < (-0x59))) && (!(player->unk_044 & 0x4000))) { + if (((sp2D0 >= 0x5A) || (sp2D0 < (-0x59))) && (!(player->kartProps & DRIVING_SPINOUT))) { if ((((((!(player->effects & DRIFTING_EFFECT)) && (gCCSelection == CC_150)) && (gModeSelection != BATTLE)) && (!(player->effects & 8))) && (((player->speed / 18.0f) * 216.0f) >= 40.0f)) && @@ -3669,7 +3669,7 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 arg2) { var_a0 = 0; } if (((player->speed / 18.0f) * 216.0f) >= 15.0f) { - if ((player->unk_044 & 2) == 2) { + if ((player->kartProps & RIGHT_TURN) == RIGHT_TURN) { if ((sp2D0 < 36) && (sp2D0 >= 0)) { sp2C8 = (gKartTable800E3650[player->characterId] + 1.0f) * (((f32) (var_a0 + 0xF)) * (1.0f + var_f2)); @@ -3679,7 +3679,7 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 arg2) { sp2C8 = (s32) (((f32) (var_a0 + 5)) * (1.0f + var_f2)); sp2CC = (s32) (((f32) (var_a0 + 9)) * (1.0f + var_f2)); } - } else if ((player->unk_044 & 4) == 4) { + } else if ((player->kartProps & LEFT_TURN) == LEFT_TURN) { if ((sp2D0 >= (-0x23)) && (sp2D0 <= 0)) { sp2C8 = (gKartTable800E3650[player->characterId] + 1.0f) * (((f32) (var_a0 + 0xF)) * (1.0f + var_f2)); @@ -3698,11 +3698,11 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 arg2) { sp2CC = 8; } } - if ((player->waterInteractionFlags & WATER_IS_FULLY_SUBMERGED) == WATER_IS_FULLY_SUBMERGED) { + if ((player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) == UNDER_OOB_OR_FLUID_LEVEL) { sp2C8 *= 1.5; sp2CC *= 1.5; } else { - if ((player->waterInteractionFlags & WATER_IS_PARTIALLY_SUBMERGED) == WATER_IS_PARTIALLY_SUBMERGED) { + if ((player->oobProps & PASS_OOB_OR_FLUID_LEVEL) == PASS_OOB_OR_FLUID_LEVEL) { sp2C8 *= 1.2; sp2CC *= 1.2; } @@ -3989,7 +3989,7 @@ void func_80036C5C(Player* player) { if (((player->speed / 18.0f) * 216.0f) > 20.0f) { player->driftDuration = 0; player->effects |= DRIFTING_EFFECT; - player->unk_0B6 |= 0x800; + player->kartGraphics |= BOING; } } @@ -4028,7 +4028,7 @@ void func_80036DB4(Player* player, Vec3f arg1, Vec3f arg2) { if (((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) && ((player->effects & 2) != 2)) { var_f18 = player->unk_208 + ((-(player->speed / 18.0f) * 216.0f) * 3.0f) + (-player->unk_20C * 10.0f); sp20 = player->unk_084 * 3.0f; - } else if (!(player->effects & 0x800) && !(player->unk_044 & 0x4000)) { + } else if (!(player->effects & 0x800) && !(player->kartProps & DRIVING_SPINOUT)) { thing = player->unk_0FA; if (thing > 0) { thing *= -1; @@ -4086,7 +4086,7 @@ void func_800371F4(Player* player, Vec3f arg1, Vec3f arg2) { if (((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) && ((player->effects & 2) != 2)) { var_f18 = player->unk_208 + ((-(player->speed / 18.0f) * 216.0f) * 3.0f) + (-player->unk_20C * 50.0f); sp20 = player->unk_084 * 3.0f; - } else if (!(player->effects & 0x800) && !(player->unk_044 & 0x4000)) { + } else if (!(player->effects & 0x800) && !(player->kartProps & DRIVING_SPINOUT)) { var_v0 = player->unk_0FA; if (var_v0 > 0) { var_v0 *= -1; @@ -4321,7 +4321,7 @@ void func_80037CFC(Player* player, struct Controller* controller, s8 arg2) { player->effects &= ~0x20; } } - if ((player->unk_044 & 1) != 1) { + if ((player->kartProps & BACK_UP) != BACK_UP) { if (controller->button & A_BUTTON) { player_accelerate_alternative(player); detect_triple_a_combo_a_pressed(player); @@ -4345,13 +4345,13 @@ void func_80037CFC(Player* player, struct Controller* controller, s8 arg2) { if (((func_800388B0(controller) < (-0x31)) && (((player->speed / 18.0f) * 216.0f) <= 5.0f)) && (controller->button & B_BUTTON)) { player->currentSpeed = 140.0f; - player->unk_044 |= 1; + player->kartProps |= BACK_UP; player->kartPropulsionStrength = (player->currentSpeed * player->currentSpeed) / 25.0f; player->unk_20C = 0.0f; } if ((func_800388B0(controller) >= -0x1D) || (!(controller->button & B_BUTTON))) { - if ((player->unk_044 & 1) == 1) { - player->unk_044 &= 0xFFFE; + if ((player->kartProps & BACK_UP) == BACK_UP) { + player->kartProps &= ~BACK_UP; player->currentSpeed = 0.0f; } } @@ -4382,7 +4382,7 @@ void handle_a_press_for_player_during_race(Player* player, struct Controller* co if (((player->type & PLAYER_EXISTS) == PLAYER_EXISTS) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) { if ((player->type & PLAYER_START_SEQUENCE) != PLAYER_START_SEQUENCE) { - if (((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) { + if (((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || ((player->lakituProps & LAKITU_SCENE) == LAKITU_SCENE)) { if (controller->button & A_BUTTON) { player_accelerate(player); } else { @@ -4423,24 +4423,24 @@ void handle_a_press_for_all_players_during_race(void) { if (D_8015F890 != 1) { handle_a_press_for_player_during_race(gPlayerOne, gControllerOne, 0); temp_v0_3 = gPlayerTwo->type; - if (((temp_v0_3 & 0x100) == 0x100) && ((temp_v0_3 & 0x800) != 0x800)) { + if (((temp_v0_3 & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) && ((temp_v0_3 & PLAYER_CINEMATIC_MODE) != PLAYER_CINEMATIC_MODE)) { handle_a_press_for_player_during_race(gPlayerTwo, gControllerSix, 1); } temp_v0_4 = gPlayerThree->type; - if (((temp_v0_4 & 0x100) == 0x100) && ((temp_v0_4 & 0x800) != 0x800)) { + if (((temp_v0_4 & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) && ((temp_v0_4 & PLAYER_CINEMATIC_MODE) != PLAYER_CINEMATIC_MODE)) { handle_a_press_for_player_during_race(gPlayerThree, gControllerSeven, 2); return; } } else { - if ((gPlayerOne->type & 0x800) != 0x800) { + if ((gPlayerOne->type & PLAYER_CINEMATIC_MODE) != PLAYER_CINEMATIC_MODE) { handle_a_press_for_player_during_race(gPlayerOne, gControllerEight, 0); } temp_v0_5 = gPlayerTwo->type; - if (((temp_v0_5 & 0x100) == 0x100) && ((temp_v0_5 & 0x800) != 0x800)) { + if (((temp_v0_5 & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) && ((temp_v0_5 & PLAYER_CINEMATIC_MODE) != PLAYER_CINEMATIC_MODE)) { handle_a_press_for_player_during_race(gPlayerTwo, gControllerSix, 1); } temp_v0_6 = gPlayerThree->type; - if (((temp_v0_6 & 0x100) == 0x100) && ((temp_v0_6 & 0x800) != 0x800)) { + if (((temp_v0_6 & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) && ((temp_v0_6 & PLAYER_CINEMATIC_MODE) != PLAYER_CINEMATIC_MODE)) { handle_a_press_for_player_during_race(gPlayerThree, gControllerSeven, 2); return; } @@ -4581,7 +4581,7 @@ void func_80038BE4(Player* player, s16 arg1) { if (player->currentSpeed >= 250.0f) { player->currentSpeed = 250.0f; } - player->unk_044 |= 0x20; + player->kartProps |= THROTTLE; player->kartPropulsionStrength = (player->currentSpeed * player->currentSpeed) / 25.0f; } @@ -4638,8 +4638,8 @@ void func_80038C6C(Player* player, UNUSED Camera* camera, s8 arg2, s8 playerId) sp88[0] += ((((((sp114[0] + spA4) + spF0[0])) - (sp88[0] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); sp88[2] += ((((((sp114[2] + sp9C) + spF0[2])) - (sp88[2] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); sp88[1] += ((((((sp114[1] + spA0) + spF0[1])) - (sp88[1] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); - if ((player->unk_044 & 0x10) == 0x10) { - player->unk_044 &= 0xFFEF; + if ((player->kartProps & LOSE_GP_RACE) == LOSE_GP_RACE) { + player->kartProps &= ~LOSE_GP_RACE; } posX = player->pos[0]; @@ -4723,7 +4723,7 @@ void func_80038C6C(Player* player, UNUSED Camera* camera, s8 arg2, s8 playerId) player->speed = gKartTopSpeedTable[player->characterId]; } } - if ((player->unk_044 & 1) == 1) { + if ((player->kartProps & BACK_UP) == BACK_UP) { if (player->speed > 1.0f) { player->velocity[0] *= 1.0f / player->speed; player->velocity[1] *= 1.0f / player->speed; diff --git a/src/racing/actors.c b/src/racing/actors.c index 6c37c8742..b407bc123 100644 --- a/src/racing/actors.c +++ b/src/racing/actors.c @@ -1133,10 +1133,10 @@ void init_kiwano_fruit(void) { for (i = 0; i < 4; i++) { phi_s1 = &gPlayers[i]; // temp_v0 = *phi_s1; - if ((phi_s1->type & 0x4000) == 0) { + if ((phi_s1->type & PLAYER_HUMAN) == 0) { continue; } - if ((phi_s1->type & 0x100) != 0) { + if ((phi_s1->type & PLAYER_INVISIBLE_OR_BOMB) != 0) { continue; } @@ -1987,7 +1987,7 @@ void evaluate_collision_between_player_actor(Player* player, struct Actor* actor } player->triggers |= HIT_BANANA_TRIGGER; owner = &gPlayers[temp_v1]; - if (owner->type & 0x4000) { + if (owner->type & PLAYER_HUMAN) { if (actor->flags & 0xF) { if (temp_lo != temp_v1) { func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06)); @@ -2017,7 +2017,7 @@ void evaluate_collision_between_player_actor(Player* player, struct Actor* actor player->triggers |= LOW_TUMBLE_TRIGGER; func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10)); owner = &gPlayers[temp_v1]; - if ((owner->type & 0x4000) && (temp_lo != temp_v1)) { + if ((owner->type & PLAYER_HUMAN) && (temp_lo != temp_v1)) { func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06)); } destroy_destructable_actor(actor); @@ -2036,7 +2036,7 @@ void evaluate_collision_between_player_actor(Player* player, struct Actor* actor func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10)); } owner = &gPlayers[temp_v1]; - if ((owner->type & 0x4000) && (temp_lo != temp_v1)) { + if ((owner->type & PLAYER_HUMAN) && (temp_lo != temp_v1)) { func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06)); } if (temp_lo == actor->unk_04) { @@ -2061,7 +2061,7 @@ void evaluate_collision_between_player_actor(Player* player, struct Actor* actor func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10)); } owner = &gPlayers[temp_v1]; - if ((owner->type & 0x4000) && (temp_lo != temp_v1)) { + if ((owner->type & PLAYER_HUMAN) && (temp_lo != temp_v1)) { func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06)); } destroy_destructable_actor(actor); @@ -2119,7 +2119,7 @@ void evaluate_collision_between_player_actor(Player* player, struct Actor* actor } player->triggers |= VERTICAL_TUMBLE_TRIGGER; owner = &gPlayers[temp_v1]; - if (owner->type & 0x4000) { + if (owner->type & PLAYER_HUMAN) { if (actor->flags & 0xF) { if (temp_lo != temp_v1) { func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06)); diff --git a/src/racing/actors_extended.c b/src/racing/actors_extended.c index ed2710674..e8072798b 100644 --- a/src/racing/actors_extended.c +++ b/src/racing/actors_extended.c @@ -101,7 +101,7 @@ void destroy_banana_in_banana_bunch(struct BananaActor* banana) { func_802B0464(banana->youngerIndex); func_802B04E8(banana, banana->elderIndex); - if ((gPlayers[banana->playerId].type & 0x4000) != 0) { + if ((gPlayers[banana->playerId].type & PLAYER_HUMAN) != 0) { func_800C9060(banana->playerId, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53)); } banana->flags = -0x8000; @@ -295,7 +295,7 @@ void update_actor_banana_bunch(struct BananaBunchParent* banana_bunch) { if (someCount == 0) { destroy_actor((struct Actor*) banana_bunch); owner->triggers &= ~DRAG_ITEM_EFFECT; - } else if ((owner->type & 0x4000) != 0) { + } else if ((owner->type & PLAYER_HUMAN) != 0) { controller = &gControllers[banana_bunch->playerId]; if ((controller->buttonPressed & Z_TRIG) != 0) { controller->buttonPressed &= ~Z_TRIG; diff --git a/src/racing/math_util.h b/src/racing/math_util.h index e20b1400a..7c230ca87 100644 --- a/src/racing/math_util.h +++ b/src/racing/math_util.h @@ -79,6 +79,4 @@ extern Vec3f D_802B91C8; } #endif -#define DEGREES_CONVERSION_FACTOR 182 - #endif // MATH_UTIL_H diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c index 099d0d626..4ea13aa35 100644 --- a/src/racing/race_logic.c +++ b/src/racing/race_logic.c @@ -575,7 +575,7 @@ void func_8028EF28(void) { } } else if (gPlayers[i].lapCount == 2) { - if ((gPlayers[i].type & 0x100) != 0) { + if ((gPlayers[i].type & PLAYER_INVISIBLE_OR_BOMB) != 0) { return; } if ((D_802BA032 & 0x4000) == 0) { diff --git a/src/render_player.c b/src/render_player.c index c5a3ac6da..9e53f060e 100644 --- a/src/render_player.c +++ b/src/render_player.c @@ -88,14 +88,14 @@ void func_8001F9E4(Player* player, Camera* camera, s8 screenId) { get_player_index_for_player(player); func_8001F980(&sp30, &sp2C); - player->unk_002 &= ~(2 << (screenId * 4)); - player->unk_002 &= ~(8 << (screenId * 4)); + player->unk_002 &= ~(UNK_002_UNKNOWN_0x2 << (screenId * 4)); + player->unk_002 &= ~(SIDE_OF_KART << (screenId * 4)); if (check_player_camera_collision(player, camera, (f32) (D_80165578 + sp30), (f32) (D_8016557A + sp2C)) == 1) { - player->unk_002 |= 2 << (screenId * 4); + player->unk_002 |= UNK_002_UNKNOWN_0x2 << (screenId * 4); } if (check_player_camera_collision(player, camera, (f32) D_80165580, (f32) D_80165582) == 1) { - player->unk_002 |= 8 << (screenId * 4); + player->unk_002 |= SIDE_OF_KART << (screenId * 4); } } @@ -194,7 +194,7 @@ void init_render_player(Player* player, Camera* camera, s8 playerId, s8 screenId if ((player->type & PLAYER_EXISTS) == PLAYER_EXISTS) { func_8001F9E4(player, camera, screenId); - temp_v0 = 2 << (screenId << 2); + temp_v0 = UNK_002_UNKNOWN_0x2 << (screenId << 2); if (temp_v0 == (player->unk_002 & temp_v0)) { if (!(player->type & PLAYER_START_SEQUENCE)) { func_8002934C(player, camera, screenId, playerId); @@ -206,7 +206,7 @@ void init_render_player(Player* player, Camera* camera, s8 playerId, s8 screenId } } func_8001F980(&sp4C, &sp48); - temp_v0_2 = 1 << (screenId << 2); + temp_v0_2 = CHANGING_ANIMATION << (screenId << 2); if ((temp_v0 == (player->unk_002 & temp_v0)) && (temp_v0_2 == (player->unk_002 & temp_v0_2))) { if ((check_player_camera_collision(player, camera, D_80165570 + sp4C, D_80165572 + sp48) == 1) & 0xFFFF) { gPlayersToRenderPlayerId[gPlayersToRenderCount] = (s16) playerId; @@ -552,16 +552,16 @@ void func_80021B0C(void) { func_8006E7CC(gPlayerEight, 7, 0); } if (gGamestate == ENDING) { - if (gPlayerOne->unk_044 & 0x2000) { + if (gPlayerOne->kartProps & UNUSED_0x2000) { render_player_shadow_credits(gPlayerOne, 0, 0); } - if (gPlayerTwo->unk_044 & 0x2000) { + if (gPlayerTwo->kartProps & UNUSED_0x2000) { render_player_shadow_credits(gPlayerTwo, 1, 0); } - if (gPlayerThree->unk_044 & 0x2000) { + if (gPlayerThree->kartProps & UNUSED_0x2000) { render_player_shadow_credits(gPlayerThree, 2, 0); } - if (gPlayerFour->unk_044 & 0x2000) { + if (gPlayerFour->kartProps & UNUSED_0x2000) { render_player_shadow_credits(gPlayerFour, 3, 0); } } @@ -785,10 +785,10 @@ void func_8002276C(void) { break; case TIME_TRIALS: /* switch 1 */ func_80022A98(gPlayerOne, 0); - if ((gPlayerTwo->type & 0x100) == 0x100) { + if ((gPlayerTwo->type & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) { func_80022A98(gPlayerTwo, 1); } - if ((gPlayerThree->type & 0x100) == 0x100) { + if ((gPlayerThree->type & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) { func_80022A98(gPlayerThree, 2); } break; @@ -1065,22 +1065,22 @@ void func_800235AC(Player* player, s8 arg1) { return; } - if (((player->unk_0CA & 0x10) == 0x10) && ((player->unk_0CA & 4) == 4)) { + if (((player->lakituProps & FRIGID_EFFECT) == FRIGID_EFFECT) && ((player->lakituProps & LAKITU_FIZZLE) == LAKITU_FIZZLE)) { change_player_color_effect_rgb(player, arg1, 0x646464, 0.5f); change_player_color_effect_cmy(player, arg1, 0xFF0000, 0.1f); return; } - if ((player->unk_0CA & 4) == 4) { + if ((player->lakituProps & LAKITU_FIZZLE) == LAKITU_FIZZLE) { change_player_color_effect_rgb(player, arg1, COLOR_BLACK, 1.0f); change_player_color_effect_cmy(player, arg1, 0, 1.0f); return; } - if ((player->unk_0CA & 0x10) == 0x10) { + if ((player->lakituProps & FRIGID_EFFECT) == FRIGID_EFFECT) { change_player_color_effect_rgb(player, arg1, 0x646464, 0.5f); change_player_color_effect_cmy(player, arg1, 0xFF0000, 0.1f); return; } - if ((player->unk_0CA & 0x20) == 0x20) { + if ((player->lakituProps & THAWING_EFFECT) == THAWING_EFFECT) { change_player_color_effect_rgb(player, arg1, COLOR_BLACK, 0.1f); change_player_color_effect_cmy(player, arg1, 0, 0.1f); return; @@ -1144,7 +1144,7 @@ void func_800235AC(Player* player, s8 arg1) { return; } render_light_environment_on_player(player, arg1); - if ((player->unk_0CA & 0x1000) == 0x1000) { + if ((player->lakituProps & LAKITU_LAVA) == LAKITU_LAVA) { change_player_color_effect_rgb(player, arg1, COLOR_BLACK, 0.3f); change_player_color_effect_cmy(player, arg1, 0xF0F0F0, 0.3f); } @@ -1157,7 +1157,7 @@ void func_80023BF0(Player* player, s8 playerId, s8 screenId, s8 arg3) { } else { func_80022E84(player, playerId, screenId, arg3); } - if ((player->unk_0CA & 2) == 2) { + if ((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) { func_80022D60(player, playerId, screenId, arg3); } } @@ -1192,7 +1192,7 @@ void render_player_shadow(Player* player, s8 playerId, s8 screenId) { if (((player->effects & 0x01000000) == 0x01000000) || ((player->effects & 0x400) == 0x400) || ((player->effects & 0x80000) == 0x80000) || ((player->effects & 0x800000) == 0x800000) || - ((player->effects & 0x400) == 0x400) || ((player->unk_0CA & 2) == 2) || + ((player->effects & 0x400) == 0x400) || ((player->lakituProps & HELD_BY_LAKITU) == HELD_BY_LAKITU) || ((player->effects & HIT_BY_ITEM_EFFECT) == HIT_BY_ITEM_EFFECT) || ((player->effects & 0x10000) == 0x10000) || ((player->effects & 8) == 8)) { @@ -1310,7 +1310,7 @@ void render_kart(Player* player, s8 playerId, s8 screenId, s8 flipOffset) { s16 thing; FrameInterpolation_RecordOpenChild("player_kart", playerId | screenId << 8); - if (player->unk_044 & 0x2000) { + if (player->kartProps & UNUSED_0x2000) { sp14C[0] = 0; sp14C[1] = player->unk_048[screenId]; sp14C[2] = 0; @@ -1392,7 +1392,7 @@ void render_kart(Player* player, s8 playerId, s8 screenId, s8 flipOffset) { AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | CVG_X_ALPHA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)); } - } else if (((player->unk_0CA & 4) == 4) || (player->triggers & BECOME_BOMB_EFFECT) || + } else if (((player->lakituProps & LAKITU_FIZZLE) == LAKITU_FIZZLE) || (player->triggers & BECOME_BOMB_EFFECT) || (player->triggers & LOSE_BATTLE_EFFECT)) { gSPMatrix(gDisplayListHead++, GetKartMatrix(playerId + (screenId * 8)), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); @@ -1550,7 +1550,7 @@ void render_player_ice_reflection(Player* player, s8 playerId, s8 screenId, s8 f sp9C[0] = player->pos[0]; sp9C[1] = player->unk_074 + (4.0f * player->size); sp9C[2] = player->pos[2]; - if (!(player->unk_002 & (4 << (screenId * 4)))) { + if (!(player->unk_002 & (UNK_002_UNKNOWN_0x4 << (screenId * 4)))) { flipOffset = 8; } else { flipOffset = 0; @@ -1592,13 +1592,13 @@ void render_player(Player* player, s8 playerId, s8 screenId) { OSMesg* sp34; update_wheel_palette(player, playerId, screenId, D_801651D0[screenId][playerId]); - if (!(player->unk_002 & (4 << (screenId * 4)))) { + if (!(player->unk_002 & (UNK_002_UNKNOWN_0x4 << (screenId * 4)))) { var_v1 = 0; } else { var_v1 = 8; } func_80023BF0(player, playerId, screenId, var_v1); - temp_t1 = 8 << (screenId * 4); + temp_t1 = SIDE_OF_KART << (screenId * 4); if ((temp_t1 == (player->unk_002 & temp_t1)) && (player->collision.surfaceDistance[2] <= 50.0f) && (player->surfaceType != ICE)) { if ((player->effects & BOO_EFFECT) == BOO_EFFECT) { @@ -1615,7 +1615,7 @@ void render_player(Player* player, s8 playerId, s8 screenId) { render_ghost(player, playerId, screenId, var_v1); } osRecvMesg(&gDmaMesgQueue, (OSMesg*) &sp34, OS_MESG_BLOCK); - if ((temp_t1 == (player->unk_002 & temp_t1)) && (player->surfaceType == ICE) && ((player->unk_0CA & 1) != 1) && + if ((temp_t1 == (player->unk_002 & temp_t1)) && (player->surfaceType == ICE) && ((player->kartProps & LAKITU_RETRIEVAL) != LAKITU_RETRIEVAL) && (player->collision.surfaceDistance[2] <= 30.0f)) { render_player_ice_reflection(player, playerId, screenId, var_v1); } @@ -1680,7 +1680,7 @@ void update_wheel_palette(Player* player, s8 playerId, s8 screenId, s8 arg3) { if (((player->effects & 0x4000) == 0x4000) && ((player->type & PLAYER_START_SEQUENCE) == 0)) { if (((player->effects & 0x80) != 0x80) && ((player->effects & 0x40) != 0x40) && ((player->effects & 0x20000) != 0x20000) && ((player->effects & 0x80000) != 0x80000) && - ((player->effects & 0x800000) != 0x800000) && ((player->unk_044 & 0x800) == 0)) { + ((player->effects & 0x800000) != 0x800000) && ((player->kartProps & UNUSED_0x800) == 0)) { if (frameId <= 20) { int32_t offset = (frameId << 2) + (tyreSpeed >> 8); @@ -1705,7 +1705,7 @@ void update_wheel_palette(Player* player, s8 playerId, s8 screenId, s8 arg3) { } else { if (((player->effects & 0x80) != 0x80) && ((player->effects & 0x40) != 0x40) && ((player->effects & 0x80000) != 0x80000) && ((player->effects & 0x800000) != 0x800000) && - ((player->effects & 0x20000) != 0x20000) && ((player->unk_044 & 0x800) == 0)) { + ((player->effects & 0x20000) != 0x20000) && ((player->kartProps & UNUSED_0x800) == 0)) { if (frameId <= 20) { int32_t offset = (frameId << 2) + (tyreSpeed >> 8); diff --git a/src/replays.c b/src/replays.c index acf3ae9e8..ae844fe0c 100644 --- a/src/replays.c +++ b/src/replays.c @@ -417,7 +417,7 @@ void save_player_replay(void) { /* Input file is too long or picked up by lakitu or Out of bounds Not sure if there is any way to be considered out of bounds without lakitu getting called */ - if (((sPlayerInputIdx >= 0x1000) || ((gPlayerOne->unk_0CA & 2) != 0)) || ((gPlayerOne->unk_0CA & 8) != 0)) { + if (((sPlayerInputIdx >= 0x1000) || ((gPlayerOne->lakituProps & HELD_BY_LAKITU) != 0)) || ((gPlayerOne->lakituProps & LAKITU_SCENE) != 0)) { gPostTimeTrialReplayCannotSave = 1; return; } @@ -519,7 +519,7 @@ void func_80005B18(void) { sReplayGhostBufferSize = D_80162D86; D_80162DDC = 1; } - if ((gPlayerOne->type & 0x800) == 0x800) { + if ((gPlayerOne->type & PLAYER_CINEMATIC_MODE) == PLAYER_CINEMATIC_MODE) { func_80005AE8(gPlayerTwo); func_80005AE8(gPlayerThree); } else { diff --git a/src/spawn_players.c b/src/spawn_players.c index 0d2f23346..427e99556 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -83,7 +83,7 @@ void spawn_player(Player* player, s8 playerIndex, f32 startingRow, f32 startingC player->type = PLAYER_INACTIVE; player->kartPropulsionStrength = 0; player->characterId = characterId; - player->unk_0B6 = 0; + player->kartGraphics = 0; player->kartFriction = gKartFrictionTable[player->characterId]; player->boundingBoxSize = gKartBoundingBoxSizeTable[player->characterId]; player->kartGravity = gKartGravityTable[player->characterId]; @@ -165,8 +165,8 @@ void spawn_player(Player* player, s8 playerIndex, f32 startingRow, f32 startingC player->speed = 0.0f; player->unk_074 = 0.0f; player->type = playerType; - player->unk_0CA = 0; - player->waterInteractionFlags = WATER_NO_INTERACTION; + player->lakituProps = 0; + player->oobProps = 0; player->unk_10C = 0; player->unk_0E2 = 0; player->unk_0E8 = 0.0f; @@ -175,7 +175,7 @@ void spawn_player(Player* player, s8 playerIndex, f32 startingRow, f32 startingC player->currentSpeed = 0.0f; player->unk_20C = 0.0f; player->unk_DAC = 0.0f; - player->unk_044 = 0; + player->kartProps = 0; player->unk_046 = 0; player->triggers = 0; player->alpha = ALPHA_MAX; @@ -206,9 +206,9 @@ void spawn_player(Player* player, s8 playerIndex, f32 startingRow, f32 startingC player->unk_0C0 = 0; player->unk_0C2 = 0; player->unk_0C8 = 0; - player->unk_0CA = 0; + player->lakituProps = 0; player->boostTimer = 0; - player->waterInteractionFlags = WATER_NO_INTERACTION; + player->oobProps = 0; player->unk_0E0 = 0; player->unk_0E2 = 0; player->unk_10C = 0; |
