mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-03 00:33:55 +03:00
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:
parent
90538c74e5
commit
fd742f93be
@ -1,12 +1,67 @@
|
|||||||
#ifndef FUNCTIONS_H
|
#ifndef FUNCTIONS_H
|
||||||
#define 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 **);
|
void func_80006EB8(Gfx **);
|
||||||
s32 func_8008BCBC(s32 /*arg0*/);
|
void func_80006F20(void);
|
||||||
void func_8009D994(Gfx*, void*, u32, u32, f32, f32, f32, f32);
|
|
||||||
|
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_8009FEA0(s32, s32, s32);
|
||||||
void func_800A1200(s32, s32, f32, f32, s32*);
|
void func_800A1200(s32, s32, f32, f32, char*);
|
||||||
void func_800B8DD0(Gfx **, s32);
|
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
|
#endif
|
||||||
|
@ -5,9 +5,8 @@
|
|||||||
#include "PR/mbi.h"
|
#include "PR/mbi.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "structs.h"
|
||||||
#include "macros.h"
|
#include "macros.h"
|
||||||
#include "sf64math.h"
|
#include "sf64math.h"
|
||||||
|
|
||||||
extern Gfx* D_80137E64;
|
|
||||||
|
|
||||||
#endif // GLOBAL_H
|
#endif // GLOBAL_H
|
||||||
|
@ -13,16 +13,17 @@ typedef struct UnkStruct_func_80095350 {
|
|||||||
|
|
||||||
void func_800612B8(void*, u16, void*);
|
void func_800612B8(void*, u16, void*);
|
||||||
void func_800613C4(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_80085944(void);
|
||||||
void func_80086CC8(void);
|
void func_80086CC8(void);
|
||||||
void func_80086DCC(void);
|
void func_80086DCC(void);
|
||||||
void func_80087B5C(void);
|
void func_80087B5C(void);
|
||||||
|
void func_80089994(s32 arg0);
|
||||||
void func_8008A4DC(void);
|
void func_8008A4DC(void);
|
||||||
void func_8008B044(void);
|
void func_8008B044(void);
|
||||||
void func_8008B1B0(void);
|
void func_8008B1B0(void);
|
||||||
void func_8008B2F0(void);
|
void func_8008B2F0(void);
|
||||||
void func_8008B5B0(f32, f32);
|
void func_8008B5B0(f32 arg0, f32 arg1);
|
||||||
void func_8008B734(void);
|
void func_8008B734(void);
|
||||||
void func_8008B9E8(void);
|
void func_8008B9E8(void);
|
||||||
void func_8008BAE4(void);
|
void func_8008BAE4(void);
|
||||||
@ -37,10 +38,9 @@ void func_8008E5E8(void);
|
|||||||
void func_8008E620(void);
|
void func_8008E620(void);
|
||||||
void func_80090E8C(void);
|
void func_80090E8C(void);
|
||||||
void func_800910C0(void);
|
void func_800910C0(void);
|
||||||
void func_8009C320(Gfx*, s32*, 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_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_8009E1E8(Gfx*, s32*, s32, s32, f32, f32, f32, f32);
|
|
||||||
|
|
||||||
// Weird addresses, assets maybe?
|
// Weird addresses, assets maybe?
|
||||||
extern s32 D_1000E80;
|
extern s32 D_1000E80;
|
||||||
@ -58,17 +58,22 @@ extern s32 D_1011CA0;
|
|||||||
extern s32 D_1011D70;
|
extern s32 D_1011D70;
|
||||||
extern s32 D_1011D90;
|
extern s32 D_1011D90;
|
||||||
extern s32 D_1011E60;
|
extern s32 D_1011E60;
|
||||||
extern s32 D_1013170;
|
extern s32 D_1013170[];
|
||||||
extern s32 D_1013570;
|
extern s32 D_1013570[];
|
||||||
extern s32 D_1013580;
|
extern s32 D_1013580;
|
||||||
extern s32 D_1013700;
|
extern s32 D_1013700;
|
||||||
|
extern s32 D_20031B0[];
|
||||||
|
extern s32 D_2010A30[];
|
||||||
extern s32 D_3000B20;
|
extern s32 D_3000B20;
|
||||||
extern s32 D_30013E0;
|
extern s32 D_30013E0;
|
||||||
|
|
||||||
extern s32 D_80161690;
|
extern s32 D_80161690;
|
||||||
|
extern s32 D_80161718;
|
||||||
|
extern s32 D_8016171C;
|
||||||
extern s32 D_801617E8[];
|
extern s32 D_801617E8[];
|
||||||
extern s32 D_801617FC;
|
extern s32 D_801617FC;
|
||||||
extern s32 D_80161A98;
|
extern s32 D_80161A98;
|
||||||
|
extern s32 D_80177838;
|
||||||
extern s32 D_80177854;
|
extern s32 D_80177854;
|
||||||
extern s32 D_80177880;
|
extern s32 D_80177880;
|
||||||
extern s32 D_801778B0[];
|
extern s32 D_801778B0[];
|
||||||
|
@ -19,4 +19,4 @@ typedef struct {
|
|||||||
/* 0x8 */ f32 z;
|
/* 0x8 */ f32 z;
|
||||||
} Vec3f; // size = 0xC
|
} Vec3f; // size = 0xC
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
26
include/structs.h
Normal file
26
include/structs.h
Normal 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
|
@ -1,7 +1,178 @@
|
|||||||
#ifndef VARIABLES_H
|
#ifndef VARIABLES_H
|
||||||
#define 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
|
#endif // VARIABLES_H
|
||||||
|
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
D_2000000 = 0x02000000;
|
||||||
|
D_2000890 = 0x02000890;
|
||||||
|
D_2001090 = 0x02001090;
|
||||||
|
D_2001120 = 0x02001120;
|
||||||
|
D_20019B0 = 0x020019B0;
|
||||||
|
D_2002120 = 0x02002120;
|
||||||
|
D_2002240 = 0x02002240;
|
||||||
|
D_2002AD0 = 0x02002AD0;
|
||||||
|
D_2003360 = 0x02003360;
|
||||||
|
D_2003BF0 = 0x02003BF0;
|
||||||
|
D_2004240 = 0x02004240;
|
||||||
|
D_2004480 = 0x02004480;
|
||||||
|
D_2004D10 = 0x02004D10;
|
||||||
|
D_20052D0 = 0x020052D0;
|
||||||
|
D_20055A0 = 0x020055A0;
|
||||||
|
D_2005E30 = 0x02005E30;
|
||||||
|
D_2006360 = 0x02006360;
|
||||||
|
D_20066C0 = 0x020066C0;
|
||||||
|
D_20073F0 = 0x020073F0;
|
||||||
|
D_2008480 = 0x02008480;
|
||||||
|
D_2009510 = 0x02009510;
|
||||||
|
D_200A5A0 = 0x0200A5A0;
|
||||||
|
D_200B630 = 0x0200B630;
|
||||||
|
D_200C6C0 = 0x0200C6C0;
|
||||||
|
D_200E7F0 = 0x0200E7F0;
|
||||||
|
D_200F080 = 0x0200F080;
|
||||||
|
D_200F910 = 0x0200F910;
|
||||||
|
D_20101A0 = 0x020101A0;
|
||||||
|
|
||||||
|
D_5000000 = 0x05000000;
|
||||||
|
D_5000080 = 0x05000080;
|
||||||
|
D_5000100 = 0x05000100;
|
||||||
|
D_5000180 = 0x05000180;
|
||||||
|
D_5000200 = 0x05000200;
|
||||||
|
D_5000280 = 0x05000280;
|
||||||
|
D_5000300 = 0x05000300;
|
||||||
|
D_5000380 = 0x05000380;
|
||||||
|
D_5000400 = 0x05000400;
|
||||||
|
D_5000480 = 0x05000480;
|
@ -7,7 +7,6 @@ extern s32 D_8013B3AC;
|
|||||||
extern s32 D_8013B3B0;
|
extern s32 D_8013B3B0;
|
||||||
extern s32 D_8013B3B4;
|
extern s32 D_8013B3B4;
|
||||||
|
|
||||||
extern void func_80005680(s32, s32);
|
|
||||||
extern f32 func_8001FBE8(f32);
|
extern f32 func_8001FBE8(f32);
|
||||||
extern u64 osGetTime(void);
|
extern u64 osGetTime(void);
|
||||||
|
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
// https://decomp.me/scratch/8H8k4 100%
|
// https://decomp.me/scratch/8H8k4 100%
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005680.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005680.s")
|
||||||
|
|
||||||
void func_80005708(s32* arg0) {
|
void func_80005708(Matrix** mtx) {
|
||||||
func_80005680(*arg0 + 64, *arg0);
|
func_80005680(*mtx + 1, *mtx);
|
||||||
*arg0 += 0x40;
|
*mtx += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80005740(s32* arg0) {
|
void func_80005740(Matrix** mtx) {
|
||||||
*arg0 -= 64;
|
*mtx -= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005754.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/6280/func_80005754.s")
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
#include "hud.h"
|
#include "hud.h"
|
||||||
|
|
||||||
extern s32 D_8013B3C0;
|
|
||||||
extern Gfx D_F014180[];
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80084930.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80084930.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80084B94.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80084B94.s")
|
||||||
@ -131,9 +128,40 @@ s32 func_800863C8(void) {
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800869A0.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800869A0.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80086C08.s")
|
void func_80086C08(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x4E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 60, 60, 128, 96);
|
||||||
|
gDPSetAlphaDither(D_80137E64++, G_AD_DISABLE);
|
||||||
|
func_8009D0BC(&D_80137E64, D_1013170, D_1013570, 24, 17, arg0, arg1, arg2, arg3);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80086CC8.s")
|
void func_80086CC8(void) {
|
||||||
|
char pad;
|
||||||
|
f32 sp18;
|
||||||
|
f32 temp;
|
||||||
|
|
||||||
|
if ((D_80177854 != 0x64) && (D_80177838 != 0)) {
|
||||||
|
D_80177838 -= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (D_80177838 == 1) {
|
||||||
|
D_80161718 = 30;
|
||||||
|
D_8016171C = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
temp = 108.0f;
|
||||||
|
sp18 = 81.0f;
|
||||||
|
|
||||||
|
if (D_80177838 != 0) {
|
||||||
|
func_80086C08(temp - 4.5f - 32.0f, sp18 - 24.0f - 4.0f, 7.4f, 3.9f);
|
||||||
|
|
||||||
|
if (D_80178234 != 10) {
|
||||||
|
func_80086C08(122.0f, 122.0f, 2.9f, 1.2f);
|
||||||
|
}
|
||||||
|
|
||||||
|
func_80086664(temp, sp18 - 24.0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80086DCC.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80086DCC.s")
|
||||||
|
|
||||||
@ -177,31 +205,247 @@ void func_8008865C(void) {
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800886B8.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800886B8.s")
|
||||||
|
|
||||||
|
#ifdef IMPORT_DATA_PENDING
|
||||||
|
void func_80088784(s32 arg0) {
|
||||||
|
Gfx* D_800D1D4C[] = {
|
||||||
|
D_200B630, D_200A5A0, D_2009510, D_2008480, D_20073F0, D_2006360, D_200C6C0, D_20052D0, D_2004240,
|
||||||
|
D_20031B0, D_2002120, D_2001090, D_2000000, D_2010A30, D_20101A0, D_200F910, D_200F080, D_200E7F0,
|
||||||
|
};
|
||||||
|
Gfx* D_800D1D94[] = {
|
||||||
|
D_20066C0, D_2005E30, D_20055A0, D_2004D10, D_2004480, D_2003BF0, D_2003360,
|
||||||
|
D_2002AD0, D_2002240, D_20019B0, D_2001120, D_2000890, D_2000000,
|
||||||
|
};
|
||||||
|
s32 D_800D1DC8[] = {
|
||||||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 150, 100, 50,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (arg0 != 0) {
|
||||||
|
arg0--;
|
||||||
|
func_800B8DD0(&D_80137E64, 0x24);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, D_800D1DC8[arg0]);
|
||||||
|
func_80005708(&D_8013B3C0);
|
||||||
|
func_80005B00(D_8013B3C0, 3.9f, -3.3f, -100.0f, 0);
|
||||||
|
func_80005C34(D_8013B3C0, 0.37f, 0.37f, 0.37f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
|
||||||
|
if (D_80177C98 == 0) {
|
||||||
|
gSPDisplayList(D_80137E64++, D_800D1D4C[arg0]);
|
||||||
|
} else {
|
||||||
|
gSPDisplayList(D_80137E64++, D_800D1D94[arg0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
func_80005740(&D_8013B3C0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80088784.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80088784.s")
|
||||||
|
#endif
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80088970.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80088970.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089670.s")
|
void func_80089670(void) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x3E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, 255);
|
||||||
|
func_80005C34(D_8013B3C0, 18.64f, 21.04f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_1024AC0);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089710.s")
|
void func_80089710(void) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x3E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, 255);
|
||||||
|
func_80005C34(D_8013B3C0, 11.0f, 11.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_1024AC0);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800897B0.s")
|
void func_800897B0(void) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x3E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, 255);
|
||||||
|
func_80005C34(D_8013B3C0, 130.0f, 130.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_1024830);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089850.s")
|
void func_80089850(void) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x3E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 0, 0, 0, 255);
|
||||||
|
func_80005C34(D_8013B3C0, 125.0f, 125.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_102A8A0);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800898F0.s")
|
void func_800898F0(void) {
|
||||||
|
func_800B8DD0(&D_80137E64, 1);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 208, 80, 255);
|
||||||
|
func_80005C34(D_8013B3C0, 30.0f, 30.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_6004570);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef IMPORT_DATA_PENDING
|
||||||
|
void func_80089994(s32 arg0) {
|
||||||
|
s32 D_800D1E14[][4] = {
|
||||||
|
{ 177, 242, 12, 255 }, { 89, 121, 6, 128 }, { 90, 90, 255, 255 }, { 45, 45, 128, 128 },
|
||||||
|
{ 0, 179, 67, 255 }, { 0, 90, 34, 128 }, { 255, 30, 0, 255 }, { 128, 15, 0, 128 },
|
||||||
|
};
|
||||||
|
f32 var_fv1;
|
||||||
|
f32 var_fv2;
|
||||||
|
|
||||||
|
if (D_801778A8 != 1) {
|
||||||
|
var_fv1 = 38.0f;
|
||||||
|
var_fv2 = 38.0f;
|
||||||
|
} else {
|
||||||
|
var_fv1 = 54.0f;
|
||||||
|
var_fv2 = 54.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
func_800B8DD0(&D_80137E64, 0x3E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, D_800D1E14[arg0][0], D_800D1E14[arg0][1], D_800D1E14[arg0][2],
|
||||||
|
D_800D1E14[arg0][3]);
|
||||||
|
func_80005C34(D_8013B3C0, var_fv1, var_fv2, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_1015510);
|
||||||
|
}
|
||||||
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089994.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089994.s")
|
||||||
|
#endif
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089AF4.s")
|
void func_80089AF4(void) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x3E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 0, 0, 0, 255);
|
||||||
|
func_80005C34(D_8013B3C0, 54.0f, 54.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_F014180);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089B94.s")
|
void func_80089B94(void) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x3E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 92, 92, 255);
|
||||||
|
func_80005C34(D_8013B3C0, 54.0f, 54.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_D0098B0);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089C38.s")
|
void func_80089C38(void) {
|
||||||
|
s32 alpha;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089D28.s")
|
func_800B8DD0(&D_80137E64, 0xC);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80089E98.s")
|
alpha = D_80177DB0 % 21;
|
||||||
|
|
||||||
|
if (alpha > 10) {
|
||||||
|
alpha = 20 - alpha;
|
||||||
|
}
|
||||||
|
|
||||||
|
alpha *= 255.0f / 10.0f;
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, alpha);
|
||||||
|
func_80005C34(D_8013B3C0, 15.0f, 15.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_1024230);
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80089D28(void) {
|
||||||
|
s32 gb;
|
||||||
|
|
||||||
|
func_800B8DD0(&D_80137E64, 1);
|
||||||
|
|
||||||
|
gb = D_80177DB0 % 21;
|
||||||
|
|
||||||
|
if (gb > 10) {
|
||||||
|
gb = 20 - gb;
|
||||||
|
}
|
||||||
|
|
||||||
|
gb *= 25.5f;
|
||||||
|
|
||||||
|
if ((gb == 10) || (gb == 0)) {
|
||||||
|
// clang-format off
|
||||||
|
//! FAKE: Probably a MACRO
|
||||||
|
if (1) {func_80019218(0x4900001c, D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);}
|
||||||
|
// clang-format on
|
||||||
|
}
|
||||||
|
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, gb, gb, 255);
|
||||||
|
func_80005B00(D_8013B3C0, 0.0f, -185.92001f, 0, 1);
|
||||||
|
func_80005C34(D_8013B3C0, 3.55f, 0.13f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_1024230);
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80089E98(s32 arg0) {
|
||||||
|
s32 var_a1;
|
||||||
|
s32 var_a1_2;
|
||||||
|
|
||||||
|
switch (arg0) {
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
var_a1_2 = var_a1 = arg0;
|
||||||
|
if (D_801778A8 != 1) {
|
||||||
|
if (arg0 == 1) {
|
||||||
|
var_a1 = 3;
|
||||||
|
}
|
||||||
|
if (arg0 == 3) {
|
||||||
|
var_a1 = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (D_80178280[arg0].unk1C8 == 13) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((var_a1_2 == D_801778A0) && (D_80177DB0 & 2)) {
|
||||||
|
var_a1 = (var_a1 * 2) + 1;
|
||||||
|
} else {
|
||||||
|
var_a1 = var_a1 * 2;
|
||||||
|
}
|
||||||
|
func_80089994(var_a1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
case 5:
|
||||||
|
case 6:
|
||||||
|
case 7:
|
||||||
|
func_80089AF4();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 8:
|
||||||
|
func_80089B94();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 100:
|
||||||
|
func_800898F0();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 101:
|
||||||
|
func_80089850();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 102:
|
||||||
|
func_800897B0();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 103:
|
||||||
|
if (D_801778E8 == 1) {
|
||||||
|
func_80089670();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
func_80089C38();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 200:
|
||||||
|
case 201:
|
||||||
|
func_80089670();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 999:
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
func_80089710();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008A07C.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008A07C.s")
|
||||||
|
|
||||||
@ -211,11 +455,116 @@ void func_8008865C(void) {
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008AC54.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008AC54.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008AD94.s")
|
void func_8008AD94(void) {
|
||||||
|
if (D_80177834 == 7) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x4C);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 0, 255);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008B044.s")
|
switch ((s32) D_80177D68) {
|
||||||
|
case 0:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "FOX");
|
||||||
|
break;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008B1B0.s")
|
case 10:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "FALCO");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 20:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "SLIPPY");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 30:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "PEPPY");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 200:
|
||||||
|
case 240:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "WOLF");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 220:
|
||||||
|
case 260:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "LEON");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 210:
|
||||||
|
case 250:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "PIGMA");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 230:
|
||||||
|
case 270:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "ANDREW");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 170:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "BILL");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 40:
|
||||||
|
func_800A1200(73, 173, 1.0f, 1.0f, "KATT");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_8008B044(void) {
|
||||||
|
switch (D_80161798) {
|
||||||
|
case 0:
|
||||||
|
if (D_80161690 == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
func_80019218(0x49002018, D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
||||||
|
|
||||||
|
if (D_800CFF90 != 0) {
|
||||||
|
func_8001AF40(1);
|
||||||
|
}
|
||||||
|
D_80161794 = 0;
|
||||||
|
D_80161798 = 1;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
if (D_80161690 != 0) {
|
||||||
|
D_80161790++;
|
||||||
|
if (D_80161790 >= 7) {
|
||||||
|
if (D_80161794 & 1) {
|
||||||
|
func_80019218(0x49002018, D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
||||||
|
}
|
||||||
|
D_80161790 = 0;
|
||||||
|
D_80161794++;
|
||||||
|
}
|
||||||
|
D_80161690--;
|
||||||
|
} else {
|
||||||
|
D_800CFF90 = 0;
|
||||||
|
D_80161790 = 0;
|
||||||
|
D_80161798 = 0;
|
||||||
|
func_8001A838(0x49002018);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_8008B1B0(void) {
|
||||||
|
f32 temp = 142.0f;
|
||||||
|
f32 temp2 = 18.0f;
|
||||||
|
|
||||||
|
func_800B8DD0(&D_80137E64, 0x4E);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, 255);
|
||||||
|
|
||||||
|
switch (D_80161790 / 2) {
|
||||||
|
case 3:
|
||||||
|
func_8008556C(temp + 31.0f, temp2);
|
||||||
|
case 2:
|
||||||
|
func_80085514(temp + 24.0f, temp2);
|
||||||
|
case 1:
|
||||||
|
func_800854BC(temp + 18.0f, temp2);
|
||||||
|
case 0:
|
||||||
|
func_80085464(temp, temp2);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void func_8008B2A4(void) {
|
void func_8008B2A4(void) {
|
||||||
if (D_80177854 != 100) {
|
if (D_80177854 != 100) {
|
||||||
@ -226,9 +575,78 @@ void func_8008B2A4(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008B2F0.s")
|
void func_8008B2F0(void) {
|
||||||
|
f32 var_fv0;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008B5B0.s")
|
switch (D_80161730) {
|
||||||
|
case 0:
|
||||||
|
D_801617B0 = 0;
|
||||||
|
D_8016179C = 20.0f;
|
||||||
|
D_801617A0 = 18.0f;
|
||||||
|
|
||||||
|
if (D_80161A90[0] >= 3) {
|
||||||
|
D_801617A4 = D_801617A8 = 1.5f;
|
||||||
|
} else {
|
||||||
|
D_801617A4 = D_801617A8 = 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
var_fv0 = D_80178280->unk264;
|
||||||
|
D_801617AC = var_fv0 / ((256.0f * D_801617A8) - 1.0f);
|
||||||
|
|
||||||
|
if (D_80161A90[0] >= 3) {
|
||||||
|
D_80161730 = 2;
|
||||||
|
} else {
|
||||||
|
D_80161730 = 1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
if (D_80161A90[0] >= 3) {
|
||||||
|
D_801617B0 = 55;
|
||||||
|
D_80161730 = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
D_800D1EB4 = D_800D1EB8 = D_800D1EBC = 255;
|
||||||
|
if (D_801617B0 > 0) {
|
||||||
|
if (--D_801617B0 == 0) {
|
||||||
|
D_80178280->unk26C += 128;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (((D_801617B0 != 0) || ((D_801617A4 - D_801617A8) > 0.1f)) && (D_80177DB0 & 2)) {
|
||||||
|
D_800D1EB4 = 0;
|
||||||
|
D_800D1EB8 = 255;
|
||||||
|
D_800D1EBC = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((D_801617B0 == 0) && ((s32) D_80161A90[0] >= 3)) {
|
||||||
|
D_801617A4 = 1.5f;
|
||||||
|
} else {
|
||||||
|
D_801617A4 = 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
func_8009BC2C(&D_801617A8, D_801617A4, 0.02f, 1000.0f, 0.001f);
|
||||||
|
|
||||||
|
var_fv0 = D_80178280->unk264;
|
||||||
|
if (var_fv0 > (256.0f * D_801617A8) - 1.0f) {
|
||||||
|
var_fv0 = (256.0f * D_801617A8) - 1.0f;
|
||||||
|
}
|
||||||
|
D_801617AC = var_fv0 / ((256.0f * D_801617A8) - 1.0f);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_8008B5B0(f32 arg0, f32 arg1) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0x4B);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, 255);
|
||||||
|
func_800856C0(arg0 + 8.0f, arg1 + 2.0f, D_801617A8, 1.0f, D_801617AC);
|
||||||
|
func_800B8DD0(&D_80137E64, 0x4C);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, D_800D1EB4, D_800D1EB8, D_800D1EBC, 0xFF);
|
||||||
|
func_80085618(arg0, arg1, 1.0f, 1.0f);
|
||||||
|
func_800855C4(arg0 + 7.0f + (D_801617A8 * 6.0f * 8.0f), arg1, 1.0f, 1.0f);
|
||||||
|
func_8008566C(arg0 + 7.0f, arg1, D_801617A8 * 6.0f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
void func_8008B734(void) {
|
void func_8008B734(void) {
|
||||||
func_8008B2F0();
|
func_8008B2F0();
|
||||||
@ -238,9 +656,64 @@ void func_8008B734(void) {
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008B774.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008B774.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008B9E8.s")
|
void func_8008B9E8(void) {
|
||||||
|
s32 temp;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008BAE4.s")
|
// clang-format off
|
||||||
|
if ((D_8016178C != 0) && (D_8016178C != 1)) { D_8016178C--; }
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
|
if (D_80161788 != 0) {
|
||||||
|
D_80161788--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((D_80161788 == 0) && (D_8016178C == 0)) {
|
||||||
|
if ((D_8017829C >= 4) && (D_801782A4 != 2) && (D_801782A4 != 3)) {
|
||||||
|
temp = func_8008B774();
|
||||||
|
if (temp == 1) {
|
||||||
|
D_80161788 = 20;
|
||||||
|
}
|
||||||
|
if (temp == 2) {
|
||||||
|
D_8016178C = 60;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
D_80161788 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((D_801782A4 == 2) || (D_801782A4 == 3)) {
|
||||||
|
D_80161788 = 0;
|
||||||
|
D_8016178C = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_8008BAE4(void) {
|
||||||
|
s32 r;
|
||||||
|
s32 g;
|
||||||
|
s32 b;
|
||||||
|
s32 alpha;
|
||||||
|
|
||||||
|
if (D_8016178C != 0) {
|
||||||
|
alpha = 192 / D_8016178C;
|
||||||
|
r = g = b = 255;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (D_80161788 != 0) {
|
||||||
|
r = alpha = D_80161788 * 12;
|
||||||
|
g = b = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((D_80161788 != 0) || (D_8016178C != 0)) {
|
||||||
|
func_800B8DD0(&D_80137E64, 0xC);
|
||||||
|
gDPSetPrimColor(D_80137E64++, 0, 0, r, g, b, alpha);
|
||||||
|
func_80005708(&D_8013B3C0);
|
||||||
|
func_80005B00(D_8013B3C0, -53.9f, -38.5f, -139.4f, 1);
|
||||||
|
func_80005C34(D_8013B3C0, 1.0f, 1.0f, 1.0f, 1);
|
||||||
|
func_80006EB8(&D_80137E64);
|
||||||
|
gSPDisplayList(D_80137E64++, D_800D1A40);
|
||||||
|
func_80005740(&D_8013B3C0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void func_8008BC80(void) {
|
void func_8008BC80(void) {
|
||||||
if (D_80177854 != 100) {
|
if (D_80177854 != 100) {
|
||||||
@ -271,7 +744,28 @@ s32 func_8008BCBC(s32 arg0) {
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008C104.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008C104.s")
|
||||||
|
|
||||||
|
#ifdef IMPORT_DATA_PENDING
|
||||||
|
void func_8008C390(f32 arg0, f32 arg1, f32 arg2, s32 arg3) {
|
||||||
|
u8* D_800D1EC0[] = {
|
||||||
|
D_5000000, D_5000080, D_5000100, D_5000180, D_5000200, D_5000280, D_5000300, D_5000380, D_5000400, D_5000480,
|
||||||
|
};
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
for (i = 10; i != 1; i /= 10) {
|
||||||
|
if ((arg0 > 0.0f) && (arg1 > 0.0f)) {
|
||||||
|
func_8009D994(&D_80137E64, D_800D1EC0[arg3 / i], 16, 8, arg0, arg1, arg2, arg2);
|
||||||
|
}
|
||||||
|
arg0 += 9.0f * arg2;
|
||||||
|
arg3 %= i;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((arg0 > 0.0f) && (arg1 > 0.0f)) {
|
||||||
|
func_8009D994(&D_80137E64, D_800D1EC0[arg3 / i], 16, 8, arg0, arg1, arg2, arg2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008C390.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008C390.s")
|
||||||
|
#endif
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008C5C8.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008C5C8.s")
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
void func_801924A8_DFF1E8(UnkStruct_func_801924A8_DFF1E8* arg0) {
|
void func_801924A8_DFF1E8(UnkStruct_func_801924A8_DFF1E8* arg0) {
|
||||||
switch (arg0->unk48) {
|
switch (arg0->unk48) {
|
||||||
case 0:
|
case 0:
|
||||||
if (D_80178280->unk7C < arg0->unkC) {
|
if (D_80178280->unk07C < arg0->unkC) {
|
||||||
D_80177AB0 = 0;
|
D_80177AB0 = 0;
|
||||||
D_80177A98 = 0;
|
D_80177A98 = 0;
|
||||||
arg0->unk48++;
|
arg0->unk48++;
|
||||||
|
@ -10,11 +10,6 @@ typedef struct {
|
|||||||
/* 0x48 */ s32 unk48;
|
/* 0x48 */ s32 unk48;
|
||||||
} UnkStruct_func_801924A8_DFF1E8;
|
} UnkStruct_func_801924A8_DFF1E8;
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/* 0x00 */ char pad_0[0x7C];
|
|
||||||
/* 0x7C */ f32 unk7C;
|
|
||||||
} UnkStruct_D_80178280;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ char pad_0[0x10];
|
/* 0x00 */ char pad_0[0x10];
|
||||||
/* 0x10 */ f32 unk10;
|
/* 0x10 */ f32 unk10;
|
||||||
@ -24,6 +19,5 @@ typedef struct {
|
|||||||
|
|
||||||
extern s8 D_80177A98;
|
extern s8 D_80177A98;
|
||||||
extern s8 D_80177AB0;
|
extern s8 D_80177AB0;
|
||||||
extern UnkStruct_D_80178280* D_80178280;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -1,102 +1,5 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void func_80005740(s32*);
|
|
||||||
void func_80084688(s32, s32);
|
|
||||||
void func_800A5D6C(void);
|
|
||||||
void func_800BB5D0(void);
|
|
||||||
void func_80006F20(void);
|
|
||||||
void func_800B6F50(f32, f32, f32, f32, f32, f32);
|
|
||||||
|
|
||||||
void func_800182F4(s32);
|
|
||||||
void func_8001DC6C(s32, s32);
|
|
||||||
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);
|
|
||||||
|
|
||||||
extern s32 D_800D2870;
|
|
||||||
extern u8 D_800DD8B0[];
|
|
||||||
extern s32 D_800DD8B4;
|
|
||||||
|
|
||||||
extern u8 D_80137E78;
|
|
||||||
extern s32 D_8013B3C0;
|
|
||||||
|
|
||||||
extern s16 D_80161A34;
|
|
||||||
extern s16 D_80161A36;
|
|
||||||
|
|
||||||
extern s32 D_8017783C;
|
|
||||||
extern s32 D_80177898;
|
|
||||||
extern s32 D_80177AE0;
|
|
||||||
extern s32 D_80177AF8;
|
|
||||||
extern s32 D_80177DB0;
|
|
||||||
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 f32 D_80178420;
|
|
||||||
extern f32 D_80178424;
|
|
||||||
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_8017829C;
|
|
||||||
extern s32 D_80178410;
|
|
||||||
extern f32 D_8017842C;
|
|
||||||
|
|
||||||
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_801B833C;
|
|
||||||
extern s32 D_801B8344;
|
|
||||||
extern s32 D_801B8348;
|
|
||||||
|
|
||||||
extern s32 D_801ADA44_EE6104[];
|
|
||||||
|
|
||||||
extern s32 D_5000200[];
|
|
||||||
extern s32 D_5000300[];
|
|
||||||
extern s32 D_50077B0;
|
|
||||||
|
|
||||||
void func_801875E0_EBFCA0(void) {
|
void func_801875E0_EBFCA0(void) {
|
||||||
D_80137E78 = 2;
|
D_80137E78 = 2;
|
||||||
|
|
||||||
@ -388,57 +291,7 @@ void func_80187E28_EC04E8(void) {
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/segment_EBFBE0/EBFCA0/func_801888E8_EC0FA8.s")
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/segment_EBFBE0/EBFCA0/func_801888E8_EC0FA8.s")
|
||||||
|
|
||||||
//! TODO: Clean up this mess!
|
|
||||||
|
|
||||||
f32 func_80005100(f32, f32);
|
|
||||||
void func_8009BC2C(f32*, f32, f32, f32, f32);
|
|
||||||
void func_8018D2B8_EC5978(s32);
|
|
||||||
void func_8018EA78_EC7138(s32);
|
|
||||||
void func_80191674_EC9D34(f32, f32, f32, f32*, f32*, f32*);
|
|
||||||
|
|
||||||
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 s32 D_801ADA84_EE6144[];
|
|
||||||
extern s32 D_801ADA94_EE6154;
|
|
||||||
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;
|
|
||||||
|
|
||||||
typedef struct UnkStruct_D_801B8350 {
|
|
||||||
/* 0x00 */ Vec3f unk0;
|
|
||||||
/* 0x0C */ char pad_0C[0x4C];
|
|
||||||
/* 0x54 */ s32 unk54;
|
|
||||||
/* 0x58 */ s32 unk58;
|
|
||||||
} UnkStruct_D_801B8350;
|
|
||||||
|
|
||||||
extern UnkStruct_D_801B8350 D_801B8350[];
|
extern UnkStruct_D_801B8350 D_801B8350[];
|
||||||
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;
|
|
||||||
|
|
||||||
#define M_PI 3.1415927f
|
#define M_PI 3.1415927f
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
compiler_type = "ido"
|
compiler_type = "ido"
|
||||||
|
|
||||||
|
[preserve_macros]
|
||||||
|
"g[DS]P.*" = "void"
|
||||||
|
"gs[DS]P.*" = "void"
|
||||||
|
|
||||||
[decompme.compilers]
|
[decompme.compilers]
|
||||||
"tools/ido_recomp/linux/5.3/cc" = "ido5.3"
|
"tools/ido_recomp/linux/5.3/cc" = "ido5.3"
|
Loading…
Reference in New Issue
Block a user