From 34e6391eac8cf81be065e69d2c142097046de2c8 Mon Sep 17 00:00:00 2001 From: Kelebek1 Date: Thu, 22 May 2025 19:55:22 +0100 Subject: [PATCH] 2F3CB0 --- include/global.h | 10 +- src/fragments/62/fragment62.h | 170 ++- src/fragments/62/fragment62_2EC3C0.c | 490 -------- src/fragments/62/fragment62_2F3CB0.c | 1707 +++++++++++++++++++++++--- yamls/us/rom.yaml | 4 +- 5 files changed, 1702 insertions(+), 679 deletions(-) diff --git a/include/global.h b/include/global.h index f1f9638..de600cb 100644 --- a/include/global.h +++ b/include/global.h @@ -147,17 +147,17 @@ typedef struct unk_D_86002F58_004_000 { /* 0x054 */ unk_D_86002F58_004_000_054 unk_054; /* 0x060 */ MtxF unk_060; /* 0x0A0 */ Color_RGBA8_u32 unk_0A0; - /* 0x0A4 */ char pad0A4[2]; + /* 0x0A4 */ char unk0A4[2]; /* 0x0A6 */ u8 unk_0A6; /* 0x0A7 */ u8 unk_0A7; /* 0x0A8 */ unk_D_86002F58_004_000_0A8 unk_0A8[1]; - /* 0x0B8 */ char pad0B8[0x24]; + /* 0x0B8 */ char unk0B8[0x24]; /* 0x0DC */ Vec3f unk_0DC; - /* 0x0E0 */ char pad0E0[0x4]; + /* 0x0E0 */ char unk0E0[0x4]; /* 0x0EC */ Vec3f unk_0EC; - /* 0x0F8 */ char pad0F8[0x4]; + /* 0x0F8 */ char unk0F8[0x4]; /* 0x0FC */ Vec3f unk_0FC; - /* 0x108 */ char pad108[0x60]; + /* 0x108 */ char unk108[0x60]; } unk_D_86002F58_004_000; // size = 0x168 typedef struct unk_D_86002F34_000_014_004 { diff --git a/src/fragments/62/fragment62.h b/src/fragments/62/fragment62.h index a112bca..85d709d 100644 --- a/src/fragments/62/fragment62.h +++ b/src/fragments/62/fragment62.h @@ -24,7 +24,9 @@ typedef struct unk_D_84390010_654_038 { /* 0x44 */ unk_D_84390010_654_038_044 unk_44; /* 0x4A */ char unk4A[0x2]; /* 0x4C */ u8 unk_4C; - /* 0x4D */ char unk4D[0xD]; + /* 0x4D */ char unk4D[0x9]; + /* 0x56 */ u8 unk_56; + /* 0x57 */ char unk57[0x3]; /* 0x5A */ u8 unk_5A; /* 0x5B */ char unk5B[0x9]; } unk_D_84390010_654_038; // size = 0x64 @@ -39,7 +41,11 @@ typedef struct unk_D_84390010_654_0AC { typedef struct unk_D_84390010_168 { /* 0x000 */ unk_D_86002F58_004_000 unk_000; - /* 0x168 */ char unk168[0x8]; + /* 0x168 */ char unk168[0x1]; + /* 0x169 */ u8 unk_169; + /* 0x16A */ s16 unk_16A; + /* 0x16C */ s16 unk_16C; + /* 0x16E */ char unk16E[0x2]; } unk_D_84390010_168; // size = 0x170 typedef struct unk_D_84390010_654 { @@ -109,9 +115,9 @@ typedef struct unk_D_84390048 { /* 0x00 */ Vec3f unk_00; /* 0x0C */ Vec3f unk_0C; /* 0x18 */ u8 unk_18; - /* 0x18 */ u8 unk_19; - /* 0x18 */ u8 unk_1A; - /* 0x18 */ u8 unk_1B; + /* 0x19 */ u8 unk_19; + /* 0x1A */ u8 unk_1A; + /* 0x1B */ u8 unk_1B; /* 0x1C */ char unk1C[4]; } unk_D_84390048; // size = 0x20 @@ -122,7 +128,14 @@ typedef struct unk_D_84390010 { /* 0x454 */ Vec3f unk_454; /* 0x460 */ char unk460[0xC]; /* 0x46C */ unk_D_84390048 unk_46C; - /* 0x48C */ char unk48C[0x24]; + /* 0x48C */ char unk48C[0xC]; + /* 0x498 */ f32 unk_498; + /* 0x49C */ f32 unk_49C; + /* 0x4A0 */ f32 unk_4A0; + /* 0x4A4 */ s16 unk_4A4; + /* 0x4A6 */ s16 unk_4A6; + /* 0x4A8 */ s16 unk_4A8; + /* 0x4AC */ s32 unk_4AC; /* 0x4B0 */ s32 unk_4B0; /* 0x4B4 */ s32 unk_4B4; /* 0x4B8 */ s32 unk_4B8; @@ -130,7 +143,11 @@ typedef struct unk_D_84390010 { /* 0x4C0 */ s32 unk_4C0; /* 0x4C4 */ s32 unk_4C4; /* 0x4C8 */ s32 unk_4C8; - /* 0x4CC */ char unk4CC[0x20]; + /* 0x4CC */ Vec3f unk_4CC; + /* 0x4D8 */ Vec3f unk_4D8; + /* 0x4E4 */ f32 unk_4E4; + /* 0x4E8 */ u8 unk_4E8; + /* 0x4E9 */ u8 unk_4E9; /* 0x4EC */ unk_D_86002F58_004_000 unk_4EC; /* 0x654 */ unk_D_84390010_654 unk_654; /* 0x720 */ unk_D_800AE540_1194* unk_720; @@ -176,6 +193,13 @@ typedef struct unk_D_8438E7B0 { /* 0xB30 */ char unkB30[0xB0]; } unk_D_8438E7B0; // size = 0xBE0 +typedef struct unk_D_84390240_000_0DC { + /* 0x00 */ char unk00[0xA8]; + /* 0xA8 */ Vec3f unk_A8; + /* 0xB4 */ Vec3f unk_B4; + /* 0xC0 */ Vec3f unk_C0; +} unk_D_84390240_000_0DC; // size >= 0xCC + typedef struct unk_D_84390240_000 { /* 0x00 */ char unk00[0x14]; /* 0x14 */ s32 unk_14; @@ -183,7 +207,9 @@ typedef struct unk_D_84390240_000 { /* 0x1C */ s32 unk_1C; /* 0x20 */ char unk20[0x28]; /* 0x48 */ s32 unk_48; -} unk_D_84390240_000; // size >= 0x4C + /* 0x4C */ char unk4C[0x90]; + /* 0xDC */ unk_D_84390240_000_0DC* unk_DC; +} unk_D_84390240_000; // size >= 0xE0 typedef struct unk_D_84390240 { /* 0x00 */ unk_D_84390240_000* unk_00; @@ -262,6 +288,22 @@ typedef struct unk_D_843901B0 { /* 0x00 */char unk00[0x40]; } unk_D_843901B0; // size >= 0x40 + +extern unk_D_8438E7B0* D_84384570[]; +extern unk_D_8438FF70* D_84384578[]; +extern unk_D_8438FF70* D_84384580[]; +extern unk_D_84384588* D_84384588[]; +extern u8 D_84384590[]; +extern u8 D_843845F0; +extern u8 D_843845F4; +extern u8 D_843845F8; +extern u8 D_843845FC[]; + +extern s16 D_84384670[]; +extern unk_D_843847BC D_843847BC[2]; +extern unk_D_84385384_func D_84385380; +extern unk_D_84385384 D_84385384[]; + extern u8* D_8438E778; extern u8* D_8438E77C; extern u8 D_843C4DA4; @@ -271,17 +313,9 @@ extern u8 D_843C4E44; extern u8 D_843C4E45; extern unk_D_84390010* D_84390010[2]; -extern unk_D_84390028 D_84390028[2]; - -extern unk_D_8438E7B0* D_84384570[]; -extern unk_D_8438FF70* D_84384578[]; -extern unk_D_8438FF70* D_84384580[]; -extern unk_D_84384588* D_84384588[]; -extern u8 D_84384590[]; - -extern unk_D_843847BC D_843847BC[2]; extern unk_D_84390010* D_84390018; extern unk_D_84390010* D_8439001C; +extern unk_D_84390028 D_84390028[2]; extern char** D_843900B0; extern char** D_843900B4; extern char** D_843900B8; @@ -294,20 +328,9 @@ extern s32 D_84390230; extern s32 D_84390234; extern unk_D_84390240 D_84390240; -extern u8 D_843845F0; -extern u8 D_843845F4; -extern u8 D_843845F8; -extern u8 D_843845FC[]; -extern f32 D_84384600[]; -extern unk_D_84384608 D_84384608; -extern Vec3f D_84384610; -extern f32 D_8438461C[]; -extern Vec3f D_8438462C; -extern Vec3f D_84384638; -extern Vec3f D_84384644; -extern u16 D_84384650; -extern Vec3f D_84384654; -extern Vec3f D_84384660; + + + s32 func_84300020(s32 arg0, GraphNode* arg1); s32 func_84300058(s32 arg0, unk_D_86002F34_alt18* arg1); @@ -538,14 +561,91 @@ void func_84309328(unk_D_84390010* arg0); void func_84309368(unk_D_84390010* arg0); -void func_843096EC(unk_D_84390010*); -void func_8430BC44(s32); +void func_843093F0(unk_D_84390010* arg0, f32 arg1, s16 arg2); +void func_84309448(unk_D_84390010* arg0, unk_D_84390010* arg1, f32 arg2, f32 arg3, s32 arg4); +void func_843095A4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5); +void func_843096EC(unk_D_84390010* arg0); +void func_84309780(unk_D_84390010* arg0); +void func_84309874(unk_D_84390010* arg0); +void func_84309A24(unk_D_84390010* arg0); +s32 func_84309B0C(unk_D_84390010* arg0); +void func_84309C50(unk_D_84390010* arg0); +void func_84309D78(unk_D_84390010* arg0, s16 arg1); +void func_84309F0C(unk_D_84390010* arg0); +void func_84309F30(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_84309FD4(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A090(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A0E4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A17C(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A22C(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A280(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A308(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A390(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A3E4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A464(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A4E0(UNUSED unk_D_84390010* arg0, UNUSED unk_D_84390010* arg1); +void func_8430A4EC(unk_D_84390010* arg0, unk_D_84390010* arg1); +s32 func_8430A558(unk_D_84390010* arg0, s16 arg1, s16 arg2); +void func_8430A5D4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A618(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A6AC(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A7BC(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A828(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A848(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430A8DC(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AA18(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AA84(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AB00(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430ABF0(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AD10(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AD7C(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430ADE8(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AE3C(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AE90(unk_D_84390010* arg0); +void func_8430AF08(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430AF80(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B104(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B158(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B1B8(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B244(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B298(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B2AC(unk_D_84390010* arg0, UNUSED unk_D_84390010* arg1); +void func_8430B374(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B3C8(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B40C(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B550(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B68C(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B6F8(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B734(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B8FC(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B950(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430B968(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430BAB8(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430BB0C(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430BB24(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430BBE4(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430BC38(UNUSED unk_D_84390010* arg0, UNUSED unk_D_84390010* arg1); +void func_8430BC44(s32 arg0); +void func_8430BD9C(unk_D_84390010* arg0, u8 arg1, u8 arg2); +void func_8430BDB0(unk_D_84390010* arg0); +void func_8430BDBC(unk_D_84390010* arg0, f32 arg1, s16 arg2); +void func_8430BE08(unk_D_84390010* arg0, unk_D_84390010* arg1, f32 arg2, f32 arg3, s32 arg4); +void func_8430BEC0(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430BF3C(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430BFB0(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430C004(unk_D_84390010* arg0, unk_D_84390010* arg1); +void func_8430C010(s32 arg0); + + +void func_8430C19C(Vec3f*, f32, s16); s32 func_8430C1E4(Vec3f*, Vec3f*); +void func_8430C204(Vec3s*, Vec3s*); u16 func_8430C414(s32); +void func_8430C4F8(s16*, s16, s16); +void func_8430C718(f32*, f32, f32); void func_8430D814(void); void func_843184FC(void); - void func_843193F4(unk_D_84390010*); void func_8431962C(void); void func_84319668(void); @@ -578,6 +678,8 @@ void func_8432CAA8(unk_D_800AE540_1194*); void func_8432D0D8(s32, unk_D_86002F34_00C*); void func_8432E9D8(s32); +f32 func_8435E158(f32, f32, f32*); +f32 func_8435FCD0(void); void func_843831A0(unk_D_800AE540_0004*, unk_D_800AE540_0004*, unk_D_800AE540_0004*, s32, u8*, s32, s32); diff --git a/src/fragments/62/fragment62_2EC3C0.c b/src/fragments/62/fragment62_2EC3C0.c index 6423a8c..fcccd27 100644 --- a/src/fragments/62/fragment62_2EC3C0.c +++ b/src/fragments/62/fragment62_2EC3C0.c @@ -91,496 +91,6 @@ u8 D_843845F0 = 0x8E; u8 D_843845F4 = 0x16; u8 D_843845F8 = 0x53; u8 D_843845FC[] = { 0x55, 0x54 }; -f32 D_84384600[] = { 1.0f, 2.0f }; -unk_D_84384608 D_84384608 = { 0xE38, 0xF1C8 }; -Vec3f D_84384610 = { 0.0f, 0.0f, 0.0f }; -f32 D_8438461C[] = { 0.3f, -0.4f, -0.2f, 0.4f }; -Vec3f D_8438462C = { 0.007f, 0.005f, 0.039f }; -Vec3f D_84384638 = { 0.2f, 0.25f, 0.3f }; -Vec3f D_84384644 = { 0.98f, 0.96f, 0.95f }; -u16 D_84384650 = 0x5F92; -Vec3f D_84384654 = { 0.0f, 0.0f, 0.0f }; -Vec3f D_84384660 = { 0.0f, 0.0f, 0.0f }; -s32 pad_D_8438466C = 0; -s16 D_84384670[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA9, 0, 0, 0, 0, 0, 0xAA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAC, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAD, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -}; - -unk_D_843847BC D_843847BC[2] = { - { - 0xFFB8, - 0x0048, - 0x0020, - 10.0f, - 10.0f, - 1280.0f, - 0x0001, - }, - { - 0x015F, - 0x0080, - 0x0020, - 10.0f, - 10.0f, - 1280.0f, - 0xFFFF, - }, -}; - -u32 D_843847EC[] = { - 0x00000000, 0x00000000, 0x38E30000, 0x00000000, 0x40900000, 0x00000000, 0x0000238E, 0x00000000, - 0x00000000, 0x41080000, 0x3DCCCCCD, 0x3CA3D70A, 0x41F00000, 0x00000000, 0x00000000, 0x31C70000, - 0x00000000, 0x41000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40800000, 0x3E19999A, - 0x3C23D70A, 0x41F00000, 0x00004000, 0x00000000, 0x1C710000, 0x40600000, 0x40400000, 0x0000C000, - 0x00000000, 0x00000000, 0x00000000, 0x40400000, 0x3E19999A, 0x3CA3D70A, 0x42480000, -}; - -u32 D_84384888[] = { - 0x00000000, 0x0000016C, 0x1C710000, 0x00000000, 0x41000000, 0x00000000, 0x0000016C, 0x00000000, 0x3F800000, - 0x40000000, 0x3E99999A, 0x3C23D70A, 0x428C0000, 0x00000000, 0x00000000, 0x754E0000, 0x00000000, 0x40600000, - 0x00000000, 0x0000071C, 0x0E380000, 0x00000000, 0x41A00000, 0x3E19999A, 0x3C23D70A, 0x42480000, -}; - -u32 D_843848F0[] = { - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x15550000, 0x00000000, 0x40600000, 0x3E4CCCCD, 0x3D75C28F, 0x43480000, -}; - -u32 D_84384924[] = { - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000011C6, - 0x7C6A0000, 0x00000000, 0x40C00000, 0x3E4CCCCD, 0x3D23D70A, 0x43480000, -}; - -u32 D_84384958[] = { - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000E38, - 0x80000000, 0x00000000, 0x40C00000, 0x3E4CCCCD, 0x3DA3D70A, 0x43480000, -}; - -u32 D_8438498C[] = { - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x40600000, 0x3E4CCCCD, 0x3D75C28F, 0x43480000, -}; - -u32 D_843849C0[] = { - 0x00000000, 0x00000000, 0x38E30000, 0x3F800000, 0x40900000, 0x00000000, 0x0000238E, 0x00000000, 0x00000000, - 0x41080000, 0x3DCCCCCD, 0x3CA3D70A, 0x43480000, 0x00000000, 0x00002AAA, 0x00000000, 0x00000000, 0x41080000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40800000, 0x3E800000, 0x3CA3D70A, 0x43480000, 0x00000000, - 0x00000000, 0x38E30000, 0x00000000, 0x40600000, 0x00000000, 0x0000238E, 0x1C710000, 0x00000000, 0x41080000, - 0x3E19999A, 0x3CA3D70A, 0x43480000, 0x00000000, 0x00000000, 0x38E30000, 0x00000000, 0x40D00000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x40800000, 0x3E4CCCCD, 0x3CA3D70A, 0x43480000, 0x00000000, 0x00001C71, - 0x40000000, 0x00000000, 0x40F00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40600000, 0x3E4CCCCD, - 0x3CA3D70A, 0x43480000, 0x00000000, 0x0000F8E4, 0x40000000, 0x00000000, 0x40900000, 0x00000000, 0x0000071C, - 0x00000000, 0x00000000, 0x40600000, 0x3E4CCCCD, 0x3CA3D70A, 0x43480000, -}; - -u32 D_84384AF8[] = { - 0x00000000, 0x00000888, 0x00000000, 0x00000000, 0x41280000, 0x00000000, 0x000000B6, - 0x00000000, 0x00000000, 0x40000000, 0x3E4CCCCD, 0x3C75C28F, 0x42480000, -}; - -u32 D_84384B2C[] = { - 0x00000000, 0x00002AAA, 0x00000000, 0x00000000, 0x44160000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x44098000, 0x3E4CCCCD, 0x3D23D70A, 0x42200000, 0x00000000, 0x00002AAA, 0x31C70000, 0x00000000, 0x441C4000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43E10000, 0x3E4CCCCD, 0x3CF5C28F, 0x42200000, 0x00000000, - 0x0000FDDE, 0x00000000, 0x00000000, 0x43E10000, 0x00000000, 0x00002AAA, 0x00000000, 0x00000000, 0x43FA0000, - 0x3E4CCCCD, 0x3CCCCCCD, 0x42200000, 0x00000000, 0x00000000, 0xCE390000, 0x00000000, 0x443B8000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x43E10000, 0x3E4CCCCD, 0x3D23D70A, 0x42200000, 0x00000000, 0x0000FDDE, - 0x00000000, 0x00000000, 0x42480000, 0x00000000, 0x0000FDDE, 0x00000000, 0x00000000, 0x43C80000, 0x3E4CCCCD, - 0x3CF5C28F, 0x42A00000, -}; - -u32 D_84384C30[] = { - 0x3E2E147B, 0x41380000, 0xBFC00000, 0x3DE147AE, 0x41D80000, 0xC0200000, 0x3E051EB8, 0x425C0000, 0x41700000, - 0x3E6147AE, 0x00000000, 0xBF000000, 0x3E23D70A, 0x41680000, 0x40200000, 0x3EA3D70A, 0x00000000, 0x00000000, - 0x3E4CCCCD, 0x40E00000, 0x3F000000, 0x3E570A3D, 0x41400000, 0xC0600000, 0x3E6B851F, 0xC1940000, 0x41180000, - 0x3ED1EB85, 0xC0200000, 0xBFC00000, 0x3E428F5C, 0x40E00000, 0x3F800000, 0x3E8F5C29, 0x00000000, 0x40800000, - 0x3E8F5C29, 0x40200000, 0x3F000000, 0x3E75C28F, 0xBFC00000, 0xC0400000, 0x3E6147AE, 0x40C00000, 0x40D00000, - 0x3F2E147B, 0xBFC00000, 0xBFC00000, 0x3F4CCCCD, 0x00000000, 0xC0600000, 0x3EFAE148, 0xBF000000, 0xC25C0000, - 0x3E8A3D71, 0x40200000, 0x40200000, 0x3E8F5C29, 0x00000000, 0x00000000, 0x3E947AE1, 0x40800000, 0xC0200000, - 0x3E75C28F, 0x00000000, 0x40200000, 0x3E8A3D71, 0x00000000, 0xC0C00000, 0x3E8F5C29, 0x40F00000, 0x418C0000, - 0x3EA8F5C3, 0x00000000, 0xC0400000, 0x3ECCCCCD, 0x00000000, 0xC0C00000, 0x3ECCCCCD, 0x00000000, 0xC0E00000, - 0x3E947AE1, 0x00000000, 0xC0B00000, 0x3E570A3D, 0x40B00000, 0x40A00000, 0x3E570A3D, 0x40D00000, 0x00000000, - 0x3E6147AE, 0x41300000, 0xC0F00000, 0x3E75C28F, 0x41080000, 0x40400000, 0x3E23D70A, 0x418C0000, 0x00000000, - 0x3E570A3D, 0x41600000, 0xC0D00000, 0x3E3851EC, 0x00000000, 0x40400000, 0x3E19999A, 0x41100000, 0x41100000, - 0x3E9EB852, 0x00000000, 0xC0200000, 0x3E3851EC, 0x00000000, 0x40900000, 0x3E6B851F, 0x00000000, 0x00000000, - 0x3E428F5C, 0x00000000, 0x41700000, 0x3ED1EB85, 0xC0000000, 0x00000000, 0x3F0A3D71, 0xC20A0000, 0xC22E0000, - 0x3E570A3D, 0x00000000, 0xC0000000, 0x3E570A3D, 0x00000000, 0x00000000, 0x3E75C28F, 0x00000000, 0x41600000, - 0x3E8A3D71, 0x00000000, 0xC0200000, 0x3E051EB8, 0x41080000, 0x40200000, 0x3E051EB8, 0x41600000, 0x41380000, - 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E6147AE, 0x00000000, 0x00000000, 0x3E4CCCCD, 0x00000000, 0x00000000, - 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E19999A, 0x419C0000, 0xC0200000, 0x3E23D70A, 0x40600000, 0x40600000, - 0x3E428F5C, 0x41280000, 0xC1000000, 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E570A3D, 0x00000000, 0xC0B00000, - 0x3E75C28F, 0x40600000, 0x3FC00000, 0x3E428F5C, 0x41AC0000, 0x40C00000, 0x3E947AE1, 0x00000000, 0x00000000, - 0x3E6B851F, 0x00000000, 0x00000000, 0x3E6147AE, 0xC0900000, 0xBF000000, 0x3E6B851F, 0x40800000, 0x00000000, - 0x3E428F5C, 0x41800000, 0xC0200000, 0x3E3851EC, 0x41600000, 0xC0800000, 0x3E19999A, 0x41300000, 0x00000000, - 0x3E800000, 0x41080000, 0xC0C00000, 0x3E800000, 0x41200000, 0xC0800000, 0x3EBD70A4, 0x00000000, 0xC0A00000, - 0x3E4CCCCD, 0x00000000, 0x00000000, 0x3E0F5C29, 0x418C0000, 0x41840000, 0x3E75C28F, 0x00000000, 0x00000000, - 0x3E75C28F, 0x00000000, 0x00000000, 0x3E947AE1, 0x00000000, 0x00000000, 0x3E428F5C, 0x00000000, 0x00000000, - 0x3E428F5C, 0x41300000, 0x00000000, 0x3E23D70A, 0x41000000, 0x00000000, 0x3E2E147B, 0xC0F00000, 0xC0E00000, - 0x3E851EB8, 0x41480000, 0x40A00000, 0x3E428F5C, 0x00000000, 0x40200000, 0x3E8F5C29, 0x00000000, 0x00000000, - 0x3E6B851F, 0x00000000, 0x00000000, 0x3E947AE1, 0x00000000, 0xC0400000, 0x3E800000, 0x00000000, 0x00000000, - 0x3E6B851F, 0x00000000, 0x00000000, 0x3E851EB8, 0x41080000, 0x40200000, 0x3E6B851F, 0x41B40000, 0x40F00000, - 0x3E800000, 0x00000000, 0xC0200000, 0x3E3851EC, 0x00000000, 0x40A00000, 0x3E4CCCCD, 0x00000000, 0x40000000, - 0x3E947AE1, 0x00000000, 0x00000000, 0x3E23D70A, 0x00000000, 0x00000000, 0x3E2E147B, 0x40A00000, 0x00000000, - 0x3E851EB8, 0x00000000, 0xC1280000, 0x3D23D70A, 0x42940000, 0xC0F00000, 0x3E570A3D, 0x40F00000, 0xBF800000, - 0x3E4CCCCD, 0x00000000, 0xBF000000, 0x3E6147AE, 0x00000000, 0x00000000, 0x3E4CCCCD, 0x00000000, 0x41180000, - 0x3E2E147B, 0x00000000, 0x00000000, 0x3E428F5C, 0x00000000, 0x00000000, 0x3E428F5C, 0x00000000, 0xC0600000, - 0x3E800000, 0x00000000, 0x41100000, 0x3E6147AE, 0x3FC00000, 0xBF800000, 0x3E75C28F, 0xC0200000, 0xC0900000, - 0x3E6B851F, 0xC0800000, 0x00000000, 0x3E6B851F, 0x00000000, 0x00000000, 0x3E8A3D71, 0x00000000, 0x00000000, - 0x3E2E147B, 0x00000000, 0x40800000, 0x3E570A3D, 0xC1300000, 0x40B00000, 0x3E2E147B, 0x41000000, 0x00000000, - 0x3E6147AE, 0x00000000, 0x40900000, 0x3E23D70A, 0x00000000, 0x41480000, 0x3E19999A, 0x40900000, 0x41000000, - 0x3E947AE1, 0x00000000, 0x00000000, 0x3E800000, 0x00000000, 0x40A00000, 0x3E800000, 0x40D00000, 0x40400000, - 0x3E9EB852, 0x00000000, 0x3F000000, 0x3E75C28F, 0x41900000, 0x00000000, 0x3E428F5C, 0x00000000, 0x00000000, - 0x3E0F5C29, 0x00000000, 0x00000000, 0x3E75C28F, 0x00000000, 0x00000000, 0x3E75C28F, 0x41480000, 0x00000000, - 0x3E3851EC, 0x00000000, 0x00000000, 0x3E3851EC, 0x41100000, 0x00000000, 0x3E570A3D, 0x41200000, 0xC0200000, - 0x3E570A3D, 0x00000000, 0x00000000, 0x3E23D70A, 0x41400000, 0x40A00000, 0x3ECCCCCD, 0xBFC00000, 0x41B80000, - 0x3E0F5C29, 0x42440000, 0x41E00000, 0x3E4CCCCD, 0x41B40000, 0x41080000, 0x3E851EB8, 0x00000000, 0x00000000, - 0x3E8F5C29, 0x00000000, 0x00000000, 0x3E851EB8, 0x00000000, 0x40800000, 0x3E800000, 0x41300000, 0x00000000, - 0x3E6B851F, 0x41000000, 0x00000000, 0x3E3851EC, 0x40B00000, 0x40900000, 0x3E6147AE, 0xBF000000, 0x40200000, - 0x3E800000, 0x00000000, 0x00000000, 0x3E851EB8, 0x00000000, 0xBFC00000, 0x3E570A3D, 0x00000000, 0x40600000, - 0x3E23D70A, 0x42020000, 0x41D40000, 0x3D4CCCCD, 0xC1780000, 0xC3058000, 0x3E8A3D71, 0x40B00000, 0xC1200000, - 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E6147AE, 0x40F00000, 0xC0200000, 0x3EB33333, 0x00000000, 0x00000000, - 0x3E75C28F, 0xC1180000, 0x00000000, 0x3E428F5C, 0x00000000, 0x40200000, 0x3E851EB8, 0x00000000, 0xC0D00000, - 0x3E99999A, 0x00000000, 0x40400000, 0x3EB33333, 0xC2340000, 0xC0A00000, 0x3ECCCCCD, 0x00000000, 0x00000000, - 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3ECCCCCD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -}; - -static unk_D_84385384_func D_84385380 = func_843056DC; -static unk_D_84385384 D_84385384[] = { - { - 0, - { - func_843020B0, - func_843056DC, - func_843056DC, - func_84301D08, - func_84301DDC, - func_84304C8C, - func_84304D84, - }, - 167, - 5, - 255, - }, - { - 1, - { - func_84303ECC, - func_84305728, - func_84301EEC, - func_84304114, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 166, - 255, - 255, - }, - { - 2, - { - func_843056DC, - func_843020B0, - func_843056DC, - func_843045DC, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 2, - 255, - }, - { - 3, - { - func_84302A78, - func_843056DC, - func_843056DC, - func_84302C34, - func_84302EF0, - func_8430305C, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 4, - { - func_843037CC, - func_843056DC, - func_843056DC, - func_84303A48, - func_84303BB8, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 5, - { - func_8430741C, - func_8430203C, - func_843056DC, - func_84307424, - func_8430742C, - func_84307434, - func_8430743C, - }, - 255, - 255, - 255, - }, - { - 6, - { - func_8430741C, - func_8430203C, - func_843056DC, - func_84307464, - func_8430745C, - func_84307454, - func_8430744C, - }, - 255, - 255, - 255, - }, - { - 7, - { - func_843020B0, - func_843056DC, - func_843056DC, - func_84301D08, - func_8430748C, - func_84307444, - func_84304D84, - }, - 167, - 5, - 255, - }, - { - 8, - { - func_84304834, - func_843056DC, - func_843056DC, - func_843048C8, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 9, - { - func_843049FC, - func_84304ACC, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 10, - { - func_843056DC, - func_843020B0, - func_843056DC, - func_843045DC, - func_843029D0, - func_843056DC, - func_843056DC, - }, - 255, - 3, - 255, - }, - { - 11, - { - func_8430506C, - func_843056DC, - func_843056DC, - func_84303A48, - func_843055E0, - func_843054F0, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 12, - { - func_84301EEC, - func_84304B50, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 13, - { - func_84304C20, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 14, - { - func_8430506C, - func_843056DC, - func_843056DC, - func_843052C0, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 15, - { - func_84303CB4, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 16, - { - func_84303ECC, - func_84305728, - func_84301EEC, - func_84304210, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 166, - 255, - 255, - }, - { - 17, - { - func_843056DC, - func_843056DC, - func_843056DC, - func_84301D08, - func_84304F54, - func_843056DC, - func_843056DC, - }, - 177, - 255, - 255, - }, - { - 18, - { - func_84303ECC, - func_84305728, - func_84301EEC, - func_843043FC, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 166, - 255, - 255, - }, - { - 19, - { - func_843033E0, - func_843056DC, - func_843056DC, - func_843034D8, - func_84303674, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, - { - 20, - { - func_843056DC, - func_843020B0, - func_843056DC, - func_843045DC, - func_84304758, - func_843056DC, - func_843056DC, - }, - 255, - 1, - 255, - }, - { - 21, - { - func_84303208, - func_843056DC, - func_843056DC, - func_8430334C, - func_843056DC, - func_843056DC, - func_843056DC, - }, - 255, - 255, - 255, - }, -}; void func_84301B00(void) { s32 i; diff --git a/src/fragments/62/fragment62_2F3CB0.c b/src/fragments/62/fragment62_2F3CB0.c index f60d688..bb9e8fe 100644 --- a/src/fragments/62/fragment62_2F3CB0.c +++ b/src/fragments/62/fragment62_2F3CB0.c @@ -1,149 +1,1558 @@ -#include "global.h" - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_843093F0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309448.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_843095A4.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_843096EC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309780.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309874.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309A24.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309B0C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309C50.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309D78.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309F0C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309F30.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_84309FD4.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A090.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A0E4.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A17C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A22C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A280.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A308.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A390.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A3E4.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A464.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A4E0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A4EC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A558.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A5D4.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A618.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A6AC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A7BC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A828.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A848.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430A8DC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AA18.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AA84.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AB00.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430ABF0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AD10.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AD7C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430ADE8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AE3C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AE90.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AF08.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430AF80.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B104.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B158.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B1B8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B244.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B298.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B2AC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B374.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B3C8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B40C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B550.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B68C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B6F8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B734.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B8FC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B950.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430B968.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BAB8.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BB0C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BB24.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BBE4.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BC38.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BC44.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BD9C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BDB0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BDBC.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BE08.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BEC0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BF3C.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430BFB0.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430C004.s") - -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/62/fragment62_2F3CB0/func_8430C010.s") +#include "fragment62.h" +#include "src/17300.h" +#include "src/1C720.h" +#include "src/F420.h" + +static f32 D_84384600[] = { 1.0f, 2.0f }; + +void func_843093F0(unk_D_84390010* arg0, f32 arg1, s16 arg2) { + arg0->unk_498 = arg1; + arg0->unk_454.z = COSS(arg2) * arg1; + arg0->unk_454.y = SINS(arg2) * arg1; + arg0->unk_49C = 0.01f; +} + +void func_84309448(unk_D_84390010* arg0, unk_D_84390010* arg1, f32 arg2, f32 arg3, s32 arg4) { + f32 sp54; + f32 sp50; + f32 sp4C; + UNUSED s32 pad; + Vec3f sp3C; + UNUSED s32 pad2; + f32 temp_fa1; + f32 temp_fa2; + f32 var_fa0; + + sp54 = arg1->unk_49C; + sp50 = arg1->unk_498; + sp4C = 18.0f; + arg1->unk_498 = func_800104AC(sp50, arg2, arg3, arg3); + + var_fa0 = arg1->unk_498; + if (arg2 <= var_fa0) { + if (&arg1->unk_454) {} + var_fa0 = 0.0f; + } + + sp3C.z = COSS(arg4) * var_fa0; + sp3C.y = SINS(arg4) * var_fa0; + + temp_fa1 = -sp54 * ((sp50 * arg1->unk_454.z) + sp3C.z); + temp_fa2 = -sp4C - (sp54 * ((sp50 * arg1->unk_454.y) + sp3C.y)); + + arg1->unk_454.z = (arg1->unk_454.z + sp3C.z + (temp_fa1 * 0.05f)); + arg1->unk_454.y = (arg1->unk_454.y + sp3C.y + (temp_fa2 * 0.05f)); + + sp3C.y = arg1->unk_454.y; + arg1->unk_454.x = 0.0f; + + func_8430C19C(&sp3C, arg1->unk_454.z, arg0->unk_000.unk_01E.y + 0x4000); + func_8000E8B0(&arg0->unk_000.unk_024, &sp3C); +} + +void func_843095A4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5) { + f32 sp54; + f32 sp50; + f32 sp4C; + UNUSED s32 pad; + Vec3f sp3C; + UNUSED s32 pad2; + f32 temp_fa1; + f32 temp_fa2; + f32 var_fa0; + + sp54 = arg1->unk_49C; + sp50 = arg1->unk_498; + sp4C = 20.0f; + arg1->unk_498 = func_800104AC(sp50, arg2, arg3, arg3); + + var_fa0 = arg1->unk_498; + if (arg2 <= var_fa0) { + if (&arg1->unk_454) {} + var_fa0 = 0.0f; + } + + sp3C.z = COSS(arg4) * var_fa0; + sp3C.y = SINS(arg4) * var_fa0; + + temp_fa1 = -sp54 * ((sp50 * arg1->unk_454.z) + sp3C.z); + temp_fa2 = -sp4C - (sp54 * ((sp50 * arg1->unk_454.y) + sp3C.y)); + + arg1->unk_454.z = (arg1->unk_454.z + sp3C.z + (temp_fa1 * 0.05f)); + arg1->unk_454.y = (arg1->unk_454.y + sp3C.y + (temp_fa2 * 0.05f)); + sp3C.y = arg1->unk_454.y; + arg1->unk_454.x = 0.0f; + + func_8430C19C(&sp3C, arg1->unk_454.z, arg5); + func_8000E8B0(&arg1->unk_4EC.unk_024, &sp3C); +} + +void func_843096EC(unk_D_84390010* arg0) { + s32 i; + + for (i = 0; i < 2; i++) { + func_8000E88C(&arg0->unk_168[i].unk_000.unk_030, 1.0f, 1.0f, 1.0f); + arg0->unk_168[i].unk_000.unk_000.unk_01 &= ~1; + arg0->unk_168[i].unk_169 = 0; + } +} + +void func_84309780(unk_D_84390010* arg0) { + s32 i; + s16 sp64[] = { 0x0, 0xE38, 0xF1C8 }; // D_84384608 + + for (i = 0; i < 2; i++) { + arg0->unk_168[i].unk_16C = 0; + arg0->unk_168[i].unk_16A = sp64[i]; + arg0->unk_168[i].unk_000.unk_01D = 0; + arg0->unk_168[i].unk_000.unk_000.unk_01 |= 1; + func_8430C1E4(&arg0->unk_168[i].unk_000.unk_024, &arg0->unk_000.unk_024); + func_8430C204(&arg0->unk_168[i].unk_000.unk_01E, &arg0->unk_000.unk_01E); + func_8430C1E4(&arg0->unk_168[i].unk_000.unk_030, &arg0->unk_000.unk_030); + } +} + +void func_84309874(unk_D_84390010* arg0) { + s32 i; + f32 tmp; + Vec3f sp5C = { 0.0f, 0.0f, 0.0f }; // D_84384610 + f32 sp4C[] = { 0.3f, -0.4f, -0.2f, 0.4f }; // D_8438461C + + for (i = 0; i < 2; i++) { + arg0->unk_168[i].unk_000.unk_01D = func_8001046C(arg0->unk_168[i].unk_000.unk_01D, 0x3C, 5, 5); + arg0->unk_168[i].unk_16C = func_8001046C(arg0->unk_168[i].unk_16C, 0x38E, 0x64, 0x64); + arg0->unk_168[i].unk_16C = func_8001046C(arg0->unk_168[i].unk_16C, 0x38E, 0x64, 0x64); + arg0->unk_168[i].unk_16A += arg0->unk_168[i].unk_16C; + + tmp = SINS(arg0->unk_168[i].unk_16A) * (func_84308598(arg0) * sp4C[i]); + func_8430C19C(&sp5C, tmp, arg0->unk_000.unk_01E.y); + + arg0->unk_168[i].unk_000.unk_024.x = arg0->unk_000.unk_024.x + sp5C.x; + arg0->unk_168[i].unk_000.unk_024.y = arg0->unk_000.unk_024.y + sp5C.y; + arg0->unk_168[i].unk_000.unk_024.z = arg0->unk_000.unk_024.z + sp5C.z; + + func_80017464(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_08 >> 0x10); + func_8001BD04(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_00); + } +} + +void func_84309A24(unk_D_84390010* arg0) { + s32 i; + + for (i = 0; i < 2; i++) { + arg0->unk_168[i].unk_169 = 0; + arg0->unk_168[i].unk_000.unk_01D = 0x3C; + arg0->unk_168[i].unk_000.unk_000.unk_01 |= 1; + func_8000E88C(&arg0->unk_168[i].unk_000.unk_030, 1.0f, 1.0f, 1.0f); + func_8430C1E4(&arg0->unk_168[i].unk_000.unk_024, &arg0->unk_000.unk_024); + func_8430C204(&arg0->unk_168[i].unk_000.unk_01E, &arg0->unk_000.unk_01E); + } +} + +s32 func_84309B0C(unk_D_84390010* arg0) { + s32 i; + f32 temp_fv0_2; + f32 sp5C[] = { 0.007f, 0.005f, 0.039f }; // D_8438462C + + for (i = 0; i < 2; i++) { + func_8430C1E4(&arg0->unk_168[i].unk_000.unk_024, &arg0->unk_000.unk_024); + + temp_fv0_2 = func_800104AC(arg0->unk_168[i].unk_000.unk_030.x, 0.8f, sp5C[i], sp5C[i]); + arg0->unk_168[i].unk_000.unk_030.x = temp_fv0_2; + arg0->unk_168[i].unk_000.unk_030.y = temp_fv0_2; + arg0->unk_168[i].unk_000.unk_030.z = temp_fv0_2; + + func_80017464(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_08 >> 0x10); + func_8001BD04(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_00); + + if (arg0->unk_168[i].unk_000.unk_030.y < 0.8) { + arg0->unk_168[i].unk_169 = 1; + } + } + + return 0; +} + +void func_84309C50(unk_D_84390010* arg0) { + s32 i; + + for (i = 0; i < 2; i++) { + arg0->unk_168[i].unk_169 = 0; + arg0->unk_168[i].unk_000.unk_01D = 0x41 - i * 4; + arg0->unk_168[i].unk_000.unk_000.unk_01 |= 1; + + func_80017464(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_08 >> 0x10); + func_8001BD04(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_00); + func_8000E88C(&arg0->unk_168[i].unk_000.unk_030, 1.0f, 1.0f, 1.0f); + func_8430C1E4(&arg0->unk_168[i].unk_000.unk_024, &arg0->unk_000.unk_024); + func_8430C204(&arg0->unk_168[i].unk_000.unk_01E, &arg0->unk_000.unk_01E); + func_8430C1E4(&arg0->unk_168[i].unk_000.unk_030, &arg0->unk_000.unk_030); + } +} + +void func_84309D78(unk_D_84390010* arg0, s16 arg1) { + s32 i; + f32 sp90; + s16 sp8E; + s16 sp8C; + UNUSED s32 pad; + f32 sp7C[3] = { 0.2f, 0.25f, 0.3f }; // D_84384638 + f32 sp70[3] = { 0.98f, 0.96f, 0.95f }; // D_84384644 + + for (i = 0; i < 2; i++) { + func_80017464(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_08 >> 0x10); + func_8001BD04(&arg0->unk_168[i].unk_000, arg0->unk_000.unk_040.unk_00); + func_800102A4(&arg0->unk_000.unk_024, &arg0->unk_168[i].unk_000.unk_024, &sp90, &sp8E, &sp8C); + func_80010354(&arg0->unk_000.unk_024, &arg0->unk_168[i].unk_000.unk_024, sp7C[i] * sp90, sp8E, sp8C); + func_8430C4F8(&arg0->unk_168[i].unk_000.unk_01E.y, arg0->unk_000.unk_01E.y, sp70[i] * arg1); + } +} + +void func_84309F0C(unk_D_84390010* arg0) { + func_84308654(arg0, 0, 0); +} + +void func_84309F30(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4EC.unk_000.unk_01 |= 1; + if (arg1 == D_84390010[0]) { + func_8000E88C(&arg1->unk_4EC.unk_024, 35.0f, 50.0f, -250.0f); + } else { + func_8000E88C(&arg1->unk_4EC.unk_024, -35.0f, 50.0f, -250.0f); + } + func_843093F0(arg1, 20.0f, 0x1FFE); + arg1->unk_4B8++; + arg1->unk_4EC.unk_000.unk_02 &= ~0x20; + func_80017464(&arg1->unk_4EC, 0); +} + +void func_84309FD4(unk_D_84390010* arg0, unk_D_84390010* arg1) { + if (arg1 == D_84390018) { + func_843095A4(arg0, arg1, 0, 0, 0x1FFE, 0x4440); + } else { + func_843095A4(arg0, arg1, 0, 0, 0x1FFE, 0x3BB8); + } + + arg1->unk_4EC.unk_01E.x += 0x1555; + arg1->unk_4EC.unk_01E.z += 0xE38; + + if (arg1->unk_4EC.unk_024.y < 0) { + arg1->unk_4EC.unk_000.unk_01 &= ~1; + arg1->unk_4EC.unk_024.y = 0.0f; + arg1->unk_454.y = 0.0f; + func_84309F0C(arg1); + } +} + +void func_8430A090(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_84309F30(arg0, arg1); + + case 1: + func_84309FD4(arg0, arg1); + break; + } +} + +void func_8430A0E4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_8000E88C(&arg1->unk_4EC.unk_024, arg1->unk_4B0 * -150.0f, 100.0f, 0.0f); + arg1->unk_4B8++; + func_843093F0(arg1, 0.0f, 0x3FFC); + arg1->unk_4EC.unk_000.unk_01 |= 1; + arg1->unk_4EC.unk_000.unk_02 &= ~0x20; + func_80017464(&arg1->unk_4EC, 0); +} + +void func_8430A17C(unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4EC.unk_01E.x += 0x1555; + arg1->unk_4EC.unk_01E.z += 0xE38; + + func_843095A4(arg0, arg1, 0.0f, 0.0f, 0x4000, 0); + + if (arg1->unk_4EC.unk_024.y < 0) { + arg1->unk_4EC.unk_01E.x = 0; + arg1->unk_4EC.unk_01E.z = 0; + if (arg1 == D_84390018) { + arg1->unk_4EC.unk_01E.y = 0x4000; + } else { + arg1->unk_4EC.unk_01E.y = -0x4000; + } + arg1->unk_454.y = 0.0f; + arg1->unk_4EC.unk_024.y = 2.5f; + func_84309F0C(arg1); + } +} + +void func_8430A22C(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430A0E4(arg0, arg1); + + case 1: + func_8430A17C(arg0, arg1); + break; + } +} + +void func_8430A280(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_8000E88C(&arg1->unk_448, 0.0f, 0.0f, 0.0f); + func_8000E88C(&arg1->unk_454, 0.0f, 0.0f, 0.0f); + func_843093F0(arg1, D_84384600[0], 0x4000); + func_84309C50(arg1); + arg1->unk_4B8++; +} + +void func_8430A308(unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_84309448(arg0, arg1, 1.45f, 0.015f, 0x4000); + func_84309D78(arg1, 0); + if (arg0->unk_000.unk_024.y >= 200.0f) { + arg1->unk_454.y = 0.0f; + func_84309F0C(arg1); + func_843096EC(arg1); + } +} + +void func_8430A390(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430A280(arg0, arg1); + + case 1: + func_8430A308(arg0, arg1); + break; + } +} + +void func_8430A3E4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_8000E88C(&arg1->unk_448, 0.0f, 0.0f, 0.0f); + func_8000E88C(&arg1->unk_454, 0.0f, 0.0f, 0.0f); + func_843093F0(arg1, D_84384600[0], 0x4000); + arg1->unk_4B8++; +} + +void func_8430A464(unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_84309448(arg0, arg1, 2.0f, 0.002f, 0x4000); + if ((arg0->unk_000.unk_024.y - func_84307BAC(arg1)) >= 90.0f) { + arg1->unk_4B8++; + arg1->unk_454.y = 0.0f; + } +} + +void func_8430A4E0(UNUSED unk_D_84390010* arg0, UNUSED unk_D_84390010* arg1) { +} + +void func_8430A4EC(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430A3E4(arg0, arg1); + + case 1: + func_8430A464(arg0, arg1); + break; + + case 2: + func_8430A4E0(arg0, arg1); + break; + } +} + +s32 func_8430A558(unk_D_84390010* arg0, s16 arg1, s16 arg2) { + arg0->unk_000.unk_01E.y -= arg1; + + if (arg1 > 0) { + if ((arg2 >= arg0->unk_000.unk_01E.y) && ((arg2 - arg1) < arg0->unk_000.unk_01E.y)) { + return 1; + } + } else if ((arg0->unk_000.unk_01E.y >= arg2) && (arg0->unk_000.unk_01E.y < (arg2 - arg1))) { + return 1; + } + + return 0; +} + +void func_8430A5D4(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_84309C50(arg1); + arg1->unk_4A6 = 0; + arg1->unk_4A4 = 0; + arg1->unk_4C0 = 0; + arg1->unk_4B8++; +} + +void func_8430A618(unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4A6 = func_8001046C(arg1->unk_4A6, 0x3330, 0x16C, 0x16C); + + if (func_8430A558(arg0, arg1->unk_4A6, arg1->unk_4B0 << 0xE) != 0) { + arg1->unk_4C0 += 1; + } + + func_84309D78(arg1, arg1->unk_4A6); + + if (arg1->unk_4C0 == 3) { + arg1->unk_4B8 += 1; + } +} + +void func_8430A6AC(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 tmp = 0x4000 - arg0->unk_000.unk_01E.y; + f32 var_fa1; + s16 sp26; + s32 sp20; + + var_fa1 = (131072.0 - tmp) / 131072.0; + if (var_fa1 >= 1.0f) { + var_fa1 -= 1.0f; + } + + sp26 = (arg1->unk_4A6 * var_fa1) * 0.8; + if (sp26 < 0xE38) { + sp26 = 0xE38; + } + sp20 = func_8430A558(arg0, sp26, arg1->unk_4B0 << 0xE); + func_84309D78(arg1, sp26); + + if (sp20 != 0) { + arg0->unk_000.unk_01E.y = arg1->unk_4B0 << 0xE; + func_84309F0C(arg1); + func_843096EC(arg1); + } +} + +void func_8430A7BC(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430A5D4(arg0, arg1); + + case 1: + func_8430A618(arg0, arg1); + break; + + case 2: + func_8430A6AC(arg0, arg1); + break; + } +} + +void func_8430A828(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4A6 = 0; + arg1->unk_4A4 = 0; + arg1->unk_4C0 = 0; + arg1->unk_4B8++; +} + +void func_8430A848(unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4A6 = func_8001046C(arg1->unk_4A6, 0x3FFC, 0x16C, 0x16C); + + if (func_8430A558(arg0, arg1->unk_4A6, arg1->unk_4B0 << 0xE) != 0) { + arg1->unk_4C0 += 1; + } + + if (arg1->unk_4C0 >= 3) { + func_84309C50(arg1); + arg1->unk_4B8 += 1; + } +} + +void func_8430A8DC(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 sp34; + f32 sp30; + f32 sp2C; + UNUSED s16 pad; + u8 sp28[] = { 0x5F, 0x92 }; // D_84384650 + + func_8430A558(arg0, arg1->unk_4A6, arg1->unk_4B0 << 0xE); + + if (func_84307AE0(arg1->unk_000.unk_01A, sp28, sizeof(sp28)) != 0) { + sp30 = 10.3f; + sp34 = 10.0f; + sp2C = 0.035f; + } else { + sp30 = 3.8f; + sp34 = 3.5f; + sp2C = 0.045f; + } + + func_84309D78(arg1, arg1->unk_4A6); + func_8430C718(&arg0->unk_000.unk_024.y, -(func_84308548(arg1) * sp30), sp2C); + + if (arg0->unk_000.unk_024.y <= -(func_84308548(arg1) * sp34)) { + func_8000EB70(&arg0->unk_000.unk_01E, 0, arg1->unk_4B0 << 0xE, 0); + func_84309F0C(arg1); + func_843096EC(arg1); + } +} + +void func_8430AA18(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430A828(arg0, arg1); + + case 1: + func_8430A848(arg0, arg1); + break; + + case 2: + func_8430A8DC(arg0, arg1); + break; + } +} + +void func_8430AA84(unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4A6 = 0; + arg1->unk_4A4 = 0; + arg1->unk_4C0 = 0; + arg1->unk_4A0 = 0.0f; + func_84307C5C(arg1); + func_8000EB70(&arg0->unk_000.unk_01E, 0, arg1->unk_4B0 << 0xE, 0); + func_84309C50(arg1); + arg1->unk_4B8++; +} + +void func_8430AB00(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 tmp; + Vec3f sp20 = { 0.0f, 0.0f, 0.0f }; // D_84384654 + + func_8430C718(&arg1->unk_4A0, 50.0f, 0.1f); + arg1->unk_4A6 += 0xE38; + tmp = SINS(arg1->unk_4A6) * arg1->unk_4A0; + func_8430C19C(&sp20, tmp, arg0->unk_000.unk_01E.y); + func_84307C5C(arg1); + func_8000E8B0(&arg0->unk_000.unk_024, &sp20); + func_84309D78(arg1, 0); + + if (arg1->unk_4A0 > 49.0f) { + arg1->unk_4B8++; + } +} + +void func_8430ABF0(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 tmp; + Vec3f sp20 = { 0.0f, 0.0f, 0.0f }; + + func_8430C718(&arg1->unk_4A0, 0.0f, 0.1f); + arg1->unk_4A6 += 0xE38; + + tmp = SINS(arg1->unk_4A6) * arg1->unk_4A0; + func_8430C19C(&sp20, tmp, arg0->unk_000.unk_01E.y); + + func_84307C5C(arg1); + func_8000E8B0(&arg0->unk_000.unk_024, &sp20); + func_84309D78(arg1, 0); + + if (arg1->unk_4A0 <= 0.5f) { + func_84307C5C(arg1); + func_8000EB70(&arg0->unk_000.unk_01E, 0, arg1->unk_4B0 << 0xE, 0); + func_84309F0C(arg1); + func_843096EC(arg1); + } +} + +void func_8430AD10(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430AA84(arg0, arg1); + + case 1: + func_8430AB00(arg0, arg1); + break; + + case 2: + func_8430ABF0(arg0, arg1); + break; + } +} + +void func_8430AD7C(unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_84309780(arg1); + arg1->unk_4AC = 0; + func_84307C5C(arg1); + func_8000EB70(&arg0->unk_000.unk_01E, 0, arg1->unk_4B0 << 0xE, 0); + arg1->unk_4B8++; +} + +void func_8430ADE8(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_84309874(arg1); + arg1->unk_4AC++; + if (arg1->unk_4AC == 0x3C) { + func_84309F0C(arg1); + func_843096EC(arg1); + } +} + +void func_8430AE3C(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430AD7C(arg0, arg1); + + case 1: + func_8430ADE8(arg0, arg1); + break; + } +} + +void func_8430AE90(unk_D_84390010* arg0) { + UNUSED s32 pad; + unk_D_84390240_000_0DC* sp18 = D_84390240.unk_00->unk_DC; + + func_84307C5C(arg0); + func_8000EB70(&arg0->unk_000.unk_01E, 0, arg0->unk_4B0 << 0xE, 0); + func_8000E88C(&sp18->unk_C0, 0.0f, 1.0f, 0.0f); + func_84309F0C(arg0); +} + +void func_8430AF08(unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4A6 = 0; + arg1->unk_4A8 = 0; + arg1->unk_4A4 = 0; + arg1->unk_4C0 = 0; + arg1->unk_4A0 = 0.0f; + func_84307C5C(arg1); + func_8000EB70(&arg0->unk_000.unk_01E, 0, arg1->unk_4B0 << 0xE, 0); + arg1->unk_4B8++; +} + +void func_8430AF80(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + unk_D_84390240_000_0DC* temp_s0 = D_84390240.unk_00->unk_DC; + f32 temp_fa0; + f32 temp_fa1_2; + f32 temp_ft4; + f32 sp2C; + f32 sp28; + f32 sp24; + f32 temp_fv0_2; + f32 temp_fv1_2; + + func_8430C4F8(&arg1->unk_4A4, 0x5B0, 0x3C); + func_8430C4F8(&arg1->unk_4A8, -0x8000, arg1->unk_4A4); + + sp2C = temp_s0->unk_B4.x - temp_s0->unk_A8.x; + sp28 = temp_s0->unk_B4.y - temp_s0->unk_A8.y; + sp24 = temp_s0->unk_B4.z - temp_s0->unk_A8.z; + + temp_fv0_2 = sqrtf(SQ(sp2C) + SQ(sp28) + SQ(sp24)); + + temp_fa0 = sp2C / temp_fv0_2; + temp_fv1_2 = sp28 / temp_fv0_2; + temp_fa1_2 = sp24 / temp_fv0_2; + + temp_ft4 = 1.0 - COSS(arg1->unk_4A8); + + temp_s0->unk_C0.x = (temp_ft4 * temp_fa0 * temp_fv1_2) - (SINS(arg1->unk_4A8) * temp_fa1_2); + temp_s0->unk_C0.y = COSS(arg1->unk_4A8) + ((temp_ft4 * temp_fv1_2) * temp_fv1_2); + temp_s0->unk_C0.z = (SINS(arg1->unk_4A8) * temp_fa0) + ((temp_ft4 * temp_fv1_2) * temp_fa1_2); + + if (arg1->unk_000.unk_024.y < 0.0f) { + arg1->unk_000.unk_024.y = 0.0f; + } +} + +void func_8430B104(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430AF08(arg0, arg1); + + case 1: + func_8430AF80(arg0, arg1); + break; + } +} + +void func_8430B158(unk_D_84390010* arg0, unk_D_84390010* arg1) { + if (arg0->unk_000.unk_030.y != 1.0f) { + func_84309F0C(arg1); + } else { + func_84309A24(arg1); + arg1->unk_4B8++; + } +} + +void func_8430B1B8(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 temp_fv0; + + temp_fv0 = func_800104AC(arg0->unk_000.unk_030.x, 0.8f, 0.01f, 0.01f); + arg0->unk_000.unk_030.x = temp_fv0; + arg0->unk_000.unk_030.y = temp_fv0; + arg0->unk_000.unk_030.z = temp_fv0; + + func_84309B0C(arg1); + + if (arg0->unk_000.unk_030.y <= 0.8) { + func_84309F0C(arg1); + func_843096EC(arg1); + } +} + +void func_8430B244(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430B158(arg0, arg1); + + case 1: + func_8430B1B8(arg0, arg1); + break; + } +} + +void func_8430B298(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4B8++; +} + +void func_8430B2AC(unk_D_84390010* arg0, UNUSED unk_D_84390010* arg1) { + arg0->unk_000.unk_030.x = func_800104AC(arg0->unk_000.unk_030.x, 0.0f, 0.05f, 0.05f); + arg0->unk_000.unk_030.y = func_800104AC(arg0->unk_000.unk_030.y, 0.0f, 0.05f, 0.05f); + arg0->unk_000.unk_030.z = func_800104AC(arg0->unk_000.unk_030.z, 0.0f, 0.05f, 0.05f); + + if (arg0->unk_000.unk_030.y <= 0.1) { + func_8000E88C(&arg0->unk_000.unk_030, 0.001f, 0.001f, 0.001f); + } +} + +void func_8430B374(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430B298(arg0, arg1); + + case 1: + func_8430B2AC(arg0, arg1); + break; + } +} + +void func_8430B3C8(unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4A4 = 0x16C; + arg1->unk_4A6 = 0; + arg1->unk_4A8 = 0; + arg1->unk_4A0 = 0.4f; + arg1->unk_454.x = arg0->unk_000.unk_030.x; + arg1->unk_454.y = arg0->unk_000.unk_030.y; + arg1->unk_454.z = arg0->unk_000.unk_030.z; + arg1->unk_4B8++; +} + +void func_8430B40C(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 var_fv0; + + // clang-format off + if ((arg1->unk_4A4 >= 0) && (arg1->unk_4A4 <= 0x8000)) { arg1->unk_4A4 += 0x2D; } + // clang-format on + + arg1->unk_4A8 = SINS(arg1->unk_4A4) * 182.0f * 15.0f; + + if ((arg1->unk_4A6 >= 0) && (arg1->unk_4A6 <= 0x4000)) { + arg1->unk_4A6 += arg1->unk_4A8; + } + + if (arg1->unk_654.unk_38.unk4D[9] == 0) { + var_fv0 = 1.0f; + } else { + var_fv0 = 0.8f; + } + + arg0->unk_000.unk_030.x = var_fv0 - (SINS(arg1->unk_4A6) * arg1->unk_4A0); + arg0->unk_000.unk_030.y = (SINS(arg1->unk_4A6) * arg1->unk_4A0) + var_fv0; + arg0->unk_000.unk_030.z = var_fv0 - (SINS(arg1->unk_4A6) * arg1->unk_4A0); + + if ((arg1->unk_4A6 >= 0x4000) && (arg1->unk_4A6 >= 0x4000)) { + arg1->unk_4A8 = 0x1554; + arg1->unk_4B8++; + } +} + +void func_8430B550(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 var_fv0; + f32 var_fv1; + + arg1->unk_4A6 += arg1->unk_4A8; + var_fv1 = SINS(arg1->unk_4A6) * arg1->unk_4A0; + if (var_fv1 <= 0.01f) { + arg1->unk_4A8 += 0x444; + arg1->unk_4A0 *= 0.8f; + if (1) {} + var_fv1 = SINS(arg1->unk_4A6) * arg1->unk_4A0; + } + + if (arg1->unk_654.unk_38.unk4D[9] == 0) { + var_fv0 = 1.0f; + } else { + var_fv0 = 0.8f; + } + + arg0->unk_000.unk_030.x = var_fv0 - var_fv1; + arg0->unk_000.unk_030.y = (SINS(arg1->unk_4A6) * arg1->unk_4A0) + var_fv0; + arg0->unk_000.unk_030.z = var_fv0 - (SINS(arg1->unk_4A6) * arg1->unk_4A0); + + if (arg1->unk_4A0 <= 0.01f) { + arg0->unk_000.unk_030.x = var_fv0; + arg0->unk_000.unk_030.y = var_fv0; + arg0->unk_000.unk_030.z = var_fv0; + func_84309F0C(arg1); + } +} + +void func_8430B68C(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430B3C8(arg0, arg1); + + case 1: + func_8430B40C(arg0, arg1); + break; + + case 2: + func_8430B550(arg0, arg1); + break; + } +} + +void func_8430B6F8(unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4A8 = 0x71C; + arg1->unk_4A0 = 0.4f; + arg1->unk_454.x = arg0->unk_000.unk_030.x; + arg1->unk_454.y = arg0->unk_000.unk_030.y; + arg1->unk_454.z = arg0->unk_000.unk_030.z; + arg1->unk_4B8++; +} + +void func_8430B734(unk_D_84390010* arg0, unk_D_84390010* arg1) { + unk_D_84390010_654_038* temp_a0 = &arg1->unk_654.unk_38; + s16 sp22; + + arg1->unk_4A8 += 0xCCC; + sp22 = arg1->unk_4A8; + + arg1->unk_4A0 = func_800104AC(arg1->unk_4A0, 0.0f, 0.02f, 0.02f); + + if (sp22 > 0) { + sp22 *= -1; + } + + if (temp_a0->unk_56 == 0) { + arg0->unk_000.unk_030.x = 1.0f - (SINS(sp22) * arg1->unk_4A0); + arg0->unk_000.unk_030.y = (SINS(sp22) * arg1->unk_4A0) + 1.0f; + arg0->unk_000.unk_030.z = 1.0f - (SINS(sp22) * arg1->unk_4A0); + } else { + arg0->unk_000.unk_030.x = 0.8 - (SINS(sp22) * arg1->unk_4A0); + arg0->unk_000.unk_030.y = (SINS(sp22) * arg1->unk_4A0) + 0.8; + arg0->unk_000.unk_030.z = 0.8 - (SINS(sp22) * arg1->unk_4A0); + } + + if (arg1->unk_4A0 <= 0.01f) { + if (temp_a0->unk_56 == 0) { + func_8000E88C(&arg0->unk_000.unk_030, 1.0f, 1.0f, 1.0f); + } else { + func_8000E88C(&arg0->unk_000.unk_030, 0.8f, 0.8f, 0.8f); + } + func_84309F0C(arg1); + } +} + +void func_8430B8FC(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430B6F8(arg0, arg1); + + case 1: + func_8430B734(arg0, arg1); + break; + } +} + +void func_8430B950(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4AC = 0; + arg1->unk_4B8++; +} + +void func_8430B968(unk_D_84390010* arg0, unk_D_84390010* arg1) { + unk_D_84390010_654_038* ptr = &arg1->unk_654.unk_38; + UNUSED s32 pad; + f32 temp_fs0; + + if (ptr->unk_56 == 0) { + temp_fs0 = (1.0f - func_8435FCD0()) * 0.6f; + func_8430C718(&arg0->unk_000.unk_030.x, 1.0f - temp_fs0, 0.5f); + func_8430C718(&arg0->unk_000.unk_030.y, 1.0f + temp_fs0, 0.5f); + func_8430C718(&arg0->unk_000.unk_030.z, 1.0f - temp_fs0, 0.5f); + } else { + temp_fs0 = (1.0f - func_8435FCD0()) * 0.3f; + func_8430C718(&arg0->unk_000.unk_030.x, 0.8 - temp_fs0, 0.5f); + func_8430C718(&arg0->unk_000.unk_030.y, temp_fs0 + 0.8, 0.5f); + func_8430C718(&arg0->unk_000.unk_030.z, 0.8 - temp_fs0, 0.5f); + } +} + +void func_8430BAB8(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430B950(arg0, arg1); + + case 1: + func_8430B968(arg0, arg1); + break; + } +} + +void func_8430BB0C(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + arg1->unk_4C0 = 0; + arg1->unk_4B8++; +} + +void func_8430BB24(unk_D_84390010* arg0, unk_D_84390010* arg1) { + f32 sp24; + f32 sp20; + + arg1->unk_4C0++; + sp20 = func_8435E158(arg0->unk_000.unk_024.x, arg0->unk_000.unk_024.z, &sp24); + arg0->unk_000.unk_024.y = func_84307BAC(arg1) + sp20; + arg0->unk_000.unk_01E.x = (s16)sp24 * 0xB6; + + if (arg1->unk_4C0 == 0x12C) { + arg0->unk_000.unk_024.y = func_84307BAC(arg1); + arg0->unk_000.unk_01E.x = 0; + func_84309F0C(arg1); + } +} + +void func_8430BBE4(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4B8) { + case 0: + func_8430BB0C(arg0, arg1); + + case 1: + func_8430BB24(arg0, arg1); + break; + } +} + +void func_8430BC38(UNUSED unk_D_84390010* arg0, UNUSED unk_D_84390010* arg1) { +} + +void func_8430BC44(s32 arg0) { + unk_D_84390010* temp_a1 = D_84390010[arg0]; + unk_D_84390010* temp_a2 = D_84390010[arg0]; + + switch (D_84390010[arg0]->unk_4B4) { + case 0: + func_8430BC38(temp_a1, temp_a2); + break; + + case 1: + func_8430A090(temp_a1, temp_a2); + break; + + case 2: + func_8430A22C(temp_a1, temp_a2); + break; + + case 3: + func_8430A390(temp_a1, temp_a2); + break; + + case 4: + func_8430A7BC(temp_a1, temp_a2); + break; + + case 5: + func_8430AA18(temp_a1, temp_a2); + break; + + case 6: + func_8430AD10(temp_a1, temp_a2); + break; + + case 7: + func_8430AE3C(temp_a1, temp_a2); + break; + + case 8: + func_8430B104(temp_a1, temp_a2); + break; + + case 9: + func_8430B244(temp_a1, temp_a2); + break; + + case 10: + func_8430BBE4(temp_a1, temp_a2); + break; + + case 12: + func_8430B374(temp_a1, temp_a2); + break; + + case 13: + func_8430B68C(temp_a1, temp_a2); + break; + + case 14: + func_8430A4EC(temp_a1, temp_a2); + break; + + case 15: + func_8430B8FC(temp_a1, temp_a2); + break; + + case 16: + func_8430BAB8(temp_a1, temp_a2); + break; + + default: + func_84309F0C(temp_a2); + break; + } +} + +void func_8430BD9C(unk_D_84390010* arg0, u8 arg1, u8 arg2) { + arg0->unk_4E8 = arg1; + arg0->unk_4E9 = arg2; +} + +void func_8430BDB0(unk_D_84390010* arg0) { + arg0->unk_4E8 = 0; + arg0->unk_4E9 = 0; +} + +void func_8430BDBC(unk_D_84390010* arg0, f32 arg1, s16 arg2) { + arg0->unk_4E4 = arg1; + arg0->unk_4D8.z = COSS(arg2) * arg1; + arg0->unk_4D8.y = SINS(arg2) * arg1; +} + +void func_8430BE08(unk_D_84390010* arg0, unk_D_84390010* arg1, UNUSED f32 arg2, UNUSED f32 arg3, UNUSED s32 arg4) { + f32 tmp1 = 0.01f; + f32 tmp2 = 18.0f; + Vec3f sp2C; + f32 temp_fa1; + f32 temp_fa2; + + temp_fa1 = -tmp1 * arg1->unk_4D8.z; + temp_fa2 = -tmp2 - (tmp1 * arg1->unk_4D8.y); + + arg1->unk_4D8.z = arg1->unk_4D8.z + (temp_fa1 * 0.05f); + arg1->unk_4D8.y = arg1->unk_4D8.y + (temp_fa2 * 0.05f); + sp2C.y = arg1->unk_4D8.y; + arg1->unk_4D8.x = 0.0f; + + func_8430C19C(&sp2C, arg1->unk_4D8.z, arg0->unk_000.unk_01E.y + 0x4000); + func_8000E8B0(&arg0->unk_000.unk_024, &sp2C); +} + +void func_8430BEC0(UNUSED unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_8000E88C(&arg1->unk_4CC, 0.0f, 0.0f, 0.0f); + func_8000E88C(&arg1->unk_4D8, 0.0f, 0.0f, 0.0f); + func_8430BDBC(arg1, 23.0f, 0x2E36); + arg1->unk_4E9++; +} + +void func_8430BF3C(unk_D_84390010* arg0, unk_D_84390010* arg1) { + func_8430BE08(arg0, arg1, 0, 0, 0x2E36); + if (arg1->unk_000.unk_024.y < func_84307BAC(arg1)) { + arg1->unk_4D8.y = 0.0f; + arg1->unk_000.unk_024.y = func_84307BAC(arg1); + func_8430BDB0(arg1); + } +} + +void func_8430BFB0(unk_D_84390010* arg0, unk_D_84390010* arg1) { + switch (arg1->unk_4E9) { + case 0: + func_8430BEC0(arg0, arg1); + + case 1: + func_8430BF3C(arg0, arg1); + break; + } +} + +void func_8430C004(UNUSED unk_D_84390010* arg0, UNUSED unk_D_84390010* arg1) { +} + +void func_8430C010(s32 arg0) { + unk_D_84390010* temp_v0 = D_84390010[arg0]; + unk_D_84390010* temp_v1 = D_84390010[arg0]; + + if (temp_v1->unk_4E8 == 0xB) { + func_8430BFB0(temp_v0, temp_v1); + } else { + func_8430C004(temp_v0, temp_v1); + } +} + +static s32 pad_D_8438466C = 0; + +s16 D_84384670[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA9, 0, 0, 0, 0, 0, 0xAA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAC, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAD, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; + +unk_D_843847BC D_843847BC[2] = { + { + 0xFFB8, + 0x0048, + 0x0020, + 10.0f, + 10.0f, + 1280.0f, + 0x0001, + }, + { + 0x015F, + 0x0080, + 0x0020, + 10.0f, + 10.0f, + 1280.0f, + 0xFFFF, + }, +}; + +u32 D_843847EC[] = { + 0x00000000, 0x00000000, 0x38E30000, 0x00000000, 0x40900000, 0x00000000, 0x0000238E, 0x00000000, + 0x00000000, 0x41080000, 0x3DCCCCCD, 0x3CA3D70A, 0x41F00000, 0x00000000, 0x00000000, 0x31C70000, + 0x00000000, 0x41000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40800000, 0x3E19999A, + 0x3C23D70A, 0x41F00000, 0x00004000, 0x00000000, 0x1C710000, 0x40600000, 0x40400000, 0x0000C000, + 0x00000000, 0x00000000, 0x00000000, 0x40400000, 0x3E19999A, 0x3CA3D70A, 0x42480000, +}; + +u32 D_84384888[] = { + 0x00000000, 0x0000016C, 0x1C710000, 0x00000000, 0x41000000, 0x00000000, 0x0000016C, 0x00000000, 0x3F800000, + 0x40000000, 0x3E99999A, 0x3C23D70A, 0x428C0000, 0x00000000, 0x00000000, 0x754E0000, 0x00000000, 0x40600000, + 0x00000000, 0x0000071C, 0x0E380000, 0x00000000, 0x41A00000, 0x3E19999A, 0x3C23D70A, 0x42480000, +}; + +u32 D_843848F0[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x15550000, 0x00000000, 0x40600000, 0x3E4CCCCD, 0x3D75C28F, 0x43480000, +}; + +u32 D_84384924[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000011C6, + 0x7C6A0000, 0x00000000, 0x40C00000, 0x3E4CCCCD, 0x3D23D70A, 0x43480000, +}; + +u32 D_84384958[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000E38, + 0x80000000, 0x00000000, 0x40C00000, 0x3E4CCCCD, 0x3DA3D70A, 0x43480000, +}; + +u32 D_8438498C[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x40600000, 0x3E4CCCCD, 0x3D75C28F, 0x43480000, +}; + +u32 D_843849C0[] = { + 0x00000000, 0x00000000, 0x38E30000, 0x3F800000, 0x40900000, 0x00000000, 0x0000238E, 0x00000000, 0x00000000, + 0x41080000, 0x3DCCCCCD, 0x3CA3D70A, 0x43480000, 0x00000000, 0x00002AAA, 0x00000000, 0x00000000, 0x41080000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40800000, 0x3E800000, 0x3CA3D70A, 0x43480000, 0x00000000, + 0x00000000, 0x38E30000, 0x00000000, 0x40600000, 0x00000000, 0x0000238E, 0x1C710000, 0x00000000, 0x41080000, + 0x3E19999A, 0x3CA3D70A, 0x43480000, 0x00000000, 0x00000000, 0x38E30000, 0x00000000, 0x40D00000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x40800000, 0x3E4CCCCD, 0x3CA3D70A, 0x43480000, 0x00000000, 0x00001C71, + 0x40000000, 0x00000000, 0x40F00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40600000, 0x3E4CCCCD, + 0x3CA3D70A, 0x43480000, 0x00000000, 0x0000F8E4, 0x40000000, 0x00000000, 0x40900000, 0x00000000, 0x0000071C, + 0x00000000, 0x00000000, 0x40600000, 0x3E4CCCCD, 0x3CA3D70A, 0x43480000, +}; + +u32 D_84384AF8[] = { + 0x00000000, 0x00000888, 0x00000000, 0x00000000, 0x41280000, 0x00000000, 0x000000B6, + 0x00000000, 0x00000000, 0x40000000, 0x3E4CCCCD, 0x3C75C28F, 0x42480000, +}; + +u32 D_84384B2C[] = { + 0x00000000, 0x00002AAA, 0x00000000, 0x00000000, 0x44160000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x44098000, 0x3E4CCCCD, 0x3D23D70A, 0x42200000, 0x00000000, 0x00002AAA, 0x31C70000, 0x00000000, 0x441C4000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43E10000, 0x3E4CCCCD, 0x3CF5C28F, 0x42200000, 0x00000000, + 0x0000FDDE, 0x00000000, 0x00000000, 0x43E10000, 0x00000000, 0x00002AAA, 0x00000000, 0x00000000, 0x43FA0000, + 0x3E4CCCCD, 0x3CCCCCCD, 0x42200000, 0x00000000, 0x00000000, 0xCE390000, 0x00000000, 0x443B8000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x43E10000, 0x3E4CCCCD, 0x3D23D70A, 0x42200000, 0x00000000, 0x0000FDDE, + 0x00000000, 0x00000000, 0x42480000, 0x00000000, 0x0000FDDE, 0x00000000, 0x00000000, 0x43C80000, 0x3E4CCCCD, + 0x3CF5C28F, 0x42A00000, +}; + +u32 D_84384C30[] = { + 0x3E2E147B, 0x41380000, 0xBFC00000, 0x3DE147AE, 0x41D80000, 0xC0200000, 0x3E051EB8, 0x425C0000, 0x41700000, + 0x3E6147AE, 0x00000000, 0xBF000000, 0x3E23D70A, 0x41680000, 0x40200000, 0x3EA3D70A, 0x00000000, 0x00000000, + 0x3E4CCCCD, 0x40E00000, 0x3F000000, 0x3E570A3D, 0x41400000, 0xC0600000, 0x3E6B851F, 0xC1940000, 0x41180000, + 0x3ED1EB85, 0xC0200000, 0xBFC00000, 0x3E428F5C, 0x40E00000, 0x3F800000, 0x3E8F5C29, 0x00000000, 0x40800000, + 0x3E8F5C29, 0x40200000, 0x3F000000, 0x3E75C28F, 0xBFC00000, 0xC0400000, 0x3E6147AE, 0x40C00000, 0x40D00000, + 0x3F2E147B, 0xBFC00000, 0xBFC00000, 0x3F4CCCCD, 0x00000000, 0xC0600000, 0x3EFAE148, 0xBF000000, 0xC25C0000, + 0x3E8A3D71, 0x40200000, 0x40200000, 0x3E8F5C29, 0x00000000, 0x00000000, 0x3E947AE1, 0x40800000, 0xC0200000, + 0x3E75C28F, 0x00000000, 0x40200000, 0x3E8A3D71, 0x00000000, 0xC0C00000, 0x3E8F5C29, 0x40F00000, 0x418C0000, + 0x3EA8F5C3, 0x00000000, 0xC0400000, 0x3ECCCCCD, 0x00000000, 0xC0C00000, 0x3ECCCCCD, 0x00000000, 0xC0E00000, + 0x3E947AE1, 0x00000000, 0xC0B00000, 0x3E570A3D, 0x40B00000, 0x40A00000, 0x3E570A3D, 0x40D00000, 0x00000000, + 0x3E6147AE, 0x41300000, 0xC0F00000, 0x3E75C28F, 0x41080000, 0x40400000, 0x3E23D70A, 0x418C0000, 0x00000000, + 0x3E570A3D, 0x41600000, 0xC0D00000, 0x3E3851EC, 0x00000000, 0x40400000, 0x3E19999A, 0x41100000, 0x41100000, + 0x3E9EB852, 0x00000000, 0xC0200000, 0x3E3851EC, 0x00000000, 0x40900000, 0x3E6B851F, 0x00000000, 0x00000000, + 0x3E428F5C, 0x00000000, 0x41700000, 0x3ED1EB85, 0xC0000000, 0x00000000, 0x3F0A3D71, 0xC20A0000, 0xC22E0000, + 0x3E570A3D, 0x00000000, 0xC0000000, 0x3E570A3D, 0x00000000, 0x00000000, 0x3E75C28F, 0x00000000, 0x41600000, + 0x3E8A3D71, 0x00000000, 0xC0200000, 0x3E051EB8, 0x41080000, 0x40200000, 0x3E051EB8, 0x41600000, 0x41380000, + 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E6147AE, 0x00000000, 0x00000000, 0x3E4CCCCD, 0x00000000, 0x00000000, + 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E19999A, 0x419C0000, 0xC0200000, 0x3E23D70A, 0x40600000, 0x40600000, + 0x3E428F5C, 0x41280000, 0xC1000000, 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E570A3D, 0x00000000, 0xC0B00000, + 0x3E75C28F, 0x40600000, 0x3FC00000, 0x3E428F5C, 0x41AC0000, 0x40C00000, 0x3E947AE1, 0x00000000, 0x00000000, + 0x3E6B851F, 0x00000000, 0x00000000, 0x3E6147AE, 0xC0900000, 0xBF000000, 0x3E6B851F, 0x40800000, 0x00000000, + 0x3E428F5C, 0x41800000, 0xC0200000, 0x3E3851EC, 0x41600000, 0xC0800000, 0x3E19999A, 0x41300000, 0x00000000, + 0x3E800000, 0x41080000, 0xC0C00000, 0x3E800000, 0x41200000, 0xC0800000, 0x3EBD70A4, 0x00000000, 0xC0A00000, + 0x3E4CCCCD, 0x00000000, 0x00000000, 0x3E0F5C29, 0x418C0000, 0x41840000, 0x3E75C28F, 0x00000000, 0x00000000, + 0x3E75C28F, 0x00000000, 0x00000000, 0x3E947AE1, 0x00000000, 0x00000000, 0x3E428F5C, 0x00000000, 0x00000000, + 0x3E428F5C, 0x41300000, 0x00000000, 0x3E23D70A, 0x41000000, 0x00000000, 0x3E2E147B, 0xC0F00000, 0xC0E00000, + 0x3E851EB8, 0x41480000, 0x40A00000, 0x3E428F5C, 0x00000000, 0x40200000, 0x3E8F5C29, 0x00000000, 0x00000000, + 0x3E6B851F, 0x00000000, 0x00000000, 0x3E947AE1, 0x00000000, 0xC0400000, 0x3E800000, 0x00000000, 0x00000000, + 0x3E6B851F, 0x00000000, 0x00000000, 0x3E851EB8, 0x41080000, 0x40200000, 0x3E6B851F, 0x41B40000, 0x40F00000, + 0x3E800000, 0x00000000, 0xC0200000, 0x3E3851EC, 0x00000000, 0x40A00000, 0x3E4CCCCD, 0x00000000, 0x40000000, + 0x3E947AE1, 0x00000000, 0x00000000, 0x3E23D70A, 0x00000000, 0x00000000, 0x3E2E147B, 0x40A00000, 0x00000000, + 0x3E851EB8, 0x00000000, 0xC1280000, 0x3D23D70A, 0x42940000, 0xC0F00000, 0x3E570A3D, 0x40F00000, 0xBF800000, + 0x3E4CCCCD, 0x00000000, 0xBF000000, 0x3E6147AE, 0x00000000, 0x00000000, 0x3E4CCCCD, 0x00000000, 0x41180000, + 0x3E2E147B, 0x00000000, 0x00000000, 0x3E428F5C, 0x00000000, 0x00000000, 0x3E428F5C, 0x00000000, 0xC0600000, + 0x3E800000, 0x00000000, 0x41100000, 0x3E6147AE, 0x3FC00000, 0xBF800000, 0x3E75C28F, 0xC0200000, 0xC0900000, + 0x3E6B851F, 0xC0800000, 0x00000000, 0x3E6B851F, 0x00000000, 0x00000000, 0x3E8A3D71, 0x00000000, 0x00000000, + 0x3E2E147B, 0x00000000, 0x40800000, 0x3E570A3D, 0xC1300000, 0x40B00000, 0x3E2E147B, 0x41000000, 0x00000000, + 0x3E6147AE, 0x00000000, 0x40900000, 0x3E23D70A, 0x00000000, 0x41480000, 0x3E19999A, 0x40900000, 0x41000000, + 0x3E947AE1, 0x00000000, 0x00000000, 0x3E800000, 0x00000000, 0x40A00000, 0x3E800000, 0x40D00000, 0x40400000, + 0x3E9EB852, 0x00000000, 0x3F000000, 0x3E75C28F, 0x41900000, 0x00000000, 0x3E428F5C, 0x00000000, 0x00000000, + 0x3E0F5C29, 0x00000000, 0x00000000, 0x3E75C28F, 0x00000000, 0x00000000, 0x3E75C28F, 0x41480000, 0x00000000, + 0x3E3851EC, 0x00000000, 0x00000000, 0x3E3851EC, 0x41100000, 0x00000000, 0x3E570A3D, 0x41200000, 0xC0200000, + 0x3E570A3D, 0x00000000, 0x00000000, 0x3E23D70A, 0x41400000, 0x40A00000, 0x3ECCCCCD, 0xBFC00000, 0x41B80000, + 0x3E0F5C29, 0x42440000, 0x41E00000, 0x3E4CCCCD, 0x41B40000, 0x41080000, 0x3E851EB8, 0x00000000, 0x00000000, + 0x3E8F5C29, 0x00000000, 0x00000000, 0x3E851EB8, 0x00000000, 0x40800000, 0x3E800000, 0x41300000, 0x00000000, + 0x3E6B851F, 0x41000000, 0x00000000, 0x3E3851EC, 0x40B00000, 0x40900000, 0x3E6147AE, 0xBF000000, 0x40200000, + 0x3E800000, 0x00000000, 0x00000000, 0x3E851EB8, 0x00000000, 0xBFC00000, 0x3E570A3D, 0x00000000, 0x40600000, + 0x3E23D70A, 0x42020000, 0x41D40000, 0x3D4CCCCD, 0xC1780000, 0xC3058000, 0x3E8A3D71, 0x40B00000, 0xC1200000, + 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3E6147AE, 0x40F00000, 0xC0200000, 0x3EB33333, 0x00000000, 0x00000000, + 0x3E75C28F, 0xC1180000, 0x00000000, 0x3E428F5C, 0x00000000, 0x40200000, 0x3E851EB8, 0x00000000, 0xC0D00000, + 0x3E99999A, 0x00000000, 0x40400000, 0x3EB33333, 0xC2340000, 0xC0A00000, 0x3ECCCCCD, 0x00000000, 0x00000000, + 0x3ECCCCCD, 0x00000000, 0x00000000, 0x3ECCCCCD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +}; +unk_D_84385384_func D_84385380 = func_843056DC; +unk_D_84385384 D_84385384[] = { + { + 0, + { + func_843020B0, + func_843056DC, + func_843056DC, + func_84301D08, + func_84301DDC, + func_84304C8C, + func_84304D84, + }, + 167, + 5, + 255, + }, + { + 1, + { + func_84303ECC, + func_84305728, + func_84301EEC, + func_84304114, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 166, + 255, + 255, + }, + { + 2, + { + func_843056DC, + func_843020B0, + func_843056DC, + func_843045DC, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 2, + 255, + }, + { + 3, + { + func_84302A78, + func_843056DC, + func_843056DC, + func_84302C34, + func_84302EF0, + func_8430305C, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 4, + { + func_843037CC, + func_843056DC, + func_843056DC, + func_84303A48, + func_84303BB8, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 5, + { + func_8430741C, + func_8430203C, + func_843056DC, + func_84307424, + func_8430742C, + func_84307434, + func_8430743C, + }, + 255, + 255, + 255, + }, + { + 6, + { + func_8430741C, + func_8430203C, + func_843056DC, + func_84307464, + func_8430745C, + func_84307454, + func_8430744C, + }, + 255, + 255, + 255, + }, + { + 7, + { + func_843020B0, + func_843056DC, + func_843056DC, + func_84301D08, + func_8430748C, + func_84307444, + func_84304D84, + }, + 167, + 5, + 255, + }, + { + 8, + { + func_84304834, + func_843056DC, + func_843056DC, + func_843048C8, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 9, + { + func_843049FC, + func_84304ACC, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 10, + { + func_843056DC, + func_843020B0, + func_843056DC, + func_843045DC, + func_843029D0, + func_843056DC, + func_843056DC, + }, + 255, + 3, + 255, + }, + { + 11, + { + func_8430506C, + func_843056DC, + func_843056DC, + func_84303A48, + func_843055E0, + func_843054F0, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 12, + { + func_84301EEC, + func_84304B50, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 13, + { + func_84304C20, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 14, + { + func_8430506C, + func_843056DC, + func_843056DC, + func_843052C0, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 15, + { + func_84303CB4, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 16, + { + func_84303ECC, + func_84305728, + func_84301EEC, + func_84304210, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 166, + 255, + 255, + }, + { + 17, + { + func_843056DC, + func_843056DC, + func_843056DC, + func_84301D08, + func_84304F54, + func_843056DC, + func_843056DC, + }, + 177, + 255, + 255, + }, + { + 18, + { + func_84303ECC, + func_84305728, + func_84301EEC, + func_843043FC, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 166, + 255, + 255, + }, + { + 19, + { + func_843033E0, + func_843056DC, + func_843056DC, + func_843034D8, + func_84303674, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, + { + 20, + { + func_843056DC, + func_843020B0, + func_843056DC, + func_843045DC, + func_84304758, + func_843056DC, + func_843056DC, + }, + 255, + 1, + 255, + }, + { + 21, + { + func_84303208, + func_843056DC, + func_843056DC, + func_8430334C, + func_843056DC, + func_843056DC, + func_843056DC, + }, + 255, + 255, + 255, + }, +}; diff --git a/yamls/us/rom.yaml b/yamls/us/rom.yaml index 982933c..f83dfb3 100644 --- a/yamls/us/rom.yaml +++ b/yamls/us/rom.yaml @@ -2184,10 +2184,12 @@ - [0x36EC10, .data, fragments/62/fragment62_2EA8E0] - [0x36EE30, .data, fragments/62/fragment62_2EC3C0] + - [0x36EEC0, .data, fragments/62/fragment62_2F3CB0] - [0x370010, data, fragments/62/fragment62_data] - [0x3759C0, .rodata, fragments/62/fragment62_2EC3C0] - - [0x375A60, rodata, fragments/62/fragment62_rodata_375A60] + - [0x375A60, .rodata, fragments/62/fragment62_2F3CB0] + - [0x375B60, rodata, fragments/62/fragment62_rodata_375B60] - [0x375BA0, rodata, fragments/62/fragment62_rodata_375BA0] - [0x375BB0, rodata, fragments/62/fragment62_rodata_375BB0] - [0x375C50, rodata, fragments/62/fragment62_rodata_375C50]