diff --git a/config/GMPE01_00/rels/m401Dll/symbols.txt b/config/GMPE01_00/rels/m401Dll/symbols.txt index 610f18c6..472746d7 100644 --- a/config/GMPE01_00/rels/m401Dll/symbols.txt +++ b/config/GMPE01_00/rels/m401Dll/symbols.txt @@ -338,93 +338,93 @@ lbl_2_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data: 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 -lbl_2_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_2_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float -lbl_2_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float -lbl_2_rodata_468 = .rodata:0x00000468; // type:object size:0x8 data:double -lbl_2_rodata_470 = .rodata:0x00000470; // type:object size:0x4 data:float -lbl_2_rodata_474 = .rodata:0x00000474; // type:object size:0x4 data:float -lbl_2_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double -lbl_2_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double -lbl_2_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float -lbl_2_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 data:float -lbl_2_rodata_490 = .rodata:0x00000490; // type:object size:0x4 data:float -lbl_2_rodata_494 = .rodata:0x00000494; // type:object size:0x4 data:float -lbl_2_rodata_498 = .rodata:0x00000498; // type:object size:0x4 data:float -lbl_2_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 data:float -lbl_2_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_2_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_2_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_2_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double -lbl_2_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 data:double -lbl_2_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double -lbl_2_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_2_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float -lbl_2_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float -lbl_2_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_2_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_2_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_2_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_2_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_2_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_2_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_2_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_2_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float -lbl_2_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float -lbl_2_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double -lbl_2_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double -lbl_2_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float -lbl_2_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float -lbl_2_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float -lbl_2_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float -lbl_2_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float -lbl_2_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float -lbl_2_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float -lbl_2_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float -lbl_2_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float -lbl_2_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float -lbl_2_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float -lbl_2_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float -lbl_2_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float -lbl_2_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float -lbl_2_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float -lbl_2_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float -lbl_2_rodata_550 = .rodata:0x00000550; // type:object size:0x8 data:double -lbl_2_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_2_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 data:float -lbl_2_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:double -lbl_2_rodata_568 = .rodata:0x00000568; // type:object size:0x4 data:float -lbl_2_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 data:float -lbl_2_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_2_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float -lbl_2_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_2_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 data:float -lbl_2_rodata_580 = .rodata:0x00000580; // type:object size:0x4 data:float -lbl_2_rodata_584 = .rodata:0x00000584; // type:object size:0x4 data:float -lbl_2_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_2_rodata_590 = .rodata:0x00000590; // type:object size:0x8 data:double -lbl_2_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_2_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float -lbl_2_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 data:float -lbl_2_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 data:float -lbl_2_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float -lbl_2_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float -lbl_2_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_2_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float -lbl_2_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 data:double -lbl_2_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float -lbl_2_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 data:float -lbl_2_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float -lbl_2_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float -lbl_2_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_2_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_2_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_2_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float -lbl_2_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_2_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float +lbl_2_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float +lbl_2_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float +lbl_2_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float +lbl_2_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float +lbl_2_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float +lbl_2_rodata_468 = .rodata:0x00000468; // type:object size:0x8 scope:local data:double +lbl_2_rodata_470 = .rodata:0x00000470; // type:object size:0x4 scope:local data:float +lbl_2_rodata_474 = .rodata:0x00000474; // type:object size:0x4 scope:local data:float +lbl_2_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double +lbl_2_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double +lbl_2_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float +lbl_2_rodata_48C = .rodata:0x0000048C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_490 = .rodata:0x00000490; // type:object size:0x4 scope:local data:float +lbl_2_rodata_494 = .rodata:0x00000494; // type:object size:0x4 scope:local data:float +lbl_2_rodata_498 = .rodata:0x00000498; // type:object size:0x4 scope:local data:float +lbl_2_rodata_49C = .rodata:0x0000049C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:double +lbl_2_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x8 scope:local data:double +lbl_2_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double +lbl_2_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double +lbl_2_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double +lbl_2_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double +lbl_2_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float +lbl_2_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float +lbl_2_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float +lbl_2_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float +lbl_2_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float +lbl_2_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float +lbl_2_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float +lbl_2_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float +lbl_2_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float +lbl_2_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float +lbl_2_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float +lbl_2_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float +lbl_2_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_550 = .rodata:0x00000550; // type:object size:0x8 scope:local data:double +lbl_2_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float +lbl_2_rodata_55C = .rodata:0x0000055C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:double +lbl_2_rodata_568 = .rodata:0x00000568; // type:object size:0x4 scope:local data:float +lbl_2_rodata_56C = .rodata:0x0000056C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float +lbl_2_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float +lbl_2_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float +lbl_2_rodata_57C = .rodata:0x0000057C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_580 = .rodata:0x00000580; // type:object size:0x4 scope:local data:float +lbl_2_rodata_584 = .rodata:0x00000584; // type:object size:0x4 scope:local data:float +lbl_2_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float +lbl_2_rodata_590 = .rodata:0x00000590; // type:object size:0x8 scope:local data:double +lbl_2_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float +lbl_2_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5A4 = .rodata:0x000005A4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x8 scope:local data:double +lbl_2_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float +lbl_2_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float lbl_2_data_0 = .data:0x00000000; // type:object size:0x4 data:float lbl_2_data_4 = .data:0x00000004; // type:object size:0x10 lbl_2_data_14 = .data:0x00000014; // type:object size:0xC diff --git a/config/GMPE01_00/rels/m445Dll/symbols.txt b/config/GMPE01_00/rels/m445Dll/symbols.txt index 0f826a14..81f152e7 100644 --- a/config/GMPE01_00/rels/m445Dll/symbols.txt +++ b/config/GMPE01_00/rels/m445Dll/symbols.txt @@ -37,132 +37,132 @@ fn_1_89B8 = .text:0x000089B8; // type:function size:0x60 fn_1_8A18 = .text:0x00008A18; // type:function size:0x33C _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -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_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -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_D8 = .rodata:0x000000D8; // type:object size:0x8 data:double -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double -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:0x8 data:double -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -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_138 = .rodata:0x00000138; // type:object size:0x8 data:double -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size: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:0x8 data:double -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_1B0 = .rodata:0x000001B0; // type:object size:0x8 data:double -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -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_data_0 = .data:0x00000000; // type:object size:0x40 +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double +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_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double +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_D8 = .rodata:0x000000D8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double +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:0x8 scope:local data:double +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double +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_138 = .rodata:0x00000138; // type:object size:0x8 scope:local data:double +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size: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:0x8 scope:local data:double +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_1B0 = .rodata:0x000001B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float +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_data_0 = .data:0x00000000; // type:object size:0x20 lbl_1_data_40 = .data:0x00000040; // type:object size:0x20 -lbl_1_data_60 = .data:0x00000060; // type:object size:0x18 -lbl_1_data_78 = .data:0x00000078; // type:object size:0x18 -lbl_1_data_90 = .data:0x00000090; // type:object size:0x40 -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x40 +lbl_1_data_60 = .data:0x00000060; // type:object size:0x18 data:float +lbl_1_data_78 = .data:0x00000078; // type:object size:0x18 data:float +lbl_1_data_90 = .data:0x00000090; // type:object size:0x40 data:float +lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x40 data:float lbl_1_data_110 = .data:0x00000110; // type:object size:0x40 -lbl_1_data_150 = .data:0x00000150; // type:object size:0x12 data:string -lbl_1_data_162 = .data:0x00000162; // type:object size:0x12 data:string -lbl_1_data_174 = .data:0x00000174; // type:object size:0x13 data:string -lbl_1_data_187 = .data:0x00000187; // type:object size:0x13 data:string -lbl_1_data_19A = .data:0x0000019A; // type:object size:0x14 data:string -lbl_1_data_1AE = .data:0x000001AE; // type:object size:0x14 data:string -lbl_1_data_1C2 = .data:0x000001C2; // type:object size:0x10 data:string -lbl_1_data_1D2 = .data:0x000001D2; // type:object size:0x10 data:string -lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0x13 data:string -lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0xF data:string -lbl_1_data_204 = .data:0x00000204; // type:object size:0xE data:string -lbl_1_data_212 = .data:0x00000212; // type:object size:0xE +lbl_1_data_150 = .data:0x00000150; // type:object size:0x12 scope:local data:string +lbl_1_data_162 = .data:0x00000162; // type:object size:0x12 scope:local data:string +lbl_1_data_174 = .data:0x00000174; // type:object size:0x13 scope:local data:string +lbl_1_data_187 = .data:0x00000187; // type:object size:0x13 scope:local data:string +lbl_1_data_19A = .data:0x0000019A; // type:object size:0x14 scope:local data:string +lbl_1_data_1AE = .data:0x000001AE; // type:object size:0x14 scope:local data:string +lbl_1_data_1C2 = .data:0x000001C2; // type:object size:0x10 scope:local data:string +lbl_1_data_1D2 = .data:0x000001D2; // type:object size:0x10 scope:local data:string +lbl_1_data_1E2 = .data:0x000001E2; // type:object size:0x13 scope:local data:string +lbl_1_data_1F5 = .data:0x000001F5; // type:object size:0xF scope:local data:string +lbl_1_data_204 = .data:0x00000204; // type:object size:0xE scope:local data:string +lbl_1_data_212 = .data:0x00000212; // type:object size:0xC scope:local data:string lbl_1_data_220 = .data:0x00000220; // type:object size:0x40 lbl_1_data_260 = .data:0x00000260; // type:object size:0x20 -lbl_1_data_280 = .data:0x00000280; // type:object size:0xF data:string -lbl_1_data_28F = .data:0x0000028F; // type:object size:0xB data:string +lbl_1_data_280 = .data:0x00000280; // type:object size:0xF scope:local data:string +lbl_1_data_28F = .data:0x0000028F; // type:object size:0xB scope:local data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:float lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0xC data:float lbl_1_bss_14 = .bss:0x00000014; // type:object size:0xC data:float lbl_1_bss_20 = .bss:0x00000020; // type:object size:0xC data:float -lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x28 data:4byte +lbl_1_bss_2C = .bss:0x0000002C; // type:object size:0x4 data:4byte lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x4 data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x230 lbl_1_bss_288 = .bss:0x00000288; // type:object size:0x300 data:2byte -lbl_1_bss_588 = .bss:0x00000588; // type:object size:0x13C data:4byte +lbl_1_bss_588 = .bss:0x00000588; // type:object size:0x138 data:4byte lbl_1_bss_6C4 = .bss:0x000006C4; // type:object size:0x4 data:4byte lbl_1_bss_6C8 = .bss:0x000006C8; // type:object size:0x4 data:4byte lbl_1_bss_6CC = .bss:0x000006CC; // type:object size:0xC data:4byte diff --git a/configure.py b/configure.py index 60bc7e7a..2599347a 100644 --- a/configure.py +++ b/configure.py @@ -1182,7 +1182,7 @@ def Rel(lib_name, objects): "m445Dll", # Bowser Bop objects={ Object(Matching, "REL/executor.c"), - Object(NonMatching, "REL/m445Dll/main.c"), + Object(Matching, "REL/m445Dll/main.c"), }, ), Rel( diff --git a/src/REL/m411Dll/main.c b/src/REL/m411Dll/main.c index ec0249a3..c2f5abfd 100755 --- a/src/REL/m411Dll/main.c +++ b/src/REL/m411Dll/main.c @@ -1696,46 +1696,12 @@ void fn_1_5910(void) { s8 fn_1_5D58(s32 arg0, s32 arg1) { UnkBss474Struct* temp_r31; s8 var_r30; - s8 var_r29; - s8 var_r28; temp_r31 = &lbl_1_bss_474[arg0]; if (!GWPlayerCfg[arg0].iscom) { - if (arg1 != 0) { - var_r29 = var_r30 = HuPadStkY[temp_r31->unk3C]; - } else { - var_r29 = var_r30 = HuPadStkX[temp_r31->unk3C]; - } - (void) 1; // Required to match. + (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk3C]) : (var_r30 = HuPadStkX[temp_r31->unk3C]); } else { - if (arg1 != 0) { - var_r28 = var_r30 = temp_r31->unk255; - } else { - var_r28 = var_r30 = temp_r31->unk254; - } - } - return var_r30; -} - -static inline s8 fn_1_5D58_copy(s32 arg0, s32 arg1) { - UnkBss474Struct* temp_r31; - s8 var_r30; - s8 var_r29; - s8 var_r28; - - temp_r31 = &lbl_1_bss_474[arg0]; - if (!GWPlayerCfg[arg0].iscom) { - if (arg1 != 0) { - var_r30 = HuPadStkY[temp_r31->unk3C]; - } else { - var_r30 = HuPadStkX[temp_r31->unk3C]; - } - } else { - if (arg1 != 0) { - var_r30 = temp_r31->unk255; - } else { - var_r30 = temp_r31->unk254; - } + (arg1 != 0) ? (var_r30 = temp_r31->unk255) : (var_r30 = temp_r31->unk254); } return var_r30; } @@ -1743,47 +1709,12 @@ static inline s8 fn_1_5D58_copy(s32 arg0, s32 arg1) { u8 fn_1_5E10(s32 arg0, s32 arg1) { UnkBss474Struct* temp_r31; s8 var_r30; - s8 var_r29; - s8 var_r28; temp_r31 = &lbl_1_bss_474[arg0]; if (!GWPlayerCfg[arg0].iscom) { - if (arg1 != 0) { - var_r29 = var_r30 = HuPadTrigR[temp_r31->unk3C]; - } else { - var_r29 = var_r30 = HuPadTrigL[temp_r31->unk3C]; - } - (void) 1; // Required to match. - } else { - if (arg1 != 0) { - var_r28 = var_r30 = temp_r31->unk256; - } else { - var_r28 = var_r30 = temp_r31->unk257; - } - } - return var_r30; -} - - -static inline u8 fn_1_5E10_copy(s32 arg0, s32 arg1) { - UnkBss474Struct* temp_r31; - s8 var_r30; - s8 var_r29; - s8 var_r28; - - temp_r31 = &lbl_1_bss_474[arg0]; - if (!GWPlayerCfg[arg0].iscom) { - if (arg1 != 0) { - var_r30 = HuPadTrigR[temp_r31->unk3C]; - } else { - var_r30 = HuPadTrigL[temp_r31->unk3C]; - } + (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk3C]) : (var_r30 = HuPadTrigL[temp_r31->unk3C]); } else { - if (arg1 != 0) { - var_r30 = temp_r31->unk256; - } else { - var_r30 = temp_r31->unk257; - } + (arg1 != 0) ? (var_r30 = temp_r31->unk256) : (var_r30 = temp_r31->unk257); } return var_r30; } @@ -1793,10 +1724,6 @@ u16 fn_1_5ED0(s32 arg0) { u16 var_r30; temp_r31 = &lbl_1_bss_474[arg0]; - (void)temp_r31; - (void)temp_r31; - (void)temp_r31; - (void)temp_r31; if (!GWPlayerCfg[arg0].iscom) { var_r30 = HuPadBtnDown[temp_r31->unk3C]; } else { @@ -2214,7 +2141,7 @@ void fn_1_7680(void) { static inline void m411InlineFunc(UnkBss474Struct* temp_r31, UnkBss474DoublyInnerStruct6C* temp_r30) { Vec sp74; - Vec sp80; + Vec sp80; float var_f22; float var_f23; @@ -2340,10 +2267,10 @@ void fn_1_7738(void) { } if (sp70 == 0) { var_r23 = -1; - if (fn_1_5E10_copy(temp_r31->unk34, 0) > 20) { + if (fn_1_5E10(temp_r31->unk34, 0) > 20) { var_r23 = 1; } - if (fn_1_5E10_copy(temp_r31->unk34, 1) > 20) { + if (fn_1_5E10(temp_r31->unk34, 1) > 20) { var_r23 = 0; } if (var_r23 != -1) { @@ -2355,10 +2282,6 @@ void fn_1_7738(void) { spA4.unk08 = var_r23; spA4.unk0C = &sp70; } - (void)var_r23; - (void)var_r23; - (void)var_r23; - (void)var_r23; } if ((fn_1_5ED0(temp_r31->unk34) & 0x100) && sp70 == 0) { if (0.0f == temp_r30->unk14) { @@ -2378,10 +2301,10 @@ void fn_1_7738(void) { fn_1_6428(temp_r31, temp_r26); } temp_r31->unk60 = -1.0f; - if (SOME_MACRO(fn_1_5D58_copy(temp_r31->unk34, 0)) != 0 - || SOME_MACRO(fn_1_5D58_copy(temp_r31->unk34, 1)) != 0) + if (SOME_MACRO(fn_1_5D58(temp_r31->unk34, 0)) != 0 + || SOME_MACRO(fn_1_5D58(temp_r31->unk34, 1)) != 0) { - temp_r31->unk60 = atan2d(fn_1_5D58_copy(temp_r31->unk34, 0), fn_1_5D58_copy(temp_r31->unk34, 1)); + temp_r31->unk60 = atan2d(fn_1_5D58(temp_r31->unk34, 0), fn_1_5D58(temp_r31->unk34, 1)); } if (-1.0f != temp_r31->unk60) { temp_r30->unk00 += 5 * sind(temp_r31->unk60); @@ -2398,9 +2321,6 @@ void fn_1_7738(void) { while (TRUE) { HuPrcVSleep(); } - (void) var_r24; - (void) var_r24; - (void) var_r24; } void fn_1_8A80(float arg0, float arg1) { diff --git a/src/REL/m412Dll/main.c b/src/REL/m412Dll/main.c index 3c6cf951..edea5f01 100644 --- a/src/REL/m412Dll/main.c +++ b/src/REL/m412Dll/main.c @@ -1106,28 +1106,14 @@ void fn_1_3950(void) s8 fn_1_4BE4(s32 arg0, s32 arg1) { s8 var_r30; - s8 var_r29; - s8 var_r28; unkStruct3 *temp_r31; temp_r31 = &lbl_1_bss_4D4[arg0]; if (GWPlayerCfg[arg0].iscom == 0) { - if (arg1 != 0) { - var_r29 = var_r30 = HuPadStkY[temp_r31->unk2C]; - } - else { - var_r29 = var_r30 = HuPadStkX[temp_r31->unk2C]; - } - - (void)var_r30; // used to make the else branch go here instead of returning + (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk2C]) : (var_r30 = HuPadStkX[temp_r31->unk2C]); } else { - if (arg1 != 0) { - var_r28 = var_r30 = temp_r31->unk89; - } - else { - var_r28 = var_r30 = temp_r31->unk88; - } + (arg1 != 0) ? (var_r30 = temp_r31->unk89) : (var_r30 = temp_r31->unk88); } return var_r30; } @@ -1142,22 +1128,13 @@ void fn_1_4C9C(Vec *arg0, f32 arg8, f32 arg9) arg0->z = (temp_f29 * cosd(arg8)); } -static inline f32 unkInline(void) -{ - return 1.0f; // huh? -} - s8 fn_1_4E58(s32 arg0, s32 arg1) { Vec spC; - f32 sp8; f32 temp_f28; - f32 temp_f27; s8 var_r30; s8 temp_r29; s8 temp_r28; - s8 var_r27; - s8 var_r26; unkStruct3 *temp_r31; temp_r31 = &lbl_1_bss_4D4[arg0]; @@ -1167,40 +1144,19 @@ s8 fn_1_4E58(s32 arg0, s32 arg1) temp_f28 = fn_1_1D08(atan2d(temp_r29, temp_r28)); temp_f28 -= lbl_1_bss_778; HuSetVecF(&spC, (f32)temp_r29, 0.0, (f32)temp_r28); - temp_f27 = sqrtf((spC.x * spC.x) + (spC.z * spC.z)); - temp_f27 *= unkInline(); - spC.x = (temp_f27 * sind(temp_f28)); - spC.z = (temp_f27 * cosd(temp_f28)); - if (arg1 != 0) { - var_r27 = var_r30 = spC.z; - } - else { - var_r27 = var_r30 = spC.x; - } - - (void)var_r30; // used to make the else branch go here instead of returning - } - else if (arg1 != 0) { - var_r26 = var_r30 = temp_r31->unk89; + fn_1_4C9C(&spC, temp_f28, 1.0f); + (arg1 != 0) ? (var_r30 = spC.z) : (var_r30 = spC.x); } else { - var_r26 = var_r30 = temp_r31->unk88; + (arg1 != 0) ? (var_r30 = temp_r31->unk89) : (var_r30 = temp_r31->unk88); } return var_r30; } -static inline void DummyInline2(Vec *arg0, float arg1, float arg2) -{ - arg1 *= unkInline(); - arg0->x = (arg1 * sind(arg2)); - arg0->z = (arg1 * cosd(arg2)); -} - static inline s8 fn_1_4E58_0(s32 arg0) { Vec spC; float temp; - f32 sp8; f32 temp_f28; f32 temp_f27; s8 var_r30; @@ -1216,7 +1172,7 @@ static inline s8 fn_1_4E58_0(s32 arg0) temp_f28 = fn_1_1D08(atan2d(temp_r29, temp_r28)); temp_f28 -= lbl_1_bss_778; HuSetVecF(&spC, (f32)temp_r29, 0.0, (f32)temp_r28); - DummyInline2(&spC, sqrtf((spC.x * spC.x) + (spC.z * spC.z)), temp_f28); + fn_1_4C9C(&spC, temp_f28, 1.0f); var_r30 = spC.x; } else { @@ -1229,7 +1185,6 @@ static inline s8 fn_1_4E58_1(s32 arg0) { Vec spC; float temp; - f32 sp8; f32 temp_f28; f32 temp_f27; s8 var_r30; @@ -1245,7 +1200,7 @@ static inline s8 fn_1_4E58_1(s32 arg0) temp_f28 = fn_1_1D08(atan2d(temp_r29, temp_r28)); temp_f28 -= lbl_1_bss_778; HuSetVecF(&spC, (f32)temp_r29, 0.0, (f32)temp_r28); - DummyInline2(&spC, sqrtf((spC.x * spC.x) + (spC.z * spC.z)), temp_f28); + fn_1_4C9C(&spC, temp_f28, 1.0f); var_r30 = spC.z; } else { @@ -1257,26 +1212,14 @@ static inline s8 fn_1_4E58_1(s32 arg0) u8 fn_1_525C(s32 arg0, s32 arg1) { s8 var_r30; - s8 var_r29; - s8 var_r28; unkStruct3 *temp_r31; temp_r31 = &lbl_1_bss_4D4[arg0]; if (GWPlayerCfg[arg0].iscom == 0) { - if (arg1 != 0) { - var_r29 = var_r30 = HuPadTrigR[temp_r31->unk2C]; - } - else { - var_r29 = var_r30 = HuPadTrigL[temp_r31->unk2C]; - } - - (void)var_r30; // used to make the else branch go here instead of returning - } - else if (arg1 != 0) { - var_r28 = var_r30 = temp_r31->unk8A; + (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk2C]) : (var_r30 = HuPadTrigL[temp_r31->unk2C]); } else { - var_r28 = var_r30 = temp_r31->unk8B; + (arg1 != 0) ? (var_r30 = temp_r31->unk8A) : (var_r30 = temp_r31->unk8B); } return var_r30; } diff --git a/src/REL/m414Dll/main.c b/src/REL/m414Dll/main.c index b3484695..777e8458 100644 --- a/src/REL/m414Dll/main.c +++ b/src/REL/m414Dll/main.c @@ -313,8 +313,6 @@ void fn_1_CD8(s32 arg0, s32 arg1, float arg8) var_r31->unk_00 = arg0; var_r31->unk_04 = arg1; var_r31->unk_08 = arg8; - (void)var_r31; - (void)var_r31; } void fn_1_D54(ModelData *arg0, ParticleData *arg1, Mtx arg2, s32 arg3) @@ -1389,50 +1387,14 @@ s8 fn_1_5554(s32 arg0, s32 arg1) // similar to m411Dll/main.c::fn_1_5D58 { UnkM414BssF0Struct *var_r31; s8 var_r30; - s8 var_r29; - s8 var_r28; var_r31 = &lbl_1_bss_F0[arg0]; var_r30 = 0; if (lbl_1_bss_98C < 4) { if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - var_r30 = HuPadStkY[var_r31->unk_4C]; - var_r29 = var_r30; - } else { - var_r30 = HuPadStkX[var_r31->unk_4C]; - var_r29 = var_r30; - } - (void)var_r31; - } else if (arg1) { - var_r30 = var_r31->unk_1FD; - var_r28 = var_r30; - } else { - var_r30 = var_r31->unk_1FC; - var_r28 = var_r30; - } - } - return var_r30; -} - - -static inline s8 fn_1_5554_inline(s32 arg0, s32 arg1) // similar to m411Dll/main.c::fn_1_5D58 -{ - UnkM414BssF0Struct *var_r31; - s8 var_r30; - var_r31 = &lbl_1_bss_F0[arg0]; - var_r30 = 0; - if (lbl_1_bss_98C < 4) { - if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - var_r30 = HuPadStkY[var_r31->unk_4C]; - } else { - var_r30 = HuPadStkX[var_r31->unk_4C]; - } - } else if (arg1) { - var_r30 = var_r31->unk_1FD; + (arg1) ? (var_r30 = HuPadStkY[var_r31->unk_4C]) : (var_r30 = HuPadStkX[var_r31->unk_4C]); } else { - var_r30 = var_r31->unk_1FC; + (arg1) ? (var_r30 = var_r31->unk_1FD) : (var_r30 = var_r31->unk_1FC); } } return var_r30; @@ -1442,46 +1404,14 @@ u8 fn_1_5624(s32 arg0, s32 arg1) { UnkM414BssF0Struct *var_r31; s8 var_r30; - s8 var_r29; - s8 var_r28; var_r31 = &lbl_1_bss_F0[arg0]; var_r30 = 0; if (lbl_1_bss_98C < 4) { if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - var_r29 = var_r30 = HuPadTrigR[var_r31->unk_4C]; - } else { - var_r29 = var_r30 = HuPadTrigL[var_r31->unk_4C]; - } - (void)var_r31; - } else if (arg1) { - var_r28 = var_r30 = var_r31->unk_1FE; - } else { - var_r28 = var_r30 = var_r31->unk_1FF; - } - } - return var_r30; -} - -static inline u8 fn_1_5624_inline(s32 arg0, s32 arg1) -{ - UnkM414BssF0Struct *var_r31; - s8 var_r30; - - var_r31 = &lbl_1_bss_F0[arg0]; - var_r30 = 0; - if (lbl_1_bss_98C < 4) { - if (!GWPlayerCfg[arg0].iscom) { - if (arg1) { - var_r30 = HuPadTrigR[var_r31->unk_4C]; - } else { - var_r30 = HuPadTrigL[var_r31->unk_4C]; - } - } else if (arg1) { - var_r30 = var_r31->unk_1FE; + (arg1) ? (var_r30 = HuPadTrigR[var_r31->unk_4C]) : (var_r30 = HuPadTrigL[var_r31->unk_4C]); } else { - var_r30 = var_r31->unk_1FF; + (arg1) ? (var_r30 = var_r31->unk_1FE) : (var_r30 = var_r31->unk_1FF); } } return var_r30; @@ -1501,10 +1431,6 @@ u16 fn_1_56FC(s32 arg0) var_r30 = var_r31->unk_200; } } - (void)var_r31; - (void)var_r31; - (void)var_r31; - (void)var_r31; return var_r30; } @@ -1738,8 +1664,6 @@ s32 fn_1_654C(s32 arg0, s32 arg1) if (var_r31 >= 16) { var_r31 = -1; } - (void)var_r31; - (void)var_r31; return var_r31; } @@ -1911,7 +1835,7 @@ void fn_1_6644(void) } } } - if (fn_1_5554_inline(var_r31->unk_44, 1) > 20 && (var_r31->unk_1F4 == 2 || var_r31->unk_1F4 == 0)) { // wrong + if (fn_1_5554(var_r31->unk_44, 1) > 20 && (var_r31->unk_1F4 == 2 || var_r31->unk_1F4 == 0)) { Hu3DModelAttrReset(var_r31->unk_20, 0x40000002); Hu3DModelAttrSet(var_r31->unk_20, 0x40000004); var_r31->unk_1F4 = 3; @@ -1919,7 +1843,7 @@ void fn_1_6644(void) Hu3DModelAttrSet(var_r31->unk_12, 0x40000004); Hu3DMotionSpeedSet(var_r31->unk_12, 2.0f); } - if (fn_1_5554_inline(var_r31->unk_44, 1) < -20 && (var_r31->unk_1F4 == 1 || var_r31->unk_1F4 == 0)) { // wrong + if (fn_1_5554(var_r31->unk_44, 1) < -20 && (var_r31->unk_1F4 == 1 || var_r31->unk_1F4 == 0)) { Hu3DModelAttrReset(var_r31->unk_20, 0x40000006); var_r31->unk_1F4 = 3; Hu3DModelAttrReset(var_r31->unk_12, 0x40000006); @@ -1927,10 +1851,10 @@ void fn_1_6644(void) } if (!var_r31->unk_58) { var_r28 = -1; - if (fn_1_5624_inline(var_r31->unk_44, 0) > 20 && var_r28 == -1) { // wrong + if (fn_1_5624(var_r31->unk_44, 0) > 20 && var_r28 == -1) { var_r28 = 1; } - if (fn_1_5624_inline(var_r31->unk_44, 1) > 20 && var_r28 == -1) { // wrong + if (fn_1_5624(var_r31->unk_44, 1) > 20 && var_r28 == -1) { var_r28 = 0; } if (var_r28 != -1) { @@ -1955,8 +1879,6 @@ void fn_1_6644(void) var_r30->user_data = &sp9C; sp9C.unk_00 = var_r31; sp9C.unk_04 = var_r28; - (void)var_r28; - (void)var_r28; } } var_r31->unk_60 = 37.0 * sind(var_r31->unk_70); diff --git a/src/REL/m445Dll/main.c b/src/REL/m445Dll/main.c new file mode 100755 index 00000000..481fed04 --- /dev/null +++ b/src/REL/m445Dll/main.c @@ -0,0 +1,2055 @@ +#include "REL/executor.h" +#include "game/audio.h" +#include "game/chrman.h" +#include "game/data.h" +#include "game/gamework_data.h" +#include "game/hsfanim.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/mapspace.h" +#include "game/minigame_seq.h" +#include "game/object.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/process.h" +#include "game/sprite.h" +#include "game/window.h" +#include "game/wipe.h" + +#include "dolphin.h" +#include "ext_math.h" +#include "rel_sqrt_consts.h" + +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02[3]; + /* 0x08 */ char unk08[4]; + /* 0x0C */ s16 unk0C; + /* 0x0E */ s16 unk0E; + /* 0x10 */ s16 unk10; + /* 0x12 */ char unk12[2]; + /* 0x14 */ s32 unk14; + /* 0x18 */ s32 unk18; + /* 0x1C */ s32 unk1C; + /* 0x20 */ s32 unk20[2]; + /* 0x28 */ s32 unk28; + /* 0x2C */ s32 unk2C; + /* 0x30 */ s32 unk30; + /* 0x34 */ s32 unk34; + /* 0x38 */ s32 unk38; + /* 0x3C */ s32 unk3C; + /* 0x40 */ s32 unk40; + /* 0x44 */ s32 unk44; + /* 0x48 */ float unk48; + /* 0x4C */ float unk4C; + /* 0x50 */ float unk50[2]; + /* 0x58 */ float unk58[2]; +} UnkM445Struct_00; // Size 0x60 + +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ s16 unk04; + /* 0x06 */ s16 unk06; + /* 0x08 */ s16 unk08[16]; + /* 0x28 */ s16 unk28; + /* 0x2A */ char unk2A[2]; + /* 0x2C */ s32 unk2C; + /* 0x30 */ s32 unk30; + /* 0x34 */ s32 unk34; +} UnkM445Struct_01; // Size 0x38 + +typedef struct { + /* 0x00 */ s16 unk00; + /* 0x02 */ s16 unk02; + /* 0x04 */ s16 unk04; + /* 0x06 */ s16 unk06; + /* 0x08 */ s16 unk08[8]; + /* 0x18 */ s32 unk18; + /* 0x1C */ s32 unk1C; + /* 0x20 */ s32 unk20; + /* 0x24 */ s32 unk24; + /* 0x28 */ s32 unk28; + /* 0x2C */ s32 unk2C; + /* 0x30 */ s32 unk30; + /* 0x34 */ float unk34; + /* 0x38 */ float unk38; + /* 0x3C */ float unk3C; + /* 0x40 */ float unk40; + /* 0x44 */ float unk44; + /* 0x48 */ float unk48; + /* 0x4C */ float unk4C; + /* 0x50 */ float unk50; + /* 0x54 */ float unk54; + /* 0x58 */ float unk58; + /* 0x5C */ float unk5C; + /* 0x60 */ float unk60; + /* 0x64 */ char unk64[0xC]; + /* 0x70 */ Vec unk70; + /* 0x7C */ s8 unk7C; + /* 0x7D */ s8 unk7D; + /* 0x7E */ s8 unk7E; + /* 0x7F */ s8 unk7F; + /* 0x80 */ u16 unk80; + /* 0x82 */ u16 unk82; + /* 0x84 */ float unk84; + /* 0x88 */ float unk88; + /* 0x8C */ char unk8C[4]; + /* 0x90 */ s32 unk90; + /* 0x94 */ char unk94[4]; + /* 0x98 */ s32 unk98; +} UnkM445Struct_02; // Size 0x9C + +typedef struct { + /* 0x00 */ char unk00[0x18]; + /* 0x18 */ float unk18; + /* 0x1C */ char unk1C[4]; + /* 0x20 */ float unk20; +} UnkM445Struct_03; // Size unknown + +typedef struct { + /* 0x00 */ UnkM445Struct_03* unk00; + /* 0x04 */ s32 unk04; + /* 0x08 */ s32 unk08; + /* 0x0C */ s32 unk0C; +} UnkM445Struct_04; // Size unknown + +void ObjectSetup(void); +void fn_1_4B8(float arg0, float arg1, s32 arg2); +void fn_1_50C(omObjData* arg0); +void fn_1_510(omObjData* arg0); +BOOL fn_1_520(s32 arg0); +void fn_1_550(void); +float fn_1_1858(float arg0); +UnkM445Struct_01* fn_1_18D8(void); +void fn_1_1934(void); +void fn_1_1968(void); +s32 fn_1_1AD0(s32 arg0); +void fn_1_1B0C(void); +void fn_1_1C64(void); +s8 fn_1_2BF4(s32 arg0, s32 arg1); +void fn_1_2CAC(Vec* arg0, float arg1, float arg2); +s8 fn_1_2E68(s32 arg0, s32 arg1); +u8 fn_1_2F38(s32 arg0, s32 arg1); +u16 fn_1_3010(s32 arg0); +u16 fn_1_3094(s32 arg0); +s32 fn_1_3114(UnkM445Struct_02* arg0, float arg1, float arg2, float arg3); +s32 fn_1_3334(UnkM445Struct_02* arg0, s32* arg1); +void fn_1_3548(UnkM445Struct_02* arg0); +float fn_1_42A0(float arg0, float arg1, float arg2); +BOOL fn_1_43A4(UnkM445Struct_02* arg0, float arg1, float arg2); +void fn_1_45D0(UnkM445Struct_02* arg0); +void fn_1_557C(void); +void fn_1_55F0(void); +void fn_1_5664(UnkM445Struct_02* arg0, s32 arg1); +void fn_1_5700(UnkM445Struct_02* arg0); +void fn_1_6268(void); +void fn_1_7FC0(ModelData* model, ParticleData* particle, Mtx matrix); +void fn_1_8320(void); +void fn_1_8938(void); +void fn_1_89B8(void); +void fn_1_8A18(void); + +s16 lbl_1_bss_6E6; +char lbl_1_bss_6E4_pad[2]; // Unused. +s16 lbl_1_bss_6E2; +s16 lbl_1_bss_6E0; +s32 lbl_1_bss_6DC; +s32 lbl_1_bss_6D8; +s32 lbl_1_bss_6CC[3]; +s32 lbl_1_bss_6C8; +s32 lbl_1_bss_6C4; +char lbl_1_bss_6C0_pad[4]; // Unused. +UnkM445Struct_02 lbl_1_bss_588[2]; +UnkM445Struct_00 lbl_1_bss_288[8]; +UnkM445Struct_01 lbl_1_bss_58[10]; +Process* lbl_1_bss_54; +char lbl_1_bss_30_pad[0x24]; // Unused. +omObjData* lbl_1_bss_2C; +Vec lbl_1_bss_20; +Vec lbl_1_bss_14; +Vec lbl_1_bss_8; +s32 lbl_1_bss_4; +float lbl_1_bss_0; + +s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + +// Unused. +s32 lbl_1_data_20[] = { + DATADIR_MARIOMOT, + DATADIR_LUIGIMOT, + DATADIR_PEACHMOT, + DATADIR_YOSHIMOT, + DATADIR_WARIOMOT, + DATADIR_DONKEYMOT, + DATADIR_DAISYMOT, + DATADIR_WALUIGIMOT +}; + +s32 lbl_1_data_40[] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 0), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 2), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 3), + DATA_MAKE_NUM(DATADIR_M445, 0), + DATA_MAKE_NUM(DATADIR_M445, 8), + DATA_MAKE_NUM(DATADIR_M445, 16), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 75), + DATA_MAKE_NUM(DATADIR_MARIOMOT, 24) +}; + +Vec lbl_1_data_60[] = { + { -100.0f, 75.0f, 60.0f }, + { 100.0f, 75.0f, -60.0f } +}; + +Vec lbl_1_data_78[] = { + { 0.0f, 0.0f, -79.5f }, + { 180.0f, 0.0f, -100.5f } +}; + +float lbl_1_data_90[][2] = { + { 471.0f, 280.0f }, + { -461.5f, 299.5f }, + { 271.7f, -482.6f }, + { -373.1f, -457.1f }, + { 462.8f, -128.5f }, + { 0.0f, -495.4f }, + { -40.8f, 632.3f }, + { -477.7f, -110.0f } +}; + +float lbl_1_data_D0[][2] = { + { 467.0f, 393.0f }, + { -461.5f, 395.5f }, + { 367.7f, -492.1f }, + { -268.9f, -467.0f }, + { 462.8f, -128.5f }, + { 0.0f, -495.4f }, + { -40.8f, 632.3f }, + { -477.7f, -110.0f } +}; + +s32 lbl_1_data_110[][2] = { + { 360, 306 }, + { -360, 341 }, + { 326, -360 }, + { -326, -360 }, + { 321, -122 }, + { 0, -332 }, + { -50, 500 }, + { -334, -110 } +}; + +char* lbl_1_data_220[][2] = { + { "tansu_w_itemhook1" , "tansu_w_itemhook2" }, + { "sidebord_itemhook1" , "sidebord_itemhook2" }, + { "pinkshelf_itemhook1", "pinkshelf_itemhook2" }, + { "green_itemhook1" , "green_itemhook2" }, + { "bookshelf_itemhook" , "bookshelf_itemhook" }, + { "clock_itemhook" , "clock_itemhook" }, + { "book_itemhook" , "book_itemhook" }, + { "tv_itemhook" , "tv_itemhook" } +}; + +s32 lbl_1_data_260[] = { 2, 2, 2, 2, 1, 1, 1, 1 }; + +void ObjectSetup(void) { + lbl_1_bss_54 = omInitObjMan(50, 0x2000); + omGameSysInit(lbl_1_bss_54); + HuWinInit(1); + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 40.0f, 20.0f, 25000.0f, 1.2f); + Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); + Hu3DCameraScissorSet(1, 0, 0, 640, 480); + lbl_1_bss_2C = omAddObjEx(lbl_1_bss_54, 32730, 0, 0, -1, omOutViewMulti); + lbl_1_bss_2C->work[0] = 1; + CRotM[0].x = -12.5f; + CRotM[0].y = 0.0f; + CRotM[0].z = 0.0f; + CenterM[0].x = 0.0f; + CenterM[0].y = 345.0f; + CenterM[0].z = -250.0f; + CZoomM[0] = 520.0f; + Hu3DLighInit(); + lbl_1_bss_6E6 = Hu3DGLightCreate(10000.0f, 0.0f, 10000.0f, -1.0f, 0.0f, -1.0f, 0xFF, 0xFF, 0xFF); + Hu3DGLightPosAimSet(lbl_1_bss_6E6, 0.0f, 4330.13f, 2500.0f, 0.0f, 0.0f, 0.0f); + Hu3DGLightInfinitytSet(lbl_1_bss_6E6); + lbl_1_bss_20.x = -200.0f; + lbl_1_bss_20.y = 4000.0f; + lbl_1_bss_20.z = 0.0f; + lbl_1_bss_14.x = lbl_1_bss_14.z = 0.0f; + lbl_1_bss_14.y = 1.0f; + lbl_1_bss_8.x = 0.0f; + lbl_1_bss_8.y = 0.0f; + lbl_1_bss_8.z = 0.0f; + Hu3DShadowCreate(30.0f, 20.0f, 10000.0f); + Hu3DShadowTPLvlSet(0.3f); + Hu3DShadowPosSet(&lbl_1_bss_20, &lbl_1_bss_14, &lbl_1_bss_8); + Hu3DBGColorSet(0, 0, 0); + fn_1_550(); + HuPrcChildCreate(fn_1_8A18, 0x1000, 0x2000, 0, HuPrcCurrentGet()); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1); +} + +void fn_1_4B8(float arg0, float arg1, s32 arg2) { + Vec sp14; + + sp14.x = arg0; + sp14.y = 0.0f; + sp14.z = arg1; + HuAudFXEmiterPlay(arg2, &sp14); +} + +void fn_1_50C(omObjData* arg0) { +} + +void fn_1_510(omObjData* arg0) { + arg0->func = fn_1_50C; +} + +BOOL fn_1_520(s32 arg0) { + return (GWPlayerCfg[arg0].character == 9); +} + +void fn_1_550(void) { + float var_f31; + float var_f30; + float var_f29; + UnkM445Struct_00* temp_r26; + UnkM445Struct_01* temp_r25; + UnkM445Struct_02* temp_r31; + omObjData* temp_r24; + Process* var_r22; + AnimData* var_r20; + AnimData* sp38[4]; + void* var_r29; + s16 var_r30; + s32 var_r23; + s32 var_r21; + Vec sp2C; + Vec sp20; + s32 i; + s32 j; + + nMap = 0; + HuAudSndGrpSet(0x47); + sp2C.x = 0.0f; + sp2C.y = 998.0f; + sp2C.z = 1551.0f; + sp20.x = 0.0f; + sp20.y = -0.5f; + sp20.z = -1.0f; + HuAudFXListnerSetEX(&sp2C, &sp20, 10000.0f, 0.5666667f, 0.0f, 300.0f, 300.0f); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 24), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + Hu3DModelLayerSet(var_r30, 0); + Hu3DModelShadowMapSet(var_r30); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 25), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + Hu3DModelAttrSet(var_r30, 1); + temp_r24 = omAddObjEx(lbl_1_bss_54, 0x100, 1, 0, -1, fn_1_510); + MapObject[nMap++] = temp_r24; + temp_r24->model[0] = var_r30; + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 26), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + Hu3DModelLayerSet(var_r30, 0); + Hu3DModelShadowSet(var_r30); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 27), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + Hu3DModelLayerSet(var_r30, 0); + Hu3DModelShadowMapSet(var_r30); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + Hu3DModelAttrSet(var_r30, 1); + temp_r24 = omAddObjEx(lbl_1_bss_54, 0x100, 1, 0, -1, fn_1_510); + MapObject[nMap++] = temp_r24; + temp_r24->model[0] = var_r30; + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 100), MEMORY_DEFAULT_NUM, HEAP_DATA); + lbl_1_bss_6E0 = Hu3DModelCreate(var_r29); + Hu3DModelAttrSet(lbl_1_bss_6E0, 1); + for (i = 0; i < 8; i++) { + temp_r26 = &lbl_1_bss_288[i]; + temp_r26->unk14 = i; + temp_r26->unk30 = 0; + var_r23 = DATA_MAKE_NUM(DATADIR_M445, 38 + i * 5); + var_r29 = HuDataSelHeapReadNum(var_r23, MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + temp_r26->unk00 = var_r30; + for (j = 0, var_r23++; j < 3; j++) { + var_r29 = HuDataSelHeapReadNum(var_r23++, MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r26->unk02[j] = Hu3DJointMotion(var_r30, var_r29); + } + Hu3DModelShadowSet(var_r30); + Hu3DMotionSet(var_r30, temp_r26->unk02[0]); + Hu3DModelAttrSet(var_r30, 0x40000001); + temp_r26->unk48 = lbl_1_data_110[i][0]; + temp_r26->unk4C = lbl_1_data_110[i][1]; + temp_r26->unk50[0] = lbl_1_data_90[i][0]; + temp_r26->unk58[0] = lbl_1_data_90[i][1]; + temp_r26->unk50[1] = lbl_1_data_D0[i][0]; + temp_r26->unk58[1] = lbl_1_data_D0[i][1]; + if (i == 5) { + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 81), MEMORY_DEFAULT_NUM, HEAP_DATA); + lbl_1_bss_6E2 = Hu3DJointMotion(var_r30, var_r29); + Hu3DMotionSet(var_r30, lbl_1_bss_6E2); + Hu3DMotionTimeSet(var_r30, 61.0f); + Hu3DModelAttrSet(var_r30, 0x40000002); + } + if (i == 6) { + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 78), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r26->unk0E = Hu3DJointMotion(var_r30, var_r29); + } + if (i == 7) { + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 79), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r26->unk0E = Hu3DJointMotion(var_r30, var_r29); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 80), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r26->unk10 = Hu3DJointMotion(var_r30, var_r29); + } + temp_r26->unk18 = nMap; + var_r29 = HuDataSelHeapReadNum(var_r23, MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + Hu3DModelAttrSet(var_r30, 1); + temp_r24 = MapObject[nMap++] = omAddObjEx(lbl_1_bss_54, 0x100, 1, 0, -1, fn_1_510); + temp_r24->model[0] = var_r30; + temp_r24->trans.x = temp_r26->unk48; + temp_r24->trans.y = 0.0f; + temp_r24->trans.z = temp_r26->unk4C; + var_r22 = HuPrcChildCreate(fn_1_1C64, 0x2000, 0x2000, 0, HuPrcCurrentGet()); + var_r22->user_data = temp_r26; + } + HuPrcChildCreate(fn_1_1B0C, 0x2000, 0x2000, 0, HuPrcCurrentGet()); + for (i = 0; i < 10; i++) { + temp_r25 = &lbl_1_bss_58[i]; + temp_r25->unk2C = i; + temp_r25->unk30 = -1; + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 82), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + temp_r25->unk00 = var_r30; + for (j = 0; j < 4; j++) { + var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 83), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r25->unk08[j] = Hu3DJointMotion(var_r30, var_r29); + } + Hu3DModelAttrSet(var_r30, 1); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 82), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + temp_r25->unk04 = var_r30; + for (j = 0; j < 4; j++) { + var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 87), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r25->unk08[j + 4] = Hu3DJointMotion(var_r30, var_r29); + } + Hu3DModelAttrSet(var_r30, 1); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 91), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + temp_r25->unk02 = var_r30; + for (j = 0; j < 4; j++) { + var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 92), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r25->unk08[j + 8] = Hu3DJointMotion(var_r30, var_r29); + } + Hu3DModelAttrSet(var_r30, 1); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 91), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + temp_r25->unk06 = var_r30; + for (j = 0; j < 4; j++) { + var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 96), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r25->unk08[j + 12] = Hu3DJointMotion(var_r30, var_r29); + } + Hu3DModelAttrSet(var_r30, 1); + } + for (i = 0; i < 2; i++) { + temp_r31 = &lbl_1_bss_588[i]; + temp_r31->unk18 = i; + temp_r31->unk1C = i; + temp_r31->unk20 = GWPlayerCfg[i].pad_idx; + if (fn_1_520(temp_r31->unk18) == FALSE) { + temp_r31->unk00 = CharModelCreate(lbl_1_data_0[GWPlayerCfg[i].character], 2); + } else { + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 29), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk00 = Hu3DModelCreate(var_r29); + } + Hu3DModelLayerSet(temp_r31->unk00, 0); + CharModelStepTypeSet(lbl_1_data_0[GWPlayerCfg[i].character], 1); + CharModelLayerSetAll(3); + temp_r31->unk48 = temp_r31->unk50 = 0.0f; + if (i != 0) { + var_f31 = temp_r31->unk4C = fn_1_1858(-90.0f); + } else { + temp_r31->unk4C = var_f31 = 90.0f; + } + temp_r31->unk60 = temp_r31->unk4C; + if (i != 0) { + var_f30 = temp_r31->unk34 = 160.0f; + } else { + var_f30 = temp_r31->unk34 = -160.0f; + } + temp_r31->unk38 = 0.0f; + if (i != 0) { + var_f29 = temp_r31->unk3C = -45.0f; + } else { + var_f29 = temp_r31->unk3C = 45.0f; + } + temp_r31->unk54 = 50.0f; + temp_r31->unk5C = temp_r31->unk58 = 0.0f; + HuSetVecF(&temp_r31->unk70, 0.0, 0.0, 0.0); + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); + Hu3DModelShadowSet(temp_r31->unk00); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 37), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + temp_r31->unk06 = var_r30; + Hu3DModelLayerSet(var_r30, 0); + Hu3DModelShadowSet(var_r30); + Hu3DModelPosSet(var_r30, lbl_1_data_60[i].x, lbl_1_data_60[i].y, lbl_1_data_60[i].z); + Hu3DModelRotSet(var_r30, lbl_1_data_78[i].x, lbl_1_data_78[i].y, lbl_1_data_78[i].z); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 101), MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = Hu3DModelCreate(var_r29); + temp_r31->unk02 = var_r30; + Hu3DMotionSpeedSet(var_r30, 1.4f); + Hu3DModelLayerSet(var_r30, 1); + Hu3DModelAttrSet(var_r30, 1); + if (fn_1_520(temp_r31->unk18) == FALSE) { + for (j = 0; j < 8; j++) { + var_r21 = lbl_1_data_40[j]; + if ((var_r21 & ~0xFFFF) == DATADIR_M445) { + var_r21 += GWPlayerCfg[i].character; + } + temp_r31->unk08[j] = CharModelMotionCreate(lbl_1_data_0[GWPlayerCfg[i].character], var_r21); + } + CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk08[0]); + } else { + for (j = 0; j < 7; j++) { + var_r29 = HuDataSelHeapReadNum(j + DATA_MAKE_NUM(DATADIR_M445, 30), MEMORY_DEFAULT_NUM, HEAP_DATA); + temp_r31->unk08[j] = Hu3DJointMotion(temp_r31->unk00, var_r29); + } + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk08[0]); + CharModelEffectNpcInit(temp_r31->unk00, temp_r31->unk08[1], 0, 9); + CharModelEffectNpcInit(temp_r31->unk00, temp_r31->unk08[2], 1, 9); + } + Hu3DModelAttrSet(temp_r31->unk00, 0x40000001); + if (i == 0) { + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 22), MEMORY_DEFAULT_NUM, HEAP_DATA); + sp38[0] = HuSprAnimRead(var_r29); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 23), MEMORY_DEFAULT_NUM, HEAP_DATA); + sp38[1] = HuSprAnimRead(var_r29); + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_MGCONST, 51), MEMORY_DEFAULT_NUM, HEAP_DATA); + sp38[3] = HuSprAnimRead(var_r29); + } + if (fn_1_520(temp_r31->unk18) == FALSE) { + var_r29 = HuDataSelHeapReadNum(GWPlayerCfg[i].character + DATADIR_MGCONST, MEMORY_DEFAULT_NUM, HEAP_DATA); + } else { + var_r29 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M445, 102), MEMORY_DEFAULT_NUM, HEAP_DATA); + } + sp38[2] = HuSprAnimRead(var_r29); + temp_r31->unk04 = HuSprGrpCreate(5); + var_r30 = HuSprCreate(sp38[0], 0x1000, 0); + HuSprGrpMemberSet(temp_r31->unk04, 0, var_r30); + HuSprPosSet(temp_r31->unk04, 0, 0.0f, 0.0f); + var_r30 = HuSprCreate(sp38[1], 0x1001, 0); + HuSprGrpMemberSet(temp_r31->unk04, 1, var_r30); + HuSprPosSet(temp_r31->unk04, 1, 0.0f, 0.0f); + HuSprTPLvlSet(temp_r31->unk04, 1, 0.5f); + HuSprColorSet(temp_r31->unk04, 1, 0, 0, 0); + var_r30 = HuSprCreate(sp38[2], 0x1000, 0); + HuSprGrpMemberSet(temp_r31->unk04, 2, var_r30); + HuSprPosSet(temp_r31->unk04, 2, -36.0f, -2.0f); + var_r30 = HuSprCreate(sp38[3], 0x1000, 0); + HuSprGrpMemberSet(temp_r31->unk04, 3, var_r30); + HuSprPosSet(temp_r31->unk04, 3, 16.0f, 2.0f); + var_r30 = HuSprCreate(sp38[3], 0x1000, 0); + HuSprGrpMemberSet(temp_r31->unk04, 4, var_r30); + HuSprPosSet(temp_r31->unk04, 4, -4.0f, 2.0f); + HuSprAttrSet(temp_r31->unk04, 4, 4); + HuSprGrpPosSet(temp_r31->unk04, i * 438 + 73, 61.0f); + temp_r31->unk30 = 0; + fn_1_5664(temp_r31, temp_r31->unk30); + fn_1_55F0(); + CharModelMotionDataClose(lbl_1_data_0[GWPlayerCfg[i].character]); + var_r22 = HuPrcChildCreate(fn_1_6268, 0x2000, 0x3000, 0, HuPrcCurrentGet()); + var_r22->user_data = temp_r31; + } + var_r20 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 3), MEMORY_DEFAULT_NUM)); + var_r30 = Hu3DParticleCreate(var_r20, 3); + Hu3DModelPosSet(var_r30, 0.0f, 0.0f, 0.0f); + Hu3DModelScaleSet(var_r30, 1.0f, 1.0f, 1.0f); + Hu3DModelLayerSet(var_r30, 4); + Hu3DParticleColSet(var_r30, 0xFF, 0xFF, 0xFF); + Hu3DParticleScaleSet(var_r30, 0.0f); + Hu3DParticleHookSet(var_r30, fn_1_7FC0); + HuDataDirClose(DATADIR_EFFECT); + lbl_1_bss_6C8 = 0; + lbl_1_bss_6CC[0] = frandmod(25); + lbl_1_bss_6CC[1] = frandmod(25) + 30; + lbl_1_bss_6CC[2] = 1000; + HuPrcChildCreate(fn_1_89B8, 0x1000, 0x1000, 0, HuPrcCurrentGet()); +} + +float fn_1_1858(float arg0) { + while (arg0 >= 360.0f || arg0 < 0.0f) { + if (arg0 >= 360.0f) { + arg0 -= 360.0f; + } + if (arg0 < 0.0f) { + arg0 += 360.0f; + } + } + return arg0; +} + +UnkM445Struct_01* fn_1_18D8(void) { + UnkM445Struct_01* var_r30; + s32 i; + + for (i = 0; i < 10; i++) { + var_r30 = &lbl_1_bss_58[i]; + if (var_r30->unk30 == -1) { + break; + } + } + if (i >= 10) { + var_r30 = NULL; + } + return var_r30; +} + +void fn_1_1934(void) { + UnkM445Struct_04* var_r31; + + var_r31 = HuPrcCurrentGet()->user_data; + HuMemDirectFree(var_r31); +} + +void fn_1_1968(void) { + float var_f31; + float var_f30; + UnkM445Struct_04* temp_r31; + s32 i; + + temp_r31 = HuPrcCurrentGet()->user_data; + HuPrcDestructorSet(fn_1_1934); + switch (temp_r31->unk04) { + case 0: + var_f31 = -140.0f / temp_r31->unk0C; + var_f30 = 0.0f / temp_r31->unk0C; + break; + default: + var_f31 = 0.0f; + var_f30 = 0.0f; + break; + } + for (i = temp_r31->unk0C; i != 0; i--) { + temp_r31->unk00->unk18 += var_f31; + temp_r31->unk00->unk20 += var_f30; + HuPrcVSleep(); + } + while (temp_r31->unk08 == 0) { + HuPrcVSleep(); + } + for (i = temp_r31->unk0C; i != 0; i--) { + temp_r31->unk00->unk18 -= var_f31; + temp_r31->unk00->unk20 -= var_f30; + HuPrcVSleep(); + } + HuPrcKill(HuPrcCurrentGet()); + while (TRUE) { + HuPrcVSleep(); + } +} + +s32 fn_1_1AD0(s32 arg0) { + s32 var_r31; + + if (arg0 < 20) { + var_r31 = 3; + } else if (arg0 < 40) { + var_r31 = 4; + } else { + var_r31 = 5; + } + return var_r31; +} + +void fn_1_1B0C(void) { + UnkM445Struct_00* temp_r30; + s32 spC; + s32 sp8; + s32 var_r29; + s32 var_r28; + s32 i; + + spC = -1; + sp8 = 0; + while (lbl_1_bss_6DC < 3) { + HuPrcVSleep(); + } + while (TRUE) { + if (lbl_1_bss_6DC >= 4) { + break; + } + for (i = 0, var_r28 = 0; i < 8; i++) { + temp_r30 = &lbl_1_bss_288[i]; + if (temp_r30->unk34 != 0) { + var_r28++; + } + } + if (var_r28 < fn_1_1AD0(lbl_1_bss_6D8 / 60)) { + var_r29 = frandmod(8) + 1; + i = 0; + while (TRUE) { + temp_r30 = &lbl_1_bss_288[i]; + if (temp_r30->unk34 == 0) { + var_r29--; + } + if (var_r29 == 0) { + break; + } + i++; + if (i >= 8) { + i = 0; + } + } + temp_r30->unk34 = 1; + HuPrcSleep(60); + } + HuPrcVSleep(); + } + HuPrcKill(HuPrcCurrentGet()); + while (TRUE) { + HuPrcVSleep(); + } +} + +void fn_1_1C64(void) { + UnkM445Struct_00* temp_r31; + UnkM445Struct_01* var_r25; + UnkM445Struct_01* var_r29; + s32 var_r23; + s32 var_r26; + + temp_r31 = HuPrcCurrentGet()->user_data; + temp_r31->unk1C = 0; + temp_r31->unk34 = 0; + while (TRUE) { + while (temp_r31->unk34 == 0) { + HuPrcVSleep(); + } + temp_r31->unk20[0] = temp_r31->unk20[1] = 0; + temp_r31->unk0C = 0; + if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { + temp_r31->unk0C = 4; + } + var_r25 = fn_1_18D8(); + var_r25->unk30 = temp_r31->unk14; + var_r25->unk34 = 0; + temp_r31->unk3C = var_r25->unk2C; + temp_r31->unk40 = -1; + if (lbl_1_bss_6CC[lbl_1_bss_6C8] < lbl_1_bss_6D8 / 60) { + temp_r31->unk38 = 1; + if (lbl_1_data_260[temp_r31->unk14] == 1) { + lbl_1_bss_6C8++; + } + if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { + var_r25->unk28 = var_r25->unk04; + } else { + var_r25->unk28 = var_r25->unk00; + } + } else { + temp_r31->unk38 = 0; + if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { + var_r25->unk28 = var_r25->unk06; + } else { + var_r25->unk28 = var_r25->unk02; + } + temp_r31->unk0C += 8; + } + Hu3DModelAttrReset(var_r25->unk28, 1); + Hu3DModelHookSet(temp_r31->unk00, lbl_1_data_220[temp_r31->unk14][0], var_r25->unk28); + Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C]); + if (lbl_1_data_260[temp_r31->unk14] > 1) { + var_r29 = fn_1_18D8(); + var_r29->unk30 = temp_r31->unk14; + var_r29->unk34 = 0; + temp_r31->unk40 = var_r29->unk2C; + if (lbl_1_bss_6CC[lbl_1_bss_6C8] < lbl_1_bss_6D8 / 60) { + lbl_1_bss_6C8++; + if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { + var_r29->unk28 = var_r29->unk04; + } else { + var_r29->unk28 = var_r29->unk00; + } + } else { + if (temp_r31->unk14 == 5 || temp_r31->unk14 == 7) { + var_r29->unk28 = var_r29->unk06; + } else { + var_r29->unk28 = var_r29->unk02; + } + } + Hu3DModelAttrReset(var_r29->unk28, 1); + Hu3DModelHookSet(temp_r31->unk00, lbl_1_data_220[temp_r31->unk14][1], var_r29->unk28); + Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C]); + } + temp_r31->unk1C = 1; + temp_r31->unk44 = 0; + switch (temp_r31->unk14) { + case 0: + case 1: + case 3: + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x751); + break; + case 6: + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x753); + break; + default: + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x752); + break; + } + if (temp_r31->unk14 == 7 && temp_r31->unk38 == 0) { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk0E); + } else { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk02[1]); + } + Hu3DModelAttrReset(temp_r31->unk00, 0x40000005); + while (!Hu3DMotionEndCheck(temp_r31->unk00)) { + temp_r31->unk44++; + HuPrcVSleep(); + } + if (lbl_1_bss_6DC >= 4) { + break; + } + if (temp_r31->unk14 == 7 && temp_r31->unk38 == 0) { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk10); + } else if (temp_r31->unk14 == 6 && temp_r31->unk38 == 0) { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk0E); + } else { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk02[2]); + } + var_r23 = 150; + Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 1]); + Hu3DModelAttrSet(var_r25->unk28, 0x40000002); + if (temp_r31->unk14 == 6) { + HuPrcSleep(12); + Hu3DModelAttrReset(var_r25->unk28, 0x40000006); + if (temp_r31->unk38 != 0) { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x758); + } else { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x757); + } + } + if (temp_r31->unk14 == 7) { + HuPrcSleep(11); + Hu3DModelAttrReset(var_r25->unk28, 0x40000006); + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x754); + Hu3DModelAttrReset(lbl_1_bss_6E0, 1); + Hu3DMotionTimeSet(lbl_1_bss_6E0, 0.0f); + } + while (!Hu3DMotionEndCheck(temp_r31->unk00)) { + temp_r31->unk44++; + HuPrcVSleep(); + } + if (temp_r31->unk14 != 6) { + if (temp_r31->unk38 != 0) { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x758); + } else { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x757); + } + Hu3DModelAttrReset(var_r25->unk28, 0x40000006); + if (lbl_1_data_260[temp_r31->unk14] > 1) { + Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 1]); + Hu3DModelAttrReset(var_r29->unk28, 0x40000006); + } + } + while (!Hu3DMotionEndCheck(var_r25->unk28)) { + HuPrcVSleep(); + } + var_r25->unk34 = 1; + Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 2]); + Hu3DModelAttrSet(var_r25->unk28, 0x40000001); + if (lbl_1_data_260[temp_r31->unk14] > 1) { + var_r29->unk34 = 1; + Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 2]); + Hu3DModelAttrSet(var_r29->unk28, 0x40000001); + } + temp_r31->unk1C = 2; + var_r26 = var_r23; + while (TRUE) { + if (temp_r31->unk20[0] == 1) { + temp_r31->unk20[0] = 2; + Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 3]); + Hu3DModelAttrReset(var_r25->unk28, 0x40000001); + if (temp_r31->unk38 != 0) { + if (temp_r31->unk28 != 0) { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75C); + } else { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75A); + } + } else { + if (temp_r31->unk28 != 0) { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75B); + } else { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x759); + } + } + } + if (temp_r31->unk20[1] == 1) { + temp_r31->unk20[1] = 2; + Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 3]); + Hu3DModelAttrReset(var_r29->unk28, 0x40000001); + if (temp_r31->unk38 != 0) { + if (temp_r31->unk2C != 0) { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75C); + } else { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75A); + } + } else { + if (temp_r31->unk2C != 0) { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x75B); + } else { + fn_1_4B8(temp_r31->unk48, temp_r31->unk4C, 0x759); + } + } + } + if (temp_r31->unk14 == 6 && temp_r31->unk20[0] == 2 && Hu3DMotionTimeGet(var_r25->unk28) == 12.0f) { + break; + } + if (lbl_1_data_260[temp_r31->unk14] > 1) { + if (var_r26 <= 0) { + break; + } + if (Hu3DMotionEndCheck(var_r25->unk28) && Hu3DMotionEndCheck(var_r29->unk28)) { + break; + } + } else { + if (var_r26 <= 0) { + break; + } + if (Hu3DMotionEndCheck(var_r25->unk28)) { + break; + } + } + HuPrcVSleep(); + var_r26--; + } + temp_r31->unk1C = 0; + var_r25->unk34 = 0; + if (temp_r31->unk14 != 6) { + if (temp_r31->unk20[0] == 0) { + Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 1]); + Hu3DMotionTimeSet(var_r25->unk28, Hu3DMotionMaxTimeGet(var_r25->unk28)); + Hu3DMotionSpeedSet(var_r25->unk28, 2.0f); + Hu3DModelAttrSet(var_r25->unk28, 0x40000004); + Hu3DModelAttrReset(var_r25->unk28, 0x40000001); + } + if (lbl_1_data_260[temp_r31->unk14] > 1 && temp_r31->unk20[1] == 0) { + var_r29->unk34 = 0; + Hu3DMotionSet(var_r29->unk28, var_r29->unk08[temp_r31->unk0C + 1]); + Hu3DMotionTimeSet(var_r29->unk28, Hu3DMotionMaxTimeGet(var_r29->unk28)); + Hu3DMotionSpeedSet(var_r29->unk28, 2.0f); + Hu3DModelAttrSet(var_r29->unk28, 0x40000004); + Hu3DModelAttrReset(var_r29->unk28, 0x40000001); + } + if (lbl_1_data_260[temp_r31->unk14] > 1) { + while (!Hu3DMotionEndCheck(var_r25->unk28) || !Hu3DMotionEndCheck(var_r29->unk28)) { + HuPrcVSleep(); + } + } else { + while (!Hu3DMotionEndCheck(var_r25->unk28)) { + HuPrcVSleep(); + } + } + } + Hu3DMotionSpeedSet(var_r25->unk28, 1.0f); + if (lbl_1_data_260[temp_r31->unk14] > 1) { + Hu3DMotionSpeedSet(var_r29->unk28, 1.0f); + } + Hu3DModelAttrSet(temp_r31->unk00, 0x40000004); + if (temp_r31->unk14 == 6 && temp_r31->unk20[0] == 0) { + HuPrcSleep(26); + Hu3DMotionSet(var_r25->unk28, var_r25->unk08[temp_r31->unk0C + 1]); + Hu3DMotionTimeSet(var_r25->unk28, Hu3DMotionMaxTimeGet(var_r25->unk28)); + Hu3DMotionSpeedSet(var_r25->unk28, 2.0f); + Hu3DModelAttrSet(var_r25->unk28, 0x40000004); + Hu3DModelAttrReset(var_r25->unk28, 0x40000001); + } + while (!Hu3DMotionEndCheck(temp_r31->unk00)) { + HuPrcVSleep(); + } + var_r25->unk30 = -1; + Hu3DModelAttrSet(var_r25->unk28, 1); + if (lbl_1_data_260[temp_r31->unk14] > 1) { + var_r29->unk30 = -1; + Hu3DModelAttrSet(var_r29->unk28, 1); + } + Hu3DModelHookReset(temp_r31->unk00); + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk02[0]); + Hu3DModelAttrSet(temp_r31->unk00, 0x40000001); + temp_r31->unk34 = 0; + HuPrcVSleep(); + } +} + +// identical to m411Dll/main.c::fn_1_5D58 +s8 fn_1_2BF4(s32 arg0, s32 arg1) { + UnkM445Struct_02* temp_r31; + s8 var_r30; + + temp_r31 = &lbl_1_bss_588[arg0]; + if (!GWPlayerCfg[arg0].iscom) { + (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk20]) : (var_r30 = HuPadStkX[temp_r31->unk20]); + } else { + (arg1 != 0) ? (var_r30 = temp_r31->unk7D) : (var_r30 = temp_r31->unk7C); + } + return var_r30; +} + +void fn_1_2CAC(Vec* arg0, float arg1, float arg2) { + float temp_f29; + + temp_f29 = sqrtf(arg0->x * arg0->x + arg0->z * arg0->z); + temp_f29 *= arg2; + arg0->x = temp_f29 * sind(arg1); + arg0->z = temp_f29 * cosd(arg1); +} + +// similar to m414Dll/main.c::fn_1_5554 +// TODO: update other files (m414 and m411). +s8 fn_1_2E68(s32 arg0, s32 arg1) { + UnkM445Struct_02* temp_r31; + s8 var_r30; + + temp_r31 = &lbl_1_bss_588[arg0]; + var_r30 = 0; + if (!GWPlayerCfg[arg0].iscom && lbl_1_bss_6DC < 4) { + (arg1 != 0) ? (var_r30 = HuPadStkY[temp_r31->unk20]) : (var_r30 = HuPadStkX[temp_r31->unk20]); + } else { + (arg1 != 0) ? (var_r30 = temp_r31->unk7D) : (var_r30 = temp_r31->unk7C); + } + return var_r30; +} + +u8 fn_1_2F38(s32 arg0, s32 arg1) { + UnkM445Struct_02* temp_r31; + s8 var_r30; + + temp_r31 = &lbl_1_bss_588[arg0]; + var_r30 = 0; + if (lbl_1_bss_6DC < 4) { + if (!GWPlayerCfg[arg0].iscom) { + (arg1 != 0) ? (var_r30 = HuPadTrigR[temp_r31->unk20]) : (var_r30 = HuPadTrigL[temp_r31->unk20]); + } else { + (arg1 != 0) ? (var_r30 = temp_r31->unk7E) : (var_r30 = temp_r31->unk7F); + } + } + return var_r30; +} + +u16 fn_1_3010(s32 arg0) { + UnkM445Struct_02* temp_r31; + u16 var_r30; + + temp_r31 = &lbl_1_bss_588[arg0]; + var_r30 = 0; + if (lbl_1_bss_6DC < 4) { + if (!GWPlayerCfg[arg0].iscom) { + var_r30 = HuPadBtnDown[temp_r31->unk20]; + } else { + var_r30 = temp_r31->unk82; + } + } + return var_r30; +} + +u16 fn_1_3094(s32 arg0) { + UnkM445Struct_02* temp_r31; + u16 var_r30; + + temp_r31 = &lbl_1_bss_588[arg0]; + if (lbl_1_bss_6DC < 4) { + if (!GWPlayerCfg[arg0].iscom) { + var_r30 = HuPadBtn[temp_r31->unk20]; + } else { + var_r30 = temp_r31->unk80; + } + } + return var_r30; +} + +s32 fn_1_3114(UnkM445Struct_02* arg0, float arg1, float arg2, float arg3) { + Vec sp30; + Vec sp24; + Vec sp18; + s32 var_r28; + float var_f27; + float var_f28; + UnkM445Struct_02* temp_r31; + s32 i; + + var_r28 = -1; + for (i = 0, var_f28 = 10000.0f; i < 2; i++) { + if (i == arg0->unk18) { + continue; + } + temp_r31 = &lbl_1_bss_588[i]; + HuSetVecF(&sp30, arg1, arg2, arg3); + HuSetVecF(&sp24, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); + HuSubVecF(&sp18, &sp30, &sp24); + if ((var_f27 = sqrtf(sp18.x * sp18.x + sp18.y * sp18.y + sp18.z * sp18.z)) < arg0->unk54 + temp_r31->unk54 && var_f27 < var_f28) { + var_f28 = var_f27; + var_r28 = i; + } + } + return var_r28; +} + +s32 fn_1_3334(UnkM445Struct_02* arg0, s32* arg1) { + Vec sp30; + Vec sp24; + Vec sp18; + float var_f27; + float var_f28; + UnkM445Struct_02* temp_r31; + s32 var_r27; + s32 var_r28; + s32 i; + + var_r27 = -1; + for (i = 0, var_f28 = 10000.0f, var_r28 = 0; i < 2; i++) { + if (i == arg0->unk18) { + continue; + } + temp_r31 = &lbl_1_bss_588[i]; + HuSetVecF(&sp30, arg0->unk34, arg0->unk38, arg0->unk3C); + HuSetVecF(&sp24, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); + HuSubVecF(&sp18, &sp30, &sp24); + if ((var_f27 = sqrtf(sp18.x * sp18.x + sp18.y * sp18.y + sp18.z * sp18.z)) < arg0->unk54 + temp_r31->unk54) { + var_r28++; + if (var_f27 < var_f28) { + var_f28 = var_f27; + var_r27 = i; + } + } + } + *arg1 = var_r28; + return var_r27; +} + +void fn_1_3548(UnkM445Struct_02* arg0) { + Vec spA8; + Vec sp9C; + Vec sp90; + s32 sp68; + s32 var_r25; + s32 temp_r24; + float sp64; + float sp60; + float sp5C; + float sp58; + float sp54; + float sp50; + float sp4C; + float var_f20; + float var_f27; + float var_f26; + float var_f25; + UnkM445Struct_02* var_r30; + UnkM445Struct_02* temp_r27; + s32 i; + + temp_r24 = fn_1_3334(arg0, &sp68); + if (temp_r24 == -1) { + return; + } + var_f20 = fn_1_1858(atan2d(arg0->unk34 - arg0->unk40, arg0->unk3C - arg0->unk44)); + sp58 = var_f27 = arg0->unk40; + sp54 = var_f26 = arg0->unk44; + sp4C = 1.0f; + var_r25 = 1.0f + 10.0f / sp4C; + while (var_r25 != 0) { + var_f27 += sp4C * sind(var_f20); + var_f26 += sp4C * cosd(var_f20); + HuSetVecF(&spA8, var_f27, arg0->unk38, var_f26); + for (i = 0; i < 2; i++) { + if (i != arg0->unk18) { + var_r30 = &lbl_1_bss_588[i]; + HuSetVecF(&sp9C, var_r30->unk34, var_r30->unk38, var_r30->unk3C); + HuSubVecF(&sp90, &spA8, &sp9C); + if (sqrtf(sp90.x * sp90.x + sp90.y * sp90.y + sp90.z * sp90.z) < arg0->unk54 + var_r30->unk54) { + break; + } + } + } + if (i < 2) { + break; + } + AddX = 0.0f; + AddZ = 0.0f; + MapWall(arg0->unk54, var_f27, arg0->unk38 + arg0->unk54, var_f26); + if (AddX + AddZ != 0.0f) { + goto block_end; + } + sp58 = var_f27; + sp54 = var_f26; + var_r25--; + } + var_f20 = fn_1_1858(atan2d(arg0->unk34 - arg0->unk40, arg0->unk3C - arg0->unk44)); + var_f25 = fn_1_1858(atan2d(var_r30->unk34 - arg0->unk40, var_r30->unk3C - arg0->unk44)); + sp60 = var_f20 - var_f25; + if (sp60 > 0.0f) { + sp5C = -0.5f; + } else { + sp5C = 0.5f; + } + if (ABS_INV(var_f20 - var_f25) > 180.0f) { + sp5C = -sp5C; + } + var_f25 = fn_1_1858(atan2d(arg0->unk40 - var_r30->unk34, arg0->unk44 - var_r30->unk3C)); + sp50 = 0.8f * arg0->unk58; + temp_r24 = var_r30->unk18; + sp64 = arg0->unk54 + var_r30->unk54 + 1.0f; + while (TRUE) { + var_f27 = var_r30->unk34 + sp64 * sind(var_f25); + var_f26 = var_r30->unk3C + sp64 * cosd(var_f25); + HuSetVecF(&spA8, var_f27, 0.0, var_f26); + for (i = 0; i < 2; i++) { + if (i != arg0->unk18 && i != temp_r24) { + temp_r27 = &lbl_1_bss_588[i]; + HuSetVecF(&sp9C, temp_r27->unk34, 0.0, temp_r27->unk3C); + HuSubVecF(&sp90, &spA8, &sp9C); + if (sqrtf(sp90.x * sp90.x + sp90.z * sp90.z) < arg0->unk54 + temp_r27->unk54) { + break; + } + } + } + if (i < 2) { + break; + } + AddX = 0.0f; + AddZ = 0.0f; + MapWall(arg0->unk54, var_f27, arg0->unk38 + arg0->unk54, var_f26); + if (AddX + AddZ >= 5.0f) { + break; + } + sp58 = var_f27; + sp54 = var_f26; + HuSetVecF(&spA8, arg0->unk40, 0.0, arg0->unk44); + HuSetVecF(&sp9C, var_f27, 0.0, var_f26); + HuSubVecF(&sp90, &spA8, &sp9C); + if (sqrtf(sp90.x * sp90.x + sp90.z * sp90.z) > sp50) { + break; + } + var_f25 += sp5C; + } +block_end: + arg0->unk34 = sp58; + arg0->unk3C = sp54; +} + +float fn_1_42A0(float arg0, float arg1, float arg2) { + float var_f31; + float var_f30; + + var_f31 = fmod(arg1 - arg0, 360.0); + if (0.0f > var_f31) { + var_f31 += 360.0f; + } + if (180.0f < var_f31) { + var_f31 -= 360.0f; + } + var_f30 = fmod(arg0 + var_f31 * arg2, 360.0); + if (0.0f > var_f30) { + var_f30 += 360.0f; + } + return var_f30; +} + +BOOL fn_1_43A4(UnkM445Struct_02* arg0, float arg1, float arg2) { + Vec sp2C; + Vec sp20; + Vec sp14; + BOOL var_r30; + + var_r30 = FALSE; + HuSetVecF(&sp2C, arg0->unk34 + 120.0 * sind(arg0->unk4C), 0.0, arg0->unk3C + 120.0 * cosd(arg0->unk4C)); + HuSetVecF(&sp20, arg1, 0.0, arg2); + HuSubVecF(&sp14, &sp2C, &sp20); + if (sqrtf(sp14.x * sp14.x + sp14.z * sp14.z) < 80.0f) { + var_r30 = TRUE; + } + return var_r30; +} + +void fn_1_45D0(UnkM445Struct_02* arg0) { + Vec spC8; + Vec spBC; + Vec spB0; + float sp64; + float sp60; + float sp5C; + float sp58; + float sp54; + float var_f24; + UnkM445Struct_00* temp_r30; + UnkM445Struct_02* var_r28; + u32 var_r27; + s32 i; + + arg0->unk7C = arg0->unk7D = 0; + arg0->unk7F = arg0->unk7E = 0; + arg0->unk80 = arg0->unk82 = 0; + if (arg0->unk18 != 0) { + var_r28 = &lbl_1_bss_588[0]; + } else { + var_r28 = &lbl_1_bss_588[1]; + } + switch (GWPlayerCfg[arg0->unk18].diff) { + case 0: + var_r27 = 90; + sp58 = 90.0f; + sp54 = 0.4f; + break; + case 1: + var_r27 = 95; + sp58 = 60.0f; + sp54 = 0.6f; + break; + case 2: + var_r27 = 99; + sp58 = 30.0f; + sp54 = 0.8f; + break; + default: + var_r27 = 100; + sp58 = 10.0f; + sp54 = 1.0f; + break; + } + for (i = 0, sp5C = 10000.0f; i < 8; i++) { + temp_r30 = &lbl_1_bss_288[i]; + if (temp_r30->unk1C >= 1 && !(temp_r30->unk44 < sp58)) { + HuSetVecF(&spC8, arg0->unk34, 0.0, arg0->unk3C); + HuSetVecF(&spBC, temp_r30->unk48, 0.0, temp_r30->unk4C); + HuSubVecF(&spB0, &spC8, &spBC); + var_f24 = sqrtf(spB0.x * spB0.x + spB0.z * spB0.z); + sp60 = sqrtf(arg0->unk34 * arg0->unk34 + arg0->unk3C * arg0->unk3C); + if (sp60 < 200.0f) { + sp60 = 400.0f; + } else { + sp60 = 600.0f; + } + if (sp5C > var_f24 && var_f24 < sp60) { + HuSetVecF(&spC8, var_r28->unk34, 0.0, var_r28->unk3C); + HuSetVecF(&spBC, temp_r30->unk48, 0.0, temp_r30->unk4C); + HuSubVecF(&spB0, &spC8, &spBC); + if (sqrtf(spB0.x * spB0.x + spB0.z * spB0.z) > 50.0f) { + arg0->unk98 = i; + sp5C = var_f24; + } + } + } + } + if (arg0->unk98 == -1) { + for (i = 0, sp5C = 10000.0f; i < 8; i++) { + temp_r30 = &lbl_1_bss_288[i]; + HuSetVecF(&spC8, arg0->unk34, 0.0, arg0->unk3C); + HuSetVecF(&spBC, temp_r30->unk48, 0.0, temp_r30->unk4C); + HuSubVecF(&spB0, &spC8, &spBC); + var_f24 = sqrtf(spB0.x * spB0.x + spB0.z * spB0.z); + if (sp5C > var_f24 && var_f24 > 200.0f) { + arg0->unk98 = i; + sp5C = var_f24; + sp54 = 0.3f; + } + } + } + if (arg0->unk98 != -1) { + temp_r30 = &lbl_1_bss_288[arg0->unk98]; + arg0->unk84 = temp_r30->unk48; + arg0->unk88 = temp_r30->unk4C; + HuSetVecF(&spC8, arg0->unk34, 0.0, arg0->unk3C); + HuSetVecF(&spBC, arg0->unk84, 0.0, arg0->unk88); + HuSubVecF(&spB0, &spC8, &spBC); + var_f24 = sqrtf(spB0.x * spB0.x + spB0.z * spB0.z); + if (var_f24 > 20.0f) { + sp64 = atan2d(arg0->unk84 - arg0->unk34, arg0->unk88 - arg0->unk3C); + arg0->unk7C = 50.0 * sind(sp64) * sp54; + arg0->unk7D = -50.0 * cosd(sp64) * sp54; + } else { + if (temp_r30->unk1C == 2) { + for (i = 0; i < lbl_1_data_260[temp_r30->unk14]; i++) { + if (temp_r30->unk20[i] == 0) { + sp64 = atan2d(temp_r30->unk50[i] - arg0->unk34, temp_r30->unk58[i] - arg0->unk3C); + arg0->unk7C = 15.0 * sind(sp64); + arg0->unk7D = -15.0 * cosd(sp64); + } + } + } + if (frandmod(100) > var_r27) { + arg0->unk82 |= 0x100; + } + arg0->unk98 = -1; + } + if (temp_r30->unk1C == 2) { + if (fn_1_43A4(arg0, temp_r30->unk50[0], temp_r30->unk58[0]) && temp_r30->unk20[0] == 0) { + arg0->unk82 |= 0x100; + } + if (lbl_1_data_260[temp_r30->unk14] > 1 && fn_1_43A4(arg0, temp_r30->unk50[1], temp_r30->unk58[1]) && temp_r30->unk20[1] == 0) { + arg0->unk82 |= 0x100; + } + } + } +} + +void fn_1_557C(void) { + s32 j; + s32 i; + + for (i = 0; i < 2; i++) { + for (j = 0; j < 5; j++) { + HuSprAttrReset(lbl_1_bss_588[i].unk04, j, 4); + } + } +} + +void fn_1_55F0(void) { + s32 j; + s32 i; + + for (i = 0; i < 2; i++) { + for (j = 0; j < 5; j++) { + HuSprAttrSet(lbl_1_bss_588[i].unk04, j, 4); + } + } +} + +void fn_1_5664(UnkM445Struct_02* arg0, s32 arg1) { + HuSprBankSet(arg0->unk04, 3, arg1 % 10); + HuSprBankSet(arg0->unk04, 4, arg1 / 10); + HuSprAttrReset(arg0->unk04, 4, 4); +} + +void fn_1_5700(UnkM445Struct_02* arg0) { + Vec sp38; + Vec sp2C; + Vec sp20; + float temp_f27; + float var_f26; + float var_f21; + float var_f20; + UnkM445Struct_02* var_r27; + s32 i; + s32 var_r28; + + if (lbl_1_bss_6DC == 4) { + arg0->unk28 = 1; + for (i = 10, var_f21 = 1.0f; i != 0; i--, var_f21 -= 0.1f) { + Hu3DModelScaleSet(arg0->unk06, var_f21, var_f21, var_f21); + HuPrcVSleep(); + } + Hu3DModelAttrSet(arg0->unk06, 1); + arg0->unk06 = -1; + Hu3DMotionOverlayReset(arg0->unk00); + if (lbl_1_bss_588[0].unk06 == -1 && lbl_1_bss_588[1].unk06 == -1) { + lbl_1_bss_6DC = 5; + } + return; + } + Hu3DMotionOverlayReset(arg0->unk00); + arg0->unk7C = arg0->unk7D = 0; + arg0->unk7F = arg0->unk7E = 0; + arg0->unk80 = arg0->unk82 = 0; + var_r28 = 0; + if (arg0->unk18 == 0) { + if (arg0->unk34 <= -152.0f) { + arg0->unk84 = -230.0f; + arg0->unk88 = 45.0f; + var_r28 = 1; + } else if (arg0->unk3C > 203.0f || arg0->unk3C < -203.0f) { + arg0->unk84 = -170.0f; + arg0->unk88 = arg0->unk3C; + } else { + arg0->unk84 = arg0->unk34; + if (arg0->unk3C > 0.0f) { + arg0->unk88 = 210.0f; + } else { + arg0->unk88 = -210.0f; + } + } + } else { + if (arg0->unk34 >= 152.0f) { + arg0->unk84 = 230.0f; + arg0->unk88 = -45.0f; + var_r28 = 1; + } else if (arg0->unk3C > 203.0f || arg0->unk3C < -203.0f) { + arg0->unk84 = 170.0f; + arg0->unk88 = arg0->unk3C; + } else { + arg0->unk84 = arg0->unk34; + if (arg0->unk3C > 0.0f) { + arg0->unk88 = 210.0f; + } else { + arg0->unk88 = -210.0f; + } + } + } + var_r27 = (arg0->unk18 != 0) ? &lbl_1_bss_588[0] : &lbl_1_bss_588[1]; + HuSetVecF(&sp38, arg0->unk34, 0.0, arg0->unk3C); + HuSetVecF(&sp2C, var_r27->unk34, 0.0, var_r27->unk3C); + HuSubVecF(&sp20, &sp38, &sp2C); + var_f26 = sqrtf(sp20.x * sp20.x + sp20.z * sp20.z); + if (var_f26 <= 110.0f) { + var_f26 = sqrtf(arg0->unk34 * arg0->unk34 + arg0->unk3C * arg0->unk3C); + var_f20 = sqrtf(var_r27->unk34 * var_r27->unk34 + var_r27->unk3C * var_r27->unk3C); + if (lbl_1_bss_4 == -1) { + temp_f27 = atan2d(arg0->unk34, arg0->unk3C); + if (var_f26 < 400.0f) { + if (var_f26 > var_f20) { + lbl_1_bss_4 = arg0->unk18; + lbl_1_bss_0 = temp_f27; + arg0->unk84 = arg0->unk34 + 100.0 * sind(temp_f27); + arg0->unk88 = arg0->unk3C + 100.0 * cosd(temp_f27); + } + } else { + if (var_f26 < var_f20) { + temp_f27 += 180.0f; + lbl_1_bss_4 = arg0->unk18; + lbl_1_bss_0 = temp_f27; + arg0->unk84 = arg0->unk34 + 100.0 * sind(temp_f27); + arg0->unk88 = arg0->unk3C + 100.0 * cosd(temp_f27); + } + } + } else if (arg0->unk18 == lbl_1_bss_4) { + OSReport("pno %d dir %f\n", arg0->unk18, lbl_1_bss_0); + arg0->unk84 = arg0->unk34 + 100.0 * sind(lbl_1_bss_0); + arg0->unk88 = arg0->unk3C + 100.0 * cosd(lbl_1_bss_0); + } + } + HuSetVecF(&sp38, arg0->unk34, 0.0, arg0->unk3C); + HuSetVecF(&sp2C, arg0->unk84, 0.0, arg0->unk88); + HuSubVecF(&sp20, &sp38, &sp2C); + var_f26 = sqrtf(sp20.x * sp20.x + sp20.z * sp20.z); + if (var_f26 < 20.0f && var_r28 != 0) { + arg0->unk24 = 4; + } + temp_f27 = atan2d(arg0->unk84 - arg0->unk34, arg0->unk88 - arg0->unk3C); + arg0->unk7C = 50.0 * sind(temp_f27); + arg0->unk7D = -50.0 * cosd(temp_f27); +} + +void fn_1_6268(void) { + Vec sp1D8; + s32 sp120; + float sp11C; + float var_f19; + UnkM445Struct_02* temp_r31; + UnkM445Struct_00* temp_r30; + u32 var_r24; + s32 var_r26; + s32 var_r28; + s32 i; + + temp_r31 = HuPrcCurrentGet()->user_data; + temp_r31->unk24 = 0; + temp_r31->unk90 = 0; + temp_r31->unk98 = -1; + temp_r31->unk28 = 1; + lbl_1_bss_4 = -1; + while (lbl_1_bss_6DC == 0) { + HuPrcVSleep(); + } + lbl_1_bss_6DC = 2; + while (lbl_1_bss_6DC == 2) { + HuPrcVSleep(); + } + while (TRUE) { + temp_r31->unk40 = temp_r31->unk34; + temp_r31->unk44 = temp_r31->unk3C; + if (GWPlayerCfg[temp_r31->unk18].iscom == 1) { + fn_1_45D0(temp_r31); + } + if (lbl_1_bss_6DC >= 4) { + fn_1_5700(temp_r31); + } + switch (temp_r31->unk24) { + case 4: + goto block_exit_loop; + } + if (fn_1_3010(temp_r31->unk18) & 0x100) { + if (fn_1_520(temp_r31->unk18) == FALSE) { + Hu3DMotionOverlayReset(temp_r31->unk00); + CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[5]); + } else { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk08[4]); + Hu3DMotionSpeedSet(temp_r31->unk00, 1.0f); + } + Hu3DModelAttrReset(temp_r31->unk00, 0x40000001); + HuPrcSleep(15); + if (temp_r31->unk18 != 0) { + fn_1_4B8(temp_r31->unk34, temp_r31->unk3C, 0x75F); + } else { + fn_1_4B8(temp_r31->unk34, temp_r31->unk3C, 0x75E); + } + HuPrcSleep(15); + HuSetVecF(&sp1D8, temp_r31->unk34 + 120.0 * sind(temp_r31->unk4C), 0.0, temp_r31->unk3C + 120.0 * cosd(temp_r31->unk4C)); + for (i = 0; i < 8; i++) { + temp_r30 = &lbl_1_bss_288[i]; + if (temp_r30->unk1C == 2) { + sp120 = 0; + if (fn_1_43A4(temp_r31, temp_r30->unk50[0], temp_r30->unk58[0]) && temp_r30->unk20[0] == 0) { + sp120 = 1; + temp_r30->unk20[0] = 1; + temp_r30->unk28 = temp_r31->unk18; + if (temp_r31->unk18 != 0) { + fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x75D); + } else { + fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x750); + } + Hu3DModelAttrReset(temp_r31->unk02, 1); + Hu3DMotionTimeSet(temp_r31->unk02, 0.0f); + Hu3DModelPosSet(temp_r31->unk02, sp1D8.x, 160.0f, sp1D8.z + 100.0f); + if (temp_r30->unk38 != 0) { + temp_r31->unk30 += 2; + } else { + temp_r31->unk30++; + } + fn_1_5664(temp_r31, temp_r31->unk30); + } + if (lbl_1_data_260[temp_r30->unk14] > 1 && fn_1_43A4(temp_r31, temp_r30->unk50[1], temp_r30->unk58[1]) && temp_r30->unk20[1] == 0) { + temp_r30->unk20[1] = 1; + temp_r30->unk2C = temp_r31->unk18; + if (temp_r31->unk18 != 0) { + fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x75D); + } else { + fn_1_4B8(temp_r30->unk48, temp_r30->unk4C, 0x750); + } + Hu3DModelAttrReset(temp_r31->unk02, 1); + Hu3DMotionTimeSet(temp_r31->unk02, 0.0f); + Hu3DModelPosSet(temp_r31->unk02, sp1D8.x, 160.0f, sp1D8.z + 100.0f); + if (temp_r30->unk38 != 0) { + temp_r31->unk30 += 2; + } else { + temp_r31->unk30++; + } + fn_1_5664(temp_r31, temp_r31->unk30); + } + } + } + while (!Hu3DMotionEndCheck(temp_r31->unk00)) { + HuPrcVSleep(); + } + temp_r31->unk24 = 0; + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0]); + Hu3DModelAttrSet(temp_r31->unk00, 0x40000200); + if (lbl_1_bss_6DC < 5) { + Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); + Hu3DModelAttrSet(temp_r31->unk00, 0x40000200); + } + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 8.0f, 0x40000001); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); + } + } else { + HuSetVecF(&sp1D8, fn_1_2E68(temp_r31->unk18, 0) / 4.0f, 0.0, -fn_1_2E68(temp_r31->unk18, 1) / 4.0f); + temp_r31->unk5C = sqrtf(sp1D8.x * sp1D8.x + sp1D8.y * sp1D8.y + sp1D8.z * sp1D8.z); + if (temp_r31->unk5C >= 0.5f) { + if (temp_r31->unk5C >= 10.0f) { + sp1D8.x /= temp_r31->unk5C; + sp1D8.z /= temp_r31->unk5C; + temp_r31->unk5C = 10.0f; + sp1D8.x = 10.0f * sp1D8.x; + sp1D8.z = 10.0f * sp1D8.z; + } + temp_r31->unk4C = fn_1_1858(fn_1_42A0(temp_r31->unk4C, atan2d(sp1D8.x, sp1D8.z), 0.4f)); + if (temp_r31->unk5C >= 8.0f) { + if (temp_r31->unk24 != 2) { + temp_r31->unk24 = 2; + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[2], 0.0f, 8.0f, 0x40000001); + if (lbl_1_bss_6DC < 5) { + Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); + Hu3DModelAttrSet(temp_r31->unk00, 0x40000200); + } + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[2], 0.0f, 8.0f, 0x40000001); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); + } + } + } else if (temp_r31->unk24 != 1) { + temp_r31->unk24 = 1; + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[1], 0.0f, 8.0f, 0x40000001); + if (lbl_1_bss_6DC < 5) { + Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); + Hu3DModelAttrSet(temp_r31->unk00, 0x40000200); + } + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[1], 0.0f, 8.0f, 0x40000001); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); + } + } + } else if (temp_r31->unk24 != 0) { + temp_r31->unk24 = 0; + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0], 0.0f, 0.0f, 0x40000001); + if (lbl_1_bss_6DC < 5) { + Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); + Hu3DModelAttrSet(temp_r31->unk00, 0x40000200); + } + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 0.0f, 0x40000001); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); + } + } + temp_r31->unk70.x = sp1D8.x; + temp_r31->unk70.z = sp1D8.z; + temp_r31->unk58 = temp_r31->unk5C; + temp_r31->unk34 += temp_r31->unk70.x; + temp_r31->unk3C += temp_r31->unk70.z; + } + if ((temp_r31->unk2C = fn_1_3114(temp_r31, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C)) != -1) { + fn_1_3548(temp_r31); + } + AddX = 0.0f; + AddZ = 0.0f; + MapWall(temp_r31->unk54, temp_r31->unk34, temp_r31->unk38 + temp_r31->unk54, temp_r31->unk3C); + temp_r31->unk34 += AddX; + temp_r31->unk3C += AddZ; + Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk34, temp_r31->unk38, temp_r31->unk3C); + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); + HuPrcVSleep(); + } +block_exit_loop: + lbl_1_bss_6DC = 6; + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0], 0.0f, 2.0f, 0x40000001); + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 0.0f, 0x40000001); + Hu3DMotionShiftSpeedSet(temp_r31->unk00, 1.0f); + } + var_f19 = 10.0f; + i = (360.0f - fn_1_1858(temp_r31->unk4C)) / var_f19; + if (temp_r31->unk4C < 180.0f) { + i = fn_1_1858(temp_r31->unk4C) / var_f19; + var_f19 = -var_f19; + } + for (; i != 0; i--) { + temp_r31->unk4C += var_f19; + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, temp_r31->unk4C, temp_r31->unk50); + HuPrcVSleep(); + } + Hu3DModelRotSet(temp_r31->unk00, temp_r31->unk48, 0.0f, temp_r31->unk50); + while (lbl_1_bss_6DC < 7) { + HuPrcVSleep(); + } + if (lbl_1_bss_588->unk30 == lbl_1_bss_588[1].unk30) { + var_r26 = -1; + } + if (lbl_1_bss_588->unk30 < lbl_1_bss_588[1].unk30) { + var_r26 = 1; + } + if (lbl_1_bss_588->unk30 > lbl_1_bss_588[1].unk30) { + var_r26 = 0; + } + var_r24 = 0; + if (temp_r31->unk18 != 0) { + if (fn_1_520(1) == FALSE) { + if (var_r26 != -1) { + HuAudSStreamPlay(1); + } else { + HuAudSStreamPlay(4); + } + } else { + if (var_r26 == 0) { + HuAudSStreamPlay(1); + } else { + HuAudSStreamPlay(3); + } + } + } + if (var_r26 == -1) { + if (fn_1_520(temp_r31->unk18) == FALSE) { + var_r28 = 7; + } else { + var_r28 = 6; + } + } else { + GWPlayerCoinWinSet(var_r26, 10); + if (var_r26 == temp_r31->unk18) { + var_r28 = 6; + } else { + var_r28 = 7; + } + } + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[var_r28], 0.0f, 8.0f, var_r24); + } else { + if (var_r28 == 6) { + var_r28 = 5; + var_r24 = 0x40000001; + } else { + var_r28 = 6; + var_r24 = 0; + } + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[var_r28], 0.0f, 8.0f, var_r24); + if (var_r28 == 6) { + for (i = 10, sp11C = 30.0f / i; i != 0; i--) { + temp_r31->unk4C += sp11C; + Hu3DModelRotSet(temp_r31->unk00, 0.0f, temp_r31->unk4C, 0.0f); + HuPrcVSleep(); + } + } + } + while (TRUE) { + HuPrcVSleep(); + } +} + +void fn_1_7FC0(ModelData* model, ParticleData* particle, Mtx matrix) { + HsfanimStruct01* var_r31; + UnkM445Struct_02* temp_r29; + float var_f31; + s16 var_r27; + s16 var_r28; + + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + var_r31->unk14.x = var_r31->unk2C = 0.0f; + } + } + var_r31 = particle->unk_48; + for (var_r27 = 0; var_r27 < 2; var_r27++) { + temp_r29 = &lbl_1_bss_588[var_r27]; + if (temp_r29->unk28 != 0) { + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + if (var_r31->unk14.x == 0.0f) { + break; + } + } + if (var_r28 == particle->unk_30) { + break; + } + var_r31->unk34.x = temp_r29->unk34 + 50.0 * sind(temp_r29->unk4C - 90.0f); + var_r31->unk34.y = temp_r29->unk38 + 98.0f; + var_r31->unk34.z = temp_r29->unk3C + 50.0 * cosd(temp_r29->unk4C - 90.0f); + var_r31->unk14.x = 30.0f; + var_r31->unk2C = 100.0f; + var_r31->unk14.y = 10.0f; + var_r31->unk40.a = 200; + var_r31->unk14.z = 17.0f; + temp_r29->unk28 = 0; + } + } + var_r31 = particle->unk_48; + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + if (0.0f != var_r31->unk14.x) { + var_r31->unk2C += var_r31->unk14.y; + if (var_r31->unk14.y > 2.0f) { + var_r31->unk14.y -= 0.2f; + } + var_f31 = var_r31->unk40.a; + var_f31 -= var_r31->unk14.z; + if (var_r31->unk14.z > 3.0f) { + var_r31->unk14.z -= 1.0f; + } + if (var_f31 < 0.0f) { + var_f31 = 0.0f; + var_r31->unk14.x = 0.0f; + } + var_r31->unk40.a = var_f31; + if (0.0f == var_r31->unk14.x) { + var_r31->unk2C = 0.0f; + } + } + } +} + +void fn_1_8320(void) { + float sp20[2]; + GXColor sp1C; + WindowData* var_r26; + UnkM445Struct_02* temp_r31; + s16 temp_r25; + s16 var_r29; + u32 var_r27; + s32 temp_r28; + s32 var_r24; + s32 i; + + HuPrcSleep(30); + HuAudFXPlay(0x755); + temp_r28 = lbl_1_bss_288[5].unk00; + Hu3DModelAttrReset(temp_r28, 0x40000003); + while (!Hu3DMotionEndCheck(temp_r28)) { + HuPrcVSleep(); + } + HuAudFXPlay(0x756); + Hu3DMotionSet(temp_r28, lbl_1_bss_288[5].unk02[0]); + Hu3DModelAttrSet(temp_r28, 0x40000001); + HuPrcSleep(30); + for (i = 30; i != 0; i--) { + CRotM[0].x += -0.55f; + CenterM[0].y += -11.5f; + CZoomM[0] += 51.333332f; + HuPrcVSleep(); + } + if (fn_1_520(1) == TRUE) { + temp_r25 = HuAudSeqPlay(0x3D); + HuWinMesMaxSizeGet(8, sp20, + MAKE_MESSID(41, 1), MAKE_MESSID(41, 2), MAKE_MESSID(41, 3), MAKE_MESSID(41, 4), + MAKE_MESSID(41, 5), MAKE_MESSID(41, 6), MAKE_MESSID(41, 7), MAKE_MESSID(41, 8)); + var_r29 = HuWinCreate(-10000.0f, 40.0f, sp20[0], sp20[1], 1); + HuWinPriSet(var_r29, 0x100); + sp1C.r = sp1C.g = sp1C.b = 0xFF; + HuWinBGColSet(var_r29, &sp1C); + HuWinBGTPLvlSet(var_r29, 0.9f); + HuWinMesColSet(var_r29, 0); + var_r26 = &winData[var_r29]; + var_r26->mess_shadow_color = 9; + HuWinMesSpeedSet(var_r29, 0); + HuWinDisablePlayerSet(var_r29, (1 << GWPlayerCfg->pad_idx) ^ 0xF); + HuWinExAnimIn(var_r29); + HuWinMesSet(var_r29, MAKE_MESSID(41, 1)); + HuWinMesWait(var_r29); + HuWinMesColSet(var_r29, 0); + HuWinMesSet(var_r29, MAKE_MESSID(41, 2)); + var_r24 = HuWinChoiceGet(var_r29, 0); + if (var_r24 == 0) { + i = 5; + var_r27 = MAKE_MESSID(41, 3); + } else { + i = 1; + var_r27 = MAKE_MESSID(41, 8); + } + for (; i != 0; i--) { + HuWinMesColSet(var_r29, 0); + HuWinMesSet(var_r29, var_r27++); + HuWinMesWait(var_r29); + } + HuAudSeqFadeOut(temp_r25, 1000); + HuWinExAnimOut(var_r29); + HuWinAllKill(); + } + for (i = 0; i < 2; i++) { + temp_r31 = &lbl_1_bss_588[i]; + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionSet(lbl_1_data_0[GWPlayerCfg[i].character], temp_r31->unk08[3]); + } else { + Hu3DMotionSet(temp_r31->unk00, temp_r31->unk08[3]); + } + Hu3DModelAttrReset(temp_r31->unk00, 0x40000001); + } + HuPrcSleep(20); + for (i = 0; i < 2; i++) { + temp_r31 = &lbl_1_bss_588[i]; + Hu3DModelPosSet(temp_r31->unk06, 0.0f, 0.0f, 0.0f); + Hu3DModelRotSet(temp_r31->unk06, 0.0f, 0.0f, 0.0f); + if (fn_1_520(temp_r31->unk18) == FALSE) { + Hu3DModelHookSet(temp_r31->unk00, CharModelHookNameGet(GWPlayerCfg[i].character, 2, 0), temp_r31->unk06); + } else { + Hu3DModelHookSet(temp_r31->unk00, "itemhook_r", temp_r31->unk06); + } + } + HuPrcSleep(20); + for (i = 0; i < 2; i++) { + temp_r31 = &lbl_1_bss_588[i]; + if (fn_1_520(temp_r31->unk18) == FALSE) { + CharModelMotionShiftSet(lbl_1_data_0[GWPlayerCfg[temp_r31->unk18].character], temp_r31->unk08[0], 0.0f, 8.0f, 0x40000001); + Hu3DMotionOverlaySet(temp_r31->unk00, temp_r31->unk08[4]); + } else { + Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk08[0], 0.0f, 8.0f, 0x40000001); + } + } +} + +void fn_1_8938(void) { + s32 i; + + while (lbl_1_bss_6DC < 6) { + HuPrcVSleep(); + } + for (i = 30; i != 0; i--) { + CZoomM[0] += -27.7f; + HuPrcVSleep(); + } +} + +void fn_1_89B8(void) { + while (TRUE) { + if (omSysExitReq == 1) { + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudFadeOut(1000); + HuPrcSleep(60); + MGSeqKillAll(); + omOvlReturnEx(1, 1); + while (TRUE) { + HuPrcVSleep(); + } + } + HuPrcVSleep(); + } +} + +void fn_1_8A18(void) { + s16 temp_r28; + s16 var_r31; + s16 temp_r26; + s32 var_r25; + s32 i; + + lbl_1_bss_6DC = 0; + fn_1_8320(); + HuPrcSleep(30); + lbl_1_bss_6DC = 1; + while (lbl_1_bss_6DC == 1) { + HuPrcVSleep(); + } + var_r25 = HuAudSeqPlay(0x3E); + temp_r28 = MGSeqStartCreate(); + while (MGSeqStatGet(temp_r28) != 0) { + HuPrcVSleep(); + } + fn_1_557C(); + var_r31 = 3659; + temp_r26 = MGSeqTimerCreate(var_r31 / 60); + lbl_1_bss_6DC = 3; + while (TRUE) { + if (var_r31 < 59) { + break; + } + MGSeqParamSet(temp_r26, 1, var_r31-- / 60); + lbl_1_bss_6D8++; + HuPrcVSleep(); + } + lbl_1_bss_6C4 = -1; + if (lbl_1_bss_588->unk30 != lbl_1_bss_588[1].unk30) { + lbl_1_bss_6C4 = 0; + if (lbl_1_bss_588->unk30 < lbl_1_bss_588[1].unk30) { + lbl_1_bss_6C4 = 1; + } + } + lbl_1_bss_6DC = 4; + HuAudSeqFadeOut(var_r25, 100); + MGSeqParamSet(temp_r26, 2, -1); + temp_r28 = MGSeqFinishCreate(); + while (MGSeqStatGet(temp_r28) != 0) { + HuPrcVSleep(); + } + while (lbl_1_bss_588->unk24 != 4 || lbl_1_bss_588[1].unk24 != 4) { + HuPrcVSleep(); + } + while (lbl_1_bss_6DC < 6) { + HuPrcVSleep(); + } + for (i = 30; i != 0; i--) { + CZoomM[0] += -27.7f; + HuPrcVSleep(); + } + lbl_1_bss_6DC = 7; + HuPrcSleep(210); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuPrcSleep(60); + HuAudFadeOut(1); + MGSeqKillAll(); + omOvlReturnEx(1, 1); + while (TRUE) { + HuPrcVSleep(); + } +}