mirror of https://github.com/n64decomp/mk64.git
UNK_0B6 (effect graphics) documentation
This commit is contained in:
parent
b4b4b45c10
commit
c1c2d95716
|
|
@ -329,6 +329,14 @@ enum PLACE { FIRST_PLACE, SECOND_PLACE, THIRD_PLACE, FOURTH_PLACE };
|
|||
#define MAX_TIME 0x927C0
|
||||
#define DEGREES_CONVERSION_FACTOR 182
|
||||
|
||||
#define UNK_0B6_WHISTLE 0x20 // Whistle spinout save graphic
|
||||
#define UNK_0B6_CRASH 0x40 //Crash! graphic (vertical tumble)
|
||||
#define UNK_0B6_WHIRRR 0x80 //Whirrr! graphic (spinning out)
|
||||
#define UNK_0B6_POOMP 0x100 //Poomp! graphic (landing from a height)
|
||||
#define UNK_0B6_BOING 0x800 //Boing! graphic (hopping)
|
||||
#define UNK_0B6_EXPLOSION 0x1000 //Big shock looking graphic when starting tumble
|
||||
|
||||
|
||||
|
||||
#define UNK_0CA_LAKITU_RETRIEVAL 0x1 // While lakitu is grabbing you, but before the scene transition of being placed on the track
|
||||
#define UNK_0CA_HELD_BY_LAKITU 0x2
|
||||
|
|
@ -341,9 +349,6 @@ enum PLACE { FIRST_PLACE, SECOND_PLACE, THIRD_PLACE, FOURTH_PLACE };
|
|||
#define UNK_0CA_LAKITU_LAVA 0x1000 // smoky effect when retrieved from lava
|
||||
#define UNK_0CA_LAKITU_WATER 0x2000 // dripping effect when retreived from water
|
||||
|
||||
|
||||
|
||||
|
||||
#define UNK_044_BACK_UP 0x1
|
||||
#define UNK_044_RIGHT_TURN 0x2 // non-drifting (more than 5 degrees)
|
||||
#define UNK_044_LEFT_TURN 0x4 // non-drifting (more than 5 degrees)
|
||||
|
|
|
|||
|
|
@ -4171,7 +4171,7 @@ void func_80062A18(Player* player, s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
player->particles[20 + arg1 /* arg1 instead of arg3 */].scale = 0.2f;
|
||||
player->particles[20 + arg3].timer = 1;
|
||||
player->particles[20 + arg3].rotation = 0;
|
||||
player->unk_0B6 &= ~0x0080;
|
||||
player->unk_0B6 &= ~UNK_0B6_WHIRRR;
|
||||
player->particles[20 + arg3].pos[2] = player->pos[2];
|
||||
player->particles[20 + arg3].pos[0] = player->pos[0];
|
||||
player->particles[20 + arg3].pos[1] = (player->pos[1] + 4.0f);
|
||||
|
|
@ -4862,7 +4862,7 @@ void func_80064DEC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
++player->particles[20 + arg3].timer;
|
||||
|
||||
if (player->particles[20 + arg3].timer == 9) {
|
||||
player->unk_0B6 &= ~0x0040;
|
||||
player->unk_0B6 &= ~UNK_0B6_CRASH;
|
||||
player->particles[20 + arg3].IsAlive = 0;
|
||||
player->particles[20 + arg3].timer = 0;
|
||||
player->particles[20 + arg3].type = 0;
|
||||
|
|
@ -4884,7 +4884,7 @@ void func_80064EA4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
} else {
|
||||
player->particles[20 + arg3].scale -= 1.8;
|
||||
if (player->particles[20 + arg3].scale <= 0.0f) {
|
||||
player->unk_0B6 &= ~0x1000;
|
||||
player->unk_0B6 &= ~UNK_0B6_EXPLOSION;
|
||||
player->particles[20 + arg3].IsAlive = 0;
|
||||
player->particles[20 + arg3].timer = 0;
|
||||
player->particles[20 + arg3].type = 0;
|
||||
|
|
@ -4900,7 +4900,7 @@ void func_80064F88(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
player->particles[20 + arg3].scale = 1.2f;
|
||||
}
|
||||
if (player->particles[20 + arg3].timer >= 12) {
|
||||
player->unk_0B6 &= ~0x0800;
|
||||
player->unk_0B6 &= ~UNK_0B6_BOING;
|
||||
player->particles[20 + arg3].IsAlive = 0;
|
||||
player->particles[20 + arg3].timer = 0;
|
||||
player->particles[20 + arg3].type = 0;
|
||||
|
|
@ -4917,7 +4917,7 @@ void func_80065030(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
}
|
||||
|
||||
if (player->particles[20 + arg3].timer >= 12) {
|
||||
player->unk_0B6 &= ~0x0100;
|
||||
player->unk_0B6 &= ~UNK_0B6_POOMP;
|
||||
player->particles[20 + arg3].IsAlive = 0;
|
||||
player->particles[20 + arg3].timer = 0;
|
||||
player->particles[20 + arg3].type = 0;
|
||||
|
|
@ -4957,7 +4957,7 @@ void func_800651F4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) {
|
|||
} else {
|
||||
player->particles[20 + arg3].scale -= 0.4;
|
||||
if (player->particles[20 + arg3].scale <= 0.0f) {
|
||||
player->unk_0B6 &= ~0x0020;
|
||||
player->unk_0B6 &= ~UNK_0B6_WHISTLE;
|
||||
player->particles[20 + arg3].IsAlive = 0;
|
||||
player->particles[20 + arg3].timer = 0;
|
||||
player->particles[20 + arg3].type = 0;
|
||||
|
|
@ -6479,19 +6479,19 @@ void func_8006D194(Player* player, s8 playerIndex, s8 arg2) {
|
|||
break;
|
||||
}
|
||||
} else {
|
||||
if ((player->unk_0B6 & 0x40) == 0x40) {
|
||||
if ((player->unk_0B6 & UNK_0B6_CRASH) == UNK_0B6_CRASH) {
|
||||
func_800628C0(player, playerIndex, arg2, 0);
|
||||
}
|
||||
if ((player->unk_0B6 & 0x800) == 0x800) {
|
||||
if ((player->unk_0B6 & UNK_0B6_BOING) == UNK_0B6_BOING) {
|
||||
func_80062968(player, playerIndex, arg2, 0);
|
||||
}
|
||||
if ((player->unk_0B6 & 0x1000) == 0x1000) {
|
||||
if ((player->unk_0B6 & UNK_0B6_EXPLOSION) == UNK_0B6_EXPLOSION) {
|
||||
func_80062914(player, playerIndex, arg2, 0);
|
||||
}
|
||||
if ((player->unk_0B6 & 0x80) == 0x80) {
|
||||
if ((player->unk_0B6 & UNK_0B6_WHIRRR) == UNK_0B6_WHIRRR) {
|
||||
func_80062A18(player, playerIndex, arg2, 0);
|
||||
}
|
||||
if ((player->unk_0B6 & 0x100) == 0x100) {
|
||||
if ((player->unk_0B6 & UNK_0B6_POOMP) == UNK_0B6_POOMP) {
|
||||
func_800629BC(player, playerIndex, arg2, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -6499,7 +6499,7 @@ void func_8006D194(Player* player, s8 playerIndex, s8 arg2) {
|
|||
if (player->particles[0x15].type == 5) {
|
||||
func_800651F4(player, playerIndex, arg2, 1);
|
||||
}
|
||||
} else if ((player->unk_0B6 & 0x20) == 0x20) {
|
||||
} else if ((player->unk_0B6 & UNK_0B6_WHISTLE) == UNK_0B6_WHISTLE) {
|
||||
func_80062AA8(player, playerIndex, arg2, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ void func_8008C310(Player* player) {
|
|||
// The << 9 is a hacky way to check for VERTICAL_TUMBLE_TRIGGER
|
||||
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->unk_0B6 = ((u16) player->unk_0B6 | UNK_0B6_EXPLOSION);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -269,7 +269,7 @@ void func_8008C73C(Player* player, s8 playerIndex) {
|
|||
player->effects |= BANANA_SPINOUT_EFFECT;
|
||||
}
|
||||
|
||||
player->unk_0B6 |= 0x80;
|
||||
player->unk_0B6 |= UNK_0B6_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
|
||||
|
|
@ -414,7 +414,7 @@ void func_8008CEB0(Player* player, s8 playerIndex) {
|
|||
func_8008C73C(player, playerIndex);
|
||||
var_v1 = 0;
|
||||
} else {
|
||||
player->unk_0B6 |= 0x20;
|
||||
player->unk_0B6 |= UNK_0B6_WHISTLE;
|
||||
player->effects &= ~BANANA_SPINOUT_SAVE_EFFECT;
|
||||
if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) {
|
||||
func_800C90F4(playerIndex, (player->characterId * 0x10) + 0x29008008);
|
||||
|
|
@ -479,7 +479,7 @@ void func_8008D170(Player* player, s8 playerIndex) {
|
|||
func_8008C73C(player, playerIndex);
|
||||
var_v1 = 0;
|
||||
} else {
|
||||
player->unk_0B6 |= 0x20;
|
||||
player->unk_0B6 |= UNK_0B6_WHISTLE;
|
||||
player->effects &= ~BANANA_SPINOUT_SAVE_EFFECT;
|
||||
if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) {
|
||||
func_800C90F4(playerIndex, (player->characterId * 0x10) + 0x29008008);
|
||||
|
|
@ -1031,7 +1031,7 @@ void trigger_vertical_tumble(Player* player, s8 playerIndex) {
|
|||
}
|
||||
|
||||
player->triggers &= ~(VERTICAL_TUMBLE_TRIGGER | HIT_PADDLE_BOAT_TRIGGER);
|
||||
player->unk_0B6 |= 0x40;
|
||||
player->unk_0B6 |= UNK_0B6_CRASH;
|
||||
gTimerBoostTripleACombo[playerIndex] = 0;
|
||||
gIsPlayerTripleAButtonCombo[playerIndex] = false;
|
||||
gCountASwitch[playerIndex] = 0;
|
||||
|
|
@ -1131,7 +1131,7 @@ void trigger_high_tumble(Player* player, s8 playerIndex) {
|
|||
}
|
||||
|
||||
player->effects |= HIT_BY_STAR_EFFECT;
|
||||
player->unk_0B6 |= 0x40;
|
||||
player->unk_0B6 |= UNK_0B6_CRASH;
|
||||
player->triggers &= ~(HIT_BY_STAR_TRIGGER | HIGH_TUMBLE_TRIGGER);
|
||||
|
||||
gTimerBoostTripleACombo[playerIndex] = 0;
|
||||
|
|
|
|||
|
|
@ -2270,7 +2270,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->unk_0B6 |= UNK_0B6_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)) {
|
||||
|
|
@ -2541,7 +2541,7 @@ 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->unk_0B6 |= UNK_0B6_POOMP;
|
||||
player->unk_DB4.unkC = 3.0f;
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) &&
|
||||
((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
|
|
@ -4258,7 +4258,7 @@ void func_80036C5C(Player* player) {
|
|||
if (((player->speed / 18.0f) * 216.0f) > 20.0f) {
|
||||
player->unk_204 = 0;
|
||||
player->effects |= DRIFTING_EFFECT;
|
||||
player->unk_0B6 |= 0x800;
|
||||
player->unk_0B6 |= UNK_0B6_BOING;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue