diff --git a/include/functions.h b/include/functions.h index 8b8ac9d..cfa26d5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -3,8 +3,6 @@ #include "ultra64.h" -f32 __sinf(f32); - void func_80057FD0(void *, int); s32 func_8005A990(OSPiHandle *); @@ -42,4 +40,7 @@ long long __ll_rshift(long long a0, long long a1); f32 abs_asm(f32); +f32 __cosf(f32); +f32 __sinf(f32); + #endif diff --git a/include/sections.h b/include/sections.h index 14cbadb..571e641 100644 --- a/include/sections.h +++ b/include/sections.h @@ -526,6 +526,8 @@ extern u8 gb_pak_select_ui_ROM_START[]; // 6B4F00 extern u8 gb_pak_select_ui_ROM_END[]; // 6B4F00 extern u8 run_rattata_run_flag_gfx_ROM_START[]; extern u8 run_rattata_run_flag_gfx_ROM_END[]; +extern u8 victory_palace_plate_text_ROM_START[]; +extern u8 victory_palace_plate_text_ROM_END[]; extern u8 kanto_gb_map_ROM_START[]; extern u8 kanto_gb_map_ROM_END[]; extern u8 battle_ui_ROM_START[]; diff --git a/include/variables.h b/include/variables.h index c261885..b335e5c 100644 --- a/include/variables.h +++ b/include/variables.h @@ -506,6 +506,7 @@ extern u8 D_200A300[]; extern u8 D_200A780[]; extern u8 D_2000980[]; extern u8 D_2000A60[]; +extern u8 D_3008200[]; extern LEODiskID D_800818E0; @@ -524,6 +525,8 @@ extern u8 D_86C00000; extern u8 D_87A00000; extern u8 D_87000000[]; +extern u8 D_800AF770[]; + typedef struct unk_D_800A7440 { /* 0x00 */ s16 x1; /* 0x02 */ s16 y1; diff --git a/linker_scripts/us/symbol_addrs.txt b/linker_scripts/us/symbol_addrs.txt index d3b8d04..5bc2be6 100644 --- a/linker_scripts/us/symbol_addrs.txt +++ b/linker_scripts/us/symbol_addrs.txt @@ -750,4 +750,11 @@ D_20007C0 = 0x20007C0; D_20008A0 = 0x20008A0; D_838067F0 = 0x838067F0; // size:0x1D088 D_2000980 = 0x2000980; -D_2000A60 = 0x2000A60; \ No newline at end of file +D_2000A60 = 0x2000A60; +D_82607B60 = 0x82607B60; // size:0x708 +D_82608268 = 0x82608268; // size:0x168 +D_826083D0 = 0x826083D0; // size:0x168 +D_82607420 = 0x82607420; // size:0x730 +D_82608568 = 0x82608568; // size:0x75F80 +D_3008200 = 0x3008200; +D_8267E4F8 = 0x8267E4F8; // size:0x258 \ No newline at end of file diff --git a/linker_scripts/us/undefined_syms.ld b/linker_scripts/us/undefined_syms.ld index ce94c3d..0b4b626 100644 --- a/linker_scripts/us/undefined_syms.ld +++ b/linker_scripts/us/undefined_syms.ld @@ -336,4 +336,5 @@ D_200A300 = 0x200A300; D_200A780 = 0x200A780; D_2000980 = 0x2000980; D_2000A60 = 0x2000A60; -D_838067F0 = 0x838067F0; \ No newline at end of file +D_838067F0 = 0x838067F0; +D_3008200 = 0x3008200; diff --git a/src/1C720.c b/src/1C720.c index d01de70..07acc05 100644 --- a/src/1C720.c +++ b/src/1C720.c @@ -158,7 +158,7 @@ unk_D_86002F58_004_000_010_02C* func_8001BEE8(unk_D_86002F58_004_000_010_02C* ar return arg0; } -void func_8001C014(s32* arg0, unk_func_8001C014* arg1, u16 arg2) { +void func_8001C014(unk_D_86002F58_004_000_010_02C* arg0, unk_func_8001C014* arg1, u16 arg2) { unk_func_80026268_arg0 stack; stack.unk_00.unk_00 = arg2; diff --git a/src/1C720.h b/src/1C720.h index 5c7995f..8e189a5 100644 --- a/src/1C720.h +++ b/src/1C720.h @@ -43,7 +43,7 @@ void func_8001BE78(unk_D_86002F58_004_000* arg0, u8 arg1); void func_8001BE84(unk_D_86002F58_004_000* arg0, u8 arg1); unk_D_86002F58_004_000_00C_028* func_8001BE90(unk_D_86002F58_004_000* arg0, s32 arg1); unk_D_86002F58_004_000_010_02C* func_8001BEE8(unk_D_86002F58_004_000_010_02C* arg0, unk_func_80026268_arg0* arg1); -void func_8001C014(s32* arg0, unk_func_8001C014* arg1, u16 arg2); +void func_8001C014(unk_D_86002F58_004_000_010_02C* arg0, unk_func_8001C014* arg1, u16 arg2); void func_8001C07C(unk_func_8001C07C_arg0* arg0); void func_8001C198(unk_func_8001C248* arg0); void func_8001C1E8(unk_func_8001C248* arg0); diff --git a/src/232C0.c b/src/232C0.c index f88e189..b4d326a 100644 --- a/src/232C0.c +++ b/src/232C0.c @@ -408,7 +408,7 @@ s8 func_80023324(s32 arg0) { RomHeader sp28; s8 var_s0 = POKEMON_ROM_NONE; - if ((func_8000B1C4(arg0, &sp28, 0x120, 0x60) == 0) && (sp28.country_code == 1)) { + if ((func_8000B1C4(arg0, &sp28, 0x120, sizeof(RomHeader)) == 0) && (sp28.country_code == 1)) { sp28.game_title[7] = '\x0'; sp28.game_title[16] = '\x0'; diff --git a/src/232C0.h b/src/232C0.h index ed35111..8fadf76 100644 --- a/src/232C0.h +++ b/src/232C0.h @@ -23,9 +23,18 @@ typedef struct func_800253F4_arg1 { /* 0x00F */ unk_D_800AC910_050_9AC unk_00F; } func_800253F4_arg1; // size >= 0x1A3 +typedef struct unk_func_800228F0 { + /* 0x00 */ u8 unk_00; + /* 0x01 */ u8 unk_01; + /* 0x02 */ u16 unk_02; + /* 0x04 */ char unk_04[16]; + /* 0x14 */ char unk_14[16]; +} unk_func_800228F0; // size >= 0x28 + u16 func_800226C0(s32 arg0, u32 arg1); void func_80022734(unk_func_80026268_arg0* arg0); void func_800228B0(unk_func_80026268_arg0* arg0); +s32 func_800228F0(unk_func_800228F0*, u16); void func_80022978(unk_func_80026268_arg0* arg0, s16 arg1, u8 arg2); s32 func_80022A04(u16* arg0, unk_D_800AC910_040* arg1); u8 func_80022A28(s32 arg0); diff --git a/src/fragments/50/fragment50.c b/src/fragments/50/fragment50.c index 598b156..63018a5 100644 --- a/src/fragments/50/fragment50.c +++ b/src/fragments/50/fragment50.c @@ -1,81 +1,2730 @@ -#include "global.h" +#include "fragment50.h" +#include "src/12D80.h" +#include "src/19840.h" +#include "src/1AB70.h" +#include "src/1C720.h" +#include "src/1CF30.h" +#include "src/20330.h" +#include "src/20470.h" +#include "src/232C0.h" +#include "src/26820.h" +#include "src/2E110.h" +#include "src/3FB0.h" +#include "src/49790.h" +#include "src/4BDC0.h" +#include "src/6A40.h" +#include "src/6BC0.h" +#include "src/DDC0.h" +#include "src/F420.h" +#include "src/controller.h" +#include "src/geo_layout.h" +#include "src/memory.h" +#include "src/stage_loader.h" +#include "src/util.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600020.s") +typedef struct unk_D_82607420 { + /* 0x000 */ s32 unk_000; + /* 0x004 */ unk_D_86002F58_004_000_010_024* unk_004; + /* 0x008 */ unk_D_86002F58_004_000 unk_008; +} unk_D_82607420; // size = 0x170 -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600094.s") +typedef struct unk_D_82604180 { + /* 0x00 */ f32 unk_00; + /* 0x04 */ u16 unk_04; + /* 0x06 */ u16 unk_06; + /* 0x08 */ f32 unk_08; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ f32 unk_10; +} unk_D_82604180; // size = 0x14 -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826000D8.s") +static s32 pad_D_82607410[2]; +static GraphNode* D_82607418; +static unk_D_86002F58_004_000_010* D_8260741C; +static unk_D_82607420 D_82607420[5]; +static s16 D_82607B50; +static s16 D_82607B52; +static s16 D_82607B54; +static s32 pad_D_82607B58[2]; +static unk_D_86002F58_004_000 D_82607B60[5]; +static unk_D_86002F58_004_000 D_82608268; +static unk_D_86002F58_004_000 D_826083D0; +static unk_D_86002F30* D_82608538; +static s16 D_8260853C; +static s16 D_8260853E; +static s16 D_82608540; +static s16 D_82608542; +static s16 D_82608544; +static s16 D_82608546; +static s16 D_82608548; +static s16 D_8260854A; +static s16 D_8260854C; +static s16 D_8260854E; +static s16 D_82608550; +static s16 D_82608552; +static s16 D_82608554; +static s16 D_82608556; +static unk_D_86002F34_00C* D_82608558; +static s32 pad_D_82608560[2]; +static u16 D_82608568[151][0x640]; +static s16 D_8267E4E8; +static u16 D_8267E4EA; +static u16 D_8267E4EC; +static u32 D_8267E4F0; +static s32 D_8267E4F4; +static f32 D_8267E4F8[150]; +static s32 D_8267E750; +static s32 D_8267E754; +static s32 D_8267E758; +static char** D_8267E75C; +static char** D_8267E760; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600160.s") +static u32 D_82603E80[] = { + 0xA4CAA4DE, 0xA4A80000, 0xA5ECA5D9, 0xA5EB0000, 0xA4AAA4E4, 0x00000000, 0xA4C7A4F3, 0xA4C9A4A6, 0xA4A4A4EA, + 0x00000000, 0xA1D6A5A4, 0xA5A8A5ED, 0xA1BCA5AB, 0xA5C3A5D7, 0xA1D70000, 0xA5C0A5DF, 0xA1BCA4AF, 0xA4F30000, + 0xA5C0A5DF, 0xA1BCA4AA, 0xA4E40000, 0xA5C0A5DF, 0xA1BCA5C7, 0xA1BCA5BF, 0xA4F2A1A2, 0xA4ABA4AD, 0xA4B3A4DF, + 0xA4DEA4B9, 0xA4ABA1A9, 0x0AA1CAA4, 0xCFA4A4A1, 0xA6A1A641, 0xA1A1A4A4, 0xA4A4A4A8, 0xA1A6A1A6, 0x42A1CB00, + 0xA5C7A1BC, 0xA5BFA4F2, 0xA1A2A4B1, 0xA4B7A4DE, 0xA4B9A4AB, 0xA1A90AA1, 0xCAA4CFA4, 0xA4A1A6A1, 0xA641A1A1, + 0xA4A4A4A4, 0xA4A8A1A6, 0xA1A642A1, 0xCB000000, 0xA4D4A4AD, 0xA4BDA4ED, 0xA4A4A4DE, 0xA4B7A4BF, 0xA1A30000, + 0xA4AAA4E1, 0xA4C7A4C8, 0xA4A6A4B4, 0xA4B6A4A4, 0xA4DEA4B9, 0xA1A30000, 0xA5C8A5EC, 0xA1BCA5CA, 0xA1BC0000, + 0xA5ECA5F3, 0xA5BFA5EB, 0x00000000, 0xA3B1A3B5, 0xA3B1A4D4, 0xA4ADA4CE, 0xA5C0A5DF, 0xA1BCA5C7, 0xA1BCA5BF, + 0xA4F2A1A2, 0xA4ABA4AD, 0xA4B3A4DF, 0xA4DEA4B9, 0xA4ABA1A9, 0x0AA1CAA4, 0xCFA4A4A1, 0xA6A1A641, 0xA1A1A4A4, + 0xA4A4A4A8, 0xA1A6A1A6, 0x42A1CB00, 0xA3B1A3B5, 0xA3B1A4D4, 0xA4ADA4CE, 0xA5C7A1BC, 0xA5BFA4F2, 0xA1A2A4B1, + 0xA4B7A4DE, 0xA4B9A4AB, 0xA1A90AA1, 0xCAA4CFA4, 0xA4A1A6A1, 0xA641A1A1, 0xA4A4A4A4, 0xA4A8A1A6, 0xA1A642A1, + 0xCB000000, 0x64756D6D, 0x792D6B75, 0x6E6E0000, 0x64756D6D, 0x792D6F79, 0x61000000, 0x77696C6C, 0x20796F75, + 0x20777269, 0x74652064, 0x756D6D79, 0x20646174, 0x613F0A28, 0x7965732E, 0x2E2E4120, 0x6E6F2E2E, 0x2E422900, + 0x77696C6C, 0x20796F75, 0x20657261, 0x73652064, 0x6174613F, 0x0A287965, 0x732E2E2E, 0x41206E6F, 0x2E2E2E42, + 0x29000000, 0x77696C6C, 0x20796F75, 0x20777269, 0x74652031, 0x35312064, 0x756D6D79, 0x20646174, 0x613F0A28, + 0x7965732E, 0x2E2E4120, 0x6E6F2E2E, 0x2E422900, 0x77696C6C, 0x20796F75, 0x20657261, 0x73652031, 0x35312064, + 0x6174613F, 0x0A287965, 0x732E2E2E, 0x41206E6F, 0x2E2E2E42, 0x29000000, 0x74726169, 0x6E657200, +}; +static u32 D_826040E0[] = { + 0xA5CBA5F3, 0xA5C6A5F3, 0xA5C9A5A6, 0xA5ABA5C3, 0xA5D7A1A1, 0xA3B9A3B7, 0x00000000, +}; +static u32 D_826040FC[] = { + 0xA5CBA5F3, 0xA5C6A5F3, 0xA5C9A5A6, 0xA5ABA5C3, 0xA5D7A1A1, 0xA3B9A3B8, 0x00000000, +}; +static u32 D_82604118[] = { + 0xA5CBA5F3, 0xA5C6A5F3, 0xA5C9A5A6, 0xA5ABA5C3, 0xA5D7A1A1, 0xA3B9A3B9, 0x00000000, +}; +static u32 D_82604134[] = { + 0xA5D5A5A1, 0xA5F3A5B7, 0xA1BCA5AB, 0xA5C3A5D7, 0x00000000, +}; +static u32 D_82604148[] = { + 0xA5A4A5A8, + 0xA5EDA1BC, + 0xA5ABA5C3, + 0xA5D70000, +}; +static u32 D_82604158[] = { + 0xA5A6A5EB, + 0xA5C8A5E9, + 0xA5ABA5C3, + 0xA5D70000, +}; +static u32 D_82604168[] = { + 0xA5B8A5E0, 0xA5EAA1BC, 0xA5C0A1BC, 0xA4CEA4B7, 0xA4ED0000, 0xA1C70000, +}; +static unk_D_82604180 D_82604180[] = { + { + 4.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 7.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -60.0f, + }, + { + 4.900000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 3.4000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -40.0f, + }, + { + 8.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -30.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 4.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 17.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -30.0f, + }, + { + 7.0f, + 0x000D, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 6.199999809265137f, + 0x0003, + 0x0000, + 0.0f, + 120.0f, + -40.0f, + }, + { + 15.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 8.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.199999809265137f, + 0x0000, + 0x0000, + 0.0f, + 160.0f, + -20.0f, + }, + { + 15.0f, + 0x001C, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.599999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 4.199999809265137f, + 0x0005, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 8.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 6.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 15.0f, + 0x0032, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 6.5f, + 0x0020, + 0x0000, + 0.0f, + 60.0f, + 50.0f, + }, + { + 7.5f, + 0x001D, + 0x0000, + 10.0f, + -10.0f, + -20.0f, + }, + { + 3.5999999046325684f, + 0x0022, + 0x0000, + 0.0f, + 0.0f, + -50.0f, + }, + { + 10.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 7.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 7.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 8.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 5.400000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -40.0f, + }, + { + 4.699999809265137f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 30.0f, + }, + { + 6.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 5.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 50.0f, + }, + { + 6.5f, + 0x0001, + 0x0000, + -10.0f, + 0.0f, + -20.0f, + }, + { + 3.9000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 7.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 5.599999904632568f, + 0x003F, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 6.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.900000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + 0.0f, + -400.0f, + -20.0f, + }, + { + 4.099999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 8.0f, + 0x000A, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 10.0f, + }, + { + 4.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 10.0f, + }, + { + 7.900000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.699999809265137f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -30.0f, + }, + { + 3.4000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.400000095367432f, + 0x0002, + 0x0000, + 0.0f, + 90.0f, + -30.0f, + }, + { + 14.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 11.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 6.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.9000000953674316f, + 0x0000, + 0x0000, + 20.0f, + 0.0f, + -20.0f, + }, + { + 7.599999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 5.099999904632568f, + 0xFFFF, + 0x0000, + 50.0f, + 0.0f, + 10.0f, + }, + { + 6.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -50.0f, + }, + { + 2.9000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.300000190734863f, + 0x0011, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 4.0f, + 0x0017, + 0x0000, + -10.0f, + 0.0f, + 0.0f, + }, + { + 5.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.900000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 7.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 30.0f, + }, + { + 4.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 4.199999809265137f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 6.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -30.0f, + }, + { + 5.0f, + 0x0000, + 0x0000, + 0.0f, + -100.0f, + 20.0f, + }, + { + 3.0f, + 0x0000, + 0x0000, + 0.0f, + 130.0f, + -40.0f, + }, + { + 4.699999809265137f, + 0x0000, + 0x0000, + 0.0f, + 140.0f, + 40.0f, + }, + { + 3.299999952316284f, + 0x0000, + 0x0000, + 0.0f, + 180.0f, + 10.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + 0.0f, + -160.0f, + 0.0f, + }, + { + 4.900000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.099999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 4.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.0999999046325684f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.799999952316284f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.5999999046325684f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 7.0f, + 0x0000, + 0x0000, + 0.0f, + -220.0f, + 0.0f, + }, + { + 6.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 160.0f, + 0.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.700000047683716f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.4000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.699999809265137f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 8.0f, + 0x0000, + 0x0000, + 0.0f, + 150.0f, + 90.0f, + }, + { + 3.200000047683716f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 2.299999952316284f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -40.0f, + }, + { + 8.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 30.0f, + }, + { + 2.9000000953674316f, + 0x0000, + 0x0000, + 0.0f, + -60.0f, + -30.0f, + }, + { + 2.200000047683716f, + 0x0000, + 0x0000, + -10.0f, + 80.0f, + -30.0f, + }, + { + 2.5f, + 0x0000, + 0x0000, + 0.0f, + 110.0f, + 0.0f, + }, + { + 3.799999952316284f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 2.0f, + 0x0000, + 0x0000, + 10.0f, + 0.0f, + -110.0f, + }, + { + 4.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 2.4000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 7.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 4.199999809265137f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 30.0f, + }, + { + 4.599999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.299999952316284f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 10.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 5.599999904632568f, + 0x0000, + 0x0000, + 20.0f, + 0.0f, + 0.0f, + }, + { + 3.799999952316284f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.699999809265137f, + 0x0000, + 0x0000, + 20.0f, + 0.0f, + -20.0f, + }, + { + 4.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 6.699999809265137f, + 0x0000, + 0x0000, + 0.0f, + 110.0f, + 0.0f, + }, + { + 4.900000095367432f, + 0x0000, + 0x0000, + 0.0f, + 140.0f, + 0.0f, + }, + { + 4.400000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 10.0f, + }, + { + 3.299999952316284f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.300000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 5.199999809265137f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 2.799999952316284f, + 0x0000, + 0x0000, + 10.0f, + 0.0f, + -50.0f, + }, + { + 9.0f, + 0x0000, + 0x0000, + 0.0f, + 120.0f, + 0.0f, + }, + { + 4.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 120.0f, + -20.0f, + }, + { + 11.0f, + 0x0007, + 0x0000, + -30.0f, + 80.0f, + -80.0f, + }, + { + 5.5f, + 0x0000, + 0x0000, + -50.0f, + 120.0f, + -30.0f, + }, + { + 7.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 5.400000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 4.900000095367432f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.099999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 50.0f, + }, + { + 3.9000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -30.0f, + }, + { + 4.699999809265137f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 4.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -20.0f, + }, + { + 3.9000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 20.0f, + }, + { + 3.799999952316284f, + 0x0004, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 2.200000047683716f, + 0x0000, + 0x0000, + 0.0f, + -110.0f, + 0.0f, + }, + { + 2.0f, + 0x0000, + 0x0000, + 0.0f, + -40.0f, + -10.0f, + }, + { + 7.599999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 11.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 5.400000095367432f, + 0x0000, + 0x0000, + 40.0f, + 0.0f, + 70.0f, + }, + { + 6.599999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 5.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.5f, + 0x0000, + 0x0000, + 0.0f, + -230.0f, + -10.0f, + }, + { + 9.600000381469727f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 50.0f, + }, + { + 4.599999904632568f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 40.0f, + }, + { + 5.800000190734863f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 4.699999809265137f, + 0x0000, + 0x0000, + -10.0f, + 0.0f, + 0.0f, + }, + { + 2.5f, + 0x001D, + 0x0000, + 0.0f, + 20.0f, + 0.0f, + }, + { + 3.299999952316284f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -30.0f, + }, + { + 3.0f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 2.700000047683716f, + 0x0003, + 0x0000, + 0.0f, + 140.0f, + -10.0f, + }, + { + 2.5999999046325684f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 3.9000000953674316f, + 0x0000, + 0x0000, + -50.0f, + 0.0f, + 20.0f, + }, + { + 3.0999999046325684f, + 0x0000, + 0x0000, + -80.0f, + 0.0f, + 0.0f, + }, + { + 2.5999999046325684f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + -10.0f, + }, + { + 2.9000000953674316f, + 0x0000, + 0x0000, + 0.0f, + 0.0f, + 0.0f, + }, + { + 9.5f, + 0x0000, + 0x0000, + 0.0f, + 100.0f, + 0.0f, + }, +}; +static Gfx D_82604D50[] = { + gsSPEndDisplayList(), +}; +static u32 D_82604D58[] = { + 0x00000000, 0x00000000, 0x080110C3, 0x31473189, 0x294518C3, 0x10410001, 0x6B0D6B0D, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x080110C3, 0x31473187, 0x294718C3, 0x10430841, 0x62CB6B0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473189, + 0x294518C3, 0x10430001, 0x6B0B6B0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, 0x10430001, + 0x6B0B6B0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, 0x10410001, 0x6B0D6B0D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, 0x10430841, 0x62CB6B0D, 0x41C73186, 0x18C20000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, + 0x31473187, 0x294718C3, 0x10410041, 0x6ACD6B0D, 0x6B0D6B0D, 0x6B0D4209, 0x29040840, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, + 0x10430001, 0x6B0B6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D41C7, 0x19040000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473189, 0x294518C3, 0x10430001, 0x31433985, + 0x41C95249, 0x5ACB6ACB, 0x6B0D6B0D, 0x52892906, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x080110C3, 0x29473147, 0x18C31043, 0x10410841, 0x18411883, 0x18C120C3, 0x31454A09, + 0x62CB6B0B, 0x6B0D5ACB, 0x31460000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x08011083, 0x18C328C1, 0x29013141, 0x39413941, 0x39413141, 0x290120C1, 0x208320C3, 0x39855A8B, 0x630B6B0D, + 0x5ACB2904, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08412081, 0x49C37305, + 0x9C87BD0D, 0xC5CBCDCD, 0xCDCDB50B, 0x9C897B05, 0x41C128C1, 0x18833145, 0x52496B0D, 0x6B0D5289, 0x20C40000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000840, 0x20C18385, 0xBD4DACCB, 0x6B4741C5, 0x18830041, + 0x18834205, 0x7307ACCB, 0xBD8B7B47, 0x29012081, 0x3145528B, 0x6B0B6B0D, 0x41C70042, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000020C1, 0x9C49CDCD, 0x73473103, 0x49C17B01, 0x9C41B4C1, 0x9C017B41, 0x49C13103, + 0x7387CD8D, 0x94493101, 0x188339C5, 0x628B6B0D, 0x6B0D2104, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x18817B85, 0xCDCD6AC9, 0x41818BC1, 0xB4C1B4C1, 0xB4C1B4C1, 0xB4C1B4C1, 0xB4C18B81, 0x41816307, 0xCDCD7B47, + 0x28C120C3, 0x4A07630D, 0x6B0D4209, 0x00000000, 0x00000000, 0x00000000, 0x00000840, 0x4181BD4D, 0x7B474181, + 0xB4C1B4C1, 0xB4C1B4C1, 0xB4C1B4C1, 0xB4C1B4C1, 0xB4C1AC81, 0x9C014181, 0x7B89BD4B, 0x418120C3, 0x314562CB, + 0x62CD6B0D, 0x18C20000, 0x00000000, 0x00000000, 0x00001881, 0x7345ACCB, 0x290393C1, 0xB4C1B4C1, 0x94015A41, + 0x20810001, 0x20C15A41, 0x8C01AC81, 0xA4417301, 0x3143ACCB, 0x730520C1, 0x20C35249, 0x6B0D6B0D, 0x29440000, + 0x00000000, 0x00000000, 0x00002901, 0x9C497307, 0x49C1B4C1, 0xB4C19401, 0x20834A05, 0x8C0BB551, 0x8BCB4A07, + 0x20C193C1, 0x9C418381, 0x41817347, 0x9C493101, 0x188341C7, 0x6B0D6B0D, 0x41C70000, 0x00000000, 0x00000000, + 0x00003141, 0xBD0B39C5, 0x7B41BCC1, 0xB4C15A41, 0x4A05D615, 0xD615D615, 0xCE15C5D3, 0x4A056281, 0x93C37B41, + 0x5A4341C3, 0xB54D3101, 0x18813985, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x00003941, 0xC5CD18C3, + 0x9C01BCC1, 0xB4C120C1, 0x8BCBD615, 0xD615CE15, 0xCDD3C5D3, 0x838D2901, 0x8BC17B43, 0x5A411883, 0xC5CB3941, + 0x10833143, 0x6ACD6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x00003941, 0xC5CD0001, 0x39433143, 0x31430843, + 0xBD51D615, 0xCE15D615, 0xC5D3BD53, 0xA48F0881, 0x39853945, 0x31430001, 0xCDCD3941, 0x08410001, 0x00010801, + 0x00010801, 0x00010001, 0x08010001, 0x00003941, 0xC5CD18C3, 0xBD51D615, 0xD6153145, 0x8BCBCE15, 0xD615CDD5, + 0xC593BD93, 0x7B8B3945, 0x8C0D6B0B, 0x62C91881, 0xC5CD3941, 0x10410843, 0x10431043, 0x10431043, 0x10431043, + 0x10431043, 0x00003141, 0xBD0B39C5, 0x944DD615, 0xD6156B09, 0x4A05D615, 0xCE15CDD3, 0xC593B553, 0x4A056B09, + 0x7B8D6B09, 0x5A8941C5, 0xBD4B3101, 0x108118C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x00002901, + 0x9C497307, 0x5A89D613, 0xCE15B511, 0x29054A05, 0x83CDB50F, 0x83CB4A47, 0x394783CB, 0x734B62C9, 0x4A077307, + 0x9C493101, 0x18C32945, 0x29452945, 0x21452945, 0x29452945, 0x29452945, 0x00001881, 0x7345ACCB, 0x3145ACCF, + 0xC5D5CDD3, 0xACD16B09, 0x31451043, 0x31456B09, 0x8C0D7B8B, 0x6ACB5AC7, 0x3945ACCB, 0x734520C3, 0x29053989, + 0x31873189, 0x31873187, 0x31893189, 0x31873187, 0x00000840, 0x4181BD4D, 0x7B474A47, 0xBD53BD53, 0xC591BD53, + 0xB591B513, 0xACCF944F, 0x83CD6B0B, 0x62874207, 0x7B49BD4B, 0x49C11885, 0x31853147, 0x31473147, 0x31473147, + 0x31473147, 0x31473147, 0x00000000, 0x18817B85, 0xCDCD6289, 0x520583CD, 0xA4CF9C8F, 0xA48FA4D1, 0x944D838D, + 0x734B5A89, 0x4A056287, 0xC5CD8347, 0x20C11083, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, + 0x00000000, 0x000020C1, 0x9C49CDCD, 0x73473945, 0x52076B49, 0x7B4B7B8D, 0x7B4B6309, 0x52053145, 0x7B89C58D, + 0x9C4928C1, 0x08410001, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x00000000, 0x00000840, + 0x20C17B45, 0xBD4DAD0B, 0x730741C5, 0x18C30001, 0x18C341C5, 0x6B47ACCB, 0xBD4B8387, 0x20C10800, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001881, 0x41C17B05, + 0x9C89BD0B, 0xC5CDCDCD, 0xCDCDB50B, 0x9C897B05, 0x41C11881, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08401081, 0x28C13141, 0x39413941, + 0x39413141, 0x20C11881, 0x08400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +}; +static Gfx D_82605558[] = { + gsSPEndDisplayList(), +}; +static u32 D_82605560[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x08000000, 0x08000800, 0x08000000, 0x08000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10401881, + 0x28C13101, 0x39813941, 0x39413141, 0x28C11881, 0x08400800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08001881, 0x49C17B45, 0xACC7CD8B, 0xDE4DDE4D, + 0xDE4DCD8B, 0xACC97B43, 0x49C11881, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000840, 0x20C18B85, 0xCDCBBD4D, 0x738741C3, 0x18810001, 0x18C141C5, 0x7347BD4B, + 0xCDCB8BC5, 0x20C11041, 0x00010801, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x00000000, + 0x000020C1, 0xAC87DE4D, 0x7B893101, 0x49C18381, 0xAC81C501, 0xAC818381, 0x49C13101, 0x8387DE4D, 0xA48928C1, + 0x108118C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x00000000, 0x18818BC5, 0xDE4D6B07, + 0x41819C01, 0xCD41C541, 0xC541C541, 0xC541C501, 0xC54193C1, 0x41817347, 0xDE4D8385, 0x28C12105, 0x31473147, + 0x31473147, 0x31473147, 0x31473147, 0x31473147, 0x00000840, 0x4181CDCB, 0x83894181, 0xC541C541, 0xC541C541, + 0xC541C541, 0xC541C501, 0xC541BCC1, 0xAC814181, 0x8387CDCD, 0x49C120C3, 0x31893187, 0x31893189, 0x31873187, + 0x31893189, 0x31873187, 0x00001881, 0x7B45BD4B, 0x29019C41, 0xCD01C541, 0xA4415A41, 0x20810001, 0x18816281, + 0x9C41BD01, 0xAC818341, 0x2901BD4B, 0x7B852081, 0x21052905, 0x29452945, 0x21452945, 0x29452945, 0x29452945, + 0x00002901, 0xAC897387, 0x51C1C501, 0xC541A441, 0x18815205, 0x944BC591, 0x944D5205, 0x20C19C41, 0xAC418BC1, + 0x49C17B47, 0xACC928C1, 0x108118C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x00003141, 0xCD8B41C5, + 0x8381C541, 0xC5415A41, 0x5205E6D5, 0xE697EED5, 0xDE95DE15, 0x52456281, 0x9C418B81, 0x5A4141C3, 0xCDCD3101, + 0x08411041, 0x10431043, 0x10431043, 0x10431043, 0x10431043, 0x00003941, 0xDE4D1081, 0xAC81C541, 0xC5412081, + 0x944BE697, 0xEE95E695, 0xDE95D615, 0x8C0B28C1, 0x9C418341, 0x5A811881, 0xDE4D3941, 0x00010801, 0x00010801, + 0x00010801, 0x00010001, 0x08010001, 0x00003941, 0xDE4D0001, 0x31433143, 0x31430801, 0xC5D1EE97, 0xE6D5E655, + 0xDE95CDD3, 0xAD0F0841, 0x39853943, 0x31430001, 0xDE4D3941, 0x10413143, 0x62CD6B0D, 0x6B0D6B0D, 0x6B0D6B0D, + 0x6B0D6B0D, 0x00003941, 0xDE4D1081, 0xCDD3EED5, 0xE6973143, 0x940BEED7, 0xE695DE55, 0xD655CDD3, 0x8BCB3985, + 0x940D7B89, 0x62C91081, 0xDE4D3941, 0x10413987, 0x6ACB6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x00003141, + 0xCD8B41C5, 0x9C8BEED7, 0xE6977347, 0x5205E6D7, 0xE695DE55, 0xD613C593, 0x52456B09, 0x8C0B730B, 0x62C741C3, + 0xCDCB3101, 0x108341C7, 0x6B0D6B0D, 0x41C60000, 0x00000000, 0x00000000, 0x00002901, 0xAC897387, 0x6287E695, + 0xEE95BD91, 0x29054A05, 0x944BC551, 0x8C0B5245, 0x3145940D, 0x7BCB6AC7, 0x52077B87, 0xA4873101, 0x18835249, + 0x630D6B0D, 0x29440000, 0x00000000, 0x00000000, 0x00001881, 0x7B45BD4B, 0x3983B511, 0xDE53DE55, 0xBD917309, + 0x31450841, 0x31457309, 0x944B8BCD, 0x6B0962C7, 0x3985BD4B, 0x7B452081, 0x2943628B, 0x630D6B0D, 0x18C20000, + 0x00000000, 0x00000000, 0x00000840, 0x4181CDCB, 0x83895245, 0xCDD3D5D3, 0xCE13CE13, 0xCDD3C593, 0xB551A48F, + 0x940D7349, 0x62C949C5, 0x8387CDCD, 0x41C12081, 0x42076B0D, 0x6B0D4208, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x18818BC5, 0xDE4D62C7, 0x5205944D, 0xACCFB511, 0xB511AD0F, 0x9C8F940D, 0x73496AC9, 0x4A0562C7, + 0xDE4D8BC5, 0x20813145, 0x5ACB6ACD, 0x6B0D2104, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000020C1, + 0xAC87DE4D, 0x7B893983, 0x52077B49, 0x83CB83CB, 0x838B6B09, 0x52453945, 0x8387DE4D, 0xA4872901, 0x20C55249, + 0x6B0D6B0D, 0x41C60042, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000840, 0x20C18B85, 0xCDCBBD4D, + 0x738741C3, 0x18810001, 0x18C141C5, 0x7347BD4B, 0xCDCB8BC5, 0x31033183, 0x524B6B0B, 0x6B0D5289, 0x20C40000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08012103, 0x49C18343, 0xACC9C5CB, 0xDE0DDE4D, + 0xDE4DCD8B, 0xACC97B43, 0x49C13143, 0x39875A89, 0x630D6B0D, 0x5ACB2904, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473185, 0x39433141, 0x39413941, 0x31413941, 0x31433103, + 0x39834A09, 0x5ACB6B0D, 0x6B0D5ACB, 0x31460000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x080110C3, 0x31473189, 0x294518C3, 0x10430001, 0x31433985, 0x41C95249, 0x5ACB6ACB, 0x6B0D6B0D, + 0x52892906, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, + 0x31473187, 0x294718C3, 0x10430001, 0x6B0B6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D41C6, 0x19040000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, + 0x10410041, 0x6ACD6B0D, 0x6B0D6B0D, 0x6B0D4208, 0x29040840, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, 0x10430841, 0x62CB6B0D, + 0x41C63186, 0x18C20000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, 0x10410001, 0x6B0D6B0D, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x080110C3, 0x31473187, 0x294718C3, 0x10430001, 0x6B0B6B0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473189, + 0x294518C3, 0x10430001, 0x6B0B6B0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473187, 0x294718C3, 0x10430841, + 0x62CB6B0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080110C3, 0x31473189, 0x294518C3, 0x10410001, 0x6B0D6B0D, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +}; +static Gfx D_82605D60[] = { + gsSPEndDisplayList(), +}; +static u32 D_82605D68[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08010801, 0x08010801, 0x08010801, 0x08010801, + 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x18C318C3, 0x18C318C3, 0x18C310C3, 0x18C318C3, 0x18C318C3, + 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x31473147, 0x31473147, 0x31473147, 0x31473147, 0x31473147, 0x31473147, + 0x31473147, 0x31473147, 0x31893189, 0x31893187, 0x31873189, 0x31893189, 0x31873187, 0x31893189, 0x31893189, + 0x31873187, 0x29452945, 0x29452945, 0x29452945, 0x29452945, 0x29452945, 0x29452945, 0x29452945, 0x29452945, + 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x18C318C3, 0x10431043, + 0x10431043, 0x10431043, 0x10431043, 0x10431043, 0x10431043, 0x10431043, 0x10431043, 0x00010001, 0x00010801, + 0x00010001, 0x00010001, 0x08010001, 0x00010001, 0x00010001, 0x08010001, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, + 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, + 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x6B0D6B0D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, +}; +static Gfx D_82605F68[] = { + gsSPEndDisplayList(), +}; +static u32 D_82605F70[] = { + 0x00000000, 0x00000000, 0x080120C3, 0x398949CB, 0x394520C5, 0x10810001, 0x9CDF9CDF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x080120C3, 0x398941C9, 0x394728C5, 0x10810801, 0x94DF9CDF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398941C9, + 0x394728C5, 0x10810001, 0x9CDF9CDF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398949C9, 0x314728C5, 0x10410041, + 0x9CDF9CDF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398949C9, 0x314728C5, 0x10810001, 0x9CDF9CDF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x080120C3, 0x398949C9, 0x394720C5, 0x10810801, 0x94DF9CDF, 0x63534A4E, 0x21480000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, + 0x398949C9, 0x314728C5, 0x10810801, 0x94DF9CDF, 0x9CDF9CDF, 0x951F6B55, 0x39CA0842, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398949C9, 0x314728C5, + 0x10810001, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF6353, 0x29880000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398949C9, 0x394720C5, 0x10810801, 0x5AD36353, + 0x73978419, 0x8CDD9CDF, 0x9CDF9CDF, 0x7C59420C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x080120C3, 0x39893147, 0x21051043, 0x10410041, 0x20C72147, 0x318B420D, 0x63137BD9, + 0x8CDD9CDD, 0x9CDF8CDD, 0x424C0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x080118C3, 0x188518C5, 0x21072947, 0x21072947, 0x29472907, 0x21071907, 0x294741CD, 0x6B95845B, 0x94DF9CDF, + 0x8CDD420A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080110C5, 0x398B5B15, + 0x845DA523, 0xADA7B5A7, 0xB5A79D23, 0x845D62D5, 0x31CB20C7, 0x318B5B11, 0x841B951D, 0x9CDF7C59, 0x29480000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x21076315, 0xA56594A1, 0x5B1539CB, 0x10850001, + 0x108531CD, 0x631594A1, 0xA5636317, 0x21072989, 0x5AD18C5B, 0x951F9CDF, 0x63530842, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x000018C5, 0x841DADA7, 0x6B572107, 0x31CB5AD1, 0x7397845B, 0x6B975AD1, 0x39CB2107, + 0x6B59ADA7, 0x841B2107, 0x318B6B55, 0x94DD94DD, 0x9CDF3A0A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x10856355, 0xB5A75AD5, 0x29896B55, 0x845B845B, 0x845B845B, 0x8419845B, 0x841B6313, 0x29895AD5, 0xB5A76357, + 0x18C5420D, 0x7C1994DD, 0x9CDF6395, 0x00000000, 0x00000000, 0x00000000, 0x00000840, 0x294BA565, 0x6B573189, + 0x7C1B8459, 0x845B845B, 0x845B8419, 0x845B845B, 0x841B7BD9, 0x6BD73149, 0x6B57A565, 0x318B2947, 0x5B13949D, + 0x94DF9D1F, 0x21060000, 0x00000000, 0x00000000, 0x00001083, 0x631594A1, 0x21096353, 0x845B845B, 0x6B553A0D, + 0x18830001, 0x10C5420D, 0x63557C19, 0x73975293, 0x21479CA1, 0x5B1520C5, 0x424D7C1B, 0x9CDD9CDF, 0x428E0000, + 0x00000000, 0x00000000, 0x000018C5, 0x845F6315, 0x318B8459, 0x845B6B55, 0x18C53A0F, 0x83DDADA7, 0x7BDB4251, + 0x18C56355, 0x73975B15, 0x31496315, 0x845F2107, 0x31897397, 0x951F9CDF, 0x63530000, 0x00000000, 0x00000000, + 0x00002107, 0x9D2339CD, 0x52D1845B, 0x845B39CD, 0x420DCEAF, 0xCE6FCEAD, 0xC62FBE2B, 0x420F420F, 0x6B975AD3, + 0x420D31CB, 0x9D232909, 0x29476315, 0x951F9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x00002947, 0xADA71085, + 0x7397845B, 0x845B1885, 0x7C1BCE6F, 0xC66FCE6F, 0xBE6DBDE9, 0x7BDD18C5, 0x6B975AD3, 0x3A0D1885, 0xADA72947, + 0x18C75B11, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x00002947, 0xADA70001, 0x294B2949, 0x29490843, + 0xAD67CEAF, 0xCE6FC66D, 0xBE2DB5A9, 0x9CE30843, 0x31CB314B, 0x29490001, 0xADA72947, 0x00030001, 0x00010801, + 0x08010001, 0x00010001, 0x08010001, 0x00002947, 0xADA71085, 0xB5A9CEAF, 0xCE6F2989, 0x7BDDCE6F, 0xCE6DC66F, + 0xBE2BB5A9, 0x739B318B, 0x845D6359, 0x5A931085, 0xADA72947, 0x08431041, 0x10431043, 0x10431043, 0x10431883, + 0x10431043, 0x00002107, 0x9D2339CD, 0x841FCEAD, 0xCE6F6355, 0x420FC66F, 0xCE6DBE2D, 0xBDEBADA7, 0x4A115B15, + 0x739B6317, 0x52D1318D, 0x9D232907, 0x108320C3, 0x20C320C3, 0x20C320C3, 0x20C320C3, 0x20C320C5, 0x000018C5, + 0x845F6315, 0x5293C66D, 0xCE6FA565, 0x294B420D, 0x7BDDA565, 0x7BDB4211, 0x298B7BDB, 0x739B5AD3, 0x420F5B17, + 0x8C5D20C7, 0x20C33147, 0x39473147, 0x39473947, 0x39473947, 0x39473947, 0x00001083, 0x631594A1, 0x298B9CE5, + 0xC62BC66D, 0x9D256317, 0x31490843, 0x298B6317, 0x841D739B, 0x63175293, 0x318B94E1, 0x5B1520C5, 0x314749C9, + 0x49C949C9, 0x49C949C9, 0x49C949C9, 0x49C949C9, 0x00000840, 0x294BA565, 0x6B574A4F, 0xB5ABB5E9, 0xB5A9B5EB, + 0xB5A9AD67, 0x9D2394A1, 0x7C1D6317, 0x5293420F, 0x6357A525, 0x318B20C5, 0x39894187, 0x41894189, 0x41894189, + 0x41894189, 0x41894189, 0x00000000, 0x10856355, 0xB5A752D3, 0x420F83DD, 0x94E39CE3, 0x9CE394E3, 0x94A17BDD, + 0x6B5952D3, 0x41CD52D5, 0xADA76B55, 0x108518C3, 0x208320C3, 0x20C320C3, 0x20C320C3, 0x20C320C3, 0x20C320C5, + 0x00000000, 0x000018C5, 0x841DADA7, 0x6B57298B, 0x4A0F6317, 0x739B73DB, 0x6B9962D5, 0x424F314B, 0x6B59ADA7, + 0x841B1907, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x08010001, 0x00000000, 0x00000000, + 0x18C56B57, 0x9D659CA1, 0x5B1531CB, 0x18850001, 0x1085318B, 0x631794E1, 0x9D236B57, 0x18C50040, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001085, 0x31895B15, + 0x8C1D9D23, 0xB5A7B5A7, 0xB5A79D23, 0x845D62D5, 0x318B1083, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08400845, 0x19052107, 0x29472947, + 0x29472107, 0x18C70883, 0x08400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +}; +static Gfx D_82606770[] = { + gsSPEndDisplayList(), +}; +static u32 D_82606778[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000840, 0x00000840, 0x08400000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08421083, + 0x21072107, 0x21472947, 0x29472109, 0x18C510C5, 0x08000040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000018C5, 0x318B5AD3, 0x8C5F9D23, 0xADA7B5A7, + 0xB5A79D23, 0x845D62D5, 0x318B10C5, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x21076315, 0xA56594A1, 0x5B1539CB, 0x10850001, 0x108531CD, 0x631594A1, + 0xA5636317, 0x18C50843, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x08010801, 0x08010001, 0x00000000, + 0x000018C5, 0x841DADA7, 0x6B572107, 0x31CB5AD1, 0x7397845B, 0x6B975AD1, 0x39CB2107, 0x6B59ADA7, 0x841B18C7, + 0x188120C5, 0x20C320C3, 0x20C320C3, 0x20C320C3, 0x20C320C3, 0x20C320C5, 0x00000000, 0x10856355, 0xB5A75AD5, + 0x29896B55, 0x845B845B, 0x845B845B, 0x8419845B, 0x841B6313, 0x29895AD5, 0xB5A76357, 0x18C53107, 0x41C74189, + 0x41894189, 0x41894189, 0x41894189, 0x41894189, 0x00000840, 0x294BA565, 0x6B573189, 0x7C1B8459, 0x845B845B, + 0x845B8419, 0x845B845B, 0x841B7BD9, 0x6BD73149, 0x6B57A565, 0x318B20C5, 0x41C949C9, 0x49C949C9, 0x49C949C9, + 0x49C949C9, 0x49C949C9, 0x00001083, 0x631594A1, 0x21096353, 0x845B845B, 0x6B553A0D, 0x18830001, 0x10C5420D, + 0x63557C19, 0x73975293, 0x21479CA1, 0x5B1518C5, 0x29053947, 0x39473147, 0x39473947, 0x39473947, 0x39473947, + 0x000018C5, 0x845F6315, 0x318B8459, 0x845B6B55, 0x18C53A0F, 0x83DDADA7, 0x7BDB4251, 0x18C56355, 0x73975B15, + 0x31496315, 0x845F1905, 0x188320C3, 0x20C320C3, 0x20C320C3, 0x20C320C3, 0x20C320C5, 0x00002107, 0x9D2339CD, + 0x52D1845B, 0x845B39CD, 0x420DCEAF, 0xCE6FCEAD, 0xC62FBE2B, 0x420F420F, 0x6B975AD3, 0x420D31CB, 0x9D232907, + 0x08431041, 0x10431043, 0x10431043, 0x10431883, 0x10431043, 0x00002947, 0xADA71085, 0x7397845B, 0x845B1885, + 0x7C1BCE6F, 0xC66FCE6F, 0xBE6DBDE9, 0x7BDD18C5, 0x6B975AD3, 0x3A0D1885, 0xADA72947, 0x00010001, 0x00010801, + 0x08010001, 0x00010001, 0x08010001, 0x00002947, 0xADA70001, 0x294B2949, 0x29490843, 0xAD67CEAF, 0xCE6FC66D, + 0xBE2DB5A9, 0x9CE30843, 0x31CB314B, 0x29490001, 0xADA72947, 0x10C562D3, 0x94DF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, + 0x9CDF9CDF, 0x00002947, 0xADA71085, 0xB5A9CEAF, 0xCE6F2989, 0x7BDDCE6F, 0xCE6DC66F, 0xBE2BB5A9, 0x739B318B, + 0x845D6359, 0x5A931085, 0xADA72947, 0x18C76B53, 0x94DF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x00002107, + 0x9D2339CD, 0x841FCEAD, 0xCE6F6355, 0x420FC66F, 0xCE6DBE2D, 0xBDEBADA7, 0x4A115B15, 0x739B6317, 0x52D1318D, + 0x9D232907, 0x29476B97, 0x9D1F9CDF, 0x63520000, 0x00000000, 0x00000000, 0x000018C5, 0x845F6315, 0x5293C66D, + 0xCE6FA565, 0x294B420D, 0x7BDDA565, 0x7BDB4211, 0x298B7BDB, 0x739B5AD3, 0x420F5B17, 0x8C5D2107, 0x318B8419, + 0x94DD9CDF, 0x428E0000, 0x00000000, 0x00000000, 0x00001083, 0x631594A1, 0x298B9CE5, 0xC62BC66D, 0x9D256317, + 0x31490843, 0x298B6317, 0x841D739B, 0x63175293, 0x318B94E1, 0x5B1520C5, 0x4A4F8CDD, 0x9CDF94DF, 0x29460000, + 0x00000000, 0x00000000, 0x00000840, 0x294BA565, 0x6B574A4F, 0xB5ABB5E9, 0xB5A9B5EB, 0xB5A9AD67, 0x9D2394A1, + 0x7C1D6317, 0x5293420F, 0x6357A525, 0x31CB2907, 0x73D99CDD, 0x9CDF6394, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x10856355, 0xB5A752D3, 0x420F83DD, 0x94E39CE3, 0x9CE394E3, 0x94A17BDD, 0x6B5952D3, 0x41CD52D5, + 0xADA76B55, 0x18C7528F, 0x8C9D9D1F, 0x9CDF3A0A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000018C5, + 0x841DADA7, 0x6B57298B, 0x4A0F6317, 0x739B73DB, 0x6B9962D5, 0x424F314B, 0x6B59ADA7, 0x841B2107, 0x39CB845B, + 0x951F9CDF, 0x63520842, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x21076315, 0xA56594A1, + 0x5B1539CB, 0x10850001, 0x108531CB, 0x631794A1, 0xA5636317, 0x39CB5B13, 0x84199D1F, 0x9CDF7C59, 0x29480000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08012105, 0x318B6315, 0x845FA523, 0xADA7B5A7, + 0xB5A79D23, 0x845D62D5, 0x39CD3A0D, 0x6B958C5B, 0x94DD9CDF, 0x8CDD420A, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x39893989, 0x29472107, 0x29492947, 0x21472949, 0x39CB420F, + 0x5B117BD9, 0x94DD9CDF, 0x9CDF8CDD, 0x424C0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x080120C3, 0x398949C9, 0x394720C5, 0x10810801, 0x5AD36353, 0x73978419, 0x8CDD9CDF, 0x9CDF9CDF, + 0x7C59420C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, + 0x398949C9, 0x314728C5, 0x10810001, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF6352, 0x29880000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398949C9, 0x314728C5, + 0x10810801, 0x94DF9CDF, 0x9CDF9CDF, 0x951F6B54, 0x39CA0842, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398949C9, 0x394720C5, 0x10810801, 0x94DF9CDF, + 0x63524A4E, 0x21480000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x080120C3, 0x398949C9, 0x314728C5, 0x10810001, 0x9CDF9CDF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x080120C3, 0x398949C9, 0x314728C5, 0x10410041, 0x9CDF9CDF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398941C9, + 0x394728C5, 0x10810001, 0x9CDF9CDF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398941C9, 0x394728C5, 0x10810801, + 0x94DF9CDF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x080120C3, 0x398949CB, 0x394520C5, 0x10810001, 0x9CDF9CDF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +}; +static Gfx D_82606F78[] = { + gsSPEndDisplayList(), +}; +static u32 D_82606F80[] = { + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x08010801, 0x08010801, 0x00010801, 0x08010801, + 0x08010001, 0x08010801, 0x08010801, 0x00010801, 0x20C320C3, 0x20C320C3, 0x20C520C3, 0x20C320C3, 0x20C320C5, + 0x20C320C3, 0x20C320C3, 0x20C520C3, 0x41894189, 0x41894189, 0x41894189, 0x41894189, 0x41894189, 0x41894189, + 0x41894189, 0x41894189, 0x49C949C9, 0x49C949C9, 0x49C949C9, 0x49C949C9, 0x49C949C9, 0x49C949C9, 0x49C949C9, + 0x49C949C9, 0x39473947, 0x39473947, 0x39473947, 0x39473947, 0x39473947, 0x39473947, 0x39473947, 0x39473947, + 0x20C320C3, 0x20C320C3, 0x20C520C3, 0x20C320C3, 0x20C320C5, 0x20C320C3, 0x20C320C3, 0x20C520C3, 0x10431043, + 0x18831043, 0x10431043, 0x10431883, 0x10431043, 0x10431043, 0x18831043, 0x10431043, 0x00010001, 0x00010801, + 0x00010001, 0x00010001, 0x08010001, 0x00010001, 0x00010801, 0x00010001, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, + 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, + 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x9CDF9CDF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, +}; +static u8* D_82607180[] = { + D_826040E0, D_826040FC, D_82604118, D_82604134, D_82604148, D_82604158, D_82604168, +}; +static s32 D_8260719C[] = { + 0x000000A8, 0x000000A8, 0x000000A8, 0x00000070, 0x00000062, 0x00000062, 0x0000007E, +}; +static Gfx D_826071B8[] = { + gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | + G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA), + gsSPSetGeometryMode(G_TEXTURE_ENABLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureFilter(G_TF_BILERP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTexturePersp(G_TP_NONE), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsSPEndDisplayList(), +}; +static u32 D_82607228[] = { + 0x0C00FFFF, 0x05000000, 0x0B00001E, 0x00000000, 0x014000F0, 0x00000000, 0x00000005, 0x000003E8, 0x05000000, + 0x0D000000, 0x05000000, 0x14000000, 0x002D0019, 0xFFFFFF28, 0x08000000, func_826007F0, 0x00000000, 0x14000000, + 0x002D0019, 0x96966428, 0x08000000, func_82600A34, 0x00000000, 0x16646464, 0x0F000003, 0x05000000, 0x0A000000, + &D_800AC840, 0x06000000, 0x06000000, 0x06000000, 0x06000000, 0x01000000, 0x00000000, +}; +static Gfx D_826072B0[] = { + gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | + G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA), + gsSPSetGeometryMode(G_TEXTURE_ENABLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPSetRenderMode(G_RM_AA_TEX_EDGE, G_RM_NOOP2), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureFilter(G_TF_BILERP), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTexturePersp(G_TP_NONE), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsSPEndDisplayList(), +}; +static s32 pad_82607320[2] = { 0, 0 }; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826007C8.s") +void func_82600020(void) { + s32 i; + s32 var_s1; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826007F0.s") + if (func_80028118() != 1) { + var_s1 = 0; + for (i = 0; i < 151; i++) { + if (func_826007C8(i + 1) != 0) { + var_s1++; + } + } -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600A34.s") + if (var_s1 == 0x97) { + D_8267E750 = 1; + } + } +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600C00.s") +s32 func_82600094(s8* arg0, s8* arg1) { + while (*arg0 == *arg1) { + if (*arg0 == 0) { + return 1; + } + arg0++; + arg1++; + } + return 0; +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600C10.s") +s32 func_826000D8(void) { + s32 sp44 = 0; + unk_func_800228F0 sp20; + char* tmp; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600CFC.s") + func_800228F0(&sp20, (D_82607B54 % D_8267E4F0) + 1); + tmp = func_8002311C(1); + if ((sp20.unk_02 == 0) && (func_82600094(&sp20.unk_14, tmp) == 1)) { + sp44 = 1; + } + return sp44; +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600D04.s") +Gfx* func_82600160(Gfx* arg0) { + s32 temp_v0 = func_826000D8(); -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600D44.s") + gSPDisplayList(arg0++, D_826071B8); -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82600F78.s") + if (temp_v0 == 0) { + gDPLoadTextureBlock(arg0++, D_82605560, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); + } else { + gDPLoadTextureBlock(arg0++, D_82606778, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); + } -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_8260125C.s") + gSPTextureRectangle(arg0++, 0x00A0, 0x0058, 0x0120, 0x00D8, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); + gSPTextureRectangle(arg0++, 0x03E0, 0x0058, 0x0460, 0x00D8, G_TX_RENDERTILE, 0x0400, 0, 0x0400, 0x0400); -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602294.s") + if (temp_v0 == 0) { + gDPLoadTextureBlock(arg0++, D_82604D58, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); + } else { + gDPLoadTextureBlock(arg0++, D_82605F70, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); + } -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602300.s") + gSPTextureRectangle(arg0++, 0x00A0, 0x0278, 0x0120, 0x02F8, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); + gSPTextureRectangle(arg0++, 0x03E0, 0x0278, 0x0460, 0x02F8, G_TX_RENDERTILE, 0x0400, 0, 0x0400, 0x0400); -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826024F4.s") + if (temp_v0 == 0) { + gDPLoadTextureBlock(arg0++, D_82605D68, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 16, 0, G_TX_MIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 4, 4, G_TX_NOLOD, G_TX_NOLOD); + } else { + gDPLoadTextureBlock(arg0++, D_82606F80, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 16, 0, G_TX_MIRROR | G_TX_WRAP, + G_TX_MIRROR | G_TX_WRAP, 4, 4, G_TX_NOLOD, G_TX_NOLOD); + } -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602578.s") + gSPTextureRectangle(arg0++, 0x0120, 0x0058, 0x03E0, 0x0098, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); + gSPTextureRectangleFlip(arg0++, 0x00A0, 0x00D8, 0x00E0, 0x0278, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); + gSPTextureRectangleFlip(arg0++, 0x0420, 0x00D8, 0x0460, 0x0278, G_TX_RENDERTILE, 0, 0x0200, 0x0400, 0x0400); + gSPTextureRectangle(arg0++, 0x0120, 0x02B8, 0x03E0, 0x02F8, G_TX_RENDERTILE, 0, 0x0200, 0x0400, 0x0400); -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602614.s") + return arg0; +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826026D4.s") +s32 func_826007C8(s32 arg0) { + UNUSED s32 pad; + unk_func_800228F0 sp18; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602820.s") + return func_800228F0(&sp18, arg0); +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826028B8.s") +s32 func_826007F0(s32 arg0, unk_D_86002F34_alt18* arg1) { + u8* ptr; + s16 idx = 5; + s16 sp30; // purposely the wrong type to fix the stack, should be f32 + s16 sp2E; + s16 sp2C; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826028CC.s") + if (arg0 == 2) { -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826028D4.s") + func_800102A4(&D_8006F088->unk_60.at, &D_8006F088->unk_60.eye, &sp30, &sp2E, &sp2C); + arg1->unk_1C = sp2E + 0x2000; + arg1->unk_1E = sp2C - 0x2000; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602A18.s") + ptr = &D_800AF770[idx]; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602A40.s") + if (D_8260854C == 1) { + D_8260854E = 5; + if (D_82608550 < 5) { + D_82608550++; + } + } else if (D_82608550 > 0) { + D_82608550--; + } -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602AB0.s") + arg1->r = (D_82608550 * 0xFF) / 5; + arg1->g = (D_82608550 * 0xFF) / 5; + arg1->b = (D_82608550 * 0x96) / 5; + arg1->a = (D_82608550 * 0x28) / 5; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602AD4.s") + *ptr = (D_82608550 * 0xFF) / 5; + D_826083D0.unk_0A6 = *ptr; + } + return 0; +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602B00.s") +s32 func_82600A34(s32 arg0, unk_D_86002F34_alt18* arg1) { + UNUSED s32 pad; + f32 sp30; + s16 sp2E; + s16 sp2C; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602B60.s") + if (arg0 == 2) { + func_800102A4(&D_8006F088->unk_60.at, &D_8006F088->unk_60.eye, &sp30, &sp2E, &sp2C); -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82602F18.s") + arg1->unk_1C = -0x2000 - sp2E; + arg1->unk_1E = sp2C + 0x6000; -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82603254.s") + arg1->r = (((D_82608550 * 0x96) - (D_82608550 * 0xA)) + 0x32) / 5; + arg1->g = (((D_82608550 * 0x96) - (D_82608550 * 0x64)) + 0x1F4) / 5; + arg1->b = (((D_82608550 * 0x64) - (D_82608550 * 0xFF)) + 0x4FB) / 5; + arg1->a = (((D_82608550 * 0x28) - (D_82608550 * 0xFF)) + 0x4FB) / 5; + } + return 0; +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_8260332C.s") +void func_82600C00(void) { +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82603414.s") +void func_82600C08(void) { +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826034EC.s") +void func_82600C10(void) { + D_82608558 = D_82607418->unk_0C; + D_8260853C = 0x450; + D_8260853E = 0; + D_82608540 = 0x578; + D_82608558->unk_24.near = 100.0f; + D_82608558->unk_24.far = 12800.0f; + D_82608558->unk_24.fovy = 30.0f; + D_82608558->unk_60.at.x = 0.0f; + D_82608558->unk_60.at.y = 20.0f; + D_82608558->unk_60.at.z = 0.0f; + func_80010354(&D_82608558->unk_60.at, &D_82608558->unk_60.eye, D_82608540, D_8260853C, D_8260853E); + D_8006F088 = D_82608558; +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_826035D4.s") +void func_82600CFC(void) { +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_8260365C.s") +void func_82600D04(void) { + Cont_StartReadInputs(); + Cont_ReadInputs(); + func_8001F730(); +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82603800.s") +void func_82600D34(void) { +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82603924.s") +void func_82600D3C(void) { +} -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/50/fragment50/func_82603D20.s") +void func_82600D44(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { + s32 tmp1 = 2560.0f / arg2; + s32 tmp2 = 2560.0f / arg2; + + if (func_826007C8(arg3 + 1) != 0) { + + gDPLoadTextureBlock(gDisplayListHead++, D_82608568[arg3], G_IM_FMT_RGBA, G_IM_SIZ_16b, 40, 40, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); + gSPTextureRectangle(gDisplayListHead++, (s32)(((arg0 + 0x1E) - (8.0f * arg2)) * 4.0f), + (s32)(((arg1 + 0x14) - (8.0f * arg2)) * 4.0f), + (s32)(((8.0f * arg2) + (arg0 + 0x1E)) * 4.0f), + (s32)(((8.0f * arg2) + (arg1 + 0x14)) * 4.0f), G_TX_RENDERTILE, 0, 0, tmp1, tmp2); + } +} + +void func_82600F78(void) { + s32 i; + f32 tmp; + + D_8267E4F4++; + + gSPDisplayList(gDisplayListHead++, D_826072B0); + + for (i = 0; i < 150; i++) { + + if (D_8267E750 == 1) { + D_8267E4F8[i] += + (((__sinf(((((D_8267E4EC - ((i % 15) * 2)) + 0x1C) % 30) * 6.28f) / 30.0f) * 0.2f) + 1.25f) - + D_8267E4F8[i]) / + 3.0f; + } else if (D_8267E4F4 >= 0x3D) { + D_8267E4F8[i] += + (((__sinf(((((D_8267E4EC - ((i % 15) * 2)) + 0x1C) % 30) * 6.28f) / 30.0f) * 0.2f) + 1.25f) - + D_8267E4F8[i]) / + 3.0f; + } + tmp = D_8267E4F8[i]; + func_82600D44(((i % 15) * 0x10) + 0x12, ((i / 15) * 0x10) + 0x12, tmp, i); + } + + if (func_826007C8(0x97) != 0) { + func_82600D44(0x82, 0xB2, 1.25f, 0x96); + } +} + +void func_8260125C(void) { + static u8 D_82607328[] = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + }; + static Color_RGB8 D_82607330 = { 0x00, 0x00, 0x1E }; + static Color_RGB8 D_82607334 = { 0x00, 0x00, 0x96 }; + + UNUSED s32 pad[1]; + Color_RGB8 sp1C8 = D_82607330; //{ 0x00, 0x00, 0x1E }; + Color_RGB8 sp1C4 = D_82607334; //{ 0x00, 0x00, 0x96 }; + + D_8267E4EC++; + + if (D_82608548 == 1) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0, 0, 255, 100); + + gDPPipeSync(gDisplayListHead++); + + gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE); + gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | + G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | + G_CLIPPING | 0x0040F9FA); + gSPSetGeometryMode(gDisplayListHead++, G_TEXTURE_ENABLE); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gDPSetRenderMode(gDisplayListHead++, G_RM_PASS, G_RM_ZB_XLU_SURF2); + gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PASS2); + + gDPLoadTextureBlock(gDisplayListHead++, D_82607328, G_IM_FMT_IA, G_IM_SIZ_16b, 2, 2, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); + gSPTextureRectangle(gDisplayListHead++, 0x006C, 0x0224, 0x032C, 0x0390, G_TX_RENDERTILE, 0, 0, 0, 0); + func_80020754(0x19, 0x87, 0xB4, 0x5F); + } else if (D_82608542 == 1) { + unk_func_800228F0 sp158; + UNUSED s32 pad2[1]; + + func_800228F0(&sp158, (D_82607B54 % D_8267E4F0) + 1); + + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0, 0, 0, 150); + + gDPPipeSync(gDisplayListHead++); + + gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE); + gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | + G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | + G_CLIPPING | 0x0040F9FA); + gSPSetGeometryMode(gDisplayListHead++, G_TEXTURE_ENABLE); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gDPSetRenderMode(gDisplayListHead++, G_RM_PASS, G_RM_ZB_XLU_SURF2); + gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PASS2); + + gDPLoadTextureBlock(gDisplayListHead++, D_82607328, G_IM_FMT_IA, G_IM_SIZ_16b, 2, 2, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); + gSPTextureRectangle(gDisplayListHead++, 0x00A8, 0x0060, 0x0458, 0x02F0, G_TX_RENDERTILE, 0, 0, 0, 0); + + gDisplayListHead = func_82600160(gDisplayListHead); + + if (sp158.unk_00 & 0x80) { + s32 temp_v0_2; + + gDPPipeSync(gDisplayListHead++); + + gDPSetCycleType(gDisplayListHead++, G_CYC_1CYCLE); + gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA); + + gDPLoadTextureBlock(gDisplayListHead++, D_3008200, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 16, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); + + temp_v0_2 = func_8001F5B0(4, 0, func_8002D7C0(NULL, 0, D_8267E75C, (((sp158.unk_00 & 0x7F) - 1) % 7) + 7)); + + gSPTextureRectangle(gDisplayListHead++, (temp_v0_2 + 0x49) << 2, 0x0264, (temp_v0_2 + 0x59) << 2, 0x02A4, + G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400); + } + } else if (D_82608544 == 1) { + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0, 0, 0, 180); + + gDPPipeSync(gDisplayListHead++); + + gDPSetCycleType(gDisplayListHead++, G_CYC_2CYCLE); + gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | + G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | + G_CLIPPING | 0x0040F9FA); + gSPSetGeometryMode(gDisplayListHead++, G_TEXTURE_ENABLE); + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); + gDPSetRenderMode(gDisplayListHead++, G_RM_PASS, G_RM_ZB_XLU_SURF2); + gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PASS2); + + gDPLoadTextureBlock(gDisplayListHead++, D_82607328, G_IM_FMT_IA, G_IM_SIZ_16b, 2, 2, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); + gSPTextureRectangle(gDisplayListHead++, 0x0080, 0x0058, 0x0480, 0x0370, G_TX_RENDERTILE, 0, 0, 0, 0); + + func_80020754(0x1E, 0x14, 0x104, 0xCA); + } + + if (D_82608544 == 1) { + func_82600F78(); + + gSPTextureRectangle(gDisplayListHead++, 0x0080, 0x0058, 0x0480, 0x0370, G_TX_RENDERTILE, 0, 0, 0, 0); + } + + func_8001F3F4(); + + if (D_82608548 == 1) { + unk_D_82604180* sp7C = &D_82604180[D_82607B54 % D_8267E4F0]; + + func_8001EBE0(2, 0); + func_8001F324(0xFF, 0xFF, 0xFF, 0xFF); + func_8001F1E8(0x1E, 0x8C, " --- No.%03d ---", (D_82607B54 % D_8267E4F0) + 1); + func_8001F1E8(0x1E, 0x98, " SCALE %3.1f", sp7C->unk_00); + func_8001F1E8(0x1E, 0xA4, " FRAME %d", sp7C->unk_04); + func_8001F1E8(0x1E, 0xBC, " POS-X %3.1f", sp7C->unk_08); + func_8001F1E8(0x1E, 0xC8, " POS-Y %3.1f", sp7C->unk_0C); + func_8001F1E8(0x1E, 0xD4, " POS-Z %3.1f", sp7C->unk_10); + } else if ((D_82608542 == 1) && (func_826007C8((D_82607B54 % D_8267E4F0) + 1) != 0)) { + unk_func_800228F0 sp58; + + func_800228F0(&sp58, (D_82607B54 % D_8267E4F0) + 1); + func_8001F324(0xFF, 0xFF, 0xFF, 0xFF); + func_8001EBE0(2, 0); + func_8001F1E8(0x58, 0x2E, "%s", func_8002D7C0(NULL, 0, D_8267E75C, 0)); + func_8001F1E8(0x58, 0x42, "%s", func_8002D7C0(NULL, 0, D_8267E75C, 1)); + func_8001F1E8(0x58, 0x56, "%s", func_8002D7C0(NULL, 0, D_8267E75C, 2)); + func_8001F1E8(0x58, 0x6A, "ID"); + func_8001F1E8(0x4C, 0x86, "%s", func_8002D7C0(NULL, 0, D_8267E75C, 4)); + + if (func_826000D8() > 0) { + func_8001F324(0x64, 0x64, 0xC8, 0xFF); + func_8001F1E8(0xD4, 0x6C, "%s", func_8002D7C0(NULL, 0, D_8267E75C, 3)); + } + + func_8001F470(); + func_8001F324(0xFF, 0xFF, 0xFF, 0xFF); + + if (func_826000D8() == 0) { + func_8001F36C(0xC8, 0xC8, 0, 0xFF); + } else { + func_8001F36C(0x64, 0x64, 0xC8, 0xFF); + } + + func_8001EBE0(8, 0); + func_8001F1E8(0x84, 0x2A, "%s", sp58.unk_04); + func_8001EBE0(4, 0); + func_8001F1E8(0x8C, 0x42, "%d", sp58.unk_01); + func_8001F1E8(0x8C, 0x56, "%s", sp58.unk_14); + func_8001F1E8(0x8C, 0x6A, "%05d", sp58.unk_02); + func_8001F1E8(0x46, 0x98, "%s", func_8002D7C0(NULL, 0, D_8267E75C, (((sp58.unk_00 & 0x7F) - 1) % 7) + 7)); + func_8001F4C4(); + } + + func_8001EBE0(2, 0); + func_8001F3B4(0xC); + + if (D_82608544 == 1) { + char sp38[32]; + UNUSED s32 pad3[1]; + + func_8001F324(0xFF, 0xFF, 0x64, 0xFF); + func_8002D600(3, D_8267E4EA); + func_8001F1E8(0xBE, 0xC2, "%s", func_8002D7C0(sp38, 0x20, D_8267E75C, 5)); + func_8001F1E8(0x2A, 0xC3, "%s", func_8002D7C0(NULL, 0, D_8267E75C, 6)); + } else if ((D_8267E4E8 == 1) && (D_82608542 == 0) && (D_82608552 == 2) && (D_82608550 == 5)) { + u16 temp_v1_70 = D_8267E758 % 32; + char* sp2C; + + D_8267E758++; + if (temp_v1_70 < 0x10) { + func_8001F324(0xFF, 0xFF, 0x64, (temp_v1_70 * 0xFF) / 15); + } else { + func_8001F324(0xFF, 0xFF, 0x64, ((-temp_v1_70 * 0xFF) + 0x1EE1) / 15); + } + sp2C = func_8002D7C0(NULL, 0, D_8267E75C, 0x14); + func_8001F1E8(0xA0 - (func_8001F5B0(0, 0, sp2C) / 2), 0xA2, "%s", sp2C); + } else if (D_8267E4E8 == 1) { + D_8267E758 = 0; + } + + func_8001F444(); +} + +void func_82602294(void) { + func_800079C4(); + func_8000699C(&gDisplayListHead, 0x2A9); + func_800067E4(&gDisplayListHead, 0, 0, 0x140, 0xF0); + func_80015094(D_82607418); + func_8260125C(); + func_80007778(); +} + +void func_82602300(s16 arg0) { + UNUSED s32 pad[3]; + s32 tmp = 0xF000; + f32 temp_fs0; + s32 idx = (D_82607B50 + arg0 + 5) % 5; + unk_D_82607420* temp_s0 = &D_82607420[idx]; + unk_D_82604180* temp_s1 = &D_82604180[temp_s0->unk_000 - 1]; + + if (func_826007C8(temp_s0->unk_000) == 0) { + return; + } + + temp_s0->unk_008.unk_0A6 = 0xFF; + func_8001BC34(&temp_s0->unk_008, 0, temp_s0->unk_000, temp_s0->unk_004->unk_08->unk_00[0]); + + if (temp_s0->unk_000 == 0x90) { + func_8001BD04(&temp_s0->unk_008, 0xB); + } else { + func_8001BD04(&temp_s0->unk_008, 1); + } + + temp_s0->unk_008.unk_000.unk_02 &= ~0x40; + func_8000E88C(&temp_s0->unk_008.unk_030, temp_s1->unk_00, temp_s1->unk_00, temp_s1->unk_00); + + temp_fs0 = (tmp * 6.283f) / 65536.0f; + temp_s0->unk_008.unk_024.x = + ((-temp_s1->unk_08 * __cosf(temp_fs0)) - (__sinf(temp_fs0) * temp_s1->unk_10)) + (arg0 * 0x258); + temp_s0->unk_008.unk_024.y = temp_s1->unk_0C; + temp_s0->unk_008.unk_024.z = (temp_s1->unk_08 * __sinf(temp_fs0)) - (__cosf(temp_fs0) * temp_s1->unk_10); + + temp_s0->unk_008.unk_01E.y = tmp; + temp_s0->unk_008.unk_040.unk_08 = temp_s1->unk_04 << 0x10; + temp_s0->unk_008.unk_040.unk_0C = 0; + temp_s0->unk_008.unk_01C = D_82608546; +} + +void func_826024F4(s16 arg0) { + s32 sp1C = (D_82607B50 + arg0 + 5) % 5; + + func_82602300(arg0); + func_82603800(sp1C, arg0 * 600.0f); +} + +void func_82602570(void) { +} + +void func_82602578(s16 arg0) { + s32 sp1C = (D_82607B50 + arg0 + 5) % 5; + + func_8001BCF0(&D_82607420[sp1C].unk_008); + func_8001BCF0(&D_82607B60[sp1C]); +} + +void func_82602614(s16 arg0) { + unk_D_86002F58_004_000_010_02C sp24; + s16 idx = ((D_82607B54 + arg0 + D_8267E4F0) % D_8267E4F0) + 1; + + D_82607B52 = (D_82607B50 + arg0 + 5) % 5; + sp24.raw = 0; + D_82607420[D_82607B52].unk_000 = idx; + func_80019A1C(D_8260741C, D_82607420[D_82607B52].unk_000, sp24, D_82607B52); +} + +void func_826026D4(s16 arg0) { + unk_D_86002F58_004_000_010_02C sp54; + s16 temp_s1 = ((D_82607B54 + arg0 + D_8267E4F0) % D_8267E4F0) + 1; + unk_func_800228F0 sp2C; + + if (func_826007C8(temp_s1) != 0) { + func_800228F0(&sp2C, temp_s1); + func_8001C014(&sp54, &sp2C, temp_s1); + } else { + sp54.raw = 0; + } + D_82607B52 = (D_82607B50 + arg0 + 5) % 5; + D_82607420[D_82607B52].unk_000 = temp_s1; + func_80019A1C(D_8260741C, temp_s1, sp54, D_82607B52); + func_80019CA8(D_8260741C); + D_82607420[D_82607B52].unk_004 = D_8260741C->unk_24; +} + +void func_82602820(f32 arg0) { + s32 i; + + // clang-format off + for (i = 0; i < 5; i++) { D_82607B60[i].unk_024.x += arg0; } + // clang-format on + D_82608268.unk_024.x += arg0; + D_826083D0.unk_024.x += arg0; +} + +void func_826028B8(f32 arg0) { + D_82608268.unk_024.x = arg0; + D_826083D0.unk_024.x = arg0; +} + +void func_826028CC(void) { +} + +void func_826028D4(void) { + s32 idx = (D_82607B50 + 5) % 5; + unk_D_82604180* temp_s1; + unk_D_82607420* temp_s0; + f32 temp_fs0; + + temp_s0 = &D_82607420[idx]; + temp_s1 = &D_82604180[temp_s0->unk_000 - 1]; + + temp_fs0 = (temp_s0->unk_008.unk_01E.y * 6.283) / 65536.0; + + temp_s0->unk_008.unk_030.x = temp_s1->unk_00; + temp_s0->unk_008.unk_030.y = temp_s1->unk_00; + temp_s0->unk_008.unk_030.z = temp_s1->unk_00; + + temp_s0->unk_008.unk_040.unk_08 = temp_s1->unk_04 << 0x10; + + temp_s0->unk_008.unk_024.x = (-temp_s1->unk_08 * __cosf(temp_fs0)) - (__sinf(temp_fs0) * temp_s1->unk_10); + temp_s0->unk_008.unk_024.y = temp_s1->unk_0C; + temp_s0->unk_008.unk_024.z = (temp_s1->unk_08 * __sinf(temp_fs0)) - (__cosf(temp_fs0) * temp_s1->unk_10); +} + +void func_82602A18(void) { + func_80048B90(2); + D_82608542 = 1; +} + +void func_82602A40(void) { + s32 i; + + func_80048B90(2); + D_82608544 = 1; + D_8267E4F4 = 0; + + // clang-format off + for (i = 0; i < 150; i++) { D_8267E4F8[i] = 1.25f; } + // clang-format on +} + +void func_82602AB0(void) { + func_80048B90(3); + D_82608544 = 0; +} + +void func_82602AD4(void) { + func_80048B90(3); + D_82608542 = 0; + D_82608544 = 0; +} + +void func_82602B00(s32 arg0) { + if ((D_82608542 != 0) || (D_82608544 != 0)) { + func_82602AD4(); + } else { + func_80048B90(1); + } + D_8260854C = 0; + D_8260854E = 5; +} + +s32 func_82602B60(s16* arg0) { + if (BTN_IS_DOWN(gPlayer1Controller, BTN_L)) { + func_826024F4(-2); + D_82607B50 = (D_82607B50 + 4) % 5; + D_82607B54 = ((D_82607B54 + D_8267E4F0) - 1) % D_8267E4F0; + func_82602614(-2); + *arg0 = 6; + func_82602B00(D_82607B54 + 1); + return 1; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_R)) { + func_826024F4(2); + D_82607B50 = (D_82607B50 + 1) % 5; + D_82607B54 = (D_82607B54 + 1) % D_8267E4F0; + func_82602614(2); + *arg0 = 7; + func_82602B00(D_82607B54 + 1); + return 1; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_DLEFT)) { + func_826024F4(-2); + D_82607B50 = (D_82607B50 + 4) % 5; + D_82607B54 = ((D_82607B54 + D_8267E4F0) - 1) % D_8267E4F0; + func_82602614(-2); + *arg0 = 3; + func_82602B00(D_82607B54 + 1); + return 1; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_DRIGHT)) { + func_826024F4(2); + D_82607B50 = (D_82607B50 + 1) % 5; + D_82607B54 = (D_82607B54 + 1) % D_8267E4F0; + func_82602614(2); + *arg0 = 4; + func_82602B00(D_82607B54 + 1); + return 1; + } + + if (BTN_IS_PRESSED(gPlayer1Controller, BTN_A)) { + if (D_82608544 == 1) { + D_82608544 = 0; + } + if (func_826007C8((D_82607B54 % D_8267E4F0) + 1) != 0) { + if (D_82608542 == 0) { + func_82602A18(); + } else { + func_82602AD4(); + } + } + } else if (BTN_IS_PRESSED(gPlayer1Controller, BTN_B)) { + if (D_82608542 == 0) { + if (D_82608544 == 0) { + *arg0 = 0; + func_80048B90(3); + return 1; + } + } + func_82602AD4(); + } else if ((D_8267E4E8 == 1) && (BTN_IS_PRESSED(gPlayer1Controller, BTN_START))) { + if (D_82608544 == 0) { + func_82602A40(); + } else { + func_82602AB0(); + } + D_82608542 = 0; + } + + return 0; +} + +s32 func_82602F18(void) { + UNUSED s16 pad; + s16 sp54 = 2; + unk_D_82604180* temp_s0; + unk_D_82607420* temp_v0; + + while (sp54 == 2) { + func_82600D04(); + temp_s0 = &D_82604180[D_82607B54 % D_8267E4F0]; + + if (D_8260854C == 0) { + if (D_8260854E > 0) { + D_8260854E -= 1; + } else { + if (func_826007C8((D_82607B54 % D_8267E4F0) + 1) != 0) { + func_826026D4(0); + } + D_8260854C = 1; + D_82608550 = 0; + } + } + + if (D_82608548 == 0) { + if (D_8267E750 == 0) { + if (func_82602B60(&sp54) != 0) { + break; + } + } else { + D_8267E754--; + if (D_8267E754 <= 0) { + sp54 = 0; + break; + } + } + } else { + if (BTN_IS_DOWN(gPlayer1Controller, BTN_CUP)) { + temp_s0->unk_10 -= 10.0f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_CDOWN)) { + temp_s0->unk_10 += 10.0f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_CLEFT)) { + temp_s0->unk_08 -= 10.0f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_CRIGHT)) { + temp_s0->unk_08 += 10.0f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_DDOWN)) { + temp_s0->unk_0C -= 10.0f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_DUP)) { + temp_s0->unk_0C += 10.0f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_L)) { + temp_s0->unk_00 -= 0.1f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_R)) { + temp_s0->unk_00 += 0.1f; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_DLEFT)) { + temp_s0->unk_04 -= 1; + } + + if (BTN_IS_DOWN(gPlayer1Controller, BTN_DRIGHT)) { + temp_s0->unk_04 += 1; + } + } + + func_826028D4(); + temp_v0 = &D_82607420[D_82607B50 % 5]; + if ((D_8260854C == 1) && (D_8260854A == 1)) { + temp_v0->unk_008.unk_01E.y += 0x100; + } + func_82602294(); + } + return sp54; +} + +s32 func_82603254(void) { + s16 i; + s16 j; + + for (i = 0; i < 12; i++) { + if (i == 0xB) { + func_82602578(2); + } + func_82600D04(); + + for (j = 0; j < 5; j++) { + D_82607420[j].unk_008.unk_024.x += 50.0f; + } + + func_82602820(50.0f); + func_82602294(); + } + + func_826028B8(0.0f); + return 5; +} + +s32 func_8260332C(void) { + s16 i; + s16 j; + + for (i = 0; i < 12; i++) { + if (i == 0xB) { + func_82602578(-2); + } + func_82600D04(); + + for (j = 0; j < 5; j++) { + D_82607420[j].unk_008.unk_024.x -= 50.0f; + } + + func_82602820(-50.0f); + func_82602294(); + } + + func_826028B8(0.0f); + return 5; +} + +s32 func_82603414(void) { + s16 i; + s16 j; + + for (i = 0; i < 6; i++) { + if (i == 5) { + func_82602578(2); + } + func_82600D04(); + + for (j = 0; j < 5; j++) { + D_82607420[j].unk_008.unk_024.x += 100.0f; + } + + func_82602820(100.0f); + func_82602294(); + } + + func_826028B8(0.0f); + return 5; +} + +s32 func_826034EC(void) { + s16 i; + s16 j; + + for (i = 0; i < 6; i++) { + if (i == 5) { + func_82602578(-2); + } + func_82600D04(); + + for (j = 0; j < 5; j++) { + D_82607420[j].unk_008.unk_024.x -= 100.0f; + } + + func_82602820(-100.0f); + func_82602294(); + } + + func_826028B8(0.0f); + return 5; +} + +s32 func_826035D4(void) { + while (func_80019C08(D_8260741C) == 0) { + func_82600D04(); + func_82602294(); + } + D_82607420[D_82607B52].unk_004 = D_8260741C->unk_24; + return 2; +} + +void func_8260365C(void) { + s16 tmp = 2; + + D_82608552 = tmp; + + func_800077B4(0xA); + func_80006C6C(0x10); + func_82600020(); + + if (D_8267E750 == 1) { + func_8004B1CC(0x47); + D_8267E754 = 0xA0; + D_82608544 = 1; + } else { + func_8000D1F0(0xF); + } + + while (func_80007604() != 0) { + func_82600D04(); + func_82602294(); + } + + while (tmp != 0) { + switch (tmp) { + case 1: + break; + + case 2: + tmp = func_82602F18(); + break; + + case 3: + tmp = func_82603254(); + break; + + case 4: + tmp = func_8260332C(); + break; + + case 6: + tmp = func_82603414(); + break; + + case 7: + tmp = func_826034EC(); + break; + + case 5: + tmp = func_826035D4(); + break; + } + D_82608552 = tmp; + } + + func_80007990(0xFFFF); + func_80006CB4(0x16); + func_8004B9C4(0x3C); + + while (func_80007604() != 1) { + func_82600D04(); + func_82602294(); + } +} + +void func_82603800(s32 arg0, f32 arg1) { + if ((D_82607420[arg0].unk_000 != 151) || (func_826007C8(151) != 0)) { + unk_D_86002F58_004_000* temp_s0 = &D_82607B60[arg0]; + + temp_s0->unk_0A6 = arg0; + func_8001BC34(temp_s0, 0, 0xB6, D_82608538->unk_08->unk_00[0]); + temp_s0->unk_000.unk_02 &= ~0x40; + temp_s0->unk_01E.x = 0; + temp_s0->unk_01E.y = 0; + temp_s0->unk_01E.z = 0; + temp_s0->unk_030.x = 5.0f; + temp_s0->unk_030.y = 5.0f; + temp_s0->unk_030.z = 5.0f; + temp_s0->unk_024.x = arg1; + temp_s0->unk_024.y = 0.0f; + temp_s0->unk_024.z = 0.0f; + temp_s0->unk_040.unk_0C = 0; + *(u8*)Util_ConvertAddrToVirtAddr(&D_800AF770[arg0]) = D_82607420[arg0].unk_000 - 1; + } +} + +void func_82603924(void) { + s32 i; + s16 j; + MemoryBlock* temp_v0; + unk_D_86002F30* temp_s0; + unk_D_86002F58_004_000* ptr; + + D_82608546 = 0; + D_82608548 = 0; + D_8260854A = 1; + D_82607B50 = 2; + D_82607B54 = 0; + + temp_v0 = func_80002D10(main_pool_get_available(), 0); + D_82607418 = process_geo_layout(temp_v0, &D_82607228); + func_80002D60(temp_v0); + func_8001BB20(); + func_8001987C(); + func_8001B058(); + + for (i = 0; i < 151; i++) { + func_8001B0DC(D_82608568[i], i + 1, NULL); + } + + D_8267E4E8 = 1; + D_8267E4EA = 0; + + for (i = 0; i < 150; i++) { + if (func_826007C8(i + 1) != 0) { + D_8267E4EA += 1; + } else { + D_8267E4E8 = 0; + } + } + + D_8267E4F0 = 150; + if (func_826007C8(151) != 0) { + D_8267E4EA++; + D_8267E4F0 = 151; + } + temp_s0 = func_80019D18(0xB7); + + ptr = &D_82608268; + func_8001BB58(&D_82608268); + func_8001BC34(&D_82608268, 0, 0xB7, temp_s0->unk_08->unk_00[0]); + + ptr->unk_000.unk_02 &= ~0x40; + ptr->unk_024.x = 0.0f; + ptr->unk_024.y = 0.0f; + ptr->unk_024.z = 0.0f; + ptr->unk_030.x = 5.0f; + ptr->unk_030.y = 5.0f; + ptr->unk_030.z = 5.0f; + ptr->unk_01E.x = 0; + ptr->unk_01E.y = 0; + ptr->unk_01E.z = 0; + ptr->unk_040.unk_0C = 0; + + temp_s0 = func_80019D18(0xB7); + ptr = &D_826083D0; + func_8001BB58(&D_826083D0); + func_8001BC34(&D_826083D0, 0, 0xB7, temp_s0->unk_08->unk_00[1]); + + ptr->unk_000.unk_02 &= ~0x40; + ptr->unk_024.x = 0.0f; + ptr->unk_024.y = 0.0f; + ptr->unk_024.z = 0.0f; + ptr->unk_030.x = 5.0f; + ptr->unk_030.y = 5.0f; + ptr->unk_030.z = 5.0f; + ptr->unk_01E.x = 0; + ptr->unk_01E.y = 0; + ptr->unk_01E.z = 0; + ptr->unk_040.unk_0C = 0; + + for (j = 0; j < 5; j++) { + func_8001BB58(&D_82607420[j].unk_008); + } + + D_8260741C = func_80019760(9); + + for (j = -2; j < 3; j++) { + func_82602614(j); + func_80019CA8(D_8260741C); + D_82607420[D_82607B52].unk_004 = D_8260741C->unk_24; + } + + for (j = -1; j < 2; j++) { + func_82602300(j); + } + + for (i = 0; i < 5; i++) { + func_8001BB58(&D_82607B60[i]); + } + + D_82608538 = func_80019D18(0xB6); + + for (i = 1; i < 4; i++) { + func_82603800(i, (i - 2) * 600.0f); + } + + D_82608542 = 0; + D_8260854C = 1; + D_82608550 = 0; + D_8260854E = 5; + + func_82600C10(); +} + +s32 func_82603D20(s32 arg0, s32 arg1) { + unk_func_80007444* sp24; + + D_8267E750 = 0; + + main_pool_push_state('VICH'); + + func_80005E40(0x20000, 0); + sp24 = func_80007444(0, 1, 2, 1, 3, 1); + func_8001E94C(0xE, 0); + + ASSET_LOAD(D_1000000, common_menu1_ui, 0); + ASSET_LOAD(D_3000000, victory_palace_plate_text, 0); + FRAGMENT_LOAD(fragment31); + + func_80028AFC(2); + func_82603924(); + func_8002D510(); + D_8267E75C = func_8002D5AC(0x1F); + D_8267E760 = func_8002D5AC(0x24); + func_80007678(sp24); + func_8260365C(); + func_800076C0(); + func_80005EAC(); + + main_pool_pop_state('VICH'); + + return D_8267E750; +} diff --git a/src/fragments/50/fragment50.h b/src/fragments/50/fragment50.h new file mode 100644 index 0000000..b0e24a6 --- /dev/null +++ b/src/fragments/50/fragment50.h @@ -0,0 +1,49 @@ +#ifndef _FRAGMENT50_H_ +#define _FRAGMENT50_H_ + +#include "global.h" + +void func_82600020(void); +s32 func_82600094(s8* arg0, s8* arg1); +s32 func_826000D8(void); +Gfx* func_82600160(Gfx* arg0); +s32 func_826007C8(s32 arg0); +s32 func_826007F0(s32 arg0, unk_D_86002F34_alt18* arg1); +s32 func_82600A34(s32 arg0, unk_D_86002F34_alt18* arg1); +void func_82600C00(void); +void func_82600C08(void); +void func_82600C10(void); +void func_82600CFC(void); +void func_82600D04(void); +void func_82600D44(s32 arg0, s32 arg1, f32 arg2, s32 arg3); +void func_82600F78(void); +void func_8260125C(void); +void func_82602294(void); +void func_82602300(s16 arg0); +void func_826024F4(s16 arg0); +void func_82602570(void); +void func_82602578(s16 arg0); +void func_82602614(s16 arg0); +void func_826026D4(s16 arg0); +void func_82602820(f32 arg0); +void func_826028B8(f32 arg0); +void func_826028CC(void); +void func_826028D4(void); +void func_82602A18(void); +void func_82602A40(void); +void func_82602AB0(void); +void func_82602AD4(void); +void func_82602B00(s32 arg0); +s32 func_82602B60(s16* arg0); +s32 func_82602F18(void); +s32 func_82603254(void); +s32 func_8260332C(void); +s32 func_82603414(void); +s32 func_826034EC(void); +s32 func_826035D4(void); +void func_8260365C(void); +void func_82603800(s32 arg0, f32 arg1); +void func_82603924(void); +s32 func_82603D20(s32 arg0, s32 arg1); + +#endif // _FRAGMENT50_H_ diff --git a/tools/gfxdis.f3dex2 b/tools/gfxdis.f3dex2 index 8d1c3c8..4021ec0 100755 Binary files a/tools/gfxdis.f3dex2 and b/tools/gfxdis.f3dex2 differ diff --git a/yamls/us/rom.yaml b/yamls/us/rom.yaml index ea825d9..80068e1 100644 --- a/yamls/us/rom.yaml +++ b/yamls/us/rom.yaml @@ -1860,10 +1860,10 @@ subsegments: - [0x2B5350, textbin, fragments/50/fragment50_header] - [0x2B5370, c, fragments/50/fragment50] - - [0x2B91D0, data, fragments/50/fragment50_data] - - [0x2BC690, rodata, fragments/50/fragment50_rodata] + - [0x2B91D0, .data, fragments/50/fragment50] + - [0x2BC690, .rodata, fragments/50/fragment50] - - {vram: 0x82607410, type: bss, name: fragments/50/fragment50_bss} + - {vram: 0x82607410, type: .bss, name: fragments/50/fragment50} - name: fragment50_relocs type: code