37 shell->rotVelocity += 0x71C;
38 switch (
shell->state) {
51 if ((pad1 < 5.0f) && (pad1 > -5.0f)) {
80 shell->rotAngle = 0x78E3;
82 shell->rotAngle = -0x78E4;
90 if (
shell->rotAngle > 0) {
91 shell->rotAngle -= 0xE38;
92 if (
shell->rotAngle < 0) {
94 shell->someTimer = 0x001E;
100 shell->rotAngle += 0xE38;
101 if (
shell->rotAngle > 0) {
103 shell->someTimer = 0x001E;
109 if (
shell->state == 2) {
132 if (
shell->parentIndex > 0) {
133 shell->parentIndex -= 1;
134 if (
shell->parentIndex == 0) {
135 shell->flags &= ~0x1000;
138 shell->velocity[1] -= 0.5f;
139 if (
shell->velocity[1] < -2.0f) {
140 shell->velocity[1] = -2.0f;
150 if ((
shell->unk30.unk3C[0] < 0.0f) || (
shell->unk30.unk3C[1] < 0.0f)) {
153 shell->flags |= 0x80;
179 shell->velocity[1] -= (0, 0.3f);
180 if (
shell->velocity[1] < -5.0f) {
181 shell->velocity[1] = -5.0f;
183 shell->rotAngle += 0x5B0;
184 shell->someTimer -= 1;
186 if (
shell->someTimer == 0) {
@ ACTOR_TRIPLE_GREEN_SHELL
Definition actor_types.h:59
@ MOVING_SHELL
Definition actor_types.h:95
@ HELD_SHELL
Definition actor_types.h:93
@ RELEASED_SHELL
Definition actor_types.h:94
@ GREEN_SHELL_HIT_A_RACER
Definition actor_types.h:98
@ TRIPLE_GREEN_SHELL
Definition actor_types.h:97
void destroy_destructable_actor(struct Actor *actor)
Definition actors.c:1814
void destroy_actor(struct Actor *actor)
Definition actors.c:1291
void func_802B4E30(struct Actor *arg0)
Definition actors_extended.c:962
void copy_collision(Collision *arg0, Collision *arg1)
Definition actors_extended.c:19
s16 gCourseMinZ
Definition code_800029B0.c:94
s16 gCourseMaxZ
Definition code_800029B0.c:93
s16 gCourseMinX
Definition code_800029B0.c:88
struct Actor gActorList[ACTOR_LIST_SIZE]
Definition code_800029B0.c:149
s16 gCourseMinY
Definition code_800029B0.c:91
s16 gCourseMaxX
Definition code_800029B0.c:87
s32 add_green_shell_in_unexpired_actor_list(s32 actorIndex)
Definition code_80005FD0.c:3296
u16 func_802AD950(Collision *collision, f32 boundingBoxSize, f32 x1, f32 y1, f32 z1, f32 x2, f32 y2, f32 z2)
Definition collision.c:1233
void shell_collision(Collision *collision, Vec3f velocity)
Definition collision.c:587
f32 func_802ABE30(f32 x, f32 y, f32 z, u16 index)
Definition collision.c:520
f32 Vec3f[3]
Definition common_structs.h:6
#define PLAYER_HUMAN
Definition defines.h:93
void func_800C9060(u8 playerId, u32 soundBits)
Definition external.c:3167
void func_800C90F4(u8 playerId, u32 soundBits)
Definition external.c:3179
void func_800C98B8(Vec3f position, Vec3f velocity, u32 soundBits)
Definition external.c:3322
void update_actor_green_shell(struct ShellActor *shell)
Updates the green shell actor.
Definition update.inc.c:12
#define UNUSED
Definition macros.h:24
Player gPlayers[NUM_PLAYERS]
Definition main.c:71
struct Controller gControllers[NUM_PLAYERS]
Definition main.c:61
f32 sins(u16 arg0)
Definition math_util.c:1052
void func_802B64C4(Vec3f arg0, s16 arg1)
Definition math_util.c:603
void mtxf_translate_vec3f_mat3(Vec3f pos, Mat3 mat)
Definition math_util.c:569
f32 coss(u16 arg0)
Definition math_util.c:1056
#define Z_TRIG
Definition os.h:398
#define SOUND_ARG_LOAD(sound_bank, byte2, byte3, sound_id)
Definition sounds.h:14
Definition actor_types.h:120
u16 unk30
Definition common_structs.h:118
u16 unk3A
Definition common_structs.h:124
u16 buttonDepressed
Definition types.h:48
Definition common_structs.h:248
s16 unk_0C0
Definition common_structs.h:300
Collision unk_110
Definition common_structs.h:325
f32 unk_094
Definition common_structs.h:285
Mat3 orientationMatrix
Definition common_structs.h:327
u16 characterId
Definition common_structs.h:355
Vec3s rotation
Definition common_structs.h:262
f32 boundingBoxSize
Definition common_structs.h:275
u16 type
Definition common_structs.h:249
Vec3f pos
Definition common_structs.h:258
Definition actor_types.h:302
Definition actor_types.h:286
float f32
Definition ultratypes.h:33