diff --git a/Makefile b/Makefile index b8c73629..10a1c32b 100644 --- a/Makefile +++ b/Makefile @@ -117,6 +117,7 @@ CHECK_WARNINGS := -Wall -Wextra -Wimplicit-fallthrough -Wno-unknown-pragmas -Wno MIPS_BUILTIN_DEFS := -DMIPSEB -D_MIPS_FPSET=16 -D_MIPS_ISA=2 -D_ABIO32=1 -D_MIPS_SIM=_ABIO32 -D_MIPS_SZINT=32 -D_MIPS_SZPTR=32 ifneq ($(RUN_CC_CHECK),0) # The -MMD flags additionaly creates a .d file with the same name as the .o file. + CHECK_WARNINGS := -Wno-unused-variable CC_CHECK := $(CC_CHECK_COMP) CC_CHECK_FLAGS := -MMD -MP -fno-builtin -fsyntax-only -funsigned-char -fdiagnostics-color -std=gnu89 -m32 -DNON_MATCHING -DAVOID_UB -DCC_CHECK=1 ifneq ($(WERROR), 0) diff --git a/include/functions.h b/include/functions.h index 54458929..1a23fbaa 100644 --- a/include/functions.h +++ b/include/functions.h @@ -12,12 +12,14 @@ f32 func_80005100(f32 arg0, f32 arg1); f32 func_80005320(f32 arg0, f32 arg1); f32 func_800055DC(f32 arg0, s32 arg1); void func_80005604(s32* arg0, s32* arg1, s32 arg2, s32 arg3, s32 arg4); +void func_80005E90(Matrix*, float, char); 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_80006A20(Matrix*, Vec3f*, Vec3f*); void func_80006EB8(Gfx**); void func_80006F20(void); @@ -57,6 +59,9 @@ s32 func_8002DE78(void*, s32, s32); // Not real signature void func_80060FBC(u8*, f32*); void func_8006EEFC(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32); +void func_8007C120(f32, f32, f32, f32, f32, f32, f32, s32); +void func_8007D10C(f32, f32, f32, f32); + void func_80084688(s32, s32); void func_800857DC(f32, f32, f32, f32); void func_80085890(f32, f32, f32, f32); diff --git a/include/hud.h b/include/hud.h index 00b749ad..4229c359 100644 --- a/include/hud.h +++ b/include/hud.h @@ -11,9 +11,9 @@ typedef struct UnkStruct_func_80095350 { /* 0xB6 */ s16 unkB6; } UnkStruct_func_80095350; -void func_800612B8(void*, u16, void*); -void func_800613C4(void*); -void func_80084E78(Gfx**, s32*, s32*, s32, s32, f32, f32, f32, f32, f32, f32); +void func_800612B8(void*, s32); +void func_800613C4(UnkStruct_func_80090A00*); +void func_80084E78(Gfx**, void*, void*, s32, s32, f32, f32, f32, f32, f32, f32); void func_80085944(void); void func_80086CC8(void); void func_80086DCC(void); diff --git a/include/structs.h b/include/structs.h index c17fb627..4c56209a 100644 --- a/include/structs.h +++ b/include/structs.h @@ -7,8 +7,8 @@ typedef struct UnkStruct_D_801B8350 { /* 0x00 */ Vec3f unk0; /* 0x0C */ char pad_0C[0x4C]; - /* 0x54 */ s32 unk54; - /* 0x58 */ s32 unk58; + /* 0x54 */ s32 unk_54; + /* 0x58 */ s32 unk_58; } UnkStruct_D_801B8350; typedef struct { @@ -19,6 +19,20 @@ typedef struct { /* 0x10 */ Vec3f unk_10; } ElementType1; // size = 0x1C +typedef struct { + /* 0x0 */ char pad_0[0x3]; + /* 0x3 */ s8 unk_3; +} UnkStruct_D_8017797C; + +typedef struct { + /* 0x00 */ u8 unk_00; + /* 0x01 */ char pad_01[0x1]; + /* 0x02 */ u16 unk_02; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 unk_10; + /* 0x14 */ char pad_14[0x14]; +} UnkStruct_D_80175A10; // size = 0x28 + typedef struct UnkStruct_D_80178280 { /* 0x000 */ char pad_0[0xC]; /* 0x00C */ f32 unk_00C; @@ -58,23 +72,37 @@ typedef struct { typedef struct { /* 0x000 */ ElementType1 unk_000; - /* 0x01C */ char pad_01C[0x34]; + /* 0x01C */ s32 unk_01C; + /* 0x020 */ char pad_020[0x20]; + /* 0x040 */ s32 unk_040; + /* 0x044 */ char pad_044[0xC]; /* 0x050 */ s32 unk_050[25]; - /* 0x0B4 */ char pad_0B4[0x4]; + /* 0x0B4 */ char pad_0B4[0x2]; + /* 0x0B6 */ s16 unk_0B6; /* 0x0B8 */ s16 unk_0B8; /* 0x0BA */ char pad_0BA[0x2]; /* 0x0BC */ u16 unk_0BC; /* 0x0BC */ u16 unk_0BE; - /* 0x0C0 */ char pad_0C0[0x24]; + /* 0x0C0 */ char pad_0C0[0x6]; + /* 0x0C6 */ u16 unk_0C6; + /* 0x0C8 */ char pad_0C8[0x6]; + /* 0x0CE */ s16 unk_0CE; + /* 0x0D0 */ s8 unk_0D0; + /* 0x0D1 */ char pad_0D1[0x3]; + /* 0x0D4 */ s16 unk_0D4; + /* 0x0D6 */ u16 unk_0D6; + /* 0x0D8 */ char pad_0D8[0xC]; /* 0x0E4 */ s16 unk_0E4; /* 0x0E6 */ s16 unk_0E6; /* 0x0E8 */ f32 unk_0E8; /* 0x0EC */ f32 unk_0EC; /* 0x0F0 */ f32 unk_0F0; /* 0x0F4 */ f32 unk_0F4; - /* 0x0F8 */ f32 unk_0F8; + /* 0x0F8 */ f32 unk_0F8; // angle /* 0x0FC */ char pad_0FC[0x4]; - /* 0x100 */ f32 unk_100[5]; + /* 0x100 */ f32 unk_100[3]; + /* 0x10C */ char pad_10C[0x4]; + /* 0x110 */ f32 unk_110; /* 0x114 */ f32 unk_114[30]; /* 0x18C */ Vec3f unk_18C[30]; } UnkStruct_func_80090A00; diff --git a/include/variables.h b/include/variables.h index 9e8fbd33..de671621 100644 --- a/include/variables.h +++ b/include/variables.h @@ -55,16 +55,21 @@ extern f32 D_801617AC; extern s32 D_801617B0; extern s32 D_801617B4; extern s32 D_801617B8; +extern s32 D_80161810[]; extern s16 D_80161A34; extern s16 D_80161A36; extern u8 D_80161A90[]; extern s16 D_80161AA0[]; extern UnkStruct_D_8016F110 D_8016F110[]; +extern UnkStruct_D_80175A10 D_80175A10[]; extern UnkStruct_D_80178280* D_80178280; +extern u8 D_80177830; extern s32 D_80177834; +extern s32 D_80177838; extern s32 D_8017783C; extern s32 D_80177848; +extern s32 D_80177854; extern s32 D_80177898; extern s32 D_801778A0; extern s32 D_801778A8; @@ -72,6 +77,7 @@ extern s32 D_801778B8; extern s32 D_801778E8; extern f32 D_80177940; extern f32 D_80177978; +extern UnkStruct_D_8017797C* D_8017797C; extern f32 D_80177980; extern f32 D_80177988; extern f32 D_801779A0; @@ -81,6 +87,7 @@ extern s32 D_80177AE0; extern s32 D_80177AF8; extern u8 D_80177C98; extern f32 D_80177D08; +extern f32 D_80177D20; extern f32 D_80177D68; extern s32 D_80177DA0[]; extern s32 D_80177DB0; @@ -104,6 +111,15 @@ extern s32 D_80178554; extern s32 D_80178558; extern s32 D_8017855C; +extern u16 D_80183630[]; +extern u16 D_8018366C[]; +extern u16 D_80183690[]; +extern u16 D_801836B0[]; +extern u16 D_801836F8[]; +extern u16 D_80183724[]; +extern u16 D_80183900[]; +extern u16 D_80183950[]; +extern u16 D_8018398C[]; extern u16 D_801839B8[]; extern u16 D_80183A08[]; extern u16 D_80183A64[]; @@ -152,7 +168,7 @@ extern f32 D_801B9060; extern f32 D_801B9064; extern Matrix* D_8013B3C0; -extern s32 D_8013BBC8; +extern Matrix* D_8013BBC8; extern f32 D_800C5D28[]; extern s32 D_801ADA44_EE6104[]; @@ -171,6 +187,10 @@ extern u8 D_1011E80[]; extern u16 D_1011EC0[]; extern s32 D_1011ED0[]; extern s32 D_1011F08[]; +extern u8 D_10127D0[]; +extern u16 D_1012898[]; +extern u8 D_10128C0[]; +extern u16 D_1012988[]; extern u8 D_10129C0[]; extern u16 D_1013090[]; extern Gfx D_1015510[]; @@ -211,6 +231,12 @@ extern Gfx D_200F910[]; extern Gfx D_20101A0[]; extern u16 D_3000BC0[]; +extern u8 D_300D350[]; +extern u16 D_300D398[]; +extern u8 D_300D3C0[]; +extern u16 D_300D408[]; +extern u8 D_300D440[]; +extern u16 D_300D500[]; extern u8 D_5000000[]; extern u8 D_5000080[]; diff --git a/src/main/sf_hud.c b/src/main/sf_hud.c index 730fec1b..799e976d 100644 --- a/src/main/sf_hud.c +++ b/src/main/sf_hud.c @@ -48,19 +48,57 @@ void func_800856C0(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { void func_80085740(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { if (D_801778E8 != 0) { - func_8009D994(&D_80137E64, &D_3000B20, 0x20, 5, arg0, arg1, arg2, arg3); + func_8009D994(&D_80137E64, &D_3000B20, 32, 5, arg0, arg1, arg2, arg3); } else { - func_8009D994(&D_80137E64, &D_1000E80, 0x30, 9, arg0, arg1, arg2, arg3); + func_8009D994(&D_80137E64, &D_1000E80, 48, 9, arg0, arg1, arg2, arg3); } } -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800857DC.s") +void func_800857DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { + if (D_801778E8 != 0) { + func_8009D0BC(&D_80137E64, D_300D3C0, D_300D408, 24, 3, arg0, arg1, arg2, arg3); + } else { + func_8009D0BC(&D_80137E64, D_10128C0, D_1012988, 40, 5, arg0, arg1, arg2, arg3); + } +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80085890.s") +void func_80085890(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { + if (D_801778E8 != 0) { + func_8009D0BC(&D_80137E64, &D_300D350, &D_300D398, 24, 3, arg0, arg1, arg2, arg3); + } else { + func_8009D0BC(&D_80137E64, &D_10127D0, &D_1012898, 40, 5, arg0, arg1, arg2, arg3); + } +} #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80085944.s") -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80086110.s") +void func_80086110(f32 arg0, f32 arg1, s32 arg2) { + f32 temp = 0.82f; + s32 pad; + + func_800B8DD0(&D_80137E64, 0x4B); + gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, 255); + + if (arg2 != 0) { + func_800856C0((8.0f * temp) + arg0, arg1 + 2.0f, temp, 1.0f, arg2 / 255.0f); + } + + if ((arg2 <= 0) && (arg2 != -2) && ((D_80177854 == 100) || (D_80177830 == 1) || (D_80177838 != 0))) { + func_800B8DD0(&D_80137E64, 0x4C); + gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 0, 255); + if ((arg2 == 0) && (D_80178280->unk_1C8 == 7)) { + func_800A1200(arg0 + (8.0f * temp) + 4.0f, arg1 + 2.0f, 1.0f, 1.0f, " OK "); + } else { + func_800A1200(arg0 + (8.0f * temp) + 4.0f, arg1 + 2.0f, 1.0f, 1.0f, "DOWN"); + } + } + + func_800B8DD0(&D_80137E64, 0x4C); + gDPSetPrimColor(D_80137E64++, 0, 0, 255, 255, 255, 255); + func_80085618(arg0, arg1, temp, 1.0f); + func_800855C4(arg0 + (7.0f * temp) + (temp * 6.0f) * 8.0f, arg1, 1.0f, 1.0f); + func_8008566C(arg0 + (7.0f * temp), arg1, temp * 6.0f, 1.0f); +} s32 func_800863C8(void) { s32 var_v1 = 0; @@ -203,7 +241,34 @@ void func_8008865C(void) { func_80087B5C(); } -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800886B8.s") +s32 func_800886B8(void) { + s32 var_v1 = 0; + f32 var_fv1 = D_8017797C->unk_3; // related to the vertical height of the arwing + + if ((var_fv1 != 0.0f) && (D_80161810[4] != 0)) { + return 0; + } + + D_80161810[4] = 0; + + if (fabsf(var_fv1) < 30.0f) { + var_fv1 = 0.0f; + } + + if (var_fv1 != 0.0f) { + if (D_80161810[2] == 0) { + if (var_fv1 > 0) { + var_v1 = 1; + } else { + var_v1 = -1; + } + D_80161810[2] = 1; + } + } else { + D_80161810[2] = 0; + } + return var_v1; +} #ifdef IMPORT_DATA_PENDING void func_80088784(s32 arg0) { @@ -839,7 +904,11 @@ void func_8008CFB8(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { func_8009D994(&D_80137E64, D_3000BC0 + ((640 * i) / 2), 80, 2, arg0, (8 * i * arg3) + arg1, arg2, arg3); } -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008D0DC.s") +void func_8008D0DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { + u32 var_t8 = 48.0f * arg4; + + func_80084E78(&D_80137E64, D_300D440, D_300D500, 48, 4, arg0, arg1, arg2, arg3, var_t8, 4); +} void func_8008D1F0(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { func_8009C320(&D_80137E64, &D_10116B0, &D_1011730, 16, 16, arg0, arg1, arg2, arg3); @@ -1131,7 +1200,34 @@ void func_8008E2C8(f32 arg0, f32 arg1, s32* arg2, f32 arg3) { } } -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008E51C.s") +void func_8008E51C(s32* arg0, f32 arg1) { + //! FAKE: + if (1) {} + + if (D_80177854 != 100) { + arg0[2] -= 3; + if (arg0[2] >= 3) { + } else { + arg0[2] = 99; + arg0[1]--; + if (arg0[1] >= 0) { + } else { + arg0[1] = 59; + arg0[0]--; + if (arg0[0] >= 0) { + } else { + arg0[0] = 0; + arg0[1] = 0; + arg0[2] = 0; + } + } + } + } + + if (D_80177854 != 100) { + func_8008E2C8(176.0f, 22.0f, arg0, arg1); + } +} void func_8008E5E8(void) { if (D_801778E8 != 0) { @@ -1311,7 +1407,31 @@ void func_800907C4(UnkStruct_D_8016F110* arg0) { func_8008FFF0(arg0, D_8015F928); } -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8009092C.s") +s32 func_8009092C(UnkStruct_func_80090A00* arg0) { + s32 var_s5 = 0; + UnkStruct_D_8016F110* var_s1; + s32 i; + + if (arg0->unk_0E6 != 0) { + return 1; + } + + var_s1 = &D_8016F110[1]; + + for (i = 1; i < 4; i++, var_s1++) { + if (var_s1->unk_000.unk_00 == 2) { + var_s5 = 1; + if (arg0->unk_0E6 == 0) { + arg0->unk_0E6 = i; + } else if (Rand_ZeroOne() > 0.4f) { + arg0->unk_0E6 = i; + } + arg0->unk_0B8 = 0; + } + } + + return var_s5; +} s32 func_80090A00(UnkStruct_func_80090A00* arg0) { switch (arg0->unk_050[5]) { @@ -1733,11 +1853,134 @@ s32 func_80091DF4(UnkStruct_func_80090A00* arg0) { return false; } -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80091F00.s") +s32 func_80091F00(UnkStruct_func_80090A00* arg0) { + u8 temp_v0 = arg0->unk_0D0; + Vec3f sp40; + Vec3f sp34; -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80092244.s") + arg0->unk_0D0 = 0; -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800922F4.s") + if ((arg0->unk_0B8 == 3) || (temp_v0 == 2)) { + return false; + } + + arg0->unk_0CE -= arg0->unk_0D6; + if (arg0->unk_0CE <= 0) { + arg0->unk_0CE = -1; + } + arg0->unk_0C6 = 20; + + func_80019218(0x2903300E, arg0->unk_100, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + func_8007D10C(arg0->unk_000.pos.x, arg0->unk_000.pos.y, arg0->unk_000.pos.z, 1.5f); + func_80005E90(D_8013BBC8, arg0->unk_0F8 * (M_PI / 180), 0); + + if (Rand_ZeroOne() < 0.5f) { + sp40.x = -20.0f; + } else { + sp40.x = 20.0f; + } + + sp40.y = (Rand_ZeroOne() - 0.5f) * 20.0f; + sp40.z = 0.0f; + + func_80006A20(D_8013BBC8, &sp40, &sp34); + + arg0->unk_114[13] = sp34.x; + arg0->unk_114[14] = sp34.y; + arg0->unk_114[12] = sp34.z; + + D_801778B0[arg0->unk_0E4] = arg0->unk_0CE; + + if (D_8017829C != 0) { + return false; + } + + if ((arg0->unk_0D0 == 3) && (arg0->unk_0D4 == 1)) { + switch (arg0->unk_0E4) { + case 1: + func_800BA808(D_8018398C, 10); + break; + case 3: + func_800BA808(D_80183950, 30); + break; + case 2: + func_800BA808(D_80183900, 20); + break; + } + } + + if ((arg0->unk_0D0 != 3) && (arg0->unk_0D4 == 1)) { + switch (arg0->unk_0E4) { + case 1: + func_800BA808(D_801836B0, 10); + break; + case 3: + func_800BA808(D_801836F8, 30); + break; + case 2: + func_800BA808(D_80183724, 20); + break; + } + } + + if ((arg0->unk_0D4 == 2) || (arg0->unk_0D4 == 100)) { + switch (arg0->unk_0E4) { + case 1: + func_800BA808(D_80183630, 10); + break; + case 3: + func_800BA808(D_8018366C, 30); + break; + case 2: + func_800BA808(D_80183690, 20); + break; + } + } + arg0->unk_050[8] = 20; + + return false; +} + +void func_80092244(UnkStruct_func_80090A00* arg0) { + D_80175A10[arg0->unk_040].unk_00 = 1; + D_80175A10[arg0->unk_040].unk_02 = arg0->unk_0E4; + D_80175A10[arg0->unk_040].pos.x = arg0->unk_000.pos.x; + D_80175A10[arg0->unk_040].pos.y = arg0->unk_000.pos.y; + D_80175A10[arg0->unk_040].pos.z = arg0->unk_000.pos.z; + D_80175A10[arg0->unk_040].unk_10 = arg0->unk_0F8 + 180.0f; +} + +void func_800922F4(UnkStruct_func_80090A00* arg0) { + s32 temp; + + if ((D_801778B0[arg0->unk_0E4] < 64) && (D_80178280->unk_1C8 != 7)) { + temp = 7; + if (D_801778B0[arg0->unk_0E4] > 16) { + temp = 15; + } + if (D_801778B0[arg0->unk_0E4] > 32) { + temp = 31; + } + if (D_801778B0[arg0->unk_0E4] > 48) { + temp = 63; + } + + if (!(D_80177DB0 & temp)) { + func_8007D10C(arg0->unk_000.pos.x + ((Rand_ZeroOne() - 0.5f) * 10.0f), + arg0->unk_000.pos.y + (Rand_ZeroOne() * 10.0f), + arg0->unk_000.pos.z + ((Rand_ZeroOne() - 0.5f) * 10.0f), 2.2f); + } + + if (!((temp >> 2) & D_80177DB0)) { + if (Rand_ZeroOne() < 0.5f) { + func_8007C120(arg0->unk_000.pos.x + ((Rand_ZeroOne() - 0.5f) * 30.0f), + arg0->unk_000.pos.y + (Rand_ZeroOne() * 10.0f), + arg0->unk_000.pos.z + ((Rand_ZeroOne() - 0.5f) * 30.0f), arg0->unk_0E8, arg0->unk_0EC, + arg0->unk_0F0, arg0->unk_110 * 0.07f, 3); + } + } + } +} #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800924E0.s") @@ -1761,19 +2004,72 @@ s32 func_80091DF4(UnkStruct_func_80090A00* arg0) { #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80094D20.s") -void func_80095350(UnkStruct_func_80095350* arg0) { +void func_80095350(UnkStruct_func_80090A00* arg0) { func_800613C4(arg0); - arg0->unk0 = 2; - arg0->unk2 = 0xC3; - arg0->unkB6 = 0x270F; - func_800612B8((s32*) arg0 + 7, arg0->unk2, arg0); + arg0->unk_000.unk_00 = 2; + arg0->unk_000.unk_02 = 195; + arg0->unk_0B6 = 9999; + func_800612B8(&arg0->unk_01C, arg0->unk_000.unk_02); } +#ifdef DATA_IMPORT_PENDING +void func_800953A0(UnkStruct_func_80090A00* arg0, s32 arg1) { + Vec3f D_800D2510[] = { + { 1800.0f, 0.0f, -4000.0f }, + { -1000.0f, 0.0f, -4800.0f }, + { 800.0f, 0.0f, -5600.0f }, + { -200.0f, 0.0f, -7000.0f }, + }; + + func_800613C4(arg0); + arg0->unk_000.unk_00 = 2; + arg0->unk_000.unk_02 = 195; + arg0->unk_000.pos = D_800D2510[arg1]; + arg0->unk_000.pos.z -= D_80177D20; + arg0->unk_0B6 = 45; + func_800612B8(&arg0->unk_01C, arg0->unk_000.unk_02); +} +#else #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800953A0.s") +#endif +#ifdef DATA_IMPORT_PENDING +void func_8009546C(UnkStruct_func_80090A00* arg0, s32 arg1) { + Vec3f D_800D2540[] = { + { 1300.0f, 0.0f, -2000.0f }, { -1000.0f, 0.0f, -3000.0f }, { 800.0f, 0.0f, 0.0f }, + { -1200.0f, 0.0f, -1000.0f }, { -1400.0f, 0.0f, 700.0f }, + }; + + func_800613C4(arg0); + arg0->unk_000.unk_00 = 2; + arg0->unk_000.unk_02 = 195; + arg0->unk_000.pos = D_800D2540[arg1]; + arg0->unk_000.pos.z -= D_80177D20; + arg0->unk_0B6 = 46; + func_800612B8(&arg0->unk_01C, arg0->unk_000.unk_02); +} +#else #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8009546C.s") +#endif +#ifdef DATA_IMPORT_PENDING +void func_80095538(UnkStruct_func_80090A00* arg0, s32 arg1) { + Vec3f D_800D257C[] = { + { 0.0f, 0.0f, -200.0f }, { -300.0f, 0.0f, -700.0f }, { 400.0f, 0.0f, -900.0f }, + { 300.0f, 0.0f, -1700.0f }, { -260.0f, 0.0f, -2000.0f }, { -200.0f, 0.0f, -2600.0f }, + }; + + func_800613C4(arg0); + arg0->unk_000.unk_00 = 2; + arg0->unk_000.unk_02 = 195; + arg0->unk_000.pos = D_800D257C[arg1]; + arg0->unk_000.pos.z -= D_80177D20; + arg0->unk_0B6 = 47; + func_800612B8(&arg0->unk_01C, arg0->unk_000.unk_02); +} +#else #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80095538.s") +#endif #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80095604.s") diff --git a/src/overlays/segment_DF4260/DF4260.h b/src/overlays/segment_DF4260/DF4260.h index 428087be..dfcdb4da 100644 --- a/src/overlays/segment_DF4260/DF4260.h +++ b/src/overlays/segment_DF4260/DF4260.h @@ -15,6 +15,4 @@ typedef struct { /* 0x74 */ f32 unk74; } UnkStruct_func_80187A38_DF4778; -void func_8007C120(s32, s32, s32, f32, f32, f32, f32, s32); - #endif diff --git a/src/overlays/segment_EBFBE0/EBFCA0.c b/src/overlays/segment_EBFBE0/EBFCA0.c index c5c1cfa7..a84984ac 100644 --- a/src/overlays/segment_EBFBE0/EBFCA0.c +++ b/src/overlays/segment_EBFBE0/EBFCA0.c @@ -316,7 +316,7 @@ void func_80189208_EC18C8(void) { for (i = 0; i < 4; i++) { func_8018EA78_EC7138(D_801ADA84_EE6144[i]); - D_801B8350[D_801ADA84_EE6144[i]].unk54 += D_801B8350[D_801ADA84_EE6144[i]].unk58; + D_801B8350[D_801ADA84_EE6144[i]].unk_54 += D_801B8350[D_801ADA84_EE6144[i]].unk_58; } D_80178548 = D_801B8310;