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
This commit is contained in:
Alejandro Asenjo Nitti
2023-10-23 13:01:29 -03:00
committed by GitHub
parent 90538c74e5
commit fd742f93be
14 changed files with 837 additions and 198 deletions
+60 -5
View File
@@ -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
+1 -2
View File
@@ -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
+13 -8
View File
@@ -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[];
+1 -1
View File
@@ -19,4 +19,4 @@ typedef struct {
/* 0x8 */ f32 z;
} Vec3f; // size = 0xC
#endif
#endif
+26
View File
@@ -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
+171
View File
@@ -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