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
11
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);
23void func_8029794C(Vec3f, Vec3s, f32);
24void func_802979F8(struct Actor*, f32);
25void render_actor_cow(Camera*, Mat4, struct Actor*);
35void render_cows(Camera*, Mat4);
38void func_80298D10(void);
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*);
101void init_actor_hot_air_balloon_item_box(f32, f32, f32);
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);
114const char* get_actor_name(s32);
115
116// audio/external.c
117extern void func_800C98B8(Vec3f, Vec3f, u32);
118extern void func_800C99E0(Vec3f, s32);
119
120extern u8* D_802BA050;
121extern u8* D_802BA054;
122extern u8* D_802BA058;
123extern struct Actor* gActorHotAirBalloonItemBox;
124extern s8 gTLUTRedShell[]; // tlut 256
125extern u16 D_802BA260; // Box Truck sub-type?
126
127// end of definition of actor.c variables
128
129extern s16 gCurrentCourseId;
130extern u16 isCrossingTriggeredByIndex[];
131extern Lights1 D_800DC610[];
132
134
135extern s8 D_800DC628[];
136extern s8 D_800DC630[];
137extern s8 D_802B8864[];
138
140
141#endif // ACTORS_H
void spawn_course_actors(void)
Definition actors.c:1098
void evaluate_collision_between_player_actor(Player *player, struct Actor *actor)
Definition actors.c:2035
void func_802976EC(Collision *arg0, Vec3s arg1)
Definition actors.c:398
bool query_collision_actor_vs_actor(struct Actor *arg0, struct Actor *arg1)
Definition actors.c:1782
void play_sound_before_despawn(struct Actor *actor)
Definition actors.c:1260
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:1235
void render_cows(Camera *camera, Mat4 arg1)
Definition actors.c:507
void cleanup_red_and_green_shells(struct ShellActor *shell)
Definition actors.c:63
void func_802979F8(struct Actor *arg0, UNUSED f32 arg1)
Definition actors.c:472
void render_actor_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell)
Definition actors.c:728
void actor_not_rendered(Camera *arg0, struct Actor *arg1)
Definition actors.c:319
u8 * D_802BA058
Definition actors.c:53
u16 D_802BA260
Definition actors.c:57
void evaluate_collision_for_players_and_actors(void)
Definition actors.c:2250
void actor_init(struct Actor *actor, Vec3f startingPos, Vec3s startingRot, Vec3f startingVelocity, s16 actorType)
Definition actors.c:139
const char * get_actor_name(s32 id)
Definition actors.c:2685
void evaluate_collision_players_palm_trees(void)
Definition actors.c:614
bool collision_mario_sign(Player *player, struct Actor *marioRacewaySign)
Definition actors.c:1549
void evaluate_collision_for_destructible_actors(void)
Definition actors.c:2275
void destroy_destructable_actor(struct Actor *actor)
Definition actors.c:1821
void evaluate_collision_player_palm_trees(Player *player)
Definition actors.c:590
void init_actor_hot_air_balloon_item_box(f32 x, f32 y, f32 z)
Definition actors.c:2362
void spawn_palm_trees(struct ActorSpawnData *spawnData)
Definition actors.c:910
void destroy_actor(struct Actor *actor)
Definition actors.c:1289
void func_802977B0(Player *player)
Definition actors.c:423
void func_802976D8(Vec3s arg0)
Definition actors.c:392
void func_802977E4(Player *player)
Definition actors.c:430
void update_actor_static_plant(struct Actor *arg0)
Definition actors.c:488
void init_red_shell_texture(void)
Definition actors.c:438
void render_palm_trees(Camera *camera, Mat4 arg1)
Definition actors.c:635
void func_80297760(struct Actor *arg0, Vec3f arg1)
Definition actors.c:416
UNUSED s16 spawn_actor_at_pos(Vec3f pos, s16 actorType)
Definition actors.c:1438
void destroy_all_actors(void)
Definition actors.c:1084
s16 add_actor_to_empty_slot(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType)
Definition actors.c:1416
void actor_rendered(Camera *arg0, struct Actor *arg1)
Definition actors.c:336
void update_course_actors(void)
Definition actors.c:2590
void func_802A1064(struct FakeItemBox *fake_item_box)
Definition actors.c:2350
void spawn_foliage(struct ActorSpawnData *actor)
Definition actors.c:939
void play_sound_on_destructible_actor_collision(struct Actor *arg0, struct Actor *arg1)
Definition actors.c:1941
void func_80298D10(void)
Definition actors.c:625
bool collision_yoshi_egg(Player *player, struct YoshiValleyEgg *egg)
Definition actors.c:1584
void render_course_actors(struct UnkStruct_800DC5EC *arg0)
Definition actors.c:2424
void evaluate_actor_collision_between_two_destructible_actors(struct Actor *actor1, struct Actor *actor2)
Definition actors.c:2008
void func_8029794C(Vec3f pos, Vec3s rot, f32 scale)
Definition actors.c:460
void spawn_all_item_boxes(struct ActorSpawnData *spawnData)
Definition actors.c:1012
struct Actor * gActorHotAirBalloonItemBox
Definition actors.c:55
void render_item_boxes(struct UnkStruct_800DC5EC *arg0)
Definition actors.c:2397
void init_kiwano_fruit(void)
Definition actors.c:1053
bool query_collision_player_vs_actor_item(Player *player, struct Actor *arg1)
Definition actors.c:1743
bool query_and_resolve_collision_player_actor(Player *player, Vec3f pos, f32 minDist, f32 dist, f32 arg4)
Definition actors.c:1467
void func_8029AC18(Camera *camera, Mat4 arg1, struct Actor *arg2)
Definition actors.c:816
bool collision_piranha_plant(Player *player, struct PiranhaPlant *plant)
Definition actors.c:1566
s16 try_remove_destructable_item(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType)
Definition actors.c:1296
bool collision_tree(Player *player, struct Actor *actor)
Definition actors.c:1645
void func_80297340(Camera *arg0)
Definition actors.c:353
void spawn_piranha_plants(struct ActorSpawnData *spawnData)
Definition actors.c:876
s8 gTLUTRedShell[512]
Definition actors.c:56
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:24
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:14
s16 gCurrentCourseId
Definition code_800029B0.c:33
Lights1 D_800DC610[]
Definition code_800029B0.c:69
u16 isCrossingTriggeredByIndex[NUM_CROSSINGS]
Definition code_80005FD0.c:150
f32 Vec3f[3]
Definition common_structs.h:10
s16 Vec3s[3]
Definition common_structs.h:15
f32 Mat4[4][4]
Definition common_structs.h:20
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:3092
void func_800C99E0(Vec3f arg0, s32 soundBits)
Definition external.c:3107
void render_actor_fake_item_box(Camera *camera, struct FakeItemBox *fakeItemBox)
Renders the fake item box actor.
Definition render.inc.c:13
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:13
void update_actor_falling_rocks(struct FallingRock *rock)
Updates the falling rock actor. Actor used in Choco Mountain.
Definition update.inc.c:68
void func_8029CF0C(struct ActorSpawnData *spawnData, struct FallingRock *rock)
Definition update.inc.c:6
void spawn_falling_rocks(struct ActorSpawnData *spawnData)
Definition update.inc.c:31
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:12
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:15
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:14
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:20
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
s32 gPostTimeTrialReplayCannotSave
Definition replays.c:57
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
Definition SpawnData.h:8
Definition actor_types.h:124
Definition actor_types.h:400
Definition camera.h:27
Definition common_structs.h:147
Definition actor_types.h:367
Definition actor_types.h:181
Definition actor_types.h:348
Definition actor_types.h:241
Definition actor_types.h:260
Definition actor_types.h:288
Definition actor_types.h:275
Definition common_structs.h:264
Definition actor_types.h:164
Definition actor_types.h:320
Definition actor_types.h:149
Definition code_800029B0.h:9
Definition actor_types.h:222
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:171
void render_actor_train_passenger_car(Camera *camera, struct TrainCar *actor)
Definition render.inc.c:264
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:166
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:372
void render_actor_tree_yoshi_valley(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Yoshi Valley.
Definition render.inc.c:55
void render_actor_tree_mario_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Mario rawceay.
Definition render.inc.c:16
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:334
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:410
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:218
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:133
void render_actor_tree_frappe_snowland(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Frappe Snowland.
Definition render.inc.c:296
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:257
void render_actor_tree_royal_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Royal Raceway.
Definition render.inc.c:94
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