mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
Import main, context, and option bss. Refactor headers. Some enum cleanup. (#130)
* stuff * fixes * addrs * new header * its bss time * format and such * fake symbols begone * whoops forgot pragmas
This commit is contained in:
Vendored
+11
-1
@@ -52,7 +52,17 @@
|
||||
"prevent_bss_reordering2.h": "c",
|
||||
"ast_aq.h": "c",
|
||||
"ast_8e1f80.h": "c",
|
||||
"fox_end2.inc" : "c"
|
||||
"fox_end2.inc": "c",
|
||||
"sf64thread.h": "c",
|
||||
"gfx.h": "c",
|
||||
"os.h": "c",
|
||||
"math.h": "c",
|
||||
"context.h": "c",
|
||||
"sf64player.h": "c",
|
||||
"sys.h": "c",
|
||||
"fox_option_assets.h": "c",
|
||||
"mods.h": "c",
|
||||
"i5.h": "c"
|
||||
},
|
||||
"C_Cpp_Runner.msvcBatchPath": ""
|
||||
}
|
||||
+1
-5
@@ -2,12 +2,8 @@
|
||||
#ifndef ASSETS_H
|
||||
#define ASSETS_H
|
||||
|
||||
#include "libc/stdbool.h"
|
||||
#include "sf64math.h"
|
||||
#include "structs.h"
|
||||
#include "gfx.h"
|
||||
#include "sys.h"
|
||||
#include "sf64level.h"
|
||||
#include "sf64thread.h"
|
||||
#include "sf64object.h"
|
||||
#include "sf64player.h"
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef BUFFERS_H
|
||||
#define BUFFERS_H
|
||||
|
||||
#include "gfx.h"
|
||||
|
||||
extern u64 gDramStack[];
|
||||
extern u8 gOSYieldData[];
|
||||
extern FrameBuffer gZBuffer; // z buffer
|
||||
extern u8 gTaskOutputBuffer[];
|
||||
extern u8 gAudioDataBuffer[];
|
||||
extern u16 gTextureRenderBuffer[];
|
||||
extern u16 gFillBuffer[];
|
||||
extern FrameBuffer gFrameBuffers[]; // 8038F800
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,354 @@
|
||||
#ifndef CONTEXT_H
|
||||
#define CONTEXT_H
|
||||
|
||||
#include "sys.h"
|
||||
#include "sf64level.h"
|
||||
#include "sf64object.h"
|
||||
#include "sf64player.h"
|
||||
|
||||
extern s32 gOverlaySetup;
|
||||
extern s32 gOverlayStage;
|
||||
extern s32 D_80177824; // some sort of flag
|
||||
extern s32 D_8017782C; // some sort of flag. all range related?
|
||||
extern GameState gGameState;
|
||||
extern s32 D_Timer_8017783C; // next game state timer?
|
||||
extern s32 D_80177844; // timer for vs item spawn
|
||||
extern OptionState gOptionMenuStatus;
|
||||
extern s32 D_80177854; // pause-related state
|
||||
extern s32 D_80177868; // some sort of state. pause-related?
|
||||
extern LevelMode gLevelMode;
|
||||
extern DrawMode gDrawMode;
|
||||
extern s32 gPlayerNum;
|
||||
extern s32 gCamCount;
|
||||
extern s32 gTeamShields[6];
|
||||
extern s32 gSavedTeamShields[6];
|
||||
extern UNK_TYPE D_801778F0[6];
|
||||
extern s32 gTeamDamage[6];
|
||||
extern u8 D_80177930; // next planet path
|
||||
extern f32 gGroundLevel;
|
||||
extern f32 D_80177950;
|
||||
extern f32 D_80177968;
|
||||
extern f32 D_80177970;
|
||||
extern f32 D_80177978;
|
||||
extern f32 D_80177980;
|
||||
extern f32 D_80177988;
|
||||
extern f32 D_801779A0;
|
||||
extern f32 D_801779B8;
|
||||
extern f32 D_801779C0;
|
||||
extern Vec3f D_801779D8;
|
||||
extern Vec3f D_801779E8;
|
||||
extern bool gExpertMode;
|
||||
extern s32 D_80177A10[10];
|
||||
extern f32 D_80177A48[10];
|
||||
extern s32 gCsFrameCount;
|
||||
extern u8 D_80177A98;
|
||||
extern u8 D_80177AB0;
|
||||
extern u8 D_80177AC8;
|
||||
extern s32 D_80177AE0;
|
||||
extern s32 gMainController;
|
||||
extern s32 D_80177B40;
|
||||
extern PlanetId gCurrentPlanet; // D_80177B48 // Arrow pointer?
|
||||
extern s32 D_80177B50[7];
|
||||
extern s32 D_80177B70[7];
|
||||
extern PlanetId D_80177B90[7];
|
||||
extern s32 D_80177BB0[7];
|
||||
extern s32 D_80177BD8[22]; // overruns D_80177C30?
|
||||
extern s32 D_80177C38[6];
|
||||
extern s32 D_80177C58[6];
|
||||
extern u8 gSoundMode;
|
||||
extern s32 gVolumeSettings[3];
|
||||
extern u16 D_80177C90;
|
||||
extern u8 gLevelType;
|
||||
extern s32 D_80177CA0;
|
||||
extern UNK_TYPE F_80177CA8;
|
||||
extern f32 D_80177CB0;
|
||||
extern UNK_TYPE F_80177CB8;
|
||||
extern f32 D_80177CC0;
|
||||
extern f32 D_80177CC8;
|
||||
extern f32 D_80177CE8;
|
||||
extern f32 D_80177D08;
|
||||
extern f32 D_80177D20;
|
||||
extern f32 D_80177D38;
|
||||
extern f32 D_80177D50;
|
||||
extern f32 D_80177D68;
|
||||
extern UNK_TYPE F_80177D80;
|
||||
extern UNK_TYPE F_80177DE8;
|
||||
extern s32 gGameFrameCount;
|
||||
extern s32 D_80177DC8;
|
||||
extern s32 D_80177E70;
|
||||
extern s32 D_80177E78;
|
||||
extern s32 D_80177E80;
|
||||
extern Vec3f D_80177E88;
|
||||
extern Vec3f D_80177F10;
|
||||
extern UNK_TYPE F_80178020;
|
||||
extern s32 D_8017812C;
|
||||
extern LevelId gCurrentLevel;
|
||||
extern s32 D_8017827C;
|
||||
extern s32 gBossActive;
|
||||
extern s32 D_8017828C;
|
||||
extern s32 D_80178294;
|
||||
extern s32 gRadioState;
|
||||
extern s32 D_801782A4;
|
||||
extern s32 D_Timer_801782AC;
|
||||
extern s32 D_Timer_801782B4;
|
||||
// extern s32 D_801782B8;
|
||||
extern s32 D_801782C0;
|
||||
extern s32 D_801782C8;
|
||||
extern s32 D_801782D0;
|
||||
extern s32 D_801782D8;
|
||||
extern UNK_TYPE F_801782E0;
|
||||
extern s32 D_801782E8;
|
||||
extern UNK_TYPE F_801782F0;
|
||||
extern s32 D_801782F8;
|
||||
extern s32 D_80178300;
|
||||
extern u16* D_80178308;
|
||||
extern ObjectInit* D_80178310;
|
||||
extern s32 gFogRed;
|
||||
extern s32 gFogGreen;
|
||||
extern s32 gFogBlue;
|
||||
extern s32 gFogAlpha;
|
||||
extern s32 D_80178340; // alpha something
|
||||
extern s32 D_80178348; // red something
|
||||
extern s32 D_80178350; // green something
|
||||
extern s32 D_80178354; // blue something
|
||||
extern s32 D_80178358; // alpha target
|
||||
extern s32 D_8017835C; // alpha step
|
||||
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; // Vec3f?
|
||||
extern f32 D_80178374;
|
||||
extern f32 D_80178378;
|
||||
extern s32 D_8017837C;
|
||||
extern u32 D_80178380[4]; // player alphas
|
||||
extern s32 D_80178390[4]; // player reds
|
||||
extern s32 D_801783A0[4]; // player greens
|
||||
extern s32 D_801783B0[4]; // player alphas
|
||||
extern UNK_TYPE D_801783C0[4];
|
||||
extern f32 D_801783D0; // something x translate
|
||||
extern f32 D_801783D4; // something y translate
|
||||
extern s32 gFogNear; //near
|
||||
extern s32 gFogFar; //far
|
||||
extern UNK_TYPE F_801783E0[12];
|
||||
extern s32 D_80178410;
|
||||
extern f32 D_80178414;
|
||||
extern f32 D_80178418;
|
||||
extern UNK_TYPE F_8017841C;
|
||||
extern f32 D_80178420;
|
||||
extern f32 D_80178424;
|
||||
extern f32 D_80178428;
|
||||
extern f32 D_8017842C;
|
||||
extern f32 D_80178430;
|
||||
extern UNK_TYPE F_80178434;
|
||||
extern UNK_TYPE F_80178438;
|
||||
extern UNK_TYPE F_8017843C;
|
||||
extern f32 D_80178440;
|
||||
extern f32 D_80178444;
|
||||
extern f32 D_80178448;
|
||||
extern f32 D_80178450[3];
|
||||
extern f32 D_80178460[3];
|
||||
extern f32 D_80178470[3];
|
||||
extern f32 D_8017847C;
|
||||
extern s32 D_80178480;
|
||||
extern s32 D_80178484;
|
||||
extern bool D_80178488;
|
||||
extern UNK_TYPE F_8017848C;
|
||||
extern UNK_TYPE F_80178490;
|
||||
extern s32 D_80178494;
|
||||
extern f32 D_80178498;
|
||||
extern f32 D_8017849C;
|
||||
extern f32 D_801784A0;
|
||||
extern s32 D_801784A4;
|
||||
extern UNK_TYPE F_801784A8;
|
||||
extern s32 D_801784AC;
|
||||
extern UNK_TYPE F_801784B0;
|
||||
extern UNK_TYPE F_801784B4;
|
||||
extern f32 D_801784B8; // effective Vec3f
|
||||
extern f32 D_801784BC;
|
||||
extern f32 D_801784C0;
|
||||
extern f32 D_801784C4; // effective Vec3f
|
||||
extern f32 D_801784C8;
|
||||
extern f32 D_801784CC;
|
||||
extern f32 D_801784D0; // effective Vec3f
|
||||
extern f32 D_801784D4;
|
||||
extern f32 D_801784D8;
|
||||
extern s32 gLight1x; // Vec3i light direction
|
||||
extern s32 gLight1y;
|
||||
extern s32 gLight1z;
|
||||
extern f32 D_801784E8;
|
||||
extern f32 D_801784EC; // effective Vec3f?
|
||||
extern f32 D_801784F0;
|
||||
extern f32 D_801784F4;
|
||||
extern f32 D_801784F8; // effective Vec3f
|
||||
extern f32 D_801784FC;
|
||||
extern f32 D_80178500;
|
||||
extern s32 gLight2x; // Vec3i light direction alternate
|
||||
extern s32 gLight2y;
|
||||
extern s32 gLight2z;
|
||||
extern f32 D_80178510;
|
||||
extern UNK_TYPE F_801784514;
|
||||
extern UNK_TYPE F_801784518;
|
||||
extern UNK_TYPE F_80178451C;
|
||||
extern f32 D_80178520; // effective Vec3f
|
||||
extern f32 D_80178524;
|
||||
extern f32 D_80178528;
|
||||
extern UNK_TYPE F_80178452C;
|
||||
extern UNK_TYPE F_801784530;
|
||||
extern UNK_TYPE F_801784534;
|
||||
extern f32 D_80178538;
|
||||
extern f32 D_8017853C;
|
||||
extern s32 D_80178540;
|
||||
extern s32 D_80178544;
|
||||
extern s32 gLight1R; // Color32 light color 1
|
||||
extern s32 gLight1G;
|
||||
extern s32 gLight1B;
|
||||
extern s32 gAmbientR; // Color32 ambient color
|
||||
extern s32 gAmbientG;
|
||||
extern s32 gAmbientB;
|
||||
extern UNK_TYPE F_801784560;
|
||||
extern s32 gLight2R; // Color32 light color 2
|
||||
extern s32 gLight2G;
|
||||
extern s32 gLight2B;
|
||||
extern s32 D_80178570; // Color32 light color 2 modifier?
|
||||
extern s32 D_80178574;
|
||||
extern s32 D_80178578;
|
||||
extern s32 D_80161A70; // Color32?
|
||||
extern s32 D_80161A74;
|
||||
extern s32 D_80161A78;
|
||||
extern s32 D_80161A7C;
|
||||
extern s32 D_80161A80;
|
||||
extern s32 D_80161A84;
|
||||
extern s32 D_80161A88;
|
||||
extern s32 D_80161A8C;
|
||||
extern u8 gGoldRingCount[4];
|
||||
extern u8 D_80161A94[4];
|
||||
extern s32 gHitCount;
|
||||
extern s32 gSavedHitCount;
|
||||
extern s16 gLifeCount[4];
|
||||
extern LaserStrength gLaserStrength[4];
|
||||
extern s32 D_80161AB8;
|
||||
extern UNK_TYPE F_80161AC0[16];
|
||||
extern Object_80 gObjects80[50];
|
||||
extern Object_4C gObjects4C[40];
|
||||
extern Actor gActors[60];
|
||||
extern Boss gBosses[4];
|
||||
extern Effect gEffects[100];
|
||||
extern Item gItems[20];
|
||||
extern PlayerShot gPlayerShots[16];
|
||||
extern UnkEntity30 gUnkEntities30[100];
|
||||
extern UnkEntity28 gUnkEntities28[65];
|
||||
extern BonusText gBonusText[10];
|
||||
extern s32 D_80176550[2];
|
||||
extern f32 D_80176558[2][100];
|
||||
extern f32 D_80176878[2][100];
|
||||
extern f32 D_80176B98[2][100];
|
||||
extern f32 D_80176EB8[2][100];
|
||||
extern f32 D_801771D8[2][100];
|
||||
extern f32 D_80177500[2][100];
|
||||
extern u16 D_80177828; // enemy shot speed?
|
||||
extern u8 D_80177830; // show level complete status overlay
|
||||
extern s32 D_80177838; // level clear related
|
||||
extern s32 D_80177840; // timer for mission accomplished scrren
|
||||
extern s32 gBossHealthBar;
|
||||
extern s32 D_80177850; // bonus text related. set to 15 but never read
|
||||
extern s32 D_80177858[4];
|
||||
extern s32 D_80177870[4];
|
||||
extern s32 gHandicap[4];
|
||||
extern VsStage gVersusStage;
|
||||
extern s32 D_801778A4;
|
||||
extern s32 D_801778AC;
|
||||
extern s32 D_801778C8;
|
||||
extern bool gVersusMode;
|
||||
extern u16 gBoostButton[4];
|
||||
extern u16 gBrakeButton[4];
|
||||
extern u16 gShootButton[4];
|
||||
extern u16 gBombButton[4];
|
||||
extern f32 D_80177958[4];
|
||||
extern s32 D_8017796C;
|
||||
extern OSContPad* gInputHold;
|
||||
extern OSContPad* gInputPress;
|
||||
extern u8* D_80177984;
|
||||
extern s32 D_80177990[4];
|
||||
extern f32 D_801779A8[4];
|
||||
extern u8 D_801779BC;
|
||||
extern s32 gChargeTimers[4];
|
||||
extern f32 D_801779E4;
|
||||
extern f32 D_801779F4;
|
||||
extern s32 D_Timer_80177A00[4];
|
||||
extern s32 D_Timer_80177A38[4];
|
||||
extern s32 D_Timer_80177A70[4];
|
||||
extern s32 D_Timer_80177A88[4];
|
||||
extern f32 D_80177AA0[4];
|
||||
extern f32 D_80177AB8[4];
|
||||
extern s32 D_80177AD0[4];
|
||||
extern s32 D_80177AE8[4];
|
||||
extern s32 D_80177B00[4][4];
|
||||
extern u8 D_Timer_80177B44;
|
||||
extern u8 D_80177B4C;
|
||||
extern u8 D_80177B6C;
|
||||
extern u8 D_80177B8C;
|
||||
extern u8 D_80177BAC;
|
||||
extern u16 D_Timer_80177BD0[4];
|
||||
extern u16 D_80177C30[4];
|
||||
extern s32 D_80177C50;
|
||||
extern s32 D_80177C70;
|
||||
extern s32 D_80177C78;
|
||||
extern s32 D_80177C8C;
|
||||
extern s32 D_80177C94;
|
||||
extern s32 D_80177C9C;
|
||||
extern s32 D_80177CA4;
|
||||
extern s32 D_80177CAC;
|
||||
extern s32 D_80177CB4;
|
||||
extern s32 D_80177CBC;
|
||||
extern s32 D_80177CC4;
|
||||
extern s32 D_80177CD0[6];
|
||||
extern s32 D_80177CF0[6];
|
||||
extern s32 gRightWingHealth[4];
|
||||
extern s32 gLeftWingHealth[4];
|
||||
extern s32 D_80177D40[4];
|
||||
extern s32 D_80177D58[4];
|
||||
extern s32 D_80177D70[4];
|
||||
extern s32 D_80177D88[4];
|
||||
extern s32 gBombCount[4];
|
||||
extern s32 D_80177DB8[4];
|
||||
extern s32 D_80177DD0[4][10];
|
||||
extern s32 D_80177E74;
|
||||
extern s32 D_80177E7C;
|
||||
extern s32 D_80177E84;
|
||||
extern Vec3f D_80177E98[10];
|
||||
extern f32 D_80177F20[65];
|
||||
extern f32 D_80178028[65];
|
||||
extern f32 D_80178130[65];
|
||||
extern u8 D_80178238[65];
|
||||
extern Player* gPlayer;
|
||||
extern f32* D_80178288;
|
||||
extern f32* D_80178290;
|
||||
extern u32* D_80178298;
|
||||
extern UNK_TYPE F_801782A0;
|
||||
extern Object_58* gObjects58;
|
||||
extern UNK_TYPE F_801782B0;
|
||||
extern s32 D_801782B8;
|
||||
extern s32 D_801782BC;
|
||||
extern PosRot* D_801782C4;
|
||||
extern f32* D_801782CC;
|
||||
extern f32* D_801782D4;
|
||||
extern f32* D_801782DC;
|
||||
extern f32* D_801782E4;
|
||||
extern f32* D_801782EC;
|
||||
extern UNK_TYPE F_801782F4;
|
||||
extern s32 D_801782FC;
|
||||
extern UNK_TYPE F_80178304;
|
||||
extern UNK_TYPE F_8017830C;
|
||||
extern UNK_TYPE F_80178314;
|
||||
extern UNK_TYPE F_80178318;
|
||||
extern UNK_TYPE F_8017831C;
|
||||
extern UNK_TYPE F_80178324;
|
||||
extern UNK_TYPE F_8017832C;
|
||||
extern UNK_TYPE F_80178334;
|
||||
extern UNK_TYPE F_8017833C;
|
||||
extern UNK_TYPE F_80178344;
|
||||
extern UNK_TYPE F_8017834C;
|
||||
|
||||
|
||||
#endif
|
||||
+7
-6
@@ -2,6 +2,7 @@
|
||||
#define FOX_MAP_H
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
#include "sf64level.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ f32 angle;
|
||||
@@ -12,8 +13,8 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ s32 unk_08;
|
||||
/* 0x04 */ PlanetId unk_04;
|
||||
/* 0x08 */ PlanetId unk_08;
|
||||
/* 0x0C */ s32 unk_0C;
|
||||
/* 0x10 */ char pad10[0x4];
|
||||
/* 0x14 */ s32 unk_14;
|
||||
@@ -21,7 +22,7 @@ typedef struct {
|
||||
} UnkStruct_D_menu_801AFD18; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 id;
|
||||
/* 0x00 */ PlanetId id;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ f32 zAngle;
|
||||
@@ -30,9 +31,9 @@ typedef struct {
|
||||
/* 0x20 */ f32 scale;
|
||||
/* 0x24 */ s32 alpha;
|
||||
/* 0x28 */ s32 unk_28;
|
||||
/* 0x2C */ s32 unk_2C;
|
||||
/* 0x30 */ s32 unk_30;
|
||||
/* 0x34 */ s32 unk_34;
|
||||
/* 0x2C */ PlanetId unk_2C;
|
||||
/* 0x30 */ PlanetId unk_30;
|
||||
/* 0x34 */ PlanetId unk_34;
|
||||
} Planet; // size = 0x38
|
||||
|
||||
typedef struct {
|
||||
|
||||
+11
-14
@@ -45,17 +45,17 @@ typedef struct {
|
||||
/* 0x5C */ s32 unk_5C;
|
||||
} OptionEntry; // size = 0x60
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ PlanetId unk_0;
|
||||
/* 0x4 */ PlanetId unk_4;
|
||||
/* 0x8 */ s32 unk_8;
|
||||
} UnkStruct_D_menu_801AED4C; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
s32 unk_0;
|
||||
s32 unk_4;
|
||||
} UnkStruct_D_menu_801B9250;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s32 unk_0;
|
||||
/* 0x4 */ s32 unk_4;
|
||||
/* 0x8 */ s32 unk_8;
|
||||
} UnkStruct_D_menu_801AED4C; // size = 0xC
|
||||
|
||||
typedef enum OptionId {
|
||||
OPTION_MAIN = 1000,
|
||||
OPTION_VERSUS_STAGE = 2000,
|
||||
@@ -123,13 +123,10 @@ void func_menu_8018FC14(void);
|
||||
void func_menu_8018FD08(void);
|
||||
void func_menu_8018FF74(void);
|
||||
|
||||
|
||||
void Option_Setup(void);
|
||||
void Option_UpdateEntry(void);
|
||||
void Option_MapUpdate(void);
|
||||
void Option_MainMenuUpdate(void);
|
||||
void Option_TrainingUpdate(void);
|
||||
void func_menu_801929F0(void);
|
||||
void Option_MainMenuDraw(void);
|
||||
void Option_VersusUpdate(void);
|
||||
void Option_VersusDraw(void);
|
||||
@@ -166,7 +163,7 @@ void func_menu_80198608(s32, s32, f32, f32);
|
||||
void func_menu_8019882C(s32, s32, f32, f32);
|
||||
void func_menu_8019896C(s32, f32, s32);
|
||||
void func_menu_80199198(f32 arg0, f32 arg1, f32 arg2);
|
||||
s32 func_menu_80199284(s32 arg0, s32 arg1);
|
||||
s32 func_menu_80199284(PlanetId start, PlanetId end);
|
||||
void Option_VersusMenuInit(void);
|
||||
void Option_VersusMenuUpdate(void);
|
||||
void func_menu_8019949C(void);
|
||||
@@ -191,20 +188,22 @@ void func_menu_8019AFFC(void);
|
||||
void func_menu_8019B1F8(void);
|
||||
void func_menu_8019B3DC(void);
|
||||
void func_menu_8019B5AC(void);
|
||||
void func_menu_8019B6D8(f32 xPos, f32 yPos, f32 offset, s32 r, s32 g, s32 b);
|
||||
void func_menu_8019B7D4(void);
|
||||
void func_menu_8019B8A0(s32 arg0);
|
||||
void func_menu_8019B8C8(void);
|
||||
void Option_DrawMenuLabel(void);
|
||||
void func_menu_8019BDF0(void);
|
||||
void Option_DrawMenuCard(MenuContext_38 arg0);
|
||||
void Option_DrawMenuArwing(ArwingPosition arg0);
|
||||
void func_menu_8019BC44(f32, f32, f32, f32, f32, f32);
|
||||
void func_menu_8019BDF0(void);
|
||||
void func_menu_8019BE7C(f32, f32, f32, f32 *, f32 *, f32 *);
|
||||
void func_menu_8019BF34(void);
|
||||
void func_menu_8019B6D8(f32 xPos, f32 yPos, f32 offset, s32 r, s32 g, s32 b);
|
||||
void func_menu_8019C04C(void);
|
||||
void Option_DrawCardLabel(OptionTexture arg0);
|
||||
s32 func_menu_8019C418(s32* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, UnkStruct_D_menu_801B9250* arg8);
|
||||
s32 func_menu_8019C5A0(s32*);
|
||||
s32 func_menu_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_menu_801B9250* arg3);
|
||||
void func_menu_8019C824(f32* );
|
||||
s32 func_menu_8019C8C4(void);
|
||||
void func_menu_8019CAE0(void);
|
||||
@@ -220,8 +219,6 @@ void func_menu_8019DF64(void);
|
||||
void Option_InvoiceUpdate(void);
|
||||
void Option_InvoiceDraw(void);
|
||||
|
||||
s32 func_menu_8019C5A0(s32*);
|
||||
s32 func_menu_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_menu_801B9250* arg3);
|
||||
void func_menu_8019E8D0(void);
|
||||
void func_menu_801A07E8(u8*, u8*, f32*);
|
||||
void func_menu_801AD7EC(s32, s32, s32);
|
||||
|
||||
+2
-64
@@ -1,22 +1,13 @@
|
||||
#ifndef FUNCTIONS_H
|
||||
#define FUNCTIONS_H
|
||||
|
||||
#include "libc/stdbool.h"
|
||||
#include "sys.h"
|
||||
#include "structs.h"
|
||||
#include "sf64object.h"
|
||||
#include "sf64thread.h"
|
||||
#include "sf64player.h"
|
||||
#include "sf64mesg.h"
|
||||
|
||||
s32 Lib_vsPrintf(char* dst, const char* fmt, va_list args);
|
||||
void Lib_Perspective(Gfx** dList);
|
||||
void Lib_Ortho(Gfx** dList);
|
||||
void Lib_DmaRead(void* src, void* dst, s32 size);
|
||||
void Lib_FillScreen(u8 setFill);
|
||||
|
||||
void Memory_FreeAll(void);
|
||||
void* Memory_Allocate(s32);
|
||||
|
||||
// audio
|
||||
void func_8000FFCC(void);
|
||||
|
||||
void func_80016A50(void);
|
||||
@@ -64,38 +55,6 @@ void func_8001DECC(void);
|
||||
SPTask* func_8001DF50(void);
|
||||
void func_8001EE00(void);
|
||||
|
||||
f32 func_8001FE60(f32);
|
||||
f64 func_8001FE6C(f64);
|
||||
s32 func_8001FE78(f32);
|
||||
s32 func_8001FE88(f64);
|
||||
f32 func_8001FE98(f32);
|
||||
f64 func_8001FEA4(f64);
|
||||
s32 func_8001FEB0(f32);
|
||||
s32 func_8001FEC0(f64);
|
||||
f32 func_8001FED0(f32);
|
||||
f64 func_8001FEDC(f64);
|
||||
s32 func_8001FEE8(f32);
|
||||
s32 func_8001FEF8(f64);
|
||||
f32 func_8001FF08(f32);
|
||||
f64 func_8001FF14(f64);
|
||||
s32 func_8001FF20(f32);
|
||||
s32 func_8001FF30(f64);
|
||||
f32 func_8001FF40(f32);
|
||||
f64 func_8001FF5C(f64);
|
||||
s32 func_8001FF7C(f32);
|
||||
s32 func_8001FF9C(f64);
|
||||
f32 func_8001FAE4(f32);
|
||||
f32 func_8001FB04(f32);
|
||||
f64 func_8001FB24(f64);
|
||||
f32 func_8001FB58(f32);
|
||||
f32 func_8001FB88(f32);
|
||||
f32 func_8001FBA8(f32);
|
||||
f32 func_8001FBC8(f32);
|
||||
|
||||
void RdRam_CheckIPL3(void);
|
||||
void Mio0_Decompress(void* header, u8* dst);
|
||||
s32 vsprintf(char* dst, const char* fmt, va_list args);
|
||||
|
||||
// fox_360
|
||||
void func_8002ED60(Player*);
|
||||
void func_8002E3E0(Actor*);
|
||||
@@ -467,7 +426,6 @@ void func_80084488(s32);
|
||||
void func_80084688(s32, s32);
|
||||
|
||||
// fox_hud
|
||||
|
||||
void func_80084B94(s32);
|
||||
void func_800857DC(f32, f32, f32, f32);
|
||||
void func_80085890(f32, f32, f32, f32);
|
||||
@@ -522,19 +480,6 @@ void func_80098860(Plane* plane, Vec3f* point, Vec3f* normal);
|
||||
s32 func_800988B4(Vec3f* vec, Plane* plane);
|
||||
s32 func_800998FC(Vec3f*, Vec3f*, Vec3f*, s32, Vec3f*, f32*);
|
||||
|
||||
// fox_game
|
||||
void Game_Initialize(void);
|
||||
void Game_SetGameState(void);
|
||||
bool func_800A1B6C(void);
|
||||
void func_800A1C14(Gfx**);
|
||||
void func_800A1E68(Gfx**);
|
||||
void func_800A1F44(void);
|
||||
void func_800A1FB0(Gfx**, u8 , u8);
|
||||
void func_800A24DC(s32);
|
||||
void func_800A26C0(void);
|
||||
void func_800A25DC(void);
|
||||
Actor* func_800A3608(ObjectId);
|
||||
|
||||
// fox_A4290
|
||||
bool func_800A3690(Vec3f*, Vec3f*, s32, Vec3f*);
|
||||
|
||||
@@ -596,9 +541,6 @@ void Radio_PlayMessage(u16*, RadioCharacterId);
|
||||
void func_800BB388(void);
|
||||
void func_800BB5D0(void);
|
||||
|
||||
// fox_reset
|
||||
void Graphics_NMIWipe(void);
|
||||
|
||||
// fox_versus
|
||||
s32 func_800C1E9C(void);
|
||||
void func_800C1ED4(void);
|
||||
@@ -606,10 +548,6 @@ void func_800C20B0(void);
|
||||
void func_800C2190(void);
|
||||
void func_800C26C8(void);
|
||||
|
||||
// fox_save
|
||||
s32 Save_Write(void);
|
||||
s32 Save_Read(void);
|
||||
|
||||
void func_menu_80187520(u32, void*);
|
||||
void func_menu_8019E8D0(void);
|
||||
|
||||
|
||||
@@ -62,6 +62,8 @@ typedef struct Limb {
|
||||
/* 0x01C */ struct Limb* child;
|
||||
} Limb; // size = 0x20
|
||||
|
||||
void Graphics_NMIWipe(void);
|
||||
|
||||
void Lights_SetOneLight(Gfx** dList, s32 dirX, s32 dirY, s32 dirZ, s32 colR, s32 colG, s32 colB, s32 ambR, s32 ambG, s32 ambB);
|
||||
void Lights_SetTwoLights(Gfx** dList, s32 dir1x, s32 dir1y, s32 dir1z, s32 dir2x, s32 dir2y, s32 dir2z, s32 col1r, s32 col1g,
|
||||
s32 col1b, s32 col2r, s32 col2g, s32 col2b, s32 ambR, s32 ambG, s32 ambB);
|
||||
@@ -255,5 +257,7 @@ typedef enum SetupDL {
|
||||
} SetupDL;
|
||||
|
||||
extern Gfx gSetupDLs[SETUPDL_MAX][9]; // 0x800D31B0
|
||||
extern u8 D_80178580[];
|
||||
extern void* D_80178710;
|
||||
|
||||
#endif
|
||||
|
||||
+3
-14
@@ -1,27 +1,16 @@
|
||||
#ifndef GLOBAL_H
|
||||
#define GLOBAL_H
|
||||
|
||||
#include "PR/xstdio.h"
|
||||
#include "PR/os_internal.h"
|
||||
#include "PR/controller.h"
|
||||
#include "libultra/ultra64.h"
|
||||
#include "libc/math.h"
|
||||
#include "libc/stdarg.h"
|
||||
#include "libc/stdbool.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "libc/stddef.h"
|
||||
#include "libc/string.h"
|
||||
#include "sys.h"
|
||||
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
#include "context.h"
|
||||
#include "structs.h"
|
||||
#include "macros.h"
|
||||
#include "sf64math.h"
|
||||
#include "sf64mesg.h"
|
||||
#include "sf64object.h"
|
||||
#include "sf64level.h"
|
||||
#include "sf64thread.h"
|
||||
#include "sf64player.h"
|
||||
#include "gfx.h"
|
||||
#include "i1.h"
|
||||
#include "i2.h"
|
||||
#include "i3.h"
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "sf64mesg.h"
|
||||
|
||||
extern Matrix D_i4_8019EE80;
|
||||
extern s32 D_i4_801A03DC;
|
||||
|
||||
void func_i4_8018EF6C(Player*);
|
||||
void func_i4_8018F94C(Player*);
|
||||
|
||||
+21
-7
@@ -6,19 +6,12 @@
|
||||
#define M_PI 3.14159265358979323846f
|
||||
#define M_DTOR (M_PI / 180.0f)
|
||||
#define M_RTOD (180.0f / M_PI)
|
||||
#define M_DTOD 1.0f
|
||||
#define M_SQRT2 1.41421356237309504880f
|
||||
#define M_SQRT1_2 0.70710678118654752440f /* 1/sqrt(2) */
|
||||
#define FLT_MAX 340282346638528859811704183484516925440.0f
|
||||
#define SHT_MAX 32767.0f
|
||||
#define SHT_MINV (1.0f / SHT_MAX)
|
||||
|
||||
#define RAD_TO_DEG(radians) (((radians) * 180.0f) / M_PI)
|
||||
#define DEG_TO_RAD(degrees) (((degrees) / 180.0f) * M_PI)
|
||||
|
||||
#define SIN_DEG(angle) __sinf((M_DTOR)*(angle))
|
||||
#define COS_DEG(angle) __cosf((M_DTOR)*(angle))
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
u32 hi;
|
||||
@@ -53,4 +46,25 @@ float sqrtf(float f);
|
||||
double sqrt(double d);
|
||||
#pragma intrinsic(sqrt)
|
||||
|
||||
f32 __floorf(f32);
|
||||
f64 __floor(f64);
|
||||
s32 __lfloorf(f32);
|
||||
s32 __lfloor(f64);
|
||||
f32 __ceilf(f32);
|
||||
f64 __ceil(f64);
|
||||
s32 __lceilf(f32);
|
||||
s32 __lceil(f64);
|
||||
f32 __truncf(f32);
|
||||
f64 __trunc(f64);
|
||||
s32 __ltruncf(f32);
|
||||
s32 __ltrunc(f64);
|
||||
f32 __roundf(f32);
|
||||
f64 __round(f64);
|
||||
s32 __lroundf(f32);
|
||||
s32 __lround(f64);
|
||||
f32 __nearbyintf(f32);
|
||||
f64 __nearbyint(f64);
|
||||
s32 __lnearbyintf(f32);
|
||||
s32 __lnearbyint(f64);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -25,6 +25,12 @@
|
||||
#define DOT_XYZ(a, b) ((a).x * (b).x + (a).y * (b).y + (a).z * (b).z)
|
||||
#define ABS(x) ((x) >= 0 ? (x) : -(x))
|
||||
|
||||
#define RAD_TO_DEG(radians) (((radians) * 180.0f) / M_PI)
|
||||
#define DEG_TO_RAD(degrees) (((degrees) / 180.0f) * M_PI)
|
||||
|
||||
#define SIN_DEG(angle) __sinf((M_DTOR)*(angle))
|
||||
#define COS_DEG(angle) __cosf((M_DTOR)*(angle))
|
||||
|
||||
#define USEC_TO_CYCLES(n) (((u64)(n)*(osClockRate/15625LL))/(1000000LL/15625LL))
|
||||
#define MSEC_TO_CYCLES(n) (USEC_TO_CYCLES((n) * 1000LL))
|
||||
|
||||
|
||||
+11
-10
@@ -90,16 +90,17 @@ typedef enum LevelId {
|
||||
} LevelId;
|
||||
|
||||
typedef enum PlanetId {
|
||||
/* 0 */ PLANET_METEO,
|
||||
/* 1 */ PLANET_AREA_6,
|
||||
/* 2 */ PLANET_BOLSE,
|
||||
/* 3 */ PLANET_SECTOR_Z,
|
||||
/* 4 */ PLANET_SECTOR_X,
|
||||
/* 5 */ PLANET_SECTOR_Y,
|
||||
/* 6 */ PLANET_KATINA,
|
||||
/* 7 */ PLANET_MACBETH,
|
||||
/* 8 */ PLANET_ZONESS,
|
||||
/* 9 */ PLANET_CORNERIA,
|
||||
/* -1 */ PLANET_NONE=-1,
|
||||
/* 0 */ PLANET_METEO,
|
||||
/* 1 */ PLANET_AREA_6,
|
||||
/* 2 */ PLANET_BOLSE,
|
||||
/* 3 */ PLANET_SECTOR_Z,
|
||||
/* 4 */ PLANET_SECTOR_X,
|
||||
/* 5 */ PLANET_SECTOR_Y,
|
||||
/* 6 */ PLANET_KATINA,
|
||||
/* 7 */ PLANET_MACBETH,
|
||||
/* 8 */ PLANET_ZONESS,
|
||||
/* 9 */ PLANET_CORNERIA,
|
||||
/* 10 */ PLANET_TITANIA,
|
||||
/* 11 */ PLANET_AQUAS,
|
||||
/* 12 */ PLANET_FORTUNA,
|
||||
|
||||
@@ -40,6 +40,14 @@ typedef union {
|
||||
// u64 force_struct_alignment;
|
||||
} Matrix; // size = 0x40
|
||||
|
||||
extern Mtx gIdentityMtx; // 800C4620
|
||||
extern Matrix gIdentityMatrix; //800C4660
|
||||
|
||||
extern Matrix* gGfxMatrix;
|
||||
extern Matrix sGfxMatrixStack[0x20];
|
||||
extern Matrix* gCalcMatrix;
|
||||
extern Matrix sCalcMatrixStack[0x20];
|
||||
|
||||
f32 Math_ModF(f32 value, f32 mod);
|
||||
void Rand_Init(void);
|
||||
f32 Rand_ZeroOne(void);
|
||||
@@ -89,4 +97,12 @@ s64 __ull_div(s64, s64);
|
||||
s64 __ll_mul(s64, s64);
|
||||
s64 __ll_rshift(s64, s64);
|
||||
|
||||
f32 Math_FloorF(f32);
|
||||
f32 Math_CeilF(f32);
|
||||
f64 Math_Fabs(f64);
|
||||
f32 Math_FabsF(f32);
|
||||
f32 Math_NearbyIntF(f32);
|
||||
f32 Math_TruncF(f32);
|
||||
f32 Math_RoundF(f32);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -703,6 +703,8 @@ typedef enum ObjectId {
|
||||
|
||||
#define OBJ_UNK_1000 1000
|
||||
|
||||
Actor* func_800A3608(ObjectId);
|
||||
|
||||
// template enums for boss work buffers
|
||||
|
||||
typedef enum {
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
#ifndef SF64_SAVE
|
||||
#define SF64_SAVE
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
typedef struct {
|
||||
/* bit 0 */ u8 unk_0 : 3;
|
||||
/* 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 {
|
||||
/* bit 0 */ u16 unk_0 : 8;
|
||||
/* bit 8 */ u16 unk_8 : 4;
|
||||
/* bit C */ u16 unk_C : 1;
|
||||
/* bit D */ u16 unk_D : 1;
|
||||
/* bit E */ u16 unk_E : 1;
|
||||
/* bit F */ u16 unk_F : 1;
|
||||
} Save_SubStruct_5E; // size = 0x10
|
||||
|
||||
typedef struct{
|
||||
/* 0x00 */ PlanetData planet[16];
|
||||
/* 0x10 */ char pad10[0x4];
|
||||
/* 0x14 */ u8 soundMode;
|
||||
/* 0x15 */ u8 musicVolume;
|
||||
/* 0x16 */ u8 voiceVolume;
|
||||
/* 0x17 */ u8 sfxVolume;
|
||||
/* 0x18 */ u8 unk_18[10][3];
|
||||
/* 0x36 */ u8 unk_36[10];
|
||||
/* 0x40 */ u8 unk_40[10];
|
||||
/* 0x4A */ u16 unk_4A[10];
|
||||
/* 0x5E */ Save_SubStruct_5E unk_5E[10][7];
|
||||
/* 0xEA */ u8 unk_EA;
|
||||
/* 0xEB */ char padEB[0x3];
|
||||
/* 0xEE */ char padEE[0x10];
|
||||
} SaveData; // size = 0xFE
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ union {
|
||||
u8 raw[sizeof(SaveData)];
|
||||
SaveData data;
|
||||
};
|
||||
/* 0xFE */ u16 checksum;
|
||||
} Save; // size = 0x100
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ Save save;
|
||||
/* 0x100 */ Save backup;
|
||||
} SaveFile; // size = 0x200
|
||||
|
||||
s32 Save_Write(void);
|
||||
s32 Save_Read(void);
|
||||
|
||||
void Save_ReadData(void);
|
||||
void Save_WriteData(void);
|
||||
|
||||
s32 Save_WriteEeprom(SaveFile*);
|
||||
s32 Save_ReadEeprom(SaveFile*);
|
||||
|
||||
extern SaveFile gSaveIOBuffer;
|
||||
extern SaveFile sPrevSaveData;
|
||||
extern Save gDefaultSave;
|
||||
extern SaveFile gSaveFile;
|
||||
|
||||
#endif
|
||||
+83
-5
@@ -70,8 +70,6 @@ typedef struct {
|
||||
void Controller_Init(void);
|
||||
void Controller_UpdateInput(void);
|
||||
void Controller_ReadData(void);
|
||||
void Save_ReadData(void);
|
||||
void Save_WriteData(void);
|
||||
void Controller_Rumble(void);
|
||||
|
||||
s32 Timer_CreateTask(u64, TimerAction, s32*, s32);
|
||||
@@ -80,9 +78,6 @@ void Timer_SetValue(s32* address, s32 value);
|
||||
void Timer_CompleteTask(TimerTask*);
|
||||
void Timer_Wait(u64);
|
||||
|
||||
s32 Save_WriteEeprom(SaveFile*);
|
||||
s32 Save_ReadEeprom(SaveFile*);
|
||||
|
||||
void Fault_ThreadEntry(void*);
|
||||
void func_80007FE4(FrameBuffer*, u16, u16);
|
||||
void Fault_Init(void);
|
||||
@@ -97,6 +92,89 @@ typedef enum {
|
||||
/* 16 */ SI_CONT_READ_DONE,
|
||||
} SerialMesg;
|
||||
|
||||
extern OSContPad gControllerHold[4];
|
||||
extern OSContPad gControllerPress[4];
|
||||
extern u8 gControllerPlugged[4];
|
||||
extern u32 gControllerLock;
|
||||
extern u8 gControllerRumble[4];
|
||||
extern OSContPad sNextController[4]; //
|
||||
extern OSContPad sPrevController[4]; //
|
||||
extern OSContStatus sControllerStatus[4]; //
|
||||
extern OSPfs sControllerMotor[4]; //
|
||||
|
||||
extern u8 gAudioThreadStack[0x1000]; // 800DDAA0
|
||||
extern OSThread gGraphicsThread; // 800DEAA0
|
||||
extern u8 gGraphicsThreadStack[0x1000]; // 800DEC50
|
||||
extern OSThread gTimerThread; // 800DFC50
|
||||
extern u8 gTimerThreadStack[0x1000]; // 800DFE00
|
||||
extern OSThread gSerialThread; // 800E0E00
|
||||
extern u8 gSerialThreadStack[0x1000]; // 800E0FB0
|
||||
|
||||
extern SPTask* gCurrentTask;
|
||||
extern SPTask* sAudioTasks[1];
|
||||
extern SPTask* sGfxTasks[2];
|
||||
extern SPTask* sNewAudioTasks[1];
|
||||
extern SPTask* sNewGfxTasks[2];
|
||||
extern u32 gSegments[16]; // 800E1FD0
|
||||
extern OSMesgQueue gPiMgrCmdQueue; // 800E2010
|
||||
extern OSMesg sPiMgrCmdBuff[50]; // 800E2028
|
||||
|
||||
extern OSMesgQueue gDmaMsgQueue;
|
||||
extern void* sDmaMsgBuff[1];
|
||||
extern OSIoMesg gDmaIOMsg;
|
||||
extern OSMesgQueue gSerialEventQueue;
|
||||
extern void* sSerialEventBuff[1];
|
||||
extern OSMesgQueue gMainThreadMsgQueue;
|
||||
extern void* sMainThreadMsgBuff[32];
|
||||
extern OSMesgQueue gTaskMsgQueue;
|
||||
extern void* sTaskMsgBuff[16];
|
||||
extern OSMesgQueue gAudioVImsgQueue;
|
||||
extern void* sAudioVImsgBuff[1];
|
||||
extern OSMesgQueue gAudioTaskMsgQueue;
|
||||
extern void* sAudioTaskMsgBuff[1];
|
||||
extern OSMesgQueue gGfxVImsgQueue;
|
||||
extern void* sGfxVImsgBuff[4];
|
||||
extern OSMesgQueue gGfxTaskMsgQueue;
|
||||
extern void* sGfxTaskMsgBuff[2];
|
||||
extern OSMesgQueue gSerialThreadMsgQueue;
|
||||
extern void* sSerialThreadMsgBuff[8];
|
||||
extern OSMesgQueue gControllerMsgQueue;
|
||||
extern void* sControllerMsgBuff[1];
|
||||
extern OSMesgQueue gSaveMsgQueue;
|
||||
extern void* sSaveMsgBuff[1];
|
||||
extern OSMesgQueue gTimerTaskMsgQueue;
|
||||
extern void* sTimerTaskMsgBuff[16];
|
||||
extern OSMesgQueue gTimerWaitMsgQueue;
|
||||
extern void* sTimerWaitMsgBuff[1];
|
||||
|
||||
extern GfxPool gGfxPools[2]; // 800E23B0
|
||||
|
||||
extern GfxPool* gGfxPool;
|
||||
extern SPTask* gGfxTask;
|
||||
extern Vp* gViewport;
|
||||
extern Mtx* gGfxMtx;
|
||||
extern Gfx* gUnkDisp1;
|
||||
extern Gfx* gMasterDisp;
|
||||
extern Gfx* gUnkDisp2;
|
||||
extern Lightsn* gLight;
|
||||
extern FrameBuffer* gFrameBuffer;
|
||||
extern u16* gTextureRender;
|
||||
|
||||
extern u8 D_80137E78;
|
||||
extern u32 gSysFrameCount;
|
||||
extern u8 gStartNMI;
|
||||
extern u8 gStopTasks;
|
||||
extern u8 D_80137E84[4];
|
||||
extern u16 gFillScreenColor;
|
||||
extern u16 gFillScreen;
|
||||
|
||||
extern u8 gUnusedStack[0x1000];
|
||||
extern OSThread sIdleThread; // 80138E90
|
||||
extern u8 sIdleThreadStack[0x1000]; // 801390A0
|
||||
extern OSThread gMainThread; // 8013A040
|
||||
extern u8 sMainThreadStack[0x1000]; // 8013A1F0
|
||||
extern OSThread gAudioThread; //8013B1F0
|
||||
|
||||
#define MSG_QUEUE_EMPTY -1
|
||||
|
||||
#define FAULT_MESG_BREAK 1
|
||||
|
||||
@@ -6,54 +6,6 @@
|
||||
|
||||
#define UNK_TYPE s32
|
||||
|
||||
typedef struct {
|
||||
/* bit 0 */ u8 unk_0 : 3;
|
||||
/* 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 {
|
||||
/* bit 0 */ u16 unk_0 : 8;
|
||||
/* bit 8 */ u16 unk_8 : 4;
|
||||
/* bit C */ u16 unk_C : 1;
|
||||
/* bit D */ u16 unk_D : 1;
|
||||
/* bit E */ u16 unk_E : 1;
|
||||
/* bit F */ u16 unk_F : 1;
|
||||
} Save_SubStruct_5E; // size = 0x10
|
||||
|
||||
typedef struct{
|
||||
/* 0x00 */ PlanetData planet[16];
|
||||
/* 0x10 */ char pad10[0x4];
|
||||
/* 0x14 */ u8 soundMode;
|
||||
/* 0x15 */ u8 musicVolume;
|
||||
/* 0x16 */ u8 voiceVolume;
|
||||
/* 0x17 */ u8 sfxVolume;
|
||||
/* 0x18 */ u8 unk_18[10][3];
|
||||
/* 0x36 */ u8 unk_36[10];
|
||||
/* 0x40 */ u8 unk_40[10];
|
||||
/* 0x4A */ u16 unk_4A[10];
|
||||
/* 0x5E */ Save_SubStruct_5E unk_5E[10][7];
|
||||
/* 0xEA */ u8 unk_EA;
|
||||
/* 0xEB */ char padEB[0x3];
|
||||
/* 0xEE */ char padEE[0x10];
|
||||
} SaveData; // size = 0xFE
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ union {
|
||||
u8 raw[sizeof(SaveData)];
|
||||
SaveData data;
|
||||
};
|
||||
/* 0xFE */ u16 checksum;
|
||||
} Save; // size = 0x100
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ Save save;
|
||||
/* 0x100 */ Save backup;
|
||||
} SaveFile; // size = 0x200
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x02 */ u16 unk_02;
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
#ifndef SYS_H
|
||||
#define SYS_H
|
||||
|
||||
#include "PR/xstdio.h"
|
||||
#include "PR/controller.h"
|
||||
#include "libultra/ultra64.h"
|
||||
#include "libc/math.h"
|
||||
#include "libc/stdarg.h"
|
||||
#include "libc/stdbool.h"
|
||||
#include "libc/stdint.h"
|
||||
#include "libc/stddef.h"
|
||||
#include "libc/string.h"
|
||||
#include "macros.h"
|
||||
#include "sf64math.h"
|
||||
#include "gfx.h"
|
||||
#include "sf64thread.h"
|
||||
#include "sf64save.h"
|
||||
#include "buffers.h"
|
||||
|
||||
typedef s32 (*CompareFunc)(void*, void*);
|
||||
|
||||
s32 Lib_vsPrintf(char* dst, const char* fmt, va_list args);
|
||||
void Lib_vTable(s32 index, void (**table)(s32, s32), s32 arg0, s32 arg1);
|
||||
void Lib_QuickSort(u8* first, u32 length, u32 size, CompareFunc cFunc);
|
||||
void Lib_Perspective(Gfx** dList);
|
||||
void Lib_Ortho(Gfx** dList);
|
||||
void Lib_DmaRead(void* src, void* dst, s32 size);
|
||||
void Lib_FillScreen(u8 setFill);
|
||||
|
||||
void Memory_FreeAll(void);
|
||||
void* Memory_Allocate(s32);
|
||||
|
||||
void func_8001EE60(void);
|
||||
void RdRam_CheckIPL3(void);
|
||||
void Mio0_Decompress(void* header, u8* dst);
|
||||
s32 vsprintf(char* dst, const char* fmt, va_list args);
|
||||
|
||||
void Game_Initialize(void);
|
||||
void Game_Update(void);
|
||||
|
||||
extern s32 D_800D2860[];
|
||||
extern s32 D_800D2870;
|
||||
|
||||
extern f32 D_80161A10;
|
||||
extern f32 D_80161A14;
|
||||
extern s32 gPlayerInactive[4];
|
||||
extern s32 D_80161A28;
|
||||
extern u8 D_80161A2C;
|
||||
extern u16 D_80161A2E;
|
||||
extern u16 gNextLevel;
|
||||
extern u16 gNextGameState;
|
||||
extern u16 D_80161A34;
|
||||
extern u16 gBgColor;
|
||||
extern u8 gBlurAlpha;
|
||||
extern u8 D_80161A39;
|
||||
extern f32 D_80161A3C;
|
||||
extern f32 D_80161A40;
|
||||
extern f32 D_80161A44;
|
||||
|
||||
#endif
|
||||
+2
-545
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user