Decompiled staff_ghosts.c (Plus lots more) (#39)

* Decompiled staff_ghosts.c

* started on 80296A50.c

* Matched some of main.c

* Added framebuffers.c

* Added structs such as Camera
This commit is contained in:
CoderStig
2021-10-26 11:55:42 -06:00
committed by GitHub
parent caaea76c42
commit f3788f7ac4
40 changed files with 6358 additions and 2665 deletions
+82 -9
View File
@@ -32,6 +32,79 @@ typedef enum {
/* 0x15 */ NUM_COURSES
} COURSES;
typedef enum {
A = 0x80,
B = 0x40,
Z = 0x20,
R = 0x10
} GhostController;
typedef struct {
u8 button;
s8 frameDuration;
s8 stickY;
s8 stickX;
} StaffGhost;
// 80160ADC Banana's remaining
typedef struct {
s32 unk0;
s32 unk2;
s32 shellPos1; // BF8 = empty
s32 shellPos2; // 422 full
s32 shellPos3; // 422C full
} Item; // Inventory?
typedef struct {
// B4 long
f32 posX;
f32 posY;
f32 posZ;
f32 unk; // lookat? faceangle?
f32 unk1;
f32 unk2;
f32 angleX;
f32 angleY;
f32 angleZ;
f32 rotX;
f32 rotY;
f32 rotZ;
s32 unk3; // zero
s32 unk4; // 0x4119999A
s32 unk5; // 0xC20C bit flag?
s32 unk6; // 0
s32 unk7; // 0
s32 unk8; // 0x41F
s32 unk9; // 0
s32 unk10; // 0
s32 unk11; // 0
s32 unk12; // 0
s32 unk13; // 0x103F7
s32 unk14; // 0x05BC00## Surface camera is over?
f32 collisionX;
f32 collisionY;
f32 collisionZ;
f32 unk15;
f32 unk16;
f32 unk17;
f32 unk18;
f32 unk19;
f32 unk20;
f32 unkAngleX;
f32 unkAngleY;
f32 unkAngleZ;
s32 unk21; // zero
f32 collision;
s32 unk22; // zero
s32 unk23; // zero
s32 unk24; // zero
s32 unk25; // zero
s32 unk26; // zero
s32 unk27; // 8
s32 unk28; // zero
s32 unk29; // 422
} Camera;
typedef struct {
/* 0x0000 */ u16 unk_000;
/* 0x0002 */ s16 unk_002;
@@ -41,12 +114,12 @@ typedef struct {
/* 0x000A */ char unk_00A[0x2];
/* 0x000C */ s32 unk_00C;
/* 0x0010 */ char unk_010[0x4];
/* 0x0014 */ f32 unk_014;
/* 0x0018 */ f32 unk_018;
/* 0x001C */ f32 unk_01C;
/* 0x0020 */ f32 unk_020;
/* 0x0024 */ f32 unk_024;
/* 0x0028 */ f32 unk_028;
/* 0x0014 */ f32 posX;
/* 0x0018 */ f32 posY;
/* 0x001C */ f32 posZ;
/* 0x0020 */ f32 rotX;
/* 0x0024 */ f32 rotY;
/* 0x0028 */ f32 rotZ;
/* 0x002C */ s16 unk_02C;
/* 0x002E */ s16 unk_02E;
/* 0x0030 */ s16 unk_030;
@@ -79,10 +152,10 @@ typedef struct {
/* 0x0098 */ f32 unk_098;
/* 0x009C */ f32 unk_09C;
/* 0x00A0 */ f32 unk_0A0;
/* 0x00A4 */ f32 posX;
/* 0x00A8 */ s16 posY;
/* 0x00A4 */ f32 unk_0A4;
/* 0x00A8 */ s16 unk_0A8;
/* 0x00AA */ s16 unk_0AA;
/* 0x00AC */ s16 posZ;
/* 0x00AC */ s16 unk_0AC;
/* 0x00AE */ s16 unk_0AE;
/* 0x00B0 */ s16 unk_0B0;
/* 0x00B2 */ s16 unk_0B2;
+1
View File
@@ -5,5 +5,6 @@
#define SEG_80280000 0x80280000
#define SEG_8028DF00 0x8028DF00
#define SEG_802BA370 0x802BA370
#define SEG_FRAMEBUFFERS 0x802BA290
#endif
+1 -8
View File
@@ -10,10 +10,6 @@ extern s32 gPlayerCountSelection1;
extern f32 gKartFrictionTable[];
extern f32 gKartBoundingBoxTable[];
extern f32 gKartGravityTable[];
extern f32 gPlayer1PosX;
extern f32 gPlayer1PosY;
extern s32 gPlayer1PosZ;
extern s16 gPlayer1Rotation;
extern struct_D_802874D8 D_802874D8;
extern s16 D_801650D0[4][8];
@@ -58,8 +54,7 @@ extern s32 D_80162DE0;
extern s32 D_80162DE4;
extern s32 D_80162DE8;
extern u16 D_8015F890;
extern u16 D_80162DD4;
extern u16 D_80162DD6;
extern u16 D_80162DD4[];
extern u16 D_80162DD8;
extern s16* D_80164550;
extern f32 D_80165210[];
@@ -92,7 +87,5 @@ extern s32 D_800DDB44;
extern s32 D_800DDB48;
extern s32 D_800DDB4C;
extern s32 D_8016524C;
extern Player D_800F7768;
extern Player D_800F8540;
#endif