summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorpetrie911 <69443847+petrie911@users.noreply.github.com>2023-12-24 13:28:35 -0600
committerGitHub <noreply@github.com>2023-12-24 13:28:35 -0600
commit7633af7a2880b6058223f73c7be465f2fbb64648 (patch)
tree60048892ce09fcd4245c375fef4ba1fc01a29dd7 /include
parentf76ce38ad1b0b6868ee74247ce7846d71e33861b (diff)
fox_play finished, lots of new names for things (#58)
* stuff * three whole files * format * format and such * a switch in time * merge prep * nintendo switch * format * the great switch statement of our time * 43AC0 matched * stuff * Enums everywhere * oh god the switch * knakyo * new headers * format * fox * everyone hates recursion * format * one more thing * one more one more thing * renames * matches * matrix scale why * names and such * cleanup * name back * it just keeps going * they don't give up * splits * merge going poorly * I object * more names * one nonmatching * merge time * merge complete * cleanup * poor rambo * level fix
Diffstat (limited to 'include')
-rw-r--r--include/functions.h35
-rw-r--r--include/hud.h2
-rw-r--r--include/sf64level.h94
-rw-r--r--include/sf64object.h52
-rw-r--r--include/sf64player.h131
-rw-r--r--include/sf64thread.h72
-rw-r--r--include/structs.h60
-rw-r--r--include/variables.h72
8 files changed, 284 insertions, 234 deletions
diff --git a/include/functions.h b/include/functions.h
index 4fb6f535..d974be43 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -22,10 +22,10 @@ void func_8000FFCC(void);
u8* func_8001C3EC(void);
void func_80016A50(void);
void func_800182F4(s32);
-void func_80019218(u32, Vec3f*, u8, f32*, f32*, s8*);
+void Audio_PlaySfx(u32, Vec3f*, u8, f32*, f32*, s8*);
void func_80019290(s32, Vec3f**);
void func_8001A38C(u8, Vec3f*);
-void func_8001A500(Vec3f* sfxPos);
+void Audio_KillSfx(Vec3f*);
void func_8001A55C(Vec3f*, u32);
void func_8001A838(u32);
void func_8001ACDC(s32);
@@ -37,7 +37,7 @@ void func_8001C8B8(u8);
void func_8001CA24(u8);
void func_8001CB80(u8, u8);
void func_8001CCDC(u8, Vec3f *);
-void func_8001D1C8(s32, s32);
+void func_8001D1C8(u8, s32);
void func_8001D2FC(Vec3f *, u16);
void func_8001D3A0(Vec3f *, u16);
void func_8001D400(s8);
@@ -110,7 +110,7 @@ void func_80035448(Object_2F4*);
//sf_36930
void PlayerShot_Initialize(PlayerShot *);
void func_800365E4(f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
-void func_8003D9B8();
+void func_8003D9B8(void);
void func_8003DA0C(void);
void func_8003DAF0(void);
void func_8003DE68(s32, s32);
@@ -155,7 +155,7 @@ void func_800596C0(void);
void func_800596B0(Object_2F4*);
// fox_edisplay
-void func_8005980C(f32);
+void Graphics_SetScaleMtx(f32);
void func_80059850(Object_4C*);
void func_800598E8(Object_2F4*);
void func_80059A24(Object_2F4*);
@@ -199,7 +199,7 @@ void func_80060D94(s32);
void func_80060F30(Vec3f* , u32 , s32 );
void Object_Kill(Object*, Vec3f*);
s32 func_80060FE4(Vec3f*, f32);
-void Object_SetInfo(ObjectInfo* info, u32 objId);
+void Object_SetInfo(ObjectInfo*, u32);
void Object_80_Initialize(Object_80*);
void Object_4C_Initialize(Object_4C*);
void Object_2F4_Initialize(Object_2F4*);
@@ -210,7 +210,7 @@ void func_80061B68(void);
void func_80061CD0(void);
void func_80061E48(Object_2F4* , f32 , f32 , f32 );
void func_80061F0C(Object_2F4* , ObjectInit* , s32 );
-void Object_Spawn(ObjectInit* , f32 , f32 , f32 , f32 );
+void Object_Load(ObjectInit* , f32 , f32 , f32 , f32 );
void func_80062568(void);
void func_80062C38(f32, f32);
s32 func_800631A8(Vec3f*, f32*, Vec3f*);
@@ -327,7 +327,7 @@ void func_8007A28C(Object_8C* );
void func_8007A3C0(Object_8C* );
void func_8007A568(f32 xPos, f32 yPos, f32 zPos, f32 );
void func_8007A5F8(Object_8C* , Vec3f* , u32 );
-void func_8007A6F0(Vec3f *, u32);
+void func_8007A6F0(Vec3f *, s32);
void func_8007A748(Object_8C*);
s32 func_8007A774(Player*, Object_8C*, f32);
void func_8007A818(Object_8C*, f32 posX, f32 posY, f32 posZ, f32, u8, u8, u16);
@@ -490,7 +490,7 @@ void func_800A5FA0(Vec3f* , u32 , s32 );
void func_800A6070(Vec3f* arg0, u32 arg1);
void func_800A6148(void);
void func_800A69F8(s32 , f32 , f32 , f32 );
-void func_800A6CD0(Player *, s32, s32);
+void Player_ApplyDamage(Player *, s32, s32);
bool func_800A73E4(f32* , s32* , f32 posX, f32 posY, f32 posZ);
s32 func_800A78C4(Hitbox* hitbox, f32 , f32 , f32 , f32 , f32 , f32 );
void func_800A8BA4(Player* player);
@@ -544,6 +544,23 @@ void func_DF4260_80198310(Object_408 *);
void func_DF4260_801988E0(void);
void func_DF4260_8018ED78(Object_408*);
+void func_E9F1D0_80189214(void);
+void func_E9F1D0_8018BDD8(void);
+void func_E9F1D0_8018C390(Player*);
+void func_DF4260_80198C50(void);
+void func_DF4260_8019949C(void);
+void func_E16C50_8019E8B8(f32, f32, f32, f32);
+void func_E9F1D0_801A5AD4(Player*);
+void func_E9F1D0_801A5FC0(Player*);
+void func_E16C50_801AA8E8(Player*);
+void func_E16C50_801AACF8(Player*);
+void func_E16C50_801AC274(Player*);
+void func_E16C50_801ACE50(Player*);
+void func_E6A810_801ACFBC(ObjectInit*);
+void func_E6A810_801AD080(void);
+void func_E16C50_801AD328(Player*);
+void func_E16C50_801BEC80(Player*);
+
void func_E08400_80187B08(Object_2F4 *);
void func_E08400_80188A40(Object_408 *);
void func_E08400_8018CCF8(Object_2F4 *);
diff --git a/include/hud.h b/include/hud.h
index 77d658d5..cff9db5d 100644
--- a/include/hud.h
+++ b/include/hud.h
@@ -67,7 +67,7 @@ extern s32 D_801617FC;
extern s32 gHitCount;
extern s32 D_80177838;
extern s32 D_80177854;
-extern s32 gAllRangeMode;
+extern s32 gLevelMode;
extern s32 gTeamShields[];
extern s32 D_801778BC;
extern s32 gVersusMode;
diff --git a/include/sf64level.h b/include/sf64level.h
index f1f48b97..5fcf611e 100644
--- a/include/sf64level.h
+++ b/include/sf64level.h
@@ -8,10 +8,10 @@
#define SAVE_SLOT_VENOM_2 15
typedef enum {
- LEVELTYPE_GROUND,
- LEVELTYPE_SPACE,
- LEVELTYPE_UNK2,
- LEVELTYPE_UNK3,
+ /* 0 */ LEVELTYPE_PLANET,
+ /* 1 */ LEVELTYPE_SPACE,
+ /* 2 */ LEVELTYPE_UNK2,
+ /* 3 */ LEVELTYPE_UNK3,
} LevelType;
typedef struct {
@@ -31,49 +31,49 @@ typedef struct {
/* 0x38 */ s32 ambR;
/* 0x3C */ s32 ambG;
/* 0x40 */ s32 ambB;
-} EnvSettings; // size = 0x44?
+} EnvSettings; // size = 0x44
typedef enum {
- OVL_SETUP_TITLE,
- OVL_SETUP_MENU,
- OVL_SETUP_MAP,
- OVL_SETUP_STATE_5,
- OVL_SETUP_CREDITS,
- OVL_SETUP_CORNERIA,
- OVL_SETUP_METEO,
- OVL_SETUP_TITANIA,
- OVL_SETUP_SECTOR_X,
- OVL_SETUP_AQUAS,
- OVL_SETUP_AREA_6,
- OVL_SETUP_FORTUNA,
- OVL_SETUP_UNK_4,
- OVL_SETUP_SECTOR_Y,
- OVL_SETUP_SOLAR,
- OVL_SETUP_ZONESS,
- OVL_SETUP_VENOM_2,
- OVL_SETUP_TRAINING,
- OVL_SETUP_VENOM_1,
- OVL_SETUP_KATINA,
- OVL_SETUP_20,
- OVL_SETUP_MACBETH,
- OVL_SETUP_BOLSE,
- OVL_SETUP_SECTOR_Z,
- OVL_SETUP_VENOM_SW,
- OVL_SETUP_VERSUS = 50,
- OVL_SETUP_LOGO = 99,
+ /* 0 */ OVL_SETUP_TITLE,
+ /* 1 */ OVL_SETUP_MENU,
+ /* 2 */ OVL_SETUP_MAP,
+ /* 3 */ OVL_SETUP_STATE_5,
+ /* 4 */ OVL_SETUP_CREDITS,
+ /* 5 */ OVL_SETUP_CORNERIA,
+ /* 6 */ OVL_SETUP_METEO,
+ /* 7 */ OVL_SETUP_TITANIA,
+ /* 8 */ OVL_SETUP_SECTOR_X,
+ /* 9 */ OVL_SETUP_AQUAS,
+ /* 10 */ OVL_SETUP_AREA_6,
+ /* 11 */ OVL_SETUP_FORTUNA,
+ /* 12 */ OVL_SETUP_UNK_4,
+ /* 13 */ OVL_SETUP_SECTOR_Y,
+ /* 14 */ OVL_SETUP_SOLAR,
+ /* 15 */ OVL_SETUP_ZONESS,
+ /* 16 */ OVL_SETUP_VENOM_ANDROSS,
+ /* 17 */ OVL_SETUP_TRAINING,
+ /* 18 */ OVL_SETUP_VENOM_1,
+ /* 19 */ OVL_SETUP_KATINA,
+ /* 10 */ OVL_SETUP_20,
+ /* 11 */ OVL_SETUP_MACBETH,
+ /* 12 */ OVL_SETUP_BOLSE,
+ /* 13 */ OVL_SETUP_SECTOR_Z,
+ /* 14 */ OVL_SETUP_VENOM_2,
+ /* 50 */ OVL_SETUP_VERSUS = 50,
+ /* 99 */ OVL_SETUP_LOGO = 99,
} OverlaySetups;
typedef enum LevelId {
- /* 0 */ LEVEL_CORNERIA,
- /* 1 */ LEVEL_METEO,
- /* 2 */ LEVEL_SECTOR_X,
- /* 3 */ LEVEL_AREA_6,
- /* 4 */ LEVEL_UNK_4,
- /* 5 */ LEVEL_SECTOR_Y,
- /* 6 */ LEVEL_VENOM_1,
- /* 7 */ LEVEL_SOLAR,
- /* 8 */ LEVEL_ZONESS,
- /* 9 */ LEVEL_VENOM_2,
+ /* 0 */ LEVEL_CORNERIA,
+ /* 1 */ LEVEL_METEO,
+ /* 2 */ LEVEL_SECTOR_X,
+ /* 3 */ LEVEL_AREA_6,
+ /* 4 */ LEVEL_UNK_4,
+ /* 5 */ LEVEL_SECTOR_Y,
+ /* 6 */ LEVEL_VENOM_1,
+ /* 7 */ LEVEL_SOLAR,
+ /* 8 */ LEVEL_ZONESS,
+ /* 9 */ LEVEL_VENOM_ANDROSS,
/* 10 */ LEVEL_TRAINING,
/* 11 */ LEVEL_MACBETH,
/* 12 */ LEVEL_TITANIA,
@@ -83,14 +83,14 @@ typedef enum LevelId {
/* 16 */ LEVEL_KATINA,
/* 17 */ LEVEL_BOLSE,
/* 18 */ LEVEL_SECTOR_Z,
- /* 19 */ LEVEL_VENOM_SW,
- /* 80 */ LEVEL_VERSUS,
+ /* 19 */ LEVEL_VENOM_2,
+ /* 20 */ LEVEL_VERSUS,
} LevelId;
typedef enum {
- VSTAGE_CORNERIA,
- VSTAGE_KATINA,
- VSTAGE_SECTOR_Z,
+ /* 0 */ VS_STAGE_CORNERIA,
+ /* 1 */ VS_STAGE_KATINA,
+ /* 2 */ VS_STAGE_SECTOR_Z,
} VsStage;
#endif
diff --git a/include/sf64object.h b/include/sf64object.h
index 86a8566f..cbe3164d 100644
--- a/include/sf64object.h
+++ b/include/sf64object.h
@@ -4,6 +4,10 @@
#include "libultra/ultra64.h"
#include "sf64math.h"
+#define HITBOX_UNK_2 200000.0f
+#define HITBOX_UNK_3 300000.0f
+#define HITBOX_UNK_4 400000.0f
+
typedef struct {
/* 0x00 */ f32 zPos1;
/* 0x04 */ s16 zPos2;
@@ -69,7 +73,7 @@ typedef struct {
/* 0x40 */ s32 index;
/* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48;
- /* 0x4C */ s32 unk_4C;
+ /* 0x4C */ s32 timer_4C;
/* 0x50 */ u8 unk_50;
/* 0x51 */ char pad51[3];
/* 0x54 */ s32 unk_54;
@@ -96,15 +100,15 @@ typedef struct {
/* 0x40 */ s32 index;
/* 0x44 */ s16 unk_44;
/* 0x46 */ u8 unk_46;
- /* 0x48 */ u16 unk_48;
- /* 0x4A */ u16 unk_4A;
+ /* 0x48 */ u16 timer_48;
+ /* 0x4A */ u16 timer_4A;
/* 0x4C */ s8 unk_4C;
/* 0x4E */ s16 unk_4E;
/* 0x50 */ f32 unk_50;
/* 0x54 */ f32 unk_54;
/* 0x58 */ f32 unk_58;
/* 0x5C */ Vec3f sfxPos;
- /* 0x68 */ f32 unk_68;
+ /* 0x68 */ f32 scale;
} Item; // size 0x6C
typedef struct {
@@ -117,12 +121,12 @@ typedef struct {
/* 0x4A */ s16 unk_4A;
/* 0x4C */ u8 unk_4C;
/* 0x4E */ s16 unk_4E;
- /* 0x50 */ u16 unk_50;
+ /* 0x50 */ u16 timer_50;
/* 0x52 */ char pad52[0x2];
/* 0x54 */ Vec3f unk_54;
/* 0x60 */ Vec3f unk_60;
- /* 0x6C */ f32 unk_6C;
- /* 0x70 */ f32 unk_70;
+ /* 0x6C */ f32 scale1;
+ /* 0x70 */ f32 scale2;
/* 0x74 */ Gfx* unk_74;
/* 0x78 */ s16 unk_78;
/* 0x7A */ s16 unk_7A;
@@ -136,13 +140,13 @@ typedef struct {
/* 0x040 */ s32 index;
/* 0x044 */ char unk_44[0xA];
/* 0x04E */ s16 unk_04E;
- /* 0x050 */ s16 unk_050;
- /* 0x052 */ s16 unk_052;
- /* 0x054 */ s16 unk_054;
- /* 0x056 */ s16 unk_056;
- /* 0x058 */ s16 unk_058;
- /* 0x05A */ s16 unk_05A;
- /* 0x05C */ s16 unk_05C;
+ /* 0x050 */ s16 timer_050;
+ /* 0x052 */ s16 timer_052;
+ /* 0x054 */ s16 timer_054;
+ /* 0x056 */ s16 timer_056;
+ /* 0x058 */ s16 timer_058;
+ /* 0x05A */ s16 timer_05A;
+ /* 0x05C */ s16 timer_05C;
/* 0x05E */ u8 unk_05E;
/* 0x05F */ char pad5F[3];
/* 0x062 */ s8 unk_062;
@@ -202,7 +206,7 @@ typedef struct {
/* 0x046 */ s16 unk_046;
/* 0x048 */ s16 unk_048;
/* 0x04A */ s16 unk_04A;
- /* 0x04C */ s16 unk_04C;
+ /* 0x04C */ s16 timer_04C;
/* 0x04E */ s16 unk_04E;
/* 0x050 */ bool unk_050;
/* 0x054 */ bool unk_054;
@@ -230,15 +234,15 @@ typedef struct {
/* 0x0B6 */ s16 unk_0B6;
/* 0x0B8 */ s16 unk_0B8;
/* 0x0BA */ char pad0BA[0x2];
- /* 0x0BC */ u16 unk_0BC;
- /* 0x0BC */ u16 unk_0BE;
- /* 0x0C0 */ u16 unk_0C0;
- /* 0x0C2 */ u16 unk_0C2;
- /* 0x0C4 */ u16 unk_0C4;
- /* 0x0C6 */ u16 unk_0C6;
+ /* 0x0BC */ u16 timer_0BC;
+ /* 0x0BC */ u16 timer_0BE;
+ /* 0x0C0 */ u16 timer_0C0;
+ /* 0x0C2 */ u16 timer_0C2;
+ /* 0x0C4 */ u16 timer_0C4;
+ /* 0x0C6 */ u16 timer_0C6;
/* 0x0C8 */ u8 unk_0C8;
/* 0x0C9 */ u8 unk_0C9;
- /* 0x0C9 */ u8 unk_0CA[4];
+ /* 0x0C9 */ u8 timer_0CA[4];
/* 0x0CE */ s16 unk_0CE;
/* 0x0D0 */ s8 unk_0D0;
/* 0x0D1 */ s16 unk_0D2;
@@ -251,7 +255,7 @@ typedef struct {
/* 0x0F4 */ Vec3f unk_0F4;
/* 0x100 */ Vec3f sfxPos;
/* 0x10C */ f32 unk_10C;
- /* 0x110 */ f32 unk_110;
+ /* 0x110 */ f32 scale;
/* 0x114 */ f32 unk_114;
/* 0x118 */ f32 unk_118;
/* 0x11C */ f32 unk_11C;
@@ -621,7 +625,7 @@ typedef enum{
/* 331 */ OBJ_ITEM_331,
/* 332 */ OBJ_ITEM_332,
/* 333 */ OBJ_ITEM_333,
- /* 334 */ OBJ_ITEM_CORN_ARCH,
+ /* 334 */ OBJ_ITEM_334,
/* 335 */ OBJ_ITEM_1UP,
/* 336 */ OBJ_ITEM_GOLD_RING,
/* 337 */ OBJ_ITEM_WING_REPAIR,
diff --git a/include/sf64player.h b/include/sf64player.h
index f8153a9f..9fe68ac3 100644
--- a/include/sf64player.h
+++ b/include/sf64player.h
@@ -4,12 +4,55 @@
#include "sf64math.h"
#include "sf64object.h"
-typedef enum {
- WINGSTATE_NONE,
- WINGSTATE_BROKEN,
- WINGSTATE_INTACT,
+typedef enum WingState {
+ /* 0 */ WINGSTATE_NONE,
+ /* 1 */ WINGSTATE_BROKEN,
+ /* 2 */ WINGSTATE_INTACT,
} WingState;
+typedef enum PlayerForm {
+ /* 0 */ FORM_ARWING,
+ /* 1 */ FORM_LANDMASTER,
+ /* 2 */ FORM_BLUE_MARINE,
+ /* 3 */ FORM_ON_FOOT,
+ /* 4 */ FORM_UNK_4,
+} PlayerForm;
+
+typedef enum DrawMode {
+ /* 0 */ DRAWMODE_0,
+ /* 1 */ DRAWMODE_1,
+ /* 2 */ DRAWMODE_2,
+ /* 3 */ DRAWMODE_3,
+ /* 4 */ DRAWMODE_4,
+ /* 5 */ DRAWMODE_5,
+ /* 6 */ DRAWMODE_6,
+ /* 7 */ DRAWMODE_7,
+ /* 8 */ DRAWMODE_8,
+} DrawMode;
+
+typedef enum LevelMode {
+ /* 0 */ LEVELMODE_ON_RAILS,
+ /* 1 */ LEVELMODE_ALL_RANGE,
+ /* 2 */ LEVELMODE_UNK_2,
+} LevelMode;
+
+typedef enum PlayerState1C8 {
+ /* 0 */ PLAYERSTATE_1C8_0,
+ /* 1 */ PLAYERSTATE_1C8_1,
+ /* 2 */ PLAYERSTATE_1C8_2,
+ /* 3 */ PLAYERSTATE_1C8_3,
+ /* 4 */ PLAYERSTATE_1C8_4,
+ /* 5 */ PLAYERSTATE_1C8_5,
+ /* 6 */ PLAYERSTATE_1C8_6,
+ /* 7 */ PLAYERSTATE_1C8_7,
+ /* 8 */ PLAYERSTATE_1C8_8,
+ /* 9 */ PLAYERSTATE_1C8_9,
+ /* 10 */ PLAYERSTATE_1C8_10,
+ /* 11 */ PLAYERSTATE_1C8_11,
+ /* 12 */ PLAYERSTATE_1C8_12,
+ /* 13 */ PLAYERSTATE_1C8_13,
+} PlayerState1C8;
+
typedef struct {
/* 0x00 */ u8 rightState;
/* 0x01 */ u8 leftState;
@@ -30,16 +73,16 @@ typedef struct {
} WingInfo; // size = 0x3C
typedef enum {
- PLAYERSHOT_0,
- PLAYERSHOT_1,
- PLAYERSHOT_2,
- PLAYERSHOT_3,
- PLAYERSHOT_4,
- PLAYERSHOT_5,
- PLAYERSHOT_6,
- PLAYERSHOT_7,
- PLAYERSHOT_8,
- PLAYERSHOT_9,
+ /* 0 */ PLAYERSHOT_0,
+ /* 1 */ PLAYERSHOT_1,
+ /* 2 */ PLAYERSHOT_2,
+ /* 3 */ PLAYERSHOT_3,
+ /* 4 */ PLAYERSHOT_4,
+ /* 5 */ PLAYERSHOT_5,
+ /* 6 */ PLAYERSHOT_6,
+ /* 7 */ PLAYERSHOT_7,
+ /* 8 */ PLAYERSHOT_8,
+ /* 9 */ PLAYERSHOT_9,
} PlayerShotId;
typedef struct {
@@ -59,7 +102,7 @@ typedef struct {
/* 0x5C */ s32 unk_5C;
/* 0x60 */ s32 unk_60;
/* 0x64 */ s32 unk_64;
- /* 0x68 */ s32 unk_68;
+ /* 0x68 */ s32 playerNum;
/* 0x6C */ char pad6C[4];
} PlayerShot; // size = 0x70
@@ -75,11 +118,11 @@ typedef struct Player {
/* 0x020 */ char pad20[8];
/* 0x028 */ f32 unk_028;
/* 0x02C */ f32 unk_02C;
- /* 0x030 */ char pad30[4];
+ /* 0x030 */ f32 unk_030;
/* 0x034 */ f32 unk_034;
/* 0x038 */ char pad38[8];
- /* 0x040 */ Vec3f unk_040;
- /* 0x04C */ Vec3f unk_04C;
+ /* 0x040 */ Vec3f camEye;
+ /* 0x04C */ Vec3f camAt;
/* 0x058 */ f32 unk_058;
/* 0x05C */ f32 unk_05C;
/* 0x05C */ f32 unk_060;
@@ -87,14 +130,12 @@ typedef struct Player {
/* 0x068 */ f32 unk_068;
/* 0x06C */ f32 unk_06C;
/* 0x070 */ f32 unk_070;
- /* 0x074 */ f32 unk_074;
- /* 0x078 */ f32 unk_078;
- /* 0x07C */ f32 unk_07C;
+ /* 0x074 */ Vec3f pos;
/* 0x080 */ f32 unk_080;
/* 0x084 */ f32 unk_084;
/* 0x088 */ f32 unk_088;
- /* 0x08C */ Vec3f unk_08C;
- /* 0x098 */ f32 unk_098;
+ /* 0x08C */ f32 unk_08C;
+ /* 0x090 */ Vec3f unk_090;
/* 0x09C */ f32 unk_09C;
/* 0x0A0 */ f32 unk_0A0;
/* 0x0A4 */ f32 unk_0A4;
@@ -104,7 +145,7 @@ typedef struct Player {
/* 0x0B4 */ f32 unk_0B4;
/* 0x0B8 */ f32 unk_0B8;
/* 0x0BC */ f32 unk_0BC;
- /* 0x0C0 */ Vec3f unk_0C0;
+ /* 0x0C0 */ Vec3f vel;
/* 0x0CC */ f32 unk_0CC;
/* 0x0D0 */ f32 unk_0D0;
/* 0x0D4 */ f32 unk_0D4;
@@ -159,31 +200,31 @@ typedef struct Player {
/* 0x1A0 */ s32 unk_1A0;
/* 0x1A4 */ s32 unk_1A4;
/* 0x1A8 */ char pad1A8[0x1C];
- /* 0x1C4 */ s32 unk_1C4;
- /* 0x1C8 */ s32 unk_1C8;
- /* 0x1CC */ s32 unk_1CC;
+ /* 0x1C4 */ s32 num;
+ /* 0x1C8 */ s32 state_1C8;
+ /* 0x1CC */ s32 form;
/* 0x1D0 */ s32 unk_1D0;
/* 0x1D4 */ s32 unk_1D4;
/* 0x1D8 */ char pad1D8[4];
/* 0x1DC */ s32 unk_1DC;
- /* 0x1E0 */ s32 unk_1E0;
- /* 0x1E4 */ s32 unk_1E4;
- /* 0x1E8 */ s32 unk_1E8;
+ /* 0x1E0 */ s32 timer_1E0;
+ /* 0x1E4 */ s32 timer_1E4;
+ /* 0x1E8 */ s32 timer_1E8;
/* 0x1EC */ s32 unk_1EC;
/* 0x1F0 */ s32 unk_1F0;
/* 0x1F4 */ s32 unk_1F4;
- /* 0x1F8 */ s32 unk_1F8;
- /* 0x1FC */ s32 unk_1FC;
+ /* 0x1F8 */ s32 timer_1F8;
+ /* 0x1FC */ s32 timer_1FC;
/* 0x200 */ s32 unk_200;
/* 0x204 */ s32 unk_204;
/* 0x208 */ char pad208[4];
/* 0x20C */ s32 unk_20C;
- /* 0x210 */ s32 unk_210;
- /* 0x214 */ s32 unk_214;
- /* 0x218 */ s32 unk_218;
+ /* 0x210 */ s32 timer_210;
+ /* 0x214 */ s32 timer_214;
+ /* 0x218 */ s32 timer_218;
/* 0x21C */ s32 unk_21C;
- /* 0x220 */ s32 unk_220;
- /* 0x224 */ s32 unk_224;
+ /* 0x220 */ s32 timer_220;
+ /* 0x224 */ s32 timer_224;
/* 0x228 */ s32 unk_228;
/* 0x22C */ s32 unk_22C;
/* 0x230 */ char pad230[4];
@@ -191,7 +232,7 @@ typedef struct Player {
/* 0x238 */ s32 unk_238;
/* 0x23C */ s32 unk_23C;
/* 0x240 */ s32 unk_240;
- /* 0x244 */ s32 unk_244;
+ /* 0x244 */ s32 timer_244;
/* 0x248 */ f32 unk_248;
/* 0x24C */ f32 unk_24C;
/* 0x250 */ f32 unk_250;
@@ -204,8 +245,8 @@ typedef struct Player {
/* 0x26C */ s32 heal;
/* 0x270 */ s32 unk_270;
/* 0x274 */ char pad274[4];
- /* 0x278 */ s32 unk_278;
- /* 0x27C */ s32 unk_27C;
+ /* 0x278 */ s32 timer_278;
+ /* 0x27C */ s32 timer_27C;
/* 0x280 */ s32 unk_280;
/* 0x284 */ s32 unk_284;
/* 0x288 */ s32 unk_288;
@@ -215,10 +256,10 @@ typedef struct Player {
/* 0x2BC */ f32 unk_2BC;
/* 0x2C0 */ f32 unk_2C0;
/* 0x2C4 */ s32 unk_2C4;
- /* 0x2C8 */ Vec3f unk_2C8;
- /* 0x2D4 */ Vec3f unk_2D4;
- /* 0x2E0 */ Vec3f unk_2E0;
- /* 0x2EC */ Vec3f unk_2EC;
+ /* 0x2C8 */ Vec3f hit2;
+ /* 0x2D4 */ Vec3f hit1;
+ /* 0x2E0 */ Vec3f hit4;
+ /* 0x2EC */ Vec3f hit3;
/* 0x2F8 */ Vec3f jointTable[30];
/* 0x460 */ union {
Vec3f unk_460;
@@ -235,7 +276,7 @@ typedef struct Player {
/* 0x48C */ u8 unk_48C;
/* 0x490 */ f32 unk_490;
/* 0x494 */ u8 unk_494;
- /* 0x498 */ s32 unk_498;
+ /* 0x498 */ s32 timer_498;
/* 0x49C */ WingInfo wings;
/* 0x4D8 */ f32 unk_4D8;
/* 0x4DC */ s32 unk_4DC;
diff --git a/include/sf64thread.h b/include/sf64thread.h
index 1dc257d8..0a276961 100644
--- a/include/sf64thread.h
+++ b/include/sf64thread.h
@@ -5,21 +5,21 @@
#include "gfx.h"
typedef enum {
- GSTATE_NONE,
- GSTATE_INIT,
- GSTATE_TITLE,
- GSTATE_MENU,
- GSTATE_MAP,
- GSTATE_STATE_5,
- GSTATE_VS_INIT,
- GSTATE_PLAY,
- GSTATE_CREDITS,
- GSTATE_BOOT = 100,
- GSTATE_BOOT_WAIT,
- GSTATE_SHOW_LOGO,
- GSTATE_CHECK_SAVE,
- GSTATE_LOGO_WAIT,
- GSTATE_START,
+ /* 0 */ GSTATE_NONE,
+ /* 1 */ GSTATE_INIT,
+ /* 2 */ GSTATE_TITLE,
+ /* 3 */ GSTATE_MENU,
+ /* 4 */ GSTATE_MAP,
+ /* 5 */ GSTATE_GAME_OVER,
+ /* 6 */ GSTATE_VS_INIT,
+ /* 7 */ GSTATE_PLAY,
+ /* 8 */ GSTATE_CREDITS,
+ /* 100 */ GSTATE_BOOT = 100,
+ /* 101 */ GSTATE_BOOT_WAIT,
+ /* 102 */ GSTATE_SHOW_LOGO,
+ /* 103 */ GSTATE_CHECK_SAVE,
+ /* 104 */ GSTATE_LOGO_WAIT,
+ /* 105 */ GSTATE_START,
} GameStates;
typedef void (*TimerAction)(s32*, s32);
@@ -43,11 +43,11 @@ typedef struct {
} FaultMgr; // size = 0x9D8, 0x8 aligned
typedef enum {
- SPTASK_STATE_NOT_STARTED,
- SPTASK_STATE_RUNNING,
- SPTASK_STATE_INTERRUPTED,
- SPTASK_STATE_FINISHED,
- SPTASK_STATE_FINISHED_DP
+ /* 0 */ SPTASK_STATE_NOT_STARTED,
+ /* 1 */ SPTASK_STATE_RUNNING,
+ /* 2 */ SPTASK_STATE_INTERRUPTED,
+ /* 3 */ SPTASK_STATE_FINISHED,
+ /* 4 */ SPTASK_STATE_FINISHED_DP
} SpTaskState;
typedef struct {
@@ -88,13 +88,13 @@ void func_80007FE4(FrameBuffer*, u16, u16);
void Fault_Init(void);
typedef enum {
- SI_READ_CONTROLLER = 10,
- SI_READ_SAVE,
- SI_WRITE_SAVE,
- SI_RUMBLE,
- SI_SAVE_FAILED,
- SI_SAVE_SUCCESS,
- SI_CONT_READ_DONE,
+ /* 10 */ SI_READ_CONTROLLER = 10,
+ /* 11 */ SI_READ_SAVE,
+ /* 12 */ SI_WRITE_SAVE,
+ /* 13 */ SI_RUMBLE,
+ /* 14 */ SI_SAVE_FAILED,
+ /* 15 */ SI_SAVE_SUCCESS,
+ /* 16 */ SI_CONT_READ_DONE,
} SerialMesg;
#define MSG_QUEUE_EMPTY -1
@@ -111,15 +111,15 @@ typedef enum {
#define EVENT_MESG_PRENMI 4
typedef enum {
- THREAD_ID_SYSTEM,
- THREAD_ID_IDLE,
- THREAD_ID_FAULT,
- THREAD_ID_MAIN,
- THREAD_ID_4,
- THREAD_ID_AUDIO,
- THREAD_ID_GRAPHICS,
- THREAD_ID_7,
- THREAD_ID_SERIAL,
+ /* 0 */ THREAD_ID_SYSTEM,
+ /* 1 */ THREAD_ID_IDLE,
+ /* 2 */ THREAD_ID_FAULT,
+ /* 3 */ THREAD_ID_MAIN,
+ /* 4 */ THREAD_ID_4,
+ /* 5 */ THREAD_ID_AUDIO,
+ /* 6 */ THREAD_ID_GRAPHICS,
+ /* 7 */ THREAD_ID_TIMER,
+ /* 8 */ THREAD_ID_SERIAL,
} ThreadID;
#endif
diff --git a/include/structs.h b/include/structs.h
index 807a12e7..cb3846d1 100644
--- a/include/structs.h
+++ b/include/structs.h
@@ -7,46 +7,46 @@
#define UNK_TYPE s32
typedef struct {
- f32 offset;
- f32 size;
-} HitboxDim;
+ /* 0x0 */ f32 offset;
+ /* 0x4 */ f32 size;
+} HitboxDim; // size = 0x8
typedef struct {
- HitboxDim z;
- HitboxDim y;
- HitboxDim x;
-} Hitbox;
+ /* 0x00 */ HitboxDim z;
+ /* 0x08 */ HitboxDim y;
+ /* 0x10 */ HitboxDim x;
+} Hitbox; // size = 0x18
typedef struct {
- s16 vtx[3];
- s16 unk_06;
- Vec3s normal;
- s32 dist;
-} CollisionPoly;
+ /* 0x00 */ s16 vtx[3];
+ /* 0x06 */ s16 unk_06;
+ /* 0x08 */ Vec3s normal;
+ /* 0x10 */ s32 dist;
+} CollisionPoly; // size = 0x14
typedef struct {
- Vec3f min;
- Vec3f max;
- s32 polyCount;
- CollisionPoly* polys;
- Vec3s* mesh;
+ /* 0x00 */ Vec3f min;
+ /* 0x0C */ Vec3f max;
+ /* 0x18 */ s32 polyCount;
+ /* 0x1C */ CollisionPoly* polys;
+ /* 0x20 */ Vec3s* mesh;
} CollisionHeader; // size = 0x24
typedef struct {
- Vec3f min;
- Vec3f max;
- s32 polyCount;
- s16 (*polys)[3];
- Vec3f* mesh;
+ /* 0x00 */ Vec3f min;
+ /* 0x0C */ Vec3f max;
+ /* 0x18 */ s32 polyCount;
+ /* 0x1C */ s16 (*polys)[3];
+ /* 0x20 */ Vec3f* mesh;
} CollisionHeader2; // size = 0x24
typedef struct {
/* bit 0 */ u8 unk_0 : 3;
- /* bit 3 */ u8 unk_3 : 1;
- /* bit 4 */ u8 unk_4 : 1;
- /* bit 5 */ u8 unk_5 : 1;
- /* bit 6 */ u8 unk_6 : 1;
- /* bit 7 */ u8 unk_7 : 1;
+ /* bit 3 */ u8 expertMedal : 1;
+ /* bit 4 */ u8 expertClear : 1;
+ /* bit 5 */ u8 played : 1;
+ /* bit 6 */ u8 normalMedal : 1;
+ /* bit 7 */ u8 normalClear : 1;
} PlanetData; // size = 0x1
typedef struct {
@@ -89,12 +89,6 @@ typedef struct {
} SaveFile; // size = 0x200
typedef struct {
- /* 0x0 */ u16 unk_0;
- /* 0x2 */ s8 unk_2;
- /* 0x3 */ s8 unk_3;
-} UnkStruct_gInputPress; // size = 0x4
-
-typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ char pad01[0x1];
/* 0x02 */ u16 unk_02;
diff --git a/include/variables.h b/include/variables.h
index 2cb4dcc2..10c73874 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -15,7 +15,9 @@ extern u64 __rspboot_end[];
extern u64 __aspmain_start[];
extern u64 __aspmain_end[];
extern u64 __f3dex_start[];
+extern u64 __f3dex_end[];
extern u8 gF3dexData[SP_UCODE_DATA_SIZE];
+extern u8 gAspMainData[];
extern Mtx gIdentityMtx; // 800C4620
extern Matrix gIdentityMatrix; //800C4660
@@ -130,11 +132,11 @@ extern OSMesg D_8015661C[1];
extern s32 D_800C9B4C;
extern u16 D_800C9C3C[16];
-extern Vec3f D_800C9F2C; // could be f32[4]?
+extern Vec3f D_800C9F2C;
extern s32 D_800CA220;
extern f32 D_800CA230;
extern Object_2F4* D_800CA234;
-extern s32 D_800CA238;
+extern s32 D_Timer_800CA238;
extern f32 D_800CBE70[];
extern f32 D_800CBE8C[];
extern f32 D_800CBEA8[];
@@ -177,15 +179,7 @@ extern Gfx* D_800CFC64[];
extern Gfx* D_800CFC7C[];
extern f32* D_800CF964[];
extern f32 D_800CFCA0[];
-extern Vec3f D_800CFCC0; // initializer in sf_5A240
extern f32 D_800CFCCC[];
-extern Vec3f D_800CFCEC;
-extern Vec3f D_800CFCF8;
-extern Vec3f D_800CFD04;
-extern Vec3f D_800CFD10;
-extern Vec3f D_800CFD1C;
-extern Vec3f D_800CFD28;
-extern Vec3f D_800CFD34;
extern Gfx D_800CFD80[];
extern ObjectInit* D_800CFDA0[];
extern s32 D_800CFDF4[];
@@ -283,7 +277,7 @@ extern f32 D_801615B8[4];
extern Vec3f D_801615D0;
// fox_enmy
-extern s32 D_80161670[4];
+extern s32 D_Timer_80161670[4];
extern s32 D_80161680;
extern u8 D_80161684;
@@ -326,7 +320,7 @@ extern s32 D_80161910[0x10]; // could be in fox_97F80
// fox_game
extern f32 D_80161A10;
extern f32 D_80161A14;
-extern s32 D_80161A18[4];
+extern s32 gPlayerInactive[4];
extern s32 D_80161A28;
extern u8 D_80161A2C;
extern u16 D_80161A2E;
@@ -345,7 +339,7 @@ extern u8 D_80161A50;
extern f32 D_80161A54;
//
extern s32 D_80161A5C;
-extern u16 D_80161A60;
+extern u16 D_Timer_80161A60;
extern u16 D_80161A62;
extern s32 D_80161A64;
extern EnvSettings* sEnvSettings;
@@ -359,7 +353,7 @@ extern s32 D_80161A84;
extern s32 D_80161A88;
extern s32 D_80161A8C;
extern u8 gGoldRingCount[4];
-extern u8 D_80161A94;
+extern u8 D_80161A94[4];
extern s32 gHitCount;
extern s32 gSavedHitCount;
extern s16 gLifeCount[4];
@@ -394,7 +388,7 @@ extern s32 D_8017782C;
extern u8 D_80177830;
extern s32 gGameState;
extern s32 D_80177838;
-extern s32 D_8017783C;
+extern s32 D_Timer_8017783C;
extern s32 D_80177840;
extern s32 D_80177848;
extern s32 D_80177844;
@@ -405,12 +399,12 @@ extern s32 D_80177858[4];
extern s32 D_80177868;
//
extern s32 D_80177870[4];
-extern s32 gAllRangeMode;
+extern s32 gLevelMode;
//
-extern s32 D_80177888[4];
-extern s32 D_80177898;
+extern s32 gHandicap[4];
+extern s32 gDrawMode;
extern s32 gVersusStage;
-extern s32 D_801778A0;
+extern s32 gPlayerNum;
extern s32 D_801778A4;
extern s32 gCamCount;
extern s32 D_801778AC;
@@ -421,15 +415,15 @@ extern s32 gSavedTeamShields[6];
extern bool gVersusMode;
//
extern UNK_TYPE D_801778F0[6];
-extern u16 D_80177908[4];
-extern s32 D_80177910[6];
-extern u16 D_80177928[4];
+extern u16 gBoostButton[4];
+extern s32 gTeamDamage[6];
+extern u16 gBrakeButton[4];
extern u8 D_80177930;
//
-extern u16 D_80177938[4];
+extern u16 gShootButton[4];
extern f32 D_80177940;
//
-extern u16 D_80177948[4];
+extern u16 gBombButton[4];
extern f32 D_80177950;
//
extern f32 D_80177958[4];
@@ -451,21 +445,21 @@ extern f32 D_801779B8;
extern u8 D_801779BC;
extern f32 D_801779C0;
//
-extern s32 D_801779C8[4];
+extern s32 gChargeTimers[4];
extern Vec3f D_801779D8;
extern f32 D_801779E4;
extern Vec3f D_801779E8;
extern f32 D_801779F4;
extern bool gExpertMode;
//
-extern UNK_TYPE D_80177A00[4];
+extern s32 D_Timer_80177A00[4];
extern s32 D_80177A10[10];
-extern UNK_TYPE D_80177A38[4];
+extern s32 D_Timer_80177A38[4];
extern f32 D_80177A48[10];
-extern s32 D_80177A70[4];
+extern s32 D_Timer_80177A70[4];
extern s32 D_80177A80;
//
-extern s32 D_80177A88[4];
+extern s32 D_Timer_80177A88[4];
extern u8 D_80177A98;
//
extern f32 D_80177AA0[4];
@@ -478,11 +472,11 @@ extern s32 D_80177AD0[4];
extern s32 D_80177AE0;
//
extern s32 D_80177AE8[4];
-extern s32 D_80177AF8;
+extern s32 gMainController;
//
extern s32 D_80177B00[4][4];
extern s32 D_80177B40;
-extern u8 D_80177B44;
+extern u8 D_Timer_80177B44;
extern s32 D_80177B48;
extern u8 D_80177B4C;
extern s32 D_80177B50[7];
@@ -493,9 +487,9 @@ extern s32 D_80177B90[7];
extern s8 D_80177BAC;
extern s32 D_80177BB0[7];
//
-extern s16 D_80177BD0[4]; // up to [48]
-extern s32 D_80177BD8[];
-// 0x58
+extern u16 D_Timer_80177BD0[4];
+extern s32 D_80177BD8[24]; // overruns D_80177C30?
+// -0x8??
extern u16 D_80177C30[4];
extern UNK_TYPE D_80177C38[6];
extern s32 D_80177C50;
@@ -581,13 +575,13 @@ extern s32 D_8017828C;
extern f32* D_80178290;
extern s32 D_80178294;
extern u32* D_80178298;
-extern s32 D_8017829C;
+extern s32 gRadioState;
//
extern s32 D_801782A4;
extern Object_58 *gObjects58;
-extern s32 D_801782AC;
+extern s32 D_Timer_801782AC;
//
-extern s32 D_801782B4;
+extern s32 D_Timer_801782B4;
extern s32 D_801782B8;
extern s32 D_801782BC;
extern s32 D_801782C0;
@@ -631,7 +625,7 @@ extern s32 D_80178360; // 2 lights second color
extern s32 D_80178364;
extern s32 D_80178368;
extern f32 D_8017836C; // 2 lights second color brightness
-extern f32 D_80178370;
+extern f32 D_80178370; // Vec3f?
extern f32 D_80178374;
extern f32 D_80178378;
extern s32 D_8017837C;
@@ -667,7 +661,7 @@ extern f32 D_80178470[3];
extern f32 D_8017847C;
extern s32 D_80178480;
extern s32 D_80178484;
-extern s32 D_80178488;
+extern bool D_80178488;
// 0x8
extern s32 D_80178494;
extern f32 D_80178498;