diff options
Diffstat (limited to 'src/player_controller.c')
| -rw-r--r-- | src/player_controller.c | 152 |
1 files changed, 76 insertions, 76 deletions
diff --git a/src/player_controller.c b/src/player_controller.c index bfb791f11..421581d06 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -1883,7 +1883,7 @@ void func_8002C954(Player* player, s8 playerId, Vec3f arg2) { player->unk_256 = 0; } if ((player->slopeAccel >= 0) && (((player->speed / 18.0f) * 216.0f) > 5.0f)) { - player_decelerate(player, 18.0f); + player_decelerate_alternative(player, 18.0f); } if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { xdist = gPlayerLastVelocity[playerId][0] - arg2[0]; @@ -1947,7 +1947,7 @@ void apply_effect(Player* player, s8 arg1, s8 arg2) { apply_boo_effect(player, arg1); } if (((player->effects & 0x20000000) == 0x20000000) && (player->unk_228 >= 0x64)) { - player_decelerate(player, 4.0f); + player_decelerate_alternative(player, 4.0f); } if (((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40)) { func_8008C9EC(player, arg1); @@ -1969,7 +1969,7 @@ void apply_effect(Player* player, s8 arg1, s8 arg2) { } if ((player->effects & 0x800000) == 0x800000) { func_8008D8B4(player, arg1); - player_decelerate(player, 10.0f); + player_decelerate_alternative(player, 10.0f); } if (gRaceState != RACE_FINISHED) { if (player->soundEffects & 0x04000000) { @@ -2547,13 +2547,13 @@ void func_8002E594(Player* player, UNUSED Camera* camera, s8 screenId, s8 player if (sp74 < 0.0f) { func_8003F734(player, sp48, sp54, &sp74, &spD0, &spCC, &spC8); func_8002C954(player, playerId, sp54); - player_decelerate(player, 6.0f); + player_decelerate_alternative(player, 6.0f); } sp74 = player->collision.surfaceDistance[1]; if (sp74 < 0.0f) { func_8003FBAC(player, sp48, sp54, &sp74, &spD0, &spCC, &spC8); func_8002C954(player, playerId, sp54); - player_decelerate(player, 6.0f); + player_decelerate_alternative(player, 6.0f); } sp74 = player->collision.surfaceDistance[0]; if (sp74 >= 0.0f) { @@ -3199,7 +3199,7 @@ void detect_triple_a_combo_a_pressed(Player* player) { } } -void player_accelerate(Player* player) { +void player_accelerate_alternative(Player* player) { s32 player_index; player_index = get_player_index_for_player(player); @@ -3312,7 +3312,7 @@ void player_accelerate(Player* player) { } } -void player_decelerate(Player* player, f32 speed) { +void player_decelerate_alternative(Player* player, f32 speed) { s32 player_index; player_index = get_player_index_for_player(player); @@ -3491,7 +3491,7 @@ void func_800323E4(Player* player) { player->effects |= 1; // This check will never be true, why is it here? if ((player->effects & 0x20) == 0x20) { - player_decelerate(player, 1.0f); + player_decelerate_alternative(player, 1.0f); player->unk_20C = var_f2; } else { if ((s32) player->tyres[BACK_RIGHT].surfaceType < 0xF) { @@ -3511,24 +3511,24 @@ void func_800323E4(Player* player) { } if (gIsPlayerTripleBButtonCombo[var_v1] == true) { if (player->unk_20C >= 2.0f) { - player_decelerate(player, (1.0f - var_f2) * 5.0f); + player_decelerate_alternative(player, (1.0f - var_f2) * 5.0f); } else { - player_decelerate(player, (1.0f - var_f2) * 3.0f); + player_decelerate_alternative(player, (1.0f - var_f2) * 3.0f); } } else { if (((player->speed / 18.0f) * 216.0f) <= 20.0f) { - player_decelerate(player, (1.0f - var_f2) * 4.0f); + player_decelerate_alternative(player, (1.0f - var_f2) * 4.0f); } if (player->unk_20C >= 2.0f) { - player_decelerate(player, (1.0f - var_f2) * 2.5); + player_decelerate_alternative(player, (1.0f - var_f2) * 2.5); } else { - player_decelerate(player, (1.0f - var_f2) * 1.2); + player_decelerate_alternative(player, (1.0f - var_f2) * 1.2); } } } } -void func_80032700(Player* player) { +void player_accelerate_during_start_sequence(Player* player) { s32 temp_v0; s32 var_v0; s32 test; @@ -3584,8 +3584,8 @@ void func_80032700(Player* player) { player->unk_098 = (player->currentSpeed * player->currentSpeed) / 25.0f; } -void func_80032CB0(Player* player, f32 arg1) { - player->currentSpeed -= arg1; +void player_decelerate_during_start_sequence(Player* player, f32 speedReduction) { + player->currentSpeed -= speedReduction; if (player->currentSpeed <= 0.0f) { player->currentSpeed = 0.0f; } @@ -3603,7 +3603,7 @@ void func_80032CB0(Player* player, f32 arg1) { player->unk_098 = (player->currentSpeed * player->currentSpeed) / 25.0f; } -void func_80032D94(Player* player) { +void player_accelerate(Player* player) { UNUSED s32 player_index; player_index = get_player_index_for_player(player); @@ -3643,8 +3643,8 @@ void func_80032D94(Player* player) { player->unk_098 = (player->currentSpeed * player->currentSpeed) / 25.0f; } -void func_80033280(Player* player, f32 arg1) { - player->currentSpeed -= arg1; +void player_decelerate(Player* player, f32 speedReduction) { + player->currentSpeed -= speedReduction; if (player->currentSpeed <= 0.0f) { player->currentSpeed = 0.0f; } @@ -3654,54 +3654,54 @@ void func_80033280(Player* player, f32 arg1) { player->unk_098 = (player->currentSpeed * player->currentSpeed) / 25.0f; } -void func_800332E8(Player* player, s32 arg1) { - if ((D_80165280[arg1] >= 0.0) && (D_80165280[arg1] < ((f64) player->topSpeed * 0.1))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][0] * 3.2; +void player_accelerate_global(Player* player, s32 playerIndex) { + if ((gPlayerCurrentSpeed[playerIndex] >= 0.0) && (gPlayerCurrentSpeed[playerIndex] < ((f64) player->topSpeed * 0.1))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][0] * 3.2; } - if (((player->topSpeed * 0.1) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.2))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][1] * 3.2; + if (((player->topSpeed * 0.1) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.2))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][1] * 3.2; } - if (((player->topSpeed * 0.2) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.3))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][2] * 3.2; + if (((player->topSpeed * 0.2) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.3))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][2] * 3.2; } - if (((player->topSpeed * 0.3) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.4))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][3] * 3.2; + if (((player->topSpeed * 0.3) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.4))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][3] * 3.2; } - if (((player->topSpeed * 0.4) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.5))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][4] * 3.2; + if (((player->topSpeed * 0.4) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.5))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][4] * 3.2; } - if (((player->topSpeed * 0.5) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.6))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][5] * 3.2; + if (((player->topSpeed * 0.5) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.6))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][5] * 3.2; } - if (((player->topSpeed * 0.6) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.7))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][6] * 3.2; + if (((player->topSpeed * 0.6) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.7))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][6] * 3.2; } - if (((player->topSpeed * 0.7) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.8))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][7] * 2.8; + if (((player->topSpeed * 0.7) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.8))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][7] * 2.8; } - if (((player->topSpeed * 0.8) <= D_80165280[arg1]) && (D_80165280[arg1] < (player->topSpeed * 0.9))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][8] * 2.8; + if (((player->topSpeed * 0.8) <= gPlayerCurrentSpeed[playerIndex]) && (gPlayerCurrentSpeed[playerIndex] < (player->topSpeed * 0.9))) { + gPlayerCurrentSpeed[playerIndex] += gKartAccelerationTables[player->characterId][8] * 2.8; } - if (((player->topSpeed * 0.9) <= D_80165280[arg1]) && (D_80165280[arg1] <= (player->topSpeed * 1.0))) { - D_80165280[arg1] += gKartAccelerationTables[player->characterId][9] * 2.8; + 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; - if (D_80165280[arg1] < 0.0f) { - D_80165280[arg1] = 0.0f; + if (gPlayerCurrentSpeed[playerIndex] < 0.0f) { + gPlayerCurrentSpeed[playerIndex] = 0.0f; } - player->unk_098 = (D_80165280[arg1] * D_80165280[arg1]) / 25.0f; + player->unk_098 = (gPlayerCurrentSpeed[playerIndex] * gPlayerCurrentSpeed[playerIndex]) / 25.0f; } -void func_800337CC(Player* player, f32 arg1, s32 arg2) { +void player_decelerate_global(Player* player, f32 speedReduction, s32 playerIndex) { player->unk_044 &= ~0x20; - D_80165280[arg2] -= arg1; - if (D_80165280[arg2] <= 0.0f) { - D_80165280[arg2] = 0.0f; + gPlayerCurrentSpeed[playerIndex] -= speedReduction; + if (gPlayerCurrentSpeed[playerIndex] <= 0.0f) { + gPlayerCurrentSpeed[playerIndex] = 0.0f; } - if (player->topSpeed <= D_80165280[arg2]) { - D_80165280[arg2] = player->topSpeed; + if (player->topSpeed <= gPlayerCurrentSpeed[playerIndex]) { + gPlayerCurrentSpeed[playerIndex] = player->topSpeed; } - player->unk_098 = (D_80165280[arg2] * D_80165280[arg2]) / 25.0f; + player->unk_098 = (gPlayerCurrentSpeed[playerIndex] * gPlayerCurrentSpeed[playerIndex]) / 25.0f; } void func_80033850(Player* player, f32 arg1) { @@ -4519,13 +4519,13 @@ void func_80037CFC(Player* player, struct Controller* controller, s8 arg2) { } if ((player->unk_044 & 1) != 1) { if (controller->button & A_BUTTON) { - player_accelerate(player); + player_accelerate_alternative(player); detect_triple_a_combo_a_pressed(player); } else { if (gModeSelection == BATTLE) { - player_decelerate(player, 2.0f); + player_decelerate_alternative(player, 2.0f); } else { - player_decelerate(player, 1.0f); + player_decelerate_alternative(player, 1.0f); } detect_triple_a_combo_a_released(player); } @@ -4555,9 +4555,9 @@ void func_80037CFC(Player* player, struct Controller* controller, s8 arg2) { } else { if ((player->effects & 0x4000) == 0x4000) { if (controller->button & A_BUTTON) { - player_accelerate(player); + player_accelerate_alternative(player); } else { - player_decelerate(player, 5.0f); + player_decelerate_alternative(player, 5.0f); } } if (((((player->effects & 0x80) == 0x80) || ((player->effects & 0x40) == 0x40)) || @@ -4565,24 +4565,24 @@ void func_80037CFC(Player* player, struct Controller* controller, s8 arg2) { ((player->effects & HIT_BY_ITEM_EFFECT) == HIT_BY_ITEM_EFFECT)) { if (controller->button & A_BUTTON) { detect_triple_a_combo_a_pressed(player); - func_800332E8(player, arg2); + player_accelerate_global(player, arg2); return; } detect_triple_a_combo_a_released(player); - func_800337CC(player, 5.0f, arg2); + player_decelerate_global(player, 5.0f, arg2); } } } -void func_800381AC(Player* player, struct Controller* controller, s8 arg2) { +void handle_a_press_for_player_during_race(Player* player, struct Controller* controller, s8 arg2) { 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 (controller->button & A_BUTTON) { - func_80032D94(player); + player_accelerate(player); } else { - func_80033280(player, 5.0f); + player_decelerate(player, 5.0f); } } else { func_80037CFC(player, controller, arg2); @@ -4595,15 +4595,15 @@ void func_800381AC(Player* player, struct Controller* controller, s8 arg2) { } } if (controller->button & A_BUTTON) { - func_80032700(player); + player_accelerate_during_start_sequence(player); } else { - func_80032CB0(player, 5.0f); + player_decelerate_during_start_sequence(player, 5.0f); } } } } -void func_800382DC(void) { +void handle_a_press_for_all_players_during_race(void) { u16 temp_v0_3; u16 temp_v0_4; u16 temp_v0_5; @@ -4613,31 +4613,31 @@ void func_800382DC(void) { case SCREEN_MODE_1P: switch (gModeSelection) { case GRAND_PRIX: - func_800381AC(gPlayerOne, gControllerOne, 0); + handle_a_press_for_player_during_race(gPlayerOne, gControllerOne, 0); return; case TIME_TRIALS: if (D_8015F890 != 1) { - func_800381AC(gPlayerOne, gControllerOne, 0); + 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)) { - func_800381AC(gPlayerTwo, gControllerSix, 1); + 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)) { - func_800381AC(gPlayerThree, gControllerSeven, 2); + handle_a_press_for_player_during_race(gPlayerThree, gControllerSeven, 2); return; } } else { if ((gPlayerOne->type & 0x800) != 0x800) { - func_800381AC(gPlayerOne, gControllerEight, 0); + 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)) { - func_800381AC(gPlayerTwo, gControllerSix, 1); + 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)) { - func_800381AC(gPlayerThree, gControllerSeven, 2); + handle_a_press_for_player_during_race(gPlayerThree, gControllerSeven, 2); return; } return; @@ -4648,15 +4648,15 @@ void func_800382DC(void) { break; case SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL: case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: - func_800381AC(gPlayerOne, gControllerOne, 0); - func_800381AC(gPlayerTwo, gControllerTwo, 1); + handle_a_press_for_player_during_race(gPlayerOne, gControllerOne, 0); + handle_a_press_for_player_during_race(gPlayerTwo, gControllerTwo, 1); return; case SCREEN_MODE_3P_4P_SPLITSCREEN: - func_800381AC(gPlayerOne, gControllerOne, 0); - func_800381AC(gPlayerTwo, gControllerTwo, 1); - func_800381AC(gPlayerThree, gControllerThree, 2); + handle_a_press_for_player_during_race(gPlayerOne, gControllerOne, 0); + handle_a_press_for_player_during_race(gPlayerTwo, gControllerTwo, 1); + handle_a_press_for_player_during_race(gPlayerThree, gControllerThree, 2); if (gPlayerCountSelection1 == 4) { - func_800381AC(gPlayerFour, gControllerFour, 3); + handle_a_press_for_player_during_race(gPlayerFour, gControllerFour, 3); } break; } |
