Rename some effects

This commit is contained in:
Jed Grabman 2025-06-30 23:08:35 -04:00
parent 5163d69277
commit ec325489dc
12 changed files with 89 additions and 89 deletions

View File

@ -322,7 +322,7 @@ enum PLACE { FIRST_PLACE, SECOND_PLACE, THIRD_PLACE, FOURTH_PLACE };
#define HOLD_BANANA_SOUND_EFFECT 0x40000 // holding a banana
#define REVERSE_SOUND_EFFECT 0x400000 // being in the wrong direction
#define BOOST_RAMP_ASPHALT_SOUND_EFFECT 0x800000 // being boosted by a boost pad
#define HIT_BY_ITEM_SOUND_EFFECT 0x1000000 // being hit by an item
#define HIT_BY_STAR_SOUND_EFFECT 0x1000000 // being hit by an item
/**
* @brief effect of player's
@ -330,35 +330,35 @@ enum PLACE { FIRST_PLACE, SECOND_PLACE, THIRD_PLACE, FOURTH_PLACE };
*/
#define BRAKING_EFFECT 0x1 // pressing brake
#define HOP_EFFECT 0x2 // from when you hop to when you land
#define BOOST_RAMP_WOOD_EFFECT 0x4 // being boosted by a ramp
#define BOOST_RAMP_WOOD_EFFECT 0x4 // being boosted by DKJP ramp
#define MIDAIR_EFFECT 0x8 // in midair
#define DRIFTING_EFFECT 0x10 // drifting
#define AB_SPIN_EFFECT 0x20 // spinning with a+b
#define DRIVING_SPINOUT_EFFECT 0x40 // spinout (from erratic driving)
#define DRIVING_SPINOUT_EFFECT 0x40 // spinout (from erratic driving) or crab
#define BANANA_SPINOUT_EFFECT 0x80 // spinout (from hitting a banana or another driver)
#define MINI_TURBO_EFFECT 0x100 // mini-turbo
#define STAR_EFFECT 0x200 // being a star
#define STAR_EFFECT 0x200 // using a star
#define HIT_BY_GREEN_SHELL_EFFECT 0x400 // tumbling after hit with a green shell
#define BANANA_NEAR_SPINOUT_EFFECT 0x800 // decreased steering sensitivity after hitting a banana, but before spinning out
#define LOST_RACE_EFFECT 0x1000 // lost race in GP mode
#define BOOST_EFFECT 0x2000 // being boosted by trigger a mushroom
#define MUSHROOM_EFFECT 0x2000 // using a mushroom
#define EARLY_START_SPINOUT_EFFECT 0x4000 // spinning out by pressing a too early at the startline or after lakitu retrieves you
#define ENEMY_BONK_EFFECT 0x8000 // bouncing off an enemy (penguin, thwomp, etc)
#define TERRAIN_TUMBLE_EFFECT 0x10000 // tumbling after hitting steep terrain
#define LIGHTNING_STRIKE_EFFECT 0x20000 // spinning / shrinking during a lightning strike
#define BANANA_SPINOUT_SAVE_EFFECT 0x40000 // saving from spinning out by pressing b
#define LIGHTNING_STRIKE_EFFECT 0x20000 // spinning and shrinking during a lightning strike
#define BANANA_SPINOUT_SAVE_EFFECT 0x40000 // avoid spinning out by pressing b
#define UNKNOWN_EFFECT_0x80000 0x80000 // Only set when soundEffect 0x1000 is set. Unclear if it ever is
#define BOOST_RAMP_ASPHALT_EFFECT 0x100000 // being boosted by a boost pad
#define CPU_FAST_EFFECT 0x200000 // CPU Rubberbanding flag?
#define REVERSE_EFFECT 0x400000 // being in reverse of the course
#define BOOST_RAMP_ASPHALT_EFFECT 0x100000 // being boosted by the Royal Raceway ramp
#define CPU_FAST_EFFECT 0x200000 // CPU Rubberbanding flag
#define REVERSE_EFFECT 0x400000 // facing backwards
#define UNKNOWN_EFFECT_0x800000 0x800000 // Only set when soundEffect 0x20000 is set
#define EXPLOSION_CRASH_EFFECT 0x1000000 // vertical launch (hitting car, snowman, etc.)
#define HIT_BY_STAR_EFFECT 0x2000000 // being hit by an item
#define HIT_EFFECT 0x4000000 // hitting an object
#define HIT_BY_STAR_EFFECT 0x2000000 // being hit by a red shell or star
#define SQUISH_EFFECT 0x4000000 // hitting an object
#define POST_SQUISH_EFFECT 0x8000000 // briefly after being squished (boulder, thwomp, etc.)
#define UNKNOWN_EFFECT_0x10000000 0x10000000 // UNUSED (set in unused func_8008FDF4)
#define DRIFT_OUTSIDE_EFFECT 0x20000000 // drifting toward the outside of your turn
#define LIGHTNING_EFFECT 0x40000000 // being hit by lightning
#define LIGHTNING_EFFECT 0x40000000 // suffering the effects of lightning
#define BOO_EFFECT 0x80000000 // being a boo
#define ALL_EFFECTS 0xFFFFFFFF

