mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-03 00:33:55 +03:00
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:
parent
35ff3f1f39
commit
854cadfa16
1
Makefile
1
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)
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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[];
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user