SpaghettiKart
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);
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 spawn_item_box(Vec3f pos);
79void init_kiwano_fruit(void);
80void destroy_all_actors(void);
83void destroy_actor(struct Actor*);
88bool collision_mario_sign(Player*, struct Actor*);
91bool collision_tree(Player*, struct Actor*);
93bool query_collision_actor_vs_actor(struct Actor*, struct Actor*);
100void func_802A1064(struct FakeItemBox*);
102void init_actor_hot_air_balloon_item_box(f32, f32, f32);
104void update_actor_item_box(struct ItemBox*);
106void render_actor_item_box(Camera*, struct ItemBox*);
107void render_actor_wario_sign(Camera*, struct Actor*);
114void update_course_actors(void);
115const char* get_actor_display_name(s32 id);
116const char* get_actor_resource_location_name(s32 id);
117
118// audio/external.c
119extern void func_800C98B8(Vec3f, Vec3f, u32);
120extern void func_800C99E0(Vec3f, s32);
121
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;
129extern u16 isCrossingTriggeredByIndex[];
130extern Lights1 D_800DC610[];
131
133
134extern s8 D_800DC628[];
135extern s8 D_800DC630[];
136extern s8 D_802B8864[];
137
139
140#endif // ACTORS_H
void evaluate_collision_between_player_actor(Player *player, struct Actor *actor)
Definition actors.c:1953
void func_802976EC(Collision *arg0, Vec3s arg1)
Definition actors.c:408
bool query_collision_actor_vs_actor(struct Actor *arg0, struct Actor *arg1)
Definition actors.c:1700
void play_sound_before_despawn(struct Actor *actor)
Definition actors.c:1178
void init_actors_and_load_textures(void)
Loads actor textures, track specific actor textures. Calls to spawn_track_vehicles and place_track_ac...
Definition actors.c:1169
void render_cows(Camera *camera, Mat4 arg1)
Definition actors.c:517
void cleanup_red_and_green_shells(struct ShellActor *shell)
Definition actors.c:66
void func_802979F8(struct Actor *arg0, UNUSED f32 arg1)
Definition actors.c:482
void render_actor_shell(Camera *camera, Mat4 matrix, struct ShellActor *shell)
Definition actors.c:735
void actor_not_rendered(Camera *arg0, struct Actor *arg1)
Definition actors.c:329
u16 D_802BA260
Definition actors.c:60
const char * get_actor_display_name(s32 id)
Definition actors.c:2594
void evaluate_collision_for_players_and_actors(void)
Definition actors.c:2168
void actor_init(struct Actor *actor, Vec3f startingPos, Vec3s startingRot, Vec3f startingVelocity, s16 actorType)
Definition actors.c:142
void evaluate_collision_players_palm_trees(void)
Definition actors.c:623
bool collision_mario_sign(Player *player, struct Actor *marioRacewaySign)
Definition actors.c:1467
void evaluate_collision_for_destructible_actors(void)
Definition actors.c:2193
void spawn_fake_item_box(Vec3f pos)
Definition actors.c:1097
void destroy_destructable_actor(struct Actor *actor)
Definition actors.c:1739
void evaluate_collision_player_palm_trees(Player *player)
Definition actors.c:599
void init_actor_hot_air_balloon_item_box(f32 x, f32 y, f32 z)
Definition actors.c:2280
void spawn_palm_trees(struct ActorSpawnData *spawnData)
Definition actors.c:916
void destroy_actor(struct Actor *actor)
Definition actors.c:1207
void func_802977B0(Player *player)
Definition actors.c:433
void func_802976D8(Vec3s arg0)
Definition actors.c:402
void func_802977E4(Player *player)
Definition actors.c:440
void update_actor_static_plant(struct Actor *arg0)
Definition actors.c:498
void init_red_shell_texture(void)
Definition actors.c:448
void render_palm_trees(Camera *camera, Mat4 arg1)
Definition actors.c:644
void func_80297760(struct Actor *arg0, Vec3f arg1)
Definition actors.c:426
UNUSED s16 spawn_actor_at_pos(Vec3f pos, s16 actorType)
Definition actors.c:1356
void destroy_all_actors(void)
Definition actors.c:1150
void render_item_boxes(ScreenContext *arg0)
Definition actors.c:2315
s16 add_actor_to_empty_slot(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType)
Definition actors.c:1334
void actor_rendered(Camera *arg0, struct Actor *arg1)
Definition actors.c:346
void update_course_actors(void)
Definition actors.c:2499
void func_802A1064(struct FakeItemBox *fake_item_box)
Definition actors.c:2268
void spawn_foliage(struct ActorSpawnData *actor)
Definition actors.c:957
void play_sound_on_destructible_actor_collision(struct Actor *arg0, struct Actor *arg1)
Definition actors.c:1859
void func_80298D10(void)
Definition actors.c:634
bool collision_yoshi_egg(Player *player, struct YoshiValleyEgg *egg)
Definition actors.c:1502
void render_course_actors(ScreenContext *screen)
Definition actors.c:2342
void spawn_item_box(Vec3f pos)
Definition actors.c:1072
void evaluate_actor_collision_between_two_destructible_actors(struct Actor *actor1, struct Actor *actor2)
Definition actors.c:1926
void func_8029794C(Vec3f pos, Vec3s rot, f32 scale)
Definition actors.c:470
void spawn_all_item_boxes(struct ActorSpawnData *spawnData)
Definition actors.c:1030
struct Actor * gActorHotAirBalloonItemBox
Definition actors.c:58
void init_kiwano_fruit(void)
Definition actors.c:1119
bool query_collision_player_vs_actor_item(Player *player, struct Actor *arg1)
Definition actors.c:1661
bool query_and_resolve_collision_player_actor(Player *player, Vec3f pos, f32 minDist, f32 dist, f32 arg4)
Definition actors.c:1385
void func_8029AC18(Camera *camera, Mat4 arg1, struct Actor *arg2)
Definition actors.c:822
bool collision_piranha_plant(Player *player, struct PiranhaPlant *plant)
Definition actors.c:1484
s16 try_remove_destructable_item(Vec3f pos, Vec3s rot, Vec3f velocity, s16 actorType)
Definition actors.c:1214
bool collision_tree(Player *player, struct Actor *actor)
Definition actors.c:1563
void func_80297340(Camera *arg0)
Definition actors.c:363
void spawn_piranha_plants(struct ActorSpawnData *spawnData)
Definition actors.c:882
const char * get_actor_resource_location_name(s32 id)
Definition actors.c:2678
s8 gTLUTRedShell[512]
Definition actors.c:59
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 *camera, struct Actor *arg1)
Renders the box truck actor. Actor used in Toad's Turnpike. His update are made in vehicle.
Definition render.inc.c:16
void render_actor_car(Camera *camera, 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:35
Lights1 D_800DC610[]
Definition code_800029B0.c:73
u16 isCrossingTriggeredByIndex[NUM_CROSSINGS]
Definition code_80005FD0.c:155
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:3136
void func_800C99E0(Vec3f arg0, s32 soundBits)
Definition external.c:3151
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:14
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:56
void func_8029CF0C(struct ActorSpawnData *spawnData, struct FallingRock *rock)
Definition update.inc.c:7
void spawn_falling_rocks(struct ActorSpawnData *spawnData)
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: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 *camera, 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 *camera, 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 *camera, UNUSED Mat4 arg1, struct PalmTree *arg2)
Renders the palm tree actor. Actor used in Koopa Troopa Beach.
Definition render.inc.c:14
void render_actor_piranha_plant(Camera *camera, Mat4 arg1, struct PiranhaPlant *arg2)
Renders the piranha plant actor. Actor used in Mario Raceway and Royal Raceway.
Definition render.inc.c:27
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 *camera, 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 *camera, 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:35
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 code_800029B0.h:14
Definition actor_types.h:320
Definition actor_types.h:149
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 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:363
void render_actor_tree_luigi_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2)
Definition render.inc.c:166
void render_actor_tree_yoshi_valley(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Yoshi Valley.
Definition render.inc.c:56
void render_actor_tree_mario_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Mario rawceay.
Definition render.inc.c:17
void render_actor_tree_peach_castle(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders Peach's Castle trees in Royal Raceway.
Definition render.inc.c:209
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:325
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:401
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:134
void render_actor_tree_frappe_snowland(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Frappe Snowland.
Definition render.inc.c:287
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:248
void render_actor_tree_royal_raceway(Camera *camera, Mat4 arg1, struct Actor *arg2)
Renders the tree actor in Royal Raceway.
Definition render.inc.c:95
void render_actor_wario_sign(Camera *camera, 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 *camera, 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