mirror of
https://github.com/n64decomp/mk64
synced 2026-08-17 12:59:29 -04:00
Some train decomp and move seg2 files to ending (#423)
* Some train decomp * Move seg2 to ending/ * move racing code files into racing folder * Fix progress * Rename segments
This commit is contained in:
+4261
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,275 @@
|
||||
#ifndef ACTORS_H
|
||||
#define ACTORS_H
|
||||
|
||||
#include "types.h"
|
||||
#include "actor_types.h"
|
||||
|
||||
void func_8029E158(void);
|
||||
void cleanup_red_and_green_shells(struct ShellActor*);
|
||||
void actor_init(struct Actor*, f32*, s16*, f32*, s16);
|
||||
void func_80297230(Camera*, struct Actor*);
|
||||
void func_802972B8(Camera*, struct Actor*);
|
||||
void func_80297340(Camera*);
|
||||
void func_80297524(uintptr_t, s32, s32);
|
||||
void func_802976D8(Vec3s);
|
||||
void func_802976EC(Collision*, Vec3s);
|
||||
void func_80297760(struct Actor*, Vec3f);
|
||||
void func_802977B0(Player*);
|
||||
void func_802977E4(Player*);
|
||||
void func_80297818(void);
|
||||
void func_80297944(void);
|
||||
void func_8029794C(Vec3f, Vec3s, f32);
|
||||
void func_802979F8(struct Actor*, f32);
|
||||
void func_80297A50(Camera*, Mat4, struct Actor*);
|
||||
void update_obj_yoshi_valley_egg(struct YoshiValleyEgg*);
|
||||
void update_obj_trees_cacti_shrubs(struct Actor*);
|
||||
void update_obj_kiwano_fruit(struct KiwanoFruit*);
|
||||
void update_obj_paddle_wheel(struct PaddleWheelBoat*);
|
||||
void update_obj_train_engine(struct TrainCar*);
|
||||
void update_obj_train_car1(struct TrainCar*);
|
||||
void update_obj_train_car2(struct TrainCar*);
|
||||
void update_obj_piranha_plant(struct PiranhaPlant*);
|
||||
void func_80298328(Camera*, Mat4, struct PiranhaPlant*);
|
||||
void func_802986B4(Camera*, Mat4, struct Actor*);
|
||||
void func_80298AC0(Player*);
|
||||
void func_80298D7C(Camera*, Mat4, struct Actor*);
|
||||
void func_80298C94(void);
|
||||
void func_80298D10(void);
|
||||
void func_80299144(Camera*, Mat4, struct Actor*);
|
||||
void func_8029930C(Camera*, Mat4, struct Actor*);
|
||||
void func_802994D4(Camera*, Mat4, struct Actor*);
|
||||
void func_8029969C(Camera*, Mat4, struct Actor*);
|
||||
void func_80299864(Camera*, Mat4, struct Actor*);
|
||||
void func_80299A2C(Camera*, Mat4, struct Actor*);
|
||||
void func_80299BF4(Camera*, Mat4, struct Actor*);
|
||||
void func_80299DBC(Camera*, Mat4, struct Actor*);
|
||||
void func_80299EDC(Camera*, Mat4, struct Actor*);
|
||||
void func_80299FFC(Camera*, Mat4, struct Actor*);
|
||||
void func_8029A11C(Camera*, Mat4, struct Actor*);
|
||||
void func_8029A23C(Camera*, Mat4, struct Actor*);
|
||||
void func_8029A3AC(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A690(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A75C(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A828(Camera*, Mat4, struct ShellActor*);
|
||||
void func_8029A8F4(Camera*, Mat4, struct BananaActor*);
|
||||
void update_obj_wario_stadium_sign(struct Actor*);
|
||||
void update_obj_railroad_crossing(struct RailroadCrossing*);
|
||||
void update_obj_mario_raceway_sign(struct Actor*);
|
||||
void func_8029ABD4(Vec3f, s16);
|
||||
void func_8029AC18(Camera*, Mat4, struct Actor*);
|
||||
void func_8029AE14(void);
|
||||
void func_8029AE1C(Camera*, struct PaddleWheelBoat*, Mat4, u16);
|
||||
void func_8029B06C(Camera*, struct Actor*);
|
||||
void func_8029B2E4(Camera*, struct Actor*);
|
||||
void func_8029B4E0(Camera*, struct Actor*);
|
||||
void func_8029B6EC(Camera*, struct Actor*);
|
||||
void func_8029B8E8(Camera*, struct TrainCar*);
|
||||
void func_8029BFB0(Camera*, struct TrainCar*);
|
||||
void func_8029C3CC(Camera*, struct TrainCar*);
|
||||
void func_8029CA90(Camera*, struct FallingRock*);
|
||||
void place_piranha_plants(struct ActorSpawnData*);
|
||||
void place_palm_trees(struct ActorSpawnData*);
|
||||
void func_8029CF0C(struct ActorSpawnData*, struct FallingRock*);
|
||||
void place_falling_rocks(struct ActorSpawnData*);
|
||||
void update_obj_falling_rocks(struct FallingRock*);
|
||||
void spawn_foliage(struct ActorSpawnData*);
|
||||
void place_all_item_boxes(struct ActorSpawnData*);
|
||||
void init_kiwano_fruit(void);
|
||||
void destroy_all_actors(void);
|
||||
void place_course_actors(void);
|
||||
void func_8029E7DC(struct Actor*);
|
||||
void destroy_actor(struct Actor*);
|
||||
s16 func_8029E890(f32*, s16*, f32*, s16);
|
||||
s16 addActorToEmptySlot(Vec3f, Vec3s, Vec3f, s16);
|
||||
s16 func_8029ED38(Vec3f, s16);
|
||||
s32 func_8029EEB8(Player*, Vec3f, f32, f32, f32);
|
||||
s32 func_8029F1F8(Player*, struct Actor*);
|
||||
s32 func_8029F2FC(Player*, struct PiranhaPlant*);
|
||||
s32 func_8029F408(Player*, struct YoshiValleyEgg*);
|
||||
s32 func_8029F69C(Player*, struct Actor*);
|
||||
s32 func_8029FB80(Player*, struct Actor*);
|
||||
s32 func_8029FCA4(struct Actor*, struct Actor*);
|
||||
void func_8029FDC8(struct Actor*);
|
||||
void func_802A00E8(struct Actor*, struct Actor*);
|
||||
void func_802A0350(struct Actor*, struct Actor*);
|
||||
void func_802A0450(Player*, struct Actor*);
|
||||
void evaluate_player_collision(void);
|
||||
void func_802A0E44(void);
|
||||
void func_802A1064(struct FakeItemBox*);
|
||||
void update_obj_fake_item_box(struct FakeItemBox*);
|
||||
void func_802A14BC(f32, f32, f32);
|
||||
void update_obj_item_box_hot_air_balloon(struct ItemBox*);
|
||||
void update_obj_item_box(struct ItemBox*);
|
||||
void func_802A171C(Camera*, struct FakeItemBox*);
|
||||
void func_802A1EA0(Camera*, struct ItemBox*);
|
||||
void func_802A269C(Camera*, struct Actor*);
|
||||
void func_802A27A0(Camera*, Mat4, struct YoshiValleyEgg*, u16);
|
||||
void func_802A29BC(Camera*, Mat4, struct Actor*);
|
||||
void func_802A2AD0(Camera*, struct RailroadCrossing*);
|
||||
void func_802A2C78(Camera*, Mat4, struct Actor*);
|
||||
void func_802A2F34(struct UnkStruct_800DC5EC*);
|
||||
void func_802A3008(struct UnkStruct_800DC5EC*);
|
||||
void update_simple_objects(void);
|
||||
|
||||
// audio/external.c
|
||||
extern void func_800C98B8(Vec3f, Vec3f, u32);
|
||||
extern void func_800C99E0(Vec3f, s32);
|
||||
|
||||
extern Vec3f D_802B91C8;
|
||||
|
||||
extern u8 *D_802BA050;
|
||||
extern u8 *D_802BA054;
|
||||
extern u8 *D_802BA058;
|
||||
extern struct Actor *D_802BA05C;
|
||||
extern s8 D_802BA060[512]; // tlut 256
|
||||
extern u16 D_802BA260;
|
||||
|
||||
extern s32 gPlayerCountSelection1;
|
||||
extern Player gPlayers[];
|
||||
extern u16 gNumActors;
|
||||
|
||||
extern u16 D_802BA260; // Box Truck sub-type?
|
||||
|
||||
extern Player *gPlayerOne;
|
||||
extern struct Controller gControllers[];
|
||||
|
||||
extern s32 gActiveScreenMode;
|
||||
|
||||
extern u16 gNearestWaypointByPlayerId[];
|
||||
|
||||
extern Camera *camera1;
|
||||
extern Gfx *gDisplayListHead;
|
||||
extern s32 gModeSelection;
|
||||
extern s16 gCurrentCourseId;
|
||||
extern f32 D_80150130[];
|
||||
extern u16 isCrossingTriggeredByIndex[];
|
||||
extern Lights1 D_800DC610[];
|
||||
|
||||
extern u16 gMatrixObjectCount;
|
||||
|
||||
extern uintptr_t gSegmentTable[];
|
||||
extern s16 gPlaceItemBoxes;
|
||||
|
||||
extern s8 D_0D004C68[];
|
||||
extern Gfx D_0D005338[];
|
||||
extern Gfx D_0D005368[];
|
||||
extern Gfx D_0D007B20[];
|
||||
|
||||
extern Gfx toads_turnpike_dl_0[];
|
||||
extern Gfx toads_turnpike_dl_1[];
|
||||
extern Gfx toads_turnpike_dl_2[];
|
||||
extern Gfx toads_turnpike_dl_3[];
|
||||
extern Gfx toads_turnpike_dl_4[];
|
||||
extern Gfx toads_turnpike_dl_5[];
|
||||
extern Gfx toads_turnpike_dl_6[];
|
||||
extern Gfx toads_turnpike_dl_7[];
|
||||
extern Gfx toads_turnpike_dl_8[];
|
||||
extern Gfx toads_turnpike_dl_9[];
|
||||
extern Gfx toads_turnpike_dl_10[];
|
||||
extern Gfx toads_turnpike_dl_11[];
|
||||
|
||||
extern Mat4 D_801502C0;
|
||||
|
||||
extern s32 gGamestate;
|
||||
extern s32 gGamestate;
|
||||
extern s32 D_80162DF8;
|
||||
|
||||
extern Gfx D_0D001750[];
|
||||
extern Gfx D_0D001780[];
|
||||
extern Gfx D_0D001798[];
|
||||
extern Gfx D_0D0017B0[];
|
||||
extern Gfx D_0D0017C8[];
|
||||
extern Gfx D_0D0017E0[];
|
||||
extern Gfx D_0D0017F8[];
|
||||
extern Gfx D_0D001810[];
|
||||
extern Gfx D_0D001828[];
|
||||
extern Gfx D_0D001B90[];
|
||||
extern Gfx D_0D001BD8[];
|
||||
extern Gfx D_0D001C20[];
|
||||
extern Gfx D_0D001C88[];
|
||||
extern Gfx D_0D002EE8[];
|
||||
extern Gfx D_0D002F80[];
|
||||
extern Gfx D_0D003008[];
|
||||
extern Gfx D_0D003090[];
|
||||
extern Gfx D_0D0030F8[];
|
||||
extern Gfx D_0D003128[];
|
||||
extern Gfx D_0D003158[];
|
||||
extern Gfx D_0D003188[];
|
||||
extern Gfx D_0D0031B8[];
|
||||
extern Gfx D_0D0031E8[];
|
||||
extern Gfx D_0D004B48[];
|
||||
extern Gfx D_0D004BD8[];
|
||||
|
||||
extern u8 D_0F04CBE0[];
|
||||
extern u8 D_0F04CE30[];
|
||||
extern u8 D_0F04D080[];
|
||||
extern u8 D_0F04D2D8[];
|
||||
extern u8 D_0F04D538[];
|
||||
extern u8 D_0F04D790[];
|
||||
extern u8 D_0F04D9FC[];
|
||||
extern u8 D_0F04DC5C[];
|
||||
extern u8 D_0F04DEB0[];
|
||||
extern u8 D_0F04E0DC[];
|
||||
extern u8 D_0F04E314[];
|
||||
extern u8 D_0F04E554[];
|
||||
extern u8 D_0F04E798[];
|
||||
extern u8 D_0F04E9F0[];
|
||||
extern u8 D_0F04EC4C[];
|
||||
extern u8 D_0F04EE88[];
|
||||
extern u8 D_0F04F45C[];
|
||||
extern u8 D_0F04F7A4[];
|
||||
extern u8 D_0F04FB3C[];
|
||||
extern u8 D_0F04FE28[];
|
||||
extern u8 D_0F050118[];
|
||||
extern u8 D_0F050468[];
|
||||
extern u8 D_0F050678[];
|
||||
extern u8 D_0F050D50[];
|
||||
extern u8 D_0F0513CC[];
|
||||
extern u8 D_0F051820[];
|
||||
extern u8 D_0F051C54[];
|
||||
extern u8 D_0F051FD8[];
|
||||
extern u8 D_0F05232C[];
|
||||
extern u8 D_0F0526B8[];
|
||||
extern u8 D_0F052A20[];
|
||||
extern u8 D_0F052D3C[];
|
||||
extern u8 D_0F05300C[];
|
||||
extern u8 D_0F0532F8[];
|
||||
extern u8 D_0F05363C[];
|
||||
extern u8 D_0F053950[];
|
||||
extern u8 D_0F053C34[];
|
||||
extern u8 D_0F053F74[];
|
||||
extern u8 D_0F054270[];
|
||||
extern u8 D_0F054518[];
|
||||
extern u8 D_0F05488C[];
|
||||
extern u8 D_0F054C3C[];
|
||||
extern u8 D_0F054ECC[];
|
||||
extern u8 D_0F0551C8[];
|
||||
extern u8 D_0F0554CC[];
|
||||
extern u8 D_0F055880[];
|
||||
extern u8 D_0F055BA0[];
|
||||
extern u8 D_0F055F10[];
|
||||
extern u8 D_0F0561AC[];
|
||||
extern u8 D_0F056408[];
|
||||
extern u8 D_0F05662C[];
|
||||
extern u8 D_0F05688C[];
|
||||
extern u8 D_0F056AD0[];
|
||||
extern u8 D_0F056CF0[];
|
||||
extern u8 D_0F056EC8[];
|
||||
extern u8 D_0F057084[];
|
||||
extern u8 D_0F057288[];
|
||||
extern u8 D_0F057590[];
|
||||
extern u8 D_0F057EB4[];
|
||||
extern u8 D_0F0581E4[];
|
||||
extern u8 D_0F058550[];
|
||||
extern u8 gTexture671A88[];
|
||||
extern u8 gTexture6774D8[];
|
||||
extern u8 gTextureShrub[];
|
||||
|
||||
extern s8 D_800DC628[];
|
||||
extern s8 D_800DC630[];
|
||||
extern u16 gIsGamePaused;
|
||||
extern s8 D_802B8864[];
|
||||
|
||||
extern u16 D_800DC5BC;
|
||||
|
||||
#endif // ACTORS_H
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,49 @@
|
||||
#ifndef ACTORS_EXTENDED_H
|
||||
#define ACTORS_EXTENDED_H
|
||||
|
||||
#include "common_structs.h"
|
||||
#include "actor_types.h"
|
||||
|
||||
void func_802B0210(Collision*, Collision*);
|
||||
void func_802B02B4(struct ShellActor*, s32);
|
||||
void func_802B039C(struct BananaActor*);
|
||||
void func_802B0464(s16);
|
||||
void func_802B04E8(struct BananaActor*, s16);
|
||||
void func_802B0570(struct BananaActor*);
|
||||
void func_802B0648(struct BananaBunchParent*);
|
||||
void func_802B0788(s16, struct BananaBunchParent*, Player*);
|
||||
s32 func_802B09C0(s16);
|
||||
void update_obj_banana_bunch(struct BananaBunchParent*);
|
||||
s32 func_802B0E14(s16);
|
||||
void update_obj_triple_shell(TripleShellParent*, s16);
|
||||
s32 func_802B17F4(Player*);
|
||||
s32 func_802B18E4(Player*, s16);
|
||||
s32 func_802B19EC(TripleShellParent*, Player*, s16, u16);
|
||||
s32 func_802B1C9C(Player*);
|
||||
s32 func_802B1E48(Player*);
|
||||
void func_802B1FFC(Player*);
|
||||
void update_obj_banana(struct BananaActor*);
|
||||
void func_802B2914(struct BananaBunchParent*, Player*, s16);
|
||||
s32 func_802B2C40(Player*);
|
||||
s32 func_802B2D70(Player*);
|
||||
void func_802B2EBC(Player*);
|
||||
void func_802B2FA0(Player*);
|
||||
void func_802B30EC(void);
|
||||
void update_obj_green_shell(struct ShellActor*);
|
||||
void func_802B3B44(struct ShellActor*);
|
||||
void func_802B3E7C(struct ShellActor*, Player*);
|
||||
s16 func_802B3FD0(Player*, struct ShellActor*);
|
||||
void func_802B4104(struct ShellActor*);
|
||||
void update_obj_red_blue_shell(struct ShellActor*);
|
||||
void func_802B4E30(struct Actor*);
|
||||
|
||||
// audio/external.c
|
||||
extern void func_800CAB4C(u8);
|
||||
|
||||
extern f32 D_802B9F68;
|
||||
|
||||
extern s16 gPlayerBalloonCount[];
|
||||
|
||||
extern u16 gDemoMode;
|
||||
|
||||
#endif // ACTORS_EXTENDED_H
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,34 @@
|
||||
#ifndef collision_H
|
||||
#define collision_H
|
||||
|
||||
#include "common_structs.h"
|
||||
|
||||
void nullify_displaylist(uintptr_t);
|
||||
void func_802AAAAC(Collision*);
|
||||
f32 func_802AAB4C(Player*);
|
||||
s8 get_surface_type(u16);
|
||||
s16 func_802ABD40(u16);
|
||||
s16 func_802ABD7C(u16);
|
||||
s16 func_802ABDB8(u16);
|
||||
s16 func_802ABDF4(u16);
|
||||
f32 func_802ABE30(f32, f32, f32, u16);
|
||||
f32 func_802ABEAC(Collision*, Vec3f);
|
||||
void process_shell_collision(Vec3f, f32, Vec3f, f32);
|
||||
u16 process_collision(Player *player, KartBoundingBoxCorner *corner, f32 cornerPosX, f32 cornerPosY, f32 cornerPosZ);
|
||||
void func_802AC114(Vec3f, f32, Vec3f, f32);
|
||||
u16 func_802AD950(Collision*, f32, f32, f32, f32, f32, f32, f32);
|
||||
u16 func_802ADDC8(Collision*, f32, f32, f32, f32);
|
||||
f32 func_802AE1C0(f32, f32, f32);
|
||||
void set_vtx_buffer(uintptr_t, u32, u32);
|
||||
s32 is_line_intersecting_rectangle(s16, s16, s16, s16, s16, s16, s16, s16);
|
||||
s32 is_triangle_intersecting_bounding_box(s16, s16, s16, s16, u16);
|
||||
void func_802AF314(void);
|
||||
void set_vertex_data_with_defaults(Gfx*);
|
||||
void set_vertex_data_with_default_section_id(Gfx*, s8);
|
||||
void find_and_set_vertex_data(Gfx*, s8, u16);
|
||||
void find_and_set_tile_size(uintptr_t, s32, s32);
|
||||
void set_vertex_colours(u32, u32, s32, s8, u8, u8, u8);
|
||||
void find_vtx_and_set_colours(uintptr_t, s8, u8, u8, u8);
|
||||
void subtract_scaled_vector(Vec3f, f32, Vec3f);
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,81 @@
|
||||
#ifndef MATH_UTIL_H
|
||||
#define MATH_UTIL_H
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
|
||||
#include "types.h"
|
||||
|
||||
//#define sins(x) gSineTable[(u16) (x) >> 4]
|
||||
//#define coss(x) gCosineTable[(u16) (x) >> 4]
|
||||
|
||||
//#define min(a, b) ((a) <= (b) ? (a) : (b))
|
||||
//#define max(a, b) ((a) > (b) ? (a) : (b))
|
||||
|
||||
#define sqr(x) ((x) * (x))
|
||||
|
||||
// Here to appease the pragma gods
|
||||
double fabs(double x);
|
||||
|
||||
void func_802B6A84(Mat3, s16, f32, f32, f32);
|
||||
void func_802B4FF0(void);
|
||||
void func_802B5794(Mat4, Vec3f, Vec3f);
|
||||
s32 func_802B4FF8(Mat4, s32);
|
||||
f32 func_802B51E8(Vec3f, Vec3f);
|
||||
u32 func_802B5224(Vec3f, Vec3f);
|
||||
u32 func_802B5258(Vec3f, Vec3s);
|
||||
void vec3f_set(Vec3f, f32, f32, f32);
|
||||
void vec3s_set(Vec3s, s16, s16, s16);
|
||||
void *vec3f_copy(Vec3f, Vec3f);
|
||||
void vec3s_copy(Vec3s, Vec3s);
|
||||
void *sm64_vec3f_set(Vec3f, f32, f32, f32);
|
||||
void func_802B5350(Mat4, Mat4);
|
||||
void func_802B5398(s32*, s32*, s32);
|
||||
void mtxf_identity(Mat4);
|
||||
void func_802B5450(Mat4, Mat4, Vec3f);
|
||||
void func_802B54EC(Mat4, Mat4, Vec3f);
|
||||
void mtxf_translate(Mat4, Vec3f);
|
||||
void func_802B5564(Mat4, u16*, f32, f32, f32, f32, f32);
|
||||
void func_802B59DC(Mat4, s16);
|
||||
void func_802B5A44(Mat4, s16);
|
||||
void func_802B5AAC(Mat4, s16);
|
||||
void func_802B5CAC(s16, s16, Vec3f);
|
||||
void func_802B5D30(s16, s16, s32);
|
||||
void func_802B5D64(uintptr_t, s16, s16, s32);
|
||||
void func_802B5F00(Mat4, f32);
|
||||
void func_802B5F74(Mat4, Vec3f, Vec3s);
|
||||
void func_802B60B4(Mat4, Vec3s, Vec3s);
|
||||
void func_802B6214(Mat4, Vec3s, Vec3s);
|
||||
void func_802B6374(Vec3f);
|
||||
void func_802B63B8(Vec3f, Mat3);
|
||||
void func_802B6434(Vec3f, Mat4);
|
||||
void func_802B64B0(s32, s32, s32, s32);
|
||||
void func_802B64C4(Vec3f, s16);
|
||||
void func_802B6540(Mat3, f32, f32, f32, s16);
|
||||
void func_802B6BC0(Mat4, s16, f32, f32, f32);
|
||||
void func_802B6D58(Mat4, Vec3f, Vec3f);
|
||||
void func_802B71CC(Mat4, Mat4, Mat4);
|
||||
void mtxf_to_mtx(Mtx*, Mat4);
|
||||
u16 atan2_lookup(f32, f32);
|
||||
u16 atan2s(f32, f32);
|
||||
f32 func_802B79B8(f32, f32);
|
||||
f32 func_802B79F0(f32, f32);
|
||||
u16 func_802B7B50(f32, f32);
|
||||
void func_802B7C18(f32);
|
||||
s16 func_802B7C40(f32);
|
||||
void func_802B7C6C(f32);
|
||||
s16 func_802B7CA8(f32);
|
||||
f32 func_802B7CE8(f32);
|
||||
s16 func_802B7D28(f32);
|
||||
u16 random_u16(void);
|
||||
u16 random_int(u16);
|
||||
s16 func_802B7F34(f32, f32, f32, f32);
|
||||
void func_802B7F7C(Vec3f, Vec3f, Vec3s);
|
||||
f32 sins(u16);
|
||||
f32 coss(u16);
|
||||
s32 func_802B8058(u16, u16, u16);
|
||||
f32 func_802B80D0(Vec3f, Vec3f, u16, f32, f32, f32);
|
||||
void func_802B8414(uintptr_t, Mat4, s16, s16, s32);
|
||||
|
||||
extern u16 gRandomSeed16;
|
||||
|
||||
#endif // MATH_UTIL_H
|
||||
+1374
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,99 @@
|
||||
#ifndef MEMORY_H
|
||||
#define MEMORY_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
struct MainPoolBlock {
|
||||
struct MainPoolBlock *prev;
|
||||
struct MainPoolBlock *next;
|
||||
};
|
||||
|
||||
struct MainPoolState {
|
||||
u32 freeSpace;
|
||||
struct MainPoolBlock *listHeadL;
|
||||
struct MainPoolBlock *listHeadR;
|
||||
struct MainPoolState *prev;
|
||||
};
|
||||
|
||||
struct UnkStruct802AF7B4 {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
};
|
||||
|
||||
struct UnkStruct_802B8CD4 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 fill;
|
||||
};
|
||||
|
||||
struct AllocOnlyPool {
|
||||
s32 totalSpace;
|
||||
s32 usedSpace;
|
||||
u8 *startPtr;
|
||||
u8 *freePtr;
|
||||
};
|
||||
|
||||
#define MEMORY_POOL_LEFT 0
|
||||
#define MEMORY_POOL_RIGHT 1
|
||||
|
||||
#define ALIGN4(val) (((val) + 0x3) & ~0x3)
|
||||
|
||||
extern f32 vtxStretchY;
|
||||
|
||||
void *get_next_available_memory_addr(u32);
|
||||
uintptr_t set_segment_base_addr(s32, void*);
|
||||
void *get_segment_base_addr(s32);
|
||||
void *segmented_to_virtual(const void *);
|
||||
void move_segment_table_to_dmem(void);
|
||||
void initialize_memory_pool(uintptr_t, uintptr_t);
|
||||
void *decompress_segments(u8*, u8*);
|
||||
void *allocate_memory(u32);
|
||||
void *load_data(uintptr_t, uintptr_t);
|
||||
void func_802A7D54(s32, s32);
|
||||
|
||||
void main_pool_init(u32, u32);
|
||||
void *main_pool_alloc(u32, u32);
|
||||
u32 main_pool_free(void*);
|
||||
void *main_pool_realloc(void*, u32);
|
||||
s32 main_pool_available(void);
|
||||
u32 main_pool_push_state(void);
|
||||
u32 main_pool_pop_state(void);
|
||||
void *func_802A80B0(u8*, u8*, u8*);
|
||||
void func_802A81EC(void);
|
||||
struct AllocOnlyPool *alloc_only_pool_init(u32, u32);
|
||||
u32 func_802A82AC(s32);
|
||||
s32 func_802A8348(s32, s32, s32);
|
||||
u8 *dma_textures(u8*, u32, u32);
|
||||
u32 MIO0_0F(u8*, u32, u32);
|
||||
void func_802A8844(void);
|
||||
void unpack_lights(Gfx*, u8*, s8);
|
||||
void unpack_displaylist(Gfx*, u8*, s8);
|
||||
void unpack_end_displaylist(Gfx*, u8*, s8);
|
||||
void unpack_set_geometry_mode(Gfx*, u8*, s8);
|
||||
void unpack_clear_geometry_mode(Gfx*, u8*, s8);
|
||||
void unpack_cull_displaylist(Gfx*, u8*, s8);
|
||||
void unpack_combine_mode1(Gfx*, u8*, u32);
|
||||
void unpack_combine_mode2(Gfx*, u8*, u32);
|
||||
void unpack_combine_mode_shade(Gfx*, u8*, u32);
|
||||
void unpack_combine_mode4(Gfx*, u8*, u32);
|
||||
void unpack_combine_mode5(Gfx*, u8*, u32);
|
||||
void unpack_render_mode_opaque(Gfx*, u8*, u32);
|
||||
void unpack_render_mode_tex_edge(Gfx*, u8*, u32);
|
||||
void unpack_render_mode_translucent(Gfx*, u8*, u32);
|
||||
void unpack_render_mode_opaque_decal(Gfx*, u8*, u32);
|
||||
void unpack_render_mode_translucent_decal(Gfx*, u8*, u32);
|
||||
void unpack_tile_sync(Gfx*, u8*, s8);
|
||||
void unpack_tile_load_sync(Gfx*, u8*, s8);
|
||||
void unpack_texture_on(Gfx*, u8*, s8);
|
||||
void unpack_texture_off(Gfx*, u8*, s8);
|
||||
u8 *load_course(s32);
|
||||
|
||||
// main.c
|
||||
extern struct D_80150158 gD_80150158[];
|
||||
extern s32 D_801502A0;
|
||||
|
||||
extern u8 _other_texturesSegmentRomStart[];
|
||||
|
||||
#endif // MEMORY_H
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,44 @@
|
||||
#ifndef RACE_LOGIC_H
|
||||
#define RACE_LOGIC_H
|
||||
|
||||
/* Function Prototypes */
|
||||
|
||||
void func_802903D8(Player*, Player*);
|
||||
void func_8028DF00(void);
|
||||
void func_8028DF38(void);
|
||||
void func_8028E028(void);
|
||||
void update_player_battle_status(void);
|
||||
void func_8028E298(void);
|
||||
void func_8028E3A0(void);
|
||||
void func_8028E438(void);
|
||||
void func_8028E678(void);
|
||||
void func_8028EC38(s32);
|
||||
void func_8028EC98(s32);
|
||||
void start_race(void);
|
||||
f32 func_8028EE8C(s32);
|
||||
void func_8028EEF0(s32);
|
||||
void func_8028EF28(void);
|
||||
void func_8028F3E8(void);
|
||||
void update_race_position_data(void);
|
||||
void func_8028F474(void);
|
||||
void func_8028F4E8(void);
|
||||
void func_8028F588(void);
|
||||
void func_8028F8BC(void);
|
||||
void func_8028F914(void);
|
||||
void func_8028F970(void);
|
||||
void func_8028FBD4(void);
|
||||
void func_8028FC34(void);
|
||||
void func_8028FCBC(void);
|
||||
void func_80290314(void);
|
||||
void func_80290338(void);
|
||||
void func_80290360(void);
|
||||
void func_80290388(void);
|
||||
void func_802903B0(void);
|
||||
void func_802909F0(void);
|
||||
void func_80290B14(void);
|
||||
|
||||
extern f32 gLapCompletionPercentByPlayerId[];
|
||||
extern s32 gGPCurrentRaceRankByPlayerId[]; // D_801643B8 (position for each player)
|
||||
extern u16 D_80162DD6;
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,83 @@
|
||||
#ifndef RENDER_COURSES_H
|
||||
#define RENDER_COURSES_H
|
||||
|
||||
void func_8029122C(struct UnkStruct_800DC5EC*, s32);
|
||||
s32 func_80290C20(Camera*);
|
||||
void parse_course_displaylists(uintptr_t);
|
||||
void load_surface_map(uintptr_t, struct UnkStruct_800DC5EC*);
|
||||
void func_80291198(void);
|
||||
void func_802911C4(void);
|
||||
void render_mario_raceway(struct UnkStruct_800DC5EC*);
|
||||
void render_choco_mountain(struct UnkStruct_800DC5EC*);
|
||||
void render_bowsers_castle(struct UnkStruct_800DC5EC*);
|
||||
void render_banshee_boardwalk(struct UnkStruct_800DC5EC*);
|
||||
void render_yoshi_valley(struct UnkStruct_800DC5EC*);
|
||||
void render_frappe_snowland(struct UnkStruct_800DC5EC*);
|
||||
void render_koopa_troopa_beach(struct UnkStruct_800DC5EC*);
|
||||
void render_royal_raceway(struct UnkStruct_800DC5EC*);
|
||||
void render_luigi_raceway(struct UnkStruct_800DC5EC*);
|
||||
void render_toads_turnpike(struct UnkStruct_800DC5EC*);
|
||||
void render_kalimari_desert(struct UnkStruct_800DC5EC*);
|
||||
void render_sherbet_land(struct UnkStruct_800DC5EC*);
|
||||
void render_rainbow_road(struct UnkStruct_800DC5EC*);
|
||||
void render_wario_stadium(struct UnkStruct_800DC5EC*);
|
||||
void render_block_fort(struct UnkStruct_800DC5EC*);
|
||||
void render_skyscraper(struct UnkStruct_800DC5EC*);
|
||||
void render_double_deck(struct UnkStruct_800DC5EC*);
|
||||
void render_dks_jungle_parkway(struct UnkStruct_800DC5EC*);
|
||||
void render_big_donut(struct UnkStruct_800DC5EC*);
|
||||
void func_8029569C(void);
|
||||
void func_80295A38(struct UnkStruct_800DC5EC*);
|
||||
void func_80295BF8(s32);
|
||||
void func_80295C6C(void);
|
||||
void func_80295D50(s16, s16);
|
||||
void func_80295D6C(void);
|
||||
void func_80295D88(void);
|
||||
void func_802966A0(void);
|
||||
void func_802969F8(void);
|
||||
|
||||
extern Gfx *gDisplayListHead;
|
||||
extern s16 gCurrentCourseId;
|
||||
extern s32 gActiveScreenMode;
|
||||
|
||||
extern u16 sRenderedFramebuffer;
|
||||
extern uintptr_t gSegmentTable[];
|
||||
|
||||
extern Player gPlayers[];
|
||||
|
||||
extern s32 D_8015F59C;
|
||||
|
||||
extern s32 D_800DC5DC;
|
||||
extern s32 D_800DC5E0;
|
||||
extern s32 D_802B87C4;
|
||||
extern s32 D_802B87C8;
|
||||
extern s32 D_802B87CC;
|
||||
extern s32 gScreenModeSelection;
|
||||
extern Gfx mario_raceway_dls[];
|
||||
extern Gfx choco_mountain_dls[];
|
||||
extern s32 D_802B87BC;
|
||||
extern Gfx bowsers_castle_dls[];
|
||||
extern Gfx banshee_boardwalk_dls[];
|
||||
extern Gfx royal_raceway_dls[];
|
||||
extern Gfx luigi_raceway_dls[];
|
||||
|
||||
extern Lights1 D_800DC610[];
|
||||
extern Gfx moo_moo_farm_dls[];
|
||||
|
||||
extern Lights1 D_800DC610[]; // Light data?
|
||||
extern u8 kalimari_desert_dls[];
|
||||
extern u8 sherbet_land_dls[];
|
||||
extern Gfx wario_stadium_dls[];
|
||||
|
||||
extern Gfx D_090001D0[];
|
||||
|
||||
extern u16 D_800DC518;
|
||||
extern u16 D_8015F58A;
|
||||
|
||||
extern u16 D_800DC5BC; /* unable to generate initializer */
|
||||
extern s32 gGamestate;
|
||||
extern s32 gModeSelection;
|
||||
extern u16 gNumActors;
|
||||
extern s32 gCCSelection;
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,94 @@
|
||||
#ifndef SKYBOX_AND_SPLITSCREEN_H
|
||||
#define SKYBOX_AND_SPLITSCREEN_H
|
||||
|
||||
#define G_CLEAR_ALL_MODES 0xFFFFFFFF
|
||||
|
||||
/* Function Prototypes */
|
||||
|
||||
void func_802A4A0C(Vtx*, struct UnkStruct_800DC5EC*, s32, s32, f32*);
|
||||
|
||||
void func_802A3730(struct UnkStruct_800DC5EC*);
|
||||
void func_802A38AC(void);
|
||||
void func_802A38B4(void);
|
||||
void func_802A39E0(struct UnkStruct_800DC5EC*);
|
||||
void init_z_buffer(void);
|
||||
void init_rdp(void);
|
||||
void func_802A40A4(void);
|
||||
void func_802A40AC(void);
|
||||
void func_802A40B4(void);
|
||||
void func_802A40BC(void);
|
||||
void func_802A40C4(void);
|
||||
void func_802A40CC(void);
|
||||
void func_802A40D4(void);
|
||||
void func_802A40DC(void);
|
||||
s32 set_viewport2(void);
|
||||
void set_viewport(void);
|
||||
void select_framebuffer(void);
|
||||
void func_802A4300(void);
|
||||
void func_802A450C(Vtx*);
|
||||
void func_802A487C(Vtx*, struct UnkStruct_800DC5EC*, s32, s32, f32*);
|
||||
void func_802A4D18(void);
|
||||
void func_802A4EF4(void);
|
||||
void func_802A5004(void);
|
||||
void func_802A50EC(void);
|
||||
void func_802A51D4(void);
|
||||
void func_802A52BC(void);
|
||||
void func_802A53A4(void);
|
||||
void func_802A54A8(void);
|
||||
void func_802A5590(void);
|
||||
void func_802A5678(void);
|
||||
void func_802A5760(void);
|
||||
void func_802A59A4(void);
|
||||
void func_802A5CB4(void);
|
||||
void func_802A5FAC(void);
|
||||
void func_802A62A4(void);
|
||||
void func_802A65B8(void);
|
||||
void func_802A68CC(void);
|
||||
void func_802A6BB0(void);
|
||||
void func_802A6E94(void);
|
||||
void func_802A7178(void);
|
||||
void func_802A74BC(void);
|
||||
void copy_framebuffer(s32, s32, s32, s32, u16*, u16*);
|
||||
void func_802A7728(void);
|
||||
void func_802A7940(void);
|
||||
|
||||
extern Gfx *gDisplayListHead;
|
||||
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5EC;
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5F0;
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5F4;
|
||||
extern struct UnkStruct_800DC5EC *D_800DC5F8;
|
||||
extern u16 D_800DC5B0;
|
||||
extern s32 gGamestateNext;
|
||||
extern u16 gIsInQuitToMenuTransition;
|
||||
extern u16 gQuitToMenuTransitionCounter;
|
||||
extern s32 gMenuSelection;
|
||||
extern s32 D_800E86A4;
|
||||
extern s32 gMenuSelectionFromQuit;
|
||||
|
||||
extern u32 D_801502B4;
|
||||
extern u16 sRenderingFramebuffer;
|
||||
extern s32 D_800DC5D0;
|
||||
extern s32 D_800DC5D4;
|
||||
extern s32 D_800DC5D8;
|
||||
extern u16 D_800DC5BC;
|
||||
extern struct GfxPool *gGfxPool;
|
||||
extern f32 D_80150130[];
|
||||
extern u16 D_800DC5B4;
|
||||
extern f32 D_80150148;
|
||||
extern f32 D_8015014C;
|
||||
extern f32 D_80150150;
|
||||
|
||||
|
||||
extern u16 D_800DC5C8;
|
||||
extern u16 D_800DC5B8;
|
||||
extern struct UnkStruct_800DC5EC D_8015F480[];
|
||||
|
||||
extern struct Controller gControllers[];
|
||||
extern Player gPlayers[];
|
||||
extern s32 D_800DC5DC;
|
||||
extern s32 D_800DC5E0;
|
||||
extern uintptr_t gSegmentTable[];
|
||||
extern u16 sRenderedFramebuffer;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user