mirror of
https://github.com/zeldaret/tmc
synced 2026-07-11 23:30:06 -04:00
fileScreen.c OK
This commit is contained in:
+17
-5
@@ -40,12 +40,21 @@ typedef struct {
|
||||
typedef struct {
|
||||
u8 filler0[0x4];
|
||||
} struct_020227E8;
|
||||
|
||||
extern struct_020227E8 gUnk_020227E8;
|
||||
|
||||
extern SaveFile gSaveFiles[];
|
||||
extern u32 gUsedPalettes;
|
||||
extern u8 gUnk_02000D00[];
|
||||
typedef struct {
|
||||
/*0x00*/ u8 isTransitioning;
|
||||
/*0x01*/ u8 unk1;
|
||||
/*0x02*/ u8 unk2;
|
||||
/*0x03*/ u8 unk3;
|
||||
/*0x04*/ u8 unk4;
|
||||
/*0x05*/ u8 unk5;
|
||||
/*0x06*/ u8 unk6;
|
||||
/*0x07*/ u8 unk7;
|
||||
/*0x08*/ s8 saveStatus[3];
|
||||
/*0x0b*/ SaveFile saves[3];
|
||||
} struct_02019EE0;
|
||||
extern struct_02019EE0 gUnk_02019EE0;
|
||||
|
||||
struct OAMCommand {
|
||||
u16 x;
|
||||
@@ -70,8 +79,11 @@ extern void sub_08050AFC(u32);
|
||||
extern const struct_080FC844 gUnk_080FC844;
|
||||
extern const u16 gUnk_080FC85C[][3];
|
||||
extern void (*const gUnk_080FC908[])(void);
|
||||
extern const u16 gUnk_080FC8DE[];
|
||||
extern const u8 gGlobalGfxAndPalettes[];
|
||||
extern void (*const gUnk_080FC93C[])();
|
||||
extern u32 gUsedPalettes;
|
||||
extern u8 gUnk_02000D00[];
|
||||
extern u8 gUnk_02001B40;
|
||||
extern u8 gUnk_02022030;
|
||||
|
||||
#endif
|
||||
@@ -250,7 +250,6 @@ extern void sub_08097B24(Entity*);
|
||||
extern u32 sub_08079F8C(void);
|
||||
extern void sub_080787CC(Entity*);
|
||||
extern void sub_080526F8(s32);
|
||||
extern int sub_0807CF28(u32, SaveFile*);
|
||||
extern u32 sub_080044EC(Entity*, u32);
|
||||
extern u32 sub_080002B8(Entity*);
|
||||
extern u32 sub_08049F84(Entity*, u32);
|
||||
@@ -315,7 +314,6 @@ extern void sub_08008790(Entity*, u32);
|
||||
extern void sub_0804ACF8();
|
||||
extern void sub_08073904(Entity*);
|
||||
extern u32 sub_08056134(void);
|
||||
extern u32 sub_0807CF30(SaveFile*);
|
||||
extern void sub_08004484(Entity*, Entity*);
|
||||
extern void sub_080564C8(u32);
|
||||
extern void sub_08056F70(void);
|
||||
|
||||
+6
-8
@@ -17,11 +17,6 @@ typedef struct {
|
||||
u32 filler3[3];
|
||||
} MenuControls;
|
||||
|
||||
typedef struct {
|
||||
u8 key;
|
||||
u8 value;
|
||||
} KeySetting;
|
||||
|
||||
typedef struct {
|
||||
u8 aButtonX;
|
||||
u8 aButtonY;
|
||||
@@ -32,8 +27,7 @@ typedef struct {
|
||||
u8 rButtonX;
|
||||
u8 rButtonY;
|
||||
u8 rButtonText;
|
||||
KeySetting settingDict[0];
|
||||
u8 eof;
|
||||
u8 settingDict[0];
|
||||
} PACKED KeyButtonLayout;
|
||||
|
||||
extern void sub_080A70AC(const KeyButtonLayout*);
|
||||
@@ -56,7 +50,11 @@ typedef struct {
|
||||
u8 unk14;
|
||||
u8 unk15;
|
||||
u8 unk16;
|
||||
u8 filler17[0x13];
|
||||
// While struct offsets are usually loaded indirectly, this one is often loaded
|
||||
// directly in the code. This happens when you take the address off the field with '&`.
|
||||
// Perhaps they had a macro to cast this to different sized arrays.
|
||||
u8 selectMtx;
|
||||
u8 filler18[0x12];
|
||||
u8 unk2a;
|
||||
int field_0x2c;
|
||||
} Menu;
|
||||
|
||||
@@ -6,4 +6,4 @@ typedef struct {
|
||||
u8 unk7;
|
||||
} Input;
|
||||
|
||||
extern Input gUnk_03000FF0;
|
||||
extern Input gInput;
|
||||
|
||||
+30
-2
@@ -7,10 +7,12 @@
|
||||
#include "menu.h"
|
||||
#include "structures.h"
|
||||
|
||||
#define FILENAME_LENGTH 6
|
||||
|
||||
typedef enum {
|
||||
SAVE_BUSY = 0,
|
||||
SAVE_OK = 1,
|
||||
SAVE_ERROR = 0xFFFFFFFF,
|
||||
SAVE_ERROR = -1,
|
||||
} SaveResult;
|
||||
|
||||
typedef enum {
|
||||
@@ -19,6 +21,32 @@ typedef enum {
|
||||
SAVE_DONE,
|
||||
} SaveState;
|
||||
|
||||
extern u32 sub_0807CDA4(SaveState state);
|
||||
extern SaveResult sub_0807CDA4(SaveState state);
|
||||
|
||||
typedef struct {
|
||||
/*0x000*/ u8 filler0[0x2];
|
||||
/*0x002*/ u8 messageSpeed;
|
||||
/*0x003*/ u8 brightnessPref;
|
||||
/*0x004*/ u8 filler4[0x2];
|
||||
/*0x006*/ u8 unk6;
|
||||
/*0x007*/ u8 unk7;
|
||||
/*0x008*/ u8 unk8;
|
||||
/*0x009*/ u8 field_0x9[0x34];
|
||||
/*0x040*/ u32 windcrests;
|
||||
/*0x044*/ u8 filler44[0xC];
|
||||
/*0x050*/ u32 unk50;
|
||||
/*0x054*/ u8 filler54[0x2C];
|
||||
/*0x080*/ u8 playerName[FILENAME_LENGTH];
|
||||
/*0x086*/ u8 filler86[0x22];
|
||||
/*0x0A8*/ Stats stats;
|
||||
/*0x0D0*/ u8 fillerD0[0x3c0];
|
||||
/*0x490*/ u32 unk490;
|
||||
/*0x494*/ u8 filler494[0x20];
|
||||
} SaveFile;
|
||||
|
||||
extern SaveFile gSave;
|
||||
|
||||
s32 sub_0807CF28(u32, SaveFile*);
|
||||
u32 sub_0807CF30(SaveFile*);
|
||||
|
||||
#endif
|
||||
@@ -42,29 +42,6 @@ typedef struct {
|
||||
|
||||
extern struct_02000010 gUnk_02000010;
|
||||
|
||||
typedef struct {
|
||||
/*0x000*/ u8 filler0[0x2];
|
||||
/*0x002*/ u8 messageSpeed;
|
||||
/*0x003*/ u8 brightnessPref;
|
||||
/*0x004*/ u8 filler4[0x2];
|
||||
/*0x006*/ u8 unk6;
|
||||
/*0x007*/ u8 unk7;
|
||||
/*0x008*/ u8 unk8;
|
||||
/*0x009*/ u8 field_0x9[0x34];
|
||||
/*0x040*/ u32 windcrests;
|
||||
/*0x044*/ u8 filler44[0xC];
|
||||
/*0x050*/ u32 unk50;
|
||||
/*0x054*/ u8 filler54[0x2C];
|
||||
/*0x080*/ u8 playerName[6];
|
||||
/*0x086*/ u8 filler86[0x22];
|
||||
/*0x0A8*/ Stats stats;
|
||||
/*0x0D0*/ u8 fillerD0[0x3c0];
|
||||
/*0x490*/ u32 unk490;
|
||||
/*0x494*/ u8 filler494[0x20];
|
||||
} SaveFile;
|
||||
|
||||
extern SaveFile gUnk_02002A40;
|
||||
|
||||
typedef struct {
|
||||
u32 frameCount; // regular frame count? does anything reset it?
|
||||
u8 field_0x4[0x4];
|
||||
@@ -113,20 +90,6 @@ typedef struct {
|
||||
u16 transitionSFX;
|
||||
} ScreenTransitionData;
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u8 isTransitioning;
|
||||
/*0x01*/ u8 unk1;
|
||||
/*0x02*/ u8 unk2;
|
||||
/*0x03*/ u8 unk3;
|
||||
/*0x04*/ u8 filler4[0x2];
|
||||
/*0x06*/ u8 unk6;
|
||||
/*0x07*/ u8 unk7;
|
||||
/*0x08*/ s8 saveStatus[3];
|
||||
/*0x0b*/ u8 unkB[0xE1D];
|
||||
} struct_02019EE0;
|
||||
|
||||
extern struct_02019EE0 gUnk_02019EE0;
|
||||
|
||||
typedef struct {
|
||||
u8 active;
|
||||
u8 field_0x1;
|
||||
|
||||
Reference in New Issue
Block a user