diff --git a/config/GMPE01_00/rels/m401Dll/symbols.txt b/config/GMPE01_00/rels/m401Dll/symbols.txt index 1f886c45..0b63df81 100644 --- a/config/GMPE01_00/rels/m401Dll/symbols.txt +++ b/config/GMPE01_00/rels/m401Dll/symbols.txt @@ -120,224 +120,224 @@ fn_2_14738 = .text:0x00014738; // type:function size:0x7C fn_2_147B4 = .text:0x000147B4; // type:function size:0x660 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_2_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_2_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_2_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_2_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_2_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_2_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_2_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_2_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_2_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_2_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_2_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_2_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_2_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_2_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_2_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_2_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_2_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_2_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_2_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_2_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_2_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_2_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_2_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_2_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_2_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_2_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_2_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_2_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_2_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_2_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_2_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_2_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_2_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_2_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float -lbl_2_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float -lbl_2_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float -lbl_2_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_2_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_2_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_2_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_2_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_2_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_2_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_2_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_2_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_2_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_2_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_2_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_2_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_2_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_2_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_2_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_2_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_2_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_2_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -lbl_2_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_2_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_2_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_2_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_2_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_2_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_2_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_2_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_2_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_2_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_2_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_2_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_2_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_2_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_2_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_2_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_2_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_2_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_2_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_2_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_2_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_2_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_2_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_2_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_2_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_2_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_2_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_2_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_2_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_2_rodata_170 = .rodata:0x00000170; // type:object size:0x8 data:double -lbl_2_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_2_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_2_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_2_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_2_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_2_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_2_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_2_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_2_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_2_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_2_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_2_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_2_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_2_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_2_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_2_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_2_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_2_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_2_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_2_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_2_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_2_rodata_1DC = .rodata:0x000001DC; // type:object size:0x10 data:4byte -lbl_2_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_2_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_2_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_2_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_2_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_2_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_2_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_2_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_2_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_2_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_2_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_2_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_2_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_2_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_2_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_2_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_2_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_2_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_2_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_2_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_2_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_2_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_2_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_2_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_2_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_2_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_2_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_2_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_2_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_2_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_2_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_2_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_2_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double -lbl_2_rodata_290 = .rodata:0x00000290; // type:object size:0x40 data:2byte -lbl_2_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 data:2byte -lbl_2_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:2byte -lbl_2_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:2byte -lbl_2_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_2_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_2_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_2_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_2_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float -lbl_2_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float -lbl_2_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_2_rodata_304 = .rodata:0x00000304; // type:object size:0x4 data:float -lbl_2_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_2_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_2_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_2_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_2_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_2_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_2_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_2_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_2_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_2_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_2_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_2_rodata_340 = .rodata:0x00000340; // type:object size:0x8 data:double -lbl_2_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_2_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_2_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_2_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_2_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_2_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_2_rodata_368 = .rodata:0x00000368; // type:object size:0x8 data:double -lbl_2_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_2_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float -lbl_2_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double -lbl_2_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_2_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_2_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_2_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_2_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_2_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_2_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_2_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_2_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_2_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_2_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_2_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_2_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_2_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_2_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_2_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_2_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_2_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_2_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_2_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_2_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_2_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_2_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_2_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_2_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_2_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_2_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_2_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_2_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_2_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_2_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_2_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_2_rodata_408 = .rodata:0x00000408; // type:object size:0x4 data:float -lbl_2_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double -lbl_2_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_2_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_2_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_2_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_2_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_2_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_2_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double -lbl_2_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double -lbl_2_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_2_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float +lbl_2_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_2_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_2_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_2_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_2_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_2_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_2_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_2_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_2_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float +lbl_2_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float +lbl_2_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double +lbl_2_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_2_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float +lbl_2_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float +lbl_2_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float +lbl_2_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float +lbl_2_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float +lbl_2_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float +lbl_2_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float +lbl_2_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float +lbl_2_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float +lbl_2_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float +lbl_2_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float +lbl_2_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double +lbl_2_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float +lbl_2_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float +lbl_2_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float +lbl_2_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float +lbl_2_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float +lbl_2_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float +lbl_2_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float +lbl_2_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float +lbl_2_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float +lbl_2_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float +lbl_2_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float +lbl_2_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float +lbl_2_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float +lbl_2_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float +lbl_2_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float +lbl_2_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float +lbl_2_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float +lbl_2_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float +lbl_2_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float +lbl_2_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float +lbl_2_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double +lbl_2_rodata_170 = .rodata:0x00000170; // type:object size:0x8 scope:local data:double +lbl_2_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double +lbl_2_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float +lbl_2_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float +lbl_2_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float +lbl_2_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float +lbl_2_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float +lbl_2_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float +lbl_2_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double +lbl_2_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double +lbl_2_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double +lbl_2_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1DC = .rodata:0x000001DC; // type:object size:0x10 scope:local data:4byte +lbl_2_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float +lbl_2_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float +lbl_2_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double +lbl_2_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float +lbl_2_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float +lbl_2_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float +lbl_2_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float +lbl_2_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float +lbl_2_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float +lbl_2_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double +lbl_2_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double +lbl_2_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double +lbl_2_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double +lbl_2_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double +lbl_2_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double +lbl_2_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float +lbl_2_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float +lbl_2_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float +lbl_2_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float +lbl_2_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float +lbl_2_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float +lbl_2_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float +lbl_2_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float +lbl_2_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double +lbl_2_rodata_290 = .rodata:0x00000290; // type:object size:0x40 scope:local data:2byte +lbl_2_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x8 scope:local data:2byte +lbl_2_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:2byte +lbl_2_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:2byte +lbl_2_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float +lbl_2_rodata_304 = .rodata:0x00000304; // type:object size:0x4 scope:local data:float +lbl_2_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float +lbl_2_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float +lbl_2_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float +lbl_2_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float +lbl_2_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float +lbl_2_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float +lbl_2_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double +lbl_2_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float +lbl_2_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double +lbl_2_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double +lbl_2_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float +lbl_2_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float +lbl_2_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float +lbl_2_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float +lbl_2_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double +lbl_2_rodata_368 = .rodata:0x00000368; // type:object size:0x8 scope:local data:double +lbl_2_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float +lbl_2_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float +lbl_2_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double +lbl_2_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float +lbl_2_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float +lbl_2_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float +lbl_2_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float +lbl_2_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float +lbl_2_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double +lbl_2_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float +lbl_2_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float +lbl_2_rodata_408 = .rodata:0x00000408; // type:object size:0x4 scope:local data:float +lbl_2_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double +lbl_2_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float +lbl_2_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float +lbl_2_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float +lbl_2_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double +lbl_2_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float +lbl_2_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double +lbl_2_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double +lbl_2_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float +lbl_2_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float lbl_2_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float lbl_2_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float lbl_2_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float @@ -433,17 +433,17 @@ lbl_2_data_2C = .data:0x0000002C; // type:object size:0x4 lbl_2_data_30 = .data:0x00000030; // type:object size:0xC data:float lbl_2_data_3C = .data:0x0000003C; // type:object size:0xC lbl_2_data_48 = .data:0x00000048; // type:object size:0xC data:float -lbl_2_data_54 = .data:0x00000054; // type:object size:0x1B data:string -lbl_2_data_6F = .data:0x0000006F; // type:object size:0x11 +lbl_2_data_54 = .data:0x00000054; // type:object size:0x1B scope:local data:string +lbl_2_data_6F = .data:0x0000006F; // type:object size:0x11 scope:local lbl_2_data_80 = .data:0x00000080; // type:object size:0x20 lbl_2_data_A0 = .data:0x000000A0; // type:object size:0x14 data:float lbl_2_data_B4 = .data:0x000000B4; // type:object size:0x18 data:float lbl_2_data_CC = .data:0x000000CC; // type:object size:0x28 -lbl_2_data_F4 = .data:0x000000F4; // type:object size:0x9 data:string -lbl_2_data_FD = .data:0x000000FD; // type:object size:0x9 data:string -lbl_2_data_106 = .data:0x00000106; // type:object size:0x9 data:string -lbl_2_data_10F = .data:0x0000010F; // type:object size:0x9 data:string -lbl_2_data_118 = .data:0x00000118; // type:object size:0xC +lbl_2_data_F4 = .data:0x000000F4; // type:object size:0x9 scope:local data:string +lbl_2_data_FD = .data:0x000000FD; // type:object size:0x9 scope:local data:string +lbl_2_data_106 = .data:0x00000106; // type:object size:0x9 scope:local data:string +lbl_2_data_10F = .data:0x0000010F; // type:object size:0x9 scope:local data:string +lbl_2_data_118 = .data:0x00000118; // type:object size:0xC scope:local lbl_2_data_124 = .data:0x00000124; // type:object size:0x14 data:4byte lbl_2_data_138 = .data:0x00000138; // type:object size:0x20 data:4byte lbl_2_data_158 = .data:0x00000158; // type:object size:0x140 @@ -455,10 +455,10 @@ lbl_2_data_334 = .data:0x00000334; // type:object size:0xF0 data:float lbl_2_data_424 = .data:0x00000424; // type:object size:0x8 lbl_2_data_42C = .data:0x0000042C; // type:object size:0x8 lbl_2_data_434 = .data:0x00000434; // type:object size:0x20 -lbl_2_data_454 = .data:0x00000454; // type:object size:0xC data:string +lbl_2_data_454 = .data:0x00000454; // type:object size:0xC scope:local data:string lbl_2_data_460 = .data:0x00000460; // type:object size:0xC -lbl_2_data_46C = .data:0x0000046C; // type:object size:0x5 data:string -lbl_2_data_471 = .data:0x00000471; // type:object size:0x7 +lbl_2_data_46C = .data:0x0000046C; // type:object size:0x5 scope:local data:string +lbl_2_data_471 = .data:0x00000471; // type:object size:0x7 scope:local jumptable_2_data_478 = .data:0x00000478; // type:object size:0x20 scope:local lbl_2_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_2_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte diff --git a/configure.py b/configure.py index d15a71df..76d38062 100644 --- a/configure.py +++ b/configure.py @@ -796,7 +796,7 @@ config.libs = [ Rel('m401Dll', objects = { Object(Matching, "REL/executor.c"), - Object(NonMatching, "REL/m401Dll/main.c"), + Object(Matching, "REL/m401Dll/main.c"), Object(NonMatching, "REL/m401Dll/main_ex.c"), } ), diff --git a/include/game/frand.h b/include/game/frand.h index 39e6d1b6..c18dde16 100644 --- a/include/game/frand.h +++ b/include/game/frand.h @@ -4,6 +4,7 @@ #include "dolphin/types.h" #define frandBool() (((s32)frand() & 0x1)) +#define frandu8() (((u32)frand() & 0xFF)) #define frand8() (((s32)frand() & 0xFF)) #define frandmods(range) ((s32)frand() % (range)) #define frand16() (((s32)frand() & 0xFFFF)) diff --git a/src/REL/m401Dll/main.c b/src/REL/m401Dll/main.c index d70036b7..57778356 100644 --- a/src/REL/m401Dll/main.c +++ b/src/REL/m401Dll/main.c @@ -11,6 +11,7 @@ #include "game/frand.h" #include "game/chrman.h" #include "game/pad.h" +#include "game/printfunc.h" #include "REL/m401Dll.h" #include "math.h" @@ -117,7 +118,7 @@ void fn_2_C130(omObjData *object); void fn_2_C6DC(omObjData *object); void fn_2_D088(omObjData *object); -void fn_2_DBCC(s32 arg0); +void fn_2_DBCC(s16 arg0); void ModuleProlog(void) { @@ -619,11 +620,11 @@ void fn_2_1DE8(omObjData *object) HsfObject *temp_r30 = Hu3DModelObjPtrGet(object->model[0], lbl_2_data_124[3]); temp_r30->type = 2; sp2C.x = 0; - sp2C.y = -150.0f+((1.0f/255.0f)*(300.0f*(u32)frand8())); + sp2C.y = -150.0f+((1.0f/255.0f)*(300.0f*frandu8())); sp2C.z = -23000; fn_2_91AC(lbl_2_bss_100[0], &sp2C); sp2C.x = 0; - sp2C.y = -150.0f+((1.0f/255.0f)*(300.0f*(u32)frand8())); + sp2C.y = -150.0f+((1.0f/255.0f)*(300.0f*frandu8())); sp2C.z = -25000; fn_2_91AC(lbl_2_bss_100[1], &sp2C); sp2C.x = 5500; @@ -710,9 +711,9 @@ void fn_2_21F8(omObjData *object) Hu3DModelAttrSet(object->model[2], 0xC0000001); temp_r28 = 4; for(temp_r30=0; temp_r30 -31260.0f) { temp_r28 = 4; for(temp_r30=0; temp_r30unk7E = sp50[GWPlayerCfg[temp_r31->unk4].diff][frand() & 0x7]; temp_r31->unk7C = (frand()%60)+30; temp_r31->unk92 = 0; - if((u32)frand8() < sp18[GWPlayerCfg[temp_r31->unk4].diff]) { + if(frandu8() < sp18[GWPlayerCfg[temp_r31->unk4].diff]) { temp_r31->unk92 |= 1; } - if((u32)frand8() < sp10[GWPlayerCfg[temp_r31->unk4].diff]) { + if(frandu8() < sp10[GWPlayerCfg[temp_r31->unk4].diff]) { temp_r31->unk92 |= 2; } } else { @@ -1973,17 +1974,17 @@ void fn_2_76AC(omObjData *object, s32 arg1) case 2: if(temp_r31->unkC.y > temp_r31->unk54->trans.y) { - temp_r31->unk80 = 80.0f+((1.0f/255.0f)*(20.0f*(u32)frand8())); + temp_r31->unk80 = 80.0f+((1.0f/255.0f)*(20.0f*frandu8())); } else { - temp_r31->unk80 = 260.0f+((1.0f/255.0f)*(20.0f*(u32)frand8())); + temp_r31->unk80 = 260.0f+((1.0f/255.0f)*(20.0f*frandu8())); } break; case 3: if(temp_r31->unkC.y > temp_r31->unk54->trans.y) { - temp_r31->unk80 = 80.0f+((1.0f/255.0f)*(20.0f*(u32)frand8())); + temp_r31->unk80 = 80.0f+((1.0f/255.0f)*(20.0f*frandu8())); } else { - temp_r31->unk80 = 260.0f+((1.0f/255.0f)*(20.0f*(u32)frand8())); + temp_r31->unk80 = 260.0f+((1.0f/255.0f)*(20.0f*frandu8())); } break; } @@ -2307,7 +2308,7 @@ void fn_2_8E74(omObjData *object) temp_r31->unkC.z = 0; temp_r31->unk34.x = 1000; temp_r31->unk34.y = 30; - temp_r31->unk34.z = 360.0f+((1.0f/255.0f)*(u32)frand8()); + temp_r31->unk34.z = 360.0f+((1.0f/255.0f)*frandu8()); temp_r31->unk30 = VECMagPoint(temp_r31->unkC.x, temp_r31->unkC.y, temp_r31->unkC.z); VECNormalize(&temp_r31->unkC, &temp_r31->unk0); Hu3DModelShadowSet(object->model[0]); @@ -2320,7 +2321,7 @@ void fn_2_91AC(omObjData *object, Vec *pos) Work8E74 *temp_r30; temp_r30 = object->data; temp_r30->unk18 = *pos; - temp_r30->unk34.z = (1.0f/255.0f)*(360.0f*(u32)frand8()); + temp_r30->unk34.z = (1.0f/255.0f)*(360.0f*frandu8()); Hu3DModelAttrReset(object->model[0], 1); omSetTra(object, pos->x, pos->y, pos->z); object->work[2] = HuAudFXEmiterPlay(1284, &pos); @@ -2412,8 +2413,8 @@ void fn_2_9B90(omObjData *object); void fn_2_99A4(omObjData *object) { float temp_f31; - if(lbl_2_bss_60.z <= -36200.0f+((1.0f/255.0f)*(200.0f*(u32)frand8()))) { - temp_f31 = -250.0f+((1.0f/255.0f)*(500.0f*(u32)frand8())); + if(lbl_2_bss_60.z <= -36200.0f+((1.0f/255.0f)*(200.0f*frandu8()))) { + temp_f31 = -250.0f+((1.0f/255.0f)*(500.0f*frandu8())); fn_2_9734(1); omSetTra(object, 3000, temp_f31, -37000); omSetRot(object, 0, 270, 0); @@ -2445,7 +2446,7 @@ void fn_2_9B90(omObjData *object) typedef struct work_a318 { Vec unk0; s16 unkC; -} Work9E28; +} WorkA318; s32 lbl_2_data_42C[] = { 0x20001C, @@ -2465,7 +2466,7 @@ void fn_2_9D00(Process *objman) temp_r31->motion[temp_r30] = Hu3DJointMotionFile(temp_r31->model[0], lbl_2_data_42C[temp_r30]); } Hu3DModelAttrSet(temp_r31->model[0], 1); - temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Work9E28), MEMORY_DEFAULT_NUM); + temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkA318), MEMORY_DEFAULT_NUM); Hu3DModelShadowSet(temp_r31->model[0]); temp_r31->work[3] = 1; } @@ -2477,7 +2478,7 @@ void fn_2_A318(omObjData *object); void fn_2_9E28(float arg1, float arg2) { s32 temp_r31; - Work9E28 *temp_r30; + WorkA318 *temp_r30; float temp_f31; float temp_f30; float temp_f29; @@ -2486,8 +2487,8 @@ void fn_2_9E28(float arg1, float arg2) for(temp_r31=0; temp_r31<4; temp_r31++) { temp_r30 = lbl_2_bss_E4[temp_r31]->data; Hu3DModelAttrReset(lbl_2_bss_E4[temp_r31]->model[0], 1); - temp_f29 = -400.0f+((1.0f/255.0f)*(800.0f*(u32)frand8())); - temp_r30->unk0.x = -250.0f+((1.0f/255.0f)*(500.0f*(u32)frand8())); + temp_f29 = -400.0f+((1.0f/255.0f)*(800.0f*frandu8())); + temp_r30->unk0.x = -250.0f+((1.0f/255.0f)*(500.0f*frandu8())); omSetTra(lbl_2_bss_E4[temp_r31], temp_f29, temp_r30->unk0.x+lbl_2_bss_60.y, temp_f31); Hu3DMotionSet(lbl_2_bss_E4[temp_r31]->model[0], lbl_2_bss_E4[temp_r31]->motion[0]); Hu3DModelAttrSet(lbl_2_bss_E4[temp_r31]->model[0], 0x40000001); @@ -2528,7 +2529,7 @@ omObjData *fn_2_A0B0(omObjData *object) void fn_2_A318(omObjData *object) { - Work9E28 *temp_r30; + WorkA318 *temp_r30; omObjData *temp_r28; M401WorkPlayer *sp10; temp_r30 = object->data; @@ -2537,7 +2538,7 @@ void fn_2_A318(omObjData *object) temp_r28 = fn_2_A0B0(object); sp10 = temp_r28->data; temp_r30->unk0.y = atan2d(temp_r28->trans.y - object->trans.y, temp_r28->trans.x - object->trans.x); - temp_r30->unk0.z = 8.0f+((1.0f/255.0f)*((9.0f*(u32)frand8()))); + temp_r30->unk0.z = 8.0f+((1.0f/255.0f)*((9.0f*frandu8()))); Hu3DMotionSet(object->model[0], object->motion[1]); Hu3DModelAttrReset(object->model[0], 0x40000001); lbl_2_bss_78.x = object->trans.x; @@ -2633,7 +2634,7 @@ s32 fn_2_AC2C(Vec *pos, float dist, omObjData **newobj) float temp_f20; float temp_f19; float temp_f18; - Work9E28 *sp70; + WorkA318 *sp70; float sp6C; *newobj = NULL; @@ -2821,4 +2822,678 @@ void fn_2_C130(omObjData *object) WipeStatGet() == 0; break; } +} + +typedef struct work_c840 { + Vec unk0[9]; + float unk6C[9]; +} WorkC840; + +void fn_2_C840(s16 arg0); + +void fn_2_CAB0(omObjData *object); + +void fn_2_C6DC(omObjData *object) +{ + s32 temp_r30; + float temp_f31; + WorkC840 *sp8; + sp8 = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkC840), MEMORY_DEFAULT_NUM); + for(temp_r30=0; temp_r30<9; temp_r30++) { + if(temp_r30 == 0) { + object->model[temp_r30] = Hu3DModelCreateFile(0x200002); + } else { + object->model[temp_r30] = Hu3DModelCreateFile(0x200002); + } + Hu3DModelLayerSet(object->model[temp_r30], 1); + fn_2_C840(temp_r30); + temp_f31 = (1.0f/255.0f)*(Hu3DMotionMaxTimeGet(object->model[temp_r30])*frandu8()); + Hu3DMotionTimeSet(object->model[temp_r30], temp_f31); + } + omSetStatBit(object, 0x100); + object->func = fn_2_CAB0; +} + +void fn_2_C840(s16 arg0) +{ + WorkC840 *temp_r31; + float temp_f31, temp_f30; + temp_r31 = lbl_2_bss_F8->data; + temp_f30 = (1.0f/255.0f)*(360.0f*frandu8()); + temp_f31 = (1.0f/255.0f)*(200.0f*frandu8()); + temp_r31->unk0[arg0].x = temp_f31*cosd(temp_f30); + temp_r31->unk0[arg0].z = temp_f31*sind(temp_f30); + temp_r31->unk0[arg0].y = 1000; + temp_r31->unk6C[arg0] = 1.0f; + temp_f31 *= 0.25f; + Hu3DModelRotSet(lbl_2_bss_F8->model[arg0], temp_f31*sind(temp_f30), 0, temp_f31*cosd(temp_f30)); + Hu3DMotionTimeSet(lbl_2_bss_F8->model[arg0], 0); +} + +void fn_2_CAB0(omObjData *object) +{ + s32 temp_r31; + WorkC840 *temp_r29; + u8 temp_r28; + float temp_f29; + temp_r29 = object->data; + for(temp_r31=0; temp_r31<9; temp_r31++) { + Hu3DModelPosSet(object->model[temp_r31], temp_r29->unk0[temp_r31].x, temp_r29->unk0[temp_r31].y, lbl_2_bss_38.z+temp_r29->unk0[temp_r31].z-500); + Hu3DModelTPLvlSet(object->model[temp_r31], temp_r29->unk6C[temp_r31]); + temp_f29 = Hu3DMotionTimeGet(object->model[temp_r31])/Hu3DMotionMaxTimeGet(object->model[temp_r31]); + temp_r29->unk6C[temp_r31] = 1.0f-temp_f29; + if(Hu3DMotionTimeGet(object->model[temp_r31]) >= Hu3DMotionMaxTimeGet(object->model[temp_r31])) { + fn_2_C840(temp_r31); + } + } + if(lbl_2_bss_60.z <= -26800.0f && lbl_2_bss_60.z >= -27400.0f) { + temp_r28 = 255.0f-(223.0f*(-(lbl_2_bss_60.z+26800.0f) / 600.0f)); + if(temp_r28 < 32) { + temp_r28 = 32; + } + } else if(lbl_2_bss_60.z <= -27700.0f && lbl_2_bss_60.z >= -28300.0f) { + temp_r28 = 32.0f+(223.0f*(-(lbl_2_bss_60.z+27700.0f) / 600.0f)); + } else if(lbl_2_bss_60.z < -27400.0f && lbl_2_bss_60.z > -28300.0f) { + temp_r28 = 32; + } else { + temp_r28 = 255; + } + Hu3DGLightColorSet(lbl_2_bss_A8, temp_r28, temp_r28, temp_r28, 255); + if(lbl_2_bss_60.z < -26600.0f && lbl_2_bss_60.z > -27500.0f) { + for(temp_r31=0; temp_r31<9; temp_r31++) { + Hu3DModelAttrSet(object->model[temp_r31], 1); + } + } else { + for(temp_r31=0; temp_r31<9; temp_r31++) { + Hu3DModelAttrReset(object->model[temp_r31], 1); + } + } +} + +void fn_2_D088(omObjData *object) +{ + CameraData *temp_r31 = &Hu3DCamera[0]; + Vec sp8; + + lbl_2_bss_6C = temp_r31->pos; + lbl_2_bss_60 = temp_r31->target; + VECSubtract(&lbl_2_bss_6C, &lbl_2_bss_54, &sp8); + lbl_2_bss_50 = VECMag(&sp8); + lbl_2_bss_54 = lbl_2_bss_6C; + + fn_2_A98(); +} + +void fn_2_D180(float arg0) +{ + Vec sp14; + Vec sp8; + lbl_2_bss_44.x = 0; + lbl_2_bss_44.y = 0; + lbl_2_bss_44.z = arg0; + lbl_2_bss_38.x = 0; + lbl_2_bss_38.y = 0; + lbl_2_bss_38.z = -1500+arg0; + lbl_2_bss_2C.x = 0; + lbl_2_bss_2C.y = 1; + lbl_2_bss_2C.z = 0; + Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); + Hu3DModelPosSet(lbl_2_bss_10C->model[1], 0, 0, -1500+arg0); + lbl_2_data_30.y = 3500+lbl_2_bss_38.y; + lbl_2_data_30.z = 1500+lbl_2_bss_38.z; + lbl_2_data_48.y = lbl_2_bss_38.y-200; + lbl_2_data_48.z = 500+lbl_2_bss_38.z; + Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + sp14 = lbl_2_bss_44; + VECSubtract(&lbl_2_bss_38, &sp14, &sp8); + VECNormalize(&sp8, &sp8); + HuAudFXListnerUpdate(&sp14, &sp8); +} + +void fn_2_D3E8(omObjData *object) +{ + Vec sp14; + Vec sp8; + float temp_f31 = 1.5f*object->scale.x; + lbl_2_bss_44.x = object->trans.x+(-object->trans.x*sind(temp_f31)); + lbl_2_bss_44.y = object->trans.y+(-object->trans.y*sind(temp_f31)); + lbl_2_bss_44.z = object->trans.z+(-object->trans.z*sind(temp_f31)); + lbl_2_bss_38.x = object->rot.x+(-object->rot.x*sind(temp_f31)); + lbl_2_bss_38.y = object->rot.y+(-object->rot.y*sind(temp_f31)); + lbl_2_bss_38.z = object->rot.z+((-1500.0f-object->rot.z)*sind(temp_f31)); + lbl_2_bss_2C.x = 0; + lbl_2_bss_2C.y = 1; + lbl_2_bss_2C.z = 0; + object->scale.x += 1.0f; + if(object->scale.x > 60.0f) { + lbl_2_bss_44.x = 0; + lbl_2_bss_44.y = 0; + lbl_2_bss_44.z = 0; + lbl_2_bss_38.x = 0; + lbl_2_bss_38.y = 0; + lbl_2_bss_38.z = -1500; + } + Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38); + lbl_2_bss_54 = lbl_2_bss_44; + lbl_2_data_30.y = 3500+lbl_2_bss_38.y; + lbl_2_data_30.z = 1500+lbl_2_bss_38.z; + lbl_2_data_48.y = lbl_2_bss_38.y-200; + lbl_2_data_48.z = 500+lbl_2_bss_38.z; + Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48); + sp14 = lbl_2_bss_44; + VECSubtract(&lbl_2_bss_38, &lbl_2_bss_44, &sp8); + VECNormalize(&sp8, &sp8); + HuAudFXListnerUpdate(&sp14, &sp8); + if(object->scale.x > 60.0f) { + lbl_2_bss_128 = 100; + Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f); + object->scale.x = 0; + object->func = NULL; + } +} + +void fn_2_D8CC(omObjData *object) +{ + if(lbl_2_bss_BE != 0) { + return; + } + lbl_2_data_0 *= 1.05f; + if(lbl_2_data_0 < -14.375f) { + lbl_2_data_0 = -14.375f; + } + object->scale.x += lbl_2_data_0; + fn_2_D180(object->scale.x); +} + +s32 lbl_2_data_460[] = { + 0x200004, + 0x200005, + 0x200006 +}; + +typedef struct work_e6e8 { + s16 unk0; + Vec unk4; + float unk10; + float unk14; + float unk18; + float unk1C; + float unk20; + float unk24; + float unk28; + float unk2C; + s8 *unk30; + Vec *unk34; + Vec *unk38; + Vec *unk3C; + Vec *unk40; + Vec *unk44; + Vec *unk48; + Vec *unk4C; + s16 *unk50; + s16 *unk54; + float *unk58; + float *unk5C; + float *unk60; + float *unk64; + float *unk68; +} WorkE6E8; + +void fn_2_DBCC(s16 arg0) +{ + omObjData *temp_r31; + s32 temp_r30; + s8 *temp_r28; + float temp_f31; + temp_r31 = lbl_2_bss_C4 = omAddObjEx(lbl_2_bss_1C, 1145, arg0, 0, -1, NULL); + omSetStatBit(temp_r31, 0x100); + temp_r31->data = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s8), MEMORY_DEFAULT_NUM); + temp_r28 = temp_r31->data; + temp_r31->work[0] = arg0; + for(temp_r30=0; temp_r30model[temp_r30] = Hu3DModelCreateFile(lbl_2_data_460[temp_r30]); + } else { + temp_r31->model[temp_r30] = Hu3DModelLink(temp_r31->model[temp_r30%3]); + } + temp_f31 = 0.5f+((1.0f/255.0f)*(0.5f*frandu8())); + Hu3DModelScaleSet(temp_r31->model[temp_r30], temp_f31, temp_f31, temp_f31); + Hu3DModelAttrSet(temp_r31->model[temp_r30], 1); + Hu3DModelAttrSet(temp_r31->model[temp_r30], 0x40000001); + Hu3DMotionTimeSet(temp_r31->model[temp_r30], (1.0f/255.0f)*(Hu3DMotionMaxTimeGet(temp_r31->model[temp_r30])*frandu8())); + temp_r28[temp_r30] = 0; + } +} + +void fn_2_DE1C(WorkE6E8 *arg0) +{ + HuMemDirectFree(arg0->unk34); + HuMemDirectFree(arg0->unk38); + HuMemDirectFree(arg0->unk40); + HuMemDirectFree(arg0->unk44); + HuMemDirectFree(arg0->unk48); + HuMemDirectFree(arg0->unk4C); + HuMemDirectFree(arg0->unk3C); + HuMemDirectFree(arg0->unk50); + HuMemDirectFree(arg0->unk54); + HuMemDirectFree(arg0->unk58); + HuMemDirectFree(arg0->unk5C); + HuMemDirectFree(arg0->unk60); + HuMemDirectFree(arg0->unk64); + HuMemDirectFree(arg0->unk68); + HuMemDirectFree(arg0->unk30); +} + +omObjData *fn_2_DEBC(s16 arg0) +{ + WorkE6E8 *temp_r31; + s32 temp_r29; + omObjData *temp_r28; + s32 temp_r27; + s8 *temp_r26; + if(arg0 <= 0) { + return NULL; + } + temp_r28 = omAddObjEx(lbl_2_bss_1C, 1145, arg0, 0, -1, NULL); + omSetStatBit(temp_r28, 0x100); + temp_r28->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(WorkE6E8), MEMORY_DEFAULT_NUM); + temp_r31 = temp_r28->data; + temp_r31->unk34 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk38 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk40 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk44 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk48 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk4C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk3C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(Vec), MEMORY_DEFAULT_NUM); + temp_r31->unk50 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s16), MEMORY_DEFAULT_NUM); + temp_r31->unk54 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s16), MEMORY_DEFAULT_NUM); + temp_r31->unk58 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk5C = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk60 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk64 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk68 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(float), MEMORY_DEFAULT_NUM); + temp_r31->unk30 = HuMemDirectMallocNum(HEAP_SYSTEM, arg0*sizeof(s8), MEMORY_DEFAULT_NUM); + for(temp_r27=0; temp_r27data; + for(temp_r29=0; temp_r29work[0]; temp_r29++) { + if(temp_r26[temp_r29] == 0) { + temp_r26[temp_r29] = 1; + temp_r28->model[temp_r27] = lbl_2_bss_C4->model[temp_r29]; + temp_r31->unk54[temp_r27] = temp_r29%3; + temp_r31->unk30[temp_r27] = temp_r29; + break; + } + } + if(temp_r29 == lbl_2_bss_C4->work[0]) { + arg0 -= (s32)arg0-temp_r27; + break; + } + } + if(arg0 == 0) { + fn_2_DE1C(temp_r31); + omDelObjEx(HuPrcCurrentGet(), temp_r28); + temp_r28 = NULL; + } else { + temp_r31->unk0 = arg0; + temp_r31->unk10 = 0; + } + return temp_r28; +} + +void fn_2_E24C(omObjData *object) +{ + WorkE6E8 *temp_r31; + s32 temp_r30; + s8 *temp_r28; + temp_r31 = object->data; + temp_r28 = lbl_2_bss_C4->data; + for(temp_r30=0; temp_r30unk0; temp_r30++) { + temp_r28[temp_r31->unk30[temp_r30]] = 0; + Hu3DModelAttrSet(object->model[temp_r30], 1); + } + fn_2_DE1C(temp_r31); + omDelObjEx(HuPrcCurrentGet(), object); +} + +void fn_2_E6E8(omObjData *object); + +void fn_2_E364(omObjData *object, s16 arg1) +{ + s32 temp_r31; + WorkE6E8 *temp_r29 = object->data; + if(arg1 == 1) { + for(temp_r31=0; temp_r31unk0; temp_r31++) { + Hu3DModelAttrReset(object->model[temp_r31], 1); + } + object->func = fn_2_E6E8; + } else { + for(temp_r31=0; temp_r31unk0; temp_r31++) { + Hu3DModelAttrSet(object->model[temp_r31], 1); + } + object->func = NULL; + } +} + +void fn_2_E420(omObjData *object, Vec *arg1, Vec *arg2) +{ + WorkE6E8 *temp_r31 = object->data; + s32 temp_r30; + for(temp_r30=0; temp_r30unk0; temp_r30++) { + temp_r31->unk34[temp_r30].x = (arg1->x - arg2->x)+((1.0f/255.0f)*(2.0f*arg2->x*frandu8())); + temp_r31->unk34[temp_r30].y = (arg1->y - arg2->y)+((1.0f/255.0f)*(2.0f*arg2->y*frandu8())); + temp_r31->unk34[temp_r30].z = (arg1->z - arg2->z)+((1.0f/255.0f)*(2.0f*arg2->z*frandu8())); + VECNormalize(&temp_r31->unk34[temp_r30], &temp_r31->unk38[temp_r30]); + temp_r31->unk5C[temp_r30] = temp_r31->unk64[temp_r30] = temp_r31->unk60[temp_r30] = temp_r31->unk68[temp_r30] = 0; + temp_r31->unk58[temp_r30] = 0.1f; + Hu3DModelPosSet(object->model[temp_r30], temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); + + } +} + +void fn_2_E66C(omObjData *object, Vec *pos) +{ + WorkE6E8 *temp_r31 = object->data; + temp_r31->unk4 = *pos; +} + +void fn_2_E69C(omObjData *object, float arg2, float arg3) +{ + WorkE6E8 *temp_r31 = object->data; + temp_r31->unk14 = arg2; + temp_r31->unk18 = arg3; +} + +void fn_2_E6BC(omObjData *object, float arg2, float arg3, float arg4, float arg5, float arg6) +{ + WorkE6E8 *temp_r31 = object->data; + temp_r31->unk1C = arg2; + temp_r31->unk20 = arg3; + temp_r31->unk24 = arg4; + temp_r31->unk28 = arg5; + temp_r31->unk2C = arg6; +} + +void fn_2_E6E8(omObjData *object) +{ + WorkE6E8 *temp_r31 = object->data; + s32 temp_r30; + s32 temp_r29; + float temp_f31; + float temp_f30; + float temp_f29; + float temp_f28; + float temp_f27; + Mtx sp158, sp128, spF8, spC8, sp98, sp68; + Vec sp5C, sp50, sp44, sp38, sp2C, sp20, sp14, sp8; + for(temp_r30=0; temp_r30unk0; temp_r30++) { + temp_r31->unk3C[temp_r30].x = 0; + temp_r31->unk3C[temp_r30].y = 0; + temp_r31->unk3C[temp_r30].z = 0; + temp_r31->unk40[temp_r30].x = 0; + temp_r31->unk40[temp_r30].y = 0; + temp_r31->unk40[temp_r30].z = 0; + temp_r31->unk44[temp_r30].x = 0; + temp_r31->unk44[temp_r30].y = 0; + temp_r31->unk44[temp_r30].z = 0; + temp_r31->unk48[temp_r30].x = 0; + temp_r31->unk48[temp_r30].y = 0; + temp_r31->unk48[temp_r30].z = 0; + temp_r31->unk4C[temp_r30].x = 0; + temp_r31->unk4C[temp_r30].y = 0; + temp_r31->unk4C[temp_r30].z = 0; + temp_r31->unk50[temp_r30] = 0; + } + for(temp_r30=0; temp_r30unk0; temp_r30++) { + for(temp_r29=temp_r30+1; temp_r29unk0; temp_r29++) { + VECSubtract(&temp_r31->unk34[temp_r30], &temp_r31->unk34[temp_r29], &sp5C); + temp_f28 = VECMag(&sp5C); + if(temp_f28 < temp_r31->unk14) { + VECScale(&sp5C, &sp50, 1.0f/(temp_f28*temp_f28)); + VECAdd(&temp_r31->unk3C[temp_r30], &sp50, &temp_r31->unk3C[temp_r30]); + VECSubtract(&temp_r31->unk3C[temp_r29], &sp50, &temp_r31->unk3C[temp_r29]); + if(temp_r31->unk54[temp_r30] == temp_r31->unk54[temp_r29]){ + VECScale(&temp_r31->unk38[temp_r29], &sp50, 1.0f/temp_f28); + VECAdd(&temp_r31->unk40[temp_r30], &sp50, &temp_r31->unk40[temp_r30]); + VECScale(&temp_r31->unk38[temp_r30], &sp50, 1.0f/temp_f28); + VECAdd(&temp_r31->unk40[temp_r29], &sp50, &temp_r31->unk40[temp_r29]); + VECAdd(&temp_r31->unk44[temp_r30], &temp_r31->unk34[temp_r29], &temp_r31->unk44[temp_r30]); + VECAdd(&temp_r31->unk44[temp_r29], &temp_r31->unk34[temp_r30], &temp_r31->unk44[temp_r29]); + } + temp_r31->unk50[temp_r30]++; + temp_r31->unk50[temp_r29]++; + } + + } + for(temp_r29=0; temp_r29<4; temp_r29++) { + sp44.x = lbl_2_bss_118[temp_r29]->trans.x; + sp44.y = lbl_2_bss_118[temp_r29]->trans.y; + sp44.z = lbl_2_bss_118[temp_r29]->trans.z; + VECSubtract(&temp_r31->unk34[temp_r30], &sp44, &sp38); + if(!(VECDotProduct(&sp38, &temp_r31->unk38[temp_r30]) > 0)) { + temp_f30 = VECMag(&sp38)-200; + if(temp_f30 < temp_r31->unk14) { + temp_f30 -= 100; + if(temp_f30 < 0.01f) { + temp_f30 = 0.01f; + } + VECScale(&sp38, &sp38, 1.0f/temp_f30); + VECAdd(&temp_r31->unk4C[temp_r30], &sp38, &temp_r31->unk4C[temp_r30]); + } + } + } + if(temp_r31->unk50[temp_r30] != 0) { + VECScale(&temp_r31->unk44[temp_r30], &temp_r31->unk44[temp_r30], 1.0f/temp_r31->unk50[temp_r30]); + VECSubtract(&temp_r31->unk44[temp_r30], &temp_r31->unk34[temp_r30], &sp2C); + temp_f29 = VECMag(&sp2C); + if(temp_f29 > 0.0f){ + VECScale(&sp2C, &temp_r31->unk44[temp_r30], 1.0f/temp_f29); + } else { + temp_r31->unk44[temp_r30].x = 0; + temp_r31->unk44[temp_r30].y = 0; + temp_r31->unk44[temp_r30].z = 0; + } + VECScale(&temp_r31->unk40[temp_r30], &temp_r31->unk40[temp_r30], 1.0f/temp_r31->unk50[temp_r30]); + temp_f29 = VECMag(&temp_r31->unk40[temp_r30]); + if(temp_f29 > 0) { + VECScale(&temp_r31->unk40[temp_r30], &temp_r31->unk40[temp_r30], 1.0f/temp_f29); + VECSubtract(&temp_r31->unk40[temp_r30], &temp_r31->unk38[temp_r30], &sp2C); + VECScale(&sp2C, &temp_r31->unk40[temp_r30], 1.0f/temp_f29); + } + } + VECSubtract(&temp_r31->unk4, &temp_r31->unk34[temp_r30], &temp_r31->unk48[temp_r30]); + VECNormalize(&temp_r31->unk48[temp_r30], &temp_r31->unk48[temp_r30]); + } + for(temp_r30=0; temp_r30unk0; temp_r30++) { + sp20.x = 0; + sp20.y = 0; + sp20.z = 0; + VECScale(&temp_r31->unk3C[temp_r30], &sp8, temp_r31->unk1C); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk4C[temp_r30], &sp8, temp_r31->unk20); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk40[temp_r30], &sp8, temp_r31->unk24); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk44[temp_r30], &sp8, temp_r31->unk28); + VECAdd(&sp8, &sp20, &sp20); + VECScale(&temp_r31->unk48[temp_r30], &sp8, temp_r31->unk2C); + VECAdd(&sp8, &sp20, &sp20); + temp_f27 = VECMag(&sp20); + if(temp_f27 > 1.0f) { + VECScale(&sp20, &sp20, 1.0f/temp_f27); + } + if(sp20.y > 0.01f) { + temp_r31->unk60[temp_r30] += 0.02f; + if(temp_r31->unk60[temp_r30] > 0.8f) { + temp_r31->unk60[temp_r30] = 0.8f; + } + } else { + if(sp20.y < -0.01f) { + temp_r31->unk60[temp_r30] -= 0.02f; + if(temp_r31->unk60[temp_r30] < -0.8f) { + temp_r31->unk60[temp_r30] = -0.8f; + } + } else { + temp_r31->unk60[temp_r30] *= 0.98f; + } + } + temp_r31->unk58[temp_r30] -= 0.002*temp_r31->unk60[temp_r30]; + temp_r31->unk58[temp_r30] = temp_r31->unk18+(0.99f*(temp_r31->unk58[temp_r30]-temp_r31->unk18)); + if(temp_r31->unk58[temp_r30] < 0.4f*temp_r31->unk18) { + temp_r31->unk58[temp_r30] = 0.4f*temp_r31->unk18; + } + if(temp_r31->unk58[temp_r30] > 5.0f*temp_r31->unk18) { + temp_r31->unk58[temp_r30] = 5.0f*temp_r31->unk18; + } + sp14 = sp20; + sp14.y = 0; + sp8 = temp_r31->unk38[temp_r30]; + if(VECMag(&sp14) > 0) { + VECNormalize(&sp14, &sp14); + } + temp_f31 = VECDotProduct(&sp14, &sp8); + if(temp_f31 > 0.7f) { + temp_f31 -= 0.7f; + temp_r31->unk58[temp_r30] += 0.005f*temp_f31; + } + VECCrossProduct(&sp14, &sp8, &sp14); + temp_f31 = 0.07f*((1.0f-temp_f31)/2); + if(sp14.y > 0.05f) { + temp_r31->unk68[temp_r30] = 0.05f*(temp_f31+(19.0f*temp_r31->unk68[temp_r30])); + } else if(sp14.y < -0.05f) { + temp_r31->unk68[temp_r30] = 0.05f*((19.0f*temp_r31->unk68[temp_r30])-temp_f31); + } else { + temp_r31->unk68[temp_r30] *= 0.98f; + } + temp_r31->unk5C[temp_r30] += temp_r31->unk68[temp_r30]; + temp_r31->unk64[temp_r30] = 20.0f*-temp_r31->unk68[temp_r30]; + MTXTrans(sp158, temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); + MTXRotDeg(sp128, 'x', (temp_r31->unk60[temp_r30]/M_PI)*180.0); + MTXRotDeg(spF8, 'y', (temp_r31->unk5C[temp_r30]/M_PI)*180.0); + MTXRotDeg(spC8, 'z', (temp_r31->unk64[temp_r30]/M_PI)*180.0); + MTXConcat(sp128, spF8, sp98); + MTXConcat(spC8, sp98, sp68); + MTXConcat(sp68, sp158, sp98); + temp_r31->unk38[temp_r30].x = MTXRowCol(sp98, 2, 0); + temp_r31->unk38[temp_r30].y = MTXRowCol(sp98, 2, 1); + temp_r31->unk38[temp_r30].z = MTXRowCol(sp98, 2, 2); + temp_r31->unk34[temp_r30].x += 100.0f*(temp_r31->unk38[temp_r30].x*temp_r31->unk58[temp_r30]); + temp_r31->unk34[temp_r30].y += 100.0f*(temp_r31->unk38[temp_r30].y*temp_r31->unk58[temp_r30]); + temp_r31->unk34[temp_r30].z += 100.0f*(temp_r31->unk38[temp_r30].z*temp_r31->unk58[temp_r30]); + if(temp_r31->unk34[temp_r30].y < -350.0f) { + temp_r31->unk34[temp_r30].y = -350.0f; + } + Hu3DModelPosSet(object->model[temp_r30], temp_r31->unk34[temp_r30].x, temp_r31->unk34[temp_r30].y, temp_r31->unk34[temp_r30].z); + Hu3DModelRotSet(object->model[temp_r30], (-temp_r31->unk60[temp_r30]/M_PI)*180.0, (-temp_r31->unk5C[temp_r30]/M_PI)*180.0, 0); + } +} + +void fn_2_F778() +{ + CameraData *temp_r31; + s32 temp_r30; + float sp8[7]; + temp_r31 = lbl_2_bss_DC->data; + sp8[0] = temp_r31->pos.x; + sp8[1] = temp_r31->pos.y; + sp8[2] = temp_r31->pos.z; + sp8[3] = temp_r31->up.x; + sp8[4] = temp_r31->up.y; + sp8[5] = temp_r31->up.z; + sp8[6] = temp_r31->target.x; + fontcolor = FONT_COLOR_WHITE; + for(temp_r30=0; temp_r30<7; temp_r30++) { + if(temp_r30 == lbl_2_bss_18) { + print8(24.0+(1.5*((temp_r30*8)*7)), 384, 1.5f, "____"); + } + print8(24.0+(1.5*((temp_r30*8)*7)), 400, 1.5f, "%.2f", sp8[temp_r30]); + } + if(HuPadBtnRep[0] & PAD_BUTTON_LEFT) { + if(--lbl_2_bss_18 < 0) { + lbl_2_bss_18 = 6; + } + } + if(HuPadBtnRep[0] & PAD_BUTTON_RIGHT) { + if(++lbl_2_bss_18 > 6) { + lbl_2_bss_18 = 0; + } + } + if(HuPadBtnRep[0] & PAD_BUTTON_UP) { + if(HuPadBtn[0] & PAD_TRIGGER_R) { + sp8[lbl_2_bss_18] += 1.0f; + } else if(HuPadBtn[0] & PAD_TRIGGER_L) { + sp8[lbl_2_bss_18] += 0.1f; + } else { + sp8[lbl_2_bss_18] += 0.01f; + } + if(sp8[lbl_2_bss_18] > 999.99f) { + sp8[lbl_2_bss_18] = 999.99f; + } + } + if(HuPadBtnRep[0] & PAD_BUTTON_DOWN) { + if(HuPadBtn[0] & PAD_TRIGGER_R) { + sp8[lbl_2_bss_18] -= 1.0f; + } else if(HuPadBtn[0] & PAD_TRIGGER_L) { + sp8[lbl_2_bss_18] -= 0.1f; + } else { + sp8[lbl_2_bss_18] -= 0.01f; + } + if(sp8[lbl_2_bss_18] < 0) { + sp8[lbl_2_bss_18] = 0; + } + } + temp_r31->pos.x = sp8[0]; + temp_r31->pos.y = sp8[1]; + temp_r31->pos.z = sp8[2]; + temp_r31->up.x = sp8[3]; + temp_r31->up.y = sp8[4]; + temp_r31->up.z = sp8[5]; + temp_r31->target.x = sp8[6]; +} + +void fn_2_FF98(omObjData *object); + +omObjData *fn_2_FC40(s16 arg0, Vec *arg1, Vec *arg2, Vec *arg3) +{ + omObjData *temp_r30; + omObjData *temp_r22; + temp_r22 = omAddObjEx(HuPrcCurrentGet(), 1140, 0, 0, -1, fn_2_FF98); + temp_r30 = fn_2_DEBC(arg0); + temp_r22->work[0] = (u32)temp_r30; + fn_2_E420(temp_r30, arg1, arg2); + fn_2_E66C(temp_r30, arg3); + fn_2_E69C(temp_r30, 90.0f, 0.045999996f); + fn_2_E6BC(temp_r30, 5.0f, 1.5f, 0.08f, 0.8f, 0.8f); + fn_2_E364(temp_r30, 1); + return temp_r22; +} + +void fn_2_FF98(omObjData *object) +{ + WorkE6E8 *temp_r29; + omObjData *temp_r28; + s32 temp_r25; + s32 temp_r24; + temp_r24 = 0; + temp_r28 = (omObjData *)(object->work[0]); + temp_r29 = temp_r28->data; + temp_r29->unk4.x += object->scale.x*sind(object->trans.x); + temp_r29->unk4.y += object->scale.y*sind(object->trans.x); + temp_r29->unk4.z += object->scale.z*sind(object->trans.x); + object->trans.x += object->rot.x; + if(object->trans.x >= 360.0f) { + object->trans.x -= 360.0f; + } + if(object->trans.x < 0.0f) { + object->trans.x += 360.0f; + } + for(temp_r25=0; temp_r25unk0; temp_r25++) { + if(temp_r29->unk34[temp_r25].z >= lbl_2_bss_6C.z) { + temp_r24++; + } + } + if(temp_r24 == temp_r29->unk0) { + fn_2_E24C(temp_r28); + omDelObjEx(HuPrcCurrentGet(), object); + } + } \ No newline at end of file