sf_hud functions (#13)

* decompile func_80091F00

* decompile func_80092244

* decompile func_800922F4

* decompile func_800857DC

* decompile func_80085890

* decompile func_80086110

* decompile func_800886B8

* decompile func_800953A0

* decompile func_8009546C

* decompile func_80095538

* decompile func_8009092C

* decompile func_8008D0DC

* fix warnings

* decompile func_8008E51C

* underscore in offsets

* spaces
This commit is contained in:
Alejandro Asenjo Nitti 2023-10-29 17:17:25 -03:00 committed by GitHub
parent 35ff3f1f39
commit 854cadfa16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 385 additions and 31 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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[];

View File

@ -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")

View File

@ -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

View File

@ -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;