diff options
| author | Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com> | 2023-10-23 13:01:29 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-23 11:01:29 -0500 |
| commit | fd742f93be7e04a7cd2565300ab7ea34db1ff05e (patch) | |
| tree | f4360319cf58d574df6429073628f1970f41518e /include | |
| parent | 90538c74e5cfef70cd4969ffee102755f904a78e (diff) | |
sf_hud functions + code organization (#8)
* decompile func_80086C08
* decompile func_80086CC8
* format
* decompile func_80088784
* preserve macros
* better match func_80005708
* format
* *arg0
* decompile func_80089670
* decompile func_80089710
* decompile func_800897B0
* decompile func_80089850
* decompile func_800898F0
* decompile func_80089994
* decompile func_80089AF4
* decompile func_80089B94
* decompile func_80089C38
* decompile func_80089D28
* space
* format
* decompile func_80089E98
* correction
* declare segmented addresses in func_80088784
* segmented addresses in undefined_syms
* correction
* Gfx type
* *arg0 + 1 in func_80005708
* roll back s32 -> Gfx
* fix
* array of Gfx pointers
* decompile func_8008AD94
* decompile func_8008AD94
* decompile func_8008B1B0
* decompile func_8008B2F0
* create structs.h
* reordering
* format
* decompile func_8008B5B0
* decompile func_8008B9E8
* decompile func_8008BAE4
* decompile func_8008C390
* fixes
* fixes
* fix warnings
* move protos to functions header
* move variables to variables.h
* roll back segmented config in header
Diffstat (limited to 'include')
| -rw-r--r-- | include/functions.h | 65 | ||||
| -rw-r--r-- | include/global.h | 3 | ||||
| -rw-r--r-- | include/hud.h | 21 | ||||
| -rw-r--r-- | include/sf64math.h | 2 | ||||
| -rw-r--r-- | include/structs.h | 26 | ||||
| -rw-r--r-- | include/variables.h | 171 |
6 files changed, 272 insertions, 16 deletions
diff --git a/include/functions.h b/include/functions.h index a3dbec09..f6477d09 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1,12 +1,67 @@ #ifndef FUNCTIONS_H #define FUNCTIONS_H -void func_80005C34(s32, f32, f32, f32, s32); +f32 func_80005100(f32 arg0, f32 arg1); +void func_80005680(Matrix*, Matrix*); +void func_80005708(Matrix ** mtx); +void func_80005740(Matrix** mtx); +void func_80005B00(Matrix*, f32, f32, f32, u8); +void func_80005C34(Matrix*, f32, f32, f32, s32); void func_80006EB8(Gfx **); -s32 func_8008BCBC(s32 /*arg0*/); -void func_8009D994(Gfx*, void*, u32, u32, f32, f32, f32, f32); +void func_80006F20(void); + +void func_800182F4(s32); +void func_80019218(u32, f32*, u8, f32*, f32*, s8*); +void func_8001A838(u32 arg0); +void func_8001AF40(s32 arg0); +void func_8001DC6C(s32, s32); + +void func_80084688(s32, s32); +void func_80086664(f32, f32); +s32 func_8008B774(void); +s32 func_8008BCBC(s32 arg0); + +void func_8009BC2C(f32*, f32, f32, f32, f32); +void func_8009D994(Gfx**, void*, u32, u32, f32, f32, f32, f32); void func_8009FEA0(s32, s32, s32); -void func_800A1200(s32, s32, f32, f32, s32*); -void func_800B8DD0(Gfx **, s32); +void func_800A1200(s32, s32, f32, f32, char*); +void func_800A5D6C(void); +void func_800B8DD0(Gfx **, s16); +void func_800BB5D0(void); +void func_800B6F50(f32, f32, f32, f32, f32, f32); + +void func_801877F0_EBFEB0(void); +s32 func_80187ABC_EC017C(void); +void func_80187B00_EC01C0(void); +void func_80187E28_EC04E8(void); +void func_801888E8_EC0FA8(void); +void func_8018994C_EC200C(void); +void func_8018A644_EC2D04(void); +void func_8018ACEC_EC33AC(void); +void func_8018B5C4_EC3C84(void); +void func_8018C644_EC4D04(void); +void func_80190E64_EC9524(void); +void func_8019111C_EC97DC(void); +void func_80187CA8_EC0368(void); +void func_80188010_EC06D0(void); +void func_80189208_EC18C8(void); +void func_8018A2F8_EC29B8(void); +void func_8018A990_EC3050(void); +void func_8018B038_EC36F8(void); +void func_8018C114_EC47D4(void); +void func_8018CB90_EC5250(void); +void func_8018F680_EC7D40(void); +void func_8018F77C_EC7E3C(void); +void func_8018F85C_EC7F1C(void); +void func_8018F8E4_EC7FA4(void); +void func_8018FC14_EC82D4(void); +void func_8018FD08_EC83C8(void); +void func_8018FF74_EC8634(void); +void func_801906A0_EC8D60(void); +void func_80190C9C_EC935C(void); +void func_801918FC_EC9FBC(void); +void func_8018D2B8_EC5978(s32); +void func_8018EA78_EC7138(s32); +void func_80191674_EC9D34(f32, f32, f32, f32*, f32*, f32*); #endif diff --git a/include/global.h b/include/global.h index a53ea5ba..b62c335c 100644 --- a/include/global.h +++ b/include/global.h @@ -5,9 +5,8 @@ #include "PR/mbi.h" #include "functions.h" #include "variables.h" +#include "structs.h" #include "macros.h" #include "sf64math.h" -extern Gfx* D_80137E64; - #endif // GLOBAL_H diff --git a/include/hud.h b/include/hud.h index 6c4b8f94..b09babe1 100644 --- a/include/hud.h +++ b/include/hud.h @@ -13,16 +13,17 @@ typedef struct UnkStruct_func_80095350 { void func_800612B8(void*, u16, void*); void func_800613C4(void*); -void func_80084E78(s32*, s32*, s32*, s32, s32, f32, f32, f32, f32, f32, f32); +void func_80084E78(Gfx**, s32*, s32*, s32, s32, f32, f32, f32, f32, f32, f32); void func_80085944(void); void func_80086CC8(void); void func_80086DCC(void); void func_80087B5C(void); +void func_80089994(s32 arg0); void func_8008A4DC(void); void func_8008B044(void); void func_8008B1B0(void); void func_8008B2F0(void); -void func_8008B5B0(f32, f32); +void func_8008B5B0(f32 arg0, f32 arg1); void func_8008B734(void); void func_8008B9E8(void); void func_8008BAE4(void); @@ -37,10 +38,9 @@ void func_8008E5E8(void); void func_8008E620(void); void func_80090E8C(void); void func_800910C0(void); -void func_8009C320(Gfx*, s32*, s32*, s32, s32, f32, f32, f32, f32); -void func_8009D0BC(Gfx*, void*, void*, u32, u32, f32, f32, f32, f32); -void func_8009D994(Gfx*, void*, u32, u32, f32, f32, f32, f32); -void func_8009E1E8(Gfx*, s32*, s32, s32, f32, f32, f32, f32); +void func_8009C320(Gfx**, s32*, s32*, s32, s32, f32, f32, f32, f32); +void func_8009D0BC(Gfx**, void*, void*, u32, u32, f32, f32, f32, f32); +void func_8009E1E8(Gfx**, s32*, s32, s32, f32, f32, f32, f32); // Weird addresses, assets maybe? extern s32 D_1000E80; @@ -58,17 +58,22 @@ extern s32 D_1011CA0; extern s32 D_1011D70; extern s32 D_1011D90; extern s32 D_1011E60; -extern s32 D_1013170; -extern s32 D_1013570; +extern s32 D_1013170[]; +extern s32 D_1013570[]; extern s32 D_1013580; extern s32 D_1013700; +extern s32 D_20031B0[]; +extern s32 D_2010A30[]; extern s32 D_3000B20; extern s32 D_30013E0; extern s32 D_80161690; +extern s32 D_80161718; +extern s32 D_8016171C; extern s32 D_801617E8[]; extern s32 D_801617FC; extern s32 D_80161A98; +extern s32 D_80177838; extern s32 D_80177854; extern s32 D_80177880; extern s32 D_801778B0[]; diff --git a/include/sf64math.h b/include/sf64math.h index ecff4f33..eb8f02f8 100644 --- a/include/sf64math.h +++ b/include/sf64math.h @@ -19,4 +19,4 @@ typedef struct { /* 0x8 */ f32 z; } Vec3f; // size = 0xC -#endif
\ No newline at end of file +#endif diff --git a/include/structs.h b/include/structs.h new file mode 100644 index 00000000..799a50e8 --- /dev/null +++ b/include/structs.h @@ -0,0 +1,26 @@ +#ifndef STRUCTS_H +#define STRUCTS_H + +#include "global.h" +#include "sf64math.h" + +typedef struct UnkStruct_D_801B8350 { + /* 0x00 */ Vec3f unk0; + /* 0x0C */ char pad_0C[0x4C]; + /* 0x54 */ s32 unk54; + /* 0x58 */ s32 unk58; +} UnkStruct_D_801B8350; + +typedef struct UnkStruct_D_80178280 { + /* 0x000 */ char pad_0[0x07C]; + /* 0x07C */ f32 unk07C; + /* 0x080 */ char pad_80[0x148]; + /* 0x1C8 */ s32 unk1C8; + /* 0x1CC */ char pad_1CC[0x98]; + /* 0x264 */ s32 unk264; + /* 0x268 */ char pad_268[0x4]; + /* 0x26C */ s32 unk26C; + /* 0x270 */ char pad_270[0x270]; +} UnkStruct_D_80178280; // size = 0x4E0 + +#endif diff --git a/include/variables.h b/include/variables.h index e95d5995..91963a84 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1,7 +1,178 @@ #ifndef VARIABLES_H #define VARIABLES_H +#include "structs.h" +extern f32 D_800C5D34; +extern s8 D_800C5D3C; +extern s32 D_800CFF90; +extern Gfx D_800D1A40[]; +extern s32 D_800D1EB4; +extern s32 D_800D1EB8; +extern s32 D_800D1EBC; +extern s32 D_800D2870; +extern u8 D_800DD8B0[]; +extern s32 D_800DD8B4; + +extern Gfx* D_80137E64; +extern u8 D_80137E78; + +extern s32 D_80161690; +extern s32 D_80161730; +extern s32 D_80161788; +extern s32 D_8016178C; +extern s32 D_80161790; +extern s32 D_80161794; +extern s32 D_80161798; +extern f32 D_8016179C; +extern f32 D_801617A0; +extern f32 D_801617A4; +extern f32 D_801617A8; +extern f32 D_801617AC; +extern s32 D_801617B0; +extern s16 D_80161A34; +extern s16 D_80161A36; +extern u8 D_80161A90[]; + +extern UnkStruct_D_80178280* D_80178280; +extern s32 D_80177834; +extern s32 D_8017783C; +extern s32 D_80177898; +extern s32 D_801778A0; +extern s32 D_801778A8; +extern s32 D_801778E8; +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 s32 D_80177AE0; +extern s32 D_80177AF8; +extern u8 D_80177C98; +extern f32 D_80177D68; +extern s32 D_80177DB0; +extern s32 D_8017829C; +extern s32 D_801782A4; +extern s32 D_80178320; +extern s32 D_80178328; +extern s32 D_80178330; +extern s32 D_80178340; +extern s32 D_80178348; +extern s32 D_80178350; +extern s32 D_80178354; +extern s32 D_80178410; +extern f32 D_80178420; +extern f32 D_80178424; +extern f32 D_8017842C; +extern s32 D_80178548; +extern s32 D_8017854C; +extern s32 D_80178550; +extern s32 D_80178554; +extern s32 D_80178558; +extern s32 D_8017855C; + +extern f32 D_801B7BC8; +extern f32 D_801B7BCC; +extern s32 D_801B8220[]; +extern u8 D_801B8248[][4]; +extern s32 D_801B827C; +extern s32 D_801B8280; +extern s32 D_801B8284; +extern s32 D_801B8288; +extern s32 D_801B82A8; +extern s32 D_801B82AC; +extern s32 D_801B82BC; +extern s32 D_801B82C0; +extern s32 D_801B82C4; +extern f32 D_801B82E0; +extern f32 D_801B82E4; +extern f32 D_801B82E8; +extern s32 D_801B82F8; +extern s32 D_801B82FC; +extern s32 D_801B8300; +extern f32 D_801B8304; +extern f32 D_801B8308; +extern f32 D_801B830C; +extern s32 D_801B8310; +extern s32 D_801B8314; +extern s32 D_801B8318; +extern s32 D_801B831C; +extern s32 D_801B8320; +extern s32 D_801B8324; +extern f32 D_801B833C; +extern s32 D_801B8344; +extern s32 D_801B8348; +extern s32 D_801B86A4; +extern f32 D_801B86C8; +extern f32 D_801B86CC; +extern f32 D_801B86D0; +extern f32 D_801B86D4; +extern f32 D_801B86D8; +extern f32 D_801B86DC; +extern s32 D_801B9040; +extern f32 D_801B905C; +extern f32 D_801B9060; +extern f32 D_801B9064; + +extern Matrix* D_8013B3C0; +extern f32 D_800C5D28[]; + +extern s32 D_801ADA44_EE6104[]; +extern s32 D_801ADA84_EE6144[]; +extern s32 D_801ADA94_EE6154; + +extern Gfx D_1015510[]; +extern Gfx D_1024230[]; +extern Gfx D_1024830[]; +extern Gfx D_102A8A0[]; +extern Gfx D_1024AC0[]; + + +extern Gfx D_2000000[]; +extern Gfx D_2000890[]; +extern Gfx D_2001090[]; +extern Gfx D_2001120[]; +extern Gfx D_20019B0[]; +extern Gfx D_2002120[]; +extern Gfx D_2002240[]; +extern Gfx D_2002AD0[]; +extern Gfx D_2003360[]; +extern Gfx D_2003BF0[]; +extern Gfx D_2004240[]; +extern Gfx D_2004480[]; +extern Gfx D_2004D10[]; +extern Gfx D_20052D0[]; +extern Gfx D_20055A0[]; +extern Gfx D_2005E30[]; +extern Gfx D_2006360[]; +extern Gfx D_20066C0[]; +extern Gfx D_20073F0[]; +extern Gfx D_2008480[]; +extern Gfx D_2009510[]; +extern Gfx D_200A5A0[]; +extern Gfx D_200B630[]; +extern Gfx D_200C6C0[]; +extern Gfx D_200E7F0[]; +extern Gfx D_200F080[]; +extern Gfx D_200F910[]; +extern Gfx D_20101A0[]; + +extern u8 D_5000000[]; +extern u8 D_5000080[]; +extern u8 D_5000100[]; +extern u8 D_5000180[]; +extern u8 D_5000200[]; +extern u8 D_5000280[]; +extern u8 D_5000300[]; +extern u8 D_5000380[]; +extern u8 D_5000400[]; +extern u8 D_5000480[]; +extern s32 D_50077B0; + +extern Gfx D_6004570[]; +extern Gfx D_D0098B0[]; +extern Gfx D_F014180[]; #endif // VARIABLES_H |
