From 78ab52081344c2d7893651c592fed6603acaadc8 Mon Sep 17 00:00:00 2001 From: mrshigure Date: Fri, 3 Jan 2025 07:52:10 -0800 Subject: [PATCH] Matched m462Dll (US); applying some sprite macros (#504) --- config/GMPE01_00/rels/m462Dll/symbols.txt | 180 +-- configure.py | 2 +- src/REL/E3setupDLL/mgselect.c | 6 +- src/REL/m411Dll/main.c | 2 +- src/REL/m414Dll/main.c | 10 +- src/REL/m445Dll/main.c | 6 +- src/REL/m451Dll/m451.c | 4 +- src/REL/m462Dll/main.c | 1662 +++++++++++++++++++++ src/REL/mentDll/main.c | 292 ++-- src/REL/modeseldll/filesel.c | 8 +- src/game/board/battle.c | 14 +- src/game/board/char_wheel.c | 6 +- src/game/board/mg_setup.c | 24 +- src/game/board/pause.c | 32 +- src/game/board/player.c | 10 +- src/game/board/ui.c | 20 +- src/game/board/view.c | 8 +- src/game/thpmain.c | 2 +- 18 files changed, 1975 insertions(+), 313 deletions(-) create mode 100755 src/REL/m462Dll/main.c diff --git a/config/GMPE01_00/rels/m462Dll/symbols.txt b/config/GMPE01_00/rels/m462Dll/symbols.txt index d702b245..0af8810d 100644 --- a/config/GMPE01_00/rels/m462Dll/symbols.txt +++ b/config/GMPE01_00/rels/m462Dll/symbols.txt @@ -34,101 +34,101 @@ fn_1_7D40 = .text:0x00007D40; // type:function size:0x60 fn_1_7DA0 = .text:0x00007DA0; // type:function size:0x3BC _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x20 lbl_1_data_20 = .data:0x00000020; // type:object size:0x10 -lbl_1_data_30 = .data:0x00000030; // type:object size:0x60 +lbl_1_data_30 = .data:0x00000030; // type:object size:0x60 data:float lbl_1_data_90 = .data:0x00000090; // type:object size:0x30 data:float lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x3C lbl_1_data_FC = .data:0x000000FC; // type:object size:0x14 data:float -lbl_1_data_110 = .data:0x00000110; // type:object size:0xB data:string +lbl_1_data_110 = .data:0x00000110; // type:object size:0xB scope:local data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:float lbl_1_bss_C = .bss:0x0000000C; // type:object size:0xC data:float lbl_1_bss_18 = .bss:0x00000018; // type:object size:0xC data:float diff --git a/configure.py b/configure.py index de9495b7..fc0d2325 100644 --- a/configure.py +++ b/configure.py @@ -1306,7 +1306,7 @@ config.libs = [ Rel( "m462Dll", # Goomba Stomp objects={ - Object(NonMatching, "REL/m462Dll/main.c"), + Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m462Dll/main.c"), }, ), Rel( diff --git a/src/REL/E3setupDLL/mgselect.c b/src/REL/E3setupDLL/mgselect.c index d87c662f..3c8bb026 100644 --- a/src/REL/E3setupDLL/mgselect.c +++ b/src/REL/E3setupDLL/mgselect.c @@ -413,8 +413,8 @@ static void UpdateMGPic(omObjData *object) if (object->work[1] != object->work[0]) { temp_r29 = temp_r30->unk_40; - HuSprAttrSet(temp_r29, object->work[1], 4); - HuSprAttrReset(temp_r29, object->work[0], 4); + HuSprAttrSet(temp_r29, object->work[1], HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r29, object->work[0], HUSPR_ATTR_DISPOFF); object->work[1] = object->work[0]; } } @@ -453,7 +453,7 @@ static void CreateMGPic(omObjData *object) HuSprTPLvlSet(temp_r3, index2, 0.7f); index2++; object->work[1] = object->work[0]; - HuSprAttrReset(temp_r3, object->work[1], 4); + HuSprAttrReset(temp_r3, object->work[1], HUSPR_ATTR_DISPOFF); object->func = UpdateMGPic; } diff --git a/src/REL/m411Dll/main.c b/src/REL/m411Dll/main.c index d4a6acef..c99ccbca 100755 --- a/src/REL/m411Dll/main.c +++ b/src/REL/m411Dll/main.c @@ -2255,7 +2255,7 @@ void fn_1_7738(void) temp_r28->unk00 = 20.0f + temp_r30->unk00; temp_r28->unk04 = -20.0f + temp_r30->unk04; m411InlineFunc(temp_r31, temp_r30); - HuSprAttrReset(temp_r31->unk0C, 0, 4); + HuSprAttrReset(temp_r31->unk0C, 0, HUSPR_ATTR_DISPOFF); } temp_r30->unk08 = 50.0f; temp_r28->unk08 = temp_r30->unk08 - 5.0f; diff --git a/src/REL/m414Dll/main.c b/src/REL/m414Dll/main.c index 3341eb5b..8e7bc1f0 100644 --- a/src/REL/m414Dll/main.c +++ b/src/REL/m414Dll/main.c @@ -1005,12 +1005,12 @@ void fn_1_3D48(s32 arg0, s32 arg1) var_r29->user_data = var_r31; var_r31->unk_5C = var_r30; } - HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 2, 4); - HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 3, 4); + HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 2, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 3, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 2, 4); - HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 3, 4); + HuSprAttrReset(var_r31->unk_2E, (var_r30 * 2) + 2, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r31->unk_2E, (var_r30 * 2) + 3, HUSPR_ATTR_DISPOFF); } } } @@ -2047,7 +2047,7 @@ void fn_1_79A8(void) var_r28 = &lbl_1_bss_F0[var_r30]; var_r27 = HuPrcChildCreate(fn_1_76F4, 8192, 8192, 0, HuPrcCurrentGet()); var_r27->user_data = var_r28; - HuSprAttrReset(var_r28->unk_2C, 0, 4); + HuSprAttrReset(var_r28->unk_2C, 0, HUSPR_ATTR_DISPOFF); } for (var_r29 = 0, var_f27 = 0.0f; var_r29 < 15; var_r29++) { var_f27 += 0.06666667f; diff --git a/src/REL/m445Dll/main.c b/src/REL/m445Dll/main.c index 67dbe9d3..831d1e69 100755 --- a/src/REL/m445Dll/main.c +++ b/src/REL/m445Dll/main.c @@ -1408,7 +1408,7 @@ void fn_1_557C(void) for (i = 0; i < 2; i++) { for (j = 0; j < 5; j++) { - HuSprAttrReset(lbl_1_bss_588[i].unk04, j, 4); + HuSprAttrReset(lbl_1_bss_588[i].unk04, j, HUSPR_ATTR_DISPOFF); } } } @@ -1420,7 +1420,7 @@ void fn_1_55F0(void) for (i = 0; i < 2; i++) { for (j = 0; j < 5; j++) { - HuSprAttrSet(lbl_1_bss_588[i].unk04, j, 4); + HuSprAttrSet(lbl_1_bss_588[i].unk04, j, HUSPR_ATTR_DISPOFF); } } } @@ -1429,7 +1429,7 @@ void fn_1_5664(UnkM445Struct_02 *arg0, s32 arg1) { HuSprBankSet(arg0->unk04, 3, arg1 % 10); HuSprBankSet(arg0->unk04, 4, arg1 / 10); - HuSprAttrReset(arg0->unk04, 4, 4); + HuSprAttrReset(arg0->unk04, 4, HUSPR_ATTR_DISPOFF); } void fn_1_5700(UnkM445Struct_02 *arg0) diff --git a/src/REL/m451Dll/m451.c b/src/REL/m451Dll/m451.c index 05d6adaa..4f55107a 100644 --- a/src/REL/m451Dll/m451.c +++ b/src/REL/m451Dll/m451.c @@ -872,11 +872,11 @@ void fn_1_2A34(Bss348Data *arg0, s32 arg1, s32 arg2) temp_r30->scale.y = temp_r31->scale.y; temp_r30->scale.z = 0.8f * temp_r31->scale.z; if (arg2 == 0) { - HuSprAttrReset(arg0->unkA, 0, 1); + HuSprAttrReset(arg0->unkA, 0, HUSPR_ATTR_NOANIM); HuSprGrpScaleSet(arg0->unkA, 1, 1); } else { - HuSprAttrReset(arg0->unkA, 0, 64); + HuSprAttrReset(arg0->unkA, 0, HUSPR_ATTR_REVERSE); } } diff --git a/src/REL/m462Dll/main.c b/src/REL/m462Dll/main.c new file mode 100755 index 00000000..7efd0602 --- /dev/null +++ b/src/REL/m462Dll/main.c @@ -0,0 +1,1662 @@ +#include "game/audio.h" +#include "game/chrman.h" +#include "game/data.h" +#include "game/frand.h" +#include "game/gamework.h" +#include "game/gamework_data.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/minigame_seq.h" +#include "game/object.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/process.h" +#include "game/sprite.h" +#include "game/wipe.h" + +#include "dolphin.h" +#include "ext_math.h" + +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ s16 unk04; + /* 0x06 */ s16 unk06[8]; + /* 0x16 */ s16 unk16[4]; + /* 0x1E */ s16 unk1E; + /* 0x20 */ s32 unk20; + /* 0x24 */ s32 unk24; + /* 0x28 */ s32 unk28; + /* 0x2C */ s32 unk2C; + /* 0x30 */ s32 unk30; + /* 0x34 */ s32 unk34; + /* 0x38 */ char unk38[4]; + /* 0x3C */ s32 unk3C; + /* 0x40 */ char unk40[4]; + /* 0x44 */ s32 unk44; + /* 0x48 */ s32 unk48; + /* 0x4C */ Vec unk4C; + /* 0x58 */ float unk58; + /* 0x5C */ float unk5C; + /* 0x60 */ Vec unk60; + /* 0x6C */ float unk6C; + /* 0x70 */ float unk70; + /* 0x74 */ float unk74; + /* 0x78 */ Vec unk78; + /* 0x84 */ float unk84; + /* 0x88 */ float unk88; + /* 0x8C */ float unk8C; + /* 0x90 */ float unk90; + /* 0x94 */ float unk94; +} StructBss340; // Size 0x98 + +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ s16 unk04[3]; + /* 0x0A */ char unk0A[2]; + /* 0x0C */ s32 unk0C; + /* 0x10 */ s32 unk10; + /* 0x14 */ Vec unk14; + /* 0x20 */ float unk20; + /* 0x24 */ float unk24; + /* 0x28 */ float unk28; + /* 0x2C */ float unk2C; + /* 0x30 */ float unk30; + /* 0x34 */ float unk34; + /* 0x38 */ s32 unk38; + /* 0x3C */ s32 unk3C; + /* 0x40 */ float unk40; + /* 0x44 */ float unk44; +} StructBss70; // Size 0x48 + +void fn_1_4A0(void); +float fn_1_14B4(float arg0); +void fn_1_174C(void); +void fn_1_17A0(s32 arg0, s32 arg1); +void fn_1_44D8(void); +void fn_1_4BC4(void); +void fn_1_69C0(void); +void fn_1_7D40(void); +void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix); +void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix); +void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix); +void fn_1_7DA0(void); +s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4); + +s16 lbl_1_bss_3EA; +s16 lbl_1_bss_3E8; +s32 lbl_1_bss_3E4; +s32 lbl_1_bss_3E0; +s32 lbl_1_bss_3DC; +s32 lbl_1_bss_3D8; +StructBss340 lbl_1_bss_340[1]; +StructBss70 lbl_1_bss_70[10]; +StructBss70 lbl_1_bss_28; +omObjData* lbl_1_bss_24; +Vec lbl_1_bss_18; +Vec lbl_1_bss_C; +Vec lbl_1_bss_0; + +s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + +s32 lbl_1_data_20[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 79), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 75), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 22) +}; + +Vec lbl_1_data_30[] = { + { 0.0f, 0.0f, 35.0f }, + { 0.0f, 0.0f, 35.0f }, + { 0.0f, 0.0f, 35.0f }, + { 0.0f, 0.0f, 35.0f }, + { 0.0f, 0.0f, 35.0f }, + { 0.0f, 0.0f, 35.0f }, + { 0.0f, 0.0f, 35.0f }, + { 0.0f, 0.0f, 35.0f } +}; + +Vec lbl_1_data_90[] = { + { -900.0f, 143.0f, -1020.0f }, + { -677.0f, 143.0f, -1020.0f }, + { 900.0f, 0.0f, -1150.0f }, + { -307.0f, 182.0f, -1575.0f } +}; + +s32 lbl_1_data_C0[][5] = { + { 50, 80, 90, 95, 100 }, + { 5, 55, 85, 95, 100 }, + { 0, 5, 55, 90, 100 } +}; + +float lbl_1_data_FC[] = { 0.3f, 0.5f, 0.7f, 0.9f, 1.0f }; + +void ObjectSetup(void) { + Process* temp_r3; + + temp_r3 = omInitObjMan(50, 0x2000); + omGameSysInit(temp_r3); + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 10000.0f, 1.2f); + Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); + Hu3DCameraScissorSet(1, 0, 0, 640, 480); + lbl_1_bss_24 = omAddObjEx(temp_r3, 0x7FDA, 0, 0, -1, omOutViewMulti); + lbl_1_bss_24->work[0] = 1; + CRotM->x = -26.0f; + CRotM->y = 0.0f; + CRotM->z = 0.0f; + CenterM->x = 0.0f; + CenterM->y = 0.0f; + CenterM->z = -295.0f; + CZoomM[0] = 3030.0f; + Hu3DLighInit(); + lbl_1_bss_3EA = Hu3DGLightCreate(10000.0f, 0.0f, 10000.0f, -1.0f, 0.0f, -1.0f, 255, 50, 0); + Hu3DGLightPosAimSet(lbl_1_bss_3EA, -2500.0f, 3535.5f, 2500.0f, 0.0f, 0.0f, 0.0f); + Hu3DGLightInfinitytSet(lbl_1_bss_3EA); + lbl_1_bss_18.x = -2500.0f; + lbl_1_bss_18.y = 3535.5f; + lbl_1_bss_18.z = 2500.0f; + lbl_1_bss_C.x = lbl_1_bss_C.z = 0.0f; + lbl_1_bss_C.y = 1.0f; + lbl_1_bss_0.x = 0.0f; + lbl_1_bss_0.y = 0.0f; + lbl_1_bss_0.z = 0.0f; + Hu3DShadowCreate(30.0f, 20.0f, 10000.0f); + Hu3DShadowTPLvlSet(0.5f); + Hu3DShadowPosSet(&lbl_1_bss_18, &lbl_1_bss_C, &lbl_1_bss_0); + Hu3DBGColorSet(0, 0, 0); + fn_1_4A0(); + HuPrcChildCreate(fn_1_7DA0, 0x1000, 0x2000, 0, HuPrcCurrentGet()); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); +} + +void fn_1_4A0(void) { + float temp_f31; + float temp_f30; + void* var_r27; + StructBss340* temp_r31; + StructBss70* temp_r29; + Process* var_r25; + AnimData* var_r24; + AnimData* spC[4]; + s16 var_r30; + s16 var_r23; + s16 sp8; + s32 i; + s32 j; + + lbl_1_bss_3E0 = 0; + lbl_1_bss_3D8 = 0; + HuAudSndGrpSet(0x2C); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 0), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r27); + lbl_1_bss_3E8 = var_r30; + Hu3DModelLayerSet(var_r30, 1); + Hu3DModelShadowMapSet(var_r30); + Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + i = 0; + temp_r31 = &lbl_1_bss_340[i]; + temp_r31->unk20 = i; + temp_r31->unk24 = i; + temp_r31->unk28 = GWPlayerCfg[i].pad_idx; + temp_r31->unk02 = CharModelCreate(lbl_1_data_0[GWPlayerCfg[i].character], 2); + Hu3DModelLayerSet(temp_r31->unk00, 1); + CharModelLayerSetAll(2); + temp_r31->unk78.x = lbl_1_data_30[GWPlayerCfg[i].character].x; + temp_r31->unk78.y = lbl_1_data_30[GWPlayerCfg[i].character].y; + temp_r31->unk78.z = lbl_1_data_30[GWPlayerCfg[i].character].z; + Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk78.x, temp_r31->unk78.y, temp_r31->unk78.z); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 1), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk00 = Hu3DModelCreate(var_r27); + Hu3DModelLayerSet(temp_r31->unk00, 1); + temp_r31->unk60.x = temp_r31->unk60.z = 0.0f; + temp_r31->unk60.y = 180.0f; + temp_r31->unk4C.x = 0.0f; + temp_r31->unk4C.y = 0.0f; + temp_r31->unk4C.z = 0.0f; + temp_r31->unk60.y = fn_1_14B4(temp_r31->unk60.y + 180.0f); + temp_r31->unk94 = temp_r31->unk60.y; + temp_r31->unk84 = 200.0f; + temp_r31->unk88 = 6.75f; + temp_r31->unk8C = 1.0f; + temp_r31->unk90 = 1.0f; + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, temp_r31->unk60.y, temp_r31->unk60.z); + Hu3DModelShadowSet(temp_r31->unk00); + Hu3DModelHookSet(temp_r31->unk00, "itemhook_c", temp_r31->unk02); + for (j = 0; j < 4; j++) { + temp_r31->unk16[j] = CharModelMotionCreate(lbl_1_data_0[GWPlayerCfg[i].character], lbl_1_data_20[j]); + } + CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk16[0]); + CharModelMotionTimeSet(lbl_1_data_0[GWPlayerCfg[i].character], 60.0f); + CharModelVoiceEnableSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk16[2], 0); + for (j = 0; j < 8; j++) { + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 2 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk06[j] = Hu3DJointMotion(temp_r31->unk00, var_r27); + } + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[0]); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); + Hu3DMotionSpeedSet(temp_r31->unk00, 1.0f); + Hu3DModelAttrSet(temp_r31->unk00, HU3D_MOTATTR_LOOP); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 10), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk04 = Hu3DModelCreate(var_r27); + Hu3DModelLayerSet(temp_r31->unk04, 1); + Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r31->unk04, HU3D_MOTATTR_PAUSE); + CharModelMotionDataClose(lbl_1_data_0[GWPlayerCfg[i].character]); + var_r25 = HuPrcChildCreate(fn_1_69C0, 0x2000, 0x3000, 0, HuPrcCurrentGet()); + var_r25->user_data = temp_r31; + var_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); + var_r30 = Hu3DParticleCreate(var_r24, 50); + Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); + Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); + Hu3DModelLayerSet(var_r30, 3); + Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); + Hu3DParticleScaleSet(var_r30, 0.0f); + Hu3DParticleHookSet(var_r30, fn_1_545C); + var_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); + var_r30 = Hu3DParticleCreate(var_r24, 50); + Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); + Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); + Hu3DModelLayerSet(var_r30, 3); + Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); + Hu3DParticleScaleSet(var_r30, 0.0f); + Hu3DParticleHookSet(var_r30, fn_1_594C); + var_r24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 2), MEMORY_DEFAULT_NUM)); + var_r30 = Hu3DParticleCreate(var_r24, 50); + Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); + Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); + Hu3DModelLayerSet(var_r30, 3); + Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); + Hu3DParticleScaleSet(var_r30, 0.0f); + Hu3DParticleHookSet(var_r30, fn_1_5DE4); + HuDataDirClose(DATADIR_EFFECT); + for (i = 0; i < 10; i++) { + temp_r29 = &lbl_1_bss_70[i]; + temp_r29->unk30 = 50.0f; + do { + temp_f31 = 1380.0f * frandf() - 690.0f; + temp_f30 = 1380.0f * frandf() - 690.0f; + } while (fn_1_1880(temp_f31, temp_f30, 50.0f, i, -1) != 0); + temp_r29->unk24 = temp_f31; + temp_r29->unk14.x = temp_f31; + temp_r29->unk14.y = 0.0f; + temp_r29->unk28 = temp_f30; + temp_r29->unk14.z = temp_f30; + } + for (i = 0; i < 10; i++) { + temp_r29 = &lbl_1_bss_70[i]; + if (i == 0) { + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 12), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r27); + var_r23 = var_r30; + } else { + var_r30 = Hu3DModelLink(var_r23); + } + temp_r29->unk00 = var_r30; + temp_r29->unk0C = i; + temp_r29->unk30 = 50.0f; + temp_r29->unk10 = 0; + Hu3DModelLayerSet(var_r30, 1); + Hu3DModelShadowSet(var_r30); + Hu3DModelPosSet(var_r30, temp_r29->unk14.x, temp_r29->unk14.y, temp_r29->unk14.z); + temp_r29->unk20 = 0.0f; + temp_r29->unk34 = 6.75f * lbl_1_data_FC[0]; + for (j = 0; j < 3; j++) { + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 13 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r29->unk04[j] = Hu3DJointMotion(var_r30, var_r27); + } + Hu3DMotionSet(var_r30, temp_r29->unk04[1]); + Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 11), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r27); + sp8 = var_r30; + temp_r29->unk02 = var_r30; + Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF); + Hu3DModelLayerSet(var_r30, 3); + var_r25 = HuPrcChildCreate(fn_1_4BC4, 0x1000, 0x3000, 0, HuPrcCurrentGet()); + var_r25->user_data = temp_r29; + } + for (i = 0; i < 2; i++) { + var_r30 = Hu3DModelLink(var_r23); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 16), MEMORY_DEFAULT_NUM, HEAP_DATA); + Hu3DMotionSet(var_r30, Hu3DJointMotion(var_r30, var_r27)); + Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + Hu3DModelShadowSet(var_r30); + Hu3DModelPosSet(var_r30, lbl_1_data_90[i].x, lbl_1_data_90[i].y, lbl_1_data_90[i].z); + if (i != 0) { + Hu3DMotionTimeSet(var_r30, Hu3DMotionMaxTimeGet(var_r30) / 2.0f); + } + } + var_r30 = Hu3DModelLink(var_r23); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 19), MEMORY_DEFAULT_NUM, HEAP_DATA); + Hu3DMotionSet(var_r30, Hu3DJointMotion(var_r30, var_r27)); + Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + Hu3DModelShadowSet(var_r30); + Hu3DModelPosSet(var_r30, lbl_1_data_90[3].x, lbl_1_data_90[3].y, lbl_1_data_90[3].z); + Hu3DMotionSpeedSet(var_r30, 0.7f); + temp_r29 = &lbl_1_bss_28; + var_r30 = Hu3DModelLink(var_r23); + temp_r29->unk00 = var_r30; + for (j = 0; j < 2; j++) { + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 17 + j), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r29->unk04[j] = Hu3DJointMotion(var_r30, var_r27); + } + Hu3DMotionSet(var_r30, temp_r29->unk04[0]); + Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP); + Hu3DModelShadowSet(var_r30); + temp_r29->unk14.x = lbl_1_data_90[2].x; + temp_r29->unk14.y = lbl_1_data_90[2].y; + temp_r29->unk14.z = lbl_1_data_90[2].z; + Hu3DModelPosSet(var_r30, temp_r29->unk14.x, temp_r29->unk14.y, temp_r29->unk14.z); + var_r25 = HuPrcChildCreate(fn_1_44D8, 0x1000, 0x2000, 0, HuPrcCurrentGet()); + var_r25->user_data = temp_r29; + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 44), MEMORY_DEFAULT_NUM, HEAP_DATA); + spC[0] = HuSprAnimRead(var_r27); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 55), MEMORY_DEFAULT_NUM, HEAP_DATA); + spC[1] = HuSprAnimRead(var_r27); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 48), MEMORY_DEFAULT_NUM, HEAP_DATA); + spC[2] = HuSprAnimRead(var_r27); + var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 49), MEMORY_DEFAULT_NUM, HEAP_DATA); + spC[3] = HuSprAnimRead(var_r27); + lbl_1_bss_3DC = HuSprGrpCreate(6); + var_r30 = HuSprCreate(spC[0], 0x4000, 0); + HuSprGrpMemberSet(lbl_1_bss_3DC, 0, var_r30); + HuSprPosSet(lbl_1_bss_3DC, 0, 0.0f, 0.0f); + HuSprTPLvlSet(lbl_1_bss_3DC, 0, 0.5f); + HuSprColorSet(lbl_1_bss_3DC, 0, 0, 0, 0); + var_r30 = HuSprCreate(spC[1], 0x4000, 0); + HuSprGrpMemberSet(lbl_1_bss_3DC, 1, var_r30); + HuSprPosSet(lbl_1_bss_3DC, 1, -19.0f, -9.0f); + var_r30 = HuSprCreate(spC[2], 0x4000, 0); + HuSprGrpMemberSet(lbl_1_bss_3DC, 2, var_r30); + HuSprPosSet(lbl_1_bss_3DC, 2, 20.0f, -8.0f); + var_r30 = HuSprCreate(spC[2], 0x4000, 0); + HuSprGrpMemberSet(lbl_1_bss_3DC, 3, var_r30); + HuSprPosSet(lbl_1_bss_3DC, 3, 2.0f, -8.0f); + var_r30 = HuSprCreate(spC[3], 0x4000, 0); + HuSprGrpMemberSet(lbl_1_bss_3DC, 4, var_r30); + HuSprPosSet(lbl_1_bss_3DC, 4, 20.0f, 8.0f); + var_r30 = HuSprCreate(spC[3], 0x4000, 0); + HuSprGrpMemberSet(lbl_1_bss_3DC, 5, var_r30); + HuSprPosSet(lbl_1_bss_3DC, 5, 2.0f, 8.0f); + HuSprGrpPosSet(lbl_1_bss_3DC, 511.0f, 61.0f); + fn_1_17A0(lbl_1_bss_3D8, 0); + fn_1_17A0(GWMGRecordGet(14), 1); + fn_1_174C(); + HuPrcChildCreate(fn_1_7D40, 0x1000, 0x1000, 0, HuPrcCurrentGet()); +} + +float fn_1_14B4(float arg0) { + while (arg0 >= 360.0f || arg0 < 0.0f) { + if (arg0 >= 360.0f) { + arg0 -= 360.0f; + } + if (arg0 < 0.0f) { + arg0 += 360.0f; + } + } + return arg0; +} + +float fn_1_1534(float arg0, float arg1) { + float var_f31; + + if (arg0 > 750.0f - arg1) { + var_f31 = 750.0f; + } else if (arg0 < -(750.0f - arg1)) { + var_f31 = 750.0f; + } else { + var_f31 = 750.0f; + } + return var_f31; +} + +float fn_1_15B4(float arg0, float arg1) { + return fn_1_1534(arg0, arg1); +} + +void fn_1_1634(void) { + float var_f31; + float temp_f30; + s32 i; + + var_f31 = 0.0f; + while (TRUE) { + var_f31 += 16.0f; + temp_f30 = 1.0 + 0.2f * sind(var_f31); + for (i = 0; i < 3; i++) { + HuSprScaleSet(lbl_1_bss_3DC, i + 1, temp_f30, temp_f30); + } + HuPrcVSleep(); + } +} + +void fn_1_16F8(void) { + s32 i; + + for (i = 0; i < 6; i++) { + HuSprAttrReset(lbl_1_bss_3DC, i, HUSPR_ATTR_DISPOFF); + } +} + +void fn_1_174C(void) { + s32 i; + + for (i = 0; i < 6; i++) { + HuSprAttrSet(lbl_1_bss_3DC, i, HUSPR_ATTR_DISPOFF); + } +} + +void fn_1_17A0(s32 arg0, s32 arg1) { + s32 var_r31; + + if (arg1 != 0) { + var_r31 = 2; + } else { + var_r31 = 4; + } + HuSprBankSet(lbl_1_bss_3DC, var_r31, arg0 % 10); + HuSprBankSet(lbl_1_bss_3DC, var_r31 + 1, arg0 / 10); + HuSprAttrReset(lbl_1_bss_3DC, var_r31 + 1, HUSPR_ATTR_DISPOFF); +} + +s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4) { + Vec sp34; + Vec sp28; + Vec sp1C; + s32 i; + StructBss70* temp_r30; + StructBss340* var_r29; + + if (arg3 > 10) { + arg3 = 10; + } + HuSetVecF(&sp34, arg0, 0.0, arg1); + for (i = 0; i < arg3; i++) { + if (arg4 == i) { + continue; + } + temp_r30 = &lbl_1_bss_70[i]; + HuSetVecF(&sp28, temp_r30->unk14.x, 0.0, temp_r30->unk14.z); + HuSubVecF(&sp1C, &sp34, &sp28); + if (VECMagXZ(&sp1C) < temp_r30->unk30 + arg2) { + break; + } + } + if (i < arg3) { + return 1; + } + var_r29 = &lbl_1_bss_340[0]; + HuSetVecF(&sp28, var_r29->unk4C.x, 0.0, var_r29->unk4C.z); + HuSubVecF(&sp1C, &sp34, &sp28); + if (VECMagXZ(&sp1C) < var_r29->unk84 + arg2) { + return 1; + } + return 0; +} + +s32 fn_1_1BD4(StructBss70* arg0) { + float var_f31; + float var_f30; + s32 var_r31; + + var_r31 = 0; + var_f31 = fn_1_1534(arg0->unk14.z, arg0->unk30); + var_f30 = fn_1_1534(arg0->unk14.x, arg0->unk30); + if (arg0->unk14.x > var_f31 - arg0->unk30) { + var_r31 = 1; + arg0->unk14.x = var_f31 - arg0->unk30; + } + if (arg0->unk14.x < -(var_f31 - arg0->unk30)) { + var_r31 = 1; + arg0->unk14.x = -(var_f31 - arg0->unk30); + } + if (arg0->unk14.z > var_f30 - arg0->unk30) { + var_r31 = 1; + arg0->unk14.z = var_f30 - arg0->unk30; + } + if (arg0->unk14.z < -(var_f30 - arg0->unk30)) { + var_r31 = 1; + arg0->unk14.z = -(var_f30 - arg0->unk30); + } + return var_r31; +} + +void fn_1_1E10(StructBss70* arg0) { + Vec sp104; + Vec spF8; + Vec spEC; + float temp_f21; + float temp_f20; + float var_f19; + float var_f26; + float spC4; + float spC0; + float spBC; + float spB8; + float spB4; + float spB0; + float spAC; + float spA0; + StructBss70* var_r30; + StructBss70* temp_r28; + s32 temp_r19; + s32 var_r21; + s32 i; + + if (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) == 0) { + return; + } + var_f19 = fn_1_14B4(atan2d(arg0->unk14.x - arg0->unk24, arg0->unk14.z - arg0->unk28)); + temp_f21 = spB8 = arg0->unk24; + temp_f20 = spB4 = arg0->unk28; + spAC = 1.0f; + for (var_r21 = 1.0f + arg0->unk34 / spAC; var_r21 != 0; var_r21--) { + temp_f21 += spAC * sind(var_f19); + temp_f20 += spAC * cosd(var_f19); + HuSetVecF(&sp104, temp_f21, arg0->unk14.y, temp_f20); + for (i = 0; i < 10; i++) { + if (i == arg0->unk0C) { + continue; + } + var_r30 = &lbl_1_bss_70[i]; + HuSetVecF(&spF8, var_r30->unk14.x, var_r30->unk14.y, var_r30->unk14.z); + HuSubVecF(&spEC, &sp104, &spF8); + if (VECMagXYZ(&spEC) < arg0->unk30 + var_r30->unk30) { + break; + } + } + if (i < 10) { + break; + } + if (fn_1_1BD4(arg0)) { + goto block_end; + } + spB8 = temp_f21; + spB4 = temp_f20; + } + var_f19 = fn_1_14B4(atan2d(arg0->unk14.x - arg0->unk24, arg0->unk14.z - arg0->unk28)); + var_f26 = fn_1_14B4(atan2d(var_r30->unk14.x - arg0->unk24, var_r30->unk14.z - arg0->unk28)); + spC0 = var_f19 - var_f26; + if (spC0 > 0.0f) { + spBC = -0.5f; + } else { + spBC = 0.5f; + } + if (ABS_INV(var_f19 - var_f26) > 180.0f) { + spBC = -spBC; + } + var_f26 = fn_1_14B4(atan2d(arg0->unk24 - var_r30->unk14.x, arg0->unk28 - var_r30->unk14.z)); + spB0 = 0.8f * arg0->unk34; + temp_r19 = var_r30->unk0C; + spC4 = arg0->unk30 + var_r30->unk30 + 1.0f; + while (TRUE) { + temp_f21 = var_r30->unk14.x + spC4 * sind(var_f26); + temp_f20 = var_r30->unk14.z + spC4 * cosd(var_f26); + HuSetVecF(&sp104, temp_f21, 0.0, temp_f20); + for (i = 0; i < 10; i++) { + if (i == arg0->unk0C || i == temp_r19) { + continue; + } + temp_r28 = &lbl_1_bss_70[i]; + HuSetVecF(&spF8, temp_r28->unk14.x, 0.0, temp_r28->unk14.z); + HuSubVecF(&spEC, &sp104, &spF8); + if (VECMagXZ(&spEC) < arg0->unk30 + temp_r28->unk30) { + break; + } + } + if (i < 10 || fn_1_1BD4(arg0)) { + break; + } + spB8 = temp_f21; + spB4 = temp_f20; + HuSetVecF(&sp104, arg0->unk24, 0.0, arg0->unk28); + HuSetVecF(&spF8, temp_f21, 0.0, temp_f20); + HuSubVecF(&spEC, &sp104, &spF8); + if (VECMagXZ(&spEC) > spB0) { + break; + } + var_f26 += spBC; + } +block_end: + arg0->unk14.x = spB8; + arg0->unk14.z = spB4; +} + +void fn_1_2FDC(StructBss70* arg0) { + Vec spF0; + Vec spE4; + Vec spD8; + s32 i; + StructBss340* var_r30; + StructBss70* temp_r25; + float var_f31; + s32 var_r23; + s32 var_r20; + s32 spAC[2]; + + var_r30 = &lbl_1_bss_340[0]; + arg0->unk24 = arg0->unk14.x; + arg0->unk28 = arg0->unk14.z; + switch (arg0->unk38) { + case 0: + var_r20 = 0; + HuSetVecF(&spF0, var_r30->unk4C.x, 0.0, var_r30->unk4C.z); + HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); + HuSubVecF(&spD8, &spF0, &spE4); + if (VECMagXZ(&spD8) < var_r30->unk84 + arg0->unk30 + 100.0f) { + var_r20 = 80; + } + if (frandmod(100) < var_r20) { + var_f31 = fn_1_14B4(atan2d(arg0->unk14.x - var_r30->unk4C.x, arg0->unk14.z - var_r30->unk4C.z)); + var_f31 += 30.0f * frandf() - 60.0f; + var_f31 = fn_1_14B4(var_f31); + arg0->unk20 = var_f31; + } else if (ABS_INV(arg0->unk14.x) > 550.0f) { + var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, 0.0)); + var_f31 += 10.0f * frandf() - 20.0f; + var_f31 = fn_1_14B4(var_f31); + arg0->unk20 = var_f31; + } else if (frandmod(3) != 0) { + for (i = 0, var_r23 = 0; i < 10; i++) { + if (i == arg0->unk0C) { + continue; + } + temp_r25 = &lbl_1_bss_70[i]; + HuSetVecF(&spF0, temp_r25->unk14.x, 0.0, temp_r25->unk14.z); + HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); + HuSubVecF(&spD8, &spF0, &spE4); + if (VECMagXZ(&spD8) < 150.0f) { + spAC[var_r23++] = arg0->unk0C; + if (var_r23 >= 2) { + break; + } + } + } + if (var_r23 == 1 && ABS_INV(var_r30->unk4C.x) < 650.0f) { + temp_r25 = &lbl_1_bss_70[spAC[0]]; + var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z)); + } else { + var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, arg0->unk14.z)); + var_f31 += 30.0f * frandf() - 60.0f; + var_f31 = fn_1_14B4(var_f31); + arg0->unk20 = var_f31; + } + } else { + var_f31 = 360.0f * frandf(); + arg0->unk20 = var_f31; + } + arg0->unk40 = arg0->unk14.x + 100.0 * sind(var_f31); + arg0->unk44 = arg0->unk14.z + 100.0 * cosd(var_f31); + arg0->unk38 = 10; + arg0->unk3C = 60; + break; + case 10: + if (arg0->unk3C-- == 0) { + arg0->unk38 = 0; + } + if (arg0->unk3C < 50) { + HuSetVecF(&spF0, var_r30->unk4C.x, 0.0, var_r30->unk4C.z); + HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); + HuSubVecF(&spD8, &spF0, &spE4); + if (VECMagXZ(&spD8) < var_r30->unk84 + arg0->unk30 + 100.0f) { + arg0->unk38 = 0; + } + } + HuSetVecF(&spF0, arg0->unk40, 0.0, arg0->unk44); + HuSetVecF(&spE4, arg0->unk14.x, 0.0, arg0->unk14.z); + HuSubVecF(&spD8, &spF0, &spE4); + if (VECMagXZ(&spD8) > 10.0f) { + var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z)); + arg0->unk14.x += arg0->unk34 * sind(var_f31); + arg0->unk14.z += arg0->unk34 * cosd(var_f31); + if (fn_1_1BD4(arg0)) { + } + if (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) != 0) { + arg0->unk14.x = arg0->unk24; + arg0->unk14.z = arg0->unk28; + arg0->unk38 = 100; + arg0->unk3C = 0; + } + } else { + arg0->unk38 = 100; + arg0->unk3C = 0; + } + break; + case 100: + if (arg0->unk3C == 0) { + arg0->unk38 = 0; + } + arg0->unk3C--; + break; + } +} + +void fn_1_44D8(void) { + StructBss70* temp_r31; + float temp_f30; + float var_f31; + s32 i; + + temp_r31 = HuPrcCurrentGet()->user_data; + temp_f30 = temp_r31->unk14.x; + while (TRUE) { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[0]); + for (i = 0, var_f31 = 0.0f; i < 60; i++) { + temp_r31->unk14.x = temp_f30 - 300.0 * sind(var_f31); + var_f31 += 1.5f; + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); + HuPrcVSleep(); + } + HuPrcSleep(30); + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]); + for (i = 0, var_f31 = 90.0f; i < 60; i++) { + temp_r31->unk14.x = temp_f30 - 300.0 * sind(var_f31); + var_f31 -= 1.5f; + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); + HuPrcVSleep(); + } + HuPrcSleep(30); + } +} + +void fn_1_4644(StructBss70* arg0) { + float temp_f26; + float temp_f25; + float var_f27; + float var_f24; + float temp_f23; + s32 i; + + do { + temp_f26 = 5.0f; + if (frandmod(2) != 0) { + arg0->unk14.x = -700.0f + temp_f26; + arg0->unk20 = 90.0f; + var_f27 = -700.0f + temp_f26 - 500.0f; + var_f24 = 8.333333f; + } else { + arg0->unk14.x = 700.0f - temp_f26; + arg0->unk20 = 270.0f; + var_f27 = 700.0f - temp_f26 + 500.0f; + var_f24 = -8.333333f; + } + arg0->unk14.y = 0.0f; + temp_f23 = 550.0f; + temp_f25 = temp_f23 * frandf() * 2.0f - temp_f23; + arg0->unk14.z = temp_f25; + arg0->unk24 = arg0->unk14.x; + arg0->unk28 = arg0->unk14.z; + } while (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) != 0); + Hu3DMotionSet(arg0->unk00, arg0->unk04[2]); + Hu3DModelRotSet(arg0->unk00, 0.0f, arg0->unk20, 0.0f); + for (i = 0; i < 60; i++) { + var_f27 += var_f24; + Hu3DModelPosSet(arg0->unk00, var_f27, 0.0f, temp_f25); + if (lbl_1_bss_3E4 >= 4) { + break; + } + HuPrcVSleep(); + } + if (lbl_1_bss_3E4 >= 4) { + arg0->unk14.x = var_f27; + arg0->unk14.z = temp_f25; + } + Hu3DModelPosSet(arg0->unk00, arg0->unk14.x, 0.0f, arg0->unk14.z); +} + +void fn_1_4BC4(void) { + s32 spC; + float sp8; + float temp_f23; + float var_f27; + float var_f28; + float var_f30; + float var_f29; + StructBss70* temp_r31; + StructBss340* var_r28; + StructBss340* var_r30; + s32 temp_r27; + s32 temp_r24; + s32 var_r26; + s32 var_r25; + s32 i; + + temp_r31 = HuPrcCurrentGet()->user_data; + temp_r31->unk10 = 0; +loop_1: + temp_r27 = lbl_1_bss_3E0 / 60; + var_r25 = 0; + if (temp_r27 > 10) { + var_r25 = 1; + } + if (temp_r27 > 20) { + var_r25 = 2; + } + temp_r27 = frandmod(100); + for (i = 0; i < 5; i++) { + if (lbl_1_data_C0[var_r25][i] > temp_r27) { + break; + } + } + if (i > 4) { + while (TRUE); + } + temp_r31->unk34 = 6.75f * lbl_1_data_FC[i]; + temp_r31->unk38 = 0; + while (TRUE) { + switch (temp_r31->unk10) { + case 2: + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]); + fn_1_4644(temp_r31); + temp_r31->unk10 = 0; + if (FALSE) { + default: + fn_1_2FDC(temp_r31); + } + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); + Hu3DModelRotSet(temp_r31->unk00, 0.0f, temp_r31->unk20, 0.0f); + if (lbl_1_bss_3E4 < 4) { + HuPrcVSleep(); + break; + } + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[0]); + HuPrcSleep(60); + var_r28 = &lbl_1_bss_340[0]; + if (ABS_INV(var_r28->unk4C.z - temp_r31->unk14.z) > 250.0f) { + if (temp_r31->unk14.x > 0.0f) { + var_f30 = 10.0f; + } else { + var_f30 = -10.0f; + } + } else { + if (var_r28->unk4C.x > temp_r31->unk14.x) { + var_f30 = -10.0f; + } else { + var_f30 = 10.0f; + } + } + if (var_f30 > 0.0f) { + Hu3DModelRotSet(temp_r31->unk00, 0.0f, 90.0f, 0.0f); + } else { + Hu3DModelRotSet(temp_r31->unk00, 0.0f, 270.0f, 0.0f); + } + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]); + while (ABS_INV(temp_r31->unk14.x) < 1500.0f) { + temp_r31->unk14.x += var_f30; + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); + HuPrcVSleep(); + } + while (TRUE) { + HuPrcVSleep(); + } + break; + case 3: + lbl_1_bss_3D8++; + if (lbl_1_bss_3D8 > 99) { + lbl_1_bss_3D8 = 99; + } + temp_r24 = lbl_1_bss_3D8; + var_r26 = 4; + HuSprBankSet(lbl_1_bss_3DC, var_r26, temp_r24 % 10); + HuSprBankSet(lbl_1_bss_3DC, var_r26 + 1, temp_r24 / 10); + HuSprAttrReset(lbl_1_bss_3DC, var_r26 + 1, HUSPR_ATTR_DISPOFF); + omVibrate(0, 12, 6, 6); + HuAudFXPlay(0x45); + HuAudFXPlay(0x5EE); + var_r30 = &lbl_1_bss_340[0]; + temp_r31->unk2C = fn_1_14B4(atan2d(temp_r31->unk14.x - var_r30->unk4C.x, temp_r31->unk14.z - var_r30->unk4C.z)); + Hu3DMotionTimeSet(temp_r31->unk02, 0.0f); + Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF); + Hu3DModelPosSet(temp_r31->unk02, var_r30->unk4C.x + var_r30->unk84 * sind(temp_r31->unk2C), temp_r31->unk14.y + 50.0f, var_r30->unk4C.z + var_r30->unk84 * cosd(temp_r31->unk2C)); + i = 0; + var_f29 = temp_r31->unk14.x; + var_f28 = temp_r31->unk14.z; + while (TRUE) { + var_f29 += 30.0 * sind(var_r30->unk94); + var_f28 += 30.0 * cosd(var_r30->unk94); + if (ABS_INV(var_f29) > 1500.0f || var_f28 > 1300.0f || var_f28 < -2000.0f) { + break; + } + i++; + } + sp8 = temp_r31->unk14.y; + var_f27 = 0.0f; + temp_f23 = 180.0f / i; + spC = 0; + for (; i != 0; i--) { + temp_r31->unk14.x += 30.0 * sind(temp_r31->unk2C); + temp_r31->unk14.y = 400.0 * sind(var_f27); + temp_r31->unk14.z += 30.0 * cosd(temp_r31->unk2C); + var_f27 += temp_f23; + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); + HuPrcVSleep(); + } + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, -1000.0f, temp_r31->unk14.z); + temp_r31->unk10 = 2; + Hu3DModelAttrSet(temp_r31->unk02, HU3D_ATTR_DISPOFF); + goto loop_1; + } + } +} + +void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix) { + HsfanimStruct01* var_r31; + StructBss340* temp_r28; + float var_f30; + float var_f31; + float temp_f29; + s32 var_r27; + s16 i; + s16 j; + s16 k; + + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (k = 0; k < particle->unk_30; k++, var_r31++) { + var_r31->unk14.x = var_r31->unk2C = 0.0f; + } + } + var_r31 = particle->unk_48; + for (i = 0; i < 1; i++) { + temp_r28 = &lbl_1_bss_340[i]; + if (!(temp_r28->unk30 & 1)) { + continue; + } + for (j = 0, var_f30 = 0.0f; j < 16; j++, var_f30 += 22.5f) { + for (k = 0; k < particle->unk_30; k++, var_r31++) { + if (var_r31->unk14.x == 0.0f) { + break; + } + } + if (k == particle->unk_30) { + break; + } + var_f31 = var_f30; + temp_f29 = 125.0f + 70.0f * frandf(); + var_r31->unk34.x = temp_r28->unk6C + temp_f29 * sind(var_f31); + var_r31->unk34.y = temp_r28->unk70 + 50.0f * frandf(); + var_r31->unk34.z = temp_r28->unk74 + temp_f29 * cosd(var_f31); + var_r31->unk08.x = 5.0 * sind(var_f31); + var_r31->unk08.y = 9.0f + 2.0f * frandf(); + var_r31->unk08.z = 5.0 * cosd(var_f31); + var_r31->unk14.x = 30.0f; + var_r31->unk2C = 80.0f + 20.0f * frandf(); + var_r31->unk14.y = 15.0f; + var_r31->unk40.a = 0xC8; + var_r31->unk14.z = 17.0f; + } + temp_r28->unk30 &= ~1; + } + var_r31 = particle->unk_48; + for (k = 0; k < particle->unk_30; k++, var_r31++) { + if (var_r31->unk14.x == 0.0f) { + continue; + } + PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); + var_r31->unk08.x *= 0.95f; + var_r31->unk08.z *= 0.95f; + if (var_r31->unk08.y > 0.1f) { + var_r31->unk08.y -= 0.2f; + } + if (var_r31->unk08.y < 0.0f) { + var_r31->unk08.y = 0.0f; + } + var_r31->unk2C += var_r31->unk14.y; + if (var_r31->unk14.y > 2.0f) { + var_r31->unk14.y -= 1.5f; + } + var_r27 = var_r31->unk40.a; + var_r27 -= var_r31->unk14.z; + if (var_r31->unk14.z > 3.0f) { + var_r31->unk14.z -= 1.0f; + } + if (var_r27 < 0) { + var_r27 = 0; + var_r31->unk14.x = 0.0f; + } + var_r31->unk40.a = var_r27; + if (var_r31->unk14.x == 0.0f) { + var_r31->unk2C = 0.0f; + } + } +} + +void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix) { + HsfanimStruct01* var_r31; + StructBss340* temp_r28; + float temp_f31; + float temp_f30; + s32 var_r27; + s16 i; + s16 j; + s16 k; + + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (k = 0; k < particle->unk_30; k++, var_r31++) { + var_r31->unk14.x = var_r31->unk2C = 0.0f; + var_r31->unk20 = -1.0f; + } + } + var_r31 = particle->unk_48; + for (i = 0; i < 1; i++) { + temp_r28 = &lbl_1_bss_340[i]; + if (!(temp_r28->unk30 & 2)) { + continue; + } + for (j = 0; j < 10; j++) { + for (k = 0; k < particle->unk_30; k++, var_r31++) { + if (var_r31->unk14.x == 0.0f) { + break; + } + } + if (k == particle->unk_30) { + break; + } + temp_f31 = 400.0f * frandf() - 200.0f; + temp_f30 = 400.0f * frandf() - 200.0f; + var_r31->unk34.x = temp_r28->unk6C + temp_f31; + var_r31->unk34.y = temp_r28->unk70 + 50.0f; + var_r31->unk34.z = temp_r28->unk74 + temp_f30; + var_r31->unk08.x = 0.0f; + var_r31->unk08.y = 7.0f; + var_r31->unk08.z = 0.0f; + var_r31->unk20 = frandmod(10); + var_r31->unk24 = 0.0f; + var_r31->unk14.x = 100.0f; + var_r31->unk2C = 0.0f; + var_r31->unk14.y = 7.0f; + var_r31->unk40.a = 0xFF; + var_r31->unk14.z = 10.0f; + } + temp_r28->unk30 &= ~2; + } + var_r31 = particle->unk_48; + for (k = 0; k < particle->unk_30; k++, var_r31++) { + if (var_r31->unk20 > 0.0f) { + var_r31->unk20 -= 1.0f; + } + if (var_r31->unk20 == 0.0f) { + var_r31->unk24 = 1.0f; + var_r31->unk2C = 100.0f + 100.0f * frandf(); + var_r31->unk20 = -1.0f; + } + if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) { + continue; + } + PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); + if (var_r31->unk08.y > 1.0f) { + var_r31->unk08.y -= 0.3f; + } + var_r31->unk2C += var_r31->unk14.y; + if (var_r31->unk14.y > 2.0f) { + var_r31->unk14.y -= 0.4f; + } + var_r27 = var_r31->unk40.a; + var_r27 -= var_r31->unk14.z; + if (var_r31->unk14.z > 3.0f) { + var_r31->unk14.z -= 1.0f; + } + if (var_r27 < 0) { + var_r27 = 0; + var_r31->unk14.x = 0.0f; + } + var_r31->unk40.a = var_r27; + if (var_r31->unk14.x == 0.0f) { + var_r31->unk2C = 0.0f; + } + } +} + +void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix) { + HsfanimStruct01* var_r31; + StructBss340* temp_r28; + float temp_f31; + float temp_f30; + s32 var_r27; + s16 i; + s16 j; + s16 k; + + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (k = 0; k < particle->unk_30; k++, var_r31++) { + var_r31->unk14.x = var_r31->unk2C = 0.0f; + var_r31->unk20 = -1.0f; + } + } + var_r31 = particle->unk_48; + for (i = 0; i < 1; i++) { + temp_r28 = &lbl_1_bss_340[i]; + if (!(temp_r28->unk30 & 4)) { + continue; + } + for (j = 0; j < 10; j++) { + for (k = 0; k < particle->unk_30; k++, var_r31++) { + if (var_r31->unk14.x == 0.0f) { + break; + } + } + if (k == particle->unk_30) { + break; + } + temp_f31 = 400.0f * frandf() - 200.0f; + temp_f30 = 400.0f * frandf() - 200.0f; + var_r31->unk34.x = temp_r28->unk6C + temp_f31; + var_r31->unk34.y = temp_r28->unk70 + 50.0f; + var_r31->unk34.z = temp_r28->unk74 + temp_f30; + var_r31->unk08.x = 0.0f; + var_r31->unk08.y = 7.0f; + var_r31->unk08.z = 0.0f; + var_r31->unk20 = frandmod(10); + var_r31->unk24 = 0.0f; + var_r31->unk14.x = 100.0f; + var_r31->unk2C = 0.0f; + var_r31->unk14.y = 7.0f; + var_r31->unk40.a = 0xFF; + var_r31->unk14.z = 10.0f; + } + temp_r28->unk30 &= ~4; + } + var_r31 = particle->unk_48; + for (k = 0; k < particle->unk_30; k++, var_r31++) { + if (var_r31->unk20 > 0.0f) { + var_r31->unk20 -= 1.0f; + } + if (var_r31->unk20 == 0.0f) { + var_r31->unk24 = 1.0f; + var_r31->unk2C = 100.0f + 100.0f * frandf(); + var_r31->unk20 = -1.0f; + } + if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) { + continue; + } + PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); + if (var_r31->unk08.y > 1.0f) { + var_r31->unk08.y -= 0.3f; + } + var_r31->unk2C += var_r31->unk14.y; + if (var_r31->unk14.y > 2.0f) { + var_r31->unk14.y -= 0.4f; + } + var_r27 = var_r31->unk40.a; + var_r27 -= var_r31->unk14.z; + if (var_r31->unk14.z > 3.0f) { + var_r31->unk14.z -= 1.0f; + } + if (var_r27 < 0) { + var_r27 = 0; + var_r31->unk14.x = 0.0f; + } + var_r31->unk40.a = var_r27; + if (var_r31->unk14.x == 0.0f) { + var_r31->unk2C = 0.0f; + } + } +} + +s8 fn_1_627C(s32 arg0, s32 arg1) { + StructBss340* temp_r31; + s8 var_r30; + + temp_r31 = &lbl_1_bss_340[arg0]; + (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk28]) : (var_r30 = HuPadStkX[temp_r31->unk28]); + return var_r30; +} + +u8 fn_1_62F0(s32 arg0, s32 arg1) { + StructBss340* temp_r31; + s8 var_r30; + + temp_r31 = &lbl_1_bss_340[arg0]; + (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk28]) : (var_r30 = HuPadTrigL[temp_r31->unk28]); + return var_r30; +} + +u16 fn_1_636C(s32 arg0) { + StructBss340* temp_r31; + u16 var_r30; + + temp_r31 = &lbl_1_bss_340[arg0]; + var_r30 = HuPadBtnDown[temp_r31->unk28]; + return var_r30; +} + +u16 fn_1_63B4(s32 arg0) { + StructBss340* temp_r31; + u16 var_r30; + + temp_r31 = &lbl_1_bss_340[arg0]; + var_r30 = HuPadBtn[temp_r31->unk28]; + return var_r30; +} + +s32 fn_1_63FC(StructBss340* arg0) { + Vec sp24; + Vec sp18; + Vec spC; + StructBss70* temp_r31; + s32 var_r28; + s32 i; + + var_r28 = -1; + HuSetVecF(&sp24, arg0->unk4C.x, arg0->unk4C.y, arg0->unk4C.z); + for (i = 0; i < 10; i++) { + temp_r31 = &lbl_1_bss_70[i]; + HuSetVecF(&sp18, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); + HuSubVecF(&spC, &sp24, &sp18); + if (VECMagXYZ(&spC) < arg0->unk84 + temp_r31->unk30) { + temp_r31->unk10 = 3; + var_r28 = i; + } + } + return var_r28; +} + +s32 fn_1_65D0(StructBss340* arg0) { + float var_f31; + float var_f30; + s32 sp8; + + var_f31 = fn_1_1534(arg0->unk4C.z, arg0->unk84); + var_f30 = fn_1_1534(arg0->unk4C.x, arg0->unk84); + if (arg0->unk4C.x > var_f31 - arg0->unk84) { + arg0->unk4C.x = var_f31 - arg0->unk84; + } + if (arg0->unk4C.x < -(var_f31 - arg0->unk84)) { + arg0->unk4C.x = -(var_f31 - arg0->unk84); + } + if (arg0->unk4C.z > var_f30 - arg0->unk84) { + arg0->unk4C.z = var_f30 - arg0->unk84; + } + if (arg0->unk4C.z < -(var_f30 - arg0->unk84)) { + arg0->unk4C.z = -(var_f30 - arg0->unk84); + } + return sp8; +} + +float fn_1_67F0(float arg0, float arg1, float arg2) { + float var_f30; + float var_f31; + + var_f31 = fmod(arg1 - arg0, 360.0); + if (0.0f > var_f31) { + var_f31 += 360.0f; + } + if (180.0f < var_f31) { + var_f31 -= 360.0f; + } + var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); + if (0.0f > var_f30) { + var_f30 += 360.0f; + } + return var_f30; +} + +void fn_1_68F4(void) { + StructBss340* temp_r31; + s32 i; + + temp_r31 = HuPrcCurrentGet()->user_data; + for (i = 0; i < 20; i++) { + temp_r31->unk78.z -= 4.0f; + Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk78.x, temp_r31->unk78.y, temp_r31->unk78.z); + HuPrcVSleep(); + } + HuPrcKill(HuPrcCurrentGet()); + while (TRUE) { + HuPrcVSleep(); + } +} + +s32 fn_1_6964(StructBss340* arg0) { + return (arg0->unk2C == 4 || arg0->unk2C == 5 || arg0->unk2C == 6); +} + +void fn_1_69C0(void) { + float var_f23; + float var_f27; + float var_f26; + StructBss340* temp_r31; + s16 var_r29; + s32 var_r24; + s32 var_r23; + Process* var_r22; + s32 var_r26; + s32 var_r25; + s32 var_r28; + s32 spA4; + + temp_r31 = HuPrcCurrentGet()->user_data; + temp_r31->unk2C = 0; + temp_r31->unk48 = 0; + temp_r31->unk30 = 0; + while (lbl_1_bss_3E4 == 0) { + HuPrcVSleep(); + } + lbl_1_bss_3E4 = 2; + while (lbl_1_bss_3E4 == 2) { + HuPrcVSleep(); + } + var_r29 = -1; + while (TRUE) { + temp_r31->unk58 = temp_r31->unk4C.x; + temp_r31->unk5C = temp_r31->unk4C.z; + if (temp_r31->unk16[4] != 0) { + break; + } + switch (temp_r31->unk2C) { + case 8: + if (temp_r31->unk3C != 0) { + temp_r31->unk3C--; + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + temp_r31->unk2C = 0; + } + break; + case 4: + omVibrate(temp_r31->unk20, 12, 4, 2); + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[4], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + temp_r31->unk3C = 90; + temp_r31->unk44 = 30; + temp_r31->unk2C = 5; + break; + case 5: + if (temp_r31->unk44-- == 0) { + temp_r31->unk6C = temp_r31->unk4C.x; + temp_r31->unk70 = temp_r31->unk4C.y; + temp_r31->unk74 = temp_r31->unk4C.z; + temp_r31->unk30 |= 1; + } + if (temp_r31->unk3C != 0) { + temp_r31->unk3C--; + } else { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[5]); + Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); + temp_r31->unk2C = 6; + } + break; + case 6: + if (Hu3DMotionEndCheck(temp_r31->unk00) == TRUE) { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[0]); + temp_r31->unk2C = 0; + } + break; + default: + if (fn_1_627C(temp_r31->unk20, 0) > 20) { + temp_r31->unk94 -= temp_r31->unk90; + if (temp_r31->unk94 < 0.0f) { + temp_r31->unk94 += 360.0f; + } + temp_r31->unk60.y = temp_r31->unk94; + } + if (fn_1_627C(temp_r31->unk20, 0) < -20) { + temp_r31->unk94 += temp_r31->unk90; + if (temp_r31->unk94 > 360.0f) { + temp_r31->unk94 -= 360.0f; + } + temp_r31->unk60.y = temp_r31->unk94; + } + if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { + temp_r31->unk4C.x += temp_r31->unk88 * sind(temp_r31->unk94); + temp_r31->unk4C.z += temp_r31->unk88 * cosd(temp_r31->unk94); + } + if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_B) { + temp_r31->unk4C.x -= temp_r31->unk88 * sind(temp_r31->unk94); + temp_r31->unk4C.z -= temp_r31->unk88 * cosd(temp_r31->unk94); + } + if (fn_1_63B4(temp_r31->unk20) & (PAD_BUTTON_A | PAD_BUTTON_B)) { + if (temp_r31->unk34 != 1) { + if (temp_r31->unk2C != 2) { + temp_r31->unk2C = 2; + if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); + } + if (var_r29 != -1) { + HuAudFXStop(var_r29); + } + } + } else { + if (temp_r31->unk2C != 3) { + temp_r31->unk2C = 3; + temp_r31->unk48 = 0; + if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); + } + if (var_r29 != -1) { + HuAudFXStop(var_r29); + } + } + } + if (temp_r31->unk34 != 1) { + var_r24 = 8; + var_r23 = 32; + } else { + var_r24 = 7; + var_r23 = 22; + } + if (temp_r31->unk48 == var_r24) { + HuAudFXPlay(0x5E0); + } + if (temp_r31->unk48 == var_r23) { + HuAudFXPlay(0x5E0); + } + temp_r31->unk48++; + if (temp_r31->unk34 != 1) { + if (temp_r31->unk48 >= 50) { + temp_r31->unk48 -= 50; + } + } else { + if (temp_r31->unk48 >= 30) { + temp_r31->unk48 -= 30; + } + } + } else { + if (ABS_INV(fn_1_627C(temp_r31->unk20, 0)) <= 20) { + if (temp_r31->unk2C != 0) { + temp_r31->unk2C = 0; + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + if (var_r29 != -1) { + HuAudFXStop(var_r29); + } + } + } else { + if (temp_r31->unk2C != 1) { + temp_r31->unk2C = 1; + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.5f); + var_r29 = HuAudFXPlay(0x5EB); + } + } + } + if (fn_1_63FC(temp_r31) != -1) { + } + if ((spA4 = fn_1_65D0(temp_r31)) != -1) { + } + break; + } + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, temp_r31->unk60.y, temp_r31->unk60.z); + HuPrcVSleep(); + } + if (var_r29 != -1) { + HuAudFXStop(var_r29); + } + if (lbl_1_bss_3D8 == 0) { + HuAudFXPlay(0x5EA); + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); + HuPrcSleep(90); + Hu3DModelAttrReset(temp_r31->unk04, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk04, HU3D_MOTATTR_PAUSE); + Hu3DModelPosSet(temp_r31->unk04, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[7], 0.0f, 5.0f, HU3D_MOTATTR_NONE); + HuAudFXPlay(0x5E3); + HuPrcSleep(15); + HuPrcSleep(30); + temp_r31->unk6C = temp_r31->unk4C.x; + temp_r31->unk70 = temp_r31->unk4C.y; + temp_r31->unk74 = temp_r31->unk4C.z; + temp_r31->unk30 |= 2; + while (!Hu3DMotionEndCheck(temp_r31->unk00)) { + HuPrcVSleep(); + } + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk20].character], temp_r31->unk16[3], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); + Hu3DModelHookReset(temp_r31->unk00); + Hu3DModelShadowSet(temp_r31->unk02); + var_f27 = 50.0f; + Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk4C.x, temp_r31->unk4C.y + var_f27, temp_r31->unk4C.z); + HuPrcSleep(60); + for (var_r26 = 0, var_r25 = 0; var_r26 < 90; var_r26++) { + if (var_r25 & 1) { + Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(temp_r31->unk04, HU3D_ATTR_DISPOFF); + } else { + Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF); + } + var_r25++; + HuPrcVSleep(); + } + Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF); + for (var_r28 = 0, var_f23 = 1.0f; var_r28 < 30; var_r28++) { + var_f23 -= 0.033333335f; + Hu3DModelTPLvlSet(temp_r31->unk00, var_f23); + if (var_f27 > 0.0f) { + var_f27 -= 5.0f; + Hu3DModelPosSet(temp_r31->unk02, temp_r31->unk4C.x, temp_r31->unk4C.y + var_f27, temp_r31->unk4C.z); + } + HuPrcVSleep(); + } + Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); + HuAudSStreamPlay(4); + HuPrcSleep(180); + } else { + var_f26 = temp_r31->unk90; + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); + if (fn_1_14B4(temp_r31->unk60.y) != 0.0f) { + var_r28 = (360.0f - fn_1_14B4(temp_r31->unk60.y)) / var_f26; + if (temp_r31->unk60.y < 180.0f) { + var_r28 = temp_r31->unk60.y / var_f26; + var_f26 = -var_f26; + } + for (; var_r28 != 0; var_r28--) { + temp_r31->unk60.y += var_f26; + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, temp_r31->unk60.y, temp_r31->unk60.z); + HuPrcVSleep(); + } + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk60.x, 0.0f, temp_r31->unk60.z); + } + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); + while (lbl_1_bss_3E4 < 5) { + HuPrcVSleep(); + } + HuAudSStreamPlay(1); + var_r22 = HuPrcChildCreate(fn_1_68F4, 0x2000, 0x1000, 0, HuPrcCurrentGet()); + var_r22->user_data = temp_r31; + HuAudPlayerVoicePlay(temp_r31->unk20, 0x122); + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk20].character], temp_r31->unk16[2], 0.0f, 2.0f, HU3D_MOTATTR_NONE); + temp_r31->unk2C = 10; + HuPrcSleep(180); + } + lbl_1_bss_3E4 = 6; + while (TRUE) { + HuPrcVSleep(); + } +} + +void fn_1_7D3C(void) { +} + +void fn_1_7D40(void) { + while (TRUE) { + if (omSysExitReq == 1) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudFadeOut(1000); + HuPrcSleep(60); + MGSeqKillAll(); + omOvlReturnEx(1, 1); + while (TRUE) { + HuPrcVSleep(); + } + } + HuPrcVSleep(); + } +} + +void fn_1_7DA0(void) { + s16 temp_r31; + s16 var_r30; + s16 temp_r26; + s32 var_r24; + s32 i; + + lbl_1_bss_3E4 = 0; + lbl_1_bss_3E4 = 1; + while (lbl_1_bss_3E4 == 1) { + HuPrcVSleep(); + } + var_r24 = HuAudSeqPlay(0x46); + temp_r31 = MGSeqStartCreate(); + while (MGSeqStatGet(temp_r31) != 0) { + HuPrcVSleep(); + } + fn_1_16F8(); + var_r30 = 1859; + temp_r26 = MGSeqTimerCreate(var_r30 / 60); + lbl_1_bss_3E4 = 3; + while (TRUE) { + if (var_r30 < 59) { + break; + } + MGSeqParamSet(temp_r26, 1, var_r30-- / 60); + lbl_1_bss_3E0++; + HuPrcVSleep(); + } + for (i = 0; i < 1; i++) { + lbl_1_bss_340[i].unk1E = 1; + } + lbl_1_bss_3E4 = 4; + HuAudSeqFadeOut(var_r24, 6); + MGSeqParamSet(temp_r26, 2, -1); + temp_r31 = MGSeqFinishCreate(); + while (MGSeqStatGet(temp_r31) != 0) { + HuPrcVSleep(); + } + mgRecordExtra = lbl_1_bss_3D8; + if (GWMGRecordGet(14) < lbl_1_bss_3D8) { + GWMGRecordSet(14, lbl_1_bss_3D8); + temp_r31 = MGSeqRecordCreate(lbl_1_bss_3D8); + HuPrcChildCreate(fn_1_1634, 0x1000, 0x1000, 0, HuPrcCurrentGet()); + fn_1_17A0(lbl_1_bss_3D8, 1); + while (MGSeqStatGet(temp_r31) != 0) { + HuPrcVSleep(); + } + lbl_1_bss_3E4 = 5; + } else { + lbl_1_bss_3E4 = 5; + } + while (lbl_1_bss_3E4 < 6) { + HuPrcVSleep(); + } + HuPrcSleep(30); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuPrcSleep(60); + HuAudFadeOut(1); + MGSeqKillAll(); + omOvlReturnEx(1, 1); + while (TRUE) { + HuPrcVSleep(); + } +} diff --git a/src/REL/mentDll/main.c b/src/REL/mentDll/main.c index 847ac234..03f49eb0 100644 --- a/src/REL/mentDll/main.c +++ b/src/REL/mentDll/main.c @@ -3739,19 +3739,19 @@ void fn_1_14BA8(void) s32 var_r30; var_r30 = lbl_1_bss_35BC[0].unk_30; for (var_r31 = 0; var_r31 < 0x35; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); + HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); } for (var_r31 = 0; var_r31 < 8; var_r31++) { HuSprBankSet(var_r30, var_r31, 0); - HuSprAttrReset(var_r30, var_r31, 4); - HuSprAttrReset(var_r30, var_r31 + 8, 4); + HuSprAttrReset(var_r30, var_r31, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 8, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, 0x28, 4); + HuSprAttrReset(var_r30, 0x28, HUSPR_ATTR_DISPOFF); for (var_r31 = 0; var_r31 < 4; var_r31++) { HuSprBankSet(var_r30, var_r31 + 0x10, 0); HuSprBankSet(var_r30, var_r31 + 0x14, 0); - HuSprAttrReset(var_r30, var_r31 + 0x29, 4); - HuSprAttrReset(var_r30, var_r31 + 0x2D, 4); + HuSprAttrReset(var_r30, var_r31 + 0x29, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 0x2D, HUSPR_ATTR_DISPOFF); } HuSprGrpPosSet(var_r30, 0.0f, -500.0f); } @@ -3809,19 +3809,19 @@ void fn_1_14CE0(void) var_r30 = lbl_1_bss_35BC[0].unk_30; for (var_r31 = 0; var_r31 < 4; var_r31++) { if (lbl_1_bss_3114[var_r31].unk_60 != 0) { - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, 4); - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, 4); + HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, 4); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, HUSPR_ATTR_DISPOFF); } HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 % 4][0], lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 / 4][1]); HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 % 4][0], lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 / 4][1]); } - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { + for (var_r31 = 0; var_r31 <= 60; var_r31++) { fn_1_4D8(); if (var_r31 <= 0x32) { var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f); @@ -3918,19 +3918,19 @@ void fn_1_151B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) } var_r27 = lbl_1_bss_35BC[0].unk_30; for (var_r28 = 0; var_r28 < 0x35; var_r28++) { - HuSprAttrSet(var_r27, var_r28, 4); + HuSprAttrSet(var_r27, var_r28, HUSPR_ATTR_DISPOFF); } for (var_r28 = 0; var_r28 < 8; var_r28++) { HuSprBankSet(var_r27, var_r28, 0); - HuSprAttrReset(var_r27, var_r28, 4); - HuSprAttrReset(var_r27, var_r28 + 8, 4); + HuSprAttrReset(var_r27, var_r28, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r27, var_r28 + 8, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r27, 0x28, 4); + HuSprAttrReset(var_r27, 0x28, HUSPR_ATTR_DISPOFF); for (var_r28 = 0; var_r28 < 4; var_r28++) { HuSprBankSet(var_r27, var_r28 + 0x10, 0); HuSprBankSet(var_r27, var_r28 + 0x14, 0); - HuSprAttrReset(var_r27, var_r28 + 0x29, 4); - HuSprAttrReset(var_r27, var_r28 + 0x2D, 4); + HuSprAttrReset(var_r27, var_r28 + 0x29, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r27, var_r28 + 0x2D, HUSPR_ATTR_DISPOFF); } HuSprGrpPosSet(var_r27, 0.0f, -500.0f); } @@ -4093,8 +4093,8 @@ void fn_1_162A0(MentDllUnkBss3114Struct *arg0) HuSprBankSet(var_r30, arg0->unk_58 + 0x20, arg0->unk_64); HuSprPosSet(var_r30, arg0->unk_58 + 0x20, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23); HuSprPosSet(var_r30, arg0->unk_58 + 0x24, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25); - HuSprAttrReset(var_r30, arg0->unk_58 + 0x20, 4); - HuSprAttrReset(var_r30, arg0->unk_58 + 0x24, 4); + HuSprAttrReset(var_r30, arg0->unk_58 + 0x20, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, arg0->unk_58 + 0x24, HUSPR_ATTR_DISPOFF); } s32 fn_1_1648C(MentDllUnkBss3114Struct *arg0) @@ -4174,8 +4174,8 @@ s32 fn_1_1648C(MentDllUnkBss3114Struct *arg0) if (var_r27 == 1) { HuSprPosSet(var_r29, arg0->unk_58 + 49, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 35); HuSprBankSet(var_r29, arg0->unk_58 + 49, arg0->unk_64); - HuSprAttrReset(var_r29, arg0->unk_58 + 49, 4); - HuSprAttrSet(var_r29, arg0->unk_58 + 32, 4); + HuSprAttrReset(var_r29, arg0->unk_58 + 49, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r29, arg0->unk_58 + 32, HUSPR_ATTR_DISPOFF); } return var_r27; @@ -4327,11 +4327,11 @@ void fn_1_173FC(MentDllUnkBss3114Struct *arg0) HuSprPosSet(var_r30, arg0->unk_58 + 0x24, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25); HuSprPosSet(var_r30, arg0->unk_58 + 0x31, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25); arg0->unk_70[2] = 0; - HuSprAttrReset(var_r30, arg0->unk_58 + 0x18, 4); - HuSprAttrReset(var_r30, arg0->unk_58 + 0x1C, 4); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x20, 4); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x24, 4); - HuSprAttrSet(var_r30, arg0->unk_58 + 0x31, 4); + HuSprAttrReset(var_r30, arg0->unk_58 + 0x18, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, arg0->unk_58 + 0x1C, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, arg0->unk_58 + 0x20, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, arg0->unk_58 + 0x24, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, arg0->unk_58 + 0x31, HUSPR_ATTR_DISPOFF); } void fn_1_17914(MentDllUnkBss3114Struct *arg0) @@ -4355,24 +4355,24 @@ void fn_1_179DC(void) var_r30 = lbl_1_bss_35BC[0].unk_34; for (var_r29 = 0; var_r29 < 0x11; var_r29++) { - HuSprAttrSet(var_r30, var_r29, 4); + HuSprAttrSet(var_r30, var_r29, HUSPR_ATTR_DISPOFF); } for (var_r29 = 0; var_r29 < 4; var_r29++) { var_r31 = &lbl_1_bss_3114[var_r29]; HuSprPosSet(var_r30, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]); - HuSprAttrReset(var_r30, var_r31->unk_68, 4); + HuSprAttrReset(var_r30, var_r31->unk_68, HUSPR_ATTR_DISPOFF); if (var_r31->unk_60 == 0) { HuSprBankSet(var_r30, var_r31->unk_58 + 8, var_r31->unk_58); HuSprPosSet(var_r30, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 8, 4); + HuSprAttrReset(var_r30, var_r31->unk_58 + 8, HUSPR_ATTR_DISPOFF); } else { HuSprBankSet(var_r30, var_r31->unk_58 + 0xC, var_r31->unk_64); HuSprPosSet(var_r30, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, 4); + HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, HUSPR_ATTR_DISPOFF); } } - HuSprAttrReset(var_r30, 0x10, 4); + HuSprAttrReset(var_r30, 0x10, HUSPR_ATTR_DISPOFF); HuSprGrpPosSet(var_r30, 16.0f, -500.0f); } @@ -4407,24 +4407,24 @@ void fn_1_17CC8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) HuSprPosSet(var_r26, 0x10, 96.0f, 32.0f); var_r29 = lbl_1_bss_35BC[0].unk_34; for (var_r28 = 0; var_r28 < 0x11; var_r28++) { - HuSprAttrSet(var_r29, var_r28, 4); + HuSprAttrSet(var_r29, var_r28, HUSPR_ATTR_DISPOFF); } for (var_r28 = 0; var_r28 < 4; var_r28++) { var_r31 = &lbl_1_bss_3114[var_r28]; HuSprPosSet(var_r29, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]); - HuSprAttrReset(var_r29, var_r31->unk_68, 4); + HuSprAttrReset(var_r29, var_r31->unk_68, HUSPR_ATTR_DISPOFF); if (var_r31->unk_60 == 0) { HuSprBankSet(var_r29, var_r31->unk_58 + 8, var_r31->unk_58); HuSprPosSet(var_r29, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r29, var_r31->unk_58 + 8, 4); + HuSprAttrReset(var_r29, var_r31->unk_58 + 8, HUSPR_ATTR_DISPOFF); } else { HuSprBankSet(var_r29, var_r31->unk_58 + 0xC, var_r31->unk_64); HuSprPosSet(var_r29, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r29, var_r31->unk_58 + 0xC, 4); + HuSprAttrReset(var_r29, var_r31->unk_58 + 0xC, HUSPR_ATTR_DISPOFF); } } - HuSprAttrReset(var_r29, 0x10, 4); + HuSprAttrReset(var_r29, 0x10, HUSPR_ATTR_DISPOFF); HuSprGrpPosSet(var_r29, 16.0f, -500.0f); } @@ -4438,24 +4438,24 @@ void fn_1_1811C(void) var_r30 = lbl_1_bss_35BC[0].unk_34; for (var_r29 = 0; var_r29 < 0x11; var_r29++) { - HuSprAttrSet(var_r30, var_r29, 4); + HuSprAttrSet(var_r30, var_r29, HUSPR_ATTR_DISPOFF); } for (var_r29 = 0; var_r29 < 4; var_r29++) { var_r31 = &lbl_1_bss_3114[var_r29]; HuSprPosSet(var_r30, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]); - HuSprAttrReset(var_r30, var_r31->unk_68, 4); + HuSprAttrReset(var_r30, var_r31->unk_68, HUSPR_ATTR_DISPOFF); if (var_r31->unk_60 == 0) { HuSprBankSet(var_r30, var_r31->unk_58 + 8, var_r31->unk_58); HuSprPosSet(var_r30, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 8, 4); + HuSprAttrReset(var_r30, var_r31->unk_58 + 8, HUSPR_ATTR_DISPOFF); } else { HuSprBankSet(var_r30, var_r31->unk_58 + 0xC, var_r31->unk_64); HuSprPosSet(var_r30, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19); - HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, 4); + HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, HUSPR_ATTR_DISPOFF); } } - HuSprAttrReset(var_r30, 0x10, 4); + HuSprAttrReset(var_r30, 0x10, HUSPR_ATTR_DISPOFF); HuSprGrpPosSet(var_r30, 16.0f, -500.0f); for (var_r28 = 0; var_r28 <= 0x3C; var_r28++) { fn_1_4D8(); @@ -4551,18 +4551,18 @@ void fn_1_18A54(s32 arg0) if (arg0 != 5) { HuSprBankSet(var_r31, 0, arg0); HuSprBankSet(var_r31, 1, arg0); - HuSprAttrSet(var_r31, 2, 4); - HuSprAttrSet(var_r31, 3, 4); - HuSprAttrReset(var_r31, 0, 4); - HuSprAttrReset(var_r31, 1, 4); + HuSprAttrSet(var_r31, 2, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r31, 3, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r31, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r31, 1, HUSPR_ATTR_DISPOFF); if (lbl_1_bss_A8[0] != 0) { if ((arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) || (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) || (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) || (arg0 == 3 && (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0)) || (arg0 == 4 && (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0))) { - HuSprAttrReset(var_r31, 4, 4); - HuSprAttrReset(var_r31, 5, 4); + HuSprAttrReset(var_r31, 4, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r31, 5, HUSPR_ATTR_DISPOFF); HuSprTPLvlSet(var_r31, 5, 0.8f); - HuSprAttrReset(var_r31, 6, 4); + HuSprAttrReset(var_r31, 6, HUSPR_ATTR_DISPOFF); HuSprTPLvlSet(var_r31, 6, 0.5f); } else { @@ -4573,10 +4573,10 @@ void fn_1_18A54(s32 arg0) } } else { - HuSprAttrSet(var_r31, 0, 4); - HuSprAttrSet(var_r31, 1, 4); - HuSprAttrReset(var_r31, 2, 4); - HuSprAttrReset(var_r31, 3, 4); + HuSprAttrSet(var_r31, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r31, 1, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r31, 2, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r31, 3, HUSPR_ATTR_DISPOFF); } lbl_1_bss_35BC[0].unk_08[0] = arg0; lbl_1_bss_35BC[0].unk_1C[1] = (rand8() % 10) * 0x24; @@ -4664,47 +4664,47 @@ void fn_1_190E8(void) var_r30 = lbl_1_bss_35BC[0].unk_3C; for (var_r31 = 0; var_r31 < 0x5B; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); + HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); } if (lbl_1_bss_A8[2] != 5) { HuSprBankSet(var_r30, 0, lbl_1_bss_A8[2]); - HuSprAttrReset(var_r30, 0, 4); + HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrReset(var_r30, 1, 4); + HuSprAttrReset(var_r30, 1, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, 2, 4); + HuSprAttrReset(var_r30, 2, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, 2, 288.0f, lbl_1_data_5DC[0][1]); HuSprScaleSet(var_r30, 2, 1.0f, lbl_1_data_5DC[0][2]); for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, 4); + HuSprAttrReset(var_r30, var_r31 + 3, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_5DC[0][var_r31 + 3], lbl_1_data_5DC[0][1]); } for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 7, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 7, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 7, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[0][1]); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0xF, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0xF, HUSPR_ATTR_DISPOFF); HuSprPosSet( var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0xF, 1.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 2.0f + lbl_1_data_5DC[0][1]); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x1F, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x1F, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x1F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 9.0f); - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x27, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x27, HUSPR_ATTR_DISPOFF); HuSprPosSet( var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x27, 1.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 7.0f); if (lbl_1_bss_3114[var_r31].unk_60 != 0) { - HuSprAttrReset(var_r30, var_r31 + 0x1B, 4); + HuSprAttrReset(var_r30, var_r31 + 0x1B, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, var_r31 + 0x1B, lbl_1_bss_3114[var_r31].unk_64); HuSprPosSet(var_r30, var_r31 + 0x1B, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 21.0f + lbl_1_data_5DC[0][1]); } else { - HuSprAttrReset(var_r30, var_r31 + 0x17, 4); + HuSprAttrReset(var_r30, var_r31 + 0x17, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, var_r31 + 0x17, lbl_1_bss_3114[var_r31].unk_58); HuSprPosSet(var_r30, var_r31 + 0x17, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0] - 8.0f, lbl_1_data_5DC[0][1] - 21.0f); } HuSprPosSet(var_r30, var_r31 + 0x2F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 20.0f + lbl_1_data_5DC[4][1]); - HuSprAttrReset(var_r30, var_r31 + 0x2F, 4); + HuSprAttrReset(var_r30, var_r31 + 0x2F, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, var_r31 + 0x33, 10.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 21.0f + lbl_1_data_5DC[4][1]); - HuSprAttrReset(var_r30, var_r31 + 0x33, 4); + HuSprAttrReset(var_r30, var_r31 + 0x33, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, var_r31 + 0x33, 0); HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x37, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 7.0f); HuSprPosSet(var_r30, var_r31 + 0x3F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 23.0f + lbl_1_data_5DC[4][1]); @@ -4713,37 +4713,37 @@ void fn_1_190E8(void) } HuSprPosSet(var_r30, 0x47, 340.0f, lbl_1_data_5DC[0][1]); HuSprScaleSet(var_r30, 0x47, 0.0f, 0.0f); - HuSprAttrReset(var_r30, 0x47, 4); + HuSprAttrReset(var_r30, 0x47, HUSPR_ATTR_DISPOFF); #if VERSION_NTSC - HuSprAttrReset(var_r30, 0x48, 4); + HuSprAttrReset(var_r30, 0x48, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, 0x48, 366.0f, lbl_1_data_5DC[1][1]); - HuSprAttrReset(var_r30, 0x49, 4); + HuSprAttrReset(var_r30, 0x49, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, 0x49, 367.0f, 2.0f + lbl_1_data_5DC[1][1]); #endif for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0x4A, 4); + HuSprAttrReset(var_r30, var_r31 + 0x4A, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, var_r31 + 0x4A, POSX1 - (var_r31 * (POSX1-POSX2)), lbl_1_data_5DC[1][1]); HuSprBankSet(var_r30, var_r31 + 0x4A, var_r31); - HuSprAttrReset(var_r30, var_r31 + 0x4C, 4); + HuSprAttrReset(var_r30, var_r31 + 0x4C, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, var_r31 + 0x4C, POSX1+1 - (var_r31 * (POSX1-POSX2)), 2.0f + lbl_1_data_5DC[1][1]); HuSprBankSet(var_r30, var_r31 + 0x4C, var_r31); } - HuSprAttrReset(var_r30, 0x4E, 4); + HuSprAttrReset(var_r30, 0x4E, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, 0x4E, 340.0f, lbl_1_data_5DC[2][1]); HuSprBankSet(var_r30, 0x4E, 0); - HuSprAttrReset(var_r30, 0x4F, 4); + HuSprAttrReset(var_r30, 0x4F, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, 0x4F, 341.0f, 2.0f + lbl_1_data_5DC[2][1]); HuSprBankSet(var_r30, 0x4F, 0); - HuSprAttrReset(var_r30, 0x50, 4); + HuSprAttrReset(var_r30, 0x50, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, 0x50, 340.0f, lbl_1_data_5DC[3][1]); HuSprBankSet(var_r30, 0x50, 0); - HuSprAttrReset(var_r30, 0x51, 4); + HuSprAttrReset(var_r30, 0x51, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r30, 0x51, 341.0f, 2.0f + lbl_1_data_5DC[3][1]); HuSprBankSet(var_r30, 0x51, 0); - HuSprAttrReset(var_r30, 0x52, 4); + HuSprAttrReset(var_r30, 0x52, HUSPR_ATTR_DISPOFF); for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0x53, 4); - HuSprAttrReset(var_r30, var_r31 + 0x57, 4); + HuSprAttrReset(var_r30, var_r31 + 0x53, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 0x57, HUSPR_ATTR_DISPOFF); } for (var_r31 = 0; var_r31 < 5; var_r31++) { HuWinPosSet(lbl_1_bss_35BC[0].unk_44[var_r31], 100.0f, -500.0f + (lbl_1_data_5DC[var_r31][1] - 21.0f)); @@ -5052,13 +5052,13 @@ void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) HuSprPosSet(var_r30, 6, var_f31, 49.0f + lbl_1_data_5DC[4][1]); if (var_r29 == 3) { for (var_r28 = 0; var_r28 < 4; var_r28++) { - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, 4); - HuSprAttrSet(var_r30, var_r28 + 0x3F, 4); - HuSprAttrSet(var_r30, var_r28 + 0x43, 4); + HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, var_r28 + 0x3F, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, var_r28 + 0x43, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, 4); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, 4); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); } break; } @@ -5101,9 +5101,9 @@ void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - var_f29) - 48.0f); HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + (lbl_1_data_5DC[4][1] + var_f29)); for (var_r28 = 0; var_r28 < 4; var_r28++) { - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, 4); - HuSprAttrSet(var_r30, var_r28 + 0x3F, 4); - HuSprAttrSet(var_r30, var_r28 + 0x43, 4); + HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, var_r28 + 0x3F, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, var_r28 + 0x43, HUSPR_ATTR_DISPOFF); } } else { @@ -5111,8 +5111,8 @@ void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) HuSprPosSet(var_r30, 3, var_f31, var_f29); var_f31 = fn_1_32C(sp8[1], 33.0f + lbl_1_data_5DC[arg1->unk_1C[4]][0], var_r29, 10.0f); HuSprPosSet(var_r30, 4, var_f31, var_f29); - HuSprAttrReset(var_r30, 5, 4); - HuSprAttrReset(var_r30, 6, 4); + HuSprAttrReset(var_r30, 5, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, 6, HUSPR_ATTR_DISPOFF); var_f30 = fn_1_32C(0.0f, 1.0f, var_r29, 10.0f); HuSprTPLvlSet(var_r30, 5, var_f30); HuSprTPLvlSet(var_r30, 6, var_f30); @@ -5120,15 +5120,15 @@ void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1) HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - var_f29) - 48.0f); HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + (lbl_1_data_5DC[4][1] + var_f29)); if (var_r29 == 3) { - HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, 4); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, 4); - HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); } } } if (arg1->unk_08[0] != 4) { - HuSprAttrSet(var_r30, 5, 4); - HuSprAttrSet(var_r30, 6, 4); + HuSprAttrSet(var_r30, 5, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, 6, HUSPR_ATTR_DISPOFF); } } lbl_1_bss_35BC[0].unk_08[3] = 0; @@ -5266,18 +5266,18 @@ void fn_1_1C554(void) var_r30 = lbl_1_bss_35BC[0].unk_3C; var_r29 = &lbl_1_bss_35BC[1]; - HuSprAttrReset(var_r30, 2, 4); + HuSprAttrReset(var_r30, 2, HUSPR_ATTR_DISPOFF); if (lbl_1_bss_35BC[1].unk_08[0] == 4) { for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, 4); + HuSprAttrReset(var_r30, var_r31 + 3, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r29->unk_1C[4]].unk_68 + 0x37, 4); - HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x3F, 4); - HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x43, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r29->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); return; } for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 3, 4); + HuSprAttrReset(var_r30, var_r31 + 3, HUSPR_ATTR_DISPOFF); } } @@ -5289,13 +5289,13 @@ void fn_1_1C674(void) var_r30 = lbl_1_bss_35BC[0].unk_3C; var_r31 = &lbl_1_bss_35BC[1]; - HuSprAttrSet(var_r30, 2, 4); + HuSprAttrSet(var_r30, 2, HUSPR_ATTR_DISPOFF); for (var_r29 = 0; var_r29 < 4; var_r29++) { - HuSprAttrSet(var_r30, var_r29 + 3, 4); + HuSprAttrSet(var_r30, var_r29 + 3, HUSPR_ATTR_DISPOFF); } - HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31->unk_1C[4]].unk_68 + 0x37, 4); - HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x3F, 4); - HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x43, 4); + HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31->unk_1C[4]].unk_68 + 0x37, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x3F, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x43, HUSPR_ATTR_DISPOFF); } void fn_1_1C754(void) @@ -5317,7 +5317,7 @@ void fn_1_1C754(void) HuSprAttrSet(var_r28, lbl_1_bss_3114[var_r30->unk_1C[4]].unk_68 + 0x37, 4); HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x3F, 4); HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x43, 4); - for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { + for (var_r31 = 0; var_r31 <= 60; var_r31++) { fn_1_4D8(); if (var_r31 <= 0x32) { var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f); @@ -5372,12 +5372,12 @@ void fn_1_1CBC8(void) var_r30 = lbl_1_bss_35BC[0].unk_30; for (var_r31 = 0; var_r31 < 0x22; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); + HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, 0, 4); + HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 1, 4); - HuSprAttrReset(var_r30, var_r31 + 5, 4); + HuSprAttrReset(var_r30, var_r31 + 1, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 5, HUSPR_ATTR_DISPOFF); } HuSprPosSet(var_r30, 0x1B, 288.0f, lbl_1_data_640[1][2]); HuSprScaleSet(var_r30, 0x1B, 1.0f, 0.75f); @@ -5385,19 +5385,19 @@ void fn_1_1CBC8(void) HuSprPosSet(var_r30, 0x1D, lbl_1_data_640[1][4], lbl_1_data_640[1][2]); for (var_r31 = 0; var_r31 < 8; var_r31++) { HuSprBankSet(var_r30, var_r31 + 9, 0); - HuSprAttrReset(var_r30, var_r31 + 9, 4); - HuSprAttrReset(var_r30, var_r31 + 0x11, 4); + HuSprAttrReset(var_r30, var_r31 + 9, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 0x11, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, 0x19, 4); - HuSprAttrReset(var_r30, 0x1A, 4); + HuSprAttrReset(var_r30, 0x19, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, 0x1A, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, 0x1E, 0); - HuSprAttrReset(var_r30, 0x1E, 4); + HuSprAttrReset(var_r30, 0x1E, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, 0x1F, 0); - HuSprAttrReset(var_r30, 0x1F, 4); + HuSprAttrReset(var_r30, 0x1F, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, 0x20, 0); - HuSprAttrReset(var_r30, 0x20, 4); + HuSprAttrReset(var_r30, 0x20, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, 0x21, 0); - HuSprAttrReset(var_r30, 0x21, 4); + HuSprAttrReset(var_r30, 0x21, HUSPR_ATTR_DISPOFF); for (var_r31 = 0; var_r31 < 3; var_r31++) { HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r31], 100.0f, lbl_1_data_640[var_r31][2] - 0x209); } @@ -5548,9 +5548,9 @@ void fn_1_1DED8() s32 var_r31; var_r30 = lbl_1_bss_35BC[0].unk_30; - HuSprAttrReset(var_r30, 0x1B, 4); + HuSprAttrReset(var_r30, 0x1B, HUSPR_ATTR_DISPOFF); for (var_r31 = 0; var_r31 < 2; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0x1C, 4); + HuSprAttrReset(var_r30, var_r31 + 0x1C, HUSPR_ATTR_DISPOFF); } } @@ -5907,11 +5907,11 @@ void fn_1_1F5F0(void) var_r31 = lbl_1_bss_35BC[0].unk_34; for (var_r30 = 0; var_r30 < 9; var_r30++) { - HuSprAttrSet(var_r31, var_r30, 4); + HuSprAttrSet(var_r31, var_r30, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r31, 0, 4); + HuSprAttrReset(var_r31, 0, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r31, 0, lbl_1_bss_35BC[0].unk_1C[0]); - HuSprAttrReset(var_r31, lbl_1_bss_3114->unk_68 + 1, 4); + HuSprAttrReset(var_r31, lbl_1_bss_3114->unk_68 + 1, HUSPR_ATTR_DISPOFF); HuSprGrpPosSet(var_r31, 16.0f, -500.0f); } @@ -5937,9 +5937,9 @@ void fn_1_1F6B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) for (var_r28 = 0; var_r28 < 9; var_r28++) { HuSprAttrSet(var_r30, var_r28, 4); } - HuSprAttrReset(var_r30, 0, 4); + HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, 0, lbl_1_bss_35BC[0].unk_1C[0]); - HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, HUSPR_ATTR_DISPOFF); HuSprGrpPosSet(var_r30, 16.0f, -500.0f); } @@ -5952,11 +5952,11 @@ void fn_1_1F868(void) var_r30 = lbl_1_bss_35BC[0].unk_34; for (var_r29 = 0; var_r29 < 9; var_r29++) { - HuSprAttrSet(var_r30, var_r29, 4); + HuSprAttrSet(var_r30, var_r29, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, 0, 4); + HuSprAttrReset(var_r30, 0, HUSPR_ATTR_DISPOFF); HuSprBankSet(var_r30, 0, lbl_1_bss_35BC[0].unk_1C[0]); - HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, 4); + HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, HUSPR_ATTR_DISPOFF); HuSprGrpPosSet(var_r30, 16.0f, -500.0f); for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) { fn_1_4D8(); @@ -6023,13 +6023,13 @@ void fn_1_1FE08(void) for (var_r31 = 0; var_r31 < 4; var_r31++) { HuSprBankSet(var_r30, var_r31, 0); lbl_1_bss_3114[var_r31].unk_70[3] = lbl_1_bss_3114[var_r31].unk_60 = 0; - HuSprAttrReset(var_r30, var_r31, 4); - HuSprAttrReset(var_r30, var_r31 + 4, 4); + HuSprAttrReset(var_r30, var_r31, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 4, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, 0xA, 4); + HuSprAttrReset(var_r30, 0xA, HUSPR_ATTR_DISPOFF); for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0xB, 4); - HuSprAttrReset(var_r30, var_r31 + 0xF, 4); + HuSprAttrReset(var_r30, var_r31 + 0xB, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 0xF, HUSPR_ATTR_DISPOFF); } HuSprGrpPosSet(var_r30, 0.0f, -500.0f); } @@ -6153,18 +6153,18 @@ void fn_1_2055C(s32 arg0) spC = 0; var_r30 = lbl_1_bss_35BC[0].unk_40; for (var_r31 = 0; var_r31 < 0x13; var_r31++) { - HuSprAttrSet(var_r30, var_r31, 4); + HuSprAttrSet(var_r30, var_r31, HUSPR_ATTR_DISPOFF); } for (var_r31 = 0; var_r31 < 4; var_r31++) { HuSprBankSet(var_r30, var_r31, 0); lbl_1_bss_3114[var_r31].unk_70[3] = lbl_1_bss_3114[var_r31].unk_60 = 0; - HuSprAttrReset(var_r30, var_r31, 4); - HuSprAttrReset(var_r30, var_r31 + 4, 4); + HuSprAttrReset(var_r30, var_r31, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 4, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r30, 0xA, 4); + HuSprAttrReset(var_r30, 0xA, HUSPR_ATTR_DISPOFF); for (var_r31 = 0; var_r31 < 4; var_r31++) { - HuSprAttrReset(var_r30, var_r31 + 0xB, 4); - HuSprAttrReset(var_r30, var_r31 + 0xF, 4); + HuSprAttrReset(var_r30, var_r31 + 0xB, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r30, var_r31 + 0xF, HUSPR_ATTR_DISPOFF); } HuSprGrpPosSet(var_r30, 0.0f, -500.0f); } @@ -6208,9 +6208,9 @@ void fn_1_208F4(void) s32 var_r31; var_r31 = lbl_1_bss_35BC[0].unk_40; - HuSprAttrReset(var_r31, 8, 4); + HuSprAttrReset(var_r31, 8, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r31, 8, lbl_1_data_690[0][0] - 0x32, lbl_1_data_690[0][1]); - HuSprAttrReset(var_r31, 9, 4); + HuSprAttrReset(var_r31, 9, HUSPR_ATTR_DISPOFF); HuSprPosSet(var_r31, 9, lbl_1_data_690[3][0] + 0x32, lbl_1_data_690[0][1]); } @@ -6274,18 +6274,18 @@ void fn_1_20B54(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3) sp8 = 0; var_r27 = lbl_1_bss_35BC[0].unk_40; for (var_r30 = 0; var_r30 < 0x13; var_r30++) { - HuSprAttrSet(var_r27, var_r30, 4); + HuSprAttrSet(var_r27, var_r30, HUSPR_ATTR_DISPOFF); } for (var_r30 = 0; var_r30 < 4; var_r30++) { HuSprBankSet(var_r27, var_r30, 0); lbl_1_bss_3114[var_r30].unk_70[3] = lbl_1_bss_3114[var_r30].unk_60 = 0; - HuSprAttrReset(var_r27, var_r30, 4); - HuSprAttrReset(var_r27, var_r30 + 4, 4); + HuSprAttrReset(var_r27, var_r30, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r27, var_r30 + 4, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(var_r27, 0xA, 4); + HuSprAttrReset(var_r27, 0xA, HUSPR_ATTR_DISPOFF); for (var_r30 = 0; var_r30 < 4; var_r30++) { - HuSprAttrReset(var_r27, var_r30 + 0xB, 4); - HuSprAttrReset(var_r27, var_r30 + 0xF, 4); + HuSprAttrReset(var_r27, var_r30 + 0xB, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(var_r27, var_r30 + 0xF, HUSPR_ATTR_DISPOFF); } HuSprGrpPosSet(var_r27, 0.0f, -500.0f); } diff --git a/src/REL/modeseldll/filesel.c b/src/REL/modeseldll/filesel.c index 7394daa6..93fc856d 100644 --- a/src/REL/modeseldll/filesel.c +++ b/src/REL/modeseldll/filesel.c @@ -1977,15 +1977,15 @@ void fn_1_AAB8(void) HuSprGrpScaleSet(lbl_1_bss_116[temp_r30], temp_f31, temp_f31); if (lbl_1_bss_EE[temp_r30] > 9999) { for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - HuSprAttrSet(lbl_1_bss_116[temp_r30], temp_r28 + 1, 4); + HuSprAttrSet(lbl_1_bss_116[temp_r30], temp_r28 + 1, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(lbl_1_bss_116[temp_r30], 5, 4); + HuSprAttrReset(lbl_1_bss_116[temp_r30], 5, HUSPR_ATTR_DISPOFF); } else { for (temp_r28 = 0; temp_r28 < 4; temp_r28++) { - HuSprAttrReset(lbl_1_bss_116[temp_r30], temp_r28 + 1, 4); + HuSprAttrReset(lbl_1_bss_116[temp_r30], temp_r28 + 1, HUSPR_ATTR_DISPOFF); } - HuSprAttrSet(lbl_1_bss_116[temp_r30], 5, 4); + HuSprAttrSet(lbl_1_bss_116[temp_r30], 5, HUSPR_ATTR_DISPOFF); temp_r29 = lbl_1_bss_EE[temp_r30]; HuSprBankSet(lbl_1_bss_116[temp_r30], 1, temp_r29 / 1000); temp_r29 -= (temp_r29 / 1000) * 1000; diff --git a/src/game/board/battle.c b/src/game/board/battle.c index 2f17e557..2ba67445 100755 --- a/src/game/board/battle.c +++ b/src/game/board/battle.c @@ -619,7 +619,7 @@ static void ShowBattleGame(BattleWork *arg0, omObjData *arg1) { arg0->unk01 = 1; arg1->trans.z = 0.01f; arg1->trans.y = 0.0f; - HuSprAttrReset(arg0->unk08, 0, 4); + HuSprAttrReset(arg0->unk08, 0, HUSPR_ATTR_DISPOFF); HuSprPosSet(arg0->unk08, 0, 0.0f, 0.0f); } else { return; @@ -682,8 +682,8 @@ static void UpdateBattleCoin(BattleWork *arg0, omObjData *arg1) { HuSprBankSet(arg0->unk08, 1, temp_r28); return; } - HuSprAttrReset(arg0->unk08, 2, 4); - HuSprAttrReset(arg0->unk08, 1, 5); + HuSprAttrReset(arg0->unk08, 2, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0->unk08, 1, HUSPR_ATTR_NOANIM | HUSPR_ATTR_DISPOFF); HuSprPosSet(arg0->unk08, 2, 0.0f, 40.0f); HuSprPosSet(arg0->unk08, 1, 34.0f, 40.0f); HuSprScaleSet(arg0->unk08, 1, 0.9f, 0.9f); @@ -726,10 +726,10 @@ static void InitBattleGameSpr(BattleWork *arg0, omObjData *arg1) { temp_r30 = battleMGIdx[0]; temp_r29 = battleMGIdx[1]; - HuSprAttrReset(arg0->unk08, 3, 4); - HuSprAttrReset(arg0->unk08, 4, 4); - HuSprAttrReset(arg0->unk08, temp_r30 + 5, 4); - HuSprAttrReset(arg0->unk08, temp_r29 + 5, 4); + HuSprAttrReset(arg0->unk08, 3, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0->unk08, 4, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0->unk08, temp_r30 + 5, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(arg0->unk08, temp_r29 + 5, HUSPR_ATTR_DISPOFF); HuSprPosSet(arg0->unk08, 3, sp8[0][0], sp8[0][1]); HuSprPosSet(arg0->unk08, 4, sp8[1][0], sp8[1][1]); HuSprPosSet(arg0->unk08, temp_r30 + 5, sp8[0][0], sp8[0][1]); diff --git a/src/game/board/char_wheel.c b/src/game/board/char_wheel.c index 13e4664f..bb33564a 100755 --- a/src/game/board/char_wheel.c +++ b/src/game/board/char_wheel.c @@ -368,14 +368,14 @@ static void StopCharWheel(CharWheelWork *arg0) { } var_r30 = arg0->unk03 % 6; if (var_r30 < 3) { - HuSprAttrSet(wheelSprGrp, wheelPos + 10, 4); + HuSprAttrSet(wheelSprGrp, wheelPos + 10, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrReset(wheelSprGrp, wheelPos + 10, 4); + HuSprAttrReset(wheelSprGrp, wheelPos + 10, HUSPR_ATTR_DISPOFF); } if (arg0->unk03 < 90) { arg0->unk03++; } else { - HuSprAttrReset(wheelSprGrp, wheelPos + 10, 4); + HuSprAttrReset(wheelSprGrp, wheelPos + 10, HUSPR_ATTR_DISPOFF); arg0->unk00_field3 = 4; } } diff --git a/src/game/board/mg_setup.c b/src/game/board/mg_setup.c index 1bca487c..4613826f 100644 --- a/src/game/board/mg_setup.c +++ b/src/game/board/mg_setup.c @@ -787,7 +787,7 @@ static void PopupVS(bitcopy* arg0, omObjData* arg1) { temp_r29 = arg0->unk_0C; if (arg0->unk_02 == 0) { - HuSprAttrReset(temp_r29->unk_00[0], 0, 4); + HuSprAttrReset(temp_r29->unk_00[0], 0, HUSPR_ATTR_DISPOFF); HuSprAttrSet(temp_r29->unk_00[0], 0, 8); HuSprScaleSet(temp_r29->unk_00[0], 0, 0.001f, 0.001f); HuSprPosSet(temp_r29->unk_00[0], 0, 0.0f, 64.0f); @@ -832,7 +832,7 @@ static void FallMGType(bitcopy* arg0, omObjData* arg1) { temp_r31 = arg0->unk_0C; temp_r30 = sp8[mgType]; if (arg0->unk_02 == 0) { - HuSprAttrReset(temp_r31->unk_00[0], temp_r30, 4); + HuSprAttrReset(temp_r31->unk_00[0], temp_r30, HUSPR_ATTR_DISPOFF); temp_r31->unk_1C[0][temp_r30].y = -284.0f; temp_r31->unk_1C[1][temp_r30].y = -128.0f; arg0->unk_02 = 1; @@ -872,7 +872,7 @@ static void LuckyMGFall(bitcopy* arg0, omObjData* arg1) { temp_r27 = &temp_r29->unk_1C[0][temp_r24]; switch (arg0->unk_02) { case 0: - HuSprAttrReset(temp_r29->unk_00[0], 4, 4); + HuSprAttrReset(temp_r29->unk_00[0], 4, HUSPR_ATTR_DISPOFF); temp_r28->y = -284.0f; temp_r25->y = -128.0f; arg0->unk_02 = 1; @@ -889,7 +889,7 @@ static void LuckyMGFall(bitcopy* arg0, omObjData* arg1) { case 2: temp_r27->y += 10.0f; if (328.0f < temp_r27->y) { - HuSprAttrReset(temp_r29->unk_00[0], temp_r24, 4); + HuSprAttrReset(temp_r29->unk_00[0], temp_r24, HUSPR_ATTR_DISPOFF); temp_r26 = (bitcopy*) mgSetupObj->work; temp_r26->field00_bit1 = 7; temp_r26->unk_02 = 0; @@ -935,8 +935,8 @@ static void UpdateLuckyValue(bitcopy* arg0, omObjData* arg1) { temp_r27 = arg0->unk_0C; switch (arg0->unk_02) { case 0: - HuSprAttrReset(temp_r27->unk_00[0], 8, 4); - HuSprAttrReset(temp_r27->unk_00[0], 9, 4); + HuSprAttrReset(temp_r27->unk_00[0], 8, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(temp_r27->unk_00[0], 9, HUSPR_ATTR_DISPOFF); HuSprAttrSet(temp_r27->unk_00[0], 8, 8); HuSprAttrSet(temp_r27->unk_00[0], 9, 8); HuSprPosSet(temp_r27->unk_00[0], 8, 0.0f, 0.0f); @@ -1042,10 +1042,10 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { temp_r24 = arg0->unk_0C; temp_r22 = mgType + 5; - switch (arg0->unk_02) { /* irregular */ + switch (arg0->unk_02) { case 0: HuSprAttrSet(temp_r24->unk_00[0], temp_r22, 8); - HuSprAttrReset(temp_r24->unk_00[0], temp_r22, 4); + HuSprAttrReset(temp_r24->unk_00[0], temp_r22, HUSPR_ATTR_DISPOFF); HuSprPosSet(temp_r24->unk_00[0], temp_r22, 0.0f, 32.0f); HuSprScaleSet(temp_r24->unk_00[0], temp_r22, 0.001f, 0.001f); arg0->unk_04 = 0; @@ -1084,11 +1084,11 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { for (var_r23 = 0; var_r23 < arg0->field01_bit0; var_r23++) { HuWinDispOn(activeMG[var_r23].unk_00); } - HuSprAttrReset(temp_r24->unk_00[0], 0xA, 4); + HuSprAttrReset(temp_r24->unk_00[0], 0xA, HUSPR_ATTR_DISPOFF); HuSprAttrSet(temp_r24->unk_00[0], 0xA, 8); HuSprPosSet(temp_r24->unk_00[0], 0xA, -148.0f, cursorYTbl[0]); temp_r18 = &hiliteColTbl[mgType]; - HuSprAttrReset(temp_r24->unk_00[0], 0xC, 4); + HuSprAttrReset(temp_r24->unk_00[0], 0xC, HUSPR_ATTR_DISPOFF); HuSprPosSet(temp_r24->unk_00[0], 0xC, 0.0f, hiliteYTbl[0]); HuSprTPLvlSet(temp_r24->unk_00[0], 0xC, 0.7f); HuSprScaleSet(temp_r24->unk_00[0], 0xC, 32.0f, 3.5f); @@ -1158,10 +1158,10 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) { hiliteTimer = 0; } if (hiliteShowF != 0) { - HuSprAttrReset(temp_r24->unk_00[0], 0xC, 4); + HuSprAttrReset(temp_r24->unk_00[0], 0xC, HUSPR_ATTR_DISPOFF); return; } - HuSprAttrSet(temp_r24->unk_00[0], 0xC, 4); + HuSprAttrSet(temp_r24->unk_00[0], 0xC, HUSPR_ATTR_DISPOFF); return; case 5: if (arg0->unk_03 < 0x5A) { diff --git a/src/game/board/pause.c b/src/game/board/pause.c index 4b5d5401..34fcc55d 100755 --- a/src/game/board/pause.c +++ b/src/game/board/pause.c @@ -717,9 +717,9 @@ static void InitPauseQuit(omObjData *arg0, ConfigWork *arg1) { SetBoxVisible(1); var_f31 = 0.5f; BoardModelScaleSet(boxModelID[7], var_f31, var_f31, var_f31); - HuSprAttrReset(pauseCursorPos, 0, 4); + HuSprAttrReset(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); if (GWPartyGet() == 0) { - HuSprAttrReset(pauseCursorPos, 1, 4); + HuSprAttrReset(pauseCursorPos, 1, HUSPR_ATTR_DISPOFF); } break; } @@ -822,7 +822,7 @@ static void ScrollInPadConfig(omObjData *arg0, ConfigWork *arg1) { s32 i; if (arg1->unk07 == 0) { - HuSprAttrReset(pauseCursorPos, 0, 4); + HuSprAttrReset(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); if (arg1->unk00_field2 != 0) { for (i = 0; i < 8; i++) { if (i != 0) { @@ -1332,8 +1332,8 @@ static s32 WaitPauseInput(void) { } HuWinDispOn(controlWin); SetBoxVisible(0); - HuSprAttrReset(pauseSprGrp, 0, 4); - HuSprAttrSet(pauseCursorPos, 0, 4); + HuSprAttrReset(pauseSprGrp, 0, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); PauseCreateNumber(0, GWSystem.turn); PauseCreateNumber(1, GWSystem.max_turn); HuPrcSleep(4); @@ -1376,15 +1376,15 @@ static void ShowPauseConfig(void) { HuWinDispOn(settingsControlWin); HuWinDispOn(settingsWin); SetBoxVisible(1); - HuSprAttrReset(pauseCursorPos, 0, 4); + HuSprAttrReset(pauseCursorPos, 0, HUSPR_ATTR_DISPOFF); BoardModelVisibilitySet(hostMdl, 1); if (GWPartyGet() == 0) { var_f31 = boxPosTbl[0][0]; var_f30 = boxPosTbl[0][1]; HuSprPosSet(pauseCursorPos, 1, var_f31, var_f30); - HuSprAttrReset(pauseCursorPos, 1, 4); + HuSprAttrReset(pauseCursorPos, 1, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrSet(pauseCursorPos, 1, 4); + HuSprAttrSet(pauseCursorPos, 1, HUSPR_ATTR_DISPOFF); } while (configObj) { HuPrcVSleep(); @@ -1434,19 +1434,19 @@ static void ShowPadConfigSprite(s32 arg0) { for (i = 0; i < 4; i++) { temp_r31 = GWPlayer[i].port; if (arg0 != 0) { - HuSprAttrReset(padConfigSprGrp, temp_r31, 4); - HuSprAttrReset(padConfigSprGrp, temp_r31 + 4, 4); - HuSprAttrReset(padConfigSprGrp, temp_r31 + 8, 4); + HuSprAttrReset(padConfigSprGrp, temp_r31, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(padConfigSprGrp, temp_r31 + 4, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(padConfigSprGrp, temp_r31 + 8, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrSet(padConfigSprGrp, temp_r31, 4); - HuSprAttrSet(padConfigSprGrp, temp_r31 + 4, 4); - HuSprAttrSet(padConfigSprGrp, temp_r31 + 8, 4); + HuSprAttrSet(padConfigSprGrp, temp_r31, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(padConfigSprGrp, temp_r31 + 4, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(padConfigSprGrp, temp_r31 + 8, HUSPR_ATTR_DISPOFF); } } if (arg0 != 0) { - HuSprAttrReset(padConfigSprGrp, 12, 4); + HuSprAttrReset(padConfigSprGrp, 12, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrSet(padConfigSprGrp, 12, 4); + HuSprAttrSet(padConfigSprGrp, 12, HUSPR_ATTR_DISPOFF); } } diff --git a/src/game/board/player.c b/src/game/board/player.c index c54b318e..96722477 100644 --- a/src/game/board/player.c +++ b/src/game/board/player.c @@ -2127,15 +2127,15 @@ void BoardRollDispSet(s32 arg0) if (arg0 != 0) { temp_r31->field00_bit1 = 1; if ((var_r30 == 1) && (GWPlayer[temp_r31->unk_02].roll / 10 == 0)) { - HuSprAttrSet(temp_r31->unk_04, var_r30, 4); + HuSprAttrSet(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrReset(temp_r31->unk_04, var_r30, 4); + HuSprAttrReset(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); } } else { temp_r31->field00_bit1 = 0; - HuSprAttrSet(temp_r31->unk_04, var_r30, 4); + HuSprAttrSet(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); } } UpdateRollSprite(rollObj); @@ -2163,7 +2163,7 @@ static void UpdateRollSprite(omObjData *arg0) for (var_r30 = 0; var_r30 < 2; var_r30++) { if (((var_r30 == 1) && (sp14[1] == 0)) || (temp_r31->field00_bit1 == 0)) { - HuSprAttrSet(temp_r31->unk_04, var_r30, 4); + HuSprAttrSet(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); } else { if ((sp14[1] == 0) && (var_r30 == 0)) { @@ -2173,7 +2173,7 @@ static void UpdateRollSprite(omObjData *arg0) sp1C.x = spC[var_r30]; } sp1C.y = (HU_DISP_HEIGHTF * 176) / 480; - HuSprAttrReset(temp_r31->unk_04, var_r30, 4); + HuSprAttrReset(temp_r31->unk_04, var_r30, HUSPR_ATTR_DISPOFF); HuSprBankSet(temp_r31->unk_04, var_r30, sp14[var_r30]); HuSprPosSet(temp_r31->unk_04, var_r30, sp1C.x, sp1C.y); } diff --git a/src/game/board/ui.c b/src/game/board/ui.c index 4259f29d..ff2a9066 100755 --- a/src/game/board/ui.c +++ b/src/game/board/ui.c @@ -453,10 +453,10 @@ void BoardStatusHammerShowSet(s32 arg0, s32 arg1) { if (temp_r31->unk00_bit6) { if (arg1 != 0) { - HuSprAttrSet(temp_r31->unk02, 0x10, 2); + HuSprAttrSet(temp_r31->unk02, 0x10, HUSPR_ATTR_LOOP); } else { - HuSprAttrReset(temp_r31->unk02, 0x10, 2); - HuSprAttrSet(temp_r31->unk02, 0x10, 1); + HuSprAttrReset(temp_r31->unk02, 0x10, HUSPR_ATTR_LOOP); + HuSprAttrSet(temp_r31->unk02, 0x10, HUSPR_ATTR_NOANIM); } } } @@ -618,15 +618,15 @@ static s32 UpdateBoardStatus(void) { temp_r27 = GWPlayer[i].items[j]; if (temp_r27 != -1 && temp_r31->unk00_bit5) { UpdateStatusItem(temp_r31, j, temp_r27); - HuSprAttrReset(temp_r31->unk02, j + 0xD, 4); + HuSprAttrReset(temp_r31->unk02, j + 0xD, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrSet(temp_r31->unk02, j + 0xD, 4); + HuSprAttrSet(temp_r31->unk02, j + 0xD, HUSPR_ATTR_DISPOFF); } } if (GWPlayer[i].com) { - HuSprAttrReset(temp_r31->unk02, 0xC, 4); + HuSprAttrReset(temp_r31->unk02, 0xC, HUSPR_ATTR_DISPOFF); } else { - HuSprAttrSet(temp_r31->unk02, 0xC, 4); + HuSprAttrSet(temp_r31->unk02, 0xC, HUSPR_ATTR_DISPOFF); } temp_r28 = statusColTbl[GWPlayer[i].color]; HuSprColorSet(temp_r31->unk02, 0, temp_r28[0], temp_r28[1], temp_r28[2]); @@ -685,7 +685,7 @@ void BoardSpriteDigitUpdate(s16 arg0, s16 arg1, s32 arg2) { } else { HuSprBankSet(arg0, arg1 + 1, temp_r28); HuSprBankSet(arg0, arg1, temp_r27); - HuSprAttrReset(arg0, arg1, 4); + HuSprAttrReset(arg0, arg1, HUSPR_ATTR_DISPOFF); } } @@ -1616,8 +1616,8 @@ static void UpdateItemPickGfx(omObjData *arg0) { if (!temp_r30->unk00_bit7) { temp_r30->unk00_bit3 = 1; HuSprBankSet(temp_r30->unk04, 0, 1); - HuSprAttrSet(temp_r30->unk04, 0, 2); - HuSprAttrReset(temp_r30->unk04, 0, 1); + HuSprAttrSet(temp_r30->unk04, 0, HUSPR_ATTR_LOOP); + HuSprAttrReset(temp_r30->unk04, 0, HUSPR_ATTR_NOANIM); arg0->func = UpdateItemPickup; HuWinDispOff(temp_r30->unk06); } else { diff --git a/src/game/board/view.c b/src/game/board/view.c index 72d5b4b3..29118967 100755 --- a/src/game/board/view.c +++ b/src/game/board/view.c @@ -577,15 +577,15 @@ static void UpdateOverheadView(omObjData *arg0) { BoardModelVisibilitySet(temp_r31->unk04, 0); } else if (temp_r31->unk01 != 0) { if (i != 4) { - HuSprAttrReset(temp_r31->unk02, i, 4); + HuSprAttrReset(temp_r31->unk02, i, HUSPR_ATTR_DISPOFF); } - HuSprAttrReset(temp_r31->unk02, var_r28, 4); + HuSprAttrReset(temp_r31->unk02, var_r28, HUSPR_ATTR_DISPOFF); BoardModelVisibilitySet(temp_r31->unk04, 1); } else { if (i != 4) { - HuSprAttrSet(temp_r31->unk02, i, 4); + HuSprAttrSet(temp_r31->unk02, i, HUSPR_ATTR_DISPOFF); } - HuSprAttrSet(temp_r31->unk02, var_r28, 4); + HuSprAttrSet(temp_r31->unk02, var_r28, HUSPR_ATTR_DISPOFF); BoardModelVisibilitySet(temp_r31->unk04, 0); } } diff --git a/src/game/thpmain.c b/src/game/thpmain.c index 721558ba..d31d4639 100755 --- a/src/game/thpmain.c +++ b/src/game/thpmain.c @@ -161,7 +161,7 @@ static void THPTestProc(void) Hu3DModelAttrReset(SimpleControl.unk19E, HU3D_ATTR_DISPOFF); } else { - HuSprAttrReset(SimpleControl.unk19E, 0, 4); + HuSprAttrReset(SimpleControl.unk19E, 0, HUSPR_ATTR_DISPOFF); } while (1) { if (THPStat == 2) {