mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-08-08 19:03:11 -04:00
142 lines
6.2 KiB
C
142 lines
6.2 KiB
C
#ifndef ACTORS_H
|
|
#define ACTORS_H
|
|
|
|
#include "actor_types.h"
|
|
#include "code_800029B0.h"
|
|
#include "camera.h"
|
|
|
|
#define END_OF_SPAWN_DATA -0x8000
|
|
|
|
/** @cond */
|
|
|
|
void cleanup_red_and_green_shells(struct ShellActor*);
|
|
void actor_init(struct Actor*, Vec3f, Vec3s, Vec3f, s16);
|
|
void actor_not_rendered(Camera*, struct Actor*);
|
|
void actor_rendered(Camera*, struct Actor*);
|
|
void func_80297340(Camera*);
|
|
void func_802976D8(Vec3s);
|
|
void func_802976EC(Collision*, Vec3s);
|
|
void func_80297760(struct Actor*, Vec3f);
|
|
void func_802977B0(Player*);
|
|
void func_802977E4(Player*);
|
|
void init_red_shell_texture(void);
|
|
void func_8029794C(Vec3f, Vec3s, f32);
|
|
void func_802979F8(struct Actor*, f32);
|
|
void render_actor_cow(Camera*, Mat4, struct Actor*);
|
|
void update_actor_yoshi_egg(struct YoshiValleyEgg*);
|
|
void update_actor_static_plant(struct Actor*);
|
|
void update_actor_kiwano_fruit(struct KiwanoFruit*);
|
|
void update_actor_paddle_boat(struct PaddleWheelBoat*);
|
|
void update_actor_train_engine(struct TrainCar*);
|
|
void update_actor_train_tender(struct TrainCar*);
|
|
void update_actor_train_passenger_car(struct TrainCar*);
|
|
void update_actor_piranha_plant(struct PiranhaPlant*);
|
|
void render_actor_piranha_plant(Camera*, Mat4, struct PiranhaPlant*);
|
|
void render_cows(Camera*, Mat4);
|
|
void evaluate_collision_player_palm_trees(Player*);
|
|
void evaluate_collision_players_palm_trees(void);
|
|
void func_80298D10(void);
|
|
void render_palm_trees(Camera*, Mat4);
|
|
void render_actor_tree_mario_raceway(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_yoshi_valley(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_royal_raceway(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_moo_moo_farm(Camera*, Mat4, struct Actor*);
|
|
void func_80299864(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_bowser_castle(Camera*, Mat4, struct Actor*);
|
|
void render_actor_bush_bowser_castle(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_frappe_snowland(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_cactus1_kalimari_desert(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_cactus2_kalimari_desert(Camera*, Mat4, struct Actor*);
|
|
void render_actor_tree_cactus3_kalimari_desert(Camera*, Mat4, struct Actor*);
|
|
void render_actor_kiwano_fruit(Camera*, Mat4, struct Actor*);
|
|
void render_actor_shell(Camera*, Mat4, struct ShellActor*);
|
|
void render_actor_green_shell(Camera*, Mat4, struct ShellActor*);
|
|
void render_actor_red_shell(Camera*, Mat4, struct ShellActor*);
|
|
void render_actor_blue_shell(Camera*, Mat4, struct ShellActor*);
|
|
void render_actor_banana(Camera*, Mat4, struct BananaActor*);
|
|
void update_actor_wario_sign(struct Actor*);
|
|
void update_actor_railroad_crossing(struct RailroadCrossing*);
|
|
void update_actor_mario_sign(struct Actor*);
|
|
void func_8029AC18(Camera*, Mat4, struct Actor*);
|
|
void render_actor_paddle_boat(Camera*, struct PaddleWheelBoat*, Mat4, u16);
|
|
void render_actor_box_truck(Camera*, struct Actor*);
|
|
void render_actor_school_bus(Camera*, struct Actor*);
|
|
void render_actor_car(Camera*, struct Actor*);
|
|
void render_actor_tanker_truck(Camera*, struct Actor*);
|
|
void render_actor_train_engine(Camera*, struct TrainCar*);
|
|
void render_actor_train_tender(Camera*, struct TrainCar*);
|
|
void render_actor_train_passenger_car(Camera*, struct TrainCar*);
|
|
void render_actor_falling_rock(Camera*, struct FallingRock*);
|
|
void spawn_piranha_plants(struct ActorSpawnData*);
|
|
void spawn_palm_trees(struct ActorSpawnData*);
|
|
void func_8029CF0C(struct ActorSpawnData*, struct FallingRock*);
|
|
void spawn_falling_rocks(struct ActorSpawnData*);
|
|
void update_actor_falling_rocks(struct FallingRock*);
|
|
void spawn_foliage(struct ActorSpawnData*);
|
|
void spawn_all_item_boxes(struct ActorSpawnData*);
|
|
void init_kiwano_fruit(void);
|
|
void destroy_all_actors(void);
|
|
void spawn_course_actors(void);
|
|
void init_actors_and_load_textures(void);
|
|
void play_sound_before_despawn(struct Actor*);
|
|
void destroy_actor(struct Actor*);
|
|
s16 try_remove_destructable_item(Vec3f, Vec3s, Vec3f, s16);
|
|
s16 add_actor_to_empty_slot(Vec3f, Vec3s, Vec3f, s16);
|
|
s16 spawn_actor_at_pos(Vec3f, s16);
|
|
bool query_and_resolve_collision_player_actor(Player*, Vec3f, f32, f32, f32);
|
|
bool collision_mario_sign(Player*, struct Actor*);
|
|
bool collision_piranha_plant(Player*, struct PiranhaPlant*);
|
|
bool collision_yoshi_egg(Player*, struct YoshiValleyEgg*);
|
|
bool collision_tree(Player*, struct Actor*);
|
|
bool query_collision_player_vs_actor_item(Player*, struct Actor*);
|
|
bool query_collision_actor_vs_actor(struct Actor*, struct Actor*);
|
|
void destroy_destructable_actor(struct Actor*);
|
|
void play_sound_on_destructible_actor_collision(struct Actor*, struct Actor*);
|
|
void evaluate_actor_collision_between_two_destructible_actors(struct Actor*, struct Actor*);
|
|
void evaluate_collision_between_player_actor(Player*, struct Actor*);
|
|
void evaluate_collision_for_players_and_actors(void);
|
|
void evaluate_collision_for_destructible_actors(void);
|
|
void func_802A1064(struct FakeItemBox*);
|
|
void update_actor_fake_item_box(struct FakeItemBox*);
|
|
void init_actor_hot_air_balloon_item_box(f32, f32, f32);
|
|
void update_actor_item_box_hot_air_balloon(struct ItemBox*);
|
|
void update_actor_item_box(struct ItemBox*);
|
|
void render_actor_fake_item_box(Camera*, struct FakeItemBox*);
|
|
void render_actor_item_box(Camera*, struct ItemBox*);
|
|
void render_actor_wario_sign(Camera*, struct Actor*);
|
|
void render_actor_yoshi_egg(Camera*, Mat4, struct YoshiValleyEgg*, u16);
|
|
void render_actor_mario_sign(Camera*, Mat4, struct Actor*);
|
|
void render_actor_railroad_crossing(Camera*, struct RailroadCrossing*);
|
|
void render_actor_palm_tree(Camera*, Mat4, struct PalmTree*);
|
|
void render_item_boxes(struct UnkStruct_800DC5EC*);
|
|
void render_course_actors(struct UnkStruct_800DC5EC*);
|
|
void update_course_actors(void);
|
|
const char* get_actor_name(s32);
|
|
|
|
// audio/external.c
|
|
extern void func_800C98B8(Vec3f, Vec3f, u32);
|
|
extern void func_800C99E0(Vec3f, s32);
|
|
|
|
extern u8* D_802BA050;
|
|
extern u8* D_802BA054;
|
|
extern u8* D_802BA058;
|
|
extern struct Actor* gActorHotAirBalloonItemBox;
|
|
extern s8 gTLUTRedShell[]; // tlut 256
|
|
extern u16 D_802BA260; // Box Truck sub-type?
|
|
|
|
// end of definition of actor.c variables
|
|
|
|
extern s16 gCurrentCourseId;
|
|
extern u16 isCrossingTriggeredByIndex[];
|
|
extern Lights1 D_800DC610[];
|
|
|
|
extern s32 D_80162DF8;
|
|
|
|
extern s8 D_800DC628[];
|
|
extern s8 D_800DC630[];
|
|
extern s8 D_802B8864[];
|
|
|
|
/** @endcond */
|
|
|
|
#endif // ACTORS_H
|