Mario Kart 64
Loading...
Searching...
No Matches
actors.h
Go to the documentation of this file.
1#ifndef ACTORS_H
2#define ACTORS_H
3
4#include "actor_types.h"
5#include "code_800029B0.h"
6#include "camera.h"
7
8#define END_OF_SPAWN_DATA -0x8000
9
13void actor_init(struct Actor*, Vec3f, Vec3s, Vec3f, s16);
14void actor_not_rendered(Camera*, struct Actor*);
15void actor_rendered(Camera*, struct Actor*);
19void func_80297760(struct Actor*, Vec3f);
22void init_red_shell_texture(void);
24void func_802979F8(struct Actor*, f32);
25void render_actor_cow(Camera*, Mat4, struct Actor*);
35void render_cows(Camera*, Mat4, struct Actor*);
38void func_80298D10(void);
39void render_palm_trees(Camera*, Mat4, struct Actor*);
44void func_80299864(Camera*, Mat4, struct Actor*);
57void update_actor_wario_sign(struct Actor*);
59void update_actor_mario_sign(struct Actor*);
60void func_8029AC18(Camera*, Mat4, struct Actor*);
62void render_actor_box_truck(Camera*, struct Actor*);
64void render_actor_car(Camera*, struct Actor*);
72void func_8029CF0C(struct ActorSpawnData*, struct FallingRock*);
75void spawn_foliage(struct ActorSpawnData*);
77void init_kiwano_fruit(void);
78void destroy_all_actors(void);
79void spawn_course_actors(void);
82void destroy_actor(struct Actor*);
87bool collision_mario_sign(Player*, struct Actor*);
90bool collision_tree(Player*, struct Actor*);
92bool query_collision_actor_vs_actor(struct Actor*, struct Actor*);
99void func_802A1064(struct FakeItemBox*);
103void update_actor_item_box(struct ItemBox*);
105void render_actor_item_box(Camera*, struct ItemBox*);
106void render_actor_wario_sign(Camera*, struct Actor*);
113void update_course_actors(void);
114
115// audio/external.c
116extern void func_800C98B8(Vec3f, Vec3f, u32);
117extern void func_800C99E0(Vec3f, s32);
118
119extern u8* D_802BA050;
120extern u8* D_802BA054;
121extern u8* D_802BA058;
122extern struct Actor* gActorHotAirBalloonItemBox;
123extern s8 gTLUTRedShell[]; // tlut 256
124extern u16 D_802BA260; // Box Truck sub-type?
125
126// end of definition of actor.c variables
127
128extern s16 gCurrentCourseId;
130extern Lights1 D_800DC610[];
131
132extern Gfx D_0D005338[];
133extern Gfx D_0D005368[];
134extern Gfx D_0D007B20[];
135
136extern Gfx toads_turnpike_dl_0[];
137extern Gfx toads_turnpike_dl_1[];
138extern Gfx toads_turnpike_dl_2[];
139extern Gfx toads_turnpike_dl_3[];
140extern Gfx toads_turnpike_dl_4[];
141extern Gfx toads_turnpike_dl_5[];
142extern Gfx toads_turnpike_dl_6[];
143extern Gfx toads_turnpike_dl_7[];
144extern Gfx toads_turnpike_dl_8[];
145extern Gfx toads_turnpike_dl_9[];
146extern Gfx toads_turnpike_dl_10[];
147extern Gfx toads_turnpike_dl_11[];
148
149extern s32 D_80162DF8;
150
151extern Gfx D_0D001750[];
152extern Gfx D_0D001780[];
153extern Gfx D_0D001798[];
154extern Gfx D_0D0017B0[];
155extern Gfx D_0D0017C8[];
156extern Gfx D_0D0017E0[];
157extern Gfx D_0D0017F8[];
158extern Gfx D_0D001810[];
159extern Gfx D_0D001828[];
160extern Gfx D_0D001B90[];
161extern Gfx D_0D001BD8[];
162extern Gfx D_0D001C20[];
163extern Gfx D_0D001C88[];
164extern Gfx D_0D002EE8[];
165extern Gfx common_model_fake_itembox[];
166extern Gfx itemBoxQuestionMarkModel[];
167extern Gfx D_0D003090[];
168extern Gfx D_0D0030F8[];
169extern Gfx D_0D003128[];
170extern Gfx D_0D003158[];
171extern Gfx D_0D003188[];
172extern Gfx D_0D0031B8[];
173extern Gfx D_0D0031E8[];
174extern Gfx common_model_banana[];
175extern Gfx common_model_flat_banana[];
176
177extern s8 D_800DC628[];
178extern s8 D_800DC630[];
179extern s8 D_802B8864[];
180
183#endif // ACTORS_H
void func_802977E4(Player *arg0)
Definition actors.c:394
void spawn_course_actors(void)
Definition actors.c:1047
void evaluate_collision_between_player_actor(Player *player, struct Actor *actor)
Definition actors.c:2055
void func_802976EC(Collision *arg0, Vec3s arg1)
Definition actors.c:362
bool query_collision_actor_vs_actor(struct Actor *arg0, struct Actor *arg1)
Definition actors.c:1802
void play_sound_before_despawn(struct Actor *actor)
Definition actors.c:1284
void init_actors_and_load_textures(void)
Loads actor textures, course specific actor textures. Calls to spawn_course_vehicles and place_course...
Definition actors.c:1183
void cleanup_red_and_green_shells(struct ShellActor *shell)
Definition actors.c:43
u8 * D_802BA050
Definition actors.c:31
void func_802979F8(struct Actor *arg0, UNUSED f32 arg1)
Definition actors.c:435
void render_actor_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell)
Definition actors.c:683
void render_palm_trees(Camera *camera, Mat4 arg1, UNUSED struct Actor *actor)
Definition actors.c:595
void actor_not_rendered(Camera *arg0, struct Actor *arg1)
Definition actors.c:283
u8 * D_802BA058
Definition actors.c:33
u16 D_802BA260
Definition actors.c:37
void evaluate_collision_for_players_and_actors(void)
Definition actors.c:2268
void actor_init(struct Actor *actor, Vec3f startingPos, Vec3s startingRot, Vec3f startingVelocity, s16 actorType)
Definition actors.c:119
void evaluate_collision_players_palm_trees(void)
Definition actors.c:571
bool collision_mario_sign(Player *player, struct Actor *marioRacewaySign)
Definition actors.c:1569
bool query_collision_player_vs_actor_item(Player *arg0, struct Actor *arg1)
Definition actors.c:1763
void evaluate_collision_for_destructible_actors(void)
Definition actors.c:2293
void destroy_destructable_actor(struct Actor *actor)
Definition actors.c:1841
void evaluate_collision_player_palm_trees(Player *player)
Definition actors.c:545
void init_actor_hot_air_balloon_item_box(f32 x, f32 y, f32 z)
Definition actors.c:2380
void spawn_palm_trees(struct ActorSpawnData *spawnData)
Definition actors.c:848
u8 * D_802BA054
Definition actors.c:32
void destroy_actor(struct Actor *actor)
Definition actors.c:1313
void func_802976D8(Vec3s arg0)
Definition actors.c:356
void update_actor_static_plant(struct Actor *arg0)
Definition actors.c:451
void init_red_shell_texture(void)
Definition actors.c:402
void func_80297760(struct Actor *arg0, Vec3f arg1)
Definition actors.c:380
UNUSED s16 spawn_actor_at_pos(Vec3f pos, s16 actorType)
Definition actors.c:1456
void destroy_all_actors(void)
Definition actors.c:1034
s16 add_actor_to_empty_slot(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType)
Definition actors.c:1440
void actor_rendered(Camera *arg0, struct Actor *arg1)
Definition actors.c:300
void update_course_actors(void)
Definition actors.c:2594
void func_802A1064(struct FakeItemBox *fake_item_box)
Definition actors.c:2368
void play_sound_on_destructible_actor_collision(struct Actor *arg0, struct Actor *arg1)
Definition actors.c:1961
void func_80298D10(void)
Definition actors.c:582
bool collision_yoshi_egg(Player *player, struct YoshiValleyEgg *egg)
Definition actors.c:1604
void render_course_actors(struct UnkStruct_800DC5EC *arg0)
Definition actors.c:2442
void evaluate_actor_collision_between_two_destructible_actors(struct Actor *actor1, struct Actor *actor2)
Definition actors.c:2028
void func_8029794C(Vec3f pos, Vec3s rot, f32 scale)
Definition actors.c:423
void spawn_all_item_boxes(struct ActorSpawnData *spawnData)
Definition actors.c:960
void render_cows(Camera *camera, Mat4 arg1, UNUSED struct Actor *actor)
Definition actors.c:470
struct Actor * gActorHotAirBalloonItemBox
Definition actors.c:35
void render_item_boxes(struct UnkStruct_800DC5EC *arg0)
Definition actors.c:2415
void init_kiwano_fruit(void)
Definition actors.c:1003
void spawn_foliage(struct ActorSpawnData *arg0)
Definition actors.c:878
bool query_and_resolve_collision_player_actor(Player *player, Vec3f pos, f32 minDist, f32 dist, f32 arg4)
Definition actors.c:1487
void func_8029AC18(Camera *camera, Mat4 arg1, struct Actor *arg2)
Definition actors.c:757
bool collision_piranha_plant(Player *player, struct PiranhaPlant *plant)
Definition actors.c:1586
s16 try_remove_destructable_item(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType)
Definition actors.c:1320
void func_802977B0(Player *arg0)
Definition actors.c:387
bool collision_tree(Player *player, struct Actor *actor)
Definition actors.c:1665
void func_80297340(Camera *arg0)
Definition actors.c:317
void spawn_piranha_plants(struct ActorSpawnData *spawnData)
Definition actors.c:816
s8 gTLUTRedShell[512]
Definition actors.c:36
Gfx toads_turnpike_dl_8[]
Definition course_offsets.c:132
Gfx toads_turnpike_dl_0[]
Definition course_offsets.c:50
Gfx toads_turnpike_dl_2[]
Definition course_offsets.c:70
Gfx toads_turnpike_dl_5[]
Definition course_offsets.c:101
Gfx toads_turnpike_dl_11[]
Definition course_offsets.c:163
Gfx toads_turnpike_dl_1[]
Definition course_offsets.c:60
Gfx toads_turnpike_dl_7[]
Definition course_offsets.c:122
Gfx toads_turnpike_dl_3[]
Definition course_offsets.c:81
Gfx toads_turnpike_dl_10[]
Definition course_offsets.c:153
Gfx toads_turnpike_dl_9[]
Definition course_offsets.c:143
Gfx toads_turnpike_dl_6[]
Definition course_offsets.c:112
Gfx toads_turnpike_dl_4[]
Definition course_offsets.c:91
void render_actor_banana(Camera *camera, UNUSED Mat4 arg1, struct BananaActor *banana)
Render the banana actor.
Definition render.inc.c:12
void render_actor_blue_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell)
Render the blue shell actor.
Definition render.inc.c:23
void render_actor_red_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell)
Render the red shell actor.
Definition render.inc.c:11
void render_actor_box_truck(Camera *arg0, struct Actor *arg1)
Renders the box truck actor. Actor used in Toad's Turnpike. His update are made in vehicle.
Definition render.inc.c:15
void render_actor_car(Camera *arg0, struct Actor *arg1)
Renders the car actor. Actor used in Toad's Turnpike. His update are made in vehicle.
Definition render.inc.c:13
s16 gCurrentCourseId
Definition code_800029B0.c:29
Lights1 D_800DC610[]
Definition code_800029B0.c:64
u16 isCrossingTriggeredByIndex[NUM_CROSSINGS]
Definition code_80005FD0.c:140
Gfx D_0D005338[]
Gfx D_0D003090[]
Gfx D_0D001BD8[]
Gfx D_0D001750[]
Gfx D_0D001798[]
Gfx itemBoxQuestionMarkModel[]
Gfx D_0D001828[]
Gfx common_model_flat_banana[]
Gfx D_0D005368[]
Gfx D_0D0017B0[]
Gfx D_0D003188[]
Gfx D_0D0017F8[]
Gfx D_0D0031E8[]
Gfx D_0D002EE8[]
Gfx D_0D003128[]
Gfx D_0D003158[]
Gfx D_0D007B20[]
Gfx D_0D001810[]
Gfx D_0D001C20[]
Gfx common_model_banana[]
Gfx D_0D0031B8[]
Gfx D_0D0017C8[]
Gfx D_0D001C88[]
Gfx D_0D001B90[]
Gfx D_0D0030F8[]
Gfx D_0D0017E0[]
Gfx common_model_fake_itembox[]
Gfx D_0D001780[]
f32 Vec3f[3]
Definition common_structs.h:6
s16 Vec3s[3]
Definition common_structs.h:11
f32 Mat4[4][4]
Definition common_structs.h:16
void render_actor_cow(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the cow actor. Actor used in Moo Moo Farm.
Definition render.inc.c:15
void func_800C98B8(Vec3f position, Vec3f velocity, u32 soundBits)
Definition external.c:3027
void func_800C99E0(Vec3f arg0, s32 soundBits)
Definition external.c:3042
void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox)
Renders the fake item box actor.
Definition render.inc.c:12
void update_actor_fake_item_box(struct FakeItemBox *fake_item_box)
Updates the fake item box actor.
Definition update.inc.c:9
void render_actor_falling_rock(Camera *camera, struct FallingRock *rock)
Renders the falling rock actor. Actor used in Choco Mountain.
Definition render.inc.c:12
void update_actor_falling_rocks(struct FallingRock *rock)
Updates the falling rock actor. Actor used in Choco Mountain.
Definition update.inc.c:58
void func_8029CF0C(struct ActorSpawnData *spawnData, struct FallingRock *rock)
Definition update.inc.c:6
void spawn_falling_rocks(struct ActorSpawnData *spawnData)
Spawns falling rocks. Used in Choco Mountain.
Definition update.inc.c:26
void render_actor_green_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell)
Renders the green shell actor.
Definition render.inc.c:13
void render_actor_item_box(Camera *camera, struct ItemBox *item_box)
Renders the item box actor.
Definition render.inc.c:11
void update_actor_item_box_hot_air_balloon(struct ItemBox *itemBox)
Updates the item box under the hot air balloon object. It used in Luigi Raceway. (here it's just upda...
Definition update.inc.c:10
void update_actor_item_box(struct ItemBox *itemBox)
Updates the item box actor.
Definition update.inc.c:36
void render_actor_kiwano_fruit(UNUSED Camera *camera, Mat4 arg1, struct Actor *actor)
Renders the kiwano fruit actor. Actor used in DK's Jungle Parkway.
Definition render.inc.c:14
void update_actor_kiwano_fruit(struct KiwanoFruit *fruit)
Updates the kiwano fruit actor. Actor used in DK's Jungle Parkway.
Definition update.inc.c:12
void render_actor_mario_sign(Camera *arg0, UNUSED Mat4 arg1, struct Actor *arg2)
Renders the Mario sign actor. Actor used in Mario Raceway.
Definition render.inc.c:13
void update_actor_mario_sign(struct Actor *arg0)
Updates the Mario sign actor.
Definition update.inc.c:8
void render_actor_paddle_boat(Camera *arg0, struct PaddleWheelBoat *boat, UNUSED Mat4 arg2, u16 pathCounter)
Renders the paddle boat actor. Actor used in DK's Jungle Parkway.
Definition render.inc.c:19
void update_actor_paddle_boat(struct PaddleWheelBoat *boat)
Updates the paddle boat actor. Actor used in DK's Jungle Parkway. Rotate only the paddle wheel,...
Definition update.inc.c:11
void render_actor_palm_tree(Camera *arg0, UNUSED Mat4 arg1, struct PalmTree *arg2)
Renders the palm tree actor. Actor used in Koopa Troopa Beach.
Definition render.inc.c:13
void render_actor_piranha_plant(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2)
Renders the piranha plant actor. Actor used in Mario Raceway and Royal Raceway.
Definition render.inc.c:15
void update_actor_piranha_plant(struct PiranhaPlant *arg0)
Updates the piranha plant actor. Actor used in Mario Raceway and Royal Raceway.
Definition update.inc.c:9
void render_actor_railroad_crossing(Camera *arg0, struct RailroadCrossing *rr_crossing)
Renders the railroad crossing actor. Actor used in Kalimari Desert.
Definition render.inc.c:13
void update_actor_railroad_crossing(struct RailroadCrossing *crossing)
Updates the railroad crossing actor. Actor used in Kalimari Desert. Make the sound of the bell when t...
Definition update.inc.c:10
void render_actor_school_bus(Camera *arg0, struct Actor *arg1)
Renders the school bus actor. Actor used in Toad's Turnpike. His update are made in vehicle.
Definition render.inc.c:14
s32 D_80162DF8
Definition staff_ghosts.c:57
Definition actor_types.h:186
Definition actor_types.h:120
Definition actor_types.h:380
Definition camera.h:26
Definition common_structs.h:132
Definition actor_types.h:349
Definition actor_types.h:172
Definition actor_types.h:331
Definition actor_types.h:230
Definition actor_types.h:248
Definition actor_types.h:274
Definition actor_types.h:262
Definition common_structs.h:249
Definition actor_types.h:158
Definition actor_types.h:304
Definition actor_types.h:144
Definition code_800029B0.h:9
Definition actor_types.h:212
void render_actor_tanker_truck(Camera *camera, struct Actor *arg1)
Renders the tanker truck actor. Actor used in Toad's Turnpike. His update are made in vehicle.
Definition render.inc.c:13
void render_actor_train_engine(Camera *camera, struct TrainCar *actor)
Renders the train engine actor. Actor used in Kalimari Desert. His update position are made in vehicl...
Definition render.inc.c:14
void render_actor_train_tender(Camera *camera, struct TrainCar *actor)
Definition render.inc.c:163
void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor)
Definition render.inc.c:248
void update_actor_train_engine(struct TrainCar *arg0)
Updates the train engine actor. Used in Kalimari Desert. Update wheels and make sound,...
Definition update.inc.c:10
void update_actor_train_tender(struct TrainCar *tender)
Updates the train tender actor. Used in Kalimari Desert. Update wheels, for his update position it's ...
Definition update.inc.c:25
void update_actor_train_passenger_car(struct TrainCar *arg0)
Updates the train passenger car actor. Used in Kalimari Desert. Update wheels, for his update positio...
Definition update.inc.c:36
void func_80299864(Camera *camera, Mat4 arg1, struct Actor *arg2)
Definition render.inc.c:148
void render_actor_tree_cactus2_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the a second variant of cactus in Kalimari Desert.
Definition render.inc.c:325
void render_actor_tree_yoshi_valley(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Yoshi Valley.
Definition render.inc.c:49
void render_actor_tree_mario_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Mario rawceay.
Definition render.inc.c:14
void render_actor_tree_cactus1_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the a first variant of cactus in Kalimari Desert.
Definition render.inc.c:291
void render_actor_tree_cactus3_kalimari_desert(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the a third variant of cactus in Kalimari Desert.
Definition render.inc.c:359
void render_actor_tree_bowser_castle(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Bowser's Castle.
Definition render.inc.c:187
void render_actor_tree_moo_moo_farm(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Moo Moo Farm.
Definition render.inc.c:119
void render_actor_tree_frappe_snowland(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Frappe Snowland.
Definition render.inc.c:257
void render_actor_bush_bowser_castle(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the bush actor in Bowser's Castle.
Definition render.inc.c:222
void render_actor_tree_royal_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Royal Raceway.
Definition render.inc.c:84
signed int s32
Definition ultratypes.h:15
unsigned int u32
Definition ultratypes.h:16
signed char s8
Definition ultratypes.h:11
signed short int s16
Definition ultratypes.h:13
float f32
Definition ultratypes.h:34
unsigned short int u16
Definition ultratypes.h:14
unsigned char u8
Definition ultratypes.h:12
void render_actor_wario_sign(Camera *arg0, struct Actor *arg1)
Renders the Wario sign actor. Used in Wario Stadium.
Definition render.inc.c:13
void update_actor_wario_sign(struct Actor *arg0)
Updates the Wario sign actor. Used in Wario Stadium.
Definition update.inc.c:9
void render_actor_yoshi_egg(Camera *arg0, Mat4 arg1, struct YoshiValleyEgg *egg, u16 arg3)
Renders the Yoshi egg actor. Actor used in Yoshi Valley.
Definition render.inc.c:16
void update_actor_yoshi_egg(struct YoshiValleyEgg *egg)
Updates the Yoshi egg actor.
Definition update.inc.c:8