View File

@ -1027,7 +1027,7 @@ void func_8001F394(Player* player, f32* arg1) {
if (player->soundEffects & HOLD_BANANA_SOUND_EFFECT) {
D_80164A08[playerIndex] = 1;
}
if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) {
if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) {
D_80164A08[playerIndex] = 2;
}
if ((player->effects & BOOST_RAMP_ASPHALT_EFFECT) == BOOST_RAMP_ASPHALT_EFFECT) {
@ -1055,7 +1055,7 @@ void func_8001F394(Player* player, f32* arg1) {
}
break;
case 2:
if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) {
if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) {
if (player->boostTimer != 0) {
move_f32_towards(&D_80164498[playerIndex], 8.0f, 0.2f);
}

View File

@ -73,8 +73,8 @@ void func_8003E048(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
arg3[2] = (-(player->slopeAccel / 182) * 0xB4);
player_decelerate_alternative(player, 4.0f);
player->unk_DAC = 0.5f;
if ((player->effects & BOOST_EFFECT) != 0) {
remove_boost_effect(player);
if ((player->effects & MUSHROOM_EFFECT) != 0) {
remove_mushroom_effect(player);
player->currentSpeed /= 2;
player->unk_08C /= 2;
}
@ -102,8 +102,8 @@ void func_8003E37C(Player* player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32* arg4
player_decelerate_alternative(player, 5.0f);
}
player->unk_DAC = 0.5f;
if ((player->effects & BOOST_EFFECT) != 0) {
remove_boost_effect(player);
if ((player->effects & MUSHROOM_EFFECT) != 0) {
remove_mushroom_effect(player);
player->currentSpeed /= 2;
player->unk_08C /= 2;
}

View File

@ -1454,7 +1454,7 @@ void func_8005A14C(s32 playerId) {
} else {
f32_step_towards(&gObjectList[objectIndex].sizeScaling, 0.6f, 0.02f);
}
if (player->effects & HIT_EFFECT) {
if (player->effects & SQUISH_EFFECT) {
u16_step_up_towards(&gObjectList[objectIndex].direction_angle[0], 0x0C00U, 0x0100U);
} else {
u16_step_down_towards(&gObjectList[objectIndex].direction_angle[0], 0, 0x00000100);
@ -3584,7 +3584,7 @@ void func_80060504(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8
player->particles[arg1].unk_024 = 0.0f;
if ((player->unk_044 & 0x20) == 0x20) {
player->particles[arg1].unk_040 = 0;
if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) {
if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) {
set_particle_colour(&player->particles[arg1], 0x00FFFF00, 0x0080);
player->particles[arg1].red = 1;
} else {
@ -3593,7 +3593,7 @@ void func_80060504(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8
}
} else {
player->particles[arg1].unk_040 = 1;
if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) {
if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) {
set_particle_colour(&player->particles[arg1], 0x00FFFF00, 0x0080);
player->particles[arg1].red = 1;
} else {
@ -4260,7 +4260,7 @@ void func_80062C74(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
} else {
var_f6 = -((player->unk_098 / 6000.0f) + 0.1);
}
if (((player->effects & BOOST_EFFECT) == BOOST_EFFECT) && (player->particles[arg1].timer >= 6)) {
if (((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) && (player->particles[arg1].timer >= 6)) {
player->particles[arg1].scale = player->particles[arg1].scale + 0.06;
}
player->particles[arg1].unk_010++;
@ -6367,7 +6367,7 @@ void func_8006C9B8(Player* player, s16 arg1, s8 playerIndex, s8 arg3) {
player->unk_044 &= ~0x0100;
return;
}
if ((player->effects & BOOST_EFFECT) && (player->type & PLAYER_HUMAN)) {
if ((player->effects & MUSHROOM_EFFECT) && (player->type & PLAYER_HUMAN)) {
func_800621BC(player, arg1, sp28, playerIndex, arg3);
return;
}
@ -6428,7 +6428,7 @@ void func_8006CEC0(Player* arg0, s16 arg1, s8 arg2, s8 arg3) {
}
switch (gActiveScreenMode) {
case SCREEN_MODE_1P:
if (((arg0->effects & HIT_EFFECT) != HIT_EFFECT) && ((arg0->effects & HIT_BY_GREEN_SHELL_EFFECT) != HIT_BY_GREEN_SHELL_EFFECT) &&
if (((arg0->effects & SQUISH_EFFECT) != SQUISH_EFFECT) && ((arg0->effects & HIT_BY_GREEN_SHELL_EFFECT) != HIT_BY_GREEN_SHELL_EFFECT) &&
((arg0->effects & EXPLOSION_CRASH_EFFECT) != EXPLOSION_CRASH_EFFECT)) {
if (((arg0->unk_0CA & 2) != 2) && ((arg0->unk_0CA & 0x10) != 0x10) && !(arg0->unk_0CA & 0x100)) {
func_80060504(arg0, arg1, sp20, arg2, arg3);
@ -6440,7 +6440,7 @@ void func_8006CEC0(Player* arg0, 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 (((arg0->type & 0x4000) != 0) && ((arg0->effects & HIT_EFFECT) != HIT_EFFECT) &&
if (((arg0->type & 0x4000) != 0) && ((arg0->effects & SQUISH_EFFECT) != SQUISH_EFFECT) &&
((arg0->effects & HIT_BY_GREEN_SHELL_EFFECT) != HIT_BY_GREEN_SHELL_EFFECT) &&
((arg0->effects & EXPLOSION_CRASH_EFFECT) != EXPLOSION_CRASH_EFFECT)) {
if (((arg0->unk_0CA & 2) != 2) && ((arg0->unk_0CA & 0x10) != 0x10) && !(arg0->unk_0CA & 0x100)) {

View File

@ -1360,7 +1360,7 @@ void play_cpu_sound_effect(s32 arg0, Player* player) {
}
if (D_801633B0[arg0] >= 0xB) {
if ((player->soundEffects & 0x400000) || (player->soundEffects & 0x01000000) ||
(player->soundEffects & 2) || (player->soundEffects & 4) || (player->effects & HIT_EFFECT)) {
(player->soundEffects & 2) || (player->soundEffects & 4) || (player->effects & SQUISH_EFFECT)) {
func_800C92CC(arg0, SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0B));
D_801633B0[arg0] = 0;
}
@ -4440,7 +4440,7 @@ void cpu_use_item_strategy(s32 playerId) {
if (cpuStrategy->timer < 10000) {
cpuStrategy->timer += 1;
}
if (player->effects & (BOO_EFFECT | BOOST_EFFECT | STAR_EFFECT)) {
if (player->effects & (BOO_EFFECT | MUSHROOM_EFFECT | STAR_EFFECT)) {
cpuStrategy->timer = 0;
}
}

View File

@ -135,7 +135,7 @@ UNUSED void func_unnamed33(void) {
void func_8008C310(Player* player) {
if ((player->soundEffects & 2) || (player->soundEffects & 4) || ((player->soundEffects << 9) < 0) ||
(player->soundEffects & HIT_BY_ITEM_SOUND_EFFECT)) {
(player->soundEffects & HIT_BY_STAR_SOUND_EFFECT)) {
player->unk_0B6 = ((u16) player->unk_0B6 | 0x1000);
}
}
@ -158,8 +158,8 @@ void clean_effect(Player* player, s8 playerIndex) {
if ((player->unk_044 & 0x4000) != 0) {
func_8008D3B0(player, playerIndex);
}
if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) {
remove_boost_effect(player);
if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) {
remove_mushroom_effect(player);
}
if ((player->effects & UNKNOWN_EFFECT_0x80000) == UNKNOWN_EFFECT_0x80000) {
func_8008D760(player);
@ -171,7 +171,7 @@ void clean_effect(Player* player, s8 playerIndex) {
func_8008E884(player, playerIndex);
}
if ((player->effects & HIT_BY_STAR_EFFECT) == HIT_BY_STAR_EFFECT) {
remove_hit_by_item_effect(player, playerIndex);
remove_hit_by_star_effect(player, playerIndex);
}
if ((player->effects & BOOST_RAMP_ASPHALT_EFFECT) == BOOST_RAMP_ASPHALT_EFFECT) {
remove_boost_ramp_asphalt_effect(player);
@ -510,7 +510,7 @@ void apply_boost_sound_effect(Player* player, s8 playerIndex) {
clean_effect(player, playerIndex);
player->effects |= BOOST_EFFECT;
player->effects |= MUSHROOM_EFFECT;
player->soundEffects &= ~BOOST_SOUND_EFFECT;
player->unk_DB4.unk0 = 0;
player->unk_DB4.unk8 = 8.0f;
@ -531,7 +531,7 @@ void apply_boost_sound_effect(Player* player, s8 playerIndex) {
player->boostTimer = 0x50;
}
void apply_boost_effect(Player* player) {
void apply_mushroom_effect(Player* player) {
player->currentSpeed = (f32) player->topSpeed;
if (player->boostTimer > 0) {
--player->boostTimer;
@ -544,12 +544,12 @@ void apply_boost_effect(Player* player) {
}
if (player->boostPower <= 1.0f) {
player->effects &= ~BOOST_EFFECT;
player->effects &= ~MUSHROOM_EFFECT;
}
}
void remove_boost_effect(Player* player) {
player->effects &= ~BOOST_EFFECT;
void remove_mushroom_effect(Player* player) {
player->effects &= ~MUSHROOM_EFFECT;
player->boostPower = 0.0f;
}
@ -690,7 +690,7 @@ void func_8008D9C0(Player* player) {
void apply_hit_sound_effect(Player* player, s8 playerIndex) {
clean_effect(player, playerIndex);
if ((player->effects & HIT_EFFECT) == 0) {
if ((player->effects & SQUISH_EFFECT) == 0) {
player->unk_DB4.unk2 = 0;
player->unk_238 = 0;
player->unk_DB4.unk10 = 4.5f;
@ -708,11 +708,11 @@ void apply_hit_sound_effect(Player* player, s8 playerIndex) {
player->unk_046 |= 0x80;
}
if (((player->type & PLAYER_HUMAN) != 0) && ((player->effects & HIT_EFFECT) == 0)) {
if (((player->type & PLAYER_HUMAN) != 0) && ((player->effects & SQUISH_EFFECT) == 0)) {
func_800C90F4(playerIndex, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x05));
}
player->effects |= HIT_EFFECT;
player->effects |= SQUISH_EFFECT;
if (((player->type) & 0x1000) != 0) {
play_cpu_sound_effect(playerIndex, player);
}
@ -810,7 +810,7 @@ void apply_hit_effect(Player* player, s8 playerIndex) {
break;
case 3:
player->unk_DB4.unk10 = 3.0f;
player->effects &= ~HIT_EFFECT;
player->effects &= ~SQUISH_EFFECT;
player->unk_DB4.unk2 = 0;
player->effects |= POST_SQUISH_EFFECT;
player->size = 1.0f;
@ -863,7 +863,7 @@ void apply_hit_rotating_sound_effect(Player* player, s8 playerIndex) {
void apply_lightning_effect(Player* player, s8 playerIndex) {
s16 test;
if (((player->effects & ENEMY_BONK_EFFECT) == ENEMY_BONK_EFFECT) && ((player->effects & HIT_EFFECT) != HIT_EFFECT)) {
if (((player->effects & ENEMY_BONK_EFFECT) == ENEMY_BONK_EFFECT) && ((player->effects & SQUISH_EFFECT) != SQUISH_EFFECT)) {
player->effects &= ~LIGHTNING_STRIKE_EFFECT;
player->unk_0A8 = 0;
player->unk_07C = 0;
@ -1044,7 +1044,7 @@ void func_8008E884(Player* player, s8 playerIndex) {
player->unk_042 = 0;
}
void apply_hit_by_item_effect(Player* player, s8 playerIndex) {
void apply_hit_by_star_effect(Player* player, s8 playerIndex) {
player->unk_206 = 0;
player->slopeAccel = 0;
player->unk_0C0 = 0;
@ -1101,7 +1101,7 @@ void apply_hit_by_item_effect(Player* player, s8 playerIndex) {
}
}
void apply_hit_by_item_sound_effect(Player* player, s8 playerIndex) {
void apply_hit_by_star_sound_effect(Player* player, s8 playerIndex) {
clean_effect(player, playerIndex);
func_8008C310(player);
@ -1134,7 +1134,7 @@ void apply_hit_by_item_sound_effect(Player* player, s8 playerIndex) {
gFrameSinceLastACombo[playerIndex] = 0;
}
void remove_hit_by_item_effect(Player* player, s8 playerIndex) {
void remove_hit_by_star_effect(Player* player, s8 playerIndex) {
player->effects &= ~HIT_BY_STAR_EFFECT;
player->unk_0A8 = 0;
player->unk_236 = 0;
@ -1972,8 +1972,8 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) {
}
}
#define EFFECT_BLACKLIST_USE_ITEM \
LIGHTNING_EFFECT | UNKNOWN_EFFECT_0x10000000 | POST_SQUISH_EFFECT | HIT_EFFECT | HIT_BY_STAR_EFFECT | EXPLOSION_CRASH_EFFECT | UNKNOWN_EFFECT_0x800000 | \
#define BLOCK_ITEM_USE_EFFECTS \
LIGHTNING_EFFECT | UNKNOWN_EFFECT_0x10000000 | POST_SQUISH_EFFECT | SQUISH_EFFECT | HIT_BY_STAR_EFFECT | EXPLOSION_CRASH_EFFECT | UNKNOWN_EFFECT_0x800000 | \
BOOST_RAMP_ASPHALT_EFFECT | LIGHTNING_STRIKE_EFFECT | TERRAIN_TUMBLE_EFFECT | EARLY_START_SPINOUT_EFFECT | BANANA_NEAR_SPINOUT_EFFECT | HIT_BY_GREEN_SHELL_EFFECT | STAR_EFFECT | BANANA_SPINOUT_EFFECT | DRIVING_SPINOUT_EFFECT | \
BOOST_RAMP_WOOD_EFFECT
@ -1994,12 +1994,12 @@ bool prevent_item_use(Player* player) {
if ((player->effects & MIDAIR_EFFECT) != 0) {
return true;
}
phi_v0 = EFFECT_BLACKLIST_USE_ITEM;
phi_v0 = BLOCK_ITEM_USE_EFFECTS;
goto prevent_item_use_label;
case ITEM_STAR:
phi_v0 = BOO_EFFECT | EFFECT_BLACKLIST_USE_ITEM;
phi_v0 = BOO_EFFECT | BLOCK_ITEM_USE_EFFECTS;
case ITEM_BOO:
phi_v0 = phi_v0 | (BOO_EFFECT | EFFECT_BLACKLIST_USE_ITEM);
phi_v0 = phi_v0 | (BOO_EFFECT | BLOCK_ITEM_USE_EFFECTS);
prevent_item_use_label:
default:
if ((player->effects & phi_v0) != 0) {

View File

@ -60,8 +60,8 @@ void func_8008D0FC(Player*, s8);
void func_8008D170(Player*, s8);
void func_8008D3B0(Player*, s8);
void apply_boost_sound_effect(Player*, s8);
void apply_boost_effect(Player*);
void remove_boost_effect(Player*);
void apply_mushroom_effect(Player*);
void remove_mushroom_effect(Player*);
void func_8008D570(Player*, s8);
void func_8008D698(Player*, s8);
void func_8008D760(Player*);
@ -77,9 +77,9 @@ void remove_lightning_effect(Player*, s8);
void func_8008E4A4(Player*, s8);
void apply_reverse_sound_effect(Player*, s8);
void func_8008E884(Player*, s8);
void apply_hit_by_item_effect(Player*, s8);
void apply_hit_by_item_sound_effect(Player*, s8);
void remove_hit_by_item_effect(Player*, s8);
void apply_hit_by_star_effect(Player*, s8);
void apply_hit_by_star_sound_effect(Player*, s8);
void remove_hit_by_star_effect(Player*, s8);
void apply_boost_ramp_asphalt_sound_effect(Player*, s8);
void apply_boost_ramp_asphalt_effect(Player*);
void remove_boost_ramp_asphalt_effect(Player*);

View File

@ -583,7 +583,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) && (D_800DC510 != 5)) || (player->unk_0CA & 2) != 0 ||
(player->unk_0CA & 8) != 0 ||
(player->effects & (LIGHTNING_EFFECT | EXPLOSION_CRASH_EFFECT | HIT_BY_STAR_EFFECT | HIT_EFFECT | POST_SQUISH_EFFECT |
(player->effects & (LIGHTNING_EFFECT | EXPLOSION_CRASH_EFFECT | HIT_BY_STAR_EFFECT | SQUISH_EFFECT | POST_SQUISH_EFFECT |
TERRAIN_TUMBLE_EFFECT | 0xC00 | 0xC0)) != 0) {
player->effects &= ~LOST_RACE_EFFECT;
@ -733,7 +733,7 @@ void func_8002934C(Player* player, Camera* camera, s8 screenId, s8 playerId) {
player->unk_0CC[screenId] = atan1s(temp_f0 / temp_f2) * 2;
}
}
if ((player->effects & HIT_EFFECT) == HIT_EFFECT) {
if ((player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) {
player->unk_0CC[screenId] = (s16) ((s32) player->unk_D9C);
}
if ((player->effects & MIDAIR_EFFECT) != MIDAIR_EFFECT) {
@ -747,7 +747,7 @@ void func_8002934C(Player* player, Camera* camera, s8 screenId, s8 playerId) {
}
player->unk_0D4[screenId] = (s16) ((s32) (((f64) atan1s(var_f0 / temp_f2)) * 0.5));
}
if ((player->effects & HIT_EFFECT) == HIT_EFFECT) {
if ((player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) {
player->unk_0D4[screenId] = (s16) ((s32) player->unk_D9C);
}
func_80029200(player, screenId);
@ -1084,7 +1084,7 @@ void func_8002A5F4(Vec3f arg0, f32 arg1, Vec3f arg2, f32 arg3, f32 arg4) {
}
void func_8002A704(Player* player, s8 playerIndex) {
player->effects |= BOOST_EFFECT;
player->effects |= MUSHROOM_EFFECT;
player->soundEffects &= ~0x02000000;
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) &&
((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
@ -1352,7 +1352,7 @@ void func_8002B218(Player* player) {
void apply_sound_effect(Player* player, s8 playerId, UNUSED s8 screenId) {
if ((player->soundEffects & 2) == 2) {
apply_hit_by_item_sound_effect(player, playerId);
apply_hit_by_star_sound_effect(player, playerId);
}
if ((player->soundEffects & 4) == 4) {
func_8008C528(player, playerId);
@ -1384,8 +1384,8 @@ void apply_sound_effect(Player* player, s8 playerId, UNUSED s8 screenId) {
if ((player->soundEffects & REVERSE_SOUND_EFFECT) == REVERSE_SOUND_EFFECT) {
apply_reverse_sound_effect(player, playerId);
}
if ((player->soundEffects & HIT_BY_ITEM_SOUND_EFFECT) == HIT_BY_ITEM_SOUND_EFFECT) {
apply_hit_by_item_sound_effect(player, playerId);
if ((player->soundEffects & HIT_BY_STAR_SOUND_EFFECT) == HIT_BY_STAR_SOUND_EFFECT) {
apply_hit_by_star_sound_effect(player, playerId);
}
if ((player->soundEffects & BOOST_RAMP_ASPHALT_SOUND_EFFECT) == BOOST_RAMP_ASPHALT_SOUND_EFFECT) {
apply_boost_ramp_asphalt_sound_effect(player, playerId);
@ -1429,7 +1429,7 @@ void func_8002B5C0(Player* player, UNUSED s8 playerId, UNUSED s8 screenId) {
if ((player->effects & UNKNOWN_EFFECT_0x800000) == UNKNOWN_EFFECT_0x800000) {
player->soundEffects &= 0xFE1D0478;
}
if ((player->effects & HIT_EFFECT) == HIT_EFFECT) {
if ((player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) {
player->soundEffects &= 0xFE1D0578;
}
if ((player->effects & EXPLOSION_CRASH_EFFECT) == EXPLOSION_CRASH_EFFECT) {
@ -1823,7 +1823,7 @@ void func_8002C4F8(Player* player, s8 playerIndex) {
void func_8002C7E4(Player* player, s8 playerIndex, s8 arg2) {
if ((player->unk_046 & 1) != 1) {
if ((player->effects & ENEMY_BONK_EFFECT) == ENEMY_BONK_EFFECT) {
if ((player->effects & BOOST_EFFECT) != BOOST_EFFECT) {
if ((player->effects & MUSHROOM_EFFECT) != MUSHROOM_EFFECT) {
func_8002B9CC(player, playerIndex, arg2);
}
player->unk_044 &= ~0x0001;
@ -1836,8 +1836,8 @@ void func_8002C7E4(Player* player, s8 playerIndex, s8 arg2) {
if ((player->unk_046 & 4) != 4) {
player->unk_046 |= 4;
player->unk_046 |= 0x40;
if (player->effects & BOOST_EFFECT) {
remove_boost_effect(player);
if (player->effects & MUSHROOM_EFFECT) {
remove_mushroom_effect(player);
}
}
}
@ -1914,8 +1914,8 @@ void func_8002C954(Player* player, s8 playerId, Vec3f velocity) {
}
}
}
if (player->effects & BOOST_EFFECT) {
remove_boost_effect(player);
if (player->effects & MUSHROOM_EFFECT) {
remove_mushroom_effect(player);
player->unk_08C /= 2;
}
}
@ -1930,8 +1930,8 @@ void apply_effect(Player* player, s8 playerIndex, s8 arg2) {
if (player->unk_044 & 0x4000) {
func_8008D170(player, playerIndex);
}
if ((player->effects & BOOST_EFFECT) == BOOST_EFFECT) {
apply_boost_effect(player);
if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) {
apply_mushroom_effect(player);
}
if ((player->effects & BOOST_RAMP_ASPHALT_EFFECT) == BOOST_RAMP_ASPHALT_EFFECT) {
apply_boost_ramp_asphalt_effect(player);
@ -1939,7 +1939,7 @@ void apply_effect(Player* player, s8 playerIndex, s8 arg2) {
if ((player->effects & BOOST_RAMP_WOOD_EFFECT) == BOOST_RAMP_WOOD_EFFECT) {
apply_boost_ramp_wood_effect(player);
}
if ((s32) (player->effects & HIT_EFFECT) == HIT_EFFECT) {
if ((s32) (player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) {
apply_hit_effect(player, playerIndex);
}
if ((player->effects & LIGHTNING_EFFECT) == LIGHTNING_EFFECT) {
@ -1967,7 +1967,7 @@ void apply_effect(Player* player, s8 playerIndex, s8 arg2) {
func_8008E4A4(player, playerIndex);
}
if ((player->effects & HIT_BY_STAR_EFFECT) == HIT_BY_STAR_EFFECT) {
apply_hit_by_item_effect(player, playerIndex);
apply_hit_by_star_effect(player, playerIndex);
}
if ((player->effects & EARLY_START_SPINOUT_EFFECT) == EARLY_START_SPINOUT_EFFECT) {
func_8008F1B8(player, playerIndex);
@ -2146,7 +2146,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player
newVelocity[1] = player->velocity[1];
newVelocity[2] = player->velocity[2];
if (((player->unk_10C < 3) && (((s32) player->unk_256) < 3)) ||
((player->effects & BOOST_EFFECT) == BOOST_EFFECT)) {
((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT)) {
if (((player->unk_07C >> 16) >= 0x28) || ((player->unk_07C >> 16) < (-0x27))) {
@ -2176,7 +2176,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player
(((((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)) ||
((player->effects & HIT_EFFECT) == HIT_EFFECT)) ||
((player->effects & SQUISH_EFFECT) == SQUISH_EFFECT)) ||
(player->unk_0CA & 1)) {
newVelocity[0] = 0.0f;
newVelocity[1] = 0.0f;
@ -2198,7 +2198,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player
nextZ = posZ + player->velocity[2] + D_8018CE10[playerId].unk_04[2];
if (((((player->unk_0CA & 2) != 2) && ((player->unk_0CA & 8) != 8)) &&
((player->effects & HIT_EFFECT) != HIT_EFFECT)) &&
((player->effects & SQUISH_EFFECT) != SQUISH_EFFECT)) &&
(!(player->unk_0CA & 1))) {
func_8002AAC0(player);
nextY += player->kartHopVelocity;
@ -3032,7 +3032,7 @@ f32 func_80030150(Player* player, s8 playerIndex) {
((player->effects & HIT_BY_STAR_EFFECT) == HIT_BY_STAR_EFFECT)) {
return (1.0f - player->unk_104) * var_f2;
}
if (((player->effects & BOOST_EFFECT) == BOOST_EFFECT) ||
if (((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) ||
((player->effects & BOOST_RAMP_ASPHALT_EFFECT) == BOOST_RAMP_ASPHALT_EFFECT) ||
((player->effects & BOOST_RAMP_WOOD_EFFECT) == BOOST_RAMP_WOOD_EFFECT)) {
func_8002FE84(player, player->boostPower + player->unk_08C);
@ -4143,7 +4143,7 @@ void apply_cpu_turn(Player* player, s16 targetAngle) {
if (!((player->effects & BANANA_SPINOUT_EFFECT) || (player->effects & DRIVING_SPINOUT_EFFECT) || (player->effects & HIT_BY_GREEN_SHELL_EFFECT) ||
(player->effects & TERRAIN_TUMBLE_EFFECT) || (player->effects & LIGHTNING_STRIKE_EFFECT) ||
(player->effects & EXPLOSION_CRASH_EFFECT) || (player->effects & HIT_BY_STAR_EFFECT) ||
(player->effects & HIT_EFFECT))) {
(player->effects & SQUISH_EFFECT))) {
if (!(((player->speed / 18.0f) * 216.0f) >= 110.0f)) {
player->effects &= ~DRIFT_OUTSIDE_EFFECT;
player->unk_228 = 0;
@ -4502,7 +4502,7 @@ void func_80037CFC(Player* player, struct Controller* controller, s8 playerIndex
((player->effects & HIT_BY_STAR_EFFECT) != HIT_BY_STAR_EFFECT) &&
((player->effects & TERRAIN_TUMBLE_EFFECT) != TERRAIN_TUMBLE_EFFECT) &&
((player->effects & LIGHTNING_STRIKE_EFFECT) != LIGHTNING_STRIKE_EFFECT)) {
if (((player->effects & HIT_EFFECT) != HIT_EFFECT) && ((player->effects & MIDAIR_EFFECT) != MIDAIR_EFFECT) &&
if (((player->effects & SQUISH_EFFECT) != SQUISH_EFFECT) && ((player->effects & MIDAIR_EFFECT) != MIDAIR_EFFECT) &&
((player->effects & HOP_EFFECT) != HOP_EFFECT) && ((player->effects & DRIFTING_EFFECT) != DRIFTING_EFFECT) &&
(controller->buttonPressed & R_TRIG)) {
kart_hop(player);

View File

@ -2281,12 +2281,12 @@ void evaluate_collision_for_players_and_actors(void) {
for (i = 0; i < NUM_PLAYERS; i++) {
phi_s1 = &gPlayers[i];
if (((phi_s1->type & PLAYER_EXISTS) != 0) && ((phi_s1->effects & HIT_EFFECT) == 0)) {
if (((phi_s1->type & PLAYER_EXISTS) != 0) && ((phi_s1->effects & SQUISH_EFFECT) == 0)) {
func_802977E4(phi_s1);
for (j = 0; j < ACTOR_LIST_SIZE; j++) {
temp_a1 = &gActorList[j];
if ((phi_s1->effects & HIT_EFFECT) == 0) {
if ((phi_s1->effects & SQUISH_EFFECT) == 0) {
// temp_v0 = temp_a1->unk2;
if (((temp_a1->flags & 0x8000) != 0) && ((temp_a1->flags & 0x4000) != 0)) {
evaluate_collision_between_player_actor(phi_s1, temp_a1);

View File

@ -1150,10 +1150,10 @@ void func_802903D8(Player* playerOne, Player* playerTwo) {
}
if (playerOne->effects & STAR_EFFECT) {
if (!(playerTwo->effects & STAR_EFFECT)) {
playerTwo->soundEffects |= HIT_BY_ITEM_SOUND_EFFECT;
playerTwo->soundEffects |= HIT_BY_STAR_SOUND_EFFECT;
}
} else if (playerTwo->effects & STAR_EFFECT) {
playerOne->soundEffects |= HIT_BY_ITEM_SOUND_EFFECT;
playerOne->soundEffects |= HIT_BY_STAR_SOUND_EFFECT;
} else {
playerOne->effects |= ENEMY_BONK_EFFECT;
playerTwo->effects |= ENEMY_BONK_EFFECT;
@ -1212,13 +1212,13 @@ void func_802909F0(void) {
ply = &gPlayers[i];
if ((ply->type & PLAYER_EXISTS) && (!(ply->effects & BOO_EFFECT)) &&
(!(ply->type & PLAYER_INVISIBLE_OR_BOMB)) && (!(ply->effects & HIT_EFFECT))) {
(!(ply->type & PLAYER_INVISIBLE_OR_BOMB)) && (!(ply->effects & SQUISH_EFFECT))) {
for (k = i + 1; k < NUM_PLAYERS; k++) {
ply2 = &gPlayers[k];
if ((ply2->type & PLAYER_EXISTS) && (!(ply2->effects & BOO_EFFECT)) &&
(!(ply2->type & PLAYER_INVISIBLE_OR_BOMB)) && (!(ply2->effects & HIT_EFFECT))) {
(!(ply2->type & PLAYER_INVISIBLE_OR_BOMB)) && (!(ply2->effects & SQUISH_EFFECT))) {
func_802903D8(ply, ply2);
}

View File

@ -956,8 +956,8 @@ void func_80022A98(Player* player, s8 playerIndex) {
if ((player->type & PLAYER_EXISTS) == PLAYER_EXISTS) {
func_80026A48(player, playerIndex);
func_800235AC(player, playerIndex);
if (((player->effects & HIT_EFFECT) == HIT_EFFECT) || ((player->effects & POST_SQUISH_EFFECT) == POST_SQUISH_EFFECT)) {
if ((player->effects & HIT_EFFECT) == HIT_EFFECT) {
if (((player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) || ((player->effects & POST_SQUISH_EFFECT) == POST_SQUISH_EFFECT)) {
if ((player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) {
func_80022B50(player, playerIndex);
}
if ((player->effects & POST_SQUISH_EFFECT) == POST_SQUISH_EFFECT) {
@ -1271,7 +1271,7 @@ void func_800235AC(Player* player, s8 playerIndex) {
}
void func_80023BF0(Player* player, s8 playerId, s8 screenId, s8 arg3) {
if (((player->effects & HIT_EFFECT) == HIT_EFFECT) || ((player->effects & POST_SQUISH_EFFECT) == POST_SQUISH_EFFECT)) {
if (((player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) || ((player->effects & POST_SQUISH_EFFECT) == POST_SQUISH_EFFECT)) {
func_80022CA8(player, playerId, screenId, arg3);
} else {
func_80022E84(player, playerId, screenId, arg3);
@ -1442,7 +1442,7 @@ void render_kart(Player* player, s8 playerId, s8 arg2, s8 flipOffset) {
}
sp14C[1] = player->unk_048[arg2];
sp14C[2] = player->unk_050[arg2];
if (((s32) player->effects & HIT_EFFECT) == HIT_EFFECT) {
if (((s32) player->effects & SQUISH_EFFECT) == SQUISH_EFFECT) {
func_80062B18(&sp148, &sp144, &sp140, 0.0f, 8.0f, 0.0f, -player->unk_048[arg2], player->unk_050[arg2]);
sp154[1] = (player->pos[1] - player->boundingBoxSize) + player->unk_108;
sp154[0] = player->pos[0] + sp148;

View File

@ -5983,7 +5983,7 @@ void func_80080B28(s32 objectIndex, s32 playerId) {
if (is_obj_flag_status_active(objectIndex, 0x00000200) != 0) {
if (!(temp_s0->soundEffects & 0x100)) {
temp_f0 = func_80088F54(objectIndex, temp_s0);
if ((temp_f0 <= 9.0) && !(temp_s0->effects & HIT_EFFECT) &&
if ((temp_f0 <= 9.0) && !(temp_s0->effects & SQUISH_EFFECT) &&
(has_collided_horizontally_with_player(objectIndex, temp_s0) != 0)) {
if ((temp_s0->type & PLAYER_EXISTS) && !(temp_s0->type & 0x100)) {
if (!(temp_s0->effects & STAR_EFFECT)) {