diff --git a/config/GMPE01_00/rels/m432Dll/symbols.txt b/config/GMPE01_00/rels/m432Dll/symbols.txt index 75ff4704..4926357c 100644 --- a/config/GMPE01_00/rels/m432Dll/symbols.txt +++ b/config/GMPE01_00/rels/m432Dll/symbols.txt @@ -101,138 +101,138 @@ fn_1_128C8 = .text:0x000128C8; // type:function size:0x5E0 fn_1_12EA8 = .text:0x00012EA8; // type:function size:0x300 fn_1_131A8 = .text:0x000131A8; // type:function size:0x2178 fn_1_15320 = .text:0x00015320; // type:function size:0x9C -fn_1_153BC = .text:0x000153BC; // type:function size:0xDA0 +ObjectSetup = .text:0x000153BC; // type:function size:0xDA0 fn_1_1615C = .text:0x0001615C; // type:function size:0x104 _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:0x8 data:double -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:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 data:double -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 data:double -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:double -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:0x8 data:double -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_80 = .rodata:0x00000080; // type:object size:0x8 data:double -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -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:0x4 data:float -lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -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_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -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:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -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:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -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:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -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_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -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_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // 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:0x8 scope:local data:double +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:0x8 scope:local data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:double +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:0x8 scope:local data:double +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_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double +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:0x4 scope:local data:float +lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float +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_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float +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:0x4 scope:local data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float +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:0x4 scope:local data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float +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:0x4 scope:local data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float +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_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float +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_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x10 lbl_1_data_10 = .data:0x00000010; // type:object size:0x20 lbl_1_data_30 = .data:0x00000030; // type:object size:0x28 lbl_1_data_58 = .data:0x00000058; // type:object size:0x28 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F data:string +lbl_1_data_80 = .data:0x00000080; // type:object size:0x1F scope:local data:string lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x20 data:float lbl_1_data_C8 = .data:0x000000C8; // type:object size:0xC @@ -250,81 +250,81 @@ lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x24 lbl_1_data_318 = .data:0x00000318; // type:object size:0x3C lbl_1_data_354 = .data:0x00000354; // type:object size:0x18 lbl_1_data_36C = .data:0x0000036C; // type:object size:0x18 -lbl_1_data_384 = .data:0x00000384; // type:object size:0xB data:string -lbl_1_data_38F = .data:0x0000038F; // type:object size:0xB data:string -lbl_1_data_39A = .data:0x0000039A; // type:object size:0xB data:string -lbl_1_data_3A5 = .data:0x000003A5; // type:object size:0xB data:string -lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0xB data:string -lbl_1_data_3BB = .data:0x000003BB; // type:object size:0xB data:string -lbl_1_data_3C6 = .data:0x000003C6; // type:object size:0xB data:string -lbl_1_data_3D1 = .data:0x000003D1; // type:object size:0xB data:string +lbl_1_data_384 = .data:0x00000384; // type:object size:0xB scope:local data:string +lbl_1_data_38F = .data:0x0000038F; // type:object size:0xB scope:local data:string +lbl_1_data_39A = .data:0x0000039A; // type:object size:0xB scope:local data:string +lbl_1_data_3A5 = .data:0x000003A5; // type:object size:0xB scope:local data:string +lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0xB scope:local data:string +lbl_1_data_3BB = .data:0x000003BB; // type:object size:0xB scope:local data:string +lbl_1_data_3C6 = .data:0x000003C6; // type:object size:0xB scope:local data:string +lbl_1_data_3D1 = .data:0x000003D1; // type:object size:0xB scope:local data:string lbl_1_data_3DC = .data:0x000003DC; // type:object size:0x20 -lbl_1_data_3FC = .data:0x000003FC; // type:object size:0xB data:string -lbl_1_data_407 = .data:0x00000407; // type:object size:0xB data:string -lbl_1_data_412 = .data:0x00000412; // type:object size:0xB data:string -lbl_1_data_41D = .data:0x0000041D; // type:object size:0xB data:string -lbl_1_data_428 = .data:0x00000428; // type:object size:0xB data:string -lbl_1_data_433 = .data:0x00000433; // type:object size:0xD +lbl_1_data_3FC = .data:0x000003FC; // type:object size:0xB scope:local data:string +lbl_1_data_407 = .data:0x00000407; // type:object size:0xB scope:local data:string +lbl_1_data_412 = .data:0x00000412; // type:object size:0xB scope:local data:string +lbl_1_data_41D = .data:0x0000041D; // type:object size:0xB scope:local data:string +lbl_1_data_428 = .data:0x00000428; // type:object size:0xB scope:local data:string +lbl_1_data_433 = .data:0x00000433; // type:object size:0xD scope:local data:string lbl_1_data_440 = .data:0x00000440; // type:object size:0x18 data:4byte -lbl_1_data_458 = .data:0x00000458; // type:object size:0xB data:string -lbl_1_data_463 = .data:0x00000463; // type:object size:0xB data:string -lbl_1_data_46E = .data:0x0000046E; // type:object size:0xB data:string -lbl_1_data_479 = .data:0x00000479; // type:object size:0xB data:string -lbl_1_data_484 = .data:0x00000484; // type:object size:0xB data:string -lbl_1_data_48F = .data:0x0000048F; // type:object size:0xB data:string -lbl_1_data_49A = .data:0x0000049A; // type:object size:0xB data:string -lbl_1_data_4A5 = .data:0x000004A5; // type:object size:0xB data:string -lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0xB data:string -lbl_1_data_4BB = .data:0x000004BB; // type:object size:0xD +lbl_1_data_458 = .data:0x00000458; // type:object size:0xB scope:local data:string +lbl_1_data_463 = .data:0x00000463; // type:object size:0xB scope:local data:string +lbl_1_data_46E = .data:0x0000046E; // type:object size:0xB scope:local data:string +lbl_1_data_479 = .data:0x00000479; // type:object size:0xB scope:local data:string +lbl_1_data_484 = .data:0x00000484; // type:object size:0xB scope:local data:string +lbl_1_data_48F = .data:0x0000048F; // type:object size:0xB scope:local data:string +lbl_1_data_49A = .data:0x0000049A; // type:object size:0xB scope:local data:string +lbl_1_data_4A5 = .data:0x000004A5; // type:object size:0xB scope:local data:string +lbl_1_data_4B0 = .data:0x000004B0; // type:object size:0xB scope:local data:string +lbl_1_data_4BB = .data:0x000004BB; // type:object size:0xD scope:local data:string lbl_1_data_4C8 = .data:0x000004C8; // type:object size:0x28 data:4byte -lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x14 -lbl_1_data_504 = .data:0x00000504; // type:object size:0x24 +lbl_1_data_4F0 = .data:0x000004F0; // type:object size:0x14 data:byte +lbl_1_data_504 = .data:0x00000504; // type:object size:0x24 data:byte lbl_1_data_528 = .data:0x00000528; // type:object size:0x8 -lbl_1_data_530 = .data:0x00000530; // type:object size:0xB data:string -lbl_1_data_53B = .data:0x0000053B; // type:object size:0xB data:string -lbl_1_data_546 = .data:0x00000546; // type:object size:0xB data:string -lbl_1_data_551 = .data:0x00000551; // type:object size:0xB data:string -lbl_1_data_55C = .data:0x0000055C; // type:object size:0xB data:string -lbl_1_data_567 = .data:0x00000567; // type:object size:0xB data:string -lbl_1_data_572 = .data:0x00000572; // type:object size:0xB data:string -lbl_1_data_57D = .data:0x0000057D; // type:object size:0xB data:string -lbl_1_data_588 = .data:0x00000588; // type:object size:0xB data:string -lbl_1_data_593 = .data:0x00000593; // type:object size:0xB data:string -lbl_1_data_59E = .data:0x0000059E; // type:object size:0xB data:string -lbl_1_data_5A9 = .data:0x000005A9; // type:object size:0xB data:string -lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0xB data:string -lbl_1_data_5BF = .data:0x000005BF; // type:object size:0xB data:string -lbl_1_data_5CA = .data:0x000005CA; // type:object size:0xB data:string -lbl_1_data_5D5 = .data:0x000005D5; // type:object size:0xB data:string -lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0xB data:string +lbl_1_data_530 = .data:0x00000530; // type:object size:0xB scope:local data:string +lbl_1_data_53B = .data:0x0000053B; // type:object size:0xB scope:local data:string +lbl_1_data_546 = .data:0x00000546; // type:object size:0xB scope:local data:string +lbl_1_data_551 = .data:0x00000551; // type:object size:0xB scope:local data:string +lbl_1_data_55C = .data:0x0000055C; // type:object size:0xB scope:local data:string +lbl_1_data_567 = .data:0x00000567; // type:object size:0xB scope:local data:string +lbl_1_data_572 = .data:0x00000572; // type:object size:0xB scope:local data:string +lbl_1_data_57D = .data:0x0000057D; // type:object size:0xB scope:local data:string +lbl_1_data_588 = .data:0x00000588; // type:object size:0xB scope:local data:string +lbl_1_data_593 = .data:0x00000593; // type:object size:0xB scope:local data:string +lbl_1_data_59E = .data:0x0000059E; // type:object size:0xB scope:local data:string +lbl_1_data_5A9 = .data:0x000005A9; // type:object size:0xB scope:local data:string +lbl_1_data_5B4 = .data:0x000005B4; // type:object size:0xB scope:local data:string +lbl_1_data_5BF = .data:0x000005BF; // type:object size:0xB scope:local data:string +lbl_1_data_5CA = .data:0x000005CA; // type:object size:0xB scope:local data:string +lbl_1_data_5D5 = .data:0x000005D5; // type:object size:0xB scope:local data:string +lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0xB scope:local data:string lbl_1_data_5EC = .data:0x000005EC; // type:object size:0x8B8 -lbl_1_data_EA4 = .data:0x00000EA4; // type:object size:0xB data:string -lbl_1_data_EAF = .data:0x00000EAF; // type:object size:0xB data:string -lbl_1_data_EBA = .data:0x00000EBA; // type:object size:0xB data:string -lbl_1_data_EC5 = .data:0x00000EC5; // type:object size:0xB data:string -lbl_1_data_ED0 = .data:0x00000ED0; // type:object size:0xC +lbl_1_data_EA4 = .data:0x00000EA4; // type:object size:0xB scope:local data:string +lbl_1_data_EAF = .data:0x00000EAF; // type:object size:0xB scope:local data:string +lbl_1_data_EBA = .data:0x00000EBA; // type:object size:0xB scope:local data:string +lbl_1_data_EC5 = .data:0x00000EC5; // type:object size:0xB scope:local data:string +lbl_1_data_ED0 = .data:0x00000ED0; // type:object size:0xC scope:local data:string lbl_1_data_EDC = .data:0x00000EDC; // type:object size:0x8B8 lbl_1_data_1794 = .data:0x00001794; // type:object size:0x20 lbl_1_data_17B4 = .data:0x000017B4; // type:object size:0x20 lbl_1_data_17D4 = .data:0x000017D4; // type:object size:0x20 data:float lbl_1_data_17F4 = .data:0x000017F4; // type:object size:0x20 lbl_1_data_1814 = .data:0x00001814; // type:object size:0x50 -lbl_1_data_1864 = .data:0x00001864; // type:object size:0x11 data:string -lbl_1_data_1875 = .data:0x00001875; // type:object size:0x11 data:string -lbl_1_data_1886 = .data:0x00001886; // type:object size:0x11 data:string -lbl_1_data_1897 = .data:0x00001897; // type:object size:0x18 data:string -lbl_1_data_18AF = .data:0x000018AF; // type:object size:0xB data:string -lbl_1_data_18BA = .data:0x000018BA; // type:object size:0x18 data:string -lbl_1_data_18D2 = .data:0x000018D2; // type:object size:0xC data:string -lbl_1_data_18DE = .data:0x000018DE; // type:object size:0x6 data:string -lbl_1_data_18E4 = .data:0x000018E4; // type:object size:0x21 data:string -lbl_1_data_1905 = .data:0x00001905; // type:object size:0x1F +lbl_1_data_1864 = .data:0x00001864; // type:object size:0x11 scope:local data:string +lbl_1_data_1875 = .data:0x00001875; // type:object size:0x11 scope:local data:string +lbl_1_data_1886 = .data:0x00001886; // type:object size:0x11 scope:local data:string +lbl_1_data_1897 = .data:0x00001897; // type:object size:0x18 scope:local data:string +lbl_1_data_18AF = .data:0x000018AF; // type:object size:0xB scope:local data:string +lbl_1_data_18BA = .data:0x000018BA; // type:object size:0x18 scope:local data:string +lbl_1_data_18D2 = .data:0x000018D2; // type:object size:0xC scope:local data:string +lbl_1_data_18DE = .data:0x000018DE; // type:object size:0x6 scope:local data:string +lbl_1_data_18E4 = .data:0x000018E4; // type:object size:0x21 scope:local data:string +lbl_1_data_1905 = .data:0x00001905; // type:object size:0x1F scope:local data:string jumptable_1_data_1924 = .data:0x00001924; // type:object size:0x1C scope:local jumptable_1_data_1940 = .data:0x00001940; // type:object size:0x44 scope:local -lbl_1_data_1984 = .data:0x00001984; // type:object size:0xB data:string -lbl_1_data_198F = .data:0x0000198F; // type:object size:0x1D +lbl_1_data_1984 = .data:0x00001984; // type:object size:0xB scope:local data:string +lbl_1_data_198F = .data:0x0000198F; // type:object size:0x1D scope:local data:string jumptable_1_data_19AC = .data:0x000019AC; // type:object size:0x28 scope:local -lbl_1_data_19D4 = .data:0x000019D4; // type:object size:0x24 data:string +lbl_1_data_19D4 = .data:0x000019D4; // type:object size:0x24 scope:local data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x3F0 data:float lbl_1_bss_3F0 = .bss:0x000003F0; // type:object size:0x4 data:float lbl_1_bss_3F4 = .bss:0x000003F4; // type:object size:0x4 data:4byte @@ -333,7 +333,8 @@ lbl_1_bss_3FC = .bss:0x000003FC; // type:object size:0x4 data:4byte lbl_1_bss_400 = .bss:0x00000400; // type:object size:0x2 data:2byte lbl_1_bss_402 = .bss:0x00000402; // type:object size:0x2 data:2byte lbl_1_bss_404 = .bss:0x00000404; // type:object size:0x2 data:2byte -lbl_1_bss_408 = .bss:0x00000408; // type:object size:0x8 data:4byte +lbl_1_bss_408 = .bss:0x00000408; // type:object size:0x4 data:4byte +lbl_1_bss_40C = .bss:0x0000040C; // type:object size:0x4 data:4byte lbl_1_bss_410 = .bss:0x00000410; // type:object size:0x4 data:4byte lbl_1_bss_414 = .bss:0x00000414; // type:object size:0x4 data:4byte lbl_1_bss_418 = .bss:0x00000418; // type:object size:0x4 data:4byte diff --git a/configure.py b/configure.py index 339a9dfe..56ea295c 100644 --- a/configure.py +++ b/configure.py @@ -1065,7 +1065,7 @@ config.libs = [ Rel( "m432Dll", # Dungeon Duos objects={ - Object(NonMatching, "REL/m432Dll/main.c"), + Object(Matching, "REL/m432Dll/main.c"), }, ), Rel( diff --git a/include/REL/m432data.h b/include/REL/m432data.h new file mode 100644 index 00000000..1152d0c7 --- /dev/null +++ b/include/REL/m432data.h @@ -0,0 +1,1235 @@ +#ifndef M432DATA_H +#define M432DATA_H + +#include "datadir_enum.h" +#include "dolphin.h" +#include "game/hsfanim.h" + +typedef struct UnkM432DllBss0SubStruct { + char *unk_00; + char *unk_04; + s32 unk_08; + u32 unk_0C[2]; + u32 unk_14; + float unk_18; + float unk_1C; + Vec unk_20; + Vec unk_2C; + float unk_38; + float unk_3C; + s16 unk_40; + s32 unk_44; +} UnkM432DllBss0SubStruct; /* size = 0x48 */ + +typedef struct UnkM432DllData1794Struct { + float unk_00; + float unk_04; + float unk_08; + float unk_0C; + float unk_10; + float unk_14; + s32 unk_18; + s32 unk_1C; +} UnkM432DllData1794Struct; /* size = 0x20 */ + +s32 lbl_1_data_A0[2] = { 1, 2 }; +float lbl_1_data_A8[8] = { 0.0f, 0.0f, 318.0f, 480.0f, 322.0f, 0.0f, 318.0f, 480.0f }; +Vec lbl_1_data_C8 = { 0.0f, 1.0f, 0.0f }; +Vec lbl_1_data_D4 = { 0.0f, 3000.0f, 1000.0f }; +Vec lbl_1_data_E0 = { 0.0f, -3.0f, -1.0f }; +GXColor lbl_1_data_EC = { 0xFF, 0xFF, 0xFF, 0xFF }; +Vec lbl_1_data_F0 = { 0.0f, 5000.0f, 100.0f }; +Vec lbl_1_data_FC = { 0.0f, 0.0f, 0.0f }; + +s32 lbl_1_data_108[8][0xB] = { + { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x73), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x74), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x38), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x72), + }, + { + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x00), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x02), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x03), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x73), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x74), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x38), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x72), + }, + { + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x00), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x02), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x03), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x73), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x74), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x38), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x72), + }, + { + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x00), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x02), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x03), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x73), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x74), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x38), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x72), + }, + { + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x00), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x02), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x03), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x73), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x74), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x38), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x72), + }, + { + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x00), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x02), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x03), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x73), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x74), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x38), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x72), + }, + { + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x00), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x02), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x03), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x73), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x74), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x38), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x72), + }, + { + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x00), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x02), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x03), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x73), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x74), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6A), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x5B), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x1D), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x38), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x6C), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x72), + }, +}; + +s32 lbl_1_data_268[8] = { 0, 1, 2, 3, 4, -1, -1, -1 }; + +s32 lbl_1_data_288[9] = { + DATA_MAKE_NUM(DATADIR_M432, 0x1F), + DATA_MAKE_NUM(DATADIR_M432, 0x20), + DATA_MAKE_NUM(DATADIR_M432, 0x21), + DATA_MAKE_NUM(DATADIR_M432, 0x22), + DATA_MAKE_NUM(DATADIR_M432, 0x23), + DATA_MAKE_NUM(DATADIR_M432, 0x24), + DATA_MAKE_NUM(DATADIR_M432, 0x25), + DATA_MAKE_NUM(DATADIR_M432, 0x26), + DATA_MAKE_NUM(DATADIR_M432, 0x27), +}; + +s32 lbl_1_data_2AC[9] = { 0, 8, -0x10, 4, 0, -4, -1, 0, 0 }; +s32 lbl_1_data_2D0[9] = { 0, 8, -0x10, 8, 0, -4, -1, 0, 0 }; +s32 lbl_1_data_2F4[9] = { 0, 8, -0x10, 7, 0, -4, -1, 0, 0 }; +s32 lbl_1_data_318[0xF] = { 1, 0, -0x10, 5, -0x18, -5, 2, 0, -5, 6, 0x18, -5, -1, 0, 0 }; +Vec lbl_1_data_354[2] = { { -1200.0f, 0.0f, 0.0f }, { -400.0f, 0.0f, 0.0f } }; +Vec lbl_1_data_36C[2] = { { 400.0f, 0.0f, 0.0f }, { 1200.0f, 0.0f, 0.0f } }; + +char *lbl_1_data_3DC[8] = { + "m432_00-o0", + "m432_00-o1", + "m432_00-o2", + "m432_00-o3", + "m432_00-o4", + "m432_00-o5", + "m432_00-o6", + "m432_00-o7", +}; + +char *lbl_1_data_440[6] = { + "m432_00-p0", + "m432_00-p1", + "m432_00-p2", + "m432_00-p3", + "m432_00-p4", + "m432_00-q0", +}; + +char *lbl_1_data_4C8[0xA] = { + "m432_00-r0", + "m432_00-r1", + "m432_00-r2", + "m432_00-r5", + "m432_00-r4", + "m432_00-r3", + "m432_00-r6", + "m432_00-r7", + "m432_00-r8", + "m432_00-s0", +}; + +u8 lbl_1_data_4F0[0x14] = { + 0, + 0, + 0, + 1, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0, + 0, + 0, + 3, +}; + +u8 lbl_1_data_504[0x24] = { + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 5, + 0, + 0, + 0, + 8, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 7, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, +}; + +s32 lbl_1_data_528[2] = { DATA_MAKE_NUM(DATADIR_M432, 0x05), DATA_MAKE_NUM(DATADIR_M432, 0x06) }; + +UnkM432DllBss0SubStruct lbl_1_data_5EC[0x1F] = { + { + "m432_00-i0", + NULL, + -1, + { 0, 0 }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-b0", + "m432_00-a0", + 4, + { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, + 1, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-a1", + NULL, + 5, + { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, + 0x100, + 90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-b2", + "m432_00-a2", + 6, + { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, + 1, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-a3", + NULL, + 7, + { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, + 0x100, + 90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c0", + NULL, + 0x10, + { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, + 0x400, + 90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c1", + NULL, + 0x11, + { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, + 0x400, + -90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-d0", + NULL, + 0x14, + { DATA_MAKE_NUM(DATADIR_M432, 0x10), DATA_MAKE_NUM(DATADIR_M432, 0x11) }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c2", + NULL, + 0x12, + { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, + 0x200, + 90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c3", + NULL, + 0x13, + { DATA_MAKE_NUM(DATADIR_M432, 0x0E), DATA_MAKE_NUM(DATADIR_M432, 0x0F) }, + 0x200, + -90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-d1", + NULL, + 0x15, + { DATA_MAKE_NUM(DATADIR_M432, 0x12), DATA_MAKE_NUM(DATADIR_M432, 0x13) }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p0", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p1", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 1.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p2", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 2.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p3", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 3.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p4", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 4.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-q0", + NULL, + -1, + { 0, 0 }, + 8, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r0", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r1", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 1.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r2", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 2.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r5", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 3.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r4", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 4.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r3", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 5.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r6", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 6.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r7", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 7.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r8", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 8.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-s0", + NULL, + -1, + { 0, 0 }, + 0x10, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-e0", + NULL, + 8, + { DATA_MAKE_NUM(DATADIR_M432, 0x14), DATA_MAKE_NUM(DATADIR_M432, 0x15) }, + 0x800, + 180.0f, + 120.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-j0", + NULL, + 9, + { DATA_MAKE_NUM(DATADIR_M432, 0x18), DATA_MAKE_NUM(DATADIR_M432, 0x19) }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-h0", + NULL, + 0x16, + { DATA_MAKE_NUM(DATADIR_M432, 0x16), DATA_MAKE_NUM(DATADIR_M432, 0x17) }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-t0", + NULL, + 0x17, + { DATA_MAKE_NUM(DATADIR_M432, 0x1C), DATA_MAKE_NUM(DATADIR_M432, 0x1D) }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, +}; + +UnkM432DllBss0SubStruct lbl_1_data_EDC[0x1F] = { + { + "m432_00-i1", + NULL, + -1, + { 0, 0 }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-a0", + NULL, + 0xA, + { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, + 0x100, + -90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-b1", + "m432_00-a1", + 0xB, + { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, + 1, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-a2", + NULL, + 0xC, + { DATA_MAKE_NUM(DATADIR_M432, 0x0A), DATA_MAKE_NUM(DATADIR_M432, 0x0B) }, + 0x100, + -90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-b3", + "m432_00-a3", + 0xD, + { DATA_MAKE_NUM(DATADIR_M432, 0x0C), DATA_MAKE_NUM(DATADIR_M432, 0x0D) }, + 1, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c0", + NULL, + 0x10, + { 0, 0 }, + 0x400, + 90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c1", + NULL, + 0x11, + { 0, 0 }, + 0x400, + -90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-d0", + NULL, + 0x14, + { 0, 0 }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c2", + NULL, + 0x12, + { 0, 0 }, + 0x200, + 90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-c3", + NULL, + 0x13, + { 0, 0 }, + 0x200, + -90.0f, + 150.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-d1", + NULL, + 0x15, + { 0, 0 }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p0", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p1", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 1.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p2", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 2.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p3", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 3.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-p4", + "m432_00-q0", + -1, + { 0, 0 }, + 2, + 0.0f, + 4.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-q0", + NULL, + -1, + { 0, 0 }, + 8, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r0", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r1", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 1.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r2", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 2.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r5", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 3.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r4", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 4.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r3", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 5.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r6", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 6.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r7", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 7.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-r8", + "m432_00-s0", + -1, + { 0, 0 }, + 4, + 0.0f, + 8.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-s0", + NULL, + -1, + { 0, 0 }, + 0x10, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-e1", + NULL, + 0xE, + { DATA_MAKE_NUM(DATADIR_M432, 0x14), DATA_MAKE_NUM(DATADIR_M432, 0x15) }, + 0x800, + 180.0f, + 120.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-k0", + NULL, + 0xF, + { DATA_MAKE_NUM(DATADIR_M432, 0x1A), DATA_MAKE_NUM(DATADIR_M432, 0x1B) }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-h0", + NULL, + 0x16, + { 0, 0 }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, + { + "m432_00-t0", + NULL, + 0x17, + { 0, 0 }, + 0, + 0.0f, + 0.0f, + { 0.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + 0.0f, + 0.0f, + 0, + 0, + }, +}; + +UnkM432DllData1794Struct lbl_1_data_1794 = { 6300.0f, 0.7f, 10.0f, 0.4f, 1.0f, 0, 2, 6 }; +UnkM432DllData1794Struct lbl_1_data_17B4 = { 5700.0f, 0.8f, 8.0f, 0.6f, 1.0f, 0, 4, 5 }; +UnkM432DllData1794Struct lbl_1_data_17D4 = { 5100.0f, 0.9f, 6.0f, 0.8f, 1.0f, 0, 6, 4 }; +UnkM432DllData1794Struct lbl_1_data_17F4 = { 4500.0f, 1.0f, 4.0f, 1.0f, 1.0f, 0, 8, 3 }; +HsfanimStruct00 lbl_1_data_1814 = { + 0x1E, + { 0, 0 }, + 1.0f, + 50.0f, + 360.0f, + { 0.0f, 0.1f, 0.0f }, + 1.0f, + 1.0f, + 30.0f, + 1.1f, + 4, + { + { 0xF0, 0xD0, 0xB0, 0xFF }, + { 0xE0, 0xC0, 0xA0, 0xFF }, + { 0xD0, 0xB0, 0x90, 0xFF }, + { 0xC0, 0xA0, 0x80, 0xFF }, + }, + { + { 0xF0, 0xD0, 0xB0, 0 }, + { 0xE0, 0xC0, 0xA0, 0 }, + { 0xD0, 0xB0, 0x90, 0 }, + { 0xC0, 0xA0, 0x80, 0 }, + }, +}; + +#endif diff --git a/include/rel_sqrt_consts.h b/include/rel_sqrt_consts.h deleted file mode 100644 index fd06a9e9..00000000 --- a/include/rel_sqrt_consts.h +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef _REL_SQRT_CONSTS -#define _REL_SQRT_CONSTS - - -#endif diff --git a/src/REL/E3setupDLL/mgselect.c b/src/REL/E3setupDLL/mgselect.c index ece67721..5dbd89eb 100644 --- a/src/REL/E3setupDLL/mgselect.c +++ b/src/REL/E3setupDLL/mgselect.c @@ -6,7 +6,6 @@ #include "game/sprite.h" #include "game/window.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/E3SetupDLL.h" diff --git a/src/REL/instDll/main.c b/src/REL/instDll/main.c index 2853c63e..3dbcc0a4 100644 --- a/src/REL/instDll/main.c +++ b/src/REL/instDll/main.c @@ -21,8 +21,6 @@ #include "ext_math.h" #include "math.h" -#include "rel_sqrt_consts.h" - #include "REL/instDll.h" static s16 lbl_1_data_0 = 1; diff --git a/src/REL/m401Dll/main.c b/src/REL/m401Dll/main.c index 14147e35..cb02264e 100644 --- a/src/REL/m401Dll/main.c +++ b/src/REL/m401Dll/main.c @@ -17,8 +17,6 @@ #include "ext_math.h" #include "math.h" -#include "rel_sqrt_consts.h" - float lbl_2_data_0 = -7.1875f; s16 lbl_2_data_4[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; diff --git a/src/REL/m402Dll/main.c b/src/REL/m402Dll/main.c index 3e3aadbd..59f189c3 100755 --- a/src/REL/m402Dll/main.c +++ b/src/REL/m402Dll/main.c @@ -22,7 +22,6 @@ #include "dolphin.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) diff --git a/src/REL/m403Dll/main.c b/src/REL/m403Dll/main.c index d0f9003a..a1e3fc91 100755 --- a/src/REL/m403Dll/main.c +++ b/src/REL/m403Dll/main.c @@ -17,7 +17,6 @@ #include "game/wipe.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" typedef struct { /* 0x000 */ u8 unk00; diff --git a/src/REL/m404Dll/main.c b/src/REL/m404Dll/main.c index 63011f56..6b790aee 100644 --- a/src/REL/m404Dll/main.c +++ b/src/REL/m404Dll/main.c @@ -10,7 +10,7 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" + #include "string.h" typedef struct UnkM404Struct { diff --git a/src/REL/m405Dll/main.c b/src/REL/m405Dll/main.c index f13da739..0c999c19 100755 --- a/src/REL/m405Dll/main.c +++ b/src/REL/m405Dll/main.c @@ -22,7 +22,6 @@ #include "dolphin.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) diff --git a/src/REL/m406Dll/main.c b/src/REL/m406Dll/main.c index 6d70cd61..8642d951 100644 --- a/src/REL/m406Dll/main.c +++ b/src/REL/m406Dll/main.c @@ -5,7 +5,6 @@ #include "game/hsfdraw.h" #include "game/minigame_seq.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/m406Dll.h" diff --git a/src/REL/m407dll/player.c b/src/REL/m407dll/player.c index 394f2885..395fb157 100644 --- a/src/REL/m407dll/player.c +++ b/src/REL/m407dll/player.c @@ -8,8 +8,6 @@ #include "game/process.h" #include "math.h" -#include "rel_sqrt_consts.h" - #define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) typedef void (*ObjFuncs)(omObjData *); diff --git a/src/REL/m408Dll/main.c b/src/REL/m408Dll/main.c index 32571be7..38ab51b1 100644 --- a/src/REL/m408Dll/main.c +++ b/src/REL/m408Dll/main.c @@ -19,8 +19,6 @@ #include "ext_math.h" #include "math.h" -#include "rel_sqrt_consts.h" - s32 lbl_1_data_0[] = { DATA_MAKE_NUM(DATADIR_MGCONST, 0x00), DATA_MAKE_NUM(DATADIR_MGCONST, 0x01), diff --git a/src/REL/m409Dll/main.c b/src/REL/m409Dll/main.c index e41a1130..5071127d 100644 --- a/src/REL/m409Dll/main.c +++ b/src/REL/m409Dll/main.c @@ -11,7 +11,6 @@ #include "game/sprite.h" #include "game/wipe.h" #include "math.h" -#include "rel_sqrt_consts.h" // bss Process *lbl_1_bss_E8; diff --git a/src/REL/m410Dll/main.c b/src/REL/m410Dll/main.c index 5b234c7b..42506076 100644 --- a/src/REL/m410Dll/main.c +++ b/src/REL/m410Dll/main.c @@ -5,7 +5,6 @@ #include "game/minigame_seq.h" #include "game/object.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/m410Dll.h" @@ -158,37 +157,36 @@ void fn_1_63C(omObjData *object) return; } switch (var_r31->unk_00) { - case 0: - WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); - Hu3DCameraPerspectiveSet(1, 41.5f, 5.0f, 5000.0f, 1.2f); - var_r31->unk_00 = 1; - var_r31->unk_10 = 0; - object->func = fn_1_19C8(lbl_1_bss_28, object); - break; - case 1: - var_r31->unk_00 = 2; - var_r31->unk_18 = 0; - object->func = fn_1_FF0; - break; - case 2: - var_r31->unk_00 = 3; - var_r31->unk_28 = 0; - object->func = fn_1_216C(lbl_1_bss_28, object); - break; - case 3: - case 4: - var_r31->unk_08 = 1; - var_r31->unk_00 = 5; - object->func = fn_1_ABC; - break; - case 5: - default: - var_r31->unk_00 = 5; - object->func = fn_1_DEC; - break; + case 0: + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + Hu3DCameraPerspectiveSet(1, 41.5f, 5.0f, 5000.0f, 1.2f); + var_r31->unk_00 = 1; + var_r31->unk_10 = 0; + object->func = fn_1_19C8(lbl_1_bss_28, object); + break; + case 1: + var_r31->unk_00 = 2; + var_r31->unk_18 = 0; + object->func = fn_1_FF0; + break; + case 2: + var_r31->unk_00 = 3; + var_r31->unk_28 = 0; + object->func = fn_1_216C(lbl_1_bss_28, object); + break; + case 3: + case 4: + var_r31->unk_08 = 1; + var_r31->unk_00 = 5; + object->func = fn_1_ABC; + break; + case 5: + default: + var_r31->unk_00 = 5; + object->func = fn_1_DEC; + break; } var_r31->unk_04 = 0; - } void fn_1_7A8(omObjData *object) @@ -233,38 +231,36 @@ void fn_1_FF0(omObjData *object) fn_1_5A8(object); switch (var_r29->unk_14) { - case 0: - var_r29->unk_1C = 30; - var_r29->unk_20 = 60; - lbl_1_bss_14 = MGSeqCreate(3, 0); - MGSeqPosSet(lbl_1_bss_14, 320.0f, 240.0f); - CRot.x = -11.2f; - CRot.y = CRot.z = 0.0f; - Center.x = 0.0f; - Center.y = 367.0f; - Center.z = 252.0f; - CZoom = 592.0f; - var_r29->unk_14 = 1; - var_r29->unk_18 = 0; - break; - - case 1: - if (lbl_1_bss_4 < 0 && MGSeqStatGet(lbl_1_bss_14) & 16) { - lbl_1_bss_4 = HuAudSeqPlay(71); - } - if (!MGSeqStatGet(lbl_1_bss_14) && !var_r29->unk_08) { - lbl_1_bss_1C = MGSeqCreate(1, var_r29->unk_1C, -1, -1); - var_r29->unk_14 = 2; - var_r29->unk_18 = 0; - object->func = fn_1_139C; - } - break; - - default: - break; - } + case 0: + var_r29->unk_1C = 30; + var_r29->unk_20 = 60; + lbl_1_bss_14 = MGSeqCreate(3, 0); + MGSeqPosSet(lbl_1_bss_14, 320.0f, 240.0f); + CRot.x = -11.2f; + CRot.y = CRot.z = 0.0f; + Center.x = 0.0f; + Center.y = 367.0f; + Center.z = 252.0f; + CZoom = 592.0f; + var_r29->unk_14 = 1; + var_r29->unk_18 = 0; + break; - + case 1: + if (lbl_1_bss_4 < 0 && MGSeqStatGet(lbl_1_bss_14) & 16) { + lbl_1_bss_4 = HuAudSeqPlay(71); + } + if (!MGSeqStatGet(lbl_1_bss_14) && !var_r29->unk_08) { + lbl_1_bss_1C = MGSeqCreate(1, var_r29->unk_1C, -1, -1); + var_r29->unk_14 = 2; + var_r29->unk_18 = 0; + object->func = fn_1_139C; + } + break; + + default: + break; + } } void fn_1_139C(omObjData *object) diff --git a/src/REL/m411Dll/main.c b/src/REL/m411Dll/main.c index dd110cb4..d4a6acef 100755 --- a/src/REL/m411Dll/main.c +++ b/src/REL/m411Dll/main.c @@ -18,7 +18,6 @@ #include "dolphin.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" typedef struct { /* 0x00 */ s16 unk00; diff --git a/src/REL/m412Dll/main.c b/src/REL/m412Dll/main.c index 05a6ac98..1cad6746 100644 --- a/src/REL/m412Dll/main.c +++ b/src/REL/m412Dll/main.c @@ -12,7 +12,6 @@ #include "game/sprite.h" #include "game/wipe.h" #include "math.h" -#include "rel_sqrt_consts.h" // bss s16 lbl_1_bss_7A0; diff --git a/src/REL/m413Dll/main.c b/src/REL/m413Dll/main.c index 7ae0c7e6..ee218503 100644 --- a/src/REL/m413Dll/main.c +++ b/src/REL/m413Dll/main.c @@ -14,8 +14,6 @@ #include "ext_math.h" -#include "rel_sqrt_consts.h" - typedef struct struct_bss_2A6C StructBss2A6C; typedef struct struct_sp_14C8 StructSp14C8; diff --git a/src/REL/m414Dll/main.c b/src/REL/m414Dll/main.c index 8e6cad03..1268cdad 100644 --- a/src/REL/m414Dll/main.c +++ b/src/REL/m414Dll/main.c @@ -9,7 +9,6 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" typedef struct UnkM414Struct { s32 unk00; diff --git a/src/REL/m415Dll/main.c b/src/REL/m415Dll/main.c index cb5bdac7..971724b5 100644 --- a/src/REL/m415Dll/main.c +++ b/src/REL/m415Dll/main.c @@ -15,7 +15,6 @@ #include "game/sprite.h" #include "game/wipe.h" #include "math.h" -#include "rel_sqrt_consts.h" // bss unkStruct5 lbl_1_bss_36C; diff --git a/src/REL/m416Dll/main.c b/src/REL/m416Dll/main.c index 591b8b64..33fe0518 100644 --- a/src/REL/m416Dll/main.c +++ b/src/REL/m416Dll/main.c @@ -17,8 +17,6 @@ #include "REL/m416Dll.h" -#include "rel_sqrt_consts.h" - typedef struct camera_view_params { float zoom; Vec pos; diff --git a/src/REL/m417Dll/main.c b/src/REL/m417Dll/main.c index 3a5b2aff..02a55063 100644 --- a/src/REL/m417Dll/main.c +++ b/src/REL/m417Dll/main.c @@ -3,7 +3,6 @@ #include "game/hsfdraw.h" #include "game/minigame_seq.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/m417Dll.h" diff --git a/src/REL/m420dll/main.c b/src/REL/m420dll/main.c index c5fe048e..18f5b3ea 100644 --- a/src/REL/m420dll/main.c +++ b/src/REL/m420dll/main.c @@ -7,7 +7,6 @@ #include "game/pad.h" #include "game/printfunc.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/m420dll.h" diff --git a/src/REL/m426Dll/main.c b/src/REL/m426Dll/main.c index 8cd93019..d9864fb5 100644 --- a/src/REL/m426Dll/main.c +++ b/src/REL/m426Dll/main.c @@ -10,7 +10,6 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" typedef struct UnkM426Struct { /* 0x00 */ s32 unk_00; diff --git a/src/REL/m429Dll/main.c b/src/REL/m429Dll/main.c index c995e66a..7c2aa9be 100644 --- a/src/REL/m429Dll/main.c +++ b/src/REL/m429Dll/main.c @@ -21,7 +21,6 @@ #include "game/sprite.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) diff --git a/src/REL/m431Dll/main.c b/src/REL/m431Dll/main.c index 3d3f65f2..9ef89c53 100644 --- a/src/REL/m431Dll/main.c +++ b/src/REL/m431Dll/main.c @@ -16,8 +16,6 @@ #include "REL/m431Dll.h" -#include "rel_sqrt_consts.h" - typedef struct bss_5C_struct { s16 unk0[6]; s16 unkC[2]; diff --git a/src/REL/m432Dll/main.c b/src/REL/m432Dll/main.c index 117d8d64..18d7f523 100644 --- a/src/REL/m432Dll/main.c +++ b/src/REL/m432Dll/main.c @@ -1,11 +1,14 @@ #include "REL/executor.h" +#include "dolphin/types.h" #include "game/chrman.h" #include "game/frand.h" +#include "game/memory.h" #include "game/minigame_seq.h" #include "game/object.h" #include "game/objsub.h" #include "game/wipe.h" +#include "game/gamework.h" #include "game/gamework_data.h" #include "game/mapspace.h" @@ -21,7 +24,15 @@ #include "game/sprite.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" + +#include "string.h" + +#ifndef __MWERKS__ +#include "game/audio.h" +#include "game/hsfex.h" + +void HuSysVWaitSet(s16 vcount); +#endif #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) @@ -56,7 +67,7 @@ Vec lbl_1_bss_590; Vec lbl_1_bss_584; u32 lbl_1_bss_580; s32 lbl_1_bss_57C; -u32 lbl_1_bss_578; +u32 lbl_1_bss_578; // TODO maybe array? s16 lbl_1_bss_576; s16 lbl_1_bss_574; s32 lbl_1_bss_570; @@ -403,9 +414,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3) var_r30 = &Hu3DData[arg0]; Hu3DModelObjMtxGet(arg0, arg1, spC); - PSMTXConcat(var_r30->unk_F0, spC, spC); + MTXConcat(var_r30->unk_F0, spC, spC); if (NULL != arg3) { - PSMTXCopy(spC, arg3); + MTXCopy(spC, arg3); } arg2->x = spC[0][3]; arg2->y = spC[1][3]; @@ -433,7 +444,7 @@ float fn_1_1E20(float arg0, float arg1, float arg2) void fn_1_1F24(s32 arg0) { - lbl_1_bss_570 = HuAudSeqPlay((s32)arg0); + lbl_1_bss_570 = HuAudSeqPlay(arg0); } void fn_1_1F58(s32 arg0) @@ -477,4 +488,3288 @@ void fn_1_1FC4(Vec *arg0, float *arg1, s32 arg2, s32 arg3) } } VECAdd((Vec *)&arg0, &sp18, (Vec *)&arg0); -} \ No newline at end of file +} + +s16 lbl_1_data_0[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +s32 lbl_1_data_10[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +float lbl_1_data_30[0xA] = { 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 70.0f, 100.0f }; +float lbl_1_data_58[0xA] = { + 150.0f, + 170.0f, + 190.0f, + 170.0f, + 160.0f, + 150.0f, + 180.0f, + 200.0f, + 150.0f, + 200.0f, +}; + +// these are copied from m461Dll/main.c +typedef void (*PlayerOldHook)(omObjData *obj); +typedef Vec *(*PlayerOldPosHook)(omObjData *obj); + +typedef struct work_playerold { + omObjData *unk_00; + PlayerOldHook unk_04; + PlayerOldPosHook unk_08; + PlayerOldHook unk_0C; + PlayerOldHook unk_10; + s32 *unk_14; + s32 unk_18; + s32 unk_1C; + s32 unk_20; + s32 unk_24; + s32 unk_28; + s32 unk_2C; + s32 unk_30; + s32 unk_34; + s32 unk_38; + s32 unk_3C; + s32 unk_40; + s32 unk_44; + s32 unk_48; + s32 unk_4C; + Vec *unk_50; + Vec unk_54; + float unk_60; + s32 unk_64; + Vec *unk_68; + Vec unk_6C; + Vec unk_78; + Vec unk_84; + Vec unk_90; + float unk_9C; + float unk_A0; + float unk_A4; + float unk_A8; + Vec unk_AC; + float unk_B8; + float unk_BC; + float unk_C0; +} WorkPlayerOld; + +typedef WorkPlayerOld *(*PlayerOldFind)(int no); + +PlayerOldFind lbl_1_bss_424; +float lbl_1_bss_420; + +void fn_1_23B4(WorkPlayerOld *player) +{ + s32 i; + for (i = 0; i < 8; i++) { + if (player->unk_44 == player->unk_14[i]) { + player->unk_40 = lbl_1_data_10[i]; + return; + } + } + player->unk_40 = -1; +} + +void fn_1_2418(float *minDist, s32 *state, s32 stateNew, Vec *posA, float aYOfs, Vec *posB, float bYOfs) +{ + Vec pointA = *posA; + Vec pointB = *posB; + float dist; + pointA.y += aYOfs; + pointB.y += bYOfs; + dist = VECDistance(&pointA, &pointB); + if (*minDist > dist) { + *minDist = dist; + *state = stateNew; + } +} + +void fn_1_24F8(WorkPlayerOld *player1, WorkPlayerOld *player2, float *minDist, s32 *state) +{ + *minDist = 10 * (player1->unk_BC + player2->unk_BC); + fn_1_2418(minDist, state, 0, &player1->unk_6C, player1->unk_BC, &player2->unk_6C, player2->unk_BC); + fn_1_2418(minDist, state, 1, &player1->unk_6C, player1->unk_C0 - player1->unk_BC, &player2->unk_6C, player2->unk_C0 - player2->unk_BC); + fn_1_2418(minDist, state, 2, &player1->unk_6C, player1->unk_BC, &player2->unk_6C, player2->unk_C0 - player2->unk_BC); + fn_1_2418(minDist, state, 3, &player1->unk_6C, player1->unk_C0 - player1->unk_BC, &player2->unk_6C, player2->unk_BC); +} + +s32 fn_1_2824(WorkPlayerOld *player, WorkPlayerOld *player2) +{ + Vec dir; + Vec dir2; + float dist; + + player->unk_3C |= 0x1; + player->unk_90.x = player->unk_20 / 4.0f; + player->unk_90.z = -(float)player->unk_24 / 4.0f; + if (player->unk_90.x != 0.0f || player->unk_90.z != 0.0f) { + return; + } + VECSubtract(&player->unk_6C, &player2->unk_6C, &dir); + dist = VECMagXZ(&dir); + if (0.0f == dist) { + dir.x = 0; + dir.z = -1; + } + else { + dir.x /= dist; + dir.z /= dist; + } + VECSubtract(&player->unk_6C, &player->unk_78, &dir2); + dist = VECMagXZ(&dir2); + if (5 > dist) { + dist = 5; + } + player->unk_90.x = dir.x * dist; + player->unk_90.z = dir.z * dist; +} + +void fn_1_2BD0(WorkPlayerOld *player, float arg1, float arg2) +{ + player->unk_38 = 1; + player->unk_84.y = arg1; + player->unk_A4 = arg2; + if (player->unk_3C & 0x2) { + player->unk_3C &= ~0x2; + } +} + +void fn_1_2C00(PlayerOldFind find, float yDist) +{ + lbl_1_bss_424 = find; + lbl_1_bss_420 = yDist; +} + +void fn_1_2C1C(WorkPlayerOld *player, omObjData *obj, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, Vec *pos, float arg7) +{ + player->unk_00 = obj; + player->unk_18 = arg2; + player->unk_1C = arg3; + player->unk_14 = arg4; + player->unk_04 = NULL; + player->unk_08 = NULL; + player->unk_0C = NULL; + player->unk_10 = NULL; + player->unk_50 = NULL; + player->unk_64 = 0; + player->unk_68 = 0; + player->unk_38 = 0; + player->unk_3C = 0; + player->unk_44 = arg5; + player->unk_48 = 0; + player->unk_4C = 0; + fn_1_23B4(player); + player->unk_9C = arg7; + player->unk_6C = *pos; + player->unk_78 = *pos; + player->unk_84.x = 0; + player->unk_84.y = 0; + player->unk_84.z = 0; + player->unk_B8 = 1; + player->unk_A8 = 0; + player->unk_BC = lbl_1_data_30[player->unk_1C]; + player->unk_C0 = lbl_1_data_58[player->unk_1C]; +} + +void fn_1_2DA8(WorkPlayerOld *player, PlayerOldHook func) +{ + player->unk_04 = func; +} + +void fn_1_2DB0(WorkPlayerOld *player, PlayerOldPosHook func) +{ + player->unk_08 = func; +} + +void fn_1_2DB8(WorkPlayerOld *player, PlayerOldHook func) +{ + player->unk_0C = func; +} + +void fn_1_2DC0(WorkPlayerOld *player, PlayerOldHook func) +{ + player->unk_10 = func; +} + +void fn_1_2DC8(WorkPlayerOld *player, s32 count, Vec *data) +{ + player->unk_64 = count; + player->unk_68 = data; +} + +void fn_1_2DD4(WorkPlayerOld *player) +{ + omSetTra(player->unk_00, player->unk_6C.x, player->unk_6C.y, player->unk_6C.z); + omSetRot(player->unk_00, 0.0f, player->unk_9C, 0.0f); +} + +void fn_1_2E34(WorkPlayerOld *player) +{ + BOOL addTime; + s32 i; + player->unk_3C &= ~0x100; + if (player->unk_3C & 0x8) { + return; + } + if (NULL == lbl_1_bss_424) { + return; + } + addTime = FALSE; + for (i = 0; i < 4; i++) { + WorkPlayerOld *player2 = lbl_1_bss_424(i); + BOOL fixPos; + float minDist; + s32 state; + if (player == player2) { + continue; + } + if (player2->unk_3C & 0x8) { + continue; + } + fixPos = FALSE; + fn_1_24F8(player, player2, &minDist, &state); + if (minDist < player->unk_BC + player2->unk_BC) { + if (state < 2) { + fixPos = TRUE; + if (player->unk_38 == 1) { + fn_1_2824(player, player2); + } + } + else { + if (state == 2 && player->unk_38 == 1) { + fn_1_2824(player, player2); + player->unk_3C |= 0x100; + player->unk_A4 = 0; + if (!(player2->unk_3C & 0x100)) { + player->unk_84.y = 26.766666f; + } + } + if (state == 3) { + fixPos = TRUE; + if (player->unk_38 == 1) { + if (0.0f < player->unk_84.y) { + player->unk_84.y = 0.0f; + } + player->unk_A4 = 0; + } + } + } + } + if (fixPos) { + Vec dir; + addTime = TRUE; + VECSubtract(&player->unk_6C, &player2->unk_6C, &dir); + if (0.0f == minDist) { + dir.x = 0; + dir.z = -1; + } + else { + dir.x /= minDist; + dir.z /= minDist; + } + player->unk_6C.x = player2->unk_6C.x + (dir.x * (player->unk_BC + player2->unk_BC)); + player->unk_6C.z = player2->unk_6C.z + (dir.z * (player->unk_BC + player2->unk_BC)); + } + } + if (addTime) { + player->unk_4C++; + } + else { + player->unk_4C = 0; + } +} + +float fn_1_39C4(WorkPlayerOld *player, float arg2) +{ + Vec *pos; + s32 i; + AddX = 0.0f; + AddZ = 0.0f; + MapWall(player->unk_BC, player->unk_6C.x, arg2 + player->unk_BC, player->unk_6C.z); + player->unk_6C.x += AddX; + player->unk_6C.z += AddZ; + if (NULL != player->unk_68) { + for (pos = player->unk_68, i = 0; i < player->unk_64; i++, pos += 2) { + int num = 0; + if (pos[0].x == pos[1].x || pos[0].x > player->unk_6C.x || pos[1].x < player->unk_6C.x) { + num++; + } + if (pos[0].y == pos[1].y || pos[0].y > player->unk_6C.y || pos[1].y < player->unk_6C.y) { + num++; + } + if (pos[0].z == pos[1].z || pos[0].z > player->unk_6C.z || pos[1].z < player->unk_6C.z) { + num++; + } + if (num == 3) { + if (pos[0].x != pos[1].x) { + if (pos[0].x > player->unk_6C.x) { + player->unk_6C.x = pos[0].x + player->unk_BC; + } + if (pos[1].x < player->unk_6C.x) { + player->unk_6C.x = pos[1].x - player->unk_BC; + } + } + if (pos[0].y != pos[1].y) { + if (pos[0].y > player->unk_6C.y) { + player->unk_6C.y = pos[0].y; + } + if (pos[1].y < player->unk_6C.y) { + player->unk_6C.y = pos[1].y; + } + } + if (pos[0].z != pos[1].z) { + if (pos[0].z > player->unk_6C.z) { + player->unk_6C.z = pos[0].z + player->unk_BC; + } + if (pos[1].z < player->unk_6C.z) { + player->unk_6C.z = pos[1].z - player->unk_BC; + } + } + } + } + } + return ABS(AddX) + ABS(AddZ); +} + +void fn_1_3CE0(WorkPlayerOld *player, s32 *state, u32 *motAttr) +{ + *motAttr = HU3D_MOTATTR_LOOP; + *state = 0; + if (0.5f <= player->unk_A0) { + if (7.0f <= player->unk_A0) { + *state = 2; + } + else { + *state = 1; + } + } + + if (player->unk_14[3] >= 0 && (player->unk_28 & 0x100)) { + fn_1_2BD0(player, 26.766666f, 1); + *motAttr = HU3D_MOTATTR_NONE; + *state = 3; + } +} + +void fn_1_3DB8(WorkPlayerOld *player, s32 *state, u32 *motAttr) +{ + if (0.0f < player->unk_A4) { + if (player->unk_2C & 0x100) { + player->unk_A4++; + if (4.0f < player->unk_A4) { + player->unk_A4 = 0; + } + else { + player->unk_84.y += 3.65f; + } + } + else { + player->unk_A4 = 0; + } + } + player->unk_84.y += -2.4333334f; + if (player->unk_14[5] >= 0 && (player->unk_28 & 0x140)) { + player->unk_38 = 3; + player->unk_84.y = 0; + player->unk_3C &= ~0x3; + player->unk_3C |= 0x4; + *motAttr = HU3D_MOTATTR_NONE; + *state = 5; + } +} + +void fn_1_3ECC(WorkPlayerOld *player, s32 *state, u32 *motAttr) +{ + if ((player->unk_3C & 0x1000) || Hu3DMotionEndCheck(player->unk_00->model[0])) { + player->unk_3C &= ~0x3; + if (player->unk_40 == 6) { + player->unk_38 = 4; + *motAttr = HU3D_MOTATTR_NONE; + *state = 7; + } + else { + player->unk_38 = 0; + *motAttr = HU3D_MOTATTR_LOOP; + *state = 0; + } + } +} + +void fn_1_3F84(WorkPlayerOld *player, s32 *state, u32 *motAttr) +{ + if (Hu3DMotionShiftIDGet(player->unk_00->model[0]) < 0 && Hu3DMotionEndCheck(player->unk_00->model[0])) { + fn_1_2BD0(player, 0.0f, 0.0f); + } +} + +void fn_1_4024(WorkPlayerOld *player, s32 *state, u32 *motAttr) +{ + if (Hu3DMotionShiftIDGet(player->unk_00->model[0]) < 0 && Hu3DMotionEndCheck(player->unk_00->model[0])) { + player->unk_3C &= ~0x4; + player->unk_38 = 0; + *motAttr = HU3D_MOTATTR_LOOP; + *state = 0; + } +} + +void fn_1_40C0(WorkPlayerOld *player) +{ + u32 motAttr = HU3D_MOTATTR_NONE; + s32 state = -1; + float temp_f28; + float temp_f23; + float temp_f22; + Vec *pos; + BOOL temp_r27; + if (player->unk_3C & 0x1) { + player->unk_84.x = player->unk_90.x; + player->unk_84.z = player->unk_90.z; + } + else { + player->unk_84.x = player->unk_20 / 4.0f; + player->unk_84.z = -(float)player->unk_24 / 4.0f; + if (player->unk_38 == 1 && 0.0f == player->unk_84.x && 0.0f == player->unk_84.z) { + player->unk_84.x = 0.98f * (player->unk_6C.x - player->unk_78.x); + player->unk_84.z = 0.98f * (player->unk_6C.z - player->unk_78.z); + } + if (player->unk_3C & 0x14) { + player->unk_84.x = 0; + player->unk_84.z = 0; + player->unk_28 = 0; + } + } + player->unk_78 = player->unk_6C; + player->unk_A0 = VECMagXZ(&player->unk_84); + if (0.5f <= player->unk_A0) { + if (10.0f <= player->unk_A0) { + player->unk_84.x /= player->unk_A0; + player->unk_84.z /= player->unk_A0; + player->unk_A0 = 10; + player->unk_84.x = 10 * player->unk_84.x; + player->unk_84.z = 10 * player->unk_84.z; + } + } + else { + player->unk_84.x = 0; + player->unk_84.z = 0; + player->unk_A0 = 0; + } + player->unk_84.x *= player->unk_B8; + player->unk_84.z *= player->unk_B8; + player->unk_A0 *= player->unk_B8; + if (player->unk_3C & 0x800) { + player->unk_28 |= 0x100; + player->unk_2C |= 0x100; + if (player->unk_38 == 1) { + if (0.0f == player->unk_A4) { + player->unk_3C &= ~0x800; + } + } + } + switch (player->unk_38) { + case 0: + fn_1_3CE0(player, &state, &motAttr); + break; + + case 1: + fn_1_3DB8(player, &state, &motAttr); + break; + + case 2: + fn_1_3ECC(player, &state, &motAttr); + break; + + case 3: + fn_1_3F84(player, &state, &motAttr); + break; + + case 4: + fn_1_4024(player, &state, &motAttr); + break; + + default: + OSReport("*** player action error(%d)!!\n", player->unk_38); + break; + } + if (player->unk_3C & 0x2000) { + player->unk_84.y = 0; + } + temp_f28 = 0; + if (50.0f < ABS(player->unk_84.y)) { + player->unk_84.y = 50.0f * ((0.0f > player->unk_84.y) ? -1 : 1); + } + if (player->unk_3C & 0x2) { + Mtx rotMtx; + MTXRotDeg(rotMtx, 'y', player->unk_50[2].x - player->unk_60); + MTXMultVec(rotMtx, &player->unk_54, &player->unk_54); + VECAdd(&player->unk_54, &player->unk_50[0], &player->unk_6C); + player->unk_9C += player->unk_50[2].x - player->unk_60; + } + temp_f22 = player->unk_6C.y; + VECAdd(&player->unk_6C, &player->unk_84, &player->unk_6C); + if ((player->unk_3C & 0x1) == 0 && (0.0f != player->unk_84.x || 0.0f != player->unk_84.z)) { + player->unk_9C = fn_1_1E20(player->unk_9C, atan2d(player->unk_84.x, player->unk_84.z), 0.4f * player->unk_B8); + } + temp_f28 += fn_1_39C4(player, temp_f22); + if (nMap == 0) { + player->unk_A8 = lbl_1_bss_420; + } + else { + player->unk_A8 = MapPos(player->unk_6C.x, player->unk_6C.y, player->unk_6C.z, player->unk_C0, &player->unk_AC); + } + temp_r27 = FALSE; + if (NULL != player->unk_08) { + pos = player->unk_08(player->unk_00); + if (NULL != pos) { + if (player->unk_A8 < pos[1].y) { + temp_r27 = TRUE; + player->unk_50 = pos; + player->unk_A8 = pos[1].y; + } + } + } + if (!temp_r27 && (player->unk_3C & 0x2)) { + player->unk_3C &= ~0x2; + } + if (player->unk_38 == 1 && player->unk_A8 >= player->unk_6C.y) { + player->unk_38 = 2; + player->unk_3C &= ~0x3; + player->unk_6C.y = player->unk_A8; + player->unk_84.y = 0; + motAttr = HU3D_MOTATTR_NONE; + state = 4; + if (player->unk_40 == 5) { + state = 6; + if (NULL != player->unk_10) { + player->unk_10(player->unk_00); + } + if (player->unk_18 < 4) { + omVibrate(player->unk_18, 12, 4, 2); + } + } + if (player->unk_3C & 0x200) { + state = -1; + if (NULL != player->unk_0C) { + player->unk_0C(player->unk_00); + } + } + if (temp_r27) { + player->unk_3C |= 0x2; + } + } + temp_f23 = player->unk_6C.y - player->unk_A8; + if (player->unk_38 == 0 && 10.0f < temp_f23) { + if ((player->unk_3C & 0x2000) == 0) { + if ((player->unk_3C & 0x400) != 0) { + player->unk_3C |= 0x800; + } + else { + fn_1_2BD0(player, 0.0f, 0.0f); + motAttr = HU3D_MOTATTR_NONE; + state = 3; + } + } + } + else if (temp_r27) { + if (!(player->unk_3C & 0x2)) { + player->unk_6C.y = player->unk_A8; + player->unk_3C |= 0x2; + } + } + fn_1_2E34(player); + if (NULL != player->unk_04) { + player->unk_04(player->unk_00); + } + temp_f28 += fn_1_39C4(player, player->unk_6C.y); + if (player->unk_3C & 0x2) { + player->unk_60 = player->unk_50[2].x; + VECSubtract(&player->unk_6C, &player->unk_50[0], &player->unk_54); + } + if (0.0f != temp_f28) { + player->unk_48++; + } + else { + player->unk_48 = 0; + } + if (state >= 0 && player->unk_40 != state) { + player->unk_40 = state; + player->unk_44 = player->unk_14[player->unk_40]; + if (player->unk_44 >= 0 && !(player->unk_3C & 0x20)) { + Hu3DMotionShiftSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44], 0, 8, motAttr); + } + } +} + +void fn_1_4ED8(WorkPlayerOld *player, s32 motNo) +{ + s32 i; + player->unk_44 = motNo; + player->unk_38 = 0; + player->unk_3C &= 0x1400; + player->unk_78 = player->unk_6C; + player->unk_84.x = 0; + player->unk_84.y = 0; + player->unk_84.z = 0; + fn_1_23B4(player); + if (player->unk_40 == 3) { + Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DMotionSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44]); + Hu3DMotionTimeSet(player->unk_00->model[0], Hu3DMotionMaxTimeGet(player->unk_00->model[0]) - 1); + } + else if (player->unk_40 == 5) { + player->unk_38 = 3; + player->unk_3C |= 0x4; + Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DMotionSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44]); + Hu3DMotionTimeSet(player->unk_00->model[0], Hu3DMotionMaxTimeGet(player->unk_00->model[0]) - 1); + } + else { + Hu3DModelAttrReset(player->unk_00->model[0], HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(player->unk_00->model[0], player->unk_00->motion[player->unk_44], 0, 8, HU3D_MOTATTR_LOOP); + } +} + +void fn_1_5128(WorkPlayerOld *player, s32 attr) +{ + player->unk_3C |= attr; +} + +void fn_1_5138(WorkPlayerOld *player, s32 attr) +{ + player->unk_3C &= ~attr; +} + +#include "REL/m432data.h" + +typedef struct UnkBss0Struct { + /* 0x000 */ omObjData *unk_00; + /* 0x004 */ omObjData *unk_04; + /* 0x008 */ omObjData *unk_08; + /* 0x00C */ omObjData *unk_0C; + /* 0x010 */ UnkM432DllBss0SubStruct *unk_10[2]; + /* 0x018 */ s32 unk_18; + /* 0x01C */ Vec unk_1C; + /* 0x028 */ Vec unk_28; + /* 0x034 */ Vec unk_34; + /* 0x040 */ Vec unk_40; + /* 0x04C */ Vec unk_4C; + /* 0x058 */ Vec unk_58; + /* 0x064 */ float unk_64; + /* 0x068 */ float unk_68; + /* 0x06C */ float unk_6C; + /* 0x070 */ float unk_70; + /* 0x074 */ float unk_74; + /* 0x078 */ float unk_78; + /* 0x07C */ float unk_7C; + /* 0x080 */ float unk_80; + /* 0x084 */ float unk_84; + /* 0x088 */ Vec unk_88[4][3]; + /* 0x118 */ Vec unk_118; + /* 0x124 */ float unk_124; + /* 0x128 */ float unk_128; + /* 0x12C */ float unk_12C; + /* 0x130 */ Vec unk_130[8]; + /* 0x190 */ Vec unk_190; + /* 0x19C */ Vec unk_19C; + /* 0x1A8 */ Vec unk_1A8; + /* 0x1B4 */ s32 unk_1B4; + /* 0x1B8 */ s32 unk_1B8; + /* 0x1BC */ s32 unk_1BC; + /* 0x1C0 */ Vec unk_1C0; + /* 0x1CC */ s32 unk_1CC; + /* 0x1D0 */ s32 unk_1D0; + /* 0x1D4 */ float unk_1D4; + /* 0x1D8 */ s32 unk_1D8; + /* 0x1DC */ float unk_1DC; + /* 0x1E0 */ float unk_1E0; + /* 0x1E4 */ float unk_1E4; + /* 0x1E8 */ float unk_1E8; + /* 0x1EC */ float unk_1EC; + /* 0x1F0 */ float unk_1F0[2]; +} UnkBss0Struct; /* size = 0x1F8 */ + +typedef struct UnkM432DllStruct { + WorkPlayerOld unk_00; + s32 *unk_C4; + UnkM432DllBss0SubStruct *unk_C8; + UnkM432DllData1794Struct *unk_CC; + UnkM432DllBss0SubStruct *unk_D0; + s32 unk_D4[10]; + s32 unk_FC; + s32 unk_100; + float unk_104; + float unk_108; + float unk_10C; + float unk_110; + float unk_114; + s32 unk_118[9]; + Vec unk_13C; + float unk_148; + float unk_14C; + float unk_150; + float unk_154; + float unk_158; + float unk_15C; + float unk_160; + float unk_164; + s32 unk_168; + s32 unk_16C; + s32 unk_170; + s32 unk_174; + s32 unk_178; + s32 unk_17C; + s32 unk_180; + s32 unk_184; + s32 unk_188; + s32 unk_18C; + s32 unk_190; + s32 unk_194; +} UnkM432DllStruct; + +typedef struct UnkM432DllStruct2 { + Vec unk_00; + float unk_0C; + float unk_10; + float unk_14; + float unk_18; +} UnkM432DllStruct2; /* size = 0x1C */ + +void fn_1_10250(omObjData *object); +void fn_1_153BC(void); +void fn_1_1615C(omObjData *object); +void fn_1_6F28(UnkBss0Struct *arg0); +void fn_1_93BC(UnkM432DllStruct *arg0); + +omObjData *lbl_1_bss_41C; +omObjData **lbl_1_bss_418; +omObjData *lbl_1_bss_414; +// data UnkM432DllStruct +omObjData **lbl_1_bss_410; +s32 lbl_1_bss_40C; +AnimData *lbl_1_bss_408; +s16 lbl_1_bss_404; +s16 lbl_1_bss_402; +s16 lbl_1_bss_400; +s32 lbl_1_bss_3FC; +s32 lbl_1_bss_3F8; +s32 lbl_1_bss_3F4; +float lbl_1_bss_3F0; +UnkBss0Struct lbl_1_bss_0[2]; + +void fn_1_5148(UnkM432DllStruct *arg0) +{ + s32 var_r31; + + arg0->unk_D0 = 0; + arg0->unk_FC = 0; + arg0->unk_100 = 0; + arg0->unk_10C = 0.0f; + for (var_r31 = 0; var_r31 < 0xA; var_r31++) { + arg0->unk_D4[var_r31] = -1; + } +} + +UnkM432DllStruct *fn_1_51A8(s32 arg0) +{ + s32 var_r31; + UnkM432DllStruct *var_r30; + + for (var_r31 = 0; var_r31 < 4; var_r31++) { + var_r30 = lbl_1_bss_410[var_r31]->data; + if (arg0 == var_r30->unk_184) { + return var_r30; + } + } + return NULL; +} + +UnkM432DllBss0SubStruct *fn_1_5208(s32 arg0, UnkM432DllBss0SubStruct *arg1) +{ + UnkM432DllBss0SubStruct *var_r31; + s32 var_r30; + s32 var_r29; + + for (var_r30 = 0; var_r30 < 2; var_r30++) { + var_r31 = lbl_1_bss_0[arg0].unk_10[var_r30]; + for (var_r29 = 0; var_r29 < 0x1F; var_r29++, var_r31++) { + if (strcmp(arg1->unk_04, var_r31->unk_00) == 0) { + return var_r31; + } + } + } + return NULL; +} + +inline void fn_1_52B8_inline(Vec *arg0, float arg8, float arg9, float argA) +{ + arg0->x = arg8; + arg0->y = arg9; + arg0->z = argA; +} + +void fn_1_52B8(UnkM432DllBss0SubStruct *arg0, Vec *arg1) +{ + Mtx sp8; + + fn_1_52B8_inline(arg1, 0.0f, 0.0f, arg0->unk_1C); + MTXRotRad(sp8, 0x79, 0.017453292f * arg0->unk_18); + MTXMultVec(sp8, arg1, arg1); + VECAdd(&arg0->unk_2C, arg1, arg1); +} + +void fn_1_5364(s32 arg0, omObjData *object) +{ + if (lbl_1_bss_0[arg0].unk_1D8 >= 0) { + lbl_1_bss_0[arg0].unk_1DC -= 0.016666668f; + if (0.0f >= lbl_1_bss_0[arg0].unk_1DC) { + HuAudFXStop(lbl_1_bss_0[arg0].unk_1D8); + lbl_1_bss_0[arg0].unk_1D8 = -1; + } + else { + HuAudFXPitchSet(lbl_1_bss_0[arg0].unk_1D8, (s32)(8191.0f * lbl_1_bss_0[arg0].unk_1DC)); + HuAudFXVolSet(lbl_1_bss_0[arg0].unk_1D8, (s32)(127.0f * lbl_1_bss_0[arg0].unk_1DC)); + } + } + lbl_1_bss_0[arg0].unk_88[0][2].x = lbl_1_bss_0[arg0].unk_80; + lbl_1_bss_0[arg0].unk_88[1][2].x = lbl_1_bss_0[arg0].unk_80; + Hu3DModelRotSet(object->model[20], 0.0f, lbl_1_bss_0[arg0].unk_80, 0.0f); + fn_1_1D18(object->model[20], "m432_13-player2A", &lbl_1_bss_0[arg0].unk_88[0][1]); + fn_1_1D18(object->model[20], "m432_13-player2B", &lbl_1_bss_0[arg0].unk_88[1][1]); + lbl_1_bss_0[arg0].unk_88[2][2].x = lbl_1_bss_0[arg0].unk_84; + lbl_1_bss_0[arg0].unk_88[3][2].x = lbl_1_bss_0[arg0].unk_84; + Hu3DModelRotSet(object->model[21], 0.0f, lbl_1_bss_0[arg0].unk_84, 0.0f); + fn_1_1D18(object->model[21], "m432_13-player2C", &lbl_1_bss_0[arg0].unk_88[2][1]); + fn_1_1D18(object->model[21], "m432_13-player2C", &lbl_1_bss_0[arg0].unk_88[3][1]); +} + +void fn_1_576C(s32 arg0, omObjData *arg1) +{ + float var_f31 = lbl_1_bss_0[arg0].unk_124 * (Hu3DMotionMaxTimeGet(arg1->model[22]) / 1000.0f); + lbl_1_bss_0[arg0].unk_128 += 0.02f * (var_f31 - lbl_1_bss_0[arg0].unk_128); + Hu3DMotionTimeSet(arg1->model[22], lbl_1_bss_0[arg0].unk_128); +} + +void fn_1_5848(UnkM432DllStruct *var_r28, UnkM432DllBss0SubStruct *var_r31) +{ + s32 sp20; + float var_f31; + float var_f30; + float var_f29; + float var_f28; + + s32 var_r30; + s32 var_r27; + UnkM432DllStruct *var_r26; + UnkM432DllBss0SubStruct *var_r25; + UnkBss0Struct *var_r24; + s32 var_r21; + s32 var_r20; + char **var_r19; + u8 *var_r18; + + var_r20 = var_r31->unk_1C; + var_r26 = fn_1_51A8(var_r28->unk_184 ^ 1); + var_r24 = &lbl_1_bss_0[var_r28->unk_184 >> 1]; + sp20 = var_r24->unk_1B8; + var_r27 = 6; + var_r18 = lbl_1_data_4F0; + var_r19 = lbl_1_data_440; + if ((var_r31->unk_14 & 4) != 0) { + sp20 = var_r24->unk_1BC; + var_r27 = 0xA; + var_r18 = lbl_1_data_504; + var_r19 = lbl_1_data_4C8; + } + var_r30 = frandmod(var_r27 - 1); + for (var_r21 = 0; var_r21 < (var_r27 - 1); var_r21++) { + var_r30 = (var_r30 + 1) % (var_r27 - 1); + if ((var_r20 != var_r30) && (sp20 != var_r30) && (var_r30 != var_r18[var_r20])) { + var_r31->unk_04 = var_r19[var_r30]; + var_r25 = fn_1_5208(var_r28->unk_184 >> 1, var_r31); + var_f31 = var_r26->unk_00.unk_6C.x - var_r25->unk_2C.x; + var_f30 = var_r26->unk_00.unk_6C.z - var_r25->unk_2C.z; + if (200.0f < sqrtf((var_f31 * var_f31) + (var_f30 * var_f30))) { + break; + } + } + } + (void)var_r31; + (void)var_r31; + (void)var_r31; +} + +void fn_1_5BAC(UnkM432DllStruct *arg0, omObjData *object, UnkM432DllBss0SubStruct *arg2, UnkM432DllBss0SubStruct *arg3) +{ + Vec sp14; + Vec sp8; + float var_f31; + + var_f31 = arg2->unk_20.y; + if (25.0f <= arg3->unk_38) { + var_f31 -= 400.0f; + } + else { + var_f31 -= 8.0f * arg3->unk_38; + } + if ((arg2->unk_20.y == var_f31) && (0.0f > arg2->unk_2C.y) && (-1.0f < arg2->unk_2C.y)) { + arg2->unk_2C.y = 0.0f; + HuAudFXPlay(0x699); + } + arg2->unk_2C.y += 0.25f * (var_f31 - arg2->unk_2C.y); + if ((arg2->unk_40 < 0) && ((arg2->unk_20.y - 200.0f) > arg2->unk_2C.y)) { + fn_1_52B8_inline(&sp8, arg2->unk_2C.x - 80.0f, arg2->unk_20.y, arg2->unk_2C.z); + fn_1_52B8_inline(&sp14, 80.0f + arg2->unk_2C.x, arg2->unk_20.y, arg2->unk_2C.z); + fn_1_174(lbl_1_bss_404, &lbl_1_data_1814, 4, 4, 2, &sp8, 0); + HuAudFXPlay(0x69A); + } + Hu3DModelPosSet(object->model[arg2->unk_08], arg2->unk_2C.x, arg2->unk_2C.y, arg2->unk_2C.z); + if ((arg2->unk_20.y - 399.0f) > arg2->unk_2C.y) { + arg0->unk_17C++; + arg2->unk_14 = 0; + } +} + +void fn_1_5F2C(UnkM432DllStruct *arg0, UnkM432DllBss0SubStruct *arg1) +{ + float var_f31; + float var_f30; + UnkBss0Struct *var_r28; + s32 var_r25; + s32 var_r22; + char *var_r24; + + if ((arg0->unk_180 == 0x7D3) && !(arg1->unk_2C.y <= arg0->unk_00.unk_6C.y)) { + var_r28 = &lbl_1_bss_0[arg0->unk_184 >> 1]; + var_f31 = arg0->unk_00.unk_6C.x - arg1->unk_2C.x; + var_f30 = arg0->unk_00.unk_6C.z - arg1->unk_2C.z; + if (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) < 100.0f) { + arg0->unk_00.unk_3C |= 0x18; + arg0->unk_180 = 0x7D7; + arg0->unk_C4 = NULL; + var_r22 = arg1->unk_1C; + var_r25 = var_r28->unk_1B8; + var_r24 = lbl_1_data_440[5]; + if (arg1->unk_14 & 4) { + var_r25 = var_r28->unk_1BC; + var_r24 = lbl_1_data_4C8[9]; + } + if (var_r22 == var_r25) { + arg1->unk_04 = var_r24; + } + else { + fn_1_5848(arg0, arg1); + } + arg0->unk_C8 = fn_1_5208(arg0->unk_184 >> 1, arg1); + arg0->unk_D4[arg0->unk_FC] = arg1->unk_44 - arg0->unk_17C; + arg0->unk_FC = (arg0->unk_FC + 1) % 10; + } + } +} + +void fn_1_623C(UnkBss0Struct *arg0, s32 arg1, UnkM432DllStruct *arg2, UnkM432DllStruct *arg3) +{ + UnkM432DllBss0SubStruct *sp3C; + float var_f29; + float var_f28; + float var_f27; + float var_f23; + UnkM432DllBss0SubStruct *var_r31; + UnkM432DllStruct *var_r29; + omObjData *var_r28; + s32 var_r26; + s32 var_r19; + + var_f29 = 0.0f; + var_f28 = 0.0f; + var_f27 = 0.0f; + var_r28 = arg0->unk_04; + for (var_r26 = 0; var_r26 < 2; var_r26++) { + var_r29 = fn_1_51A8((var_r26 + (arg1 * 2))); + for (var_r31 = arg0->unk_10[var_r26], var_r19 = 0; var_r19 < 0x1F; var_r19++, var_r31++) { + if (var_r31->unk_14 & 0x600) { + if (1.0f < var_r31->unk_3C) { + var_r31->unk_3C = 1.0f; + } + var_r31->unk_38 = var_r31->unk_38 + var_r31->unk_3C; + var_r31->unk_3C = var_r31->unk_3C - 0.05f; + if (0.0f > var_r31->unk_3C) { + var_r31->unk_3C = 0.0f; + } + if (var_r31->unk_14 & 0x400) { + var_f29 += var_r31->unk_38; + } + if (var_r31->unk_14 & 0x200) { + var_f28 += var_r31->unk_38; + } + } + if (var_r31->unk_14 & 0x800) { + var_f27 += var_r31->unk_38; + } + if (NULL != var_r31->unk_04) { + sp3C = fn_1_5208(arg1, var_r31); + switch (var_r31->unk_14) { + case 3: + break; + case 1: + fn_1_5BAC(var_r29, var_r28, var_r31, sp3C); + break; + case 2: + case 4: + fn_1_5F2C(var_r29, var_r31); + break; + } + } + } + } + arg0->unk_80 = 80.0f + -var_f29; + arg0->unk_84 = 160.0f + -var_f28; + fn_1_5364(arg1, var_r28); + arg0->unk_124 = var_f27; + if (1000.0f <= arg0->unk_124) { + arg0->unk_124 = 1000.0f; + } + var_f23 = lbl_1_bss_0[arg1].unk_124 * (Hu3DMotionMaxTimeGet(var_r28->model[22]) / 1000.0f); + lbl_1_bss_0[arg1].unk_128 += 0.02f * (var_f23 - lbl_1_bss_0[arg1].unk_128); + Hu3DMotionTimeSet(var_r28->model[22], lbl_1_bss_0[arg1].unk_128); + if ((lbl_1_bss_3FC < 0) && (1000.0f <= arg0->unk_124)) { + lbl_1_bss_3FC = arg2->unk_184 & 2; + arg2->unk_17C += 4; + arg3->unk_17C += 4; + } +} + +void fn_1_6D34(UnkBss0Struct *arg0, UnkM432DllStruct *arg1, Vec *arg2) +{ + float var_f31; + float var_f30; + float var_f28; + float var_f27; + s32 var_r31; + + var_f27 = 100000.0f; + for (var_r31 = 0; var_r31 < 8; var_r31++) { + var_f31 = arg1->unk_00.unk_6C.x - arg0->unk_130[var_r31].x; + var_f30 = arg1->unk_00.unk_6C.z - arg0->unk_130[var_r31].z; + var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if (var_f27 > var_f28) { + var_f27 = var_f28; + *arg2 = arg0->unk_130[var_r31]; + } + } +} + +void fn_1_6F28(UnkBss0Struct *arg0) +{ + float var_f31; + float var_f30; + float var_f26; + float var_f23; + + UnkM432DllStruct *var_r30 = arg0->unk_08->data; + + if (arg0->unk_1B4 < 0) { + fn_1_6D34(arg0, var_r30, &arg0->unk_190); + var_r30->unk_00.unk_3C |= 8; + var_r30->unk_180 = 0x7D9; + arg0->unk_190.y = 3000.0f; + arg0->unk_19C = arg0->unk_190; + arg0->unk_1B4 = 0; + Hu3DModelRotSet(arg0->unk_04->model[25], 0.0f, 0.0f, 0.0f); + Hu3DModelAttrReset(arg0->unk_04->model[25], HU3D_ATTR_DISPOFF); + } + switch (arg0->unk_1B4) { + case 0: + fn_1_40C0(&var_r30->unk_00); + var_f23 = var_r30->unk_00.unk_6C.y - arg0->unk_19C.y; + arg0->unk_190.y += 0.03f * var_f23; + if (50.0f > (0.0f > var_f23 ? -var_f23 : var_f23)) { + arg0->unk_1B4++; + arg0->unk_1A8 = arg0->unk_1C0; + arg0->unk_1A8.y += 900.0f; + arg0->unk_1A8.z -= 150.0f; + var_r30->unk_00.unk_6C = arg0->unk_19C; + var_r30->unk_00.unk_9C = 0.0f; + Hu3DMotionShiftSet(arg0->unk_08->model[0], arg0->unk_08->motion[6], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + } + break; + case 1: + if (50.0f > (0.0f > (arg0->unk_1A8.y - arg0->unk_190.y) ? -(arg0->unk_1A8.y - arg0->unk_190.y) : arg0->unk_1A8.y - arg0->unk_190.y)) { + arg0->unk_1B4++; + } + break; + case 2: + arg0->unk_1A8.y += 0.1f * (((900.0f + arg0->unk_1C0.y) - 200.0f) - arg0->unk_1A8.y); + if (((900.0f + arg0->unk_1C0.y) - 190.0f) > arg0->unk_1A8.y) { + arg0->unk_1B4++; + var_r30->unk_16C = 1; + var_r30->unk_180 = 0x7D3; + fn_1_4ED8(&var_r30->unk_00, 0); + var_r30->unk_00.unk_3C |= 0x210; + if (NULL != arg0->unk_0C) { + arg0->unk_1B4 = 4; + arg0->unk_08 = arg0->unk_0C; + var_r30 = arg0->unk_08->data; + fn_1_6D34(arg0, var_r30, &arg0->unk_1A8); + var_r30->unk_00.unk_3C |= 8; + var_r30->unk_180 = 0x7D9; + } + } + break; + case 3: + arg0->unk_1A8.y += 10.0f; + if ((2000.0f + arg0->unk_1C0.y) < arg0->unk_1A8.y) { + arg0->unk_08 = NULL; + Hu3DModelAttrSet(arg0->unk_04->model[25], HU3D_ATTR_DISPOFF); + return; + } + break; + case 4: + fn_1_40C0(&var_r30->unk_00); + var_f31 = arg0->unk_1A8.x - arg0->unk_190.x; + var_f30 = arg0->unk_1A8.z - arg0->unk_190.z; + arg0->unk_190.x += 0.05f * var_f31; + arg0->unk_190.y += 0.01f * (arg0->unk_1A8.y - arg0->unk_190.y); + arg0->unk_190.z += 0.05f * var_f30; + if (20.0f > sqrtf((var_f31 * var_f31) + (var_f30 * var_f30))) { + arg0->unk_19C = arg0->unk_190; + arg0->unk_1B4 = 0; + } + break; + } + if ((arg0->unk_1B4 > 0) && (arg0->unk_1B4 < 4)) { + if (arg0->unk_1B4 < 3) { + var_r30->unk_00.unk_6C = arg0->unk_19C; + fn_1_2DD4(&var_r30->unk_00); + } + var_f23 = 0.03f * (arg0->unk_1A8.y - arg0->unk_190.y); + arg0->unk_190.y += var_f23; + if (arg0->unk_1C0.y < arg0->unk_190.y) { + var_f26 = (arg0->unk_1A8.y - arg0->unk_190.y) / 900.0f; + if (0.1f > var_f26) { + var_f26 = 0.1f; + } + if (1.0f < var_f26) { + var_f26 = 1.0f; + } + var_f26 = 1.0f - var_f26; + arg0->unk_190.x += 0.03f * var_f26 * (arg0->unk_1A8.x - arg0->unk_190.x); + arg0->unk_190.z += 0.03f * var_f26 * (arg0->unk_1A8.z - arg0->unk_190.z); + } + } + Hu3DModelPosSet(arg0->unk_04->model[25], arg0->unk_190.x, arg0->unk_190.y, arg0->unk_190.z); + fn_1_1D18(arg0->unk_04->model[25], "g008m2_000-itemhook_sao", &arg0->unk_19C); +} + +void fn_1_7C1C(UnkBss0Struct *var_r31, UnkM432DllStruct *var_r30, UnkM432DllStruct *var_r29) +{ + float var_f31; + float var_f30; + + if ((var_r31->unk_7C == 0.0f) && ((0.0f < var_r31->unk_70) || (0.0f > var_r31->unk_74))) { + if (0.0f < var_r31->unk_70) { + var_r31->unk_28.y += 0.05f * (var_r31->unk_70 - var_r31->unk_28.y); + if (2.0f + > (0.0f > (var_r31->unk_70 - var_r31->unk_28.y) ? -(var_r31->unk_70 - var_r31->unk_28.y) : var_r31->unk_70 - var_r31->unk_28.y)) { + var_r31->unk_28.y = var_r31->unk_70; + var_r31->unk_70 = 0.0f; + } + } + if (0.0f > var_r31->unk_74) { + var_r31->unk_28.z += 0.05f * (var_r31->unk_74 - var_r31->unk_28.z); + if (2.0f + > (0.0f > (var_r31->unk_74 - var_r31->unk_28.z) ? -(var_r31->unk_74 - var_r31->unk_28.z) : var_r31->unk_74 - var_r31->unk_28.z)) { + var_r31->unk_28.z = var_r31->unk_74; + var_r31->unk_74 = 0.0f; + } + } + } + else { + var_f30 = var_r31->unk_1EC / var_r31->unk_1E8; + if (265.0f > var_f30) { + var_f31 = 0.2f * (265.0f - var_f30); + if (1.0f <= (0.0f > var_f31 ? -var_f31 : var_f31)) { + var_r31->unk_28.z -= var_f31; + } + } + switch (var_r31->unk_18) { + case 0: + if ((-7100.0f > var_r31->unk_28.z) && ((-7750.0f < var_r31->unk_1F0[0]) || (-7750.0f < var_r31->unk_1F0[1]))) { + var_r31->unk_28.z = -7100.0f; + } + if ((-7750.0f >= var_r31->unk_1F0[0]) && (-7750.0f >= var_r31->unk_1F0[1])) { + var_r31->unk_18++; + var_r31->unk_74 = -8700.0f; + var_r30->unk_17C += 3; + var_r30->unk_15C = -7750.0f; + var_r29->unk_17C += 3; + var_r29->unk_15C = -7750.0f; + fn_1_1D18(var_r31->unk_04->model[3], "m432_00-n1", &var_r31->unk_1C0); + return; + } + break; + case 1: + if ((-9500.0f > var_r31->unk_28.z) && ((-10200.0f < var_r31->unk_1F0[0]) || (-10200.0f < var_r31->unk_1F0[1]))) { + var_r31->unk_28.z = -9500.0f; + } + if ((-10200.0f >= var_r31->unk_1F0[0]) && (-10200.0f >= var_r31->unk_1F0[1])) { + var_r31->unk_18++; + var_r31->unk_74 = -11100.0f; + var_r30->unk_17C += 3; + var_r30->unk_15C = -10200.0f; + var_r29->unk_17C += 3; + var_r29->unk_15C = -10200.0f; + return; + } + break; + case 2: + if ((-11500.0f > var_r31->unk_28.z) && ((-12300.0f < var_r31->unk_1F0[0]) || (-12300.0f < var_r31->unk_1F0[1]))) { + var_r31->unk_28.z = -11500.0f; + } + if ((NULL != var_r30->unk_C8) && (var_r30->unk_C8->unk_14 & 8) && (NULL != var_r29->unk_C8) && ((var_r29->unk_C8->unk_14 & 8) != 0) + && (var_r30->unk_00.unk_38 == 0) && (var_r29->unk_00.unk_38 == 0)) { + var_r31->unk_18++; + var_r31->unk_1E4 = var_r30->unk_C8->unk_2C.y; + var_r31->unk_74 = -13500.0f; + var_r31->unk_70 = var_r30->unk_C8->unk_2C.y; + var_r30->unk_17C += 6; + var_r29->unk_17C += 6; + return; + } + break; + case 3: + if ((-13700.0f > var_r31->unk_28.z) && ((-14400.0f < var_r31->unk_1F0[0]) || (-14400.0f < var_r31->unk_1F0[1]))) { + var_r31->unk_28.z = -13700.0f; + } + if ((NULL != var_r30->unk_C8) && (var_r30->unk_C8->unk_14 & 0x10) && (NULL != var_r29->unk_C8) && (var_r29->unk_C8->unk_14 & 0x10) + && (var_r30->unk_00.unk_38 == 0) && (var_r29->unk_00.unk_38 == 0)) { + var_r31->unk_18++; + var_r31->unk_1E4 = var_r30->unk_C8->unk_2C.y; + var_r31->unk_74 = -15700.0f; + var_r31->unk_78 = 0.0f; + var_r31->unk_7C = 120.0f; + var_r31->unk_4C = var_r31->unk_28; + var_r31->unk_34 = var_r31->unk_1C; + var_r31->unk_58.x = var_r31->unk_28.x; + var_r31->unk_58.y = 400.0f + var_r30->unk_C8->unk_2C.y; + var_r31->unk_58.z = -15700.0f; + var_r31->unk_40 = var_r31->unk_58; + var_r31->unk_40.y = 800.0f + var_r30->unk_C8->unk_2C.y; + var_r31->unk_40.z += 3800.0f; + var_r30->unk_17C += 0xA; + var_r30->unk_148 = 0.0f; + fn_1_52B8(&lbl_1_bss_0[var_r30->unk_184 >> 1].unk_10[var_r30->unk_184 & 1][0x1B], &var_r30->unk_13C); + var_r29->unk_17C += 0xA; + var_r29->unk_148 = 0.0f; + fn_1_52B8(&lbl_1_bss_0[var_r29->unk_184 >> 1].unk_10[var_r29->unk_184 & 1][0x1B], &var_r29->unk_13C); + } + break; + } + } +} + +s32 fn_1_8540(UnkM432DllStruct *arg0) +{ + if (arg0->unk_17C >= 0x1F) { + return -1; + } + if (arg0->unk_17C >= 0x1B) { + return 3; + } + if (arg0->unk_17C >= 0xB) { + return 2; + } + if (arg0->unk_17C >= 5) { + return 1; + } + if (arg0->unk_17C >= 1) { + return 0; + } + return -1; +} + +UnkM432DllBss0SubStruct *fn_1_85AC(UnkM432DllStruct *arg0, UnkBss0Struct *arg1) +{ + UnkM432DllBss0SubStruct *var_r31 = arg1->unk_10[arg0->unk_184 & 1]; + s32 var_r30; + for (var_r30 = 0; var_r30 < 0x1F; var_r30++, var_r31++) { + if ((arg0->unk_17C <= var_r30) && (var_r31->unk_14 & 0xF00)) { + return var_r31; + } + } + return NULL; +} + +float fn_1_861C(UnkM432DllStruct *arg0, UnkBss0Struct *arg1, Vec *arg2) +{ + float var_f31; + float var_f30; + float var_f27; + float var_f28; + s32 var_r31; + + var_f28 = 100000.0f; + for (var_r31 = 0; var_r31 < 4; var_r31++) { + var_f31 = arg0->unk_00.unk_6C.x - arg1->unk_88[var_r31][1].x; + var_f30 = arg0->unk_00.unk_6C.z - arg1->unk_88[var_r31][1].z; + var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if (var_f28 > var_f27) { + var_f28 = var_f27; + *arg2 = arg1->unk_88[var_r31][1]; + } + } + return var_f28; +} + +void fn_1_8814(UnkM432DllStruct *arg0, s32 arg1, Vec *arg2) +{ + float var_f31; + float var_f30; + float var_f28; + float var_f27; + + var_f27 = 72.0f * arg0->unk_CC->unk_04; + var_f31 = arg2->x - arg0->unk_00.unk_6C.x; + var_f30 = arg2->z - arg0->unk_00.unk_6C.z; + var_f31 *= 4.0f; + var_f30 *= 4.0f; + var_f28 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if (var_f27 < var_f28) { + var_f31 = var_f27 * (var_f31 / var_f28); + var_f30 = var_f27 * (var_f30 / var_f28); + } + arg0->unk_00.unk_20 = var_f31; + arg0->unk_00.unk_24 = -var_f30; +} + +void fn_1_8A14(UnkM432DllStruct *arg0, s32 arg1, UnkM432DllBss0SubStruct *arg2) +{ + Vec spC; + + if (NULL != arg2) { + spC = arg2->unk_2C; + if (arg2->unk_14 & 0xF00) { + fn_1_52B8(arg2, &spC); + } + fn_1_8814(arg0, 0, &spC); + } +} + +UnkM432DllBss0SubStruct *fn_1_8CB4(UnkM432DllStruct *arg0, UnkM432DllStruct *arg1, UnkBss0Struct *arg2) +{ + s32 var_r30; + UnkM432DllBss0SubStruct *var_r29; + s32 var_r28; + s32 var_r27; + s32 var_r26; + s32 var_r25; + s32 var_r24; + s32 var_r21; + s32 var_r20; + s32 var_r19; + + var_r29 = NULL; + if (arg0->unk_17C < 0x1F) { + var_r29 = &arg2->unk_10[arg0->unk_184 & 1][arg0->unk_17C]; + } + if (NULL == var_r29) { + return NULL; + } + if (var_r29->unk_14 & 2) { + var_r28 = 5; + var_r27 = arg2->unk_1B8; + var_r26 = 0; + var_r25 = 5; + } + else { + var_r28 = 9; + var_r27 = arg2->unk_1BC; + var_r26 = 0; + var_r25 = 9; + if (-14100.0f < arg0->unk_00.unk_6C.z) { + var_r26 = 3; + var_r25 = 9; + } + if (-13700.0f < arg0->unk_00.unk_6C.z) { + var_r26 = 0; + var_r25 = 6; + } + if (-13300.0f < arg0->unk_00.unk_6C.z) { + var_r26 = 0; + var_r25 = 3; + } + } + var_r30 = frandmod(var_r28); + for (var_r21 = 0; var_r21 < var_r28; var_r21++) { + var_r30 = (var_r30 + 1) % var_r28; + if ((var_r26 <= var_r30) && (var_r25 > var_r30) + && ((arg0->unk_100 != 0) || ((var_r27 != var_r30) && (((var_r29->unk_14 & 4) == 0) || (var_r30 <= 3))))) { + var_r24 = arg0->unk_FC; + var_r19 = 0; + for (var_r20 = 0; var_r20 < arg0->unk_CC->unk_18; var_r20++) { + var_r24--; + if (var_r24 < 0) { + var_r24 += 0xA; + } + if (var_r30 == arg0->unk_D4[var_r24]) { + var_r19 = 1; + } + } + if (var_r19 == 0) { + break; + } + } + } + if ((var_r21 == var_r28) || (var_r27 == var_r30)) { + var_r30 = frandmod(var_r28); + while (var_r30 == var_r27) { + var_r30 = (var_r30 + 1) % var_r28; + } + } + if (arg0->unk_CC->unk_1C < arg0->unk_100) { + var_r30 = var_r27; + } + if (NULL != arg1->unk_C8) { + if (var_r29->unk_14 & 2) { + if (arg1->unk_C8->unk_14 & 8) { + var_r30 = var_r27; + } + } + else if (arg1->unk_C8->unk_14 & 0x10) { + var_r30 = var_r27; + } + } + arg0->unk_100++; + (void)var_r26; + (void)var_r25; + return &var_r29[var_r30]; +} + +void fn_1_8F3C(UnkM432DllStruct *arg0, UnkBss0Struct *arg1, UnkM432DllBss0SubStruct *arg2, Vec *arg3) +{ + *arg3 = arg2->unk_2C; + if (arg0->unk_00.unk_48 >= 0x14) { + if (-12200.0f < arg0->unk_00.unk_6C.z) { + arg3->x = arg1->unk_28.x; + } + else if ((-13300.0f < arg0->unk_00.unk_6C.z) && (-13400.0f > arg2->unk_2C.z)) { + arg3->x = arg1->unk_28.x - 500.0f; + } + else if ((-13700.0f < arg0->unk_00.unk_6C.z) && (-13800.0f > arg2->unk_2C.z)) { + arg3->x = 500.0f + arg1->unk_28.x; + } + else if ((-13500.0f > arg0->unk_00.unk_6C.z) && (-13400.0f < arg2->unk_2C.z)) { + arg3->x = 500.0f + arg1->unk_28.x; + return; + } + } +} + +void fn_1_906C(UnkM432DllStruct *var_r31, UnkM432DllBss0SubStruct *var_r27) +{ + float var_f31; + s32 var_r30; + s32 var_r29; + s32 var_r28; + + var_r30 = 0; + var_r29 = 0; + var_r28 = 0; + switch (var_r27->unk_14 & 0xF00) { + case 0x100: + var_r30 = 0x200; + var_r29 = 0x200; + break; + case 0x400: + var_r30 = 0x800; + var_r29 = 0x800; + var_r28 = 1; + break; + case 0x200: + var_r30 = 0x400; + var_r29 = 0x400; + var_r28 = 1; + break; + case 0x800: + if ((var_r31->unk_CC->unk_14 >= var_r31->unk_154) && (var_r31->unk_CC->unk_10 > var_r31->unk_158)) { + var_r31->unk_00.unk_34 = 0x96; + } + else if ((var_r31->unk_CC->unk_10 <= var_r31->unk_154) && (var_r31->unk_CC->unk_14 >= var_r31->unk_158)) { + var_r31->unk_00.unk_34 = 0x96; + } + else { + var_r31->unk_00.unk_30 = 0x96; + } + if (var_r31->unk_CC->unk_0C < frandf()) { + var_r31->unk_104 *= 0.99f; + } + if (var_r31->unk_CC->unk_00 > lbl_1_bss_57C) { + var_r31->unk_104 *= 0.99f; + } + else { + var_r31->unk_104 *= 1.01f; + } + if (0.5f > var_r31->unk_104) { + var_r31->unk_104 = 0.5f; + } + if (1.0f < var_r31->unk_104) { + var_r31->unk_104 = 1.0f; + } + var_r31->unk_00.unk_30 = var_r31->unk_00.unk_30 * var_r31->unk_104; + var_r31->unk_00.unk_34 = var_r31->unk_00.unk_34 * var_r31->unk_104; + break; + } + var_r31->unk_108 -= 1.0f; + if (0.0f > var_r31->unk_108) { + var_f31 = var_r31->unk_CC->unk_08; + if ((var_r28 != 0) && (GWPlayerCfg[var_r31->unk_188].diff == 3)) { + var_f31 = lbl_1_data_17D4.unk_08; + } + var_r31->unk_108 = var_f31 * (0.9f + (frandf() / 2)); + var_r31->unk_00.unk_28 |= var_r30; + var_r31->unk_00.unk_2C |= var_r29; + } +} + +void fn_1_93BC(UnkM432DllStruct *arg0) +{ + Vec spF8; + float spD0; + + float var_f31; + float var_f30; + + UnkM432DllBss0SubStruct *var_r30; + UnkBss0Struct *var_r29; + UnkM432DllBss0SubStruct *var_r28; + UnkM432DllStruct *var_r27; + s32 var_r20; + + if (NULL != arg0->unk_CC) { + var_r27 = fn_1_51A8(arg0->unk_184 ^ 1); + var_r29 = &lbl_1_bss_0[arg0->unk_184 >> 1]; + var_r20 = 1; + switch (fn_1_8540(arg0)) { + case 0: + var_r30 = fn_1_85AC(arg0, var_r29); + fn_1_8A14(arg0, 0, var_r30); + break; + case 1: + var_r28 = fn_1_85AC(arg0, var_r29); + if (NULL != var_r28) { + var_r30 = var_r28; + if (((NULL == arg0->unk_C8) && (NULL != var_r27->unk_C8)) || ((var_r28->unk_2C.z - 400.0f) > arg0->unk_00.unk_6C.z)) { + var_r30++; + } + else if ((var_r28->unk_2C.z - 1350.0f) > var_r27->unk_00.unk_6C.z) { + var_r30++; + var_r20 = 0; + } + if ((1400.0f < (var_r28->unk_2C.z - arg0->unk_00.unk_6C.z)) && (1400.0f < (var_r28->unk_2C.z - var_r27->unk_00.unk_6C.z))) { + var_r20 = 0; + arg0->unk_00.unk_24 = 0x48; + } + else { + if (((var_r28->unk_2C.z - 175.0f) > arg0->unk_00.unk_6C.z) && ((var_r28->unk_2C.z - 1350.0f) < arg0->unk_00.unk_6C.z)) { + if (((var_r29->unk_28.x - 20.0f) < arg0->unk_00.unk_6C.x) && ((20.0f + var_r29->unk_28.x) > arg0->unk_00.unk_6C.x) + && ((var_r28->unk_2C.z - 1000.0f) > arg0->unk_00.unk_6C.z)) { + arg0->unk_00.unk_24 = 0x48; + } + if ((var_r28->unk_2C.z - 1100.0f) > arg0->unk_00.unk_6C.z) { + arg0->unk_00.unk_28 |= 0x100; + arg0->unk_00.unk_2C |= 0x100; + fn_1_8A14(arg0, 0, var_r30); + } + else { + spD0 = fn_1_861C(arg0, var_r29, &spF8); + if ((arg0->unk_00.unk_BC < spD0) && (400.0f > spD0)) { + arg0->unk_00.unk_28 |= 0x100; + arg0->unk_00.unk_2C |= 0x100; + fn_1_8814(arg0, 0, &spF8); + } + } + } + else { + fn_1_8A14(arg0, 0, var_r30); + } + if (((var_r28->unk_2C.z - 175.0f) < arg0->unk_00.unk_6C.z) && (arg0->unk_00.unk_A8 < arg0->unk_00.unk_6C.y)) { + arg0->unk_00.unk_20 = 0; + arg0->unk_00.unk_24 = 0; + } + } + } + break; + case 2: + var_r20 = 0; + arg0->unk_10C -= 1.0f; + if (NULL == arg0->unk_D0) { + arg0->unk_D0 = fn_1_8CB4(arg0, var_r27, var_r29); + } + if (arg0->unk_10C == 1.0f) { + arg0->unk_D0 = fn_1_8CB4(arg0, var_r27, var_r29); + } + if (NULL != arg0->unk_D0) { + fn_1_8F3C(arg0, var_r29, arg0->unk_D0, &spF8); + fn_1_8814(arg0, 0, &spF8); + if (arg0->unk_00.unk_3C & 1) { + arg0->unk_10C = 20.0f + (20.0f * (arg0->unk_184 & 1)); + } + var_f31 = arg0->unk_00.unk_6C.x - arg0->unk_D0->unk_2C.x; + var_f30 = arg0->unk_00.unk_6C.z - arg0->unk_D0->unk_2C.z; + spD0 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if ((200.0f > spD0) || (arg0->unk_00.unk_4C > 0x14) || (arg0->unk_00.unk_48 > 0xC8)) { + arg0->unk_00.unk_28 |= 0x100; + arg0->unk_00.unk_2C |= 0x100; + } + if (50.0f > spD0) { + arg0->unk_00.unk_20 = 0; + arg0->unk_00.unk_24 = 0; + } + if (0.0f < arg0->unk_10C) { + arg0->unk_00.unk_20 = 0; + arg0->unk_00.unk_24 = 0; + arg0->unk_00.unk_28 &= 0xFFFFFEFF; + arg0->unk_00.unk_2C &= 0xFFFFFEFF; + } + } + break; + case 3: + var_r30 = fn_1_85AC(arg0, var_r29); + break; + } + if ((var_r20 != 0) && (NULL != var_r30)) { + fn_1_906C(arg0, var_r30); + } + } +} + +float fn_1_A974(UnkM432DllStruct *var_r31) +{ + Vec sp14; + Vec sp8; + + sp14 = var_r31->unk_00.unk_6C; + sp14.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.y; + Hu3D3Dto2D(&sp14, lbl_1_data_A0[var_r31->unk_184 >> 1], &sp8); + return sp8.y; +} + +WorkPlayerOld *fn_1_AA00(int no) +{ + return &((UnkM432DllStruct *)lbl_1_bss_410[no]->data)->unk_00; +} + +void fn_1_AA1C(omObjData *object) +{ + float var_f31; + UnkM432DllStruct *var_r31; + UnkM432DllBss0SubStruct *var_r30; + s32 var_r29; + + var_r31 = object->data; + var_f31 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.z - 750.0f; + if (var_f31 > var_r31->unk_00.unk_6C.z) { + var_r31->unk_00.unk_6C.z = var_f31; + } + var_f31 = 900.0f + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.z; + if (var_f31 < var_r31->unk_00.unk_6C.z) { + var_r31->unk_00.unk_6C.z = var_f31; + } + if (var_r31->unk_15C < var_r31->unk_00.unk_6C.z) { + var_r31->unk_00.unk_6C.z = var_r31->unk_15C; + } + var_r30 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_10[var_r31->unk_184 & 1]; + if ((var_r31->unk_184 & 1) != 0) { + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 = 0.0f; + } + for (var_r29 = 0; var_r29 < 0x1F; var_r29++, var_r30++) { + if ((var_r31->unk_17C <= var_r29) && ((var_r30->unk_14 & 1) != 0)) { + var_f31 = 170.0f + var_r30->unk_2C.z; + if (var_f31 > var_r31->unk_00.unk_6C.z) { + var_r31->unk_00.unk_6C.z = var_f31; + } + if ((var_r31->unk_184 & 1) && (lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 > (var_r30->unk_2C.z - 170.0f))) { + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 = var_r30->unk_2C.z - 170.0f; + } + } + } + if (((var_r31->unk_184 & 1) == 0) && (lbl_1_bss_0[var_r31->unk_184 >> 1].unk_28.x < var_r31->unk_00.unk_6C.x) + && (0.0f > lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0) && (lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0 < var_r31->unk_00.unk_6C.z)) { + var_r31->unk_00.unk_6C.z = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E0; + } +} + +Vec *fn_1_ACC8(omObjData *object) +{ + float var_f31; + float var_f30; + float var_f27; + + UnkM432DllStruct *var_r31; + UnkBss0Struct *var_r30; + s32 var_r29; + UnkM432DllStruct *var_r28; + + var_r28 = object->data; + var_r31 = var_r28; + var_r30 = &lbl_1_bss_0[var_r28->unk_184 >> 1]; + for (var_r29 = 0; var_r29 < 4; var_r29++) { + if ((var_r31->unk_00.unk_6C.y <= var_r30->unk_88[var_r29][1].y) + && ((var_r31->unk_00.unk_6C.y + (var_r31->unk_00.unk_BC / 2)) >= var_r30->unk_88[var_r29][1].y)) { + var_f31 = var_r31->unk_00.unk_6C.x - var_r30->unk_88[var_r29][1].x; + var_f30 = var_r31->unk_00.unk_6C.z - var_r30->unk_88[var_r29][1].z; + var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if (var_f27 < (var_r31->unk_00.unk_BC + var_r30->unk_88[var_r29][2].y)) { + return &var_r30->unk_88[var_r29][0]; + } + } + } + return NULL; +} + +void fn_1_AF28(omObjData *object) +{ + UnkM432DllStruct *var_r31 = object->data; + var_r31->unk_16C = 0; + var_r31->unk_00.unk_3C &= 0xFFFFFFEF; + fn_1_4ED8(&var_r31->unk_00, 0); +} + +#include "src/REL/executor.c" + +void fn_1_B234(void) +{ + UnkM432DllStruct *var_r31; + s32 var_r30; + u32 var_r29; + u32 var_r28; + + if (HuPadBtn[0] & 2) { + lbl_1_bss_57C = 0x4650; + } + print8(0x18, 0x20, 1.5f, "COUNT:%d MODE:%d MES:%d", lbl_1_bss_580, lbl_1_bss_41C->work[0], lbl_1_bss_576); + print8(0x18, 0x30, 1.5f, "%f %f %f %f", lbl_1_bss_0[0].unk_64, lbl_1_bss_0[0].unk_68, lbl_1_bss_0[0].unk_6C, lbl_1_bss_0[0].unk_28.z); + print8(0x18, 0x40, 1.5f, "%f %f %f %f", lbl_1_bss_0[1].unk_64, lbl_1_bss_0[1].unk_68, lbl_1_bss_0[1].unk_6C, lbl_1_bss_0[0].unk_28.z); + print8(0x18, 0x50, 1.5f, "%x %x", HuMemHeapSizeGet(HEAP_SYSTEM) - HuMemUsedMallocSizeGet(HEAP_SYSTEM), + HuMemHeapSizeGet(HEAP_DATA) - HuMemUsedMallocSizeGet(HEAP_DATA)); + for (var_r30 = 0; var_r30 < 4; var_r30++) { + var_r31 = lbl_1_bss_410[var_r30]->data; + print8(0x18, (var_r30 * 0x10) + 0x70, 1.5f, "%d %d %04x %.3f (%.3f %.3f %.3f)", var_r31->unk_180, var_r31->unk_00.unk_38, + var_r31->unk_00.unk_3C, var_r31->unk_00.unk_A8, var_r31->unk_00.unk_6C.x, var_r31->unk_00.unk_6C.y, var_r31->unk_00.unk_6C.z); + } +} + +void fn_1_B458(omObjData *object) +{ + Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + fn_1_24(0x1000, object->model[0]); + omDelObjEx(lbl_1_bss_5B4, object); + lbl_1_bss_402--; +} + +void fn_1_B518(omObjData *object) +{ + float var_f31; + float var_f30; + float var_f29; + float var_f28; + + UnkM432DllStruct2 *var_r31; + + var_r31 = object->data; + var_r31->unk_10 += 1.0f; + if (30.0f <= var_r31->unk_10) { + fn_1_B458(object); + return; + } + if (10.0f > var_r31->unk_10) { + var_f31 = var_r31->unk_10 / 10.0f; + var_f30 = 0.0f; + } + else { + var_f31 = 1.0f; + var_f30 = (var_r31->unk_10 - 10.0f) / 20.0f; + } + var_f29 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); + var_f28 = sind((90.0f * var_f30)) * sind((90.0f * var_f30)); + omSetTra(object, var_r31->unk_00.x + (var_r31->unk_14 * var_f29), var_r31->unk_00.y, var_r31->unk_00.z + (var_r31->unk_18 * var_f28)); +} + +void fn_1_B7E4(omObjData *object) +{ + UnkM432DllStruct2 *var_r30; + UnkBss5D0Struct *var_r29; + UnkBss5D0Struct *var_r28; + UnkBss5D0Struct *var_r27; + s16 var_r26; + s16 var_r25; + s16 var_r24; + + var_r26 = fn_1_AC(0x1000); + if (var_r26 < 0) { + object->model[0] = Hu3DModelLink(lbl_1_bss_400); + } + else { + object->model[0] = var_r26; + } + var_r30 = object->data; + var_r30->unk_10 = 0.0f; + Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + Hu3DModelLayerSet(object->model[0], 3); + omSetTra(object, var_r30->unk_00.x, var_r30->unk_00.y, var_r30->unk_00.z); + omSetRot(object, 0.0f, 0.0f, 0.0f); + omSetSca(object, var_r30->unk_0C, var_r30->unk_0C, var_r30->unk_0C); + Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); + object->func = fn_1_B518; +} + +void fn_1_B974(Vec *arg0, float arg8, float arg9) +{ + UnkM432DllStruct2 *var_r31; + omObjData *var_r30; + + if (lbl_1_bss_402 < 0xF0) { + lbl_1_bss_402++; + var_r30 = omAddObjEx(lbl_1_bss_5B4, 0x67, 1, 0, 3, fn_1_B7E4); + var_r30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM432DllStruct2), 0x10000000); + var_r31 = var_r30->data; + var_r31->unk_00 = *arg0; + var_r31->unk_00.x += 30.0f * arg9; + var_r31->unk_0C = 1.0f + arg8; + var_r31->unk_14 = 70.0f * arg9; + var_r31->unk_18 = -675.0f; + } +} + +void fn_1_BAA8(UnkM432DllStruct *arg0) +{ + Vec sp20; + Vec sp14; + float var_f31; + float var_f30; + + s32 *var_r29; + s32 var_r27; + + sp20 = arg0->unk_00.unk_6C; + sp20.y += 220.0f; + fn_1_1A60(&sp20, lbl_1_data_A0[arg0->unk_184 >> 1], &sp14); + + arg0->unk_110 = sp14.x; + arg0->unk_114 = sp14.y; + if (NULL != arg0->unk_C4) { + var_f31 = 0.0f; + var_f30 = 0.0f; + for (var_r29 = arg0->unk_C4, var_r27 = 1; var_r29[0] >= 0; var_r29 += 3) { + espPosSet(arg0->unk_118[var_r29[0]], var_r29[1] + (arg0->unk_110 + var_f31), var_r29[2] + (arg0->unk_114 + var_f30)); + espDispOn(arg0->unk_118[var_r29[0]]); + if (var_r27 != 0) { + var_r27 = 0; + var_f31 = var_r29[1]; + var_f30 = var_r29[2]; + } + } + } +} + +s32 fn_1_BF08(UnkM432DllStruct *arg0) +{ + switch (arg0->unk_C8->unk_14 & 0xF00) { + case 0x100: + if (arg0->unk_00.unk_28 & 0x200) { + return 0x7D4; + } + break; + case 0x400: + if (arg0->unk_00.unk_28 & 0x800) { + return 0x7D5; + } + break; + case 0x200: + if (arg0->unk_00.unk_28 & 0x400) { + return 0x7D5; + } + break; + case 0x800: + return 0x7D6; + } + return 0x7D3; +} + +void fn_1_BF9C(UnkM432DllStruct *arg0) +{ + Vec spC; + float var_f31; + float var_f30; + float var_f26; + + UnkM432DllStruct *var_r31; + + var_r31 = arg0; + var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 180.0f + arg0->unk_C8->unk_18, 0.4f); + fn_1_52B8(arg0->unk_C8, &spC); + var_f31 = spC.x - var_r31->unk_00.unk_6C.x; + var_f30 = spC.z - var_r31->unk_00.unk_6C.z; + var_f26 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if (10.0f <= var_f26) { + var_f31 = 10.0f * (var_f31 / var_f26); + var_f30 = 10.0f * (var_f30 / var_f26); + } + var_r31->unk_00.unk_6C.x += var_f31; + var_r31->unk_00.unk_6C.z += var_f30; +} + +void fn_1_C33C(UnkM432DllStruct *arg0) +{ + Vec spC; + float sp8; + float var_f31; + float var_f30; + float var_f27; + UnkM432DllBss0SubStruct *var_r30; + s32 var_r29; + s32 *var_r28; + UnkM432DllStruct *var_r27; + + var_r28 = NULL; + if (arg0->unk_00.unk_38 == 0) { + for (var_r30 = lbl_1_bss_0[arg0->unk_184 >> 1].unk_10[arg0->unk_184 & 1], var_r29 = 0; var_r29 < 0x1F; var_r29++, var_r30++) + if ((arg0->unk_17C <= var_r29) && (var_r30->unk_14 & 0xF00) && (((var_r30->unk_14 & 0x700) == 0) || !(20.0f < arg0->unk_00.unk_6C.y))) { + fn_1_52B8(var_r30, &spC); + var_f31 = spC.x - arg0->unk_00.unk_6C.x; + var_f30 = spC.z - arg0->unk_00.unk_6C.z; + var_f27 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if (arg0->unk_00.unk_BC > var_f27) { + var_r27 = fn_1_51A8(arg0->unk_184 ^ 1); + if ((NULL == var_r27->unk_C8) || (var_r30->unk_08 != var_r27->unk_C8->unk_08)) { + arg0->unk_C8 = var_r30; + switch (var_r30->unk_14 & 0xF00) { + case 0x100: + var_r28 = lbl_1_data_2AC; + break; + case 0x200: + var_r28 = lbl_1_data_2D0; + break; + case 0x400: + var_r28 = lbl_1_data_2F4; + break; + case 0x800: + var_r28 = lbl_1_data_318; + break; + } + break; + } + } + } + } + + if (arg0->unk_C4 != var_r28) { + arg0->unk_C4 = var_r28; + if (NULL == var_r28) { + arg0->unk_C8 = NULL; + } + for (var_r29 = 0; var_r29 < 9; var_r29++) { + espDispOff(arg0->unk_118[var_r29]); + } + } +} + +void fn_1_C724(UnkM432DllStruct *var_r31, omObjData *var_r25, omObjData *var_r24) +{ + Vec spC; + float var_f25; + + UnkBss0Struct *var_r30; + UnkM432DllStruct *var_r29; + s32 var_r28; + void *var_r27; + s32 var_r26; + float var_f19; + + var_r30 = &lbl_1_bss_0[var_r31->unk_184 >> 1]; + fn_1_BF9C(var_r31); + if (fn_1_BF08(var_r31) == 0x7D4) { + var_r30->unk_1D4 += 1.0f - (2.0f * (var_r31->unk_14C / 60.0f)); + if (0.0f > var_r30->unk_1D4) { + var_r30->unk_1D4 = 0.0f; + } + if (1.0f < var_r30->unk_1D4) { + var_r30->unk_1D4 = 1.0f; + } + var_r31->unk_14C = 0.0f; + if (25.0f <= (var_r31->unk_C8->unk_38 += 1.0f)) { + var_r31->unk_C8->unk_38 = 25.0f; + } + omVibrate(var_r31->unk_188, 0xC, 6, 6); + } + else { + var_r31->unk_14C += 1.0f; + var_r30->unk_1D4 -= 0.016666668f; + if (0.0f > var_r30->unk_1D4) { + var_r30->unk_1D4 = 0.0f; + } + if (20.0f <= var_r31->unk_14C) { + var_r31->unk_14C = 0.0f; + if (0.0f >= (var_r31->unk_C8->unk_38 -= 1.0f)) { + var_r31->unk_C8->unk_38 = 0.0f; + } + } + } + HuAudFXPitchSet(var_r30->unk_1CC, (s32)(8191.0f * var_r30->unk_1D4)); + HuAudFXPitchSet(var_r30->unk_1D0, (s32)(8191.0f * (1.0f - (var_r31->unk_C8->unk_38 / 25.0f)))); + if (Hu3DMotionShiftIDGet(var_r25->model[0]) < 0) { + var_f25 = var_r31->unk_C8->unk_38 * (Hu3DMotionMaxTimeGet(var_r25->model[0]) / 25.0f); + Hu3DMotionTimeSet(var_r25->model[0], var_f25); + var_f25 = var_r31->unk_C8->unk_38 * (Hu3DMotionMaxTimeGet((var_r24->model[var_r31->unk_C8->unk_08])) / 25.0f); + Hu3DMotionTimeSet(var_r24->model[var_r31->unk_C8->unk_08], var_f25); + } + if ((25.0f <= var_r31->unk_C8->unk_38) || (var_r31->unk_C8->unk_38 == 0.0f)) { + if (25.0f <= var_r31->unk_C8->unk_38) { + var_r31->unk_17C++; + } + var_r31->unk_180 = 0x7D3; + fn_1_4ED8(&var_r31->unk_00, 0); + HuAudFXStop(var_r30->unk_1CC); + HuAudFXStop(var_r30->unk_1D0); + var_r30->unk_1CC = -1; + var_r30->unk_1D0 = -1; + } +} + +void fn_1_D0E0(UnkM432DllStruct *arg0, omObjData *arg1, omObjData *arg2) +{ + fn_1_BF9C(arg0); + if (fn_1_BF08(arg0) == 0x7D5) { + lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC += 1.0f - (2.0f * (arg0->unk_14C / 60.0f)); + if (0.0f > lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC) { + lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC = 0.0f; + } + if (1.0f < lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC) { + lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC = 1.0f; + } + arg0->unk_14C = 0.0f; + arg0->unk_C8->unk_3C += 3.0f; + omVibrate(arg0->unk_188, 0xC, 6, 6); + } + else { + arg0->unk_14C += 1.0f; + } + if (Hu3DMotionShiftIDGet(arg1->model[0]) < 0) { + Hu3DMotionTimeSet(arg1->model[0], 120.0 * (fmod(arg0->unk_C8->unk_38, 360.0) / 360.0)); + Hu3DMotionTimeSet( + arg2->model[arg0->unk_C8->unk_08], Hu3DMotionMaxTimeGet(arg2->model[arg0->unk_C8->unk_08]) * (fmod(arg0->unk_C8->unk_38, 360.0) / 360.0)); + } + if (20.0f <= arg0->unk_14C) { + arg0->unk_180 = 0x7D3; + fn_1_4ED8(&arg0->unk_00, 0); + } + else if (lbl_1_bss_0[arg0->unk_184 >> 1].unk_1D8 < 0) { + lbl_1_bss_0[arg0->unk_184 >> 1].unk_1DC = 0.5f; + lbl_1_bss_0[arg0->unk_184 >> 1].unk_1D8 = HuAudFXPlay((arg0->unk_184 & 2) == 0 ? 0x68E : 0x68F); + } +} + +void fn_1_D9EC(UnkM432DllStruct *arg0, omObjData *arg1, omObjData *arg2) +{ + float var_f28; + float var_f27; + float var_f23; + + fn_1_BF9C(arg0); + if ((arg0->unk_00.unk_30 <= 0) || (arg0->unk_00.unk_34 <= 0)) { + var_f27 = 0.0f; + if (arg0->unk_00.unk_30 > 0) { + var_f27 = -(arg0->unk_00.unk_30 / 150.0f); + } + if (arg0->unk_00.unk_34 > 0) { + var_f27 = arg0->unk_00.unk_34 / 150.0f; + } + if (var_f27 != 0.0f) { + if ((0.0f > var_f27 ? -1 : 1) != (0.0f > arg0->unk_150 ? -1 : 1)) { + var_f28 = arg0->unk_158 - arg0->unk_154; + if (0.0f < var_f28) { + if (0.98f < var_f28) { + var_f28 += 0.6f; + if ((arg0->unk_184 & 2) == 0) { + HuAudFXPlay(0x692); + } + else { + HuAudFXPlay(0x693); + } + } + arg0->unk_C8->unk_38 += 10.0f * var_f28; + var_f23 = var_f28; + if (0.5f > var_f23) { + var_f23 = 0.0f; + } + fn_1_B974(&arg0->unk_C8->unk_2C, var_f23 / 2, (arg0->unk_184 & 1) ? -1.0f : 1.0f); + } + arg0->unk_154 = arg0->unk_158; + } + arg0->unk_150 = var_f27; + arg0->unk_158 = arg0->unk_158 + (0.1f * arg0->unk_150); + if (0.0f > arg0->unk_158) { + arg0->unk_158 = 0.0f; + } + if (1.0f < arg0->unk_158) { + arg0->unk_158 = 1.0f; + } + } + } + if (Hu3DMotionShiftIDGet(arg1->model[0]) < 0) { + Hu3DMotionTimeSet(arg1->model[0], arg0->unk_158 * Hu3DMotionMaxTimeGet(arg1->model[0])); + Hu3DMotionTimeSet(arg2->model[arg0->unk_C8->unk_08], arg0->unk_158 * Hu3DMotionMaxTimeGet(arg2->model[arg0->unk_C8->unk_08])); + } + if (1000.0f <= lbl_1_bss_0[arg0->unk_184 >> 1].unk_124) { + arg0->unk_180 = 0x7D3; + fn_1_4ED8(&arg0->unk_00, 0); + } +} + +void fn_1_E3B4(UnkM432DllStruct *arg0, omObjData *arg1) +{ + float var_f31; + float var_f30; + s32 var_r28; + + if (arg0->unk_00.unk_38 != 0) { + fn_1_40C0(&arg0->unk_00); + return; + } + if (arg0->unk_C8->unk_14 & 0x18) { + if (((arg0->unk_C8->unk_14 & 8) && (arg0->unk_178 <= 0)) || ((arg0->unk_C8->unk_14 & 0x10) && (arg0->unk_178 <= 1))) { + arg0->unk_178++; + omVibrate(arg0->unk_188, 0xC, 4, 2); + if ((arg0->unk_184 & 2) == 0) { + HuAudFXPlay(0x690); + } + else { + HuAudFXPlay(0x691); + } + } + if ((arg0->unk_184 & 1) != 0) { + var_r28 = 1; + } + else { + var_r28 = -1; + } + arg0->unk_170 = var_r28 * 0x18; + arg0->unk_174 = 0x48; + arg0->unk_00.unk_9C = 180.0f; + if ((((arg0->unk_C8->unk_14 & 8) == 0) || !(-11100.0f < lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z)) + && (((arg0->unk_C8->unk_14 & 0x10) == 0) || !(-13500.0f < lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z))) { + var_f30 = 800.0f - (400.0f * (arg0->unk_184 & 1)); + if (0.0f > (lbl_1_bss_0[arg0->unk_184 >> 1].unk_74 - lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z)) { + var_f31 = -(lbl_1_bss_0[arg0->unk_184 >> 1].unk_74 - lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z); + } + else { + var_f31 = lbl_1_bss_0[arg0->unk_184 >> 1].unk_74 - lbl_1_bss_0[arg0->unk_184 >> 1].unk_28.z; + } + if (!(var_f30 < var_f31)) { + fn_1_5148(arg0); + HuAudCharVoicePlay(arg0->unk_18C, 0x122); + goto block_26; + } + } + } + else { + arg0->unk_170 = 0; + arg0->unk_174 = -0x48; + arg0->unk_00.unk_9C = 0.0f; + block_26: + arg0->unk_D0 = 0; + arg0->unk_D4[arg0->unk_FC] = arg0->unk_C8->unk_44 - arg0->unk_17C; + arg0->unk_FC = (arg0->unk_FC + 1) % 10; + arg0->unk_180 = 0x7D8; + arg0->unk_00.unk_6C = arg0->unk_C8->unk_2C; + arg0->unk_00.unk_6C.y -= 200.0f; + fn_1_4ED8(&arg0->unk_00, 3); + arg0->unk_00.unk_3C |= 8; + } +} + +void fn_1_E9E4(UnkM432DllStruct *arg0) +{ + float var_f31; + float var_f30; + float var_f28; + + arg0->unk_00.unk_20 = arg0->unk_170; + arg0->unk_00.unk_24 = arg0->unk_174; + arg0->unk_00.unk_28 = 0x100; + arg0->unk_00.unk_2C = 0x100; + fn_1_40C0(&arg0->unk_00); + var_f31 = arg0->unk_C8->unk_2C.x - arg0->unk_00.unk_6C.x; + var_f30 = arg0->unk_C8->unk_2C.z - arg0->unk_00.unk_6C.z; + if (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) < 100.0f) { + var_f28 = 0.0f; + if (arg0->unk_174 > 0) { + var_f28 = 100.0f; + } + if ((arg0->unk_C8->unk_2C.y + var_f28) > arg0->unk_00.unk_6C.y) { + arg0->unk_00.unk_84.y = 26.766666f; + arg0->unk_00.unk_A4 = 1.0f; + return; + } + arg0->unk_00.unk_3C &= 0xFFFFFFF7; + return; + } + if ((0.0f > arg0->unk_00.unk_84.y) && ((100.0f + arg0->unk_C8->unk_2C.y) > arg0->unk_00.unk_6C.y)) { + arg0->unk_180 = 0x7D3; + HuAudCharVoicePlay(arg0->unk_18C, 0x10D); + } +} + +void fn_1_EC7C(UnkM432DllStruct *arg0, omObjData *arg1) +{ + if ((lbl_1_bss_0[arg0->unk_184 >> 1].unk_1E4 - (arg0->unk_00.unk_BC / 2)) > arg0->unk_00.unk_6C.y) { + Hu3DModelShadowDispOff(arg1->model[0]); + return; + } + Hu3DModelShadowDispOn(arg1->model[0]); +} + +void fn_1_ED0C(omObjData *object) +{ + float var_f31; + float var_f30; + float var_f26; + UnkBss0Struct *var_r28; + UnkM432DllStruct *var_r31; + s32 var_r26; + s32 var_r22; + + var_r31 = object->data; + var_r28 = &lbl_1_bss_0[var_r31->unk_184 >> 1]; + if (lbl_1_bss_41C->work[0] >= 0x3EC) { + if (lbl_1_bss_3FC != (var_r31->unk_184 & 2)) { + var_r26 = 1; + if (var_r31->unk_00.unk_A8 < var_r31->unk_00.unk_6C.y) { + var_r26 = 0; + } + if (var_r31->unk_180 == 0x7D7) { + var_r26 = 0; + } + if (var_r31->unk_180 == 0x7D8) { + var_r26 = 0; + } + if (var_r31->unk_180 == 0x7D9) { + var_r26 = 0; + } + if ((var_r31->unk_180 == 0x7D3) && (var_r31->unk_00.unk_38 == 1)) { + var_r26 = 0; + } + if (var_r26 != 0) { + var_r31->unk_180 = 0x7DA; + if (lbl_1_bss_3FC >= 0) { + Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, HU3D_ATTR_NONE); + } + else { + var_r31->unk_168 = 1; + Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + } + } + } + else { + var_r31->unk_180 = 0x7DB; + var_r31->unk_13C.x += 100.0f * (var_r31->unk_184 & 1 ? -1.0f : 1.0f); + var_r31->unk_13C.z += -475.0f; + Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(object->model[0], object->motion[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + } + if (var_r31->unk_180 >= 0x7DA) { + for (var_r22 = 0; var_r22 < 9; var_r22++) { + espDispOff(var_r31->unk_118[var_r22]); + } + if (lbl_1_bss_3FC == (var_r31->unk_184 & 2)) { + GWPlayerCoinWinSet(var_r31->unk_188, 10); + } + object->func = fn_1_10250; + return; + } + } + if (GWPlayerCfg[var_r31->unk_188].iscom != 0) { + var_r31->unk_00.unk_20 = 0; + var_r31->unk_00.unk_24 = 0; + var_r31->unk_00.unk_28 = 0; + var_r31->unk_00.unk_2C = 0; + var_r31->unk_00.unk_30 = 0; + var_r31->unk_00.unk_34 = 0; + fn_1_93BC(var_r31); + } + else { + var_r31->unk_00.unk_20 = HuPadStkX[var_r31->unk_190]; + var_r31->unk_00.unk_24 = HuPadStkY[var_r31->unk_190]; + var_r31->unk_00.unk_28 = HuPadBtnDown[var_r31->unk_190]; + var_r31->unk_00.unk_2C = HuPadBtn[var_r31->unk_190]; + var_r31->unk_00.unk_30 = HuPadTrigL[var_r31->unk_190]; + var_r31->unk_00.unk_34 = HuPadTrigR[var_r31->unk_190]; + } + if ((var_r31->unk_180 == 0x7D3) && ((var_r31->unk_13C.x != 0.0f) || (var_r31->unk_13C.z != 0.0f))) { + var_f30 = var_r31->unk_13C.x - var_r31->unk_00.unk_6C.x; + var_f31 = var_r31->unk_13C.z - var_r31->unk_00.unk_6C.z; + if (var_r31->unk_00.unk_BC < (0.0f > var_f31 ? -var_f31 : var_f31)) { + var_f30 = 0.0f; + } + var_f26 = sqrtf((var_f30 * var_f30) + (var_f31 * var_f31)); + if (10.0f <= var_f26) { + var_f30 /= var_f26; + var_f31 /= var_f26; + } + else { + var_f30 = 0.0f; + var_f31 = 0.0f; + var_r31->unk_00.unk_9C = var_r31->unk_148; + } + var_r31->unk_00.unk_20 = 72.0f * var_f30; + var_r31->unk_00.unk_24 = 72.0f * -var_f31; + var_r31->unk_00.unk_28 = 0; + var_r31->unk_00.unk_2C = 0; + var_r31->unk_00.unk_30 = 0; + var_r31->unk_00.unk_34 = 0; + } + switch (var_r31->unk_180) { + case 0x7D3: + if ((var_r31->unk_16C != 0) && ((var_r31->unk_00.unk_3C & 0x101) != 0)) { + var_r31->unk_16C = 0; + var_r31->unk_00.unk_3C &= 0xFFFFFFEF; + fn_1_4ED8(&var_r31->unk_00, 0); + } + fn_1_40C0(&var_r31->unk_00); + fn_1_C33C(var_r31); + if ((NULL != var_r31->unk_C4) && (NULL != var_r31->unk_C8)) { + var_r31->unk_180 = fn_1_BF08(var_r31); + switch (var_r31->unk_180) { + case 0x7D4: + var_r31->unk_14C = 0.0f; + var_r31->unk_C8->unk_38 = 1.0f; + var_r28->unk_1D4 = 0.5f; + if (var_r28->unk_1CC < 0) { + var_r28->unk_1CC = HuAudFXPlay((var_r31->unk_184 & 2) == 0 ? 0x68C : 0x68D); + } + if (var_r28->unk_1D0 < 0) { + var_r28->unk_1D0 = HuAudFXPlay((var_r31->unk_184 & 2) == 0 ? 0x695 : 0x696); + } + Hu3DMotionShiftSet(object->model[0], object->motion[5], 0.0f, 8.0f, HU3D_MOTATTR_PAUSE); + break; + case 0x7D5: + var_r31->unk_14C = 0.0f; + var_r31->unk_C8->unk_3C += 3.0f; + if (var_r28->unk_1D8 < 0) { + var_r28->unk_1DC = 0.5f; + var_r28->unk_1D8 = HuAudFXPlay((var_r31->unk_184 & 2) == 0 ? 0x68E : 0x68F); + } + Hu3DMotionShiftSet( + object->model[0], object->motion[7], 120.0 * (fmod(var_r31->unk_C8->unk_38, 360.0) / 360.0), 8.0f, HU3D_MOTATTR_PAUSE); + break; + case 0x7D6: + var_r31->unk_14C = 0.0f; + var_r31->unk_150 = -1.0f; + var_r31->unk_158 = 0.0f; + var_r31->unk_154 = 0.0f; + Hu3DMotionShiftSet(object->model[0], object->motion[8], 0.0f, 8.0f, HU3D_MOTATTR_PAUSE); + break; + } + } + else if (-800.0f > var_r31->unk_00.unk_6C.y) { + var_r31->unk_00.unk_3C |= 0x10; + if (NULL == lbl_1_bss_0[var_r31->unk_184 >> 1].unk_08) { + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_08 = object; + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1B4 = -1; + } + else { + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_0C = object; + } + } + break; + case 0x7D4: + fn_1_C724(var_r31, object, lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04); + break; + case 0x7D5: + fn_1_D0E0(var_r31, object, lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04); + break; + case 0x7D6: + fn_1_D9EC(var_r31, object, lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04); + break; + case 0x7D7: + fn_1_E3B4(var_r31, object); + break; + case 0x7D8: + fn_1_E9E4(var_r31); + break; + case 0x7D9: + break; + default: + OSReport("*** player mode error(%d)!!\n", var_r31->unk_180); + break; + } + fn_1_EC7C(var_r31, object); + fn_1_BAA8(var_r31); + + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1E8 += 1.0f; + + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1EC += fn_1_A974(var_r31); + lbl_1_bss_0[var_r31->unk_184 >> 1].unk_1F0[var_r31->unk_184 & 1] = var_r31->unk_00.unk_6C.z; + fn_1_2DD4(&var_r31->unk_00); +} + +void fn_1_10250(omObjData *object) +{ + float var_f31; + float var_f30; + float var_f24; + UnkM432DllStruct *var_r31; + omObjData *var_r29; + + var_r31 = object->data; + var_r29 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_04; + switch (var_r31->unk_180) { + case 0x7D0: + if (lbl_1_bss_41C->work[0] >= 0x3E9) { + var_r31->unk_180++; + Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF); + HuAudCharVoicePlay(var_r31->unk_18C, 0x125); + } + break; + case 0x7D1: + var_r31->unk_00.unk_20 = 0; + var_r31->unk_00.unk_24 = 0x48; + var_r31->unk_00.unk_28 = 0x100; + var_r31->unk_00.unk_2C = 0x100; + fn_1_40C0(&var_r31->unk_00); + if (200.0f > var_r31->unk_00.unk_6C.y) { + var_r31->unk_00.unk_84.y = 26.766666f; + var_r31->unk_00.unk_A4 = 1.0f; + } + else { + var_r31->unk_180++; + } + break; + case 0x7D2: + var_r31->unk_00.unk_20 = 0; + var_r31->unk_00.unk_24 = 0; + var_r31->unk_00.unk_28 = 0; + var_r31->unk_00.unk_2C = 0; + if (var_r31->unk_00.unk_38 == 1) { + var_r31->unk_00.unk_24 = 0x48; + } + fn_1_40C0(&var_r31->unk_00); + if ((var_r31->unk_00.unk_38 == 0) && (lbl_1_bss_41C->work[0] >= 0x3EB)) { + var_r31->unk_180++; + object->func = fn_1_ED0C; + } + break; + case 0x7DA: + if ((var_r31->unk_168 != 0) && (lbl_1_bss_3FC < 0) && (lbl_1_bss_41C->work[0] >= 0x3F1)) { + var_r31->unk_168 = 0; + Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE); + Hu3DMotionShiftSet(object->model[0], object->motion[10], 0.0f, 8.0f, HU3D_ATTR_NONE); + } + break; + case 0x7DB: + var_f31 = var_r31->unk_13C.x - var_r31->unk_00.unk_6C.x; + var_f30 = var_r31->unk_13C.z - var_r31->unk_00.unk_6C.z; + if (1.0f > (0.0f > var_f31 ? -var_f31 : var_f31)) { + if (1.0f > (0.0f > var_f30 ? -var_f30 : var_f30)) { + var_r31->unk_180++; + var_r31->unk_160 = 0.0f; + var_r31->unk_164 = var_r31->unk_00.unk_6C.y; + Hu3DMotionShiftSet(object->model[0], object->motion[3], 0.0f, 8.0f, HU3D_ATTR_NONE); + break; + } + } + if (1.0f < (0.0f > var_f31 ? -var_f31 : var_f31)) { + var_f30 = 0.0f; + } + var_f24 = sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)); + if (10.0f < var_f24) { + var_f31 = 10.0f * (var_f31 / var_f24); + var_f30 = 10.0f * (var_f30 / var_f24); + } + var_r31->unk_00.unk_6C.x += var_f31; + var_r31->unk_00.unk_6C.z += var_f30; + + var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, atan2d(var_f31, var_f30), 0.4f); + break; + case 0x7DC: + var_r31->unk_160 += 5.0f; + var_r31->unk_00.unk_6C.z -= 10.0f; + var_r31->unk_00.unk_6C.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_118.y + (120.0 * sind(var_r31->unk_160)); + if (180.0f <= var_r31->unk_160) { + var_r31->unk_180++; + Hu3DMotionShiftSet(object->model[0], object->motion[4], 0.0f, 8.0f, HU3D_ATTR_NONE); + } + break; + case 0x7DD: + if ((Hu3DMotionShiftIDGet(object->model[0]) < 0) && (Hu3DMotionEndCheck(object->model[0]) != 0)) { + var_r31->unk_180++; + Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r29->model[9], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(var_r29->model[15], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(var_r29->model[23], HU3D_MOTATTR_PAUSE); + HuAudFXPlay(0x694); + } + break; + case 0x7DE: + var_r31->unk_00.unk_9C = fn_1_1E20(var_r31->unk_00.unk_9C, 0.0f, 0.4f); + if ((Hu3DMotionEndCheck(var_r29->model[9]) != 0) && (Hu3DMotionEndCheck(var_r29->model[15]) != 0)) { + var_r31->unk_180++; + } + break; + case 0x7DF: + var_r31->unk_00.unk_6C.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_118.y; + if (lbl_1_bss_41C->work[0] >= 0x3F1) { + var_r31->unk_180++; + Hu3DMotionShiftSet(object->model[0], object->motion[9], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); + HuAudCharVoicePlay(var_r31->unk_18C, 0x125); + } + break; + case 0x7E0: + var_r31->unk_00.unk_6C.y = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_118.y; + break; + case 0x7D3: + case 0x7D4: + case 0x7D5: + case 0x7D6: + case 0x7D7: + case 0x7D8: + case 0x7D9: + default: + OSReport("*** player mode error(%d)!!\n", var_r31->unk_180); + break; + } + fn_1_EC7C(var_r31, object); + fn_1_2DD4(&var_r31->unk_00); +} + +void fn_1_10CCC(omObjData *object) +{ + Vec sp8; + + UnkM432DllStruct *var_r31; + s32 var_r29; + s32 var_r28; + s32 var_r27; + UnkM432DllBss0SubStruct *var_r26; + s32 var_r24; + s32 var_r23; + + var_r31 = object->data; + var_r26 = lbl_1_bss_0[var_r31->unk_184 >> 1].unk_10[var_r31->unk_184 & 1]; + var_r31->unk_18C = GWPlayerCfg[var_r31->unk_188].character; + var_r31->unk_190 = GWPlayerCfg[var_r31->unk_188].pad_idx; + var_r31->unk_180 = 0x7D0; + var_r31->unk_168 = 0; + var_r31->unk_CC = NULL; + var_r31->unk_C4 = NULL; + var_r31->unk_C8 = NULL; + var_r31->unk_150 = 0.0f; + var_r31->unk_158 = 0.0f; + var_r31->unk_154 = 0.0f; + var_r31->unk_17C = 0; + var_r31->unk_15C = 10000.0f; + var_r31->unk_178 = 0; + var_r31->unk_16C = 0; + var_r31->unk_104 = 0.5f; + var_r31->unk_108 = 0.0f; + fn_1_5148(var_r31); + sp8 = var_r26[var_r31->unk_17C++].unk_2C; + sp8.y -= 200.0f; + fn_1_2C1C(&var_r31->unk_00, object, var_r31->unk_188, var_r31->unk_18C, lbl_1_data_268, 0, &sp8, 180.0f); + var_r31->unk_00.unk_04 = fn_1_AA1C; + var_r31->unk_00.unk_08 = fn_1_ACC8; + fn_1_2DC8(&var_r31->unk_00, 1, (var_r31->unk_184 & 2) == 0 ? lbl_1_data_354 : lbl_1_data_36C); + var_r31->unk_00.unk_0C = fn_1_AF28; + var_r31->unk_13C.x = 0.0f; + var_r31->unk_13C.y = 0.0f; + var_r31->unk_13C.z = 0.0f; + object->model[0] = CharModelCreate(lbl_1_data_0[var_r31->unk_18C], 4); + CharModelStepTypeSet(lbl_1_data_0[var_r31->unk_18C], 0); + for (var_r29 = 0; var_r29 < 0xB; var_r29++) { + object->motion[var_r29] = CharModelMotionCreate(lbl_1_data_0[var_r31->unk_18C], lbl_1_data_108[var_r31->unk_18C][var_r29]); + CharModelMotionSet(lbl_1_data_0[var_r31->unk_18C], object->motion[var_r29]); + } + Hu3DModelCameraSet(object->model[0], lbl_1_data_A0[var_r31->unk_184 >> 1]); + Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelLayerSet(object->model[0], 2); + Hu3DMotionSet(object->model[0], object->motion[0]); + Hu3DModelShadowSet(object->model[0]); + fn_1_2DD4(&var_r31->unk_00); + for (var_r29 = 0; var_r29 < 9; var_r29++) { + var_r31->unk_118[var_r29] = espEntry(lbl_1_data_288[var_r29], 0, 0); + espDrawNoSet(var_r31->unk_118[var_r29], 0); + espDispOff(var_r31->unk_118[var_r29]); + espAttrSet(var_r31->unk_118[var_r29], HUSPR_ATTR_NOANIM); + espBankSet(var_r31->unk_118[var_r29], 0); + espPriSet(var_r31->unk_118[var_r29], 0x80 - var_r29); + } + espTPLvlSet(var_r31->unk_118[0], 0.9f); + espTPLvlSet(var_r31->unk_118[1], 0.9f); + if (GWPlayerCfg[var_r31->unk_188].iscom != 0) { + switch (GWPlayerCfg[var_r31->unk_188].diff) { + case 0: + var_r31->unk_CC = &lbl_1_data_1794; + break; + case 1: + var_r31->unk_CC = &lbl_1_data_17B4; + break; + case 2: + var_r31->unk_CC = &lbl_1_data_17D4; + break; + case 3: + default: + var_r31->unk_CC = &lbl_1_data_17F4; + break; + } + } + CharModelLayerSetAll2(5); + CharModelMotionDataClose(lbl_1_data_0[var_r31->unk_18C]); + object->func = fn_1_10250; +} + +void fn_1_113F0(omObjData *object) { } + +void fn_1_113F4(omObjData *var_r31) +{ + s32 sp48; + + UnkM432DllBss0SubStruct *var_r30; + s32 var_r28; + UnkBss0Struct *var_r22; + + var_r22 = &lbl_1_bss_0[var_r31->work[0]]; + var_r31->model[0] = fn_1_46C(DATA_MAKE_NUM(DATADIR_M432, 0x02)); + Hu3DModelCameraSet(var_r31->model[0], lbl_1_data_A0[var_r31->work[0]]); + Hu3DModelAttrSet(var_r31->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->model[0], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->model[0], HU3D_MOTATTR_PAUSE); + Hu3DModelLayerSet(var_r31->model[0], 0); + + var_r31->model[1] = fn_1_46C(DATA_MAKE_NUM(DATADIR_M432, 0x04)); + Hu3DModelCameraSet(var_r31->model[1], lbl_1_data_A0[var_r31->work[0]]); + Hu3DModelAttrSet(var_r31->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->model[1], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->model[1], HU3D_MOTATTR_PAUSE); + Hu3DModelLayerSet(var_r31->model[1], 0); + + var_r31->model[2] = fn_1_46C(lbl_1_data_528[var_r31->work[0]]); + Hu3DModelCameraSet(var_r31->model[2], lbl_1_data_A0[var_r31->work[0]]); + Hu3DModelAttrSet(var_r31->model[2], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->model[2], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->model[2], HU3D_MOTATTR_PAUSE); + Hu3DModelLayerSet(var_r31->model[2], 1); + + var_r31->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x01)); + Hu3DModelCameraSet(var_r31->model[3], lbl_1_data_A0[var_r31->work[0]]); + Hu3DModelAttrSet(var_r31->model[3], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->model[3], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(var_r31->model[3], HU3D_MOTATTR_LOOP); + Hu3DModelLayerSet(var_r31->model[3], 0); + + var_r31->model[24] = fn_1_46C(DATA_MAKE_NUM(DATADIR_M432, 0x03)); + Hu3DModelCameraSet(var_r31->model[24], lbl_1_data_A0[var_r31->work[0]]); + Hu3DModelLayerSet(var_r31->model[24], 0); + Hu3DModelPosSet(var_r31->model[24], 0.0f, 0.0f, 0.0f); + Hu3DModelRotSet(var_r31->model[24], 0.0f, 0.0f, 0.0f); + Hu3DModelAttrSet(var_r31->model[24], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->model[24], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(var_r31->model[24], HU3D_MOTATTR_LOOP); + + var_r31->model[25] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x07)); + Hu3DMotionSet(var_r31->model[25], Hu3DJointMotionFile(var_r31->model[25], DATA_MAKE_NUM(DATADIR_M432, 0x08))); + Hu3DModelCameraSet(var_r31->model[25], lbl_1_data_A0[var_r31->work[0]]); + Hu3DModelAttrSet(var_r31->model[25], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(var_r31->model[25], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->model[25], HU3D_MOTATTR_PAUSE); + Hu3DModelLayerSet(var_r31->model[25], 2); + Hu3DModelShadowSet(var_r31->model[25]); + omSetTra(var_r31, var_r22->unk_28.x, 0.0f, 0.0f); + omSetRot(var_r31, 0.0f, 0.0f, 0.0f); + for (var_r28 = 0; var_r28 < 0x1A; var_r28++) { + Hu3DModelPosSet(var_r31->model[var_r28], var_r22->unk_28.x, 0.0f, 0.0f); + Hu3DModelRotSet(var_r31->model[var_r28], 0.0f, 0.0f, 0.0f); + } + for (var_r28 = 0; var_r28 < 2; var_r28++) { + var_r22->unk_10[var_r28] = HuMemDirectMallocNum(HEAP_SYSTEM, 31 * sizeof(UnkM432DllBss0SubStruct), MEMORY_DEFAULT_NUM); + memcpy(var_r22->unk_10[var_r28], var_r28 == 0 ? &lbl_1_data_5EC : &lbl_1_data_EDC, 31 * sizeof(UnkM432DllBss0SubStruct)); + for (var_r30 = var_r22->unk_10[var_r28], sp48 = 0; sp48 < 0x1F; sp48++, var_r30++) { + fn_1_1D18(var_r31->model[3], var_r30->unk_00, &var_r30->unk_20); + var_r30->unk_2C = var_r30->unk_20; + var_r30->unk_38 = 0.0f; + var_r30->unk_3C = 0.0f; + var_r30->unk_40 = -1; + var_r30->unk_44 = sp48; + if ((var_r30->unk_08 > 0) && (var_r30->unk_0C[var_r31->work[0]] != 0)) { + var_r31->model[var_r30->unk_08] = fn_1_46C(var_r30->unk_0C[var_r31->work[0]]); + Hu3DModelCameraSet(var_r31->model[var_r30->unk_08], lbl_1_data_A0[var_r31->work[0]]); + Hu3DModelLayerSet(var_r31->model[var_r30->unk_08], 0); + Hu3DModelPosSet(var_r31->model[var_r30->unk_08], var_r30->unk_2C.x, var_r30->unk_2C.y, var_r30->unk_2C.z); + Hu3DModelRotSet(var_r31->model[var_r30->unk_08], 0.0f, var_r30->unk_18, 0.0f); + Hu3DModelAttrSet(var_r31->model[var_r30->unk_08], HU3D_ATTR_DISPOFF | HU3D_ATTR_NOCULL); + Hu3DModelAttrSet(var_r31->model[var_r30->unk_08], HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(var_r31->model[var_r30->unk_08], HU3D_MOTATTR_LOOP); + Hu3DModelAttrReset(var_r31->model[var_r30->unk_08], HU3D_ATTR_DISPOFF); + } + } + } + for (var_r28 = 0; var_r28 < 4; var_r28++) { + lbl_1_bss_0[var_r31->work[0]].unk_88[var_r28][2].y = 35.0f; + } + fn_1_1D18(var_r31->model[3], "m432_00-d0", &lbl_1_bss_0[var_r31->work[0]].unk_88[0][0]); + fn_1_1D18(var_r31->model[3], "m432_00-d0", &lbl_1_bss_0[var_r31->work[0]].unk_88[1][0]); + fn_1_1D18(var_r31->model[3], "m432_00-d1", &lbl_1_bss_0[var_r31->work[0]].unk_88[2][0]); + fn_1_1D18(var_r31->model[3], "m432_00-d1", &lbl_1_bss_0[var_r31->work[0]].unk_88[3][0]); + + fn_1_5364(var_r31->work[0], var_r31); + + fn_1_1D18(var_r31->model[3], "m432_00-h0", &lbl_1_bss_0[var_r31->work[0]].unk_118); + for (var_r28 = 0; var_r28 < 8; var_r28++) { + fn_1_1D18(var_r31->model[3], lbl_1_data_3DC[var_r28], &lbl_1_bss_0[var_r31->work[0]].unk_130[var_r28]); + if ((var_r28 % 4) < 2) { + lbl_1_bss_0[var_r31->work[0]].unk_130[var_r28].z -= 150.0f; + } + } + fn_1_1D18(var_r31->model[3], "m432_00-n0", &lbl_1_bss_0[var_r31->work[0]].unk_1C0); + Hu3DModelShadowMapSet(var_r31->model[0]); + Hu3DModelShadowMapSet(var_r31->model[20]); + Hu3DModelShadowMapSet(var_r31->model[21]); + Hu3DModelAttrReset(var_r31->model[0], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->model[1], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r31->model[2], HU3D_ATTR_DISPOFF); + var_r31->func = fn_1_113F0; +} + +void fn_1_12800(omObjData *object) { } + +void fn_1_12804(omObjData *object) +{ + object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x00)); + Hu3DModelAttrSet(object->model[0], HU3D_ATTR_DISPOFF); + omSetTra(object, lbl_1_bss_0[object->work[0]].unk_28.x, 0.0f, 0.0f); + omSetRot(object, 0.0f, 0.0f, 0.0f); + object->func = fn_1_12800; +} + +void fn_1_128C8(omObjData *object) +{ + s32 var_r31; + UnkM432DllStruct *var_r30; + UnkM432DllStruct *var_r29; + s32 var_r28; + s32 var_r27; + void *var_r26; + void *var_r25; + omObjData *var_r24; + void *var_r23; + void *var_r22; + + if (lbl_1_bss_41C->work[0] >= 0x3EB) { + for (var_r31 = 0; var_r31 < 2; var_r31++) { + var_r24 = lbl_1_bss_0[var_r31].unk_04; + var_r30 = fn_1_51A8(var_r31 * 2); + var_r29 = fn_1_51A8(var_r31 * 2 + 1); + if ((var_r30->unk_180 == 0x7DF) && (var_r29->unk_180 == 0x7DF)) { + lbl_1_bss_0[var_r31].unk_12C += 0.05f; + if (12.0f < lbl_1_bss_0[var_r31].unk_12C) { + lbl_1_bss_0[var_r31].unk_12C = 12.0f; + } + lbl_1_bss_0[var_r31].unk_118.y += lbl_1_bss_0[var_r31].unk_12C; + Hu3DModelPosSet(var_r24->model[22], lbl_1_bss_0[var_r31].unk_118.x, lbl_1_bss_0[var_r31].unk_118.y, lbl_1_bss_0[var_r31].unk_118.z); + lbl_1_bss_0[var_r31].unk_28.y += 0.1f * ((500.0f + lbl_1_bss_0[var_r31].unk_118.y) - lbl_1_bss_0[var_r31].unk_28.y); + lbl_1_bss_0[var_r31].unk_1C.y += 0.01f * (1000.0f - lbl_1_bss_0[var_r31].unk_1C.y); + lbl_1_bss_0[var_r31].unk_1C.z += 0.002f * ((4000.0f + lbl_1_bss_0[var_r31].unk_118.z) - lbl_1_bss_0[var_r31].unk_1C.z); + Hu3DCameraPosSetV(lbl_1_data_A0[var_r31], &lbl_1_bss_0[var_r31].unk_1C, &lbl_1_data_C8, &lbl_1_bss_0[var_r31].unk_28); + } + else { + fn_1_623C(&lbl_1_bss_0[var_r31], var_r31, var_r30, var_r29); + if (NULL != lbl_1_bss_0[var_r31].unk_08) { + fn_1_6F28(&lbl_1_bss_0[var_r31]); + } + if ((2.0f <= lbl_1_bss_0[var_r31].unk_1E8) && (lbl_1_bss_0[var_r31].unk_1EC != 0.0f)) { + fn_1_7C1C(&lbl_1_bss_0[var_r31], var_r30, var_r29); + } + lbl_1_bss_0[var_r31].unk_0C = NULL; + lbl_1_bss_0[var_r31].unk_1E8 = 0.0f; + lbl_1_bss_0[var_r31].unk_1EC = 0.0f; + lbl_1_bss_0[var_r31].unk_1F0[0] = 0.0f; + lbl_1_bss_0[var_r31].unk_1F0[1] = 0.0f; + } + } + if (lbl_1_bss_41C->work[0] >= 0x3EC) { + for (var_r31 = 0; var_r31 < 2; var_r31++) { + if (lbl_1_bss_0[var_r31].unk_1CC >= 0) { + HuAudFXStop(lbl_1_bss_0[var_r31].unk_1CC); + } + if (lbl_1_bss_0[var_r31].unk_1D0 >= 0) { + HuAudFXStop(lbl_1_bss_0[var_r31].unk_1D0); + } + if (lbl_1_bss_0[var_r31].unk_1D8 >= 0) { + HuAudFXStop(lbl_1_bss_0[var_r31].unk_1D8); + } + lbl_1_bss_0[var_r31].unk_1CC = -1; + lbl_1_bss_0[var_r31].unk_1D0 = -1; + lbl_1_bss_0[var_r31].unk_1D8 = -1; + } + } + } +} + +void fn_1_12EA8(void) +{ + float var_f31; + float var_f30; + + UnkBss0Struct *var_r31; + s32 var_r30; + + for (var_r30 = 0; var_r30 < 2; var_r30++) { + var_r31 = &lbl_1_bss_0[var_r30]; + if (var_r31->unk_7C == 0.0f) { + var_r31->unk_1C = var_r31->unk_28; + var_r31->unk_1C.x = var_r31->unk_1C.x + (var_r31->unk_68 * sind(var_r31->unk_64)); + var_r31->unk_1C.y += var_r31->unk_6C; + var_r31->unk_1C.z = var_r31->unk_1C.z + (var_r31->unk_68 * cosd(var_r31->unk_64)); + } + else { + var_r31->unk_78 += 1.0f; + var_f30 = var_r31->unk_78 / var_r31->unk_7C; + var_f31 = sind((90.0f * var_f30)) * sind((90.0f * var_f30)); + + var_r31->unk_1C.x = var_r31->unk_34.x + (var_f31 * (var_r31->unk_40.x - var_r31->unk_34.x)); + var_r31->unk_1C.y = var_r31->unk_34.y + (var_f31 * (var_r31->unk_40.y - var_r31->unk_34.y)); + var_r31->unk_1C.z = var_r31->unk_34.z + (var_f31 * (var_r31->unk_40.z - var_r31->unk_34.z)); + var_r31->unk_28.x = var_r31->unk_4C.x + (var_f31 * (var_r31->unk_58.x - var_r31->unk_4C.x)); + var_r31->unk_28.y = var_r31->unk_4C.y + (var_f31 * (var_r31->unk_58.y - var_r31->unk_4C.y)); + var_r31->unk_28.z = var_r31->unk_4C.z + (var_f31 * (var_r31->unk_58.z - var_r31->unk_4C.z)); + if (var_r31->unk_7C <= var_r31->unk_78) { + var_r31->unk_68 = var_r31->unk_1C.z - var_r31->unk_28.z; + var_r31->unk_6C = var_r31->unk_1C.y - var_r31->unk_28.y; + var_r31->unk_78 = 0.0f; + var_r31->unk_7C = 0.0f; + } + } + Hu3DCameraPosSetV(lbl_1_data_A0[var_r30], &var_r31->unk_1C, &lbl_1_data_C8, &var_r31->unk_28); + } +} + +void fn_1_131A8(omObjData *var_r28) +{ + Vec sp98; + Vec sp8C; + Vec sp80; + UnkM432DllStruct *sp7C[1]; + + float var_f31; + float var_f30; + float var_f27; + float var_f26; + float var_f22; + float var_f21; + + UnkBss0Struct *var_r29; + s32 var_r26; + s32 var_r17; + + if (omSysExitReq != 0) { + fn_1_1F58(-1); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); + var_r28->func = fn_1_1615C; + } + lbl_1_bss_580++; + switch (var_r28->work[0]) { + case 0x3E8: + if (WipeStatGet() == 0) { + var_r28->work[0]++; + lbl_1_bss_3F0 = 0.0f; + } + break; + case 0x3E9: + lbl_1_bss_3F0 += 1.0f; + var_f31 = lbl_1_bss_3F0 / 60.0f; + var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); + for (var_r26 = 0; var_r26 < 2; var_r26++) { + lbl_1_bss_0[var_r26].unk_28.z = -300.0f + (-400.0f * var_f30); + } + fn_1_12EA8(); + if (60.0f <= lbl_1_bss_3F0) { + var_r28->work[0]++; + lbl_1_bss_3F0 = 0.0f; + } + break; + case 0x3EA: + if (lbl_1_bss_576 < 0) { + lbl_1_bss_576 = MGSeqCreate(3, 0); + } + else { + if ((lbl_1_bss_570 < 0) && ((MGSeqStatGet(lbl_1_bss_576) & 0x10) != 0)) { + fn_1_1F24(0x46); + } + if (MGSeqStatGet(lbl_1_bss_576) == 0) { + var_r28->work[0]++; + lbl_1_bss_57C = 0; + lbl_1_bss_576 = -1; + lbl_1_bss_3F0 = 0.0f; + } + } + break; + case 0x3EB: + lbl_1_bss_57C++; + if (lbl_1_bss_574 >= 0) { + MGSeqParamSet(lbl_1_bss_574, 1, (0x468B - lbl_1_bss_57C) / 60); + } + else if (lbl_1_bss_57C > 0x3F48) { + lbl_1_bss_574 = MGSeqCreate(1, (0x468B - lbl_1_bss_57C) / 60, -1, -1); + MGSeqPosSet(lbl_1_bss_574, 288.0f, 400.0f); + } + fn_1_580(lbl_1_bss_528, 0, lbl_1_bss_57C); + + fn_1_12EA8(); + if ((lbl_1_bss_57C >= 0x4650) || (lbl_1_bss_3FC >= 0)) { + var_r28->work[0] = 0x3EC; + lbl_1_bss_3F0 = 0.0f; + } + break; + case 0x3EC: + if (lbl_1_bss_576 < 0) { + if (lbl_1_bss_574 >= 0) { + MGSeqParamSet(lbl_1_bss_574, 2, -1); + } + lbl_1_bss_574 = -1; + lbl_1_bss_3F8 = 0; + lbl_1_bss_576 = MGSeqCreate(3, 1); + fn_1_1F58(0x64); + } + else { + var_r17 = 0; + for (var_r26 = 0; var_r26 < 4; var_r26++) { + if (((UnkM432DllStruct *)lbl_1_bss_410[var_r26]->data)->unk_180 >= 0x7DA) { + var_r17++; + } + } + if (++lbl_1_bss_3F8 > 0x78) { + var_r17 = 4; + } + lbl_1_bss_3F0 += 1.0f; + if ((var_r17 >= 4) && (60.0f <= lbl_1_bss_3F0) && (MGSeqStatGet(lbl_1_bss_576) == 0)) { + var_r28->work[0] = 0x3EE; + if ((lbl_1_bss_3FC >= 0) && (lbl_1_bss_57C < 0x1518)) { + if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC)->unk_188].iscom != 0) { + if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC + 1)->unk_188].iscom == 0) { + goto block_81; + } + } + else { + block_81: + GWGameStat.present[0x32] = 1; + } + } + if ((lbl_1_bss_3FC >= 0) && (lbl_1_bss_578 > lbl_1_bss_57C)) { + if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC)->unk_188].iscom != 0) { + if (GWPlayerCfg[fn_1_51A8(lbl_1_bss_3FC + 1)->unk_188].iscom == 0) { + goto block_98; + } + } + else { + block_98: + var_r28->work[0] = 0x3ED; + fn_1_798(3); + } + } + lbl_1_bss_576 = -1; + lbl_1_bss_3F0 = 0.0f; + } + } + break; + case 0x3ED: + if (lbl_1_bss_576 < 0) { + lbl_1_bss_576 = MGSeqCreate(0xE, lbl_1_bss_578); + } + else if (MGSeqStatGet(lbl_1_bss_576) == 0) { + var_r28->work[0]++; + lbl_1_bss_3F0 = 0.0f; + lbl_1_bss_576 = -1; + } + break; + case 0x3EE: + if (lbl_1_bss_3FC < 0) { + var_r28->work[0] = 0x3F1; + lbl_1_bss_3F0 = 0.0f; + } + else if (2000.0f < lbl_1_bss_0[lbl_1_bss_3FC >> 1].unk_118.y) { + var_r28->work[0]++; + WipeColorSet(0xFF, 0xFF, 0xFF); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + } + break; + case 0x3EF: + if (WipeStatGet() == 0) { + var_r28->work[0]++; + lbl_1_bss_3F0 = 0.0f; + omDelObjEx(lbl_1_bss_5B4, lbl_1_bss_414); + Hu3DCameraKill(lbl_1_data_A0[(lbl_1_bss_3FC >> 1) ^ 1]); + Hu3DCameraPerspectiveSet(lbl_1_data_A0[lbl_1_bss_3FC >> 1], 20.0f, 20.0f, 20000.0f, 1.2f); + Hu3DCameraViewportSet(lbl_1_data_A0[lbl_1_bss_3FC >> 1], 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); + Hu3DCameraScissorSet(lbl_1_data_A0[lbl_1_bss_3FC >> 1], 0, 0, 0x280, 0x1E0); + var_r29 = &lbl_1_bss_0[lbl_1_bss_3FC >> 1]; + var_r29->unk_118.y = 5000.0f; + Hu3DModelPosSet(var_r29->unk_04->model[22], var_r29->unk_118.x, var_r29->unk_118.y, var_r29->unk_118.z); + Hu3DModelPosSet(var_r29->unk_04->model[24], var_r29->unk_118.x, var_r29->unk_118.y, var_r29->unk_118.z); + Hu3DModelAttrReset(var_r29->unk_04->model[24], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(var_r29->unk_04->model[24], HU3D_MOTATTR_PAUSE); + var_r29->unk_28.y = 8000.0f; + var_r29->unk_1C.y = 8000.0f; + var_r29->unk_1C.z = 5000.0f + var_r29->unk_118.z; + Hu3DCameraPosSetV(lbl_1_data_A0[lbl_1_bss_3FC >> 1], &var_r29->unk_1C, &lbl_1_data_C8, &var_r29->unk_28); + var_r29->unk_4C = var_r29->unk_28; + var_r29->unk_58 = var_r29->unk_28; + var_r29->unk_34 = var_r29->unk_1C; + var_r29->unk_40 = var_r29->unk_1C; + var_r29->unk_58.y = 5200.0f; + var_r29->unk_40.y = 5200.0f; + var_r29->unk_40.z = 2000.0f + var_r29->unk_118.z; + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 0x3C); + lbl_1_bss_3F4 = HuAudFXPlay(0x69B); + } + break; + case 0x3F0: + var_r29 = &lbl_1_bss_0[lbl_1_bss_3FC >> 1]; + lbl_1_bss_3F0 += 1.0f; + var_f31 = lbl_1_bss_3F0 / 180.0f; + var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); + var_r29->unk_28.y = var_r29->unk_4C.y + (var_f30 * (var_r29->unk_58.y - var_r29->unk_4C.y)); + var_r29->unk_1C.y = var_r29->unk_34.y + (var_f30 * (var_r29->unk_40.y - var_r29->unk_34.y)); + if (90.0f < lbl_1_bss_3F0) { + var_f31 = (lbl_1_bss_3F0 - 90.0f) / 90.0f; + var_f30 = sind((90.0f * var_f31)) * sind((90.0f * var_f31)); + var_r29->unk_1C.z = var_r29->unk_34.z + (var_f30 * (var_r29->unk_40.z - var_r29->unk_34.z)); + } + Hu3DCameraPosSetV(lbl_1_data_A0[lbl_1_bss_3FC >> 1], &var_r29->unk_1C, &lbl_1_data_C8, &var_r29->unk_28); + if (180.0f <= lbl_1_bss_3F0) { + var_r28->work[0]++; + lbl_1_bss_3F0 = 0.0f; + } + break; + case 0x3F1: + if (lbl_1_bss_576 < 0) { + if (lbl_1_bss_3FC < 0) { + lbl_1_bss_576 = MGSeqCreate(3, 2); + HuAudSStreamPlay(4); + } + else { + lbl_1_bss_576 = MGSeqCreate(5, 3, fn_1_51A8(lbl_1_bss_3FC)->unk_18C, fn_1_51A8(lbl_1_bss_3FC + 1)->unk_18C, -1, -1); + HuAudSStreamPlay(1); + } + } + else { + lbl_1_bss_3F0 += 1.0f; + if (0 <= lbl_1_bss_3FC) { } + if ((210.0f < lbl_1_bss_3F0) && (MGSeqStatGet(lbl_1_bss_576) == 0)) { + fn_1_1F58(-1); + lbl_1_bss_576 = -1; + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 0x3C); + var_r28->func = fn_1_1615C; + } + } + break; + default: + OSReport("*** main mode error(%d)!!\n", var_r28->work[0]); + break; + } + fn_1_A40(); + if ((lbl_1_bss_3FC >= 0) && (var_r28->work[0] >= 0x3F0)) { + var_r29 = &lbl_1_bss_0[lbl_1_bss_3FC >> 1]; + var_r29->unk_118.y = 5000.0 + (10.0 * sind((lbl_1_bss_580 * 4))); + Hu3DModelPosSet(var_r29->unk_04->model[22], var_r29->unk_118.x, var_r29->unk_118.y, var_r29->unk_118.z); + } + sp98.x = 0.0f; + sp98.y = 0.0f; + sp98.z = 0.0f; + for (var_r26 = 0; var_r26 < 4; var_r26++) { + sp7C[0] = lbl_1_bss_410[var_r26]->data; + sp98.x += sp7C[0]->unk_00.unk_6C.x; + sp98.z += sp7C[0]->unk_00.unk_6C.z; + } + sp98.x *= 0.25f; + sp98.z *= 0.25f; + var_f27 = 0.0f; + for (var_r26 = 0; var_r26 < 4; var_r26++) { + var_f26 = VECDistance(&sp98, &((UnkM432DllStruct *)lbl_1_bss_410[var_r26]->data)->unk_00.unk_6C); + if (var_f27 < var_f26) { + var_f27 = var_f26; + } + } + + fn_1_52B8_inline(&sp80, sp98.x, 0.0f, sp98.z); + + sp98.y = 6.0f * var_f27; + sp98.z += 1000.0f; + VECNormalize(&sp98, &sp8C); + Hu3DShadowPosSet(&sp98, &sp8C, &sp80); + fn_1_2D8(); +} + +void fn_1_15320(omObjData *object) +{ + s32 var_r31; + object->work[0] = 0x3E8; + fn_1_B4C(80.0f, DATA_MAKE_NUM(DATADIR_M432, 0x1E)); + fn_1_9EC(); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); + object->func = fn_1_131A8; +} + +void ObjectSetup(void) +{ + Vec sp8; + float var_f31; + float var_f30; + float var_f29; + + UnkBss0Struct *var_r31; + s32 var_r30; + float *var_r29; + UnkM432DllStruct *var_r28; + omObjData *var_r27; + s32 var_r26; + s32 var_r24; + s32 var_r23; + s32 var_r22; + s32 var_r21; + s32 var_r20; + + OSReport("******* M432 ObjectSetup *********\n"); + lbl_1_bss_5B4 = omInitObjMan(0x258, 0x2000); + omGameSysInit(lbl_1_bss_5B4); + nMap = 0; + nChar = 0; + lbl_1_bss_580 = 0; + lbl_1_bss_576 = -1; + lbl_1_bss_574 = -1; + lbl_1_bss_3FC = -1; + lbl_1_bss_3F8 = 0; + lbl_1_bss_570 = -1; + lbl_1_bss_3F4 = -1; + lbl_1_bss_57C = 0; + lbl_1_bss_578 = GWMGRecordGet(3); + lbl_1_bss_568 = -1.0f; + if (lbl_1_bss_578 == 0) { + lbl_1_bss_578 = 0x1C20; + } + fn_1_414(); + for (var_r30 = 0; var_r30 < 2; var_r30++) { + lbl_1_bss_0[var_r30].unk_08 = NULL; + lbl_1_bss_0[var_r30].unk_18 = 0; + lbl_1_bss_0[var_r30].unk_28.x = -800.0f + (1600.0f * var_r30); + lbl_1_bss_0[var_r30].unk_28.y = 0.0f; + lbl_1_bss_0[var_r30].unk_28.z = -300.0f; + lbl_1_bss_0[var_r30].unk_1E4 = 0.0f; + lbl_1_bss_0[var_r30].unk_64 = 0.0f; + lbl_1_bss_0[var_r30].unk_68 = 3900.0f; + lbl_1_bss_0[var_r30].unk_6C = 3250.0f; + lbl_1_bss_0[var_r30].unk_1E8 = 0.0f; + lbl_1_bss_0[var_r30].unk_70 = 0.0f; + lbl_1_bss_0[var_r30].unk_74 = 0.0f; + lbl_1_bss_0[var_r30].unk_78 = 0.0f; + lbl_1_bss_0[var_r30].unk_7C = 0.0f; + lbl_1_bss_0[var_r30].unk_80 = 0.0f; + lbl_1_bss_0[var_r30].unk_84 = 0.0f; + lbl_1_bss_0[var_r30].unk_124 = 0.0f; + lbl_1_bss_0[var_r30].unk_128 = 0.0f; + lbl_1_bss_0[var_r30].unk_12C = 0.0f; + lbl_1_bss_0[var_r30].unk_1B8 = frandmod(5); + lbl_1_bss_0[var_r30].unk_1BC = frandmod(9); + lbl_1_bss_0[var_r30].unk_1CC = -1; + lbl_1_bss_0[var_r30].unk_1D0 = -1; + lbl_1_bss_0[var_r30].unk_1D4 = 0.0f; + lbl_1_bss_0[var_r30].unk_1D8 = -1; + lbl_1_bss_0[var_r30].unk_1DC = 0.0f; + } + Hu3DCameraCreate(3); + Hu3DCameraPerspectiveSet(3, 20.0f, 20.0f, 20000.0f, 0.6f); + fn_1_12EA8(); + for (var_r29 = lbl_1_data_A8, var_r30 = 0; var_r30 < 2; var_r30++, var_r29 += 4) { + Hu3DCameraViewportSet(lbl_1_data_A0[var_r30], var_r29[0], var_r29[1], var_r29[2], var_r29[3], 0.0f, 1.0f); + Hu3DCameraScissorSet(lbl_1_data_A0[var_r30], var_r29[0], var_r29[1], var_r29[2], var_r29[3]); + } + var_r20 = Hu3DGLightCreateV(&lbl_1_data_D4, &lbl_1_data_E0, &lbl_1_data_EC); + Hu3DGLightStaticSet(var_r20, 0); + Hu3DGLightInfinitytSet(var_r20); + Hu3DShadowCreate(30.0f, 20.0f, 20000.0f); + Hu3DShadowTPLvlSet(0.5f); + VECNormalize(&lbl_1_data_F0, &sp8); + Hu3DShadowPosSet(&lbl_1_data_F0, &sp8, &lbl_1_data_FC); + fn_1_2C00(fn_1_AA00, 0.0f); + omMakeGroupEx(lbl_1_bss_5B4, 2, 4); + lbl_1_bss_410 = omGetGroupMemberListEx(lbl_1_bss_5B4, 2); + for (var_r30 = 0; var_r30 < 4; var_r30++) { + var_r27 = omAddObjEx(lbl_1_bss_5B4, 0x68, 1, 0xB, 2, fn_1_10CCC); + var_r27->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM432DllStruct), MEMORY_DEFAULT_NUM); + var_r27->work[0] = var_r30; + var_r28 = var_r27->data; + var_r28->unk_184 = -1; + var_r28->unk_188 = var_r27->work[0]; + var_r28->unk_194 = GWPlayerCfg[var_r28->unk_188].group; + } + for (var_r30 = 0; var_r30 < 4; var_r30++) { + var_r22 = -1; + var_r21 = 0x28; + for (var_r26 = 0; var_r26 < 4; var_r26++) { + var_r28 = lbl_1_bss_410[var_r26]->data; + if (var_r28->unk_184 < 0) { + var_r23 = var_r28->unk_188 + (var_r28->unk_194 * 4); + if (var_r21 > var_r23) { + var_r21 = var_r23; + var_r22 = var_r26; + } + } + } + ((UnkM432DllStruct *)lbl_1_bss_410[var_r22]->data)->unk_184 = var_r30; + } + for (var_r30 = 0; var_r30 < 2; var_r30++) { + lbl_1_bss_0[var_r30].unk_04 = omAddObjEx(lbl_1_bss_5B4, 0x64, 0x1A, 0, 0, fn_1_113F4); + lbl_1_bss_0[var_r30].unk_04->work[0] = var_r30; + lbl_1_bss_0[var_r30].unk_00 = omAddObjEx(lbl_1_bss_5B4, 0x65, 1, 0, 1, fn_1_12804); + lbl_1_bss_0[var_r30].unk_00->work[0] = var_r30; + MapObject[nMap++] = lbl_1_bss_0[var_r30].unk_00; + } + fn_1_150(); + lbl_1_bss_408 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M432, 0x28)); + HuSprAnimLock(lbl_1_bss_408); + lbl_1_bss_404 = Hu3DParManCreate(lbl_1_bss_408, 0x1F4, &lbl_1_data_1814); + Hu3DParManAttrSet(lbl_1_bss_404, 1); + lbl_1_bss_402 = 0; + fn_1_0(); + omMakeGroupEx(lbl_1_bss_5B4, 3, 0xF0); + lbl_1_bss_418 = omGetGroupMemberListEx(lbl_1_bss_5B4, 3); + lbl_1_bss_400 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M432, 0x09)); + Hu3DModelAttrSet(lbl_1_bss_400, HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(lbl_1_bss_400, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_PAUSE); + lbl_1_bss_414 = omAddObjEx(lbl_1_bss_5B4, 0x66, 0, 0, -1, fn_1_128C8); + lbl_1_bss_41C = omAddObjEx(lbl_1_bss_5B4, 0x69, 0x1A, 0, -1, fn_1_15320); + lbl_1_bss_41C->work[0] = 0x3E8; +} + +void fn_1_1615C(omObjData *arg0) +{ + s32 var_r31; + + if (lbl_1_bss_3F4 >= 0) { + lbl_1_bss_3F4 = -1; + HuAudFXStop(lbl_1_bss_3F4); + } + if (WipeStatGet() == 0) { + if (lbl_1_bss_576 >= 0) { + MGSeqKill(lbl_1_bss_576); + } + if (lbl_1_bss_574 >= 0) { + MGSeqKill(lbl_1_bss_574); + } + MGSeqKillAll(); + HuAudAllStop(); + for (var_r31 = 0; var_r31 < 4; var_r31++) { + CharModelKill(lbl_1_data_0[GWPlayerCfg[var_r31].character]); + } + omOvlReturnEx(1, 1); + } +} diff --git a/src/REL/m434Dll/main.c b/src/REL/m434Dll/main.c index e0fcf2ac..733df325 100644 --- a/src/REL/m434Dll/main.c +++ b/src/REL/m434Dll/main.c @@ -6,15 +6,12 @@ #include "game/sprite.h" #include "game/wipe.h" - #include "REL/m434Dll.h" #include "ext_math.h" #include "game/gamework_data.h" #include "game/minigame_seq.h" #include "math.h" -#include "rel_sqrt_consts.h" - typedef struct camera_view { float zoom; Vec pos; diff --git a/src/REL/m436Dll/main.c b/src/REL/m436Dll/main.c index 4e2523c2..c7a806b9 100755 --- a/src/REL/m436Dll/main.c +++ b/src/REL/m436Dll/main.c @@ -14,10 +14,9 @@ #include "game/wipe.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" typedef struct { - /* 0x00 */ omObjData* unk00; + /* 0x00 */ omObjData *unk00; /* 0x04 */ s32 unk04; /* 0x08 */ s32 unk08; /* 0x0C */ s32 unk0C; @@ -47,18 +46,18 @@ typedef struct { } StructBss234; // Size 0xF8 typedef struct { - /* 0x00 */ omObjData* unk00; + /* 0x00 */ omObjData *unk00; /* 0x04 */ s32 unk04; /* 0x08 */ char unk08[0xC]; } StructBss220; // Size 0x14 typedef struct { - /* 0x00 */ omObjData* unk00; + /* 0x00 */ omObjData *unk00; /* 0x04 */ Vec unk04[8]; } StructBss1BC; // Size 0x64 typedef struct { - /* 0x00 */ omObjData* unk00; + /* 0x00 */ omObjData *unk00; /* 0x04 */ s32 unk04; /* 0x08 */ float unk08[6]; /* 0x20 */ char unk20[8]; @@ -73,12 +72,12 @@ typedef struct { } StructBssD8; // Size 0xA8 typedef struct { - /* 0x00 */ omObjData* unk00; + /* 0x00 */ omObjData *unk00; /* 0x04 */ char unk04[0x10]; } StructBss1A8; // Size 0x14 typedef struct { - /* 0x00 */ omObjData* unk00; + /* 0x00 */ omObjData *unk00; /* 0x04 */ char unk04[0x10]; } StructBss180; // Size 0x14 @@ -115,46 +114,24 @@ s32 lbl_1_bss_10; s32 lbl_1_bss_C; s32 lbl_1_bss_8; s32 lbl_1_bss_4; -Process* lbl_1_bss_0; +Process *lbl_1_bss_0; -s32 lbl_1_data_0[] = { - DATA_MAKE_NUM(DATADIR_M436, 13), - DATA_MAKE_NUM(DATADIR_M436, 14), - DATA_MAKE_NUM(DATADIR_M436, 15), - DATA_MAKE_NUM(DATADIR_M436, 16), - DATA_MAKE_NUM(DATADIR_M436, 17), - DATA_MAKE_NUM(DATADIR_M436, 18), - DATA_MAKE_NUM(DATADIR_M436, 19), - DATA_MAKE_NUM(DATADIR_M436, 20) -}; +s32 lbl_1_data_0[] + = { DATA_MAKE_NUM(DATADIR_M436, 13), DATA_MAKE_NUM(DATADIR_M436, 14), DATA_MAKE_NUM(DATADIR_M436, 15), DATA_MAKE_NUM(DATADIR_M436, 16), + DATA_MAKE_NUM(DATADIR_M436, 17), DATA_MAKE_NUM(DATADIR_M436, 18), DATA_MAKE_NUM(DATADIR_M436, 19), DATA_MAKE_NUM(DATADIR_M436, 20) }; -s32 lbl_1_data_20[] = { - MAKE_MESSID(29, 23), - MAKE_MESSID(29, 24), - MAKE_MESSID(29, 30), - MAKE_MESSID(29, 26), - MAKE_MESSID(29, 28), - MAKE_MESSID(29, 27), - MAKE_MESSID(29, 25), - MAKE_MESSID(29, 29) -}; +s32 lbl_1_data_20[] = { MAKE_MESSID(29, 23), MAKE_MESSID(29, 24), MAKE_MESSID(29, 30), MAKE_MESSID(29, 26), MAKE_MESSID(29, 28), MAKE_MESSID(29, 27), + MAKE_MESSID(29, 25), MAKE_MESSID(29, 29) }; -s32 lbl_1_data_40[][5] = { - { 91, 105, 126, 141, -1 }, - { 91, 105, 126, 141, -1 }, - { 124, 137, -1, -1, -1 }, - { 85, 100, 127, -1, -1 }, - { 124, 139, -1, -1, -1 }, - { 85, 97, 127, 139, -1 }, - { 127, 137, -1, -1, -1 }, - { 79, 95, 109, 127, -1 } -}; +s32 lbl_1_data_40[][5] = { { 91, 105, 126, 141, -1 }, { 91, 105, 126, 141, -1 }, { 124, 137, -1, -1, -1 }, { 85, 100, 127, -1, -1 }, + { 124, 139, -1, -1, -1 }, { 85, 97, 127, 139, -1 }, { 127, 137, -1, -1, -1 }, { 79, 95, 109, 127, -1 } }; s32 lbl_1_data_E0 = -1; s32 lbl_1_data_E4 = -1; s32 lbl_1_data_E8 = -1; -void fn_1_0(void) { +void fn_1_0(void) +{ s32 i; while (TRUE) { @@ -172,21 +149,24 @@ void fn_1_0(void) { } } -void fn_1_1A8(void) { +void fn_1_1A8(void) +{ s32 var_r31; var_r31 = Hu3DGLightCreate(0.0f, 1000.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF); Hu3DGLightInfinitytSet(var_r31); } -void fn_1_230(void) { - StructBss32C* var_r31; +void fn_1_230(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; if (HuPadBtn[0] & 0x200) { if (HuPadBtn[0] & 0x100) { var_r31->unk0C -= HuPadStkY[0] / 10.0f; - } else { + } + else { var_r31->unk04 += HuPadStkX[0] / 10.0f; var_r31->unk08 += HuPadStkY[0] / 10.0f; } @@ -216,24 +196,28 @@ void fn_1_230(void) { print8(16, 130, 1.0f, "ZOOM : %.2f", var_r31->unk34); } -void fn_1_614(s32 arg0, s32 arg1, float arg2) { - StructBss32C* var_r31; +void fn_1_614(s32 arg0, s32 arg1, float arg2) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk40[arg0] = arg1; if (var_r31->unk5C[arg0] < 0.0f) { var_r31->unk5C[arg0] = -arg2; - } else { + } + else { var_r31->unk5C[arg0] = arg2; } } -void fn_1_67C(s32 arg0, float arg1) { +void fn_1_67C(s32 arg0, float arg1) +{ fn_1_614(arg0, -1, arg1); } -float fn_1_6E8(s32 arg0) { - StructBss32C* var_r31; +float fn_1_6E8(s32 arg0) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; if (var_r31->unk5C[arg0] != 0.0f) { @@ -242,7 +226,8 @@ float fn_1_6E8(s32 arg0) { if (var_r31->unk5C[arg0] >= -0.5f && var_r31->unk5C[arg0] <= 0.5f) { var_r31->unk5C[arg0] = 0.0f; } - } else { + } + else { var_r31->unk40[arg0]--; if (var_r31->unk40[arg0] <= 0) { var_r31->unk40[arg0] = 0; @@ -253,8 +238,9 @@ float fn_1_6E8(s32 arg0) { return var_r31->unk5C[arg0]; } -void fn_1_818(void) { - StructBss32C* var_r31; +void fn_1_818(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk04 = 0.0f; @@ -266,15 +252,17 @@ void fn_1_818(void) { var_r31->unk34 = 300.0f; } -void fn_1_8A4(void (*arg0)(void)) { - StructBss32C* var_r31; +void fn_1_8A4(void (*arg0)(void)) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk00 = arg0; } -void fn_1_8C4(omObjData* arg0) { - StructBss32C* var_r31; +void fn_1_8C4(omObjData *arg0) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; if (var_r31->unk00 != NULL) { @@ -289,7 +277,8 @@ void fn_1_8C4(omObjData* arg0) { CZoom = var_r31->unk34 + fn_1_6E8(6); } -void fn_1_F6C(void) { +void fn_1_F6C(void) +{ Hu3DCameraCreate(1); Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); Hu3DCameraPerspectiveSet(1, 45.0f, 0.1f, 10000.0f, 1.2f); @@ -298,7 +287,8 @@ void fn_1_F6C(void) { omAddObjEx(lbl_1_bss_0, 0x7FD9, 0, 0, -1, fn_1_8C4); } -void fn_1_1084(void) { +void fn_1_1084(void) +{ Vec sp20 = { 0.0f, 2500.0f, 1.0f }; Vec sp14 = { 0.0f, 0.0f, 0.0f }; Vec sp8 = { 0.0f, 1.0f, 0.0f }; @@ -308,8 +298,9 @@ void fn_1_1084(void) { Hu3DShadowPosSet(&sp20, &sp8, &sp14); } -void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) { - WindowData* temp_r29; +void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) +{ + WindowData *temp_r29; float temp_f29; float temp_f28; float temp_f25; @@ -333,10 +324,12 @@ void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) { temp_f27 = 4.0f / temp_f25; if (var_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) { var_f31 = temp_f29 + temp_f25 - 4.0f; - } else { + } + else { if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { var_f31 = temp_f29; - } else { + } + else { var_f31 -= 2.0f; } } @@ -344,10 +337,12 @@ void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) { temp_f26 = 4.0f / temp_f24; if (var_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) { var_f30 = temp_f28 + temp_f24 - 4.0f; - } else { + } + else { if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { var_f30 = temp_f28; - } else { + } + else { var_f30 -= 2.0f; } } @@ -358,7 +353,8 @@ void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) { var_f21 = temp_f27; var_f22 = var_f30; var_f20 = temp_f26; - } else { + } + else { HuWinPosSet(arg0, temp_f29, temp_f28); HuWinScaleSet(arg0, 1.0f, 1.0f); var_f23 = temp_f29; @@ -373,15 +369,18 @@ void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) { if (i <= 10) { var_f23 = fn_1_11164(var_f31, temp_f29, i, 10.0f); var_f21 = fn_1_11164(temp_f27, 1.0f, i, 10.0f); - } else { + } + else { var_f22 = fn_1_11164(var_f30, temp_f28, i - 10, 5.0f); var_f20 = fn_1_11164(temp_f26, 1.0f, i - 10, 5.0f); } - } else { + } + else { if (i <= 10) { var_f22 = fn_1_11164(temp_f28, var_f30, i, 10.0f); var_f20 = fn_1_11164(1.0f, temp_f26, i, 10.0f); - } else { + } + else { var_f23 = fn_1_11164(temp_f29, var_f31, i - 10, 5.0f); var_f21 = fn_1_11164(1.0f, temp_f27, i - 10, 5.0f); } @@ -392,19 +391,22 @@ void fn_1_1148(s32 arg0, float arg1, float arg2, s32 arg3) { if (arg3 != 0) { HuWinPosSet(arg0, temp_f29, temp_f28); HuWinScaleSet(arg0, 1.0f, 1.0f); - } else { + } + else { HuWinPosSet(arg0, var_f31, var_f30); HuWinScaleSet(arg0, temp_f27, temp_f26); } HuPrcVSleep(); } -void fn_1_178C(void) { +void fn_1_178C(void) +{ HuWinInit(1); } -void fn_1_17B0(s32 arg0, float arg1, float arg2) { - WindowData* temp_r31; +void fn_1_17B0(s32 arg0, float arg1, float arg2) +{ + WindowData *temp_r31; float temp_f29; float temp_f28; float temp_f27; @@ -428,10 +430,12 @@ void fn_1_17B0(s32 arg0, float arg1, float arg2) { temp_f25 = 4.0f / temp_f27; if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { var_f31 = temp_f29 + temp_f27 - 4.0f; - } else { + } + else { if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { var_f31 = temp_f29; - } else { + } + else { var_f31 = var_f31 - 2.0f; } } @@ -439,10 +443,12 @@ void fn_1_17B0(s32 arg0, float arg1, float arg2) { temp_f24 = 4.0f / temp_f26; if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { var_f30 = temp_f28 + temp_f26 - 4.0f; - } else { + } + else { if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { var_f30 = temp_f28; - } else { + } + else { var_f30 = var_f30 - 2.0f; } } @@ -463,8 +469,9 @@ void fn_1_17B0(s32 arg0, float arg1, float arg2) { HuPrcVSleep(); } -void fn_1_1C08(s32 arg0, float arg1, float arg2) { - WindowData* temp_r31; +void fn_1_1C08(s32 arg0, float arg1, float arg2) +{ + WindowData *temp_r31; float temp_f29; float temp_f28; float temp_f27; @@ -488,10 +495,12 @@ void fn_1_1C08(s32 arg0, float arg1, float arg2) { temp_f25 = 4.0f / temp_f27; if (var_f31 + 4.0f - (temp_f29 + temp_f27) >= 0.0f) { var_f31 = temp_f29 + temp_f27 - 4.0f; - } else { + } + else { if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) { var_f31 = temp_f29; - } else { + } + else { var_f31 = var_f31 - 2.0f; } } @@ -499,10 +508,12 @@ void fn_1_1C08(s32 arg0, float arg1, float arg2) { temp_f24 = 4.0f / temp_f26; if (var_f30 + 4.0f - (temp_f28 + temp_f26) >= 0.0f) { var_f30 = temp_f28 + temp_f26 - 4.0f; - } else { + } + else { if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) { var_f30 = temp_f28; - } else { + } + else { var_f30 = var_f30 - 2.0f; } } @@ -523,12 +534,9 @@ void fn_1_1C08(s32 arg0, float arg1, float arg2) { HuPrcVSleep(); } -s32 fn_1_2060(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) { - s32 sp20[][5] = { - { 0xFF, 0xFF, 0xCC, 0x00, 0x09 }, - { 0xCC, 0xFF, 0xFF, 0x00, 0x09 }, - { 0xFF, 0xCC, 0xFF, 0x00, 0x09 } - }; +s32 fn_1_2060(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) +{ + s32 sp20[][5] = { { 0xFF, 0xFF, 0xCC, 0x00, 0x09 }, { 0xCC, 0xFF, 0xFF, 0x00, 0x09 }, { 0xFF, 0xCC, 0xFF, 0x00, 0x09 } }; float sp14[] = { 0.9f, 0.9f, 0.9f }; GXColor sp10; s32 temp_r31; @@ -543,22 +551,26 @@ s32 fn_1_2060(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) { return temp_r31; } -s32 fn_1_2230(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) { +s32 fn_1_2230(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s32 arg4) +{ return fn_1_2060(arg0, arg1, arg2, arg3, arg4); } -void fn_1_2400(s32 arg0) { +void fn_1_2400(s32 arg0) +{ HuWinMesSet(arg0, MAKE_MESSID(29, 22)); HuPrcVSleep(); fn_1_1148(arg0, 0.5f, 0.5f, 0); HuWinKill(arg0); } -void fn_1_2468(s32 arg0) { +void fn_1_2468(s32 arg0) +{ fn_1_2400(arg0); } -void fn_1_24D0(s32 arg0, s32 arg1) { +void fn_1_24D0(s32 arg0, s32 arg1) +{ s32 i; s32 var_r30; s32 temp_r28; @@ -584,7 +596,8 @@ void fn_1_24D0(s32 arg0, s32 arg1) { HuWinComKeyReset(); } -void fn_1_25B8(s32 arg0) { +void fn_1_25B8(s32 arg0) +{ s32 var_r31; s32 temp_r28; s32 i; @@ -605,13 +618,15 @@ void fn_1_25B8(s32 arg0) { var_r31 = HuWinChoiceGet(arg0, 1); if (var_r31 == -1 || var_r31 == 1) { lbl_1_bss_8 = 0; - } else { + } + else { lbl_1_bss_8 = 1; } HuWinComKeyReset(); } -void fn_1_26D4(float* arg0, s32 arg1) { +void fn_1_26D4(float *arg0, s32 arg1) +{ float spC[2]; HuWinMesMaxSizeGet(1, spC, arg1); @@ -623,29 +638,34 @@ void fn_1_26D4(float* arg0, s32 arg1) { } } -void fn_1_2744(s32 arg0, s32 arg1) { +void fn_1_2744(s32 arg0, s32 arg1) +{ winData[arg0].mess_color = 0; winData[arg0].mess_shadow_color = 9; winData[arg0].attr |= 0x80; HuWinMesSet(arg0, arg1); } -void fn_1_27C8(s32 arg0) { +void fn_1_27C8(s32 arg0) +{ if (lbl_1_bss_10 == 0) { lbl_1_bss_10 = 1; lbl_1_bss_C = arg0 * 60; } } -s32 fn_1_2800(void) { +s32 fn_1_2800(void) +{ if (lbl_1_bss_10 == 3) { return 1; - } else { + } + else { return 0; } } -void fn_1_2824(void) { +void fn_1_2824(void) +{ if (lbl_1_bss_10 == 2) { lbl_1_bss_10 = 3; lbl_1_bss_C = 30; @@ -654,7 +674,8 @@ void fn_1_2824(void) { s32 lbl_1_data_16C = -1; -void fn_1_285C(omObjData* arg0) { +void fn_1_285C(omObjData *arg0) +{ switch (lbl_1_bss_10) { case 1: if (lbl_1_data_16C == -1) { @@ -683,20 +704,22 @@ void fn_1_285C(omObjData* arg0) { } } -void fn_1_2A2C(void) { +void fn_1_2A2C(void) +{ lbl_1_bss_C = 0; lbl_1_bss_10 = 0; omAddObjEx(lbl_1_bss_0, 0x2000, 0, 0, -1, fn_1_285C); } -void fn_1_2A90(s32 arg0) { +void fn_1_2A90(s32 arg0) +{ float spC[2]; float temp_f31; float temp_f30; float temp_f28; float temp_f29; - WindowData* temp_r29; - StructBss234* var_r31; + WindowData *temp_r29; + StructBss234 *var_r31; s32 i; temp_r29 = &winData[arg0]; @@ -707,7 +730,8 @@ void fn_1_2A90(s32 arg0) { temp_f29 = temp_r29->w; for (i = 0; i < var_r31->unk00; i++) { HuWinMesMaxSizeGet(1, spC, lbl_1_data_20[var_r31->unk44[i]]); - var_r31->unk08[i] = HuWinCreate(temp_f31 + temp_f29 + 16.0f + var_r31->unk80[i][0], temp_f30 + 26.0f + var_r31->unk80[i][1], spC[0], spC[1], 1); + var_r31->unk08[i] + = HuWinCreate(temp_f31 + temp_f29 + 16.0f + var_r31->unk80[i][0], temp_f30 + 26.0f + var_r31->unk80[i][1], spC[0], spC[1], 1); winData[var_r31->unk08[i]].mess_shadow_color = 9; HuWinMesColSet(var_r31->unk08[i], 0); HuWinScissorSet(var_r31->unk08[i], temp_f31 + 20.0f, temp_f30, temp_f29 + 20.0f, temp_f28); @@ -719,14 +743,15 @@ void fn_1_2A90(s32 arg0) { HuPrcVSleep(); } -void fn_1_2D94(s32 arg0) { +void fn_1_2D94(s32 arg0) +{ float sp10[2]; float temp_f31; float temp_f29; float spC; float temp_f30; - WindowData* temp_r30; - StructBss234* var_r31; + WindowData *temp_r30; + StructBss234 *var_r31; s32 i; temp_r30 = &winData[arg0]; @@ -755,9 +780,10 @@ void fn_1_2D94(s32 arg0) { HuPrcVSleep(); } -void fn_1_3020(void) { +void fn_1_3020(void) +{ s32 i; - StructBss234* var_r30; + StructBss234 *var_r30; var_r30 = &lbl_1_bss_234; for (i = 0; i < var_r30->unk00; i++) { @@ -767,9 +793,10 @@ void fn_1_3020(void) { HuPrcVSleep(); } -void fn_1_3088(void) { +void fn_1_3088(void) +{ float sp8[2]; - StructBss234* var_r31; + StructBss234 *var_r31; s32 i; var_r31 = &lbl_1_bss_234; @@ -792,9 +819,10 @@ void fn_1_3088(void) { } } -void fn_1_31FC(omObjData* arg0) { - StructBss220* var_r29; - ModelData* temp_r30; +void fn_1_31FC(omObjData *arg0) +{ + StructBss220 *var_r29; + ModelData *temp_r30; s32 i; var_r29 = &lbl_1_bss_220; @@ -869,7 +897,8 @@ void fn_1_31FC(omObjData* arg0) { if (Hu3DMotionTimeGet(arg0->model[10]) >= 25.0f && var_r29->unk04 == 0) { var_r29->unk04 = 1; fn_1_614(1, 10, 4.0f); - } else if (Hu3DMotionTimeGet(arg0->model[10]) >= 40.0f && var_r29->unk04 == 1) { + } + else if (Hu3DMotionTimeGet(arg0->model[10]) >= 40.0f && var_r29->unk04 == 1) { var_r29->unk04 = 2; fn_1_614(1, 10, 4.0f); } @@ -891,7 +920,8 @@ void fn_1_31FC(omObjData* arg0) { } } -void fn_1_39B4(omObjData* arg0) { +void fn_1_39B4(omObjData *arg0) +{ fn_1_11818(arg0, 0, 0, 1, 2); Hu3DModelPosSet(arg0->model[1], 0.0f, 0.0f, -680.0f); fn_1_11818(arg0, 1, 1, 1, 2); @@ -912,7 +942,8 @@ void fn_1_39B4(omObjData* arg0) { arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; } -void fn_1_3BF0(omObjData* arg0) { +void fn_1_3BF0(omObjData *arg0) +{ arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 21)); arg0->motion[0] = Hu3DMotionIDGet(arg0->model[0]); Hu3DModelShadowMapSet(arg0->model[0]); @@ -973,7 +1004,8 @@ void fn_1_3BF0(omObjData* arg0) { arg0->func = fn_1_31FC; } -void fn_1_420C(omObjData* arg0) { +void fn_1_420C(omObjData *arg0) +{ s32 i; switch (arg0->work[0]) { @@ -993,8 +1025,9 @@ void fn_1_420C(omObjData* arg0) { } } -void fn_1_4304(omObjData* arg0) { - StructBss1BC* var_r30; +void fn_1_4304(omObjData *arg0) +{ + StructBss1BC *var_r30; s32 i; var_r30 = &lbl_1_bss_1BC; @@ -1015,8 +1048,9 @@ void fn_1_4304(omObjData* arg0) { arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; } -void fn_1_4594(omObjData* arg0) { - StructBss1BC* var_r30; +void fn_1_4594(omObjData *arg0) +{ + StructBss1BC *var_r30; s32 i; var_r30 = &lbl_1_bss_1BC; @@ -1041,8 +1075,9 @@ void fn_1_4594(omObjData* arg0) { arg0->func = fn_1_420C; } -void fn_1_48AC(omObjData* arg0) { - StructBss1A8* sp8; +void fn_1_48AC(omObjData *arg0) +{ + StructBss1A8 *sp8; sp8 = &lbl_1_bss_1A8; switch (arg0->work[3]) { @@ -1074,7 +1109,8 @@ void fn_1_48AC(omObjData* arg0) { } } -void fn_1_49FC(omObjData* arg0) { +void fn_1_49FC(omObjData *arg0) +{ omSetTra(arg0, 0.0f, 37.0f, -565.0f); omSetSca(arg0, 1.5f, 1.5f, 1.5f); Hu3DModelHookReset(arg0->model[0]); @@ -1082,10 +1118,11 @@ void fn_1_49FC(omObjData* arg0) { arg0->work[0] = arg0->work[1] = arg0->work[2] = arg0->work[3] = 0; } -void fn_1_4AB4(s32 arg0) { - ModelData* var_r28; - HsfData* temp_r31; - HsfMaterial* var_r30; +void fn_1_4AB4(s32 arg0) +{ + ModelData *var_r28; + HsfData *temp_r31; + HsfMaterial *var_r30; s32 i; var_r28 = &Hu3DData[arg0]; @@ -1096,8 +1133,9 @@ void fn_1_4AB4(s32 arg0) { } } -void fn_1_4B1C(omObjData* arg0) { - StructBss1A8* sp8; +void fn_1_4B1C(omObjData *arg0) +{ + StructBss1A8 *sp8; sp8 = &lbl_1_bss_1A8; arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 31)); @@ -1126,14 +1164,16 @@ void fn_1_4B1C(omObjData* arg0) { arg0->func = fn_1_48AC; } -void fn_1_4EA8(omObjData* arg0) { +void fn_1_4EA8(omObjData *arg0) +{ switch (arg0->work[3]) { case 1: arg0->work[3] = 0; if (arg0->work[0] == 0) { fn_1_11818(arg0, 0, 2, 5, 0); fn_1_11818(arg0, 1, 5, 5, 2); - } else { + } + else { fn_1_11818(arg0, 0, 3, 5, 0); } break; @@ -1142,14 +1182,16 @@ void fn_1_4EA8(omObjData* arg0) { if (arg0->work[0] == 0) { fn_1_11818(arg0, 0, 0, 30, 1); fn_1_11818(arg0, 1, 5, 30, 1); - } else { + } + else { fn_1_11818(arg0, 0, 0, 30, 1); } break; } } -void fn_1_4FB0(omObjData* arg0) { +void fn_1_4FB0(omObjData *arg0) +{ s32 temp_r30; temp_r30 = arg0->work[0]; @@ -1167,7 +1209,8 @@ void fn_1_4FB0(omObjData* arg0) { Hu3DModelLayerSet(arg0->model[1], 2); fn_1_11818(arg0, 0, 0, 1, 1); fn_1_11818(arg0, 1, 5, 1, 1); - } else { + } + else { arg0->motion[0] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 47)); arg0->motion[1] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 51)); arg0->motion[2] = Hu3DJointMotionFile(arg0->model[0], DATA_MAKE_NUM(DATADIR_M436, 52)); @@ -1184,15 +1227,17 @@ void fn_1_4FB0(omObjData* arg0) { arg0->func = fn_1_4EA8; } -s32 fn_1_538C(s32 arg0) { - StructBss3E4* temp_r31; +s32 fn_1_538C(s32 arg0) +{ + StructBss3E4 *temp_r31; temp_r31 = &lbl_1_bss_3E4[arg0]; return temp_r31->unk04; } -s32 fn_1_53B4(void) { - StructBss3E4* temp_r29; +s32 fn_1_53B4(void) +{ + StructBss3E4 *temp_r29; s32 var_r30; s32 i; @@ -1206,8 +1251,9 @@ s32 fn_1_53B4(void) { return var_r30; } -s32 fn_1_5414(s32 arg0) { - StructBss3E4* temp_r31; +s32 fn_1_5414(s32 arg0) +{ + StructBss3E4 *temp_r31; temp_r31 = &lbl_1_bss_3E4[arg0]; if (temp_r31->unk0C != 0) { @@ -1216,8 +1262,9 @@ s32 fn_1_5414(s32 arg0) { return 0; } -s32 fn_1_5450(s32 arg0) { - StructBss3E4* temp_r31; +s32 fn_1_5450(s32 arg0) +{ + StructBss3E4 *temp_r31; temp_r31 = &lbl_1_bss_3E4[arg0]; if (HuPadBtnDown[temp_r31->unk18] == 0x100) { @@ -1226,8 +1273,9 @@ s32 fn_1_5450(s32 arg0) { return 0; } -void fn_1_54A0(void) { - StructBss3E4* temp_r31; +void fn_1_54A0(void) +{ + StructBss3E4 *temp_r31; s32 sp8[4]; s32 i; @@ -1245,7 +1293,8 @@ void fn_1_54A0(void) { temp_r31->unk0C = GWPlayerCfg[temp_r31->unk04].iscom; if (temp_r31->unk0C != 0) { temp_r31->unk10 = GWPlayerCfg[temp_r31->unk04].diff; - } else { + } + else { temp_r31->unk10 = 0; } temp_r31->unk14 = GWPlayerCfg[temp_r31->unk04].character; @@ -1253,13 +1302,14 @@ void fn_1_54A0(void) { } } -s32 fn_1_5608(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6) { +s32 fn_1_5608(omObjData *arg0, Vec arg1, float arg2, float arg3, float arg4, float arg5, s32 arg6) +{ float var_f31; float var_f30; float var_f27; float var_f26; s32 var_r30; - StructBss3E4* sp18; + StructBss3E4 *sp18; var_r30 = 0; sp18 = &lbl_1_bss_3E4[arg0->work[0]]; @@ -1270,14 +1320,16 @@ s32 fn_1_5608(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, flo if (var_f27 <= arg4) { var_f31 = var_f30 = 0.0f; var_r30 = 1; - } else { + } + else { var_f31 = 72.0f * (var_f31 / var_f27); var_f30 = 72.0f * (var_f30 / var_f27); } var_f27 = arg3 * (sqrtf(var_f31 * var_f31 + var_f30 * var_f30) / 72.0f); if (var_f27 >= arg3) { var_f27 = arg3; - } else if (var_f27 <= 1.0f) { + } + else if (var_f27 <= 1.0f) { var_f31 = var_f30 = var_f27 = 0.0f; var_r30 = 1; } @@ -1292,7 +1344,8 @@ s32 fn_1_5608(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, flo if (arg0->rot.y - var_f26 < -180.0f) { arg0->rot.y += 360.0f; } - } else { + } + else { if (arg0->rot.y - var_f26 > 180.0f) { arg0->rot.y -= 360.0f; } @@ -1307,25 +1360,28 @@ s32 fn_1_5608(omObjData* arg0, Vec arg1, float arg2, float arg3, float arg4, flo if (arg6 == 0) { if (var_f27 >= 6.75f) { fn_1_11B18(arg0, 0, 2, 15, 1); - } else if (var_f27 > 0.0f) { + } + else if (var_f27 > 0.0f) { fn_1_11B18(arg0, 0, 1, 15, 1); - } else { + } + else { fn_1_11B18(arg0, 0, 0, 15, 1); } } return var_r30; } -void fn_1_5CD0(omObjData* arg0) { - StructBss3E4* sp8; - char** temp_r26; +void fn_1_5CD0(omObjData *arg0) +{ + StructBss3E4 *sp8; + char **temp_r26; s32 var_r22; s32 i, j; - ModelData* temp_r24; - HsfData* temp_r27; - HsfMaterial* var_r31; - StructBss3E4* temp_r30; - HsfAttribute* temp_r23; + ModelData *temp_r24; + HsfData *temp_r27; + HsfMaterial *var_r31; + StructBss3E4 *temp_r30; + HsfAttribute *temp_r23; sp8 = &lbl_1_bss_3E4[arg0->work[0]]; if (arg0->work[2] != 1) { @@ -1353,7 +1409,8 @@ void fn_1_5CD0(omObjData* arg0) { } } } - } else { + } + else { temp_r26 = CharModelTexNameGet(temp_r30->unk14, 2); for (i = 0; i < temp_r27->materialCnt; i++, var_r31++) { var_r22 = 1; @@ -1385,15 +1442,11 @@ void fn_1_5CD0(omObjData* arg0) { } } -void fn_1_6060(omObjData* arg0) { +void fn_1_6060(omObjData *arg0) +{ u32 temp_r29 = arg0->work[0]; - StructBss3E4* temp_r30 = &lbl_1_bss_3E4[temp_r29]; - Vec sp8[] = { - { -600.0f, 0.0f, 300.0f }, - { -600.0f, 0.0f, 150.0f }, - { -450.0f, 0.0f, 150.0f }, - { -300.0f, 0.0f, 150.0f } - }; + StructBss3E4 *temp_r30 = &lbl_1_bss_3E4[temp_r29]; + Vec sp8[] = { { -600.0f, 0.0f, 300.0f }, { -600.0f, 0.0f, 150.0f }, { -450.0f, 0.0f, 150.0f }, { -300.0f, 0.0f, 150.0f } }; arg0->model[0] = CharModelCreate(temp_r30->unk14, 2); arg0->motion[0] = CharModelMotionCreate(temp_r30->unk14, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); @@ -1415,18 +1468,15 @@ void fn_1_6060(omObjData* arg0) { } // unused -s16 gap_04_00000182_data[] = { - 0, 0x43, 0, 0x43, 1, 0x43, - 2, 0x43, 3, 0x43, 4, 0x43, - 5, 0x43, 6, 0x43, 7 -}; +s16 gap_04_00000182_data[] = { 0, 0x43, 0, 0x43, 1, 0x43, 2, 0x43, 3, 0x43, 4, 0x43, 5, 0x43, 6, 0x43, 7 }; -s32 fn_1_62C4(omObjData* arg0) { +s32 fn_1_62C4(omObjData *arg0) +{ Mtx sp8; - StructBss4A4* var_r25; - StructBssD8* var_r31; - StructBss1A8* var_r28; - StructBss3E4* temp_r27; + StructBss4A4 *var_r25; + StructBssD8 *var_r31; + StructBss1A8 *var_r28; + StructBss3E4 *temp_r27; s32 i; var_r25 = &lbl_1_bss_4A4; @@ -1473,9 +1523,11 @@ s32 fn_1_62C4(omObjData* arg0) { } if (var_r31->unk88[i] < 8.0f) { var_r31->unk68[i] += 0.025f; - } else if (var_r31->unk88[i] < 23.0f) { + } + else if (var_r31->unk88[i] < 23.0f) { var_r31->unk68[i] = 0.7f; - } else if (var_r31->unk88[i] < 31.0f) { + } + else if (var_r31->unk88[i] < 31.0f) { var_r31->unk68[i] -= 0.1f; if (var_r31->unk68[i] < 0.0f) { var_r31->unk68[i] = 0.0f; @@ -1506,16 +1558,18 @@ s32 fn_1_62C4(omObjData* arg0) { } } -void fn_1_68E8(omObjData* arg0) { - StructBss1A8* var_r30; +void fn_1_68E8(omObjData *arg0) +{ + StructBss1A8 *var_r30; var_r30 = &lbl_1_bss_1A8; fn_1_11818(var_r30->unk00, 0, 8, 5, 0); - arg0->func = (void*) fn_1_62C4; // fn_1_62C4 must return s32 to match + arg0->func = (void *)fn_1_62C4; // fn_1_62C4 must return s32 to match } -void fn_1_6944(omObjData* arg0) { - StructBssD8* var_r29; +void fn_1_6944(omObjData *arg0) +{ + StructBssD8 *var_r29; s32 i; var_r29 = &lbl_1_bss_D8; @@ -1523,7 +1577,8 @@ void fn_1_6944(omObjData* arg0) { if (i % 2 == 0) { arg0->model[i + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 44)); arg0->motion[i + 1] = Hu3DMotionIDGet(arg0->model[i + 1]); - } else { + } + else { arg0->model[i + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M436, 45)); arg0->motion[i + 1] = Hu3DMotionIDGet(arg0->model[i + 1]); } @@ -1539,11 +1594,12 @@ void fn_1_6944(omObjData* arg0) { var_r29->unk88[i] = 0.0f; } var_r29->unk04 = 1; - arg0->func = (void*) fn_1_62C4; // fn_1_62C4 must return s32 to match + arg0->func = (void *)fn_1_62C4; // fn_1_62C4 must return s32 to match } -void fn_1_6BDC(void) { - StructBss32C* var_r31; +void fn_1_6BDC(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk10 = 0.0f; @@ -1556,8 +1612,9 @@ void fn_1_6BDC(void) { fn_1_125F4(var_r31, 200.0f); } -void fn_1_6C8C(void) { - StructBss32C* var_r31; +void fn_1_6C8C(void) +{ + StructBss32C *var_r31; StructBss32C sp8; var_r31 = &lbl_1_bss_32C; @@ -1571,8 +1628,9 @@ void fn_1_6C8C(void) { fn_1_14D24(var_r31, &sp8, var_r31->unk3C++, 30.0f, 5.0f); } -void fn_1_6D64(void) { - StructBss32C* var_r31; +void fn_1_6D64(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk10 = 0.0f; @@ -1585,8 +1643,9 @@ void fn_1_6D64(void) { fn_1_125F4(var_r31, 200.0f); } -void fn_1_6E14(void) { - StructBss32C* var_r31; +void fn_1_6E14(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk10 = 0.0f; @@ -1599,8 +1658,9 @@ void fn_1_6E14(void) { fn_1_125F4(var_r31, 45.0f); } -void fn_1_6EC4(void) { - StructBss32C* var_r31; +void fn_1_6EC4(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk10 = 0.0f; @@ -1613,8 +1673,9 @@ void fn_1_6EC4(void) { fn_1_125F4(var_r31, 30.0f); } -void fn_1_6F74(void) { - StructBss32C* var_r31; +void fn_1_6F74(void) +{ + StructBss32C *var_r31; StructBss32C sp8; var_r31 = &lbl_1_bss_32C; @@ -1628,8 +1689,9 @@ void fn_1_6F74(void) { fn_1_13C48(var_r31, &sp8, var_r31->unk3C++, 10.0f, 5.0f); } -void fn_1_704C(void) { - StructBss32C* var_r31; +void fn_1_704C(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk10 = 0.0f; @@ -1642,8 +1704,9 @@ void fn_1_704C(void) { fn_1_125F4(var_r31, 20.0f); } -void fn_1_70FC(void) { - StructBss32C* var_r31; +void fn_1_70FC(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk10 = 0.0f; @@ -1656,8 +1719,9 @@ void fn_1_70FC(void) { fn_1_125F4(var_r31, 20.0f); } -void fn_1_71AC(s32 arg0) { - StructBss32C* var_r23; +void fn_1_71AC(s32 arg0) +{ + StructBss32C *var_r23; var_r23 = &lbl_1_bss_32C; fn_1_12294(var_r23); @@ -1689,9 +1753,10 @@ void fn_1_71AC(s32 arg0) { } } -void fn_1_72CC(void) { +void fn_1_72CC(void) +{ float sp18[] = { 0.0f, 0.0f }; - StructBss1A8* var_r30; + StructBss1A8 *var_r30; s32 var_r31; var_r30 = &lbl_1_bss_1A8; @@ -1712,9 +1777,10 @@ void fn_1_72CC(void) { HuPrcEnd(); } -void fn_1_77F0(void) { +void fn_1_77F0(void) +{ float sp18[] = { 0.0f, 0.0f }; - StructBss1A8* var_r30; + StructBss1A8 *var_r30; s32 var_r31; var_r30 = &lbl_1_bss_1A8; @@ -1732,17 +1798,11 @@ void fn_1_77F0(void) { HuPrcEnd(); } -void fn_1_7B58(s32 arg0) { +void fn_1_7B58(s32 arg0) +{ float sp10[2] = { 0.0f, 0.0f }; - StructBss180* var_r30 = &lbl_1_bss_180[0]; - s32 sp18[] = { - MAKE_MESSID(29, 6), - MAKE_MESSID(29, 8), - MAKE_MESSID(29, 10), - MAKE_MESSID(29, 12), - MAKE_MESSID(29, 15), - MAKE_MESSID(29, 17) - }; + StructBss180 *var_r30 = &lbl_1_bss_180[0]; + s32 sp18[] = { MAKE_MESSID(29, 6), MAKE_MESSID(29, 8), MAKE_MESSID(29, 10), MAKE_MESSID(29, 12), MAKE_MESSID(29, 15), MAKE_MESSID(29, 17) }; s32 var_r31; var_r30->unk00->work[3] = 1; @@ -1756,9 +1816,10 @@ void fn_1_7B58(s32 arg0) { fn_1_2468(var_r31); } -void fn_1_7F1C(void) { +void fn_1_7F1C(void) +{ float sp2D8[2] = { 0.0f, 0.0f }; - StructBss180* var_r30; + StructBss180 *var_r30; s32 var_r31; var_r30 = &lbl_1_bss_180[1]; @@ -1814,10 +1875,11 @@ void fn_1_7F1C(void) { HuPrcEnd(); } -void fn_1_A5A8(void) { +void fn_1_A5A8(void) +{ float sp9C[2] = { 0.0f, 0.0f }; - StructBss220* sp68; - StructBss1A8* var_r28; + StructBss220 *sp68; + StructBss1A8 *var_r28; s32 var_r31; sp68 = &lbl_1_bss_220; @@ -1859,9 +1921,10 @@ void fn_1_A5A8(void) { HuPrcEnd(); } -void fn_1_B3D4(void) { +void fn_1_B3D4(void) +{ float sp1C[2] = { 0.0f, 0.0f }; - StructBss180* var_r30; + StructBss180 *var_r30; s32 var_r31; var_r30 = &lbl_1_bss_180[1]; @@ -1878,11 +1941,11 @@ void fn_1_B3D4(void) { HuPrcEnd(); } -void fn_1_B7E0(void) { -} +void fn_1_B7E0(void) { } -s32 fn_1_B7E4(void) { - StructBss220* var_r31; +s32 fn_1_B7E4(void) +{ + StructBss220 *var_r31; var_r31 = &lbl_1_bss_220; if (fn_1_11F04(&lbl_1_bss_C0, 0) == 80) { @@ -1907,20 +1970,23 @@ s32 fn_1_B7E4(void) { return 0; } -void fn_1_B968(void) { +void fn_1_B968(void) +{ lbl_1_bss_4 = 0; HuPrcChildCreate(fn_1_72CC, 100, 0x2000, 0, HuPrcCurrentGet()); } -s32 fn_1_B9B4(void) { +s32 fn_1_B9B4(void) +{ if (lbl_1_bss_4 == 1 && fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { return fn_1_11D74(&lbl_1_bss_C0); } return 0; } -void fn_1_BA10(void) { - StructBss3E4* var_r30; +void fn_1_BA10(void) +{ + StructBss3E4 *var_r30; s32 i; lbl_1_bss_4 = 0; @@ -1931,10 +1997,11 @@ void fn_1_BA10(void) { } } -s32 fn_1_BAA4(void) { - StructBss220* var_r31; - StructBss1BC* var_r30; - StructBss220* var_r29; +s32 fn_1_BAA4(void) +{ + StructBss220 *var_r31; + StructBss1BC *var_r30; + StructBss220 *var_r29; var_r31 = &lbl_1_bss_220; var_r30 = &lbl_1_bss_1BC; @@ -1953,22 +2020,26 @@ s32 fn_1_BAA4(void) { return 0; } -void fn_1_BBA4(void) { +void fn_1_BBA4(void) +{ fn_1_71AC(10); } -s32 fn_1_BBF4(void) { +s32 fn_1_BBF4(void) +{ if (fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { return fn_1_11D74(&lbl_1_bss_C0); } return 0; } -void fn_1_BC3C(void) { +void fn_1_BC3C(void) +{ HuPrcChildCreate(fn_1_B3D4, 100, 0x2000, 0, HuPrcCurrentGet()); } -s32 fn_1_BC78(void) { +s32 fn_1_BC78(void) +{ if (lbl_1_bss_4 != 0 && fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { if (lbl_1_bss_8 != 0) { return fn_1_11D74(&lbl_1_bss_C0); @@ -1978,8 +2049,9 @@ s32 fn_1_BC78(void) { return 0; } -void fn_1_BCF8(void) { - StructBss1A8* var_r31; +void fn_1_BCF8(void) +{ + StructBss1A8 *var_r31; var_r31 = &lbl_1_bss_1A8; fn_1_11818(var_r31->unk00, 0, 12, 60, 1); @@ -1987,8 +2059,9 @@ void fn_1_BCF8(void) { HuPrcChildCreate(fn_1_7F1C, 100, 0x2000, 0, HuPrcCurrentGet()); } -s32 fn_1_BD6C(void) { - StructBss1A8* var_r31; +s32 fn_1_BD6C(void) +{ + StructBss1A8 *var_r31; var_r31 = &lbl_1_bss_1A8; if (lbl_1_bss_4 == 1 && fn_1_11F04(&lbl_1_bss_C0, 0) == 0) { @@ -2000,23 +2073,27 @@ s32 fn_1_BD6C(void) { return 0; } -void fn_1_BE1C(void) { +void fn_1_BE1C(void) +{ fn_1_71AC(11); } -s32 fn_1_BE6C(void) { +s32 fn_1_BE6C(void) +{ if (fn_1_11F04(&lbl_1_bss_C0, 1) != 0) { return fn_1_11D74(&lbl_1_bss_C0); } return 0; } -void fn_1_BEB4(void) { +void fn_1_BEB4(void) +{ lbl_1_bss_4 = 0; HuPrcChildCreate(fn_1_A5A8, 100, 0x2000, 0, HuPrcCurrentGet()); } -s32 fn_1_BF00(void) { +s32 fn_1_BF00(void) +{ if (lbl_1_bss_4 == 1) { lbl_1_bss_4 = 2; HuAudSeqFadeOut(lbl_1_bss_3A4[0], 1000); @@ -2028,23 +2105,17 @@ s32 fn_1_BF00(void) { return 0; } -StructData1E8 lbl_1_data_1E8[] = { - { fn_1_B7E0, fn_1_B7E4, 300 }, - { fn_1_B968, fn_1_B9B4, 60 }, - { fn_1_BA10, fn_1_BAA4, 60 }, - { fn_1_BBA4, fn_1_BBF4, 45 }, - { fn_1_BC3C, fn_1_BC78, 60 }, - { fn_1_BCF8, fn_1_BD6C, 60 }, - { fn_1_BE1C, fn_1_BE6C, 45 }, - { fn_1_BEB4, fn_1_BF00, 15 }, - { NULL, NULL, -1 } -}; +StructData1E8 lbl_1_data_1E8[] = { { fn_1_B7E0, fn_1_B7E4, 300 }, { fn_1_B968, fn_1_B9B4, 60 }, { fn_1_BA10, fn_1_BAA4, 60 }, + { fn_1_BBA4, fn_1_BBF4, 45 }, { fn_1_BC3C, fn_1_BC78, 60 }, { fn_1_BCF8, fn_1_BD6C, 60 }, { fn_1_BE1C, fn_1_BE6C, 45 }, + { fn_1_BEB4, fn_1_BF00, 15 }, { NULL, NULL, -1 } }; -void fn_1_BFC8(void) { +void fn_1_BFC8(void) +{ fn_1_11D18(&lbl_1_bss_C0, lbl_1_data_1E8); } -s32 fn_1_BFF8(void) { +s32 fn_1_BFF8(void) +{ s32 var_r31; var_r31 = 0; @@ -2058,11 +2129,12 @@ s32 fn_1_BFF8(void) { return var_r31; } -s32 fn_1_C090(s32 arg0, s32 arg1, s32 arg2) { - StructBss4A4* var_r28; - StructBss3E4* temp_r31; - StructBss1BC* var_r27; - StructBss234* var_r26; +s32 fn_1_C090(s32 arg0, s32 arg1, s32 arg2) +{ + StructBss4A4 *var_r28; + StructBss3E4 *temp_r31; + StructBss1BC *var_r27; + StructBss234 *var_r26; s32 var_r29; s32 var_r30; s32 spC; @@ -2083,43 +2155,52 @@ s32 fn_1_C090(s32 arg0, s32 arg1, s32 arg2) { case 0: if (arg2 <= 120) { var_r29 = 0; - } else if (var_r28->unk04 <= 3) { + } + else if (var_r28->unk04 <= 3) { temp_r31->unk24 = var_r29 = 1; - } else { + } + else { var_r29 = 0; } break; case 1: if (arg2 <= 120) { var_r29 = 0; - } else if (var_r28->unk04 <= 6) { + } + else if (var_r28->unk04 <= 6) { temp_r31->unk24 = var_r29 = 1; - } else { + } + else { var_r29 = 0; } break; case 2: if (arg2 <= 60) { var_r29 = 0; - } else if (var_r28->unk04 <= 9) { + } + else if (var_r28->unk04 <= 9) { temp_r31->unk24 = var_r29 = 1; - } else { + } + else { var_r29 = 0; } break; case 3: if (arg2 <= 60) { var_r29 = 0; - } else if (var_r28->unk04 <= 12) { + } + else if (var_r28->unk04 <= 12) { temp_r31->unk24 = var_r29 = 1; - } else { + } + else { var_r29 = 0; } break; } if (var_r29 == 0) { temp_r31->unk28 = rand8() % 8; - } else { + } + else { var_r23 = 0; for (i = 0; i <= temp_r31->unk10; i++) { temp_r22 = rand8() % 10; @@ -2136,29 +2217,35 @@ s32 fn_1_C090(s32 arg0, s32 arg1, s32 arg2) { } if (temp_r31->unk24 == 1 && temp_r31->unk28 == var_r30) { var_r30 = 99; - } else if (temp_r31->unk28 > var_r30 && temp_r31->unk00->trans.x >= var_r27->unk04[var_r30].x - 7.5f && var_r30 < 7) { + } + else if (temp_r31->unk28 > var_r30 && temp_r31->unk00->trans.x >= var_r27->unk04[var_r30].x - 7.5f && var_r30 < 7) { var_r30++; - } else if (temp_r31->unk28 < var_r30 && temp_r31->unk00->trans.x <= var_r27->unk04[var_r30].x + 7.5f && var_r30 > 0) { + } + else if (temp_r31->unk28 < var_r30 && temp_r31->unk00->trans.x <= var_r27->unk04[var_r30].x + 7.5f && var_r30 > 0) { var_r30--; } - } else { + } + else { var_r30 = arg1; if (HuPadStkX[temp_r31->unk18] > 20.0f && temp_r31->unk00->trans.x >= var_r27->unk04[var_r30].x - 7.5f && var_r30 < 7) { var_r30++; - } else if (HuPadStkX[temp_r31->unk18] < -20.0f && temp_r31->unk00->trans.x <= var_r27->unk04[var_r30].x + 7.5f && var_r30 > 0) { + } + else if (HuPadStkX[temp_r31->unk18] < -20.0f && temp_r31->unk00->trans.x <= var_r27->unk04[var_r30].x + 7.5f && var_r30 > 0) { var_r30--; - } else if (HuPadBtnDown[temp_r31->unk18] & 0x100) { + } + else if (HuPadBtnDown[temp_r31->unk18] & 0x100) { var_r30 = 99; } } return var_r30; } -void fn_1_C4E8(void) { - StructBss4A4* var_r29; - StructBss3E4* temp_r30; - StructBss1BC* var_r28; - StructBss32C* var_r31; +void fn_1_C4E8(void) +{ + StructBss4A4 *var_r29; + StructBss3E4 *temp_r30; + StructBss1BC *var_r28; + StructBss32C *var_r31; var_r29 = &lbl_1_bss_4A4; temp_r30 = &lbl_1_bss_3E4[var_r29->unk00]; @@ -2174,8 +2261,9 @@ void fn_1_C4E8(void) { fn_1_125F4(var_r31, 10.0f); } -void fn_1_C5E4(void) { - StructBss32C* var_r31; +void fn_1_C5E4(void) +{ + StructBss32C *var_r31; var_r31 = &lbl_1_bss_32C; var_r31->unk10 = 0.0f; @@ -2188,8 +2276,9 @@ void fn_1_C5E4(void) { fn_1_125F4(var_r31, 360.0f); } -void fn_1_C694(void) { - StructBss32C* var_r31; +void fn_1_C694(void) +{ + StructBss32C *var_r31; StructBss32C sp8; var_r31 = &lbl_1_bss_32C; @@ -2203,8 +2292,9 @@ void fn_1_C694(void) { fn_1_13C48(var_r31, &sp8, var_r31->unk3C++, 10.0f, 5.0f); } -void fn_1_C76C(void) { - StructBss32C* var_r31; +void fn_1_C76C(void) +{ + StructBss32C *var_r31; StructBss32C sp8; var_r31 = &lbl_1_bss_32C; @@ -2218,8 +2308,9 @@ void fn_1_C76C(void) { fn_1_13C48(var_r31, &sp8, var_r31->unk3C++, 60.0f, 10.0f); } -void fn_1_C844(s32 arg0) { - StructBss32C* var_r27; +void fn_1_C844(s32 arg0) +{ + StructBss32C *var_r27; var_r27 = &lbl_1_bss_32C; fn_1_12294(var_r27); @@ -2239,16 +2330,13 @@ void fn_1_C844(s32 arg0) { } } -void fn_1_C90C(void) { +void fn_1_C90C(void) +{ float sp28[] = { 0.0f, 0.0f }; s32 var_r28; s32 var_r31; - StructBss1A8* var_r27 = &lbl_1_bss_1A8; - s32 sp3C[] = { - MAKE_MESSID(29, 31), - MAKE_MESSID(29, 32), - MAKE_MESSID(29, 33) - }; + StructBss1A8 *var_r27 = &lbl_1_bss_1A8; + s32 sp3C[] = { MAKE_MESSID(29, 31), MAKE_MESSID(29, 32), MAKE_MESSID(29, 33) }; var_r28 = rand8() % 3; HuPrcSleep(70); @@ -2264,14 +2352,12 @@ void fn_1_C90C(void) { HuPrcEnd(); } -void fn_1_CCA4(void) { +void fn_1_CCA4(void) +{ float sp2C[] = { 0.0f, 0.0f }; s32 var_r28; s32 var_r31; - s32 sp24[] = { - MAKE_MESSID(29, 34), - MAKE_MESSID(29, 35) - }; + s32 sp24[] = { MAKE_MESSID(29, 34), MAKE_MESSID(29, 35) }; var_r28 = rand8() % 2; HuPrcSleep(40); @@ -2287,7 +2373,8 @@ void fn_1_CCA4(void) { HuPrcEnd(); } -void fn_1_D018(void) { +void fn_1_D018(void) +{ float sp2C[] = { 0.0f, 0.0f }; s32 var_r31; @@ -2304,10 +2391,11 @@ void fn_1_D018(void) { HuPrcEnd(); } -void fn_1_D344(void) { - StructBss4A4* var_r30; - StructBss3E4* temp_r31; - StructBss1A8* var_r29; +void fn_1_D344(void) +{ + StructBss4A4 *var_r30; + StructBss3E4 *temp_r31; + StructBss1A8 *var_r29; var_r30 = &lbl_1_bss_4A4; temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; @@ -2318,13 +2406,14 @@ void fn_1_D344(void) { fn_1_27C8(5); } -s32 fn_1_D418(void) { +s32 fn_1_D418(void) +{ Vec sp14; - StructBss4A4* var_r30; - StructBss3E4* temp_r31; - StructBss1BC* var_r28; - StructBss180* var_r26; - StructBss3E4* var_r25; + StructBss4A4 *var_r30; + StructBss3E4 *temp_r31; + StructBss1BC *var_r28; + StructBss180 *var_r26; + StructBss3E4 *var_r25; s32 var_r27; s32 i; @@ -2340,17 +2429,20 @@ s32 fn_1_D418(void) { if (fn_1_2800()) { temp_r31->unk20 = 1; temp_r31->unk24 = 0; - } else { + } + else { var_r27 = fn_1_C090(var_r30->unk00, temp_r31->unk1C, fn_1_11F04(&lbl_1_bss_A8, 0)); if (var_r27 == 99) { temp_r31->unk20 = 1; temp_r31->unk24 = 0; fn_1_2824(); - } else { + } + else { temp_r31->unk1C = var_r27; } } - } else if (temp_r31->unk24++ >= 60) { + } + else if (temp_r31->unk24++ >= 60) { return fn_1_11D74(&lbl_1_bss_A8); } sp14.x = var_r28->unk04[temp_r31->unk1C].x; @@ -2374,19 +2466,21 @@ s32 fn_1_D418(void) { return 0; } -void fn_1_D6C0(void) { - StructBss4A4* var_r30; +void fn_1_D6C0(void) +{ + StructBss4A4 *var_r30; var_r30 = &lbl_1_bss_4A4; var_r30->unk0C = 0; } -s32 fn_1_D6E4(void) { - StructBss4A4* var_r29; - StructBss3E4* temp_r31; - StructBss1BC* var_r30; - StructBss180* var_r26; - StructBss3E4* var_r25; +s32 fn_1_D6E4(void) +{ + StructBss4A4 *var_r29; + StructBss3E4 *temp_r31; + StructBss1BC *var_r30; + StructBss180 *var_r26; + StructBss3E4 *var_r25; s32 i; var_r29 = &lbl_1_bss_4A4; @@ -2400,17 +2494,21 @@ s32 fn_1_D6E4(void) { temp_r31->unk00->trans.z = var_r30->unk04[temp_r31->unk1C].z - 100.0f; fn_1_11B18(temp_r31->unk00, 0, 0, 10, 1); } - } else { + } + else { fn_1_11B18(temp_r31->unk00, 0, 0, 10, 1); } - } else if (fn_1_11F04(&lbl_1_bss_A8, 0) == 30) { + } + else if (fn_1_11F04(&lbl_1_bss_A8, 0) == 30) { fn_1_11990(temp_r31->unk00, 0, 5, 30, 0); - } else if (fn_1_11708(temp_r31->unk00, 0, 5, 35, 1) != 0 && var_r29->unk0C == 0) { + } + else if (fn_1_11708(temp_r31->unk00, 0, 5, 35, 1) != 0 && var_r29->unk0C == 0) { var_r29->unk0C = 1; Hu3DModelHookSet(temp_r31->unk00->model[0], CharModelHookNameGet(temp_r31->unk14, 2, 0), var_r30->unk00->model[temp_r31->unk1C + 1]); if (temp_r31->unk14 != 7) { Hu3DModelPosSet(var_r30->unk00->model[temp_r31->unk1C + 1], 0.0f, 5.0f, 0.0f); - } else { + } + else { Hu3DModelPosSet(var_r30->unk00->model[temp_r31->unk1C + 1], 0.0f, -15.0f, 0.0f); } Hu3DModelScaleSet(var_r30->unk00->model[temp_r31->unk1C + 1], 0.75f, 0.75f, 0.75f); @@ -2430,20 +2528,21 @@ s32 fn_1_D6E4(void) { // Required to match. if (0) { s32 var_r28 = 0; - (void) var_r28; - (void) var_r28; - (void) var_r28; - (void) var_r28; - (void) var_r28; - (void) var_r28; + (void)var_r28; + (void)var_r28; + (void)var_r28; + (void)var_r28; + (void)var_r28; + (void)var_r28; } return 0; } -void fn_1_DA60(void) { - StructBss4A4* var_r30; - StructBss1A8* sp8; - StructBss3E4* temp_r31; +void fn_1_DA60(void) +{ + StructBss4A4 *var_r30; + StructBss1A8 *sp8; + StructBss3E4 *temp_r31; var_r30 = &lbl_1_bss_4A4; temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; @@ -2457,14 +2556,15 @@ void fn_1_DA60(void) { Vec lbl_1_data_254 = { 0.0f, 0.0f, 0.0f }; Vec lbl_1_data_260 = { 0.0f, 0.0f, 0.0f }; // unused -s32 fn_1_DB00(void) { - StructBss4A4* var_r30; - StructBss220* var_r28; - StructBss1BC* sp8; - StructBss3E4* temp_r31; - StructBss1A8* var_r27; - StructBss180* var_r26; - StructBss3E4* var_r25; +s32 fn_1_DB00(void) +{ + StructBss4A4 *var_r30; + StructBss220 *var_r28; + StructBss1BC *sp8; + StructBss3E4 *temp_r31; + StructBss1A8 *var_r27; + StructBss180 *var_r26; + StructBss3E4 *var_r25; s32 i; var_r30 = &lbl_1_bss_4A4; @@ -2476,7 +2576,8 @@ s32 fn_1_DB00(void) { lbl_1_data_254.x = 0.0f; lbl_1_data_254.y = temp_r31->unk00->trans.y; lbl_1_data_254.z = 300.0f; - } else if (temp_r31->unk20 == 1 && fn_1_11F04(&lbl_1_bss_A8, 0) <= 320) { + } + else if (temp_r31->unk20 == 1 && fn_1_11F04(&lbl_1_bss_A8, 0) <= 320) { lbl_1_data_254.x = 0.0f; lbl_1_data_254.y = temp_r31->unk00->trans.y; lbl_1_data_254.z = -240.0f; @@ -2504,10 +2605,11 @@ s32 fn_1_DB00(void) { return 0; } -void fn_1_DDBC(void) { - StructBss4A4* var_r30; - StructBss1A8* var_r29; - StructBss3E4* temp_r31; +void fn_1_DDBC(void) +{ + StructBss4A4 *var_r30; + StructBss1A8 *var_r29; + StructBss3E4 *temp_r31; var_r30 = &lbl_1_bss_4A4; var_r29 = &lbl_1_bss_1A8; @@ -2522,14 +2624,15 @@ void fn_1_DDBC(void) { temp_r31->unk20 = temp_r31->unk24 = temp_r31->unk28 = 0; } -s32 fn_1_DEB0(void) { - StructBss4A4* var_r30; - StructBss220* var_r28; - StructBss1BC* var_r29; - StructBss3E4* temp_r31; - ModelData* temp_r27; - ModelData* temp_r26; - StructBss180* var_r25; +s32 fn_1_DEB0(void) +{ + StructBss4A4 *var_r30; + StructBss220 *var_r28; + StructBss1BC *var_r29; + StructBss3E4 *temp_r31; + ModelData *temp_r27; + ModelData *temp_r26; + StructBss180 *var_r25; var_r30 = &lbl_1_bss_4A4; var_r28 = &lbl_1_bss_220; @@ -2558,10 +2661,11 @@ s32 fn_1_DEB0(void) { return 0; } -void fn_1_E0B0(void) { - StructBss4A4* var_r31; - StructBss1A8* var_r30; - StructBss3E4* var_r29; +void fn_1_E0B0(void) +{ + StructBss4A4 *var_r31; + StructBss1A8 *var_r30; + StructBss3E4 *var_r29; var_r31 = &lbl_1_bss_4A4; var_r30 = &lbl_1_bss_1A8; @@ -2571,13 +2675,14 @@ void fn_1_E0B0(void) { fn_1_11818(var_r30->unk00, 0, 4, 1, 0); } -s32 fn_1_E144(void) { - StructBss4A4* var_r31; - StructBss220* var_r28; - StructBss1BC* var_r30; - StructBss1A8* var_r27; - StructBss3E4* temp_r29; - StructBss180* var_r25; +s32 fn_1_E144(void) +{ + StructBss4A4 *var_r31; + StructBss220 *var_r28; + StructBss1BC *var_r30; + StructBss1A8 *var_r27; + StructBss3E4 *temp_r29; + StructBss180 *var_r25; var_r31 = &lbl_1_bss_4A4; var_r28 = &lbl_1_bss_220; @@ -2606,10 +2711,11 @@ s32 fn_1_E144(void) { return 0; } -void fn_1_E38C(void) { - StructBss4A4* var_r31; - StructBss220* sp8; - StructBss1A8* var_r30; +void fn_1_E38C(void) +{ + StructBss4A4 *var_r31; + StructBss220 *sp8; + StructBss1A8 *var_r30; sp8 = &lbl_1_bss_220; var_r31 = &lbl_1_bss_4A4; @@ -2622,38 +2728,43 @@ void fn_1_E38C(void) { if (var_r31->unk04 > 3 && rand8() % 2 == 0) { var_r31->unk08 = 2; } - } else if (var_r31->unk08 == 2) { + } + else if (var_r31->unk08 == 2) { var_r31->unk08 = 1; fn_1_11818(var_r30->unk00, 0, 10, 15, 0); if (var_r31->unk04 > 6 && rand8() % 2 == 0) { var_r31->unk08 = 3; } - } else if (var_r31->unk08 == 3) { + } + else if (var_r31->unk08 == 3) { var_r31->unk08 = 1; fn_1_11818(var_r30->unk00, 0, 10, 15, 0); } } -s32 fn_1_E4CC(void) { - StructBss4A4* var_r31; - StructBss1A8* var_r30; +s32 fn_1_E4CC(void) +{ + StructBss4A4 *var_r31; + StructBss1A8 *var_r30; var_r31 = &lbl_1_bss_4A4; var_r30 = &lbl_1_bss_1A8; if (Hu3DMotionEndCheck(var_r30->unk00->model[0]) && fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { if (var_r31->unk08 != 1) { return fn_1_11E70(&lbl_1_bss_A8, 5); - } else { + } + else { return fn_1_11D74(&lbl_1_bss_A8); } } return 0; } -void fn_1_E56C(void) { - StructBss4A4* var_r31; - StructBss234* var_r30; - StructBss3E4* var_r28; +void fn_1_E56C(void) +{ + StructBss4A4 *var_r31; + StructBss234 *var_r30; + StructBss3E4 *var_r28; s32 i; var_r31 = &lbl_1_bss_4A4; @@ -2672,20 +2783,23 @@ void fn_1_E56C(void) { } } -s32 fn_1_E628(void) { - StructBss4A4* var_r31; +s32 fn_1_E628(void) +{ + StructBss4A4 *var_r31; var_r31 = &lbl_1_bss_4A4; if (var_r31->unk08 != 0) { fn_1_11E70(&lbl_1_bss_A8, 10); - } else { + } + else { fn_1_11D74(&lbl_1_bss_A8); } } -void fn_1_E680(void) { - StructBss4A4* var_r31; - StructBss1A8* var_r30; +void fn_1_E680(void) +{ + StructBss4A4 *var_r31; + StructBss1A8 *var_r30; var_r31 = &lbl_1_bss_4A4; var_r30 = &lbl_1_bss_1A8; @@ -2695,12 +2809,13 @@ void fn_1_E680(void) { HuPrcChildCreate(fn_1_C90C, 100, 0x2000, 0, HuPrcCurrentGet()); } -s32 fn_1_E710(void) { - StructBss4A4* var_r29; - StructBss1A8* var_r28; - StructBss1BC* var_r31; - StructBss3E4* temp_r30; - StructBss180* var_r27; +s32 fn_1_E710(void) +{ + StructBss4A4 *var_r29; + StructBss1A8 *var_r28; + StructBss1BC *var_r31; + StructBss3E4 *temp_r30; + StructBss180 *var_r27; var_r29 = &lbl_1_bss_4A4; var_r31 = &lbl_1_bss_1BC; @@ -2714,7 +2829,8 @@ s32 fn_1_E710(void) { var_r27 = &lbl_1_bss_180[1]; fn_1_11818(var_r27->unk00, 0, 7, 10, 0); Hu3DModelHookReset(var_r28->unk00->model[0]); - Hu3DModelPosSet(var_r31->unk00->model[temp_r30->unk1C + 1], var_r31->unk04[temp_r30->unk1C].x, var_r31->unk04[temp_r30->unk1C].y + 65.0f, var_r31->unk04[temp_r30->unk1C].z); + Hu3DModelPosSet(var_r31->unk00->model[temp_r30->unk1C + 1], var_r31->unk04[temp_r30->unk1C].x, var_r31->unk04[temp_r30->unk1C].y + 65.0f, + var_r31->unk04[temp_r30->unk1C].z); Hu3DModelRotSet(var_r31->unk00->model[temp_r30->unk1C + 1], 0.0f, 0.0f, 0.0f); Hu3DModelScaleSet(var_r31->unk00->model[temp_r30->unk1C + 1], 1.0f, 1.0f, 1.0f); } @@ -2727,10 +2843,11 @@ s32 fn_1_E710(void) { return 0; } -void fn_1_E930(void) { - StructBss4A4* var_r29; - StructBss3E4* var_r28; - StructBss180* var_r31; +void fn_1_E930(void) +{ + StructBss4A4 *var_r29; + StructBss3E4 *var_r28; + StructBss180 *var_r31; s32 var_r30; var_r29 = &lbl_1_bss_4A4; @@ -2746,17 +2863,13 @@ void fn_1_E930(void) { fn_1_C844(3); } -s32 fn_1_EA04(void) { - Vec sp14[] = { - { -600.0f, 0.0f, 300.0f }, - { -600.0f, 0.0f, 150.0f }, - { -450.0f, 0.0f, 150.0f }, - { -300.0f, 0.0f, 150.0f } - }; - StructBss4A4* var_r30; - StructBss1BC* var_r27; - StructBss3E4* temp_r31; - StructBss3E4* temp_r26; +s32 fn_1_EA04(void) +{ + Vec sp14[] = { { -600.0f, 0.0f, 300.0f }, { -600.0f, 0.0f, 150.0f }, { -450.0f, 0.0f, 150.0f }, { -300.0f, 0.0f, 150.0f } }; + StructBss4A4 *var_r30; + StructBss1BC *var_r27; + StructBss3E4 *temp_r31; + StructBss3E4 *temp_r26; s32 i; s32 var_r28; @@ -2770,7 +2883,8 @@ s32 fn_1_EA04(void) { temp_r31 = &lbl_1_bss_3E4[var_r28]; if (i != 0) { fn_1_5608(temp_r31->unk00, sp14[i], 0.0f, 9.0f, 10.0f, 8.0f, 0); - } else { + } + else { temp_r31->unk00->trans.x -= 1.0f; temp_r31->unk00->trans.z += 5.0f; temp_r31->unk00->rot.y = fn_1_110FC(temp_r31->unk00->rot.y, 0.0f, 10.0f); @@ -2808,9 +2922,10 @@ s32 fn_1_EA04(void) { return 0; } -void fn_1_ED4C(void) { - StructBss4A4* var_r31; - StructBss1A8* var_r30; +void fn_1_ED4C(void) +{ + StructBss4A4 *var_r31; + StructBss1A8 *var_r30; var_r31 = &lbl_1_bss_4A4; var_r30 = &lbl_1_bss_1A8; @@ -2818,19 +2933,21 @@ void fn_1_ED4C(void) { lbl_1_bss_4 = 0; if (var_r31->unk08 == 1) { HuPrcChildCreate(fn_1_CCA4, 100, 0x2000, 0, HuPrcCurrentGet()); - } else { + } + else { HuPrcChildCreate(fn_1_D018, 100, 0x2000, 0, HuPrcCurrentGet()); } var_r31->unk04 = var_r31->unk08 = var_r31->unk0C = 0; } -s32 fn_1_EE10(void) { - StructBss4A4* var_r30; - StructBss220* var_r26; - StructBss1BC* var_r29; - StructBss1A8* var_r27; - StructBss180* var_r31; - StructBss3E4* temp_r28; +s32 fn_1_EE10(void) +{ + StructBss4A4 *var_r30; + StructBss220 *var_r26; + StructBss1BC *var_r29; + StructBss1A8 *var_r27; + StructBss180 *var_r31; + StructBss3E4 *temp_r28; var_r30 = &lbl_1_bss_4A4; var_r26 = &lbl_1_bss_220; @@ -2857,7 +2974,8 @@ s32 fn_1_EE10(void) { lbl_1_bss_3C.x = fn_1_1113C(lbl_1_bss_78[0][3], lbl_1_bss_48[0][3], lbl_1_bss_14, 30.0f); if (lbl_1_bss_14 < 13) { lbl_1_bss_3C.y = fn_1_11164(lbl_1_bss_78[1][3], 500.0f, lbl_1_bss_14, 13.0f); - } else { + } + else { lbl_1_bss_3C.y = fn_1_112F4(500.0f, lbl_1_bss_48[1][3], lbl_1_bss_14 - 13, 17.0f); } lbl_1_bss_3C.z = fn_1_1113C(lbl_1_bss_78[2][3], lbl_1_bss_48[2][3], lbl_1_bss_14, 30.0f); @@ -2868,13 +2986,15 @@ s32 fn_1_EE10(void) { if (fn_1_11708(var_r31->unk00, 0, 4, 21, 1) != 0 && var_r30->unk08 == 0) { var_r30->unk08 = 1; Hu3DMotionSpeedSet(var_r31->unk00->model[0], 0.0f); - } else { + } + else { Hu3DModelPosSet(var_r29->unk00->model[temp_r28->unk1C + 1], lbl_1_bss_3C.x, lbl_1_bss_3C.y, lbl_1_bss_3C.z); } if (lbl_1_bss_14++ >= 30) { var_r30->unk04 = 2; } - } else if (var_r30->unk04 == 2) { + } + else if (var_r30->unk04 == 2) { Hu3DModelHookSet(var_r31->unk00->model[0], "g007m0-itemhook_c", var_r29->unk00->model[temp_r28->unk1C + 1]); Hu3DModelPosSet(var_r29->unk00->model[temp_r28->unk1C + 1], 0.0f, 0.0f, 0.0f); Hu3DMotionSpeedSet(var_r31->unk00->model[0], 1.0f); @@ -2887,13 +3007,14 @@ s32 fn_1_EE10(void) { return 0; } -void fn_1_F404(void) { - StructBss4A4* var_r29; - StructBss1A8* spC; - StructBssD8* var_r28; - StructBss180* var_r31; - StructBss180* var_r30; - StructBss3E4* sp8; +void fn_1_F404(void) +{ + StructBss4A4 *var_r29; + StructBss1A8 *spC; + StructBssD8 *var_r28; + StructBss180 *var_r31; + StructBss180 *var_r30; + StructBss3E4 *sp8; var_r29 = &lbl_1_bss_4A4; spC = &lbl_1_bss_1A8; @@ -2908,34 +3029,26 @@ void fn_1_F404(void) { fn_1_11818(var_r30->unk00, 1, 6, 30, 1); } -s32 fn_1_F4F0(void) { +s32 fn_1_F4F0(void) +{ if (fn_1_11F04(&lbl_1_bss_A8, 1) != 0) { return fn_1_11D74(&lbl_1_bss_A8); } return 0; } -StructData1E8 lbl_1_data_290[] = { - { fn_1_D344, fn_1_D418, 600 }, - { fn_1_D6C0, fn_1_D6E4, 90 }, - { fn_1_DA60, fn_1_DB00, 300 }, - { fn_1_DDBC, fn_1_DEB0, 150 }, - { fn_1_E0B0, fn_1_E144, 240 }, - { fn_1_E38C, fn_1_E4CC, 90 }, - { fn_1_E56C, fn_1_E628, 120 }, - { fn_1_E680, fn_1_E710, 120 }, - { fn_1_E930, fn_1_EA04, 120 }, - { NULL, NULL, -1 }, - { fn_1_ED4C, fn_1_EE10, -1 }, - { fn_1_F404, fn_1_F4F0, 60 }, - { NULL, NULL, -1 } -}; +StructData1E8 lbl_1_data_290[] + = { { fn_1_D344, fn_1_D418, 600 }, { fn_1_D6C0, fn_1_D6E4, 90 }, { fn_1_DA60, fn_1_DB00, 300 }, { fn_1_DDBC, fn_1_DEB0, 150 }, + { fn_1_E0B0, fn_1_E144, 240 }, { fn_1_E38C, fn_1_E4CC, 90 }, { fn_1_E56C, fn_1_E628, 120 }, { fn_1_E680, fn_1_E710, 120 }, + { fn_1_E930, fn_1_EA04, 120 }, { NULL, NULL, -1 }, { fn_1_ED4C, fn_1_EE10, -1 }, { fn_1_F404, fn_1_F4F0, 60 }, { NULL, NULL, -1 } }; -void fn_1_F538(void) { +void fn_1_F538(void) +{ fn_1_11D18(&lbl_1_bss_A8, lbl_1_data_290); } -s32 fn_1_F568(void) { +s32 fn_1_F568(void) +{ s32 var_r31; var_r31 = 0; @@ -2949,9 +3062,10 @@ s32 fn_1_F568(void) { return var_r31; } -void fn_1_F600(void) { - StructBss4A4* var_r30; - StructBss3E4* temp_r31; +void fn_1_F600(void) +{ + StructBss4A4 *var_r30; + StructBss3E4 *temp_r31; var_r30 = &lbl_1_bss_4A4; temp_r31 = &lbl_1_bss_3E4[var_r30->unk00]; @@ -2962,9 +3076,10 @@ void fn_1_F600(void) { HuPrcChildCreate(fn_1_0, 100, 0x2000, 0, HuPrcCurrentGet()); } -s32 fn_1_F6B0(void) { - StructBss4A4* var_r31; - StructBss3E4* temp_r30; +s32 fn_1_F6B0(void) +{ + StructBss4A4 *var_r31; + StructBss3E4 *temp_r30; var_r31 = &lbl_1_bss_4A4; temp_r30 = &lbl_1_bss_3E4[var_r31->unk00]; @@ -2978,16 +3093,15 @@ s32 fn_1_F6B0(void) { return 0; } -StructData1E8 lbl_1_data_32C[] = { - { fn_1_F600, fn_1_F6B0, 360 }, - { NULL, NULL, -1 } -}; +StructData1E8 lbl_1_data_32C[] = { { fn_1_F600, fn_1_F6B0, 360 }, { NULL, NULL, -1 } }; -void fn_1_F75C(void) { +void fn_1_F75C(void) +{ fn_1_11D18(&lbl_1_bss_24, lbl_1_data_32C); } -s32 fn_1_F78C(void) { +s32 fn_1_F78C(void) +{ s32 var_r31; var_r31 = 0; @@ -3001,10 +3115,11 @@ s32 fn_1_F78C(void) { return var_r31; } -void fn_1_F824(omObjData* arg0) { - StructBss1A8* sp8; - StructBss4A4* var_r30; - StructBss3E4* temp_r29; +void fn_1_F824(omObjData *arg0) +{ + StructBss1A8 *sp8; + StructBss4A4 *var_r30; + StructBss3E4 *temp_r29; s32 i; sp8 = &lbl_1_bss_1A8; @@ -3023,7 +3138,8 @@ void fn_1_F824(omObjData* arg0) { } } -void fn_1_F924(omObjData* arg0) { +void fn_1_F924(omObjData *arg0) +{ if (omSysExitReq == 1) { HuAudSeqAllFadeOut(250); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1); @@ -3031,10 +3147,11 @@ void fn_1_F924(omObjData* arg0) { } } -void fn_1_F984(void) { - StructBss180* var_r21; - StructBss4A4* var_r22; - StructBss3E4* temp_r25; +void fn_1_F984(void) +{ + StructBss180 *var_r21; + StructBss4A4 *var_r22; + StructBss3E4 *temp_r25; s32 i; fn_1_3088(); @@ -3047,13 +3164,8 @@ void fn_1_F984(void) { var_r22 = &lbl_1_bss_4A4; var_r22->unk00 = var_r22->unk04 = var_r22->unk08 = var_r22->unk0C = 0; { - StructBss1BC* var_r20 = &lbl_1_bss_1BC; - Vec sp18[] = { - { -600.0f, 0.0f, 300.0f }, - { -600.0f, 0.0f, 150.0f }, - { -450.0f, 0.0f, 150.0f }, - { -300.0f, 0.0f, 150.0f } - }; + StructBss1BC *var_r20 = &lbl_1_bss_1BC; + Vec sp18[] = { { -600.0f, 0.0f, 300.0f }, { -600.0f, 0.0f, 150.0f }, { -450.0f, 0.0f, 150.0f }, { -300.0f, 0.0f, 150.0f } }; sp18[0].z = var_r20->unk04[0].z - 100.0f; for (i = 0; i < 4; i++) { @@ -3074,7 +3186,8 @@ void fn_1_F984(void) { lbl_1_bss_3AC.unk28 = HuAudFXPlay(0x6D7); } -void fn_1_1026C(omObjData* arg0) { +void fn_1_1026C(omObjData *arg0) +{ switch (lbl_1_bss_18) { case 0: fn_1_F984(); @@ -3134,13 +3247,14 @@ void fn_1_1026C(omObjData* arg0) { fn_1_F924(arg0); } -void fn_1_10670(omObjData* arg0) { - StructBss220* var_r28; - StructBss1BC* var_r27; - StructBss1A8* var_r26; - StructBss180* temp_r30; - StructBss3E4* temp_r29; - StructBssD8* var_r25; +void fn_1_10670(omObjData *arg0) +{ + StructBss220 *var_r28; + StructBss1BC *var_r27; + StructBss1A8 *var_r26; + StructBss180 *temp_r30; + StructBss3E4 *temp_r29; + StructBssD8 *var_r25; s32 i; var_r28 = &lbl_1_bss_220; @@ -3167,7 +3281,8 @@ void fn_1_10670(omObjData* arg0) { #include "src/REL/executor.c" -void fn_1_108DC(void) { +void fn_1_108DC(void) +{ lbl_1_bss_0 = omInitObjMan(62, 0x2000); omGameSysInit(lbl_1_bss_0); fn_1_1A8(); @@ -3179,6 +3294,7 @@ void fn_1_108DC(void) { omAddObjEx(lbl_1_bss_0, 0x1000, 0, 0, -1, fn_1_10670); } -void ObjectSetup(void) { +void ObjectSetup(void) +{ fn_1_108DC(); } diff --git a/src/REL/m438Dll/main.c b/src/REL/m438Dll/main.c index 2c4c80b4..26583249 100644 --- a/src/REL/m438Dll/main.c +++ b/src/REL/m438Dll/main.c @@ -9,7 +9,6 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/m438Dll.h" diff --git a/src/REL/m439Dll/main.c b/src/REL/m439Dll/main.c index f89c03d4..8e761bba 100644 --- a/src/REL/m439Dll/main.c +++ b/src/REL/m439Dll/main.c @@ -20,8 +20,6 @@ #include "ext_math.h" -#include "rel_sqrt_consts.h" - #include "REL/m439data.h" typedef struct camera_params { diff --git a/src/REL/m440Dll/main.c b/src/REL/m440Dll/main.c index 4f9c8c9e..e200145c 100644 --- a/src/REL/m440Dll/main.c +++ b/src/REL/m440Dll/main.c @@ -12,7 +12,7 @@ #include "game/sprite.h" #include "game/wipe.h" #include "math.h" -#include "rel_sqrt_consts.h" + #include "string.h" // bss diff --git a/src/REL/m441Dll/main.c b/src/REL/m441Dll/main.c index fcb990a5..10409258 100644 --- a/src/REL/m441Dll/main.c +++ b/src/REL/m441Dll/main.c @@ -21,7 +21,6 @@ #include "game/sprite.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) diff --git a/src/REL/m442Dll/main.c b/src/REL/m442Dll/main.c index 38b861b7..b6e60e1e 100644 --- a/src/REL/m442Dll/main.c +++ b/src/REL/m442Dll/main.c @@ -12,7 +12,6 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/m442Dll.h" diff --git a/src/REL/m443Dll/main.c b/src/REL/m443Dll/main.c index d149d47d..5b22d7c6 100644 --- a/src/REL/m443Dll/main.c +++ b/src/REL/m443Dll/main.c @@ -11,7 +11,7 @@ #include "game/sprite.h" #include "game/wipe.h" #include "math.h" -#include "rel_sqrt_consts.h" + #include "string.h" #ifndef __MWERKS__ @@ -806,7 +806,6 @@ void fn_1_3770(omObjData *arg0) s32 var_r30; s32 var_r29; M443DllCameraStruct *var_r28; - omObjData *var_r27; s32 var_r26; u32 var_r25; s32 var_r24; diff --git a/src/REL/m444dll/main.c b/src/REL/m444dll/main.c index 4a2c8b7e..12db5f84 100644 --- a/src/REL/m444dll/main.c +++ b/src/REL/m444dll/main.c @@ -19,8 +19,6 @@ #include "ext_math.h" #include "math.h" -#include "rel_sqrt_consts.h" - typedef struct camera_view_params { Vec rot; Vec pos; diff --git a/src/REL/m445Dll/main.c b/src/REL/m445Dll/main.c index 5056e81c..67dbe9d3 100755 --- a/src/REL/m445Dll/main.c +++ b/src/REL/m445Dll/main.c @@ -18,7 +18,6 @@ #include "dolphin.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" typedef struct { /* 0x00 */ s16 unk00; diff --git a/src/REL/m448Dll/main.c b/src/REL/m448Dll/main.c index 6c160d1c..8309a194 100755 --- a/src/REL/m448Dll/main.c +++ b/src/REL/m448Dll/main.c @@ -20,7 +20,6 @@ #include "dolphin.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" typedef struct { /* 0x00 */ s32 unk00; diff --git a/src/REL/m450Dll/main.c b/src/REL/m450Dll/main.c index d52324b8..cca17e4b 100644 --- a/src/REL/m450Dll/main.c +++ b/src/REL/m450Dll/main.c @@ -31,7 +31,6 @@ #include "game/sprite.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" #include "game/window.h" #include "string.h" @@ -930,7 +929,7 @@ void fn_1_2C1C(WorkPlayerOld *player, omObjData *obj, s32 arg2, s32 arg3, s32 *a player->unk_10 = NULL; player->unk_50 = NULL; player->unk_64 = 0; - player->unk_68 = 0; + player->unk_68 = NULL; player->unk_38 = 0; player->unk_3C = 0; player->unk_44 = arg5; @@ -978,7 +977,7 @@ void fn_1_2DC8(WorkPlayerOld *player, s32 count, Vec *data) void fn_1_2DD4(WorkPlayerOld *player) { omSetTra(player->unk_00, player->unk_6C.x, player->unk_6C.y, player->unk_6C.z); - omSetRot(player->unk_00, 0, player->unk_9C, 0); + omSetRot(player->unk_00, 0.0f, player->unk_9C, 0.0f); } void fn_1_2E34(WorkPlayerOld *player) @@ -1123,12 +1122,7 @@ void fn_1_3CE0(WorkPlayerOld *player, s32 *state, u32 *motAttr) } if (player->unk_14[3] >= 0 && (player->unk_28 & 0x100)) { - player->unk_38 = 1; - player->unk_84.y = 26.766666f; - player->unk_A4 = 1; - if (player->unk_3C & 0x2) { - player->unk_3C &= ~0x2; - } + fn_1_2BD0(player, 26.766666f, 1.0f); *motAttr = HU3D_MOTATTR_NONE; *state = 3; } @@ -1181,12 +1175,7 @@ void fn_1_3ECC(WorkPlayerOld *player, s32 *state, u32 *motAttr) void fn_1_3F84(WorkPlayerOld *player, s32 *state, u32 *motAttr) { if (Hu3DMotionShiftIDGet(player->unk_00->model[0]) < 0 && Hu3DMotionEndCheck(player->unk_00->model[0])) { - player->unk_38 = 1; - player->unk_84.y = 0; - player->unk_A4 = 0; - if (player->unk_3C & 0x2) { - player->unk_3C &= ~0x2; - } + fn_1_2BD0(player, 0.0f, 0.0f); } } @@ -1352,12 +1341,8 @@ void fn_1_40C0(WorkPlayerOld *player) player->unk_3C |= 0x800; } else { - player->unk_38 = 1; - player->unk_84.y = 0.0f; - player->unk_A4 = 0.0f; - if ((player->unk_3C & 2) != 0) { - player->unk_3C &= ~2; - } + fn_1_2BD0(player, 0.0f, 0.0f); + motAttr = HU3D_MOTATTR_NONE; state = 3; } @@ -6582,12 +6567,7 @@ s32 fn_1_1C898(UnkM450Struct5 *var_r31, omObjData *var_r30) HuAudCharVoicePlay(var_r31->unk_11C, 0x123); var_r31->unk_FC |= 0x10; var_r31->unk_00.unk_3C |= 0x210; - var_r31->unk_00.unk_38 = 1; - var_r31->unk_00.unk_84.y = 48.179996f; - var_r31->unk_00.unk_A4 = 0.0f; - if (var_r31->unk_00.unk_3C & 2) { - var_r31->unk_00.unk_3C &= ~0x2; - } + fn_1_2BD0(&var_r31->unk_00, 48.179996f, 0.0f); Hu3DMotionShiftSet(var_r30->model[0], var_r30->motion[8], 0.0f, 8.0f, 0); if (fn_1_125C0(0, 1) <= 0) { var_r31->unk_FC |= 0x80000; @@ -6599,12 +6579,7 @@ s32 fn_1_1C898(UnkM450Struct5 *var_r31, omObjData *var_r30) HuAudCharVoicePlay(var_r31->unk_11C, 0x123); var_r31->unk_FC |= 0x100; var_r31->unk_00.unk_3C |= 0x210; - var_r31->unk_00.unk_38 = 1; - var_r31->unk_00.unk_84.y = 0.0f; - var_r31->unk_00.unk_A4 = 0.0f; - if (var_r31->unk_00.unk_3C & 2) { - var_r31->unk_00.unk_3C &= ~0x2; - } + fn_1_2BD0(&var_r31->unk_00, 0.0f, 0.0f); if (fn_1_125C0(0, 1) <= 0) { var_r31->unk_FC |= 0x80000; } @@ -6715,12 +6690,7 @@ void fn_1_1E150(omObjData *var_r29) HuAudCharVoicePlay(var_r31->unk_11C, 0x123); var_r31->unk_FC |= 0x800000; var_r31->unk_118 = 0x7EB; - var_r31->unk_00.unk_38 = 1; - var_r31->unk_00.unk_84.y = 53.533333f; - var_r31->unk_00.unk_A4 = 0.0f; - if (var_r31->unk_00.unk_3C & 2) { - var_r31->unk_00.unk_3C &= ~0x2; - } + fn_1_2BD0(&var_r31->unk_00, 53.533333f, 0.0f); Hu3DMotionSet(var_r29->model[0], var_r29->motion[8]); Hu3DModelAttrReset(var_r29->model[0], HU3D_ATTR_DISPOFF); fn_1_125C0(0, 0); @@ -7129,12 +7099,7 @@ void fn_1_20170(omObjData *var_r30) var_r29->unk_00.unk_A8 = MapPos( var_r29->unk_00.unk_6C.x, var_r29->unk_00.unk_6C.y, var_r29->unk_00.unk_6C.z, var_r29->unk_00.unk_C0, &var_r29->unk_00.unk_AC); if (var_r29->unk_00.unk_A8 > var_r29->unk_00.unk_6C.y) { - var_r31->unk_00.unk_38 = 1; - var_r31->unk_00.unk_84.y = 53.533333f; - var_r31->unk_00.unk_A4 = 0.0f; - if (var_r31->unk_00.unk_3C & 2) { - var_r31->unk_00.unk_3C &= ~2; - } + fn_1_2BD0(&var_r31->unk_00, 53.533333f, 0.0f); } var_f31 = var_r29->unk_00.unk_6C.x; var_f30 = var_r29->unk_00.unk_6C.z; diff --git a/src/REL/m451Dll/m451.c b/src/REL/m451Dll/m451.c index 280fe651..05d6adaa 100644 --- a/src/REL/m451Dll/m451.c +++ b/src/REL/m451Dll/m451.c @@ -17,8 +17,6 @@ #include "game/gamework_data.h" -#include "rel_sqrt_consts.h" - typedef struct bss_348_data { s16 unk0[5]; s16 unkA; diff --git a/src/REL/m453Dll/main.c b/src/REL/m453Dll/main.c index 3e07c4b1..2c8f9116 100644 --- a/src/REL/m453Dll/main.c +++ b/src/REL/m453Dll/main.c @@ -12,7 +12,7 @@ #include "game/pad.h" #include "game/sprite.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" + #include "string.h" #include "REL/m453Dll.h" diff --git a/src/REL/m455Dll/main.c b/src/REL/m455Dll/main.c index 3a41ee0b..2a2c634a 100644 --- a/src/REL/m455Dll/main.c +++ b/src/REL/m455Dll/main.c @@ -1,25 +1,24 @@ +#include "game/hsfdraw.h" +#include "game/hsfman.h" #include "game/object.h" #include "game/objsub.h" -#include "game/hsfman.h" -#include "game/hsfdraw.h" + #include "game/hsfmotion.h" #include "game/pad.h" -#include "game/wipe.h" -#include "game/frand.h" -#include "game/audio.h" -#include "game/minigame_seq.h" -#include "game/gamework_data.h" -#include "game/chrman.h" #include "REL/m455Dll.h" +#include "game/audio.h" +#include "game/chrman.h" +#include "game/frand.h" +#include "game/gamework_data.h" +#include "game/minigame_seq.h" +#include "game/wipe.h" + #include "ext_math.h" #include "math.h" -#include "rel_sqrt_consts.h" - - typedef struct camera_view_params { float zoom; Vec pos; @@ -51,7 +50,6 @@ Vec lbl_1_bss_8; s16 lbl_1_bss_4; s32 lbl_1_bss_0; - void fn_1_330(omObjData *object); void fn_1_B94(Process *objman); void fn_1_2A90(Process *objman); @@ -68,9 +66,9 @@ void ObjectSetup(void) Hu3DCameraPerspectiveSet(HU3D_CAM0, -1, 20, 25000, 1.2f); Hu3DCameraViewportSet(HU3D_CAM0, 0, 0, 640, 480, 0, 1); lbl_1_bss_3C = omAddObjEx(objman, 32730, 0, 0, -1, omOutView); - lbl_1_bss_8.x = lbl_1_data_44.x-lbl_1_data_38.x; - lbl_1_bss_8.y = lbl_1_data_44.y-lbl_1_data_38.y; - lbl_1_bss_8.z = lbl_1_data_44.z-lbl_1_data_38.z; + lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x; + lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y; + lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z; PSVECNormalize(&lbl_1_bss_8, &lbl_1_bss_8); light = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50); Hu3DGLightInfinitytSet(light); @@ -107,7 +105,7 @@ void fn_1_330(omObjData *object) lbl_1_bss_24 = 60; lbl_1_bss_22 = -1; lbl_1_bss_20 = 0; - lbl_1_bss_16 = ((frand16()*270.0f)/65536.0f)+30.0f; + lbl_1_bss_16 = ((frand16() * 270.0f) / 65536.0f) + 30.0f; WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); camera->fov = 30.0f; object->func = fn_1_478; @@ -152,115 +150,114 @@ s16 lbl_1_data_90 = -1; s32 lbl_1_data_94 = -1; s32 lbl_1_data_98 = -1; - - void fn_1_478(omObjData *object) { s32 i; omObjData **playerList; M455Player *player; - - switch(fn_1_320()) { + + switch (fn_1_320()) { case 0: - if(lbl_1_data_98 < 0) { + if (lbl_1_data_98 < 0) { lbl_1_data_98 = HuAudFXPlay(1985); } - if(--lbl_1_bss_2C == 0) { + if (--lbl_1_bss_2C == 0) { fn_1_310(1); lbl_1_bss_2C = 120; } break; - + case 1: - if(--lbl_1_bss_2C == 0) { + if (--lbl_1_bss_2C == 0) { fn_1_310(2); lbl_1_bss_4 = MGSeqStartCreate(); } break; - + case 2: - if(!MGSeqStatGet(lbl_1_bss_4)) { + if (!MGSeqStatGet(lbl_1_bss_4)) { fn_1_310(3); } - if(lbl_1_data_94 < 0 && (MGSeqStatGet(lbl_1_bss_4) & 0x10)) { + if (lbl_1_data_94 < 0 && (MGSeqStatGet(lbl_1_bss_4) & 0x10)) { lbl_1_data_94 = HuAudSeqPlay(60); } break; - + case 3: - if(--lbl_1_bss_24 == 0) { + if (--lbl_1_bss_24 == 0) { lbl_1_bss_26--; - if(lbl_1_data_90 >= 0) { + if (lbl_1_data_90 >= 0) { MGSeqParamSet(lbl_1_data_90, 1, lbl_1_bss_26); } lbl_1_bss_24 = 60; - if(lbl_1_bss_26 == 10) { + if (lbl_1_bss_26 == 10) { lbl_1_data_90 = MGSeqTimerCreate(10); } } - if(lbl_1_bss_16 >= 0) { + if (lbl_1_bss_16 >= 0) { lbl_1_bss_16--; } - if(lbl_1_bss_26 == 0 || fn_1_C90()) { + if (lbl_1_bss_26 == 0 || fn_1_C90()) { fn_1_310(4); lbl_1_bss_4 = MGSeqFinishCreate(); HuAudSeqFadeOut(lbl_1_data_94, 100); } break; - + case 4: - if(lbl_1_data_90 >= 0) { + if (lbl_1_data_90 >= 0) { MGSeqParamSet(lbl_1_data_90, 2, -1); lbl_1_data_90 = -1; } - if(!MGSeqStatGet(lbl_1_bss_4)) { + if (!MGSeqStatGet(lbl_1_bss_4)) { fn_1_310(7); lbl_1_bss_2C = 120; } break; - + case 7: - if(--lbl_1_bss_2C == 0) { + if (--lbl_1_bss_2C == 0) { fn_1_310(9); - if(lbl_1_bss_30 >= 0) { + if (lbl_1_bss_30 >= 0) { HuAudSStreamPlay(1); playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for(i=0; i<4; i++) { + for (i = 0; i < 4; i++) { player = playerList[i]->data; - if(player->unk28 < 0) { - GWPlayerCoinWinSet(i, lbl_1_bss_22+1); + if (player->unk28 < 0) { + GWPlayerCoinWinSet(i, lbl_1_bss_22 + 1); } } - } else { + } + else { HuAudSStreamPlay(4); - for(i=0; i<4; i++) { + for (i = 0; i < 4; i++) { GWPlayerCoinWinSet(i, 3); } } lbl_1_bss_2C = 210; } break; - + case 9: - if(--lbl_1_bss_2C == 0) { + if (--lbl_1_bss_2C == 0) { WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); HuAudFXStop(lbl_1_data_98); object->func = fn_1_B38; } break; } - if(lbl_1_bss_20) { - if(lbl_1_bss_20 >= 2) { - for(i=0; i<100; i++){ - s32 srcIdx = (frand8()*lbl_1_bss_20) >> 8; - s32 dstIdx = (frand8()*lbl_1_bss_20) >> 8; + if (lbl_1_bss_20) { + if (lbl_1_bss_20 >= 2) { + for (i = 0; i < 100; i++) { + s32 srcIdx = (frand8() * lbl_1_bss_20) >> 8; + s32 dstIdx = (frand8() * lbl_1_bss_20) >> 8; s32 temp = lbl_1_bss_18[srcIdx]; lbl_1_bss_18[srcIdx] = lbl_1_bss_18[dstIdx]; lbl_1_bss_18[dstIdx] = temp; } } playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for(i=0; idata; @@ -268,7 +265,7 @@ void fn_1_478(omObjData *object) } lbl_1_bss_20 = 0; } - if(omSysExitReq && !WipeStatGet()) { + if (omSysExitReq && !WipeStatGet()) { WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); object->func = fn_1_B38; } @@ -276,7 +273,7 @@ void fn_1_478(omObjData *object) void fn_1_B38(omObjData *object) { - if(WipeStatGet()) { + if (WipeStatGet()) { return; } fn_1_C28(); @@ -295,9 +292,8 @@ void fn_1_B94(Process *objman) lbl_1_bss_28 = 0; lbl_1_bss_14 = 3; omMakeGroupEx(objman, 0, 4); - for(i=0; i<4; i++) { + for (i = 0; i < 4; i++) { omAddObjEx(objman, 5, 10, 50, 0, fn_1_D14); - } } @@ -308,10 +304,10 @@ void fn_1_C28(void) s32 i; omObjData **playerList; playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - if(playerList == NULL) { + if (playerList == NULL) { return; } - for(i=0; i<4; i++) { + for (i = 0; i < 4; i++) { fn_1_2010(playerList[i]); } } @@ -321,9 +317,9 @@ s32 fn_1_C90(void) s32 i; omObjData **playerList; playerList = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); - for(i=0; i<4; i++) { + for (i = 0; i < 4; i++) { M455Player *player = playerList[i]->data; - if(!player->field1) { + if (!player->field1) { return 0; } } @@ -333,11 +329,16 @@ s32 fn_1_C90(void) s32 fn_1_3214(void); u32 lbl_1_data_E0[5][2] = { - 0x5F0000, 0, - 0x540024, 1, - 0x54001C, 1, - 0x5F0017, 0, - 0x5F0018, 0, + 0x5F0000, + 0, + 0x540024, + 1, + 0x54001C, + 1, + 0x5F0017, + 0, + 0x5F0018, + 0, }; Vec lbl_1_data_108[4] = { @@ -372,13 +373,14 @@ void fn_1_D14(omObjData *object) Hu3DModelCameraSet(object->model[0], HU3D_CAM0); object->model[1] = Hu3DModelCreateFile(0x540002); Hu3DModelHookSet(object->model[0], "test11_tex_we-itemhook-r", object->model[1]); - Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_SHAPE_PAUSE|HU3D_MOTATTR_PAUSE); + Hu3DModelAttrSet(object->model[1], HU3D_MOTATTR_SHAPE_PAUSE | HU3D_MOTATTR_PAUSE); player->unk1C = 1; - for(i=0; i<5; i++) { - if(lbl_1_data_E0[i][1] == 0) { + for (i = 0; i < 5; i++) { + if (lbl_1_data_E0[i][1] == 0) { object->motion[i] = CharModelMotionCreate(player->unk10, lbl_1_data_E0[i][0]); - } else { - object->motion[i] = CharModelMotionCreate(player->unk10, player->unk10+lbl_1_data_E0[i][0]); + } + else { + object->motion[i] = CharModelMotionCreate(player->unk10, player->unk10 + lbl_1_data_E0[i][0]); } } Hu3DMotionSet(object->model[0], object->motion[player->unk1C]); @@ -400,7 +402,7 @@ void fn_1_D14(omObjData *object) Hu3DMotionSet(object->model[4], i); Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_LOOP); Hu3DModelAttrSet(object->model[4], HU3D_MOTATTR_PAUSE); - player->unk4C.x = object->trans.x+(50.0f*((((s32)frand() & 0x1FF)-256.0f)/256.0f)); + player->unk4C.x = object->trans.x + (50.0f * ((((s32)frand() & 0x1FF) - 256.0f) / 256.0f)); player->unk4C.y = -200; player->unk4C.z = -1500; Hu3DModelPosSetV(object->model[4], &player->unk4C); @@ -413,13 +415,14 @@ void fn_1_D14(omObjData *object) player->unk34[1].z = -1000; CharModelDataClose(player->unk10); object->rot.y = 180; - if(((s32)frand() & 0x1F) < 4-player->unk12) { - player->unk58 = lbl_1_bss_16-(60.0f*(0.05f*(4-player->unk12)))-((frand8()/256.0f)*6.0f); - if(player->unk58 < 0) { + if (((s32)frand() & 0x1F) < 4 - player->unk12) { + player->unk58 = lbl_1_bss_16 - (60.0f * (0.05f * (4 - player->unk12))) - ((frand8() / 256.0f) * 6.0f); + if (player->unk58 < 0) { player->unk58 = 0; } - } else { - player->unk58 = lbl_1_bss_16+(60.0f*(0.1f*(4-player->unk12)))+((frand8()/256.0f)*30.0f)+6.0f; + } + else { + player->unk58 = lbl_1_bss_16 + (60.0f * (0.1f * (4 - player->unk12))) + ((frand8() / 256.0f) * 30.0f) + 6.0f; } player->unk28 = -1; object->func = fn_1_1444; @@ -428,25 +431,17 @@ void fn_1_D14(omObjData *object) void fn_1_1400(omObjData *object) { M455Player *player = object->data; - if(player->unk58 != 0) { + if (player->unk58 != 0) { player->unk58--; - } else { + } + else { player->unkA |= PAD_BUTTON_A; } } -float lbl_1_data_154[4] = { - -350, - -170, - 170, - 350 -}; +float lbl_1_data_154[4] = { -350, -170, 170, 350 }; -float lbl_1_data_164[3] = { - 1.5f, - 1.0f, - 0.5f -}; +float lbl_1_data_164[3] = { 1.5f, 1.0f, 0.5f }; float fn_1_2390(float arg0, float arg1, float arg2); s32 fn_1_24F0(Vec *arg0, Vec *arg1, float arg2); @@ -461,38 +456,39 @@ void fn_1_1444(omObjData *object) Vec spC; float temp_f31; - temp_r31 = object->data; temp_r29 = temp_r31->unk1C; temp_r28 = temp_r31->unk20; object->trans.y = fn_1_687C(); - if(fn_1_320() < 3) { + if (fn_1_320() < 3) { return; } - switch(temp_r31->unk16) { + switch (temp_r31->unk16) { case 0: - if(fn_1_320() == 4 || lbl_1_bss_14 == 0) { + if (fn_1_320() == 4 || lbl_1_bss_14 == 0) { temp_r31->field1 = 1; temp_r31->unk16 = 2; espDispOff(temp_r31->unk2A); return; } - if(!GWPlayerCfg[temp_r31->unk2].iscom) { + if (!GWPlayerCfg[temp_r31->unk2].iscom) { temp_r31->unk6 = HuPadStkX[temp_r31->unk4]; temp_r31->unk7 = HuPadStkY[temp_r31->unk4]; temp_r31->unk8 = HuPadBtn[temp_r31->unk4]; temp_r31->unkA = HuPadBtnDown[temp_r31->unk4]; - } else { + } + else { temp_r31->unk8 = temp_r31->unkA = 0; temp_r31->unk6 = temp_r31->unk7 = 0; fn_1_1400(object); } - if(lbl_1_bss_16 == 0) { - if(temp_r31->unkC) { + if (lbl_1_bss_16 == 0) { + if (temp_r31->unkC) { omVibrate(temp_r31->unk2, 12, 12, 0); - } else { + } + else { sp18.x = object->trans.x; - sp18.y = object->trans.y+300; + sp18.y = object->trans.y + 300; sp18.z = object->trans.z; Hu3D3Dto2D(&sp18, HU3D_CAM0, &sp18); espPosSet(temp_r31->unk2A, sp18.x, sp18.y); @@ -501,31 +497,30 @@ void fn_1_1444(omObjData *object) } temp_r31->unk2C = temp_r31->unk2E = 30; } - - if(temp_r31->unkA & PAD_BUTTON_A) { + + if (temp_r31->unkA & PAD_BUTTON_A) { temp_r31->unk16 = 1; temp_r31->unk24 = temp_r31->unk26 = 90; temp_r31->unk2C = -1; - if(lbl_1_bss_16 <= 0) { + if (lbl_1_bss_16 <= 0) { lbl_1_bss_18[lbl_1_bss_20++] = temp_r31->unk2; } - Hu3DModelAttrReset(object->model[1], HU3D_MOTATTR_SHAPE_PAUSE|HU3D_MOTATTR_PAUSE); + Hu3DModelAttrReset(object->model[1], HU3D_MOTATTR_SHAPE_PAUSE | HU3D_MOTATTR_PAUSE); Hu3DMotionSpeedSet(object->model[1], 1.2f); Hu3DMotionShapeSpeedSet(object->model[1], 1.2f); HuAudFXPlay(1986); - } temp_r29 = 1; temp_r28 = HU3D_MOTATTR_LOOP; break; - + case 1: temp_r29 = 2; temp_r28 = HU3D_MOTATTR_NONE; - if(!temp_r31->field0) { - if(temp_r31->unk28 >= 0 && temp_r31->unk28 < 3) { + if (!temp_r31->field0) { + if (temp_r31->unk28 >= 0 && temp_r31->unk28 < 3) { temp_r31->field0 = 1; - if(temp_r31->unk28 == 0) { + if (temp_r31->unk28 == 0) { lbl_1_bss_30 = temp_r31->unk2; } temp_f31 = lbl_1_data_164[temp_r31->unk28]; @@ -533,13 +528,13 @@ void fn_1_1444(omObjData *object) Hu3DModelAttrReset(object->model[4], HU3D_ATTR_DISPOFF); } } - temp_f31 = 1.0f-((float)temp_r31->unk24/temp_r31->unk26); + temp_f31 = 1.0f - ((float)temp_r31->unk24 / temp_r31->unk26); sp24[0].x = temp_r31->unk4C.x; sp24[0].y = temp_r31->unk4C.y; sp24[0].z = temp_r31->unk4C.z; sp24[1].x = object->trans.x; - sp24[1].y = object->trans.y+1500; - sp24[1].z = object->trans.z-200; + sp24[1].y = object->trans.y + 1500; + sp24[1].z = object->trans.z - 200; sp24[2].x = lbl_1_data_154[temp_r31->unk2]; sp24[2].y = 0; sp24[2].z = 150; @@ -547,32 +542,32 @@ void fn_1_1444(omObjData *object) VECSubtract(&sp18, &Hu3DData[object->model[4]].pos, &spC); Hu3DModelRotSet(object->model[4], atan2d(-spC.y, VECMagXZ(&spC)), atan2d(spC.x, spC.z), 0); Hu3DModelPosSetV(object->model[4], &sp18); - if(sp18.y > 0.0f) { - if(!temp_r31->field2 && temp_r31->field0) { + if (sp18.y > 0.0f) { + if (!temp_r31->field2 && temp_r31->field0) { fn_1_6CB0(&sp18, -1); fn_1_6698(&sp18, -1, -1, -1); temp_r31->field2 = 1; } } - temp_r31->unk34[0].x = temp_f31*(2.0f*lbl_1_data_154[temp_r31->unk2]); - temp_r31->unk34[0].y = -200.0f+(-400.0f*temp_f31); - temp_r31->unk34[0].z = -500.0f+(-1500.0f*temp_f31); - temp_r31->unk34[1].x = temp_f31*lbl_1_data_154[temp_r31->unk2]; - temp_r31->unk34[1].y = -200.0f+(400.0f*temp_f31); - temp_r31->unk34[1].z = -1000.0f+(750.0f*temp_f31); - if(--temp_r31->unk24 == 0) { + temp_r31->unk34[0].x = temp_f31 * (2.0f * lbl_1_data_154[temp_r31->unk2]); + temp_r31->unk34[0].y = -200.0f + (-400.0f * temp_f31); + temp_r31->unk34[0].z = -500.0f + (-1500.0f * temp_f31); + temp_r31->unk34[1].x = temp_f31 * lbl_1_data_154[temp_r31->unk2]; + temp_r31->unk34[1].y = -200.0f + (400.0f * temp_f31); + temp_r31->unk34[1].z = -1000.0f + (750.0f * temp_f31); + if (--temp_r31->unk24 == 0) { temp_r31->unk16 = 2; temp_r31->field1 = 1; - if(temp_r31->field0) { + if (temp_r31->field0) { Hu3DModelAttrReset(object->model[4], HU3D_MOTATTR_PAUSE); Hu3DModelRotSet(object->model[4], 0, 0, 0); lbl_1_bss_14--; } } break; - + case 2: - if(fn_1_320() == 7) { + if (fn_1_320() == 7) { temp_r31->unk16 = 3; Hu3DModelObjPosGet(object->model[0], "test11_tex_we-itemhook-r", &sp18); CharModelEffectCreate(1, &sp18); @@ -580,46 +575,50 @@ void fn_1_1444(omObjData *object) Hu3DModelAttrSet(object->model[3], HU3D_ATTR_DISPOFF); } break; - + case 3: - if(fn_1_320() < 9) { + if (fn_1_320() < 9) { temp_r29 = 0; temp_r28 = HU3D_MOTATTR_LOOP; - } else { + } + else { object->rot.y = fn_1_2390(object->rot.y, 0, 0.2f); - if(temp_r31->unk2 == lbl_1_bss_30) { + if (temp_r31->unk2 == lbl_1_bss_30) { temp_r29 = 3; temp_r28 = HU3D_MOTATTR_NONE; - } else { + } + else { temp_r29 = 4; temp_r28 = HU3D_MOTATTR_NONE; } } break; - + default: break; } - if(temp_r31->unk2C) { - if(temp_r31->unk2C >= 0) { - temp_f31 = (0.5*sind((90.0f*(float)temp_r31->unk2C)/(float)temp_r31->unk2E))+0.5; + if (temp_r31->unk2C) { + if (temp_r31->unk2C >= 0) { + temp_f31 = (0.5 * sind((90.0f * (float)temp_r31->unk2C) / (float)temp_r31->unk2E)) + 0.5; espScaleSet(temp_r31->unk2A, temp_f31, temp_f31); - if(--temp_r31->unk2C == 0) { + if (--temp_r31->unk2C == 0) { temp_r31->unk2C = temp_r31->unk2E; } temp_r31->unk30++; - } else { - if(temp_r31->unk30 > 30.0f) { + } + else { + if (temp_r31->unk30 > 30.0f) { espDispOff(temp_r31->unk2A); temp_r31->unk2C = 0; - } else { + } + else { temp_r31->unk30++; } } } - if(temp_r31->unk16 >= 2 && temp_r31->unk16 <= 3 && temp_r31->field0) { + if (temp_r31->unk16 >= 2 && temp_r31->unk16 <= 3 && temp_r31->field0) { Hu3DData[object->model[4]].rot.y += 2.0f; - if(0.0f == Hu3DData[object->model[4]].unk_64) { + if (0.0f == Hu3DData[object->model[4]].unk_64) { HuAudFXPlay(1987); } } @@ -633,7 +632,7 @@ void fn_1_1444(omObjData *object) void fn_1_2010(omObjData *object) { M455Player *player = object->data; - if(object->data != NULL) { + if (object->data != NULL) { HuMemDirectFree(object->data); object->data = NULL; } @@ -647,7 +646,7 @@ void fn_1_2060(ModelData *arg0, Mtx arg1) { Vec vtxPos[4]; Mtx mtxHook; - + Vec pos; Vec itemHookPos; s32 i; @@ -666,16 +665,16 @@ void fn_1_2060(ModelData *arg0, Mtx arg1) GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); Hu3DModelObjMtxGet(object->model[0], "test11_tex_we-itemhook-r", mtxHook); Hu3DModelObjPosGet(object->model[1], "hook", &pos); MTXMultVec(mtxHook, &pos, &vtxPos[0]); - for(i=0; i<2; i++) { - vtxPos[i+1].x = player->unk34[i].x; - vtxPos[i+1].y = player->unk34[i].y; - vtxPos[i+1].z = player->unk34[i].z; + for (i = 0; i < 2; i++) { + vtxPos[i + 1].x = player->unk34[i].x; + vtxPos[i + 1].y = player->unk34[i].y; + vtxPos[i + 1].z = player->unk34[i].z; } - if(player->field0) { + if (player->field0) { Mtx hookMtx; Vec hookPos; Hu3DModelObjMtxGet(object->model[4], "itemhook_C", hookMtx); @@ -683,14 +682,15 @@ void fn_1_2060(ModelData *arg0, Mtx arg1) hookPos.y = -60.000004f; hookPos.z = 35.0f; MTXMultVec(hookMtx, &hookPos, &vtxPos[3]); - } else { + } + else { vtxPos[3].x = modelPuku->pos.x; vtxPos[3].y = modelPuku->pos.y; vtxPos[3].z = modelPuku->pos.z; } GXBegin(GX_LINESTRIP, GX_VTXFMT0, 20); - for(i=0; i<20; i++) { - fn_1_27A0(vtxPos, &pos, i/19.0f); + for (i = 0; i < 20; i++) { + fn_1_27A0(vtxPos, &pos, i / 19.0f); GXPosition3f32(pos.x, pos.y, pos.z); } GXEnd(); @@ -698,16 +698,16 @@ void fn_1_2060(ModelData *arg0, Mtx arg1) float fn_1_2390(float arg0, float arg1, float arg2) { - float temp_f31 = fmod(arg1-arg0, 360); + float temp_f31 = fmod(arg1 - arg0, 360); float temp_f30; - if(temp_f31 < 0) { + if (temp_f31 < 0) { temp_f31 += 360.0f; } - if(temp_f31 > 180) { + if (temp_f31 > 180) { temp_f31 -= 360.0f; } - temp_f30 = fmod(arg0+(arg2*temp_f31), 360); - if(temp_f30 < 0) { + temp_f30 = fmod(arg0 + (arg2 * temp_f31), 360); + if (temp_f30 < 0) { temp_f30 += 360.0f; } return temp_f30; @@ -715,8 +715,8 @@ float fn_1_2390(float arg0, float arg1, float arg2) float fn_1_2494(float arg0, float arg1, float arg2, float arg3) { - float temp_f31 = 1.0f-arg3; - return (arg0*(temp_f31*temp_f31))+((2.0f*temp_f31)*arg3*arg1)+(arg2*(arg3*arg3)); + float temp_f31 = 1.0f - arg3; + return (arg0 * (temp_f31 * temp_f31)) + ((2.0f * temp_f31) * arg3 * arg1) + (arg2 * (arg3 * arg3)); } s32 fn_1_24F0(Vec *arg0, Vec *arg1, float arg2) @@ -728,9 +728,9 @@ s32 fn_1_24F0(Vec *arg0, Vec *arg1, float arg2) float fn_1_26F8(float arg0, float arg1, float arg2, float arg3, float arg4) { - float temp_f31 = 1.0f-arg0; - float temp_f30 = temp_f31*temp_f31; - float temp_f29 = temp_f31*temp_f31*temp_f31; + float temp_f31 = 1.0f - arg0; + float temp_f30 = temp_f31 * temp_f31; + float temp_f29 = temp_f31 * temp_f31 * temp_f31; return (arg4 * (arg0 * (arg0 * arg0))) + ((arg3 * (arg0 * (3.0f * temp_f31 * arg0))) + ((temp_f29 * arg1) + (arg2 * (3.0f * temp_f30 * arg0)))); } @@ -755,33 +755,33 @@ void fn_1_2A90(Process *objman) void fn_1_2AF4(s32 arg0, s32 arg1, float arg2) { - CZoom = lbl_1_data_0[arg0].zoom+(arg2*(lbl_1_data_0[arg1].zoom-lbl_1_data_0[arg0].zoom)); - Center.x = lbl_1_data_0[arg0].pos.x+(arg2*(lbl_1_data_0[arg1].pos.x-lbl_1_data_0[arg0].pos.x)); - Center.y = lbl_1_data_0[arg0].pos.y+(arg2*(lbl_1_data_0[arg1].pos.y-lbl_1_data_0[arg0].pos.y)); - Center.z = lbl_1_data_0[arg0].pos.z+(arg2*(lbl_1_data_0[arg1].pos.z-lbl_1_data_0[arg0].pos.z)); - CRot.x = lbl_1_data_0[arg0].rot.x+(arg2*(lbl_1_data_0[arg1].rot.x-lbl_1_data_0[arg0].rot.x)); - CRot.y = lbl_1_data_0[arg0].rot.y+(arg2*(lbl_1_data_0[arg1].rot.y-lbl_1_data_0[arg0].rot.y)); - CRot.z = lbl_1_data_0[arg0].rot.z+(arg2*(lbl_1_data_0[arg1].rot.z-lbl_1_data_0[arg0].rot.z)); + CZoom = lbl_1_data_0[arg0].zoom + (arg2 * (lbl_1_data_0[arg1].zoom - lbl_1_data_0[arg0].zoom)); + Center.x = lbl_1_data_0[arg0].pos.x + (arg2 * (lbl_1_data_0[arg1].pos.x - lbl_1_data_0[arg0].pos.x)); + Center.y = lbl_1_data_0[arg0].pos.y + (arg2 * (lbl_1_data_0[arg1].pos.y - lbl_1_data_0[arg0].pos.y)); + Center.z = lbl_1_data_0[arg0].pos.z + (arg2 * (lbl_1_data_0[arg1].pos.z - lbl_1_data_0[arg0].pos.z)); + CRot.x = lbl_1_data_0[arg0].rot.x + (arg2 * (lbl_1_data_0[arg1].rot.x - lbl_1_data_0[arg0].rot.x)); + CRot.y = lbl_1_data_0[arg0].rot.y + (arg2 * (lbl_1_data_0[arg1].rot.y - lbl_1_data_0[arg0].rot.y)); + CRot.z = lbl_1_data_0[arg0].rot.z + (arg2 * (lbl_1_data_0[arg1].rot.z - lbl_1_data_0[arg0].rot.z)); } void fn_1_2D44(omObjData *object) { CameraData *camera = &Hu3DCamera[0]; - switch(fn_1_320()) { + switch (fn_1_320()) { case 1: - fn_1_2AF4(0, 1, sind(lbl_1_data_184[0]*90.0f)); - if(lbl_1_data_184[0] < 1.0f) { - lbl_1_data_184[0] += 1.0f/60.0f; - if(lbl_1_data_184[0] > 1.0f) { + fn_1_2AF4(0, 1, sind(lbl_1_data_184[0] * 90.0f)); + if (lbl_1_data_184[0] < 1.0f) { + lbl_1_data_184[0] += 1.0f / 60.0f; + if (lbl_1_data_184[0] > 1.0f) { lbl_1_data_184[0] = 1.0f; } } break; - + case 6: fn_1_2AF4(1, 1, 0); break; - + case 4: case 5: case 7: @@ -794,9 +794,9 @@ s32 fn_1_3214(void) { s32 rumble = HuPadRumbleGet(); s32 i; - for(i=0; i<4; i++) { - if(!GWPlayerCfg[i].iscom) { - if((rumble & lbl_1_data_18C[GWPlayerCfg[i].pad_idx]) == 0) { + for (i = 0; i < 4; i++) { + if (!GWPlayerCfg[i].iscom) { + if ((rumble & lbl_1_data_18C[GWPlayerCfg[i].pad_idx]) == 0) { return 0; } } @@ -804,4 +804,4 @@ s32 fn_1_3214(void) return GWGameStat.rumble; } -float lbl_1_data_19C[] = { 0,355,0,0,0,275,128,950,6,0,0,0,190,0,550 }; \ No newline at end of file +float lbl_1_data_19C[] = { 0, 355, 0, 0, 0, 275, 128, 950, 6, 0, 0, 0, 190, 0, 550 }; diff --git a/src/REL/m461Dll/main.c b/src/REL/m461Dll/main.c index b5b0bfd0..f94c9831 100644 --- a/src/REL/m461Dll/main.c +++ b/src/REL/m461Dll/main.c @@ -22,7 +22,6 @@ #include "game/sprite.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" #undef ABS #define ABS(x) ((0 > (x)) ? -(x) : (x)) @@ -702,7 +701,7 @@ void fn_1_2DC8(WorkPlayerOld *player, s32 count, Vec *data) void fn_1_2DD4(WorkPlayerOld *player) { omSetTra(player->unk0, player->unk6C.x, player->unk6C.y, player->unk6C.z); - omSetRot(player->unk0, 0, player->unk9C, 0); + omSetRot(player->unk0, 0.0f, player->unk9C, 0.0f); } void fn_1_2E34(WorkPlayerOld *player) @@ -840,12 +839,7 @@ void fn_1_3C74(WorkPlayerOld *player, s32 *state, u32 *motAttr) } if(player->unk14[3] >= 0 && (player->unk28 & 0x100)) { - player->unk38 = 1; - player->unk84.y = 26.766666f; - player->unkA4 = 1; - if(player->unk3C & 0x2) { - player->unk3C &= ~0x2; - } + fn_1_2BD0(player, 26.766666f, 1.0f); *motAttr = HU3D_MOTATTR_NONE; *state = 3; } @@ -868,7 +862,7 @@ void fn_1_3D4C(WorkPlayerOld *player, s32 *state, u32 *motAttr) player->unk84.y += -2.4333334f; if(player->unk14[5] >= 0 && (player->unk28 & 0x140)) { player->unk38 = 3; - player->unk84.y = 0; + player->unk84.y = 0.0f; player->unk3C &= ~0x3; player->unk3C |= 0x4; *motAttr = HU3D_MOTATTR_NONE; @@ -895,12 +889,7 @@ void fn_1_3E60(WorkPlayerOld *player, s32 *state, u32 *motAttr) void fn_1_3F18(WorkPlayerOld *player, s32 *state, u32 *motAttr) { if(Hu3DMotionShiftIDGet(player->unk0->model[0]) < 0 && Hu3DMotionEndCheck(player->unk0->model[0])) { - player->unk38 = 1; - player->unk84.y = 0; - player->unkA4 = 0; - if(player->unk3C & 0x2) { - player->unk3C &= ~0x2; - } + fn_1_2BD0(player, 0.0f, 0.0f); } } @@ -2329,4 +2318,4 @@ void fn_1_D70C(omObjData *obj) CharModelKill(lbl_1_data_0[GWPlayerCfg[i].character]); } omOvlReturnEx(1, 1); -} \ No newline at end of file +} diff --git a/src/REL/mentDll/common.c b/src/REL/mentDll/common.c index 9d71da1f..82910c62 100644 --- a/src/REL/mentDll/common.c +++ b/src/REL/mentDll/common.c @@ -13,9 +13,6 @@ #include "game/wipe.h" #include "math.h" - -#include "rel_sqrt_consts.h" - Process *lbl_1_bss_0; // TODO: unknown type extern s32 lbl_1_bss_A8[]; diff --git a/src/REL/messDll/main.c b/src/REL/messDll/main.c index 9f861bf1..f7b32576 100755 --- a/src/REL/messDll/main.c +++ b/src/REL/messDll/main.c @@ -9,9 +9,8 @@ #include "dolphin.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" -extern s32 sprintf(char*, const char*, s32); +extern s32 sprintf(char *, const char *, s32); static void fn_1_2BC(omObjData *arg0); static void fn_1_300(omObjData *arg0); @@ -27,7 +26,8 @@ static u8 lbl_1_bss_4_pad[4]; static s16 lbl_1_bss_2; static s16 lbl_1_bss_0; -void ObjectSetup(void) { +void ObjectSetup(void) +{ OSReport("******* SAFObjectSetup *********\n"); lbl_1_bss_34 = omInitObjMan(0x32, 0x2000); CRot.x = -20.0f; @@ -46,12 +46,14 @@ void ObjectSetup(void) { lbl_1_bss_8 = HuPrcChildCreate(fn_1_E88, 100, 0x3000, 0, lbl_1_bss_34); } -static void fn_1_2BC(omObjData *arg0) { +static void fn_1_2BC(omObjData *arg0) +{ WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); arg0->func = fn_1_300; } -static void fn_1_300(omObjData *arg0) { +static void fn_1_300(omObjData *arg0) +{ Vec sp2C; Vec sp20; Vec sp14; @@ -79,14 +81,14 @@ static void fn_1_300(omObjData *arg0) { sp14.z = cosd(CRot.y) * sind(CRot.x); temp_f31 = CRot.z; sp8.x = sp14.x * (sp20.x * sp20.x + (1.0f - sp20.x * sp20.x) * cosd(temp_f31)) - + sp14.y * (sp20.x * sp20.y * (1.0 - cosd(temp_f31)) - sp20.z * sind(temp_f31)) - + sp14.z * (sp20.x * sp20.z * (1.0 - cosd(temp_f31)) + sp20.y * sind(temp_f31)); + + sp14.y * (sp20.x * sp20.y * (1.0 - cosd(temp_f31)) - sp20.z * sind(temp_f31)) + + sp14.z * (sp20.x * sp20.z * (1.0 - cosd(temp_f31)) + sp20.y * sind(temp_f31)); sp8.y = sp14.x * (sp20.x * sp20.y * (1.0 - cosd(temp_f31)) + sp20.z * sind(temp_f31)) - + sp14.y * (sp20.y * sp20.y + (1.0f - sp20.y * sp20.y) * cosd(temp_f31)) - + sp14.z * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) - sp20.x * sind(temp_f31)); + + sp14.y * (sp20.y * sp20.y + (1.0f - sp20.y * sp20.y) * cosd(temp_f31)) + + sp14.z * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) - sp20.x * sind(temp_f31)); sp8.z = sp14.x * (sp20.x * sp20.z * (1.0 - cosd(temp_f31)) - sp20.y * sind(temp_f31)) - + sp14.y * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) + sp20.x * sind(temp_f31)) - + sp14.z * (sp20.z * sp20.z + (1.0f - sp20.z * sp20.z) * cosd(temp_f31)); + + sp14.y * (sp20.y * sp20.z * (1.0 - cosd(temp_f31)) + sp20.x * sind(temp_f31)) + + sp14.z * (sp20.z * sp20.z + (1.0f - sp20.z * sp20.z) * cosd(temp_f31)); VECCrossProduct(&sp14, &sp20, &sp20); VECNormalize(&sp20, &sp20); temp_r31 = HuPadSubStkX[0] & 0xF8; @@ -104,69 +106,19 @@ static void fn_1_300(omObjData *arg0) { } } -static char *lbl_1_data_32C[] = { - "001_Character_Name_ss", - "002_Hidden_Block", - "003_Battle_M", - "004_Bowser_M", - "005_Warp_M", - "006_Mushroom_M", - "007_Lot_house", - "008_Boo_house", - "009_ItemName", - "010_Bord", - "011_RoundItem", - "012_Spaceamida", - "013_Star_M", - "014_RollerCoaster", - "015_Last5", - "016_ItemShop", - "017_System", - "018_ModeSelect", - "019_Item", - "020_Map2_event", - "021_Lucky_Minigame", - "022_Bord_Start", - "023_Map3_event", - "024_Minigame_Name", - "025_mg_446", - "026_debugmes", - "027_Party_Mode", - "028_SETUP", - "029_Miracle", - "030_mg_kuppa", - "031_Story_Mode", - "032_Bowser_Story", - "033_Map4_event", - "034_mg_inst", - "035_E3_only", - "036_saf", - "037_Mg_inst_sys_", - "038_Bord_Results", - "039_Bord_Results2", - "040_Map5_event", - "041_Mg_Mode", - "042_mg_445", - "043_mg_447", - "044_mg_448", - "045_mg_449", - "046_mg_450", - "047_tutorial", - "048_Option_Rooml", - "049_Map6_event", - "050_charley", - "051_Present_Room", - "052_Extra_Room", - "053_Staff_Post", - "054_Staff_Name", - "055_Opening_Demo", - "056_mgex_inst", - NULL -}; +static char *lbl_1_data_32C[] + = { "001_Character_Name_ss", "002_Hidden_Block", "003_Battle_M", "004_Bowser_M", "005_Warp_M", "006_Mushroom_M", "007_Lot_house", "008_Boo_house", + "009_ItemName", "010_Bord", "011_RoundItem", "012_Spaceamida", "013_Star_M", "014_RollerCoaster", "015_Last5", "016_ItemShop", "017_System", + "018_ModeSelect", "019_Item", "020_Map2_event", "021_Lucky_Minigame", "022_Bord_Start", "023_Map3_event", "024_Minigame_Name", "025_mg_446", + "026_debugmes", "027_Party_Mode", "028_SETUP", "029_Miracle", "030_mg_kuppa", "031_Story_Mode", "032_Bowser_Story", "033_Map4_event", + "034_mg_inst", "035_E3_only", "036_saf", "037_Mg_inst_sys_", "038_Bord_Results", "039_Bord_Results2", "040_Map5_event", "041_Mg_Mode", + "042_mg_445", "043_mg_447", "044_mg_448", "045_mg_449", "046_mg_450", "047_tutorial", "048_Option_Rooml", "049_Map6_event", "050_charley", + "051_Present_Room", "052_Extra_Room", "053_Staff_Post", "054_Staff_Name", "055_Opening_Demo", "056_mgex_inst", NULL }; static s16 lbl_1_data_410 = -1; -static void fn_1_E88(void) { +static void fn_1_E88(void) +{ s16 sp10[256]; // unknown size char spC[4]; char sp8[4]; @@ -192,7 +144,7 @@ static void fn_1_E88(void) { var_r30 = (var_r28 << 16); var_r25 = 0; while (1) { - if ((s32) MessData_MesPtrGet(messDataPtr, var_r30 + var_r25) == 0) { + if ((s32)MessData_MesPtrGet(messDataPtr, var_r30 + var_r25) == 0) { break; } sp10[var_r28]++; @@ -226,13 +178,15 @@ static void fn_1_E88(void) { var_r31 = 0; } var_r30 = 0; - } else if (temp_r3_2 & 0x40) { + } + else if (temp_r3_2 & 0x40) { var_r31--; if (var_r31 < 0) { var_r31 = var_r27 - 1; } var_r30 = 0; - } else if (temp_r3_2 & 0x200) { + } + else if (temp_r3_2 & 0x200) { var_r30--; if (var_r30 < 0) { var_r31--; @@ -241,7 +195,8 @@ static void fn_1_E88(void) { } var_r30 = sp10[var_r31] - 1; } - } else { + } + else { var_r30++; if (var_r30 >= sp10[var_r31]) { var_r31++; @@ -255,18 +210,10 @@ static void fn_1_E88(void) { } } -static char *lbl_1_data_440[] = { - "]1^", - "]2^", - "]3^", - "]4^", - "]5^", - "]6^", - "]7^", - "]8^" -}; +static char *lbl_1_data_440[] = { "]1^", "]2^", "]3^", "]4^", "]5^", "]6^", "]7^", "]8^" }; -static s32 fn_1_11B0(s16 arg0, s16 arg1) { +static s32 fn_1_11B0(s16 arg0, s16 arg1) +{ WindowData *temp_r30; float spC[2]; s32 temp_r28; @@ -285,7 +232,7 @@ static s32 fn_1_11B0(s16 arg0, s16 arg1) { } temp_r28 = MAKE_MESSID(arg0, arg1); for (i = 0; i < 8; i++) { - HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i); + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16)i); } HuWinMesMaxSizeGet(1, &spC[0], temp_r28); if (spC[0] <= 16.0f) { @@ -293,7 +240,7 @@ static s32 fn_1_11B0(s16 arg0, s16 arg1) { } lbl_1_data_410 = HuWinCreate(-10000.0f, -10000.0f, spC[0], spC[1], 0); for (i = 0; i < 8; i++) { - HuWinInsertMesSet(lbl_1_data_410, MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16) i); + HuWinInsertMesSet(lbl_1_data_410, MAKE_MESSID_PTR(lbl_1_data_440[i]), (s16)i); } temp_r30 = &winData[lbl_1_data_410]; temp_r30->push_key |= 0x360; diff --git a/src/REL/mgmodedll/mgmode.c b/src/REL/mgmodedll/mgmode.c index 28d8c990..67b59009 100644 --- a/src/REL/mgmodedll/mgmode.c +++ b/src/REL/mgmodedll/mgmode.c @@ -6,7 +6,6 @@ #include "game/wipe.h" #include "ext_math.h" -#include "rel_sqrt_consts.h" typedef struct camera_view_params { Vec rot; diff --git a/src/REL/modeseldll/main.c b/src/REL/modeseldll/main.c index fc10e07b..f1d9be9b 100644 --- a/src/REL/modeseldll/main.c +++ b/src/REL/modeseldll/main.c @@ -1,26 +1,22 @@ -#include "game/object.h" +#include "REL/modeseldll.h" +#include "game/audio.h" +#include "game/gamework_data.h" #include "game/hsfman.h" +#include "game/object.h" +#include "game/objsub.h" +#include "game/pad.h" #include "game/process.h" #include "game/window.h" -#include "game/objsub.h" -#include "game/audio.h" #include "game/wipe.h" -#include "game/pad.h" #include "math.h" -#include "game/gamework_data.h" -#include "REL/modeseldll.h" -#include "rel_sqrt_consts.h" typedef struct camera_view_params { - Vec rot; - Vec pos; - float zoom; + Vec rot; + Vec pos; + float zoom; } CameraViewParams; -CameraViewParams lbl_1_data_0[] = { - { { 0, 0, 0 }, { 0, 0, 0 }, 1500 }, - { { 0, 0, 0 }, { 0, 0, 0 }, 524 } -}; +CameraViewParams lbl_1_data_0[] = { { { 0, 0, 0 }, { 0, 0, 0 }, 1500 }, { { 0, 0, 0 }, { 0, 0, 0 }, 524 } }; omObjData *lbl_1_bss_7C; Process *lbl_1_bss_78; @@ -42,325 +38,332 @@ void fn_1_1B6C(void); void ObjectSetup(void) { - s32 light; - OSReport("******* MS ObjectSetup *********\n"); - lbl_1_bss_78 = omInitObjMan(50, 8192); - omGameSysInit(lbl_1_bss_78); - lbl_1_bss_24[0].x = -70; - lbl_1_bss_24[0].y = 0; - lbl_1_bss_24[0].z = 0; - lbl_1_bss_C[0].x = 0; - lbl_1_bss_C[0].y = 130; - lbl_1_bss_C[0].z = -186; - lbl_1_bss_4[0] = 1360; - lbl_1_bss_64 = lbl_1_bss_24[0]; - lbl_1_bss_58 = lbl_1_bss_C[0]; - lbl_1_bss_54 = lbl_1_bss_4[0]; - lbl_1_bss_70[0] = 0; - Hu3DCameraCreate(1); - Hu3DCameraPerspectiveSet(1, 30, 20, 8000, 1.2f); - Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - Hu3DCameraScissorSet(1, 0, 16, 640, 448); - light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); - Hu3DGLightInfinitytSet(light); - HuPrcChildCreate(fn_1_414, 100, 16384, 0, lbl_1_bss_78); - HuPrcChildCreate(fn_1_AF0, 200, 4096, 0, lbl_1_bss_78); - lbl_1_bss_7C = omAddObjEx(lbl_1_bss_78, 32730, 0, 0, -1, fn_1_B8C); - omAddObjEx(lbl_1_bss_78, 0, 32, 32, -1, fn_1_F40); - Hu3DBGColorSet(0, 0, 0); - mgBoardHostEnableF = 0; - HuWinInit(1); - mgPracticeEnableF = 0; - mgQuitExtraF = 0; + s32 light; + OSReport("******* MS ObjectSetup *********\n"); + lbl_1_bss_78 = omInitObjMan(50, 8192); + omGameSysInit(lbl_1_bss_78); + lbl_1_bss_24[0].x = -70; + lbl_1_bss_24[0].y = 0; + lbl_1_bss_24[0].z = 0; + lbl_1_bss_C[0].x = 0; + lbl_1_bss_C[0].y = 130; + lbl_1_bss_C[0].z = -186; + lbl_1_bss_4[0] = 1360; + lbl_1_bss_64 = lbl_1_bss_24[0]; + lbl_1_bss_58 = lbl_1_bss_C[0]; + lbl_1_bss_54 = lbl_1_bss_4[0]; + lbl_1_bss_70[0] = 0; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 30, 20, 8000, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + Hu3DCameraScissorSet(1, 0, 16, 640, 448); + light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(light); + HuPrcChildCreate(fn_1_414, 100, 16384, 0, lbl_1_bss_78); + HuPrcChildCreate(fn_1_AF0, 200, 4096, 0, lbl_1_bss_78); + lbl_1_bss_7C = omAddObjEx(lbl_1_bss_78, 32730, 0, 0, -1, fn_1_B8C); + omAddObjEx(lbl_1_bss_78, 0, 32, 32, -1, fn_1_F40); + Hu3DBGColorSet(0, 0, 0); + mgBoardHostEnableF = 0; + HuWinInit(1); + mgPracticeEnableF = 0; + mgQuitExtraF = 0; } void fn_1_414(void) { - fn_1_9F4(); - if(omovlevtno) { - HuAudSeqPlay(43); - } else { - if(!fn_1_37DC()) { - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - HuAudSeqAllFadeOut(1000); - while(WipeStatGet()) { - HuPrcVSleep(); - } - omOvlReturnEx(1, 1); - while(1) { - HuPrcVSleep(); - } - } else { - s16 group = HuSprGrpCreate(1); - s16 sprite = HuTHPSprCreateVol("movie/opmov_s00.thp", 0, 3000, 70.0); - HuSprGrpMemberSet(group, 0, sprite); - HuSprPosSet(group, 0, 288, 240); - HuSprDrawNoSet(group, 0, 127); - HuPrcSleep(2); - espAttrSet(lbl_1_bss_152[0], HUSPR_ATTR_DISPOFF); - HuAudFXStop(lbl_1_data_100); - while(!HuTHPEndCheck()) { - HuPrcVSleep(); - } - HuTHPClose(); - HuSprGrpKill(group); - } - } - espAttrReset(lbl_1_bss_152[9], HUSPR_ATTR_DISPOFF); - espDrawNoSet(lbl_1_bss_152[9], 127); - { - s16 result = fn_1_2490(); - if(result == -1) { - HuAudSeqAllFadeOut(1000); - WipeColorSet(0, 0, 0); - WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); - - while(WipeStatGet()) { - HuPrcVSleep(); - } - omOvlGotoEx(OVL_MODESEL, 1, 0, 0); - while(1) { - HuPrcVSleep(); - } - } else { - s16 i; - omOvlHisData *his; - for(i=0; i<4; i++) { - GWPlayerCfg[i].pad_idx = i; - if(!HuPadStatGet(i)) { - GWPlayerCfg[i].iscom = 0; - } else { - GWPlayerCfg[i].iscom = 1; - } - } - his = omOvlHisGet(0); - omOvlHisChg(0, his->overlay, 1, his->stat); - _ClearFlag(FLAG_ID_MAKE(1, 0)); - _ClearFlag(FLAG_ID_MAKE(1, 8)); - _ClearFlag(FLAG_ID_MAKE(1, 12)); - _ClearFlag(FLAG_ID_MAKE(1, 11)); - GWGameStat.sound_mode = msmSysGetOutputMode(); - switch(result) { - case 0: - GWMGExplainSet(GWGameStat.party_pause.explain_mg); - GWMGShowComSet(GWGameStat.party_pause.show_com_mg); - GWMGListSet(GWGameStat.party_pause.mg_list); - GWMessSpeedSet(GWGameStat.party_pause.mess_speed); - GWSaveModeSet(GWGameStat.party_pause.save_mode); - omOvlCallEx(OVL_MENT, 1, 0, 0); - break; - - case 1: - GWMGExplainSet(GWGameStat.story_pause.explain_mg); - GWMGShowComSet(GWGameStat.story_pause.show_com_mg); - GWMGListSet(GWGameStat.story_pause.mg_list); - GWMessSpeedSet(GWGameStat.story_pause.mess_speed); - GWSaveModeSet(GWGameStat.story_pause.save_mode); - omOvlCallEx(OVL_MENT, 1, 1, 0); - break; - - case 2: - omOvlCallEx(OVL_MGMODE, 1, 0, 0); - break; - - case 3: - omOvlCallEx(OVL_MENT, 1, 3, 0); - break; - - case 4: - omOvlCallEx(OVL_MENT, 1, 4, 0); - break; - - case 5: - omOvlCallEx(OVL_MPEX, 1, 0, 0); - break; - } - while(1) { - HuPrcVSleep(); - } - } - } + fn_1_9F4(); + if (omovlevtno) { + HuAudSeqPlay(43); + } + else { + if (!fn_1_37DC()) { + WipeColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + HuAudSeqAllFadeOut(1000); + while (WipeStatGet()) { + HuPrcVSleep(); + } + omOvlReturnEx(1, 1); + while (1) { + HuPrcVSleep(); + } + } + else { + s16 group = HuSprGrpCreate(1); + s16 sprite = HuTHPSprCreateVol("movie/opmov_s00.thp", 0, 3000, 70.0); + HuSprGrpMemberSet(group, 0, sprite); + HuSprPosSet(group, 0, 288, 240); + HuSprDrawNoSet(group, 0, 127); + HuPrcSleep(2); + espAttrSet(lbl_1_bss_152[0], HUSPR_ATTR_DISPOFF); + HuAudFXStop(lbl_1_data_100); + while (!HuTHPEndCheck()) { + HuPrcVSleep(); + } + HuTHPClose(); + HuSprGrpKill(group); + } + } + espAttrReset(lbl_1_bss_152[9], HUSPR_ATTR_DISPOFF); + espDrawNoSet(lbl_1_bss_152[9], 127); + { + s16 result = fn_1_2490(); + if (result == -1) { + HuAudSeqAllFadeOut(1000); + WipeColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + + while (WipeStatGet()) { + HuPrcVSleep(); + } + omOvlGotoEx(OVL_MODESEL, 1, 0, 0); + while (1) { + HuPrcVSleep(); + } + } + else { + s16 i; + omOvlHisData *his; + for (i = 0; i < 4; i++) { + GWPlayerCfg[i].pad_idx = i; + if (!HuPadStatGet(i)) { + GWPlayerCfg[i].iscom = 0; + } + else { + GWPlayerCfg[i].iscom = 1; + } + } + his = omOvlHisGet(0); + omOvlHisChg(0, his->overlay, 1, his->stat); + _ClearFlag(FLAG_ID_MAKE(1, 0)); + _ClearFlag(FLAG_ID_MAKE(1, 8)); + _ClearFlag(FLAG_ID_MAKE(1, 12)); + _ClearFlag(FLAG_ID_MAKE(1, 11)); + GWGameStat.sound_mode = msmSysGetOutputMode(); + switch (result) { + case 0: + GWMGExplainSet(GWGameStat.party_pause.explain_mg); + GWMGShowComSet(GWGameStat.party_pause.show_com_mg); + GWMGListSet(GWGameStat.party_pause.mg_list); + GWMessSpeedSet(GWGameStat.party_pause.mess_speed); + GWSaveModeSet(GWGameStat.party_pause.save_mode); + omOvlCallEx(OVL_MENT, 1, 0, 0); + break; + + case 1: + GWMGExplainSet(GWGameStat.story_pause.explain_mg); + GWMGShowComSet(GWGameStat.story_pause.show_com_mg); + GWMGListSet(GWGameStat.story_pause.mg_list); + GWMessSpeedSet(GWGameStat.story_pause.mess_speed); + GWSaveModeSet(GWGameStat.story_pause.save_mode); + omOvlCallEx(OVL_MENT, 1, 1, 0); + break; + + case 2: + omOvlCallEx(OVL_MGMODE, 1, 0, 0); + break; + + case 3: + omOvlCallEx(OVL_MENT, 1, 3, 0); + break; + + case 4: + omOvlCallEx(OVL_MENT, 1, 4, 0); + break; + + case 5: + omOvlCallEx(OVL_MPEX, 1, 0, 0); + break; + } + while (1) { + HuPrcVSleep(); + } + } + } } void fn_1_9F4(void) { - Vec pos; - Vec target; - Vec up; - Hu3DShadowCreate(20, 100, 5000); - Hu3DShadowTPLvlSet(0.3f); - Hu3DShadowSizeSet(192); - target.x = target.y = target.z = 0; - pos.x = 500; - pos.z = 1000; - pos.y = 2000; - up.x = 0; - up.y = 1; - up.z = 0; - Hu3DShadowPosSet(&pos, &up, &target); - fn_1_BED8(lbl_1_data_428); - fn_1_C168(lbl_1_data_93C); + Vec pos; + Vec target; + Vec up; + Hu3DShadowCreate(20, 100, 5000); + Hu3DShadowTPLvlSet(0.3f); + Hu3DShadowSizeSet(192); + target.x = target.y = target.z = 0; + pos.x = 500; + pos.z = 1000; + pos.y = 2000; + up.x = 0; + up.y = 1; + up.z = 0; + Hu3DShadowPosSet(&pos, &up, &target); + fn_1_BED8(lbl_1_data_428); + fn_1_C168(lbl_1_data_93C); } void fn_1_AF0(void) { - s16 i; - while(1) { - if(lbl_1_bss_70[0] || omSysExitReq) { - break; - } - HuPrcVSleep(); - } - for(i=0; i<4; i++) { - GWPlayerCfg[i].character = -1; - } - BoardStatusKill(); - omOvlReturnEx(1, 1); - HuPrcEnd(); + s16 i; + while (1) { + if (lbl_1_bss_70[0] || omSysExitReq) { + break; + } + HuPrcVSleep(); + } + for (i = 0; i < 4; i++) { + GWPlayerCfg[i].character = -1; + } + BoardStatusKill(); + omOvlReturnEx(1, 1); + HuPrcEnd(); } u16 lbl_1_data_6E[] = { 1, 2 }; void fn_1_B8C(omObjData *object) { - s16 i; - for(i=0; i<1; i++) { - Vec pos, target, up; - float x, y, z; - - x = lbl_1_bss_24[i].x; - y = lbl_1_bss_24[i].y; - z = lbl_1_bss_24[i].z; - - pos.x = (((sin((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_4[i])+lbl_1_bss_C[i].x); - pos.y = (-sin((M_PI*x)/180.0)*lbl_1_bss_4[i])+lbl_1_bss_C[i].y; - pos.z = ((cos((M_PI*y)/180.0)*cos((M_PI*x)/180.0))*lbl_1_bss_4[i])+lbl_1_bss_C[i].z; - target.x = lbl_1_bss_C[i].x; - target.y = lbl_1_bss_C[i].y; - target.z = lbl_1_bss_C[i].z; - up.x = sin((M_PI*y)/180.0)*sin((M_PI*x)/180.0); - up.y = cos((M_PI*x)/180.0); - up.z = cos((M_PI*y)/180.0)*sin((M_PI*x)/180.0); - Hu3DCameraPosSet(lbl_1_data_6E[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); - } + s16 i; + for (i = 0; i < 1; i++) { + Vec pos, target, up; + float x, y, z; + + x = lbl_1_bss_24[i].x; + y = lbl_1_bss_24[i].y; + z = lbl_1_bss_24[i].z; + + pos.x = (((sin((M_PI * y) / 180.0) * cos((M_PI * x) / 180.0)) * lbl_1_bss_4[i]) + lbl_1_bss_C[i].x); + pos.y = (-sin((M_PI * x) / 180.0) * lbl_1_bss_4[i]) + lbl_1_bss_C[i].y; + pos.z = ((cos((M_PI * y) / 180.0) * cos((M_PI * x) / 180.0)) * lbl_1_bss_4[i]) + lbl_1_bss_C[i].z; + target.x = lbl_1_bss_C[i].x; + target.y = lbl_1_bss_C[i].y; + target.z = lbl_1_bss_C[i].z; + up.x = sin((M_PI * y) / 180.0) * sin((M_PI * x) / 180.0); + up.y = cos((M_PI * x) / 180.0); + up.z = cos((M_PI * y) / 180.0) * sin((M_PI * x) / 180.0); + Hu3DCameraPosSet(lbl_1_data_6E[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + } } void fn_1_F40(omObjData *object) { - Vec pos; + Vec pos; Vec offset; Vec dir; Vec y_offset; - + f32 z_rot; s8 stick_pos; if (!lbl_1_bss_0) { - fn_1_1B6C(); + fn_1_1B6C(); return; } - lbl_1_bss_24[0].y += 0.1f * HuPadStkX[0]; - lbl_1_bss_24[0].x += 0.1f * HuPadStkY[0]; - lbl_1_bss_4[0] += HuPadTrigL[0] / 2; - lbl_1_bss_4[0] -= HuPadTrigR[0] / 2; - if(HuPadBtnDown[0] & PAD_BUTTON_B) { - OSReport("%f,%f,%f\n", lbl_1_bss_24[0].x, lbl_1_bss_24[0].y, lbl_1_bss_24[0].z); - OSReport("%f,%f,%f\n", lbl_1_bss_C[0].x, lbl_1_bss_C[0].y, lbl_1_bss_C[0].z); - OSReport("%f\n", lbl_1_bss_4[0]); - } - if (lbl_1_bss_4[0] < 100.0f) { - lbl_1_bss_4[0] = 100.0f; - } - pos.x = lbl_1_bss_C[0].x + (lbl_1_bss_4[0] * (sin((M_PI * lbl_1_bss_24[0].y) / 180.0) * cos((M_PI * lbl_1_bss_24[0].x) / 180.0))); - pos.y = (lbl_1_bss_C[0].y + (lbl_1_bss_4[0] * -sin((M_PI * lbl_1_bss_24[0].x) / 180.0))); - pos.z = (lbl_1_bss_C[0].z + (lbl_1_bss_4[0] * (cos((M_PI * lbl_1_bss_24[0].y) / 180.0) * cos((M_PI * lbl_1_bss_24[0].x) / 180.0)))); - offset.x = lbl_1_bss_C[0].x - pos.x; - offset.y = lbl_1_bss_C[0].y - pos.y; - offset.z = lbl_1_bss_C[0].z - pos.z; - dir.x = (sin((M_PI * lbl_1_bss_24[0].y) / 180.0) * sin((M_PI * lbl_1_bss_24[0].x) / 180.0)); - dir.y = cos((M_PI * lbl_1_bss_24[0].x) / 180.0); - dir.z = (cos((M_PI * lbl_1_bss_24[0].y) / 180.0) * sin((M_PI * lbl_1_bss_24[0].x) / 180.0)); - z_rot = lbl_1_bss_24[0].z; - y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cos((M_PI * z_rot) / 180.0)) - + dir.y * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.z * sin((M_PI * z_rot) / 180.0)) - + dir.z * (offset.x * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.y * sin((M_PI * z_rot) / 180.0)); + lbl_1_bss_24[0].y += 0.1f * HuPadStkX[0]; + lbl_1_bss_24[0].x += 0.1f * HuPadStkY[0]; + lbl_1_bss_4[0] += HuPadTrigL[0] / 2; + lbl_1_bss_4[0] -= HuPadTrigR[0] / 2; + if (HuPadBtnDown[0] & PAD_BUTTON_B) { + OSReport("%f,%f,%f\n", lbl_1_bss_24[0].x, lbl_1_bss_24[0].y, lbl_1_bss_24[0].z); + OSReport("%f,%f,%f\n", lbl_1_bss_C[0].x, lbl_1_bss_C[0].y, lbl_1_bss_C[0].z); + OSReport("%f\n", lbl_1_bss_4[0]); + } + if (lbl_1_bss_4[0] < 100.0f) { + lbl_1_bss_4[0] = 100.0f; + } + pos.x = lbl_1_bss_C[0].x + (lbl_1_bss_4[0] * (sin((M_PI * lbl_1_bss_24[0].y) / 180.0) * cos((M_PI * lbl_1_bss_24[0].x) / 180.0))); + pos.y = (lbl_1_bss_C[0].y + (lbl_1_bss_4[0] * -sin((M_PI * lbl_1_bss_24[0].x) / 180.0))); + pos.z = (lbl_1_bss_C[0].z + (lbl_1_bss_4[0] * (cos((M_PI * lbl_1_bss_24[0].y) / 180.0) * cos((M_PI * lbl_1_bss_24[0].x) / 180.0)))); + offset.x = lbl_1_bss_C[0].x - pos.x; + offset.y = lbl_1_bss_C[0].y - pos.y; + offset.z = lbl_1_bss_C[0].z - pos.z; + dir.x = (sin((M_PI * lbl_1_bss_24[0].y) / 180.0) * sin((M_PI * lbl_1_bss_24[0].x) / 180.0)); + dir.y = cos((M_PI * lbl_1_bss_24[0].x) / 180.0); + dir.z = (cos((M_PI * lbl_1_bss_24[0].y) / 180.0) * sin((M_PI * lbl_1_bss_24[0].x) / 180.0)); + z_rot = lbl_1_bss_24[0].z; + y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cos((M_PI * z_rot) / 180.0)) + + dir.y * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.z * sin((M_PI * z_rot) / 180.0)) + + dir.z * (offset.x * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.y * sin((M_PI * z_rot) / 180.0)); - y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cos((M_PI * z_rot) / 180.0)) - + dir.x * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.z * sin((M_PI * z_rot) / 180.0)) - + dir.z * (offset.y * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.x * sin((M_PI * z_rot) / 180.0)); - - y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cos((M_PI * z_rot) / 180.0)) - + (dir.x * (offset.x * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) - offset.y * sin((M_PI * z_rot) / 180.0)) - + dir.y * (offset.y * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) + offset.x * sin((M_PI * z_rot) / 180.0))); + y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cos((M_PI * z_rot) / 180.0)) + + dir.x * (offset.x * offset.y * (1.0f - cos((M_PI * z_rot) / 180.0)) + offset.z * sin((M_PI * z_rot) / 180.0)) + + dir.z * (offset.y * offset.z * (1.0f - cos((M_PI * z_rot) / 180.0)) - offset.x * sin((M_PI * z_rot) / 180.0)); - VECCrossProduct(&dir, &offset, &offset); - VECNormalize(&offset, &offset); - stick_pos = (HuPadSubStkX[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); - } - VECNormalize(&y_offset, &offset); - stick_pos = -(HuPadSubStkY[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); - } + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cos((M_PI * z_rot) / 180.0)) + + (dir.x * (offset.x * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) - offset.y * sin((M_PI * z_rot) / 180.0)) + + dir.y * (offset.y * offset.z * (1.0 - cos((M_PI * z_rot) / 180.0)) + offset.x * sin((M_PI * z_rot) / 180.0))); + + VECCrossProduct(&dir, &offset, &offset); + VECNormalize(&offset, &offset); + stick_pos = (HuPadSubStkX[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); + } + VECNormalize(&y_offset, &offset); + stick_pos = -(HuPadSubStkY[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_C[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_C[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_C[0].z += 0.05f * (offset.z * stick_pos); + } } void fn_1_1B6C(void) { - Vec delta_vec; - float delta_zoom; - if(lbl_1_bss_70[0]) { - return; - } - VECSubtract(&lbl_1_bss_64, &lbl_1_bss_24[0], &delta_vec); - if(VECMag(&delta_vec) > 0.2) { - VECScale(&delta_vec, &delta_vec, 0.05f); - VECAdd(&lbl_1_bss_24[0], &delta_vec, &lbl_1_bss_24[0]); - } else { - lbl_1_bss_24[0] = lbl_1_bss_64; - } - VECSubtract(&lbl_1_bss_58, &lbl_1_bss_C[0], &delta_vec); - if(VECMag(&delta_vec) > 0.2) { - VECScale(&delta_vec, &delta_vec, 0.05f); - VECAdd(&lbl_1_bss_C[0], &delta_vec, &lbl_1_bss_C[0]); - } else { - lbl_1_bss_C[0] = lbl_1_bss_58; - } - delta_zoom = lbl_1_bss_54-lbl_1_bss_4[0]; - if(sqrtf(delta_zoom*delta_zoom) > 0.2) { - delta_zoom *= 0.05f; - lbl_1_bss_4[0] += delta_zoom; - } else { - lbl_1_bss_4[0] = lbl_1_bss_54; - } + Vec delta_vec; + float delta_zoom; + if (lbl_1_bss_70[0]) { + return; + } + VECSubtract(&lbl_1_bss_64, &lbl_1_bss_24[0], &delta_vec); + if (VECMag(&delta_vec) > 0.2) { + VECScale(&delta_vec, &delta_vec, 0.05f); + VECAdd(&lbl_1_bss_24[0], &delta_vec, &lbl_1_bss_24[0]); + } + else { + lbl_1_bss_24[0] = lbl_1_bss_64; + } + VECSubtract(&lbl_1_bss_58, &lbl_1_bss_C[0], &delta_vec); + if (VECMag(&delta_vec) > 0.2) { + VECScale(&delta_vec, &delta_vec, 0.05f); + VECAdd(&lbl_1_bss_C[0], &delta_vec, &lbl_1_bss_C[0]); + } + else { + lbl_1_bss_C[0] = lbl_1_bss_58; + } + delta_zoom = lbl_1_bss_54 - lbl_1_bss_4[0]; + if (sqrtf(delta_zoom * delta_zoom) > 0.2) { + delta_zoom *= 0.05f; + lbl_1_bss_4[0] += delta_zoom; + } + else { + lbl_1_bss_4[0] = lbl_1_bss_54; + } } void fn_1_1E30(s16 view) { - lbl_1_bss_64 = lbl_1_data_0[view].rot; - lbl_1_bss_58 = lbl_1_data_0[view].pos; - lbl_1_bss_54 = lbl_1_data_0[view].zoom; + lbl_1_bss_64 = lbl_1_data_0[view].rot; + lbl_1_bss_58 = lbl_1_data_0[view].pos; + lbl_1_bss_54 = lbl_1_data_0[view].zoom; } void fn_1_1EC0(s16 view) { - s16 i; - lbl_1_bss_24[0] = lbl_1_data_0[view].rot; - lbl_1_bss_64 = lbl_1_bss_24[0]; - lbl_1_bss_C[0] = lbl_1_data_0[view].pos; - lbl_1_bss_58 = lbl_1_bss_C[0]; - lbl_1_bss_54 = lbl_1_bss_4[0] = lbl_1_data_0[view].zoom; - fn_1_B8C(NULL); + s16 i; + lbl_1_bss_24[0] = lbl_1_data_0[view].rot; + lbl_1_bss_64 = lbl_1_bss_24[0]; + lbl_1_bss_C[0] = lbl_1_data_0[view].pos; + lbl_1_bss_58 = lbl_1_bss_C[0]; + lbl_1_bss_54 = lbl_1_bss_4[0] = lbl_1_data_0[view].zoom; + fn_1_B8C(NULL); } float fn_1_2368(void) { - float delta_zoom = lbl_1_bss_54-lbl_1_bss_4[0]; - return sqrtf(delta_zoom*delta_zoom); + float delta_zoom = lbl_1_bss_54 - lbl_1_bss_4[0]; + return sqrtf(delta_zoom * delta_zoom); } diff --git a/src/REL/mpexDll/main.c b/src/REL/mpexDll/main.c index 148d7711..a613e729 100644 --- a/src/REL/mpexDll/main.c +++ b/src/REL/mpexDll/main.c @@ -8,7 +8,6 @@ #include "game/pad.h" #include "game/printfunc.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/mpexDll.h" diff --git a/src/REL/resultDll/main.c b/src/REL/resultDll/main.c index afe551d5..66c26486 100644 --- a/src/REL/resultDll/main.c +++ b/src/REL/resultDll/main.c @@ -13,7 +13,6 @@ #include "game/saveload.h" #include "game/window.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "math.h" diff --git a/src/REL/ztardll/main.c b/src/REL/ztardll/main.c index d1d58b62..0c0b8ce0 100644 --- a/src/REL/ztardll/main.c +++ b/src/REL/ztardll/main.c @@ -10,7 +10,6 @@ #include "game/sprite.h" #include "game/window.h" #include "game/wipe.h" -#include "rel_sqrt_consts.h" #include "REL/ztardll.h"