diff --git a/config/GMPE01_00/rels/w01Dll/symbols.txt b/config/GMPE01_00/rels/w01Dll/symbols.txt index c6b4e59a..83c6fcbc 100644 --- a/config/GMPE01_00/rels/w01Dll/symbols.txt +++ b/config/GMPE01_00/rels/w01Dll/symbols.txt @@ -103,37 +103,37 @@ fn_1_D114 = .text:0x0000D114; // type:function size:0x62C scope:local fn_1_D740 = .text:0x0000D740; // type:function size:0x644 fn_1_DD84 = .text:0x0000DD84; // type:function size:0x110 fn_1_DE94 = .text:0x0000DE94; // type:function size:0x26C -fn_1_E100 = .text:0x0000E100; // type:function size:0x54 -fn_1_E154 = .text:0x0000E154; // type:function size:0x164 -fn_1_E2B8 = .text:0x0000E2B8; // type:function size:0x194 -fn_1_E44C = .text:0x0000E44C; // type:function size:0x4C8 -fn_1_E914 = .text:0x0000E914; // type:function size:0x3C0 -fn_1_ECD4 = .text:0x0000ECD4; // type:function size:0x1CC -fn_1_EEA0 = .text:0x0000EEA0; // type:function size:0x38 -fn_1_EED8 = .text:0x0000EED8; // type:function size:0x1C4 -fn_1_F09C = .text:0x0000F09C; // type:function size:0x2AC -fn_1_F348 = .text:0x0000F348; // type:function size:0xB0 -fn_1_F3F8 = .text:0x0000F3F8; // type:function size:0x2F0 -fn_1_F6E8 = .text:0x0000F6E8; // type:function size:0x1A8 -fn_1_F890 = .text:0x0000F890; // type:function size:0x18C -fn_1_FA1C = .text:0x0000FA1C; // type:function size:0xA0 -fn_1_FABC = .text:0x0000FABC; // type:function size:0x9C -fn_1_FB58 = .text:0x0000FB58; // type:function size:0xE4 -fn_1_FC3C = .text:0x0000FC3C; // type:function size:0xB0 -fn_1_FCEC = .text:0x0000FCEC; // type:function size:0x50 -fn_1_FD3C = .text:0x0000FD3C; // type:function size:0x108 -fn_1_FE44 = .text:0x0000FE44; // type:function size:0x8C -fn_1_FED0 = .text:0x0000FED0; // type:function size:0x14C -fn_1_1001C = .text:0x0001001C; // type:function size:0x19C -fn_1_101B8 = .text:0x000101B8; // type:function size:0x4AC -fn_1_10664 = .text:0x00010664; // type:function size:0x1BC -fn_1_10820 = .text:0x00010820; // type:function size:0x2C8 -fn_1_10AE8 = .text:0x00010AE8; // type:function size:0xC8 -fn_1_10BB0 = .text:0x00010BB0; // type:function size:0x140 -fn_1_10CF0 = .text:0x00010CF0; // type:function size:0x1C8 -fn_1_10EB8 = .text:0x00010EB8; // type:function size:0x1AC -fn_1_11064 = .text:0x00011064; // type:function size:0x420 -fn_1_11484 = .text:0x00011484; // type:function size:0x56C +fn_1_E100 = .text:0x0000E100; // type:function size:0x54 scope:local +fn_1_E154 = .text:0x0000E154; // type:function size:0x164 scope:local +fn_1_E2B8 = .text:0x0000E2B8; // type:function size:0x194 scope:local +fn_1_E44C = .text:0x0000E44C; // type:function size:0x4C8 scope:local +fn_1_E914 = .text:0x0000E914; // type:function size:0x3C0 scope:local +fn_1_ECD4 = .text:0x0000ECD4; // type:function size:0x1CC scope:local +fn_1_EEA0 = .text:0x0000EEA0; // type:function size:0x38 scope:local +fn_1_EED8 = .text:0x0000EED8; // type:function size:0x1C4 scope:local +fn_1_F09C = .text:0x0000F09C; // type:function size:0x2AC scope:local +fn_1_F348 = .text:0x0000F348; // type:function size:0xB0 scope:local +fn_1_F3F8 = .text:0x0000F3F8; // type:function size:0x2F0 scope:local +fn_1_F6E8 = .text:0x0000F6E8; // type:function size:0x1A8 scope:local +fn_1_F890 = .text:0x0000F890; // type:function size:0x18C scope:local +fn_1_FA1C = .text:0x0000FA1C; // type:function size:0xA0 scope:local +fn_1_FABC = .text:0x0000FABC; // type:function size:0x9C scope:local +fn_1_FB58 = .text:0x0000FB58; // type:function size:0xE4 scope:local +fn_1_FC3C = .text:0x0000FC3C; // type:function size:0xB0 scope:local +fn_1_FCEC = .text:0x0000FCEC; // type:function size:0x50 scope:local +fn_1_FD3C = .text:0x0000FD3C; // type:function size:0x108 scope:local +fn_1_FE44 = .text:0x0000FE44; // type:function size:0x8C scope:local +fn_1_FED0 = .text:0x0000FED0; // type:function size:0x14C scope:local +fn_1_1001C = .text:0x0001001C; // type:function size:0x19C scope:local +fn_1_101B8 = .text:0x000101B8; // type:function size:0x4AC scope:local +fn_1_10664 = .text:0x00010664; // type:function size:0x1BC scope:local +fn_1_10820 = .text:0x00010820; // type:function size:0x2C8 scope:local +fn_1_10AE8 = .text:0x00010AE8; // type:function size:0xC8 scope:local +fn_1_10BB0 = .text:0x00010BB0; // type:function size:0x140 scope:local +fn_1_10CF0 = .text:0x00010CF0; // type:function size:0x1C8 scope:local +fn_1_10EB8 = .text:0x00010EB8; // type:function size:0x1AC scope:local +fn_1_11064 = .text:0x00011064; // type:function size:0x420 scope:local +fn_1_11484 = .text:0x00011484; // type:function size:0x56C scope:local _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 scope:local data:float @@ -281,59 +281,59 @@ lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data: lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float -lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2F4 = .rodata:0x000002F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float +lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float +lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x528 scope:local lbl_1_data_528 = .data:0x00000528; // type:object size:0x2 scope:local data:2byte lbl_1_data_52A = .data:0x0000052A; // type:object size:0x2 scope:local data:2byte @@ -368,15 +368,15 @@ lbl_1_data_690 = .data:0x00000690; // type:object size:0x2D0 scope:local lbl_1_data_960 = .data:0x00000960; // type:object size:0x2D0 scope:local lbl_1_data_C30 = .data:0x00000C30; // type:object size:0x2D0 scope:local lbl_1_data_F00 = .data:0x00000F00; // type:object size:0x3 scope:local data:string -lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x38 -lbl_1_data_F40 = .data:0x00000F40; // type:object size:0x20 -lbl_1_data_F60 = .data:0x00000F60; // type:object size:0x20 -lbl_1_data_F80 = .data:0x00000F80; // type:object size:0x7 data:string -lbl_1_data_F87 = .data:0x00000F87; // type:object size:0x5 data:string -lbl_1_data_F8C = .data:0x00000F8C; // type:object size:0x5 data:string -lbl_1_data_F91 = .data:0x00000F91; // type:object size:0x5 data:string -lbl_1_data_F96 = .data:0x00000F96; // type:object size:0x6 -lbl_1_data_F9C = .data:0x00000F9C; // type:object size:0x10 data:4byte +lbl_1_data_F08 = .data:0x00000F08; // type:object size:0x38 scope:local +lbl_1_data_F40 = .data:0x00000F40; // type:object size:0x20 scope:local +lbl_1_data_F60 = .data:0x00000F60; // type:object size:0x20 scope:local +lbl_1_data_F80 = .data:0x00000F80; // type:object size:0x7 scope:local data:string +lbl_1_data_F87 = .data:0x00000F87; // type:object size:0x5 scope:local data:string +lbl_1_data_F8C = .data:0x00000F8C; // type:object size:0x5 scope:local data:string +lbl_1_data_F91 = .data:0x00000F91; // type:object size:0x5 scope:local data:string +lbl_1_data_F96 = .data:0x00000F96; // type:object size:0x5 scope:local data:string +lbl_1_data_F9C = .data:0x00000F9C; // type:object size:0x10 scope:local data:4byte lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 scope:local data:4byte @@ -444,26 +444,26 @@ lbl_1_bss_790 = .bss:0x00000790; // type:object size:0x6 scope:local data:2byte lbl_1_bss_796 = .bss:0x00000796; // type:object size:0x2 scope:local data:2byte lbl_1_bss_798 = .bss:0x00000798; // type:object size:0x4 scope:local data:4byte lbl_1_bss_79C = .bss:0x0000079C; // type:object size:0x4 scope:local data:4byte -lbl_1_bss_7A0 = .bss:0x000007A0; // type:object size:0x4 data:4byte -lbl_1_bss_7A4 = .bss:0x000007A4; // type:object size:0x4 data:4byte -lbl_1_bss_7A8 = .bss:0x000007A8; // type:object size:0x2 data:2byte -lbl_1_bss_7AA = .bss:0x000007AA; // type:object size:0x2 data:2byte -lbl_1_bss_7AC = .bss:0x000007AC; // type:object size:0x8 data:4byte -lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x2 data:2byte -lbl_1_bss_7B8 = .bss:0x000007B8; // type:object size:0x4 data:4byte -lbl_1_bss_7BC = .bss:0x000007BC; // type:object size:0x8 data:4byte -lbl_1_bss_7C4 = .bss:0x000007C4; // type:object size:0xC data:float -lbl_1_bss_7D0 = .bss:0x000007D0; // type:object size:0x2 data:2byte -lbl_1_bss_7D2 = .bss:0x000007D2; // type:object size:0x2 data:2byte -lbl_1_bss_7D4 = .bss:0x000007D4; // type:object size:0x2 data:2byte -lbl_1_bss_7D6 = .bss:0x000007D6; // type:object size:0x2 data:2byte -lbl_1_bss_7D8 = .bss:0x000007D8; // type:object size:0xC data:4byte -lbl_1_bss_7E4 = .bss:0x000007E4; // type:object size:0x4 data:4byte -lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x4 data:float -lbl_1_bss_7EC = .bss:0x000007EC; // type:object size:0x4 data:float -lbl_1_bss_7F0 = .bss:0x000007F0; // type:object size:0x4 data:4byte -lbl_1_bss_7F4 = .bss:0x000007F4; // type:object size:0x4 data:4byte -lbl_1_bss_7F8 = .bss:0x000007F8; // type:object size:0x4 data:4byte -lbl_1_bss_7FC = .bss:0x000007FC; // type:object size:0x10 data:4byte -lbl_1_bss_80C = .bss:0x0000080C; // type:object size:0xC data:float -lbl_1_bss_818 = .bss:0x00000818; // type:object size:0x4 data:4byte +lbl_1_bss_7A0 = .bss:0x000007A0; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7A4 = .bss:0x000007A4; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7A8 = .bss:0x000007A8; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7AA = .bss:0x000007AA; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7AC = .bss:0x000007AC; // type:object size:0x8 scope:local data:4byte +lbl_1_bss_7B4 = .bss:0x000007B4; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7B8 = .bss:0x000007B8; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7BC = .bss:0x000007BC; // type:object size:0x8 scope:local data:4byte +lbl_1_bss_7C4 = .bss:0x000007C4; // type:object size:0xC scope:local data:float +lbl_1_bss_7D0 = .bss:0x000007D0; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D2 = .bss:0x000007D2; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D4 = .bss:0x000007D4; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D6 = .bss:0x000007D6; // type:object size:0x2 scope:local data:2byte +lbl_1_bss_7D8 = .bss:0x000007D8; // type:object size:0xC scope:local data:4byte +lbl_1_bss_7E4 = .bss:0x000007E4; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7E8 = .bss:0x000007E8; // type:object size:0x4 scope:local data:float +lbl_1_bss_7EC = .bss:0x000007EC; // type:object size:0x4 scope:local data:float +lbl_1_bss_7F0 = .bss:0x000007F0; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7F4 = .bss:0x000007F4; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7F8 = .bss:0x000007F8; // type:object size:0x4 scope:local data:4byte +lbl_1_bss_7FC = .bss:0x000007FC; // type:object size:0x10 scope:local data:4byte +lbl_1_bss_80C = .bss:0x0000080C; // type:object size:0xC scope:local data:float +lbl_1_bss_818 = .bss:0x00000818; // type:object size:0x4 scope:local data:4byte diff --git a/configure.py b/configure.py index 9a4b04fa..6ca637cb 100644 --- a/configure.py +++ b/configure.py @@ -1086,7 +1086,7 @@ config.libs = [ Object(Matching, "REL/board_executor.c"), Object(Matching, "REL/w01Dll/main.c"), Object(Matching, "REL/w01Dll/mg_coin.c"), - Object(NonMatching, "REL/w01Dll/mg_item.c"), + Object(Matching, "REL/w01Dll/mg_item.c"), } ), Rel('w02Dll', diff --git a/include/game/hsfanim.h b/include/game/hsfanim.h index 63015b06..edfe1862 100644 --- a/include/game/hsfanim.h +++ b/include/game/hsfanim.h @@ -103,7 +103,7 @@ void Hu3DAnimAttrSet(s16 arg0, u16 arg1); void Hu3DAnimAttrReset(s16 arg0, s32 arg1); void Hu3DAnimSpeedSet(s16 arg0, float arg1); void Hu3DAnimBankSet(s16 arg0, s32 arg1); -void Hu3DAnmNoSet(s16 arg0, s32 arg1); +void Hu3DAnmNoSet(s16 arg0, u16 arg1); s32 Hu3DAnimSet(ModelData *arg0, HsfAttribute *arg1, s16 arg2); void Hu3DAnimExec(void); s16 Hu3DTexScrollCreate(s16 arg0, char *arg1); diff --git a/src/REL/w01Dll/main.c b/src/REL/w01Dll/main.c index 48239721..93728c99 100755 --- a/src/REL/w01Dll/main.c +++ b/src/REL/w01Dll/main.c @@ -1097,7 +1097,7 @@ static void fn_1_3624(void) { sp30.x = -40.0f; sp30.z = 0.0f; sp30.y = -lbl_1_bss_63C; - BoardCameraMotionStartEx(lbl_1_bss_6C4[0], &sp30, 0, 150.0f, -1.0f, 2); + BoardCameraMotionStartEx(lbl_1_bss_6C4[0], &sp30, NULL, 150.0f, -1.0f, 2); BoardCameraMotionWait(); BoardModelPosGet(lbl_1_bss_6C4[0], &lbl_1_bss_618); lbl_1_bss_630.x = lbl_1_bss_618.x + 1000.0 * (sin(sp30.y * M_PI / 180.0) * cos(sp30.x * M_PI / 180.0)); @@ -1980,7 +1980,7 @@ static void fn_1_7A64(void) { var_r20 = BoardSpaceFlagSearch(1, 0x2000); } lbl_1_bss_654 = sp34; - BoardCameraMotionStartEx(lbl_1_bss_6C4[0], 0, 0, 2400.0f, -1.0f, 2); + BoardCameraMotionStartEx(lbl_1_bss_6C4[0], NULL, NULL, 2400.0f, -1.0f, 2); PSMTXRotRad(lbl_1_bss_678, 'y', MTXDegToRad(lbl_1_bss_63C)); BoardModelMtxSet(lbl_1_bss_6C4[0], &lbl_1_bss_678); BoardModelRotSet(lbl_1_bss_6C4[0], 0.0f, 0.0f, 0.0f); diff --git a/src/REL/w01Dll/mg_item.c b/src/REL/w01Dll/mg_item.c new file mode 100755 index 00000000..5a1b133a --- /dev/null +++ b/src/REL/w01Dll/mg_item.c @@ -0,0 +1,947 @@ +#include "REL/w01Dll.h" +#include "game/audio.h" +#include "game/data.h" +#include "game/gamework_data.h" +#include "game/hsfanim.h" +#include "game/hsfdraw.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/minigame_seq.h" +#include "game/object.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/process.h" +#include "game/sprite.h" +#include "game/window.h" +#include "game/board/audio.h" +#include "game/board/main.h" +#include "game/board/model.h" +#include "game/board/player.h" +#include "game/board/ui.h" +#include "game/board/window.h" + +#include "dolphin.h" +#include "math.h" + +static void fn_1_E100(void); +static void fn_1_E154(void); +static void fn_1_E2B8(omObjData *arg0); +static void fn_1_E44C(omObjData *arg0); +static void fn_1_E914(omObjData *arg0); +static void fn_1_ECD4(omObjData *arg0); +static void fn_1_EEA0(omObjData *arg0, u16 *arg1); +static void fn_1_EED8(omObjData *arg0); +static void fn_1_F09C(omObjData *arg0); +static void fn_1_F348(omObjData *arg0); +static void fn_1_F3F8(omObjData *arg0); +static void fn_1_F6E8(omObjData *arg0); +static void fn_1_F890(omObjData *arg0); +static void fn_1_FA1C(omObjData *arg0); +static void fn_1_FABC(omObjData *arg0); +static void fn_1_FB58(void); +static void fn_1_FC3C(omObjData *arg0); +static void fn_1_FCEC(void); +static void fn_1_FD3C(omObjData *arg0); +static void fn_1_FE44(omObjData *arg0); +static void fn_1_FED0(omObjData *arg0); +static s16 fn_1_1001C(u32 arg0); +static void fn_1_101B8(s16 arg0); +static void fn_1_10664(omObjData *arg0); +static void fn_1_10820(omObjData *arg0); +static void fn_1_10AE8(omObjData *arg0); +static float fn_1_10BB0(u32 arg0); +static void fn_1_10CF0(u32 arg0); +static float fn_1_10EB8(Vec *arg0); +static void fn_1_11064(ModelData *model, ParticleData *particle, Mtx matrix); +static void fn_1_11484(ModelData *model, ParticleData *particle, Mtx matrix); + +static void *lbl_1_bss_818; +static Vec lbl_1_bss_80C; +static omObjData *lbl_1_bss_7FC[4]; +static omObjData *lbl_1_bss_7F8; +static omObjData *lbl_1_bss_7F4; +static omObjData *lbl_1_bss_7F0; +static float lbl_1_bss_7EC; +static float lbl_1_bss_7E8; +static s32 lbl_1_bss_7E4; +static Vec lbl_1_bss_7D8; +static s16 lbl_1_bss_7D6; +static s16 lbl_1_bss_7D4; +static s16 lbl_1_bss_7D2; +static s16 lbl_1_bss_7D0; +static Vec lbl_1_bss_7C4; +static s32 lbl_1_bss_7C0_pad; +static s32 lbl_1_bss_7BC; +static s32 lbl_1_bss_7B8; +static s16 lbl_1_bss_7B4; +static s32 lbl_1_bss_7B0_pad; +static s32 lbl_1_bss_7AC; +static s16 lbl_1_bss_7AA; +static s16 lbl_1_bss_7A8; +static s32 lbl_1_bss_7A4; +static AnimData *lbl_1_bss_7A0; + +static s32 lbl_1_data_F08[] = { + DATA_MAKE_NUM(DATADIR_BOARD, 109), + DATA_MAKE_NUM(DATADIR_BOARD, 110), + DATA_MAKE_NUM(DATADIR_BOARD, 111), + DATA_MAKE_NUM(DATADIR_BOARD, 112), + DATA_MAKE_NUM(DATADIR_BOARD, 113), + DATA_MAKE_NUM(DATADIR_BOARD, 114), + DATA_MAKE_NUM(DATADIR_BOARD, 115), + DATA_MAKE_NUM(DATADIR_BOARD, 116), + DATA_MAKE_NUM(DATADIR_BOARD, 118), + DATA_MAKE_NUM(DATADIR_BOARD, 119), + DATA_MAKE_NUM(DATADIR_BOARD, 120), + DATA_MAKE_NUM(DATADIR_BOARD, 121), + DATA_MAKE_NUM(DATADIR_BOARD, 122), + DATA_MAKE_NUM(DATADIR_BOARD, 123) +}; + +static s32 lbl_1_data_F40[8] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 23), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 23), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 23), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 23), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 23), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 23), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 23), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 23) +}; + +static s32 lbl_1_data_F60[8] = { + DATA_MAKE_NUM(DATADIR_MARIOMOT, 64), + DATA_MAKE_NUM(DATADIR_LUIGIMOT, 64), + DATA_MAKE_NUM(DATADIR_PEACHMOT, 64), + DATA_MAKE_NUM(DATADIR_YOSHIMOT, 64), + DATA_MAKE_NUM(DATADIR_WARIOMOT, 64), + DATA_MAKE_NUM(DATADIR_DONKEYMOT, 64), + DATA_MAKE_NUM(DATADIR_DAISYMOT, 64), + DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 64) +}; + +void fn_1_D740(s16 *arg0) { + s16 sp10[14]; + s16 sp8[4]; + float temp_f30; + float temp_f29; + float var_f31; + s32 var_r28; + s32 var_r30; + s32 i; + s32 j; + + lbl_1_bss_818 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_W01, 28), MEMORY_DEFAULT_NUM, HEAP_DATA); + BoardModelPosGet(lbl_1_bss_6C4[16], &lbl_1_bss_80C); + sp8[0] = BoardModelIDGet(lbl_1_bss_6C4[19]); + BoardModelVisibilitySet(lbl_1_bss_6C4[19], 1); + for (i = 1; i < 4; i++) { + sp8[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_W01, 24)); + } + var_r30 = 0; + for (i = 0; i < 4; i++) { + lbl_1_bss_7FC[i] = omAddObjEx(boardObjMan, 0x165, 2, 0, -1, NULL); + if (arg0[i] != -1) { + lbl_1_bss_7FC[var_r30++]->work[1] = arg0[i]; + } + } + while (var_r30 != 4) { + var_r28 = 0; + for (i = 0; i < 14; i++) { + for (j = 0; j < var_r30; j++) { + if (i == lbl_1_bss_7FC[j]->work[1]) { + break; + } + } + if (j == var_r30) { + sp10[var_r28++] = i; + } + } + lbl_1_bss_7FC[var_r30++]->work[1] = sp10[rand8() % var_r28]; + } + temp_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[18]); + temp_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + for (i = 0; i < 4; i++) { + lbl_1_bss_7FC[i]->model[0] = sp8[i]; + lbl_1_bss_7FC[i]->model[1] = Hu3DModelCreateFile(lbl_1_data_F08[lbl_1_bss_7FC[i]->work[1]]); + if (lbl_1_bss_7FC[i]->work[1] == 5) { + Hu3DData[lbl_1_bss_7FC[i]->model[1]].unk_F0[1][3] = -50.0f; + } + if (lbl_1_bss_7FC[i]->work[1] == 11) { + Hu3DModelAttrSet(lbl_1_bss_7FC[i]->model[1], 0x40000001); + } + if (lbl_1_bss_7FC[i]->work[1] == 4) { + Hu3DMotionSpeedSet(lbl_1_bss_7FC[i]->model[1], 0.0f); + } + Hu3DModelAttrReset(sp8[i], 1); + Hu3DModelAttrSet(lbl_1_bss_7FC[i]->model[1], 1); + Hu3DModelAttrSet(lbl_1_bss_7FC[i]->model[1], 0x40000002); + omSetTra(lbl_1_bss_7FC[i], lbl_1_bss_80C.x, lbl_1_bss_80C.y + 66.0f, lbl_1_bss_80C.z); + var_f31 = 90.0f - 90.0f * i + 360.0f * (temp_f30 / temp_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + omSetRot(lbl_1_bss_7FC[i], 0.0f, var_f31, 0.0f); + lbl_1_bss_7FC[i]->work[0] = Hu3DAnimCreate(lbl_1_bss_818, lbl_1_bss_7FC[i]->model[0], "item01"); + Hu3DAnimAttrSet(lbl_1_bss_7FC[i]->work[0], 1); + lbl_1_bss_7FC[i]->work[2] = i; + } + for (i = 0; i < 4; i++) { + Hu3DAnmNoSet(lbl_1_bss_7FC[i]->work[0], lbl_1_bss_7FC[i]->work[1]); + } +} + +void fn_1_DD84(void) { + s32 i; + + for (i = 0; i < 4; i++) { + if (i != 0) { + Hu3DModelKill(lbl_1_bss_7FC[i]->model[0]); + } else { + BoardModelVisibilitySet(lbl_1_bss_6C4[19], 0); + Hu3DAnimKill(lbl_1_bss_7FC[i]->work[0]); + } + Hu3DModelKill(lbl_1_bss_7FC[i]->model[1]); + omDelObjEx(boardObjMan, lbl_1_bss_7FC[i]); + } + if (lbl_1_bss_7A0) { + HuSprAnimKill(lbl_1_bss_7A0); + lbl_1_bss_7A0 = NULL; + } +} + +void fn_1_DE94(void) { + s32 i; + + BoardModelPosGet(lbl_1_bss_6C4[16], &lbl_1_bss_80C); + for (i = 0; i < 4; i++) { + lbl_1_bss_7FC[i]->func = fn_1_FED0; + } + lbl_1_bss_7F4 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_E2B8); + lbl_1_bss_7F8 = omAddObjEx(boardObjMan, 0x133, 0, 0, -1, fn_1_E44C); + lbl_1_bss_7F8->work[3] = rand8() % 200 + 10; + lbl_1_bss_7E4 = GWSystem.player_curr; + BoardPlayerPosGet(lbl_1_bss_7E4, &lbl_1_bss_7C4); + lbl_1_bss_7EC = 1.0f; + lbl_1_bss_7E8 = 1.0f; + lbl_1_bss_7AA = 0; + lbl_1_bss_7BC = BoardPlayerMotionCreate(lbl_1_bss_7E4, lbl_1_data_F40[GWPlayer[lbl_1_bss_7E4].character]); + lbl_1_bss_7B8 = BoardPlayerMotionCreate(lbl_1_bss_7E4, lbl_1_data_F60[GWPlayer[lbl_1_bss_7E4].character]); + lbl_1_bss_7A0 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0)); + HuSprAnimLock(lbl_1_bss_7A0); + lbl_1_bss_7B4 = 0; +} + +static void fn_1_E100(void) { + lbl_1_bss_7AA = 1; + BoardMGExit(); + HuAudFXPlay(0x40F); + BoardModelMotionStart(lbl_1_bss_6C4[21], 0, 0x40000004); +} + +static void fn_1_E154(void) { + fn_1_DD84(); + BoardPlayerMotionKill(lbl_1_bss_7E4, lbl_1_bss_7BC); + BoardPlayerMotionKill(lbl_1_bss_7E4, lbl_1_bss_7B8); + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 0); + BoardMGDoneFlagSet(0); +} + +static void fn_1_E2B8(omObjData *arg0) { + if (lbl_1_bss_7AA == 1 && BoardMGDoneFlagGet() == 1) { + fn_1_E154(); + omDelObjEx(HuPrcCurrentGet(), arg0); + } +} + +static char *lbl_1_data_F9C[] = { + "uma1", "uma2", "uma3", "uma4" +}; + +static void fn_1_E44C(omObjData *arg0) { + Vec sp18; + Vec spC; + float temp_f27; + float var_f29; + float temp_f28; + float var_f26; + float var_f24; + s32 i; + + temp_f28 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f29 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + if (var_f29 >= temp_f28) { + var_f29 -= temp_f28; + } + var_f24 = fmod(var_f29, temp_f28 / 4); + if (var_f24 >= temp_f28 / 4 - 30.0f && lbl_1_bss_7B4 == 0) { + lbl_1_bss_7B4 = 1; + lbl_1_bss_7A8 = 90; + } + if (lbl_1_bss_7B4 != 0) { + lbl_1_bss_7EC *= 0.97f; + lbl_1_bss_7A8--; + } + if (lbl_1_bss_7EC != 1.0f && lbl_1_bss_7A8 == 0) { + lbl_1_bss_7EC = 0.0f; + BoardAudSeqPause(0, 1, 1000); + BoardPlayerPosGet(lbl_1_bss_7E4, &sp18); + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[0], &spC); + var_f26 = PSVECSquareDistance(&sp18, &spC); + arg0->work[2] = 0; + for (i = 1; i < 4; i++) { + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[i], &spC); + temp_f27 = PSVECSquareDistance(&sp18, &spC); + if (temp_f27 < var_f26) { + var_f26 = temp_f27; + arg0->work[2] = i; + } + } + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[arg0->work[2]], &lbl_1_bss_7D8); + PSVECSubtract(&lbl_1_bss_7D8, &sp18, &spC); + PSVECNormalize(&spC, &spC); + arg0->trans.x = spC.x; + arg0->trans.y = spC.y; + arg0->trans.z = spC.z; + arg0->rot.x = sqrtf((lbl_1_bss_7D8.x - sp18.x) * (lbl_1_bss_7D8.x - sp18.x) + (lbl_1_bss_7D8.z - sp18.z) * (lbl_1_bss_7D8.z - sp18.z)); + arg0->rot.y = 10.0f; + arg0->rot.z = sp18.y; + arg0->scale.x = 0.0f; + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 4, 0.0f, 5.0f, 0); + arg0->func = fn_1_E914; + } + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], lbl_1_bss_7EC); +} + +static void fn_1_E914(omObjData *arg0) { + Vec spC; + s32 i; + + BoardPlayerPosGet(lbl_1_bss_7E4, &spC); + spC.x += arg0->trans.x * arg0->rot.x / 32.760002f; + spC.z += arg0->trans.z * arg0->rot.x / 32.760002f; + spC.y += arg0->rot.y - 0.016666668f * arg0->scale.x * arg0->scale.x; + arg0->scale.x += 1.0f; + if (sqrtf((lbl_1_bss_7D8.x - spC.x) * (lbl_1_bss_7D8.x - spC.x) + (lbl_1_bss_7D8.z - spC.z) * (lbl_1_bss_7D8.z - spC.z)) < 2.0f) { + spC = lbl_1_bss_7D8; + BoardPlayerRotSet(lbl_1_bss_7E4, 0.0f, fn_1_10BB0(arg0->work[2]), 0.0f); + lbl_1_bss_7EC = 0.05f; + lbl_1_bss_7E8 = 0.05f; + BoardModelAttrReset(lbl_1_bss_6C4[18], 0x40000002); + BoardModelAttrSet(lbl_1_bss_6C4[18], 0x40000001); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], 0.0f); + for (i = 0; i < 4; i++) { + lbl_1_bss_7FC[i]->func = fn_1_FED0; + } + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, lbl_1_bss_7B8, 0.0f, 5.0f, 0x40000001); + lbl_1_bss_7D6 = MGSeqCreate(3, 0); + BoardMusStart(1, 0xE, 0x7F, 0); + arg0->func = fn_1_ECD4; + } + BoardPlayerPosSetV(lbl_1_bss_7E4, &spC); +} + +static void fn_1_ECD4(omObjData *arg0) { + lbl_1_bss_7EC *= 1.05f; + lbl_1_bss_7E8 *= 1.05f; + if (lbl_1_bss_7EC > 2.0f) { + lbl_1_bss_7EC = 2.0f; + } + if (lbl_1_bss_7E8 > 4.0f) { + lbl_1_bss_7E8 = 4.0f; + } + if (MGSeqStatGet(lbl_1_bss_7D6) == 0) { + lbl_1_bss_7EC = 2.0f; + lbl_1_bss_7E8 = 4.0f; + arg0->func = fn_1_EED8; + lbl_1_bss_7D2 = 5; + lbl_1_bss_7D0 = 60; + lbl_1_bss_7D4 = MGSeqCreate(1, lbl_1_bss_7D2, 0x120, 0x40); + } + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], lbl_1_bss_7EC); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], lbl_1_bss_7E8); + fn_1_10CF0(arg0->work[2]); +} + +static void fn_1_EEA0(omObjData *arg0, u16 *arg1) { + *arg1 = 0; + if (arg0->work[3] != 0) { + arg0->work[3]--; + } else { + *arg1 |= 0x100; + } +} + +static void fn_1_EED8(omObjData *arg0) { + s16 temp_r29; + u16 var_r30; + + fn_1_10CF0(arg0->work[2]); + temp_r29 = GWPlayer[lbl_1_bss_7E4].port; + if ((lbl_1_bss_7D0 -= 1) == 0) { + if ((lbl_1_bss_7D2 -= 1) >= 0) { + MGSeqParamSet(lbl_1_bss_7D4, 1, lbl_1_bss_7D2); + } + lbl_1_bss_7D0 = 60; + } + if (GWPlayerCfg[lbl_1_bss_7E4].iscom == 1) { + fn_1_EEA0(arg0, &var_r30); + } else { + var_r30 = HuPadBtnDown[temp_r29]; + } + if (lbl_1_bss_7D2 < 0 || (var_r30 & 0x100)) { + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], 0.0f); + MGSeqParamSet(lbl_1_bss_7D4, 2, -1); + arg0->scale.y = 0.0f; + arg0->func = fn_1_F09C; + } +} + +static void fn_1_F09C(omObjData *arg0) { + float temp_f31; + float var_f30; + + temp_f31 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + arg0->scale.y += lbl_1_bss_7E8; + if (arg0->scale.y >= temp_f31 - 150.0f) { + lbl_1_bss_7E8 *= 0.9745f; + if (lbl_1_bss_7E8 < 0.08f) { + lbl_1_bss_7E8 = 0.08f; + } + } + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], lbl_1_bss_7E8); + if (arg0->scale.y >= temp_f31) { + BoardModelMotionSpeedSet(lbl_1_bss_6C4[18], 0.0f); + var_f30 = arg0->scale.y - temp_f31 + BoardModelMotionTimeGet(lbl_1_bss_6C4[18]); + if (var_f30 > temp_f31) { + var_f30 -= temp_f31; + } + BoardModelMotionTimeSet(lbl_1_bss_6C4[18], var_f30); + arg0->work[0] = fn_1_1001C(arg0->work[2]); + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 1); + BoardModelPosSet(lbl_1_bss_6C4[20], lbl_1_bss_7FC[arg0->work[0]]->trans.x, lbl_1_bss_7FC[arg0->work[0]]->trans.y + 1.0f, lbl_1_bss_7FC[arg0->work[0]]->trans.z); + BoardModelRotSet(lbl_1_bss_6C4[20], lbl_1_bss_7FC[arg0->work[0]]->rot.x, lbl_1_bss_7FC[arg0->work[0]]->rot.y + 1.0f, lbl_1_bss_7FC[arg0->work[0]]->rot.z); + arg0->work[1] = 60; + BoardAudSeqFadeOut(1, 100); + arg0->func = fn_1_F348; + HuAudFXPlay(0x40A); + } +} + +static void fn_1_F348(omObjData *arg0) { + if ((arg0->work[1] / 4) & 1) { + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 0); + } else { + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 1); + } + if ((arg0->work[1] -= 1) == 0) { + BoardModelVisibilitySet(lbl_1_bss_6C4[20], 0); + fn_1_101B8(arg0->work[0]); + HuAudFXPlay(0x310); + arg0->func = fn_1_F3F8; + } +} + +static void fn_1_F3F8(omObjData *arg0) { + Vec sp18; + Vec spC; + + if (lbl_1_bss_7F0->work[0] != 1) { + return; + } + BoardPlayerPosGet(lbl_1_bss_7E4, &sp18); + PSVECSubtract(&lbl_1_bss_7C4, &sp18, &spC); + PSVECNormalize(&spC, &spC); + arg0->trans.x = spC.x; + arg0->trans.y = spC.y; + arg0->trans.z = spC.z; + arg0->rot.x = sqrtf((lbl_1_bss_7C4.x - sp18.x) * (lbl_1_bss_7C4.x - sp18.x) + (lbl_1_bss_7C4.z - sp18.z) * (lbl_1_bss_7C4.z - sp18.z)); + arg0->scale.y = 20.0f + 40.0f * (arg0->rot.x / 445.0f); + arg0->rot.y = 0.016666668f * (arg0->scale.y / 2) * (arg0->scale.y / 2); + arg0->rot.z = sp18.y; + arg0->scale.x = 0.0f; + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 4, 0.0f, 5.0f, 0); + PSVECSubtract(&lbl_1_bss_7C4, &sp18, &spC); + PSVECNormalize(&spC, &spC); + BoardPlayerRotSet(lbl_1_bss_7E4, 0.0f, fn_1_10EB8(&spC), 0.0f); + arg0->func = fn_1_F6E8; +} + +static void fn_1_F6E8(omObjData *arg0) { + Vec sp8; + + BoardPlayerPosGet(lbl_1_bss_7E4, &sp8); + sp8.x += arg0->trans.x * arg0->rot.x / arg0->scale.y; + sp8.z += arg0->trans.z * arg0->rot.x / arg0->scale.y; + sp8.y += arg0->rot.y - 0.016666668f * arg0->scale.x * arg0->scale.x; + arg0->scale.x += 1.0f; + if (sp8.y < lbl_1_bss_80C.y || arg0->scale.x >= arg0->scale.y) { + sp8.y = lbl_1_bss_80C.y; + BoardCameraMotionStart(BoardPlayerModelGet(lbl_1_bss_7E4), NULL, 700.0f, -1.0f); + BoardPlayerMotionStart(lbl_1_bss_7E4, 2, 0x40000001); + arg0->func = fn_1_F890; + } + BoardPlayerPosSetV(lbl_1_bss_7E4, &sp8); +} + +static void fn_1_F890(omObjData *arg0) { + Vec sp8; + + BoardPlayerRotGet(lbl_1_bss_7E4, &sp8); + if (sp8.y == 0.0f) { + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 1, 0.0f, 10.0f, 0x40000001); + lbl_1_bss_7F0->work[0] = 0; + lbl_1_bss_7F0->func = fn_1_10820; + arg0->func = fn_1_FA1C; + } else if (sp8.y > 180.0f) { + if (360.0f - sp8.y < 3.0f) { + sp8.y = 0.0f; + } else { + sp8.y += 3.0f; + } + } else { + if (sp8.y < 3.0f) { + sp8.y = 0.0f; + } else { + sp8.y -= 3.0f; + } + } + BoardPlayerRotSetV(lbl_1_bss_7E4, &sp8); +} + +static void fn_1_FA1C(omObjData *arg0) { + if (lbl_1_bss_7F0->work[0] == 1) { + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, lbl_1_bss_7BC, 0.0f, 10.0f, 0); + arg0->work[0] = 30; + lbl_1_bss_7A4 = HuAudSStreamPlay(2); + arg0->func = fn_1_FABC; + } +} + +static void fn_1_FABC(omObjData *arg0) { + Process *var_r30; + + if (arg0->work[0] == 0) { + if (HuAudSStreamStatGet(lbl_1_bss_7A4) == 0) { + var_r30 = HuPrcCreate(fn_1_FB58, 0x2004, 0x1000, 0); + var_r30->user_data = arg0; + BoardAudSeqPause(0, 0, 1000); + arg0->func = NULL; + } + } else { + arg0->work[0]--; + } +} + +static void fn_1_FB58(void) { + omObjData *temp_r31; + + BoardWinCreate(2, MAKE_MESSID(10, 6), 0); + BoardWinInsertMesSet(MAKE_MESSID(8, lbl_1_bss_7F0->work[1]), 0); + BoardWinWait(); + BoardWinKill(); + temp_r31 = HuPrcCurrentGet()->user_data; + BoardPlayerMotionShiftSet(lbl_1_bss_7E4, 1, 0.0f, 10.0f, 0); + lbl_1_bss_7F0->work[0] = 0; + HuAudFXPlay(0x30D); + HuAudFXFadeOut(lbl_1_bss_7AC, 1000); + lbl_1_bss_7F0->func = fn_1_10AE8; + temp_r31->func = fn_1_FC3C; + HuPrcKill(NULL); + while (TRUE) { + HuPrcVSleep(); + } +} + +static void fn_1_FC3C(omObjData *arg0) { + Process *var_r31; + + if (lbl_1_bss_7F0->work[0] == 1) { + BoardPlayerItemAdd(lbl_1_bss_7E4, lbl_1_bss_7F0->work[1]); + omVibrate(lbl_1_bss_7E4, 12, 6, 6); + var_r31 = HuPrcCreate(fn_1_FCEC, 0x2004, 0x1000, 0); + var_r31->user_data = arg0; + arg0->func = NULL; + } +} + +static void fn_1_FCEC(void) { + omObjData *var_r31; + + BoardWinCreate(2, MAKE_MESSID(10, 7), 0); + BoardWinWait(); + BoardWinKill(); + var_r31 = HuPrcCurrentGet()->user_data; + var_r31->func = fn_1_FD3C; + HuPrcKill(NULL); + while (TRUE) { + HuPrcVSleep(); + } +} + +static void fn_1_FD3C(omObjData *arg0) { + BoardStatusShowSetAll(1); + BoardCameraTargetModelSet(lbl_1_bss_6C4[21]); + BoardCameraOffsetSet(0.0f, 0.0f, 0.0f); + BoardCameraXRotZoomSet(1200.0f, -45.0f); + BoardModelMotionSpeedSet(lbl_1_bss_6C4[17], 1.0f); + Hu3DModelKill(lbl_1_bss_7F0->model[0]); + Hu3DModelKill(lbl_1_bss_7F0->model[1]); + Hu3DModelKill(lbl_1_bss_7F0->model[2]); + omDelObjEx(HuPrcCurrentGet(), lbl_1_bss_7F0); + arg0->func = fn_1_FE44; +} + +static void fn_1_FE44(omObjData *arg0) { + if (BoardStatusStopCheck(lbl_1_bss_7E4) && BoardCameraMotionIsDone()) { + lbl_1_bss_7AA = 1; + BoardMGExit(); + HuAudFXPlay(0x40F); + BoardModelMotionStart(lbl_1_bss_6C4[21], 0, 0x40000004); + arg0->func = NULL; + } +} + +static void fn_1_FED0(omObjData *arg0) { + float temp_f30; + float var_f31; + float var_f29; + + temp_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[18]); + var_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + var_f31 = 90.0f - 90.0f * arg0->work[2] + 360.0f * (temp_f30 / var_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + omSetRot(arg0, 0.0f, var_f31, 0.0f); +} + +static s16 fn_1_1001C(u32 arg0) { + float var_f29; + float var_f28; + float temp_f27; + float temp_f26; + float var_f31; + float var_f30; + + temp_f26 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + temp_f27 = 360.0f - 360.0f * (BoardModelMotionTimeGet(lbl_1_bss_6C4[18]) / temp_f26); + var_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + var_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f30 = var_f30 - (var_f29 / 4) * arg0; + if (var_f30 < 0.0f) { + var_f30 += var_f29; + } + var_f28 = 360.0f * (var_f30 / var_f29); + var_f31 = var_f28 - temp_f27; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + var_f31 /= 90.0f; + return var_f31; +} + +static void fn_1_101B8(s16 arg0) { + omObjData *var_r31; + float *var_r30; + float var_f27; + float temp_f26; + float temp_f30; + float temp_f29; + float temp_f28; + float var_f31; + + var_r31 = lbl_1_bss_7F0 = omAddObjEx(boardObjMan, 0x165, 3, 0, -1, fn_1_10664); + var_r31->model[0] = lbl_1_bss_7FC[arg0]->model[1]; + Hu3DModelAttrReset(var_r31->model[0], 1); + lbl_1_bss_7F0->work[1] = lbl_1_bss_7FC[arg0]->work[1]; + lbl_1_bss_7F0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 3 * sizeof(float), MEMORY_DEFAULT_NUM); + var_r30 = lbl_1_bss_7F0->data; + omSetRot(var_r31, 0.0f, 0.0f, 0.0f); + omSetSca(var_r31, 0.0f, 0.0f, 0.0f); + temp_f26 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[18]); + var_f27 = 360.0f - 360.0f * (BoardModelMotionTimeGet(lbl_1_bss_6C4[18]) / temp_f26); + var_f31 = 45.0f + var_f27 + 90.0f * arg0; + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + temp_f30 = lbl_1_bss_80C.x - 100.0 * cos(var_f31 * M_PI / 180.0); + temp_f28 = lbl_1_bss_80C.z - 100.0 * sin(var_f31 * M_PI / 180.0); + temp_f29 = lbl_1_bss_80C.y + 66.0f + 1.0f; + omSetTra(var_r31, temp_f30, temp_f29, temp_f28); + var_r31->work[0] = 0; + var_r30[0] = 0.1f; + var_r30[2] = 20.0f; + var_r30[1] = 0.0f; + var_r31->model[1] = Hu3DParticleCreate(lbl_1_bss_7A0, 200); + var_r31->model[2] = Hu3DParticleCreate(lbl_1_bss_7A0, 100); + Hu3DParticleHookSet(var_r31->model[1], fn_1_11064); + Hu3DParticleHookSet(var_r31->model[2], fn_1_11484); + Hu3DParticleColSet(var_r31->model[1], 0xFF, 0xFF, 0); + Hu3DParticleColSet(var_r31->model[2], 0xFF, 0xFF, 0); + Hu3DModelPosSet(var_r31->model[1], 0.0f, 0.0f, 0.0f); + Hu3DModelPosSet(var_r31->model[2], temp_f30, temp_f29, temp_f28); + Hu3DParticleBlendModeSet(var_r31->model[1], 1); + Hu3DParticleBlendModeSet(var_r31->model[2], 1); + Hu3DModelLayerSet(var_r31->model[1], 3); + Hu3DModelLayerSet(var_r31->model[2], 3); + lbl_1_bss_7AC = HuAudFXPlay(0x35F); +} + +static void fn_1_10664(omObjData *arg0) { + float *temp_r31; + float var_f31; + + temp_r31 = arg0->data; + var_f31 = temp_r31[0]; + if (arg0->work[0] == 0) { + if (var_f31 > 1.0f) { + var_f31 = 1.0f; + } else { + temp_r31[0] += 0.025f; + } + arg0->trans.y += temp_r31[2]; + temp_r31[2] -= 1.0f; + if (temp_r31[2] < 0.0f && arg0->trans.y < lbl_1_bss_80C.y + 66.0f + 1.0f + 90.0f) { + arg0->work[0] = 1; + } + omSetSca(arg0, var_f31, var_f31, var_f31); + } else { + arg0->trans.y += sin(temp_r31[1] * M_PI / 180.0); + temp_r31[1] += 4.0f; + if (temp_r31[1] >= 360.0f) { + temp_r31[1] -= 360.0f; + } + } +} + +static void fn_1_10820(omObjData *arg0) { + Vec sp24; + Vec sp18; + Vec spC; + float var_f28; + float *temp_r30; + + temp_r30 = arg0->data; + if (arg0->work[0] == 0) { + BoardPlayerPosGet(lbl_1_bss_7E4, &sp24); + sp18.x = arg0->trans.x; + sp18.y = 0.0f; + sp18.z = arg0->trans.z; + sp24.y = 0.0f; + PSVECSubtract(&sp24, &sp18, &spC); + PSVECNormalize(&spC, &spC); + var_f28 = sqrtf((sp24.x - sp18.x) * (sp24.x - sp18.x) + (sp24.z - sp18.z) * (sp24.z - sp18.z)); + if (var_f28 < 8.0f) { + arg0->trans.x = sp24.x; + arg0->trans.z = sp24.z; + arg0->work[0] = 1; + } else { + arg0->trans.x += 8.0f * spC.x; + arg0->trans.z += 8.0f * spC.z; + } + } + arg0->trans.y += sin(temp_r30[1] * M_PI / 180.0); + temp_r30[1] += 4.0f; + if (temp_r30[1] >= 360.0f) { + temp_r30[1] -= 360.0f; + } +} + +static void fn_1_10AE8(omObjData *arg0) { + float *temp_r31; + + temp_r31 = arg0->data; + if (arg0->work[0] == 0) { + temp_r31[0] -= 0.016666668f; + if (temp_r31[0] <= 0.0f) { + temp_r31[0] = 0.0f; + arg0->work[0] = 1; + HuAudFXStop(lbl_1_bss_7AC); + } + arg0->trans.y -= 2.1666667f; + } + omSetSca(arg0, temp_r31[0], temp_r31[0], temp_r31[0]); +} + +static float fn_1_10BB0(u32 arg0) { + float var_f30; + float temp_f29; + float var_f31; + + var_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + temp_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f30 = var_f30 - (temp_f29 / 4) * arg0; + if (var_f30 < 0.0f) { + var_f30 += temp_f29; + } + var_f31 = 180.0f + -360.0f * (var_f30 / temp_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + return var_f31; +} + +static void fn_1_10CF0(u32 arg0) { + float var_f30; + float temp_f29; + float var_f31; + float var_f28; + + Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_6C4[17]), lbl_1_data_F9C[arg0], &lbl_1_bss_7D8); + BoardPlayerPosSetV(lbl_1_bss_7E4, &lbl_1_bss_7D8); + var_f30 = BoardModelMotionTimeGet(lbl_1_bss_6C4[17]); + temp_f29 = BoardModelMotionMaxTimeGet(lbl_1_bss_6C4[17]); + var_f30 = var_f30 - (temp_f29 / 4) * arg0; + if (var_f30 < 0.0f) { + var_f30 += temp_f29; + } + var_f31 = 180.0f + -360.0f * (var_f30 / temp_f29); + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; + } + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + var_f28 = var_f31; + BoardPlayerRotSet(lbl_1_bss_7E4, 0.0f, var_f28, 0.0f); +} + +static float fn_1_10EB8(Vec *arg0) { + float var_f31; + + if (arg0->x || arg0->z) { + if (arg0->x == 0.0f) { + if (arg0->z > 0.0f) { + return 0.0f; + } else { + return 180.0f; + } + } + if (arg0->z == 0.0f) { + if (arg0->x > 0.0f) { + return 90.0f; + } else { + return 270.0f; + } + } + var_f31 = 180.0 * (atan2(arg0->z, arg0->x) / M_PI); + if (arg0->z < 0.0f) { + var_f31 = 90.0f - var_f31; + } else { + var_f31 = 90.0f - var_f31; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; + } + } + return var_f31; + } + return -1.0f; +} + +static void fn_1_11064(ModelData *model, ParticleData *particle, Mtx matrix) { + HsfanimStruct01 *var_r31; + float temp_f30; + float temp_f29; + float temp_f31; + s32 var_r28; + s32 i; + + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + var_r31->unk40.a = 0; + var_r31->unk2C = 0.0f; + } + particle->unk_00 = 0; + } + temp_f31 = lbl_1_bss_7F0->scale.x; + for (i = 0; i < 30; i++) { + var_r31 = particle->unk_48; + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + if (var_r31->unk2C == 0.0f) { + break; + } + } + if (var_r28 != particle->unk_30) { + temp_f30 = 0.003921569f * (frand() & 0xFF) * 360.0f; + temp_f29 = 0.003921569f * (frand() & 0xFF) * 70.0f * temp_f31; + var_r31->unk34.x = lbl_1_bss_7F0->trans.x + temp_f29 * sin(temp_f30 * M_PI / 180.0); + var_r31->unk34.z = lbl_1_bss_7F0->trans.z + temp_f29 * cos(temp_f30 * M_PI / 180.0); + var_r31->unk34.y = lbl_1_bss_7F0->trans.y + temp_f31 * (-30.0f + 0.003921569f * (frand() & 0xFF) * 60.0f); + var_r31->unk08.x = 0.5f + 0.003921569f * (frand() & 0xFF) * 3.0f; + var_r31->unk08.y = 0.3f + 0.003921569f * (frand() & 0xFF) * 2.0f; + var_r31->unk40.a = 0xB4; + var_r31->unk2C = 15.0f * temp_f31; + } + } + var_r31 = particle->unk_48; + for (i = 0; i < particle->unk_30; i++, var_r31++) { + if (var_r31->unk2C != 0.0f) { + var_r31->unk34.y -= var_r31->unk08.x; + var_r31->unk2C -= var_r31->unk08.y; + if (var_r31->unk2C <= 0.0f) { + var_r31->unk2C = 0.0f; + } + } + } +} + +static void fn_1_11484(ModelData *model, ParticleData *particle, Mtx matrix) { + HsfanimStruct01 *var_r31; + float temp_f29; + float temp_f30; + float temp_f31; + s32 var_r28; + s32 var_r29; + + if (particle->unk_34 == 0) { + var_r31 = particle->unk_48; + for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { + var_r31->unk40.a = 0; + var_r31->unk2C = 0.0f; + } + particle->unk_00 = 0; + } + if (particle->unk_00 == 0) { + var_r31 = particle->unk_48; + for (var_r28 = 0; var_r28 < particle->unk_30; var_r28++, var_r31++) { + temp_f30 = 0.003921569f * (frand() & 0xFF) * 360.0f; + temp_f31 = 0.003921569f * (frand() & 0xFF) * 50.0f; + var_r31->unk08.x = temp_f31 * cos(temp_f30 * M_PI / 180.0); + var_r31->unk08.y = 2.0f + 0.003921569f * (frand() & 0xFF) * 4.0f; + var_r31->unk08.z = temp_f31 * sin(temp_f30 * M_PI / 180.0); + temp_f29 = 60.0f + 20.0f * (frand() & 0xFF) * 0.003921569f; + temp_f31 = 4.0f + 5.0f * (frand() & 0xFF) * 0.003921569f; + var_r31->unk14.x = temp_f31 * sin(temp_f30 * M_PI / 180.0) * cos(temp_f29 * M_PI / 180.0); + var_r31->unk14.y = temp_f31 * sin(temp_f29 * M_PI / 180.0); + var_r31->unk14.z = temp_f31 * cos(temp_f30 * M_PI / 180.0) * cos(temp_f29 * M_PI / 180.0); + var_r31->unk20 = 1.0f; + var_r31->unk40.a = 0xB4; + var_r31->unk2C = 9.0f + 0.003921569f * (frand() & 0xFF) * 4.0f; + } + particle->unk_00 = 1; + } + var_r31 = particle->unk_48; + for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { + if (var_r31->unk2C != 0.0f) { + var_r31->unk34.x = var_r31->unk08.x + var_r31->unk14.x * var_r31->unk20; + var_r31->unk34.z = var_r31->unk08.z + var_r31->unk14.z * var_r31->unk20; + var_r31->unk34.y = var_r31->unk08.y + var_r31->unk14.y * var_r31->unk20 - 0.2f * var_r31->unk20 * var_r31->unk20; + var_r31->unk2C -= 0.25f; + var_r31->unk20 += 1.0f; + if (var_r31->unk2C <= 0.0f) { + var_r31->unk2C = 0.0f; + } + } + } +} diff --git a/src/REL/w03Dll/condor.c b/src/REL/w03Dll/condor.c index af07abe7..983d3752 100644 --- a/src/REL/w03Dll/condor.c +++ b/src/REL/w03Dll/condor.c @@ -206,7 +206,7 @@ s32 fn_1_3478(s32 arg0) { sp8.y = 0.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(lbl_1_data_310, &sp8, &sp14, 1900.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(lbl_1_data_310, &sp8, &sp14, 1900.0f, -1.0f, 21); temp_r28 = GWPlayer[arg0].space_curr; BoardPlayerPosGet(arg0, &sp2C); temp = BoardSpaceLinkFlagSearch(0, temp_r28, 0x02000000); @@ -392,7 +392,7 @@ void fn_1_3968(s32 arg0) { sp18.y = 180.0f; sp18.z = 0.0f; - BoardCameraMotionStartEx(lbl_1_data_310, &sp18, 0, 4000.0f, -1.0f, 0x150); + BoardCameraMotionStartEx(lbl_1_data_310, &sp18, NULL, 4000.0f, -1.0f, 336); for (var_r28 = 0, sp8 = 0; ; sp8++) { if (var_r28 == 0) { diff --git a/src/REL/w03Dll/mg_coin.c b/src/REL/w03Dll/mg_coin.c index 3015eba5..e9238dc7 100644 --- a/src/REL/w03Dll/mg_coin.c +++ b/src/REL/w03Dll/mg_coin.c @@ -162,7 +162,7 @@ s32 fn_1_7D18(s32 arg0) { sp8.y = 0.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(lbl_1_bss_C[7], &sp8, &sp14, 1500.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(lbl_1_bss_C[7], &sp8, &sp14, 1500.0f, -1.0f, 21); space = GWPlayer[arg0].space_curr; temp_r28 = BoardSpaceLinkFlagSearch(0, space, 0x02000000); BoardPlayerPosGet(arg0, &sp2C); @@ -400,7 +400,7 @@ void fn_1_8698(omObjData* arg0, someBits3* arg1) { arg0->rot.y = 16.666666f * arg0->rot.x; arg0->scale.x = BoardModelMotionMaxTimeGet(lbl_1_bss_C[7]); HuWinDispOff(lbl_1_data_454); - BoardCameraMotionStartEx(-1, 0, 0, 1900.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(-1, NULL, NULL, 1900.0f, -1.0f, 21); return; } diff --git a/src/REL/w03Dll/mg_item.c b/src/REL/w03Dll/mg_item.c index 4a958585..ad3ed8e1 100644 --- a/src/REL/w03Dll/mg_item.c +++ b/src/REL/w03Dll/mg_item.c @@ -241,7 +241,7 @@ s32 fn_1_9CF4(s32 arg0) { sp8.y = 0.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(lbl_1_bss_C[8], &sp8, &sp14, 1500.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(lbl_1_bss_C[8], &sp8, &sp14, 1500.0f, -1.0f, 21); spaceCur = GWPlayer[arg0].space_curr; temp_r29 = BoardSpaceLinkFlagSearch(0, spaceCur, 0x02000000); BoardPlayerPosGet(arg0, &sp2C); diff --git a/src/REL/w03Dll/statue.c b/src/REL/w03Dll/statue.c index 4565ab68..da943a80 100644 --- a/src/REL/w03Dll/statue.c +++ b/src/REL/w03Dll/statue.c @@ -165,7 +165,7 @@ s32 fn_1_1650(s32 arg0) { sp8.x = -20.0f; sp8.y = 0.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(lbl_1_bss_6C, &sp8, &sp14, 1360.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(lbl_1_bss_6C, &sp8, &sp14, 1360.0f, -1.0f, 21); BoardPlayerPosLerpStart(arg0, &sp2C, &sp38, 0x28); while (GWPlayer[arg0].moving) { @@ -471,9 +471,9 @@ void fn_1_20E0(s32 arg0) { fn_1_2AC0(); for (i = 0; i < 3; i++) { - BoardCameraMotionStartEx(-1, NULL, 0, 680.0f, -1.0f, 13); + BoardCameraMotionStartEx(-1, NULL, NULL, 680.0f, -1.0f, 13); BoardCameraMotionWait(); - BoardCameraMotionStartEx(-1, NULL, 0, 1360.0f, -1.0f, 13); + BoardCameraMotionStartEx(-1, NULL, NULL, 1360.0f, -1.0f, 13); BoardCameraMotionWait(); } @@ -498,7 +498,7 @@ void fn_1_20E0(s32 arg0) { sp18.x = -20.0f; sp18.y = 0.0f; sp18.z = 0.0f; - BoardCameraMotionStartEx(lbl_1_bss_C[1], &sp18, &sp24, 3000.0f, -1.0f, 0x3C); + BoardCameraMotionStartEx(lbl_1_bss_C[1], &sp18, &sp24, 3000.0f, -1.0f, 60); BoardCameraMotionWait(); omVibrate(arg0, 0x1E, 6, 6); HuPrcSleep(0x1E); @@ -526,7 +526,7 @@ void fn_1_20E0(s32 arg0) { sp18.x = -20.0f; sp18.y = 0.0f; sp18.z = 0.0f; - BoardCameraMotionStartEx(lbl_1_bss_6C, &sp18, &sp24, 1360.0f, -1.0f, 0x3C); + BoardCameraMotionStartEx(lbl_1_bss_6C, &sp18, &sp24, 1360.0f, -1.0f, 60); BoardCameraMotionWait(); HuPrcSleep(0x3C); } diff --git a/src/game/board/item.c b/src/game/board/item.c index df42dc9a..0d68d60e 100755 --- a/src/game/board/item.c +++ b/src/game/board/item.c @@ -1303,7 +1303,7 @@ static void ExecItemLight(void) { HuAudFXPlay(0x350); ItemShowProc(NULL, NULL); - BoardWinCreateChoice(2, DATA_MAKE_NUM(DATADIR_EFFECT, 15), -1, 0); + BoardWinCreateChoice(2, MAKE_MESSID(18, 15), -1, 0); BoardWinInsertMesSet(MAKE_MESSID(8, 8), 3); if (GWPlayer[currItemRestore].com) { BoardComKeySetRight(); @@ -1800,7 +1800,7 @@ static void ExecItemBooBall(void) { sp68.x = 0.0f; sp68.y = 0.0f; sp68.z = 0.0f; - BoardCameraMotionStartEx(suitMdl, 0, &sp68, 325.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(suitMdl, NULL, &sp68, 325.0f, -1.0f, 21); BoardBooStealMain(); BoardCameraViewSet(2); BoardCameraMotionWait(); @@ -1852,7 +1852,7 @@ static void ExecItemBooBall(void) { sp68.x = 0.0f; sp68.y = 0.0f; sp68.z = 0.0f; - BoardCameraMotionStartEx(suitMdl, 0, &sp68, 325.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(suitMdl, NULL, &sp68, 325.0f, -1.0f, 21); BoardBooStealMain(); var_r29 = BoardBooStealLightCheck(); BoardCameraViewSet(2); diff --git a/src/game/board/lottery.c b/src/game/board/lottery.c index 937ba7c6..d417f8bc 100755 --- a/src/game/board/lottery.c +++ b/src/game/board/lottery.c @@ -525,7 +525,7 @@ static void ExecLottery(void) { sp8.x = 0.0f; sp8.y = 200.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 0x1B); + BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 27); if (BoardPlayerSizeGet(temp_r31) == 1) { BoardModelVisibilitySet(lotteryMdl[3], 1); } @@ -890,7 +890,7 @@ static void ExecBallGame(void) { sp4C.x = 0.0f; sp4C.y = 210.0f; sp4C.z = 0.0f; - BoardCameraMotionStartEx(lotteryMdl[0], NULL, &sp4C, 980.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(lotteryMdl[0], NULL, &sp4C, 980.0f, -1.0f, 21); LotteryInlineFunc00(0, 0); BoardCameraMotionWait(); BoardWinCreate(2, lotteryMessBase + 1, BoardWinPortraitGet()); @@ -1836,7 +1836,7 @@ static void ExecPrize(void) { sp14.x = 0.0f; sp14.y = 200.0f; sp14.z = 0.0f; - BoardCameraMotionStartEx(lotteryMdl[0], 0, &sp14, 1300.0f, -1.0f, 21); + BoardCameraMotionStartEx(lotteryMdl[0], NULL, &sp14, 1300.0f, -1.0f, 21); temp_r30 = GWSystem.player_curr; BoardStatusShowSetForce(temp_r30); BoardStatusShowSet(temp_r30, 1); @@ -2039,7 +2039,7 @@ void BoardLotteryTutorialExec(void) { sp8.x = 0.0f; sp8.y = 200.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(lotteryMdl[0], &sp14, &sp8, 1300.0f, -1.0f, 21); HuAudFXPlay(0x331); HuAudFXPlay(0x344); BoardModelMotionStart(lotteryMdl[0], 0, 0); diff --git a/src/game/board/main.c b/src/game/board/main.c index 2d1249ff..5f89b9a2 100644 --- a/src/game/board/main.c +++ b/src/game/board/main.c @@ -1059,7 +1059,7 @@ void BoardCameraNearFarGet(float *near, float *far) void BoardCameraMotionStart(s16 model_target, Vec *rot_target, float zoom_target, float fov_target) { - BoardCameraMotionStartEx(model_target, rot_target, 0, zoom_target, fov_target, 21); + BoardCameraMotionStartEx(model_target, rot_target, NULL, zoom_target, fov_target, 21); } void BoardCameraMotionStartEx(s16 model_target, Vec *rot_target, Vec *offset_end, float zoom_target, float fov_target, s16 max_time) diff --git a/src/game/board/mg_setup.c b/src/game/board/mg_setup.c index 7a1a8ad8..97442928 100644 --- a/src/game/board/mg_setup.c +++ b/src/game/board/mg_setup.c @@ -175,7 +175,7 @@ static void ExecMGSetup(void) { sp54.x = 0.0f; sp54.y = 150.0f; sp54.z = 0.0f; - BoardCameraMotionStartEx(-1, NULL, &sp54, 1300.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(-1, NULL, &sp54, 1300.0f, -1.0f, 21); BoardCameraMotionWait(); WipeCreate(1, 0, 0x15); diff --git a/src/game/board/shop.c b/src/game/board/shop.c index fb28fcda..71cc0b2f 100755 --- a/src/game/board/shop.c +++ b/src/game/board/shop.c @@ -269,7 +269,7 @@ static void ExecShop(void) { sp8.x = 0.0f; sp8.y = 170.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(shopMdlPtr[0], &sp14, &sp8, 1360.0f, -1.0f, 0x1B); + BoardCameraMotionStartEx(shopMdlPtr[0], &sp14, &sp8, 1360.0f, -1.0f, 27); HuAudFXPlay(0x330); HuAudFXPlay(0x32D); PopupShop(); @@ -1144,7 +1144,7 @@ void BoardShopTutorialExec(s32 arg0) { sp18.x = 0.0f; sp18.y = 170.0f; sp18.z = 0.0f; - BoardCameraMotionStartEx(shopMdlPtr[0], &sp24, &sp18, 1360.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(shopMdlPtr[0], &sp24, &sp18, 1360.0f, -1.0f, 21); HuAudFXPlay(0x330); HuAudFXPlay(0x32D); PopupShop(); diff --git a/src/game/board/star.c b/src/game/board/star.c index aab8fa90..d2613730 100755 --- a/src/game/board/star.c +++ b/src/game/board/star.c @@ -8,6 +8,7 @@ #include "game/hsfman.h" #include "game/msm.h" #include "game/objsub.h" +#include "game/window.h" #include "game/wipe.h" #include "game/board/audio.h" #include "game/board/com.h" @@ -72,27 +73,27 @@ static s16 starParman = -1; static s16 hostMdl = -1; const s32 lbl_8011E040[9] = { - 0x000C0000, - 0x000C0009, - 0x000C0012, - 0x000C001B, - 0x000C0024, - 0x000C002D, - 0x000C0000, - 0x000C0000, - 0x000C0000 + MAKE_MESSID(12, 0), + MAKE_MESSID(12, 9), + MAKE_MESSID(12, 18), + MAKE_MESSID(12, 27), + MAKE_MESSID(12, 36), + MAKE_MESSID(12, 45), + MAKE_MESSID(12, 0), + MAKE_MESSID(12, 0), + MAKE_MESSID(12, 0) }; const s32 lbl_8011E064[9][2] = { - { 0x00150022, 0x00150028 }, - { 0x00150023, 0x00150029 }, - { 0x00150024, 0x0015002A }, - { 0x00150025, 0x0015002B }, - { 0x00150026, 0x0015002C }, - { 0x00150027, 0x0015002D }, - { 0x00150022, 0x00150028 }, - { 0x00150022, 0x00150028 }, - { 0x00150022, 0x00150028 } + { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, + { MAKE_MESSID(21, 35), MAKE_MESSID(21, 41) }, + { MAKE_MESSID(21, 36), MAKE_MESSID(21, 42) }, + { MAKE_MESSID(21, 37), MAKE_MESSID(21, 43) }, + { MAKE_MESSID(21, 38), MAKE_MESSID(21, 44) }, + { MAKE_MESSID(21, 39), MAKE_MESSID(21, 45) }, + { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, + { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, + { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) } }; s32 boardStarSndTbl[] = { @@ -106,16 +107,13 @@ s32 boardStarSndTbl[] = { 0x000002E0 }; -static s32 hostMotTbl[][2] = { - { 0x00750021, 0x0007009D }, - { 0x00760007, 0x0007009E }, - { 0x0077001F, 0x0007009F }, - { 0x0078000B, 0x000700A0 }, - { 0x00790009, 0x000700A1 }, - { 0x007A0015, 0x000700A2 }, - { 0x00000000, 0x00000000 }, - { 0x00000000, 0x00000000 }, - { 0x00000000, 0x00000000 } +static s32 hostMotTbl[9][2] = { + { DATA_MAKE_NUM(DATADIR_W01, 33), DATA_MAKE_NUM(DATADIR_BOARD, 157) }, + { DATA_MAKE_NUM(DATADIR_W02, 7), DATA_MAKE_NUM(DATADIR_BOARD, 158) }, + { DATA_MAKE_NUM(DATADIR_W03, 31), DATA_MAKE_NUM(DATADIR_BOARD, 159) }, + { DATA_MAKE_NUM(DATADIR_W04, 11), DATA_MAKE_NUM(DATADIR_BOARD, 160) }, + { DATA_MAKE_NUM(DATADIR_W05, 9), DATA_MAKE_NUM(DATADIR_BOARD, 161) }, + { DATA_MAKE_NUM(DATADIR_W06, 21), DATA_MAKE_NUM(DATADIR_BOARD, 162) } }; static HsfanimStruct00 starEffParam = { @@ -219,9 +217,9 @@ static void ExecStar(void) { var_f28 = BoardDAngleCalc(temp_f30 - temp_f29); } if (var_f28 > 90.0f) { - var_r25 = 0x1E; + var_r25 = 30; } else { - var_r25 = 0xF; + var_r25 = 15; } BoardPlayerMotBlendSet(temp_r31, temp_f30, var_r25); temp_f27 = BoardModelRotYGet(temp_r30); @@ -340,9 +338,9 @@ block_A: } _SetFlag(0x10017); BoardModelMotionShiftSet(temp_r30, hostMot[0], 0.0f, 10.0f, 0); - HuPrcSleep(0x1E); + HuPrcSleep(30); starDoneF = 1; - BoardAudSeqFadeOut(0, 0x3E8); + BoardAudSeqFadeOut(0, 1000); BoardModelPosGet(temp_r30, &sp24); sp24.y += 130.0f; BoardStarGive(temp_r31, &sp24); @@ -438,7 +436,7 @@ static void UpdateStarAngle(GiveStarWork *arg0, omObjData *arg1) { if (arg0->unk02 < 16.0f) { arg0->unk02 += 2.0f; if (arg0->unk02 > 16.0f) { - arg0->unk02 = 0x10; + arg0->unk02 = 16; } } OSs8tof32(&arg0->unk02, &var_f31); @@ -472,7 +470,7 @@ static void MoveGiveStar(GiveStarWork *arg0, omObjData *arg1) { BoardPlayerPosGet(arg0->unk00_field3, &sp8); if (arg0->unk00_field2 == 0) { if (BoardModelMotionTimeGet(arg0->unk0C) >= 50.0f) { - BoardModelMotionStartEndSet(arg0->unk0C, 0x32, 0x96); + BoardModelMotionStartEndSet(arg0->unk0C, 50, 150); arg0->unk00_field2 = 1; } } @@ -520,7 +518,7 @@ static void ShrinkGiveStar(GiveStarWork *arg0, omObjData *arg1) { arg1->scale.y = arg1->scale.x; arg1->scale.z = arg1->scale.x; } else { - omVibrate(arg0->unk00_field3, 0xC, 0xC, 0); + omVibrate(arg0->unk00_field3, 12, 0xC, 0); arg0->unk00_field0 = 1; arg0->unk01 = 4; arg1->scale.x = arg1->scale.y = arg1->scale.z = 0.001f; @@ -542,7 +540,7 @@ static void InitGiveStarEffect(void) { s16 temp_r3; void *var_r30; - var_r30 = HuDataSelHeapReadNum(0x120001, MEMORY_DEFAULT_NUM, HEAP_DATA); + var_r30 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 1), MEMORY_DEFAULT_NUM, HEAP_DATA); starEffAnim = HuSprAnimRead(var_r30); starParman = Hu3DParManCreate(starEffAnim, 0x64, &starEffParam); Hu3DParManAttrSet(starParman, 0x64); @@ -550,7 +548,7 @@ static void InitGiveStarEffect(void) { temp_r3 = Hu3DParManModelIDGet(starParman); Hu3DParticleBlendModeSet(temp_r3, 1); Hu3DModelLayerSet(temp_r3, 2); - HuDataDirClose(0x120000); + HuDataDirClose(DATADIR_EFFECT); } static void KillGiveStarEffect(void) { @@ -579,7 +577,7 @@ static inline void StarInlineFunc02(void) { GiveStarWork *temp_r29 = OM_GET_WORK_PTR(giveStarObj, GiveStarWork); temp_r29->unk00_field1 = 1; - temp_r29->unk04 = 0x2D; + temp_r29->unk04 = 45; temp_r29->unk08 = 0; temp_r29->unk01 = 2; } @@ -605,7 +603,7 @@ void BoardStarGive(s32 arg0, Vec *arg1) { temp_r31->unk06 = 0; temp_r31->unk02 = 0; temp_r31->unk08 = 0; - temp_r31->unk0C = BoardModelCreate(0x7000B, NULL, 0); + temp_r31->unk0C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 11), NULL, 0); BoardModelVisibilitySet(temp_r31->unk0C, 0); BoardModelPassSet(temp_r31->unk0C, 0); BoardModelMotionSpeedSet(temp_r31->unk0C, 0.0f); @@ -628,7 +626,7 @@ void BoardStarGive(s32 arg0, Vec *arg1) { HuAudFXPlay(boardStarSndTbl[GWPlayer[arg0].character]); BoardPlayerStarsAdd(arg0, 1); HuAudFXPlay(8); - HuPrcSleep(0xA); + HuPrcSleep(10); if (_CheckFlag(0x1000B)) { BoardPlayerMotionEndWait(arg0); } else { @@ -665,12 +663,12 @@ void BoardStarShowNext(s32 arg0) { var_r26 = &wipeData; if (var_r26->mode == 0) { WipeColorSet(0, 0, 0); - WipeCreate(2, 0, 0x15); + WipeCreate(2, 0, 21); while (WipeStatGet() != 0) { HuPrcVSleep(); } } else { - HuPrcSleep(0x12); + HuPrcSleep(18); } BoardStatusItemSet(0); if (GWBoardGet() == 5 && BoardRollTypeGet() != 9 && boardStarGiveHook) { @@ -729,7 +727,7 @@ void BoardStarShowNext(s32 arg0) { BoardCameraMotionWait(); BoardCameraMoveSet(1); HuPrcSleep(1); - WipeCreate(1, 0, 0x15); + WipeCreate(1, 0, 21); while (WipeStatGet() != 0) { HuPrcVSleep(); } @@ -744,7 +742,7 @@ void BoardStarShowNext(s32 arg0) { while (!BoardViewMoveCheck()) { HuPrcVSleep(); } - HuPrcSleep(0x1E); + HuPrcSleep(30); BoardWinKill(); HuPrcSleep(3); if (var_r28 == 0) { @@ -758,9 +756,9 @@ void BoardStarShowNext(s32 arg0) { if (GWBoardGet() == 5 && BoardRollTypeGet() != 9 && boardStarShowNextHook) { boardStarShowNextHook(); } - BoardAudSeqFadeOut(1, 0x3E8); + BoardAudSeqFadeOut(1, 1000); WipeColorSet(0, 0, 0); - WipeCreate(2, 0, 0x15); + WipeCreate(2, 0, 21); while (WipeStatGet() != 0) { HuPrcVSleep(); } @@ -776,7 +774,7 @@ void BoardStarShowNext(s32 arg0) { BoardCameraMotionWait(); BoardCameraMoveSet(1); BoardStatusItemSet(1); - WipeCreate(1, 0, 0x15); + WipeCreate(1, 0, 21); while (WipeStatGet() != 0) { HuPrcVSleep(); } diff --git a/src/game/board/start.c b/src/game/board/start.c index 0487136c..0f0ea6a7 100755 --- a/src/game/board/start.c +++ b/src/game/board/start.c @@ -293,7 +293,7 @@ static void FocusStart(void) { sp8.x = -22.0f; sp8.y = 0.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(camFocus, &sp8, 0, 1500.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(camFocus, &sp8, NULL, 1500.0f, -1.0f, 21); } static void CreatePlayerStart(void) { diff --git a/src/game/board/view.c b/src/game/board/view.c index ddc738a8..edbe9ccb 100755 --- a/src/game/board/view.c +++ b/src/game/board/view.c @@ -364,7 +364,7 @@ static void SetTargetView(void) { sp8.x = -45.0f; sp8.y = 0.0f; sp8.z = 0.0f; - BoardCameraMotionStartEx(focusMdl, &sp8, NULL, 3000.0f, -1.0f, 0x15); + BoardCameraMotionStartEx(focusMdl, &sp8, NULL, 3000.0f, -1.0f, 21); BoardCameraMotionWait(); } else { BoardModelPosSet(focusMdl, 0.0f, 0.0f, 0.0f); diff --git a/src/game/hsfanim.c b/src/game/hsfanim.c index 0c45106f..a04903fb 100755 --- a/src/game/hsfanim.c +++ b/src/game/hsfanim.c @@ -74,7 +74,7 @@ s16 Hu3DAnimCreate(void *arg0, s16 arg1, char *arg2) { var_r29 = temp_r27->attribute; for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) { if (strcmp(arg2, var_r29->bitmap->name) == 0) { - if (var_r29->unk04 == 0) { + if (!var_r29->unk04) { var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg1].unk_48); var_r29->unk04 = var_r30; var_r30->unk00 = 0; @@ -92,7 +92,7 @@ s16 Hu3DAnimCreate(void *arg0, s16 arg1, char *arg2) { OSReport("Error: Not Found TexAnim Name\n"); return -1; } - if (arg0 == 0) { + if (!arg0) { var_r31->unk10 = NULL; } else { var_r31->unk10 = HuSprAnimRead(arg0); @@ -131,7 +131,7 @@ s16 Hu3DAnimLink(s16 arg0, s16 arg1, char *arg2) { var_r29 = temp_r27->attribute; for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) { if (strcmp(arg2, var_r29->bitmap->name) == 0) { - if (var_r29->unk04 == 0) { + if (!var_r29->unk04) { var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg1].unk_48); var_r29->unk04 = var_r30; } else { @@ -234,7 +234,7 @@ void Hu3DAnimBankSet(s16 arg0, s32 arg1) { temp_r31->unk04 = temp_r31->unk08 = 0.0f; } -void Hu3DAnmNoSet(s16 arg0, s32 arg1) { +void Hu3DAnmNoSet(s16 arg0, u16 arg1) { Hu3DTexAnimDataStruct *temp_r31 = &Hu3DTexAnimData[arg0]; temp_r31->unk04 = arg1; @@ -378,7 +378,7 @@ s16 Hu3DTexScrollCreate(s16 arg0, char *arg1) { var_r29 = temp_r27->attribute; for (i = var_r25 = 0; i < temp_r27->attributeCnt; i++, var_r29++) { if (strcmp(arg1, var_r29->bitmap->name) == 0) { - if (var_r29->unk04 == 0) { + if (!var_r29->unk04) { var_r30 = HuMemDirectMallocNum(HEAP_DATA, sizeof(HsfanimStruct01), (u32) Hu3DData[arg0].unk_48); var_r29->unk04 = var_r30; var_r30->unk00 = 0; @@ -865,7 +865,7 @@ s16 Hu3DParManCreate(AnimData *arg0, s16 arg1, HsfanimStruct00 *arg2) { s16 var_r30; for (var_r30 = 0; var_r30 < 64; var_r30++) { - if (parManProc[var_r30] == 0) { + if (!parManProc[var_r30]) { break; } } @@ -907,7 +907,7 @@ s16 Hu3DParManLink(s16 arg0, HsfanimStruct00 *arg1) { s16 var_r30; for (var_r30 = 0; var_r30 < 64; var_r30++) { - if (parManProc[var_r30] == 0) { + if (!parManProc[var_r30]) { break; } }