Merge branch 'Rainchus:main' into main

This commit is contained in:
CreateSource 2024-04-05 17:20:35 -04:00 committed by GitHub
commit 94c5d3fc28
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 2523 additions and 639 deletions

View file

@ -197,17 +197,17 @@ lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float
lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float
lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float
lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float
lbl_1_data_0 = .data:0x00000000; // type:object size:0x100
lbl_1_data_100 = .data:0x00000100; // type:object size:0x20
lbl_1_data_120 = .data:0x00000120; // type:object size:0x19 data:string

View file

@ -31,70 +31,70 @@ fn_1_927C = .text:0x0000927C; // type:function size:0x138
fn_1_93B4 = .text:0x000093B4; // type:function size:0x78
_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:0x8 data:double
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float
lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float
lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float
lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float
lbl_1_rodata_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:0x4 data:float
lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x10 data:4byte
lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float
lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float
lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:float
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float
lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float
lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float
lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float
lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float
lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_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:0x4 scope:local data:float
lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x10 scope:local data:4byte
lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 scope:local data:double
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float
lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float
lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local 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
@ -132,25 +132,25 @@ lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double
lbl_1_data_0 = .data:0x00000000; // type:object size:0x2A4
lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0xDC data:4byte
lbl_1_data_380 = .data:0x00000380; // type:object size:0x2 data:2byte
lbl_1_data_382 = .data:0x00000382; // type:object size:0x26 data:string
lbl_1_data_382 = .data:0x00000382; // type:object size:0x26 scope:local data:string
lbl_1_data_3A8 = .data:0x000003A8; // type:object size:0x18
lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x18
lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x20
lbl_1_data_3F8 = .data:0x000003F8; // type:object size:0x10
lbl_1_data_408 = .data:0x00000408; // type:object size:0x30
lbl_1_data_438 = .data:0x00000438; // type:object size:0x10
lbl_1_data_448 = .data:0x00000448; // type:object size:0x8
lbl_1_data_448 = .data:0x00000448; // type:object size:0x8 scope:local
lbl_1_data_450 = .data:0x00000450; // type:object size:0x18
lbl_1_data_468 = .data:0x00000468; // type:object size:0x20
lbl_1_data_488 = .data:0x00000488; // type:object size:0x30
lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0x11 data:string
lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0x11 data:string
lbl_1_data_4DA = .data:0x000004DA; // type:object size:0xB data:string
lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0x11 scope:local data:string
lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0x11 scope:local data:string
lbl_1_data_4DA = .data:0x000004DA; // type:object size:0xB scope:local data:string
lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x270
lbl_1_data_758 = .data:0x00000758; // type:object size:0x28
lbl_1_data_780 = .data:0x00000780; // type:object size:0x70
@ -188,7 +188,8 @@ lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x4 data:4byte
lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte
lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x2 data:2byte
lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x4 data:4byte
lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x8 data:4byte
lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x4 data:4byte
lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte
lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte
lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x1680
lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x14

View file

@ -76,24 +76,24 @@ fn_1_6A0C = .text:0x00006A0C; // type:function size:0x240 scope:local
fn_1_6C4C = .text:0x00006C4C; // type:function size:0x244 scope:local
fn_1_6E90 = .text:0x00006E90; // type:function size:0x60 scope:local
fn_1_6EF0 = .text:0x00006EF0; // type:function size:0x90
fn_1_6F80 = .text:0x00006F80; // type:function size:0x290
fn_1_7210 = .text:0x00007210; // type:function size:0x94
fn_1_72A4 = .text:0x000072A4; // type:function size:0x28
fn_1_72CC = .text:0x000072CC; // type:function size:0x120
fn_1_73EC = .text:0x000073EC; // type:function size:0xD0
fn_1_74BC = .text:0x000074BC; // type:function size:0xB8
fn_1_7574 = .text:0x00007574; // type:function size:0x100
fn_1_7674 = .text:0x00007674; // type:function size:0xEC
fn_1_7760 = .text:0x00007760; // type:function size:0x1E4
fn_1_7944 = .text:0x00007944; // type:function size:0x26C
fn_1_6F80 = .text:0x00006F80; // type:function size:0x290 scope:local
fn_1_7210 = .text:0x00007210; // type:function size:0x94 scope:local
fn_1_72A4 = .text:0x000072A4; // type:function size:0x28 scope:local
fn_1_72CC = .text:0x000072CC; // type:function size:0x120 scope:local
fn_1_73EC = .text:0x000073EC; // type:function size:0xD0 scope:local
fn_1_74BC = .text:0x000074BC; // type:function size:0xB8 scope:local
fn_1_7574 = .text:0x00007574; // type:function size:0x100 scope:local
fn_1_7674 = .text:0x00007674; // type:function size:0xEC scope:local
fn_1_7760 = .text:0x00007760; // type:function size:0x1E4 scope:local
fn_1_7944 = .text:0x00007944; // type:function size:0x26C scope:local
fn_1_7BB0 = .text:0x00007BB0; // type:function size:0x38C
fn_1_7F3C = .text:0x00007F3C; // type:function size:0x68
fn_1_7FA4 = .text:0x00007FA4; // type:function size:0x2C0
fn_1_8264 = .text:0x00008264; // type:function size:0xBC
fn_1_8320 = .text:0x00008320; // type:function size:0x100
fn_1_8420 = .text:0x00008420; // type:function size:0x70
fn_1_8490 = .text:0x00008490; // type:function size:0x5C8
fn_1_8A58 = .text:0x00008A58; // type:function size:0x4C8
fn_1_8320 = .text:0x00008320; // type:function size:0x100 scope:local
fn_1_8420 = .text:0x00008420; // type:function size:0x70 scope:local
fn_1_8490 = .text:0x00008490; // type:function size:0x5C8 scope:local
fn_1_8A58 = .text:0x00008A58; // type:function size:0x4C8 scope:local
fn_1_8F20 = .text:0x00008F20; // type:function size:0x2B8
fn_1_91D8 = .text:0x000091D8; // type:function size:0xBC
fn_1_9294 = .text:0x00009294; // type:function size:0x44
@ -205,31 +205,31 @@ lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:
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:0x8 scope:local data:float
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float
lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float
lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float
lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float
lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float
lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float
lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float
lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float
lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float
lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float
lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float
lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:float
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size: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:0x8 scope:local data:double
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float
lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float
lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:float
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float
lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float
lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float
@ -288,37 +288,37 @@ lbl_1_data_1DA = .data:0x000001DA; // type:object size:0x2 scope:local data:2byt
lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x2 scope:local data:2byte
lbl_1_data_1DE = .data:0x000001DE; // type:object size:0x3 scope:local data:string
lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x20 scope:local
lbl_1_data_208 = .data:0x00000208; // type:object size:0x20
lbl_1_data_228 = .data:0x00000228; // type:object size:0x1 data:byte
lbl_1_data_22A = .data:0x0000022A; // type:object size:0x2 data:2byte
lbl_1_data_22C = .data:0x0000022C; // type:object size:0x2 data:2byte
lbl_1_data_230 = .data:0x00000230; // type:object size:0x38
lbl_1_data_268 = .data:0x00000268; // type:object size:0x5 data:string
lbl_1_data_26D = .data:0x0000026D; // type:object size:0xE
lbl_1_data_27B = .data:0x0000027B; // type:object size:0x4
lbl_1_data_27F = .data:0x0000027F; // type:object size:0x8
lbl_1_data_287 = .data:0x00000287; // type:object size:0x12 data:string
lbl_1_data_299 = .data:0x00000299; // type:object size:0x11 data:string
lbl_1_data_2AA = .data:0x000002AA; // type:object size:0x18 data:string
lbl_1_data_2C2 = .data:0x000002C2; // type:object size:0x17 data:string
lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x16 data:string
lbl_1_data_2EF = .data:0x000002EF; // type:object size:0x10 data:string
lbl_1_data_2FF = .data:0x000002FF; // type:object size:0x10 data:string
lbl_1_data_30F = .data:0x0000030F; // type:object size:0x11 data:string
lbl_1_data_320 = .data:0x00000320; // type:object size:0x15 data:string
lbl_1_data_335 = .data:0x00000335; // type:object size:0x15 data:string
lbl_1_data_34A = .data:0x0000034A; // type:object size:0x10 data:string
lbl_1_data_35A = .data:0x0000035A; // type:object size:0x13 data:string
lbl_1_data_36D = .data:0x0000036D; // type:object size:0x13 data:string
lbl_1_data_380 = .data:0x00000380; // type:object size:0x11 data:string
lbl_1_data_394 = .data:0x00000394; // type:object size:0x38
lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x4C
lbl_1_data_418 = .data:0x00000418; // type:object size:0x2 data:2byte
lbl_1_data_41C = .data:0x0000041C; // type:object size:0x18
lbl_1_data_434 = .data:0x00000434; // type:object size:0x18
lbl_1_data_44C = .data:0x0000044C; // type:object size:0xC
lbl_1_data_458 = .data:0x00000458; // type:object size:0x20
lbl_1_data_478 = .data:0x00000478; // type:object size:0x20
lbl_1_data_208 = .data:0x00000208; // type:object size:0x20 scope:local
lbl_1_data_228 = .data:0x00000228; // type:object size:0x1 scope:local data:byte
lbl_1_data_22A = .data:0x0000022A; // type:object size:0x2 scope:local data:2byte
lbl_1_data_22C = .data:0x0000022C; // type:object size:0x2 scope:local data:2byte
lbl_1_data_230 = .data:0x00000230; // type:object size:0x38 scope:local
lbl_1_data_268 = .data:0x00000268; // type:object size:0x5 scope:local data:string
lbl_1_data_26D = .data:0x0000026D; // type:object size:0xE scope:local data:byte
lbl_1_data_27B = .data:0x0000027B; // type:object size:0x4 scope:local data:byte
lbl_1_data_27F = .data:0x0000027F; // type:object size:0x8 scope:local data:byte
lbl_1_data_287 = .data:0x00000287; // type:object size:0x12 scope:local data:string
lbl_1_data_299 = .data:0x00000299; // type:object size:0x11 scope:local data:string
lbl_1_data_2AA = .data:0x000002AA; // type:object size:0x18 scope:local data:string
lbl_1_data_2C2 = .data:0x000002C2; // type:object size:0x17 scope:local data:string
lbl_1_data_2D9 = .data:0x000002D9; // type:object size:0x16 scope:local data:string
lbl_1_data_2EF = .data:0x000002EF; // type:object size:0x10 scope:local data:string
lbl_1_data_2FF = .data:0x000002FF; // type:object size:0x10 scope:local data:string
lbl_1_data_30F = .data:0x0000030F; // type:object size:0x11 scope:local data:string
lbl_1_data_320 = .data:0x00000320; // type:object size:0x15 scope:local data:string
lbl_1_data_335 = .data:0x00000335; // type:object size:0x15 scope:local data:string
lbl_1_data_34A = .data:0x0000034A; // type:object size:0x10 scope:local data:string
lbl_1_data_35A = .data:0x0000035A; // type:object size:0x13 scope:local data:string
lbl_1_data_36D = .data:0x0000036D; // type:object size:0x13 scope:local data:string
lbl_1_data_380 = .data:0x00000380; // type:object size:0x11 scope:local data:string
lbl_1_data_394 = .data:0x00000394; // type:object size:0x38 scope:local
lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x4C scope:local
lbl_1_data_418 = .data:0x00000418; // type:object size:0x2 scope:local data:2byte
lbl_1_data_41C = .data:0x0000041C; // type:object size:0x18 scope:local
lbl_1_data_434 = .data:0x00000434; // type:object size:0x18 scope:local
lbl_1_data_44C = .data:0x0000044C; // type:object size:0xC scope:local
lbl_1_data_458 = .data:0x00000458; // type:object size:0x20 scope:local
lbl_1_data_478 = .data:0x00000478; // type:object size:0x20 scope:local
lbl_1_data_498 = .data:0x00000498; // type:object size:0x2 data:2byte
lbl_1_data_49A = .data:0x0000049A; // type:object size:0x2 data:2byte
lbl_1_data_49C = .data:0x0000049C; // type:object size:0x2 data:2byte
@ -356,19 +356,19 @@ lbl_1_bss_59 = .bss:0x00000059; // type:object size:0x1 scope:local data:byte
lbl_1_bss_5A = .bss:0x0000005A; // type:object size:0x1 scope:local data:byte
lbl_1_bss_5B = .bss:0x0000005B; // type:object size:0x31 scope:local
lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x28 data:4byte
lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte
lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 data:4byte
lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x2 data:2byte
lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x4
lbl_1_bss_C6 = .bss:0x000000C6; // type:object size:0x1 data:byte
lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 data:4byte
lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 data:4byte
lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x6
lbl_1_bss_D6 = .bss:0x000000D6; // type:object size:0xC
lbl_1_bss_E2 = .bss:0x000000E2; // type:object size:0x2 data:2byte
lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x2 data:2byte
lbl_1_bss_E6 = .bss:0x000000E6; // type:object size:0x1 data:byte
lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_B8 = .bss:0x000000B8; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_BC = .bss:0x000000BC; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_C0 = .bss:0x000000C0; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x4 scope:local
lbl_1_bss_C6 = .bss:0x000000C6; // type:object size:0x1 scope:local data:byte
lbl_1_bss_C8 = .bss:0x000000C8; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_CC = .bss:0x000000CC; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_D0 = .bss:0x000000D0; // type:object size:0x6 scope:local
lbl_1_bss_D6 = .bss:0x000000D6; // type:object size:0xC scope:local
lbl_1_bss_E2 = .bss:0x000000E2; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_E6 = .bss:0x000000E6; // type:object size:0x1 scope:local data:byte
lbl_1_bss_E8 = .bss:0x000000E8; // type:object size:0x4 data:4byte
lbl_1_bss_EC = .bss:0x000000EC; // type:object size:0x4 data:4byte
lbl_1_bss_F0 = .bss:0x000000F0; // type:object size:0x4 data:4byte

View file

@ -972,14 +972,14 @@ SLSaveDataMake = .text:0x80058860; // type:function size:0x154
SLSaveDataInfoSet = .text:0x800589B4; // type:function size:0x218
SLCommonSet = .text:0x80058BCC; // type:function size:0x254
SLSaveBoard = .text:0x80058E20; // type:function size:0x8C
SLSaveBoardBackup = .text:0x80058EAC; // type:function size:0x8C
SLSaveBoardStory = .text:0x80058EAC; // type:function size:0x8C
SLSave = .text:0x80058F38; // type:function size:0x380
SLCreateSaveWin = .text:0x800592B8; // type:function size:0xDC scope:local
SLKillSaveWin = .text:0x80059394; // type:function size:0x48 scope:local
SLLoad = .text:0x800593DC; // type:function size:0x110
SLLoadGameStat = .text:0x800594EC; // type:function size:0x38
SLLoadBoard = .text:0x80059524; // type:function size:0x1A0
SLLoadBoardBackup = .text:0x800596C4; // type:function size:0x184
SLLoadBoardStory = .text:0x800596C4; // type:function size:0x184
SLSerialNoGet = .text:0x80059848; // type:function size:0x28
SLSerialNoCheck = .text:0x80059870; // type:function size:0xA0
SLCheckSumCheck = .text:0x80059910; // type:function size:0x60

View file

@ -841,7 +841,7 @@ config.libs = [
Object(Matching, "REL/m407dll/whomp_score.c"),
Object(Matching, "REL/m407dll/effect.c"),
Object(Matching, "REL/m407dll/main.c"),
Object(NonMatching, "REL/m407dll/score.c"),
Object(Matching, "REL/m407dll/score.c"),
}
),
Rel('m408Dll',
@ -1053,9 +1053,9 @@ config.libs = [
Rel('resultDll',
objects = {
Object(Matching, "REL/executor.c"),
Object(NonMatching, "REL/resultDll/main.c"),
Object(Matching, "REL/resultDll/main.c"),
Object(NonMatching, "REL/resultDll/battle.c"),
Object(NonMatching, "REL/resultDll/datalist.c"),
Object(Matching, "REL/resultDll/datalist.c"),
}
),
Rel('safDll',
@ -1141,8 +1141,8 @@ config.libs = [
Object(Matching, "REL/w06Dll/main.c"),
Object(Matching, "REL/w06Dll/mg_item.c"),
Object(Matching, "REL/w06Dll/mg_coin.c"),
Object(NonMatching, "REL/w06Dll/fire.c"),
Object(NonMatching, "REL/w06Dll/bridge.c"),
Object(Matching, "REL/w06Dll/fire.c"),
Object(Matching, "REL/w06Dll/bridge.c"),
Object(NonMatching, "REL/w06Dll/bowser.c"),
}
),

41
include/REL/resultdll.h Normal file
View file

@ -0,0 +1,41 @@
#ifndef RESULTDLL_H
#define RESULTDLL_H
#include "game/data.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/sprite.h"
typedef struct datalist_model {
s32 datanum;
u32 attr;
s16 type;
s16 link;
s16 mot_link;
Vec pos;
Vec rot;
Vec scale;
} DataListModel;
typedef struct datalist_sprite {
u32 datanum;
s16 attr;
s16 prio;
float x;
float y;
GXColor color;
} DataListSprite;
void fn_1_6490(void);
void fn_1_8FF8(DataListModel *model_list);
void fn_1_927C(DataListSprite *sprite_list);
void fn_1_93B4(void);
extern s16 lbl_1_bss_1A9C[32];
extern s16 lbl_1_bss_1A5C[32];
extern s16 lbl_1_bss_1A1A[33];
extern s16 lbl_1_bss_1A18;
#endif

View file

@ -7,6 +7,16 @@ enum {
MAPOBJ_MAX = 6
};
typedef struct {
struct {
u8 unk00_field0 : 1;
u8 unk00_field1 : 1;
u8 unk00_field2 : 1;
};
s8 unk01;
s8 unk02;
} UnkW06BoardData;
extern void fn_1_D70(void);
extern void fn_1_F6C(void);
extern void fn_1_1054(void); // return s32?
@ -19,6 +29,7 @@ extern void fn_1_6EF0(void); // return s32?
extern void fn_1_7BB0(void);
extern void fn_1_7F3C(void);
extern void fn_1_7FA4(void);
extern void fn_1_8264(s32 arg0, s16 arg1);
extern void fn_1_8F20(void);
@ -31,6 +42,6 @@ extern void fn_1_CC90(void);
extern void fn_1_CD0C(void);
extern s16 lbl_1_bss_C[MAPOBJ_MAX];
extern void *lbl_1_bss_0;
extern UnkW06BoardData *lbl_1_bss_0;
#endif

View file

@ -58,8 +58,8 @@ void HuAudSndCommonGrpSet(s16 arg0, s32 arg1);
void HuAudAUXSet(s32 arg0, s32 arg1);
void HuAudAUXVolSet(s8 arg0, s8 arg1);
void HuAudVoiceInit(s16 ovl);
void HuAudPlayerVoicePlay(s16 arg0, s16 arg1);
void HuAudPlayerVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2);
s32 HuAudPlayerVoicePlay(s16 arg0, s16 arg1);
s32 HuAudPlayerVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2);
void HuAudPlayerVoicePlayEntry(s16 arg0, s16 arg1);
s32 HuAudCharVoicePlay(s16 arg0, s16 arg1);
s32 HuAudCharVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2);

View file

@ -234,6 +234,11 @@ static inline void GWLuckyValueSet(s32 value)
GWSystem.lucky_value = value;
}
static inline s16 GWPlayerCoinBattleGet(s32 player)
{
return GWPlayer[player].coins_battle;
}
static inline s16 GWPlayerCoinCollectGet(s32 player)
{
return GWPlayer[player].coin_collect;

View file

@ -15,8 +15,8 @@ typedef struct save_buf_data {
GameStat stat;
SystemState system;
PlayerState player[4];
SystemState systemBackup;
PlayerState playerBackup[4];
SystemState systemStory;
PlayerState playerStory[4];
} SaveBufData;
typedef union save_buf_all {
@ -24,7 +24,12 @@ typedef union save_buf_all {
u8 ATTRIBUTE_ALIGN(32) buf[SAVE_BUF_SIZE];
} SaveBufAll;
extern CARDFileInfo curFileInfo;
extern SaveBufAll saveBuf;
extern u64 SLSerialNo;
extern s32 saveExecF;
extern u8 curBoxNo;
extern s16 curSlotNo;
s32 SLFileOpen(char *fileName);
s32 SLFileCreate(char *fileName, u32 size, void *addr);
@ -39,12 +44,12 @@ void SLSaveDataMake(s32 erase, OSTime *time);
void SLSaveDataInfoSet(OSTime *time);
void SLCommonSet(void);
void SLSaveBoard(void);
void SLSaveBoardBackup(void);
void SLSaveBoardStory(void);
s32 SLSave(void);
s32 SLLoad(void);
void SLLoadGameStat(void);
void SLLoadBoard(void);
void SLLoadBoardBackup(void);
void SLLoadBoardStory(void);
void SLSerialNoGet(void);
BOOL SLSerialNoCheck(void);
BOOL SLCheckSumCheck(void);

188
src/REL/m407dll/score.c Normal file
View file

@ -0,0 +1,188 @@
#include "game/process.h"
#include "game/object.h"
#include "game/esprite.h"
typedef struct unkDominationData6 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s16 unk_08;
/* 0x0A */ s16 unk_0A;
/* 0x0C */ s16 unk_0C[8]; //what size is this??
/* 0x1C */ s32 unk_1C;
/* 0x20 */ f32 unk_20;
} unkDominationData6; //sizeof 0x24
//func signatures
void fn_1_61A0(void);
void fn_1_6218(void);
void fn_1_62A0(void);
void fn_1_5FE4(omObjData* arg0);
void fn_1_5FB4(s32 arg0);
s16 fn_1_28D4(void);
//bss
Process* lbl_1_bss_398C;
omObjData* lbl_1_bss_3988;
//data
typedef void (*ObjFuncs)(void);
ObjFuncs lbl_1_data_360[] = {
fn_1_61A0,
fn_1_6218,
fn_1_62A0
};
void fn_1_5C5C(Process* arg0, s16 arg1) {
unkDominationData6* temp_r31;
u32 i;
lbl_1_bss_398C = arg0;
lbl_1_bss_3988 = omAddObjEx(lbl_1_bss_398C, 0x800, 0U, 0U, 7, fn_1_5FE4);
lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x24, 0x10000000U);
temp_r31 = lbl_1_bss_3988->data;
temp_r31->unk_08 = arg1;
temp_r31->unk_0A = 0;
temp_r31->unk_0C[6] = espEntry(0x260025, 2, 0);
espTPLvlSet(temp_r31->unk_0C[6], 0.5f);
espPosSet(temp_r31->unk_0C[6], 508.0f, 64.0f);
temp_r31->unk_0C[7] = espEntry(0x260022, 1, 0);
espPosSet(temp_r31->unk_0C[7], 480.0f, 56.0f);
for (i = 0; i < 3; i++) {
temp_r31->unk_0C[i] = espEntry(0x26001F, 0, 0);
espPosSet(temp_r31->unk_0C[i], i * 16 + 0x1F4, 56.0f);
espDispOff(temp_r31->unk_0C[i]);
}
for (i = 0; i < 3; i++) {
temp_r31->unk_0C[i+3] = espEntry(0x260020, 1, 0);
espPosSet(temp_r31->unk_0C[i+3], i * 16 + 0x1F4, 74.0f);
}
for (i = 0; i < 8; i++) {
espDispOff(temp_r31->unk_0C[i]);
}
fn_1_5FB4(0);
}
void fn_1_5ECC(void) {
s32 i;
unkDominationData6* temp_r30;
temp_r30 = lbl_1_bss_3988->data;
for (i = 0; i < 7; i++) {
espKill(temp_r30->unk_0C[i]);
}
HuMemDirectFree(lbl_1_bss_3988->data);
}
void fn_1_5F40(s32 arg0) {
switch (arg0) {
case 0:
fn_1_5FB4(1);
break;
case 1:
fn_1_5FB4(2);
break;
}
}
void fn_1_5F90(void) {
fn_1_5FB4(0);
}
//this function is an inline for other TUs, but not this one
void fn_1_5FB4(s32 arg0) {
unkDominationData6* temp_r31;
temp_r31 = lbl_1_bss_3988->data;
temp_r31->unk_00 = arg0;
temp_r31->unk_04 = 0;
}
void fn_1_5FE4(omObjData* arg0) {
s16 temp_r31;
unkDominationData6* temp_r30;
temp_r30 = lbl_1_bss_3988->data;
lbl_1_data_360[temp_r30->unk_00]();
temp_r31 = temp_r30->unk_08;
espBankSet(temp_r30->unk_0C[0], temp_r31 / 100);
temp_r31 = (temp_r31 - ((temp_r31 / 100) * 100));
espBankSet(temp_r30->unk_0C[1], (temp_r31 / 10));
temp_r31 = (temp_r31 - ((temp_r31 / 10) * 10));
espBankSet(temp_r30->unk_0C[2], temp_r31);
temp_r31 = temp_r30->unk_0A;
espBankSet(temp_r30->unk_0C[3], (temp_r31 / 100));
temp_r31 = (temp_r31 - ((temp_r31 / 100) * 100));
espBankSet(temp_r30->unk_0C[4], (temp_r31 / 10));
temp_r31 = (temp_r31 - ((temp_r31 / 10) * 10));
espBankSet(temp_r30->unk_0C[5], temp_r31);
}
void fn_1_61A0(void) {
s32 i;
unkDominationData6* temp_r31;
temp_r31 = lbl_1_bss_3988->data;
if (temp_r31->unk_04 == 0) {
for (i = 0; i < 8; i++) {
espDispOff(temp_r31->unk_0C[i]);
}
temp_r31->unk_04++;
}
}
void fn_1_6218(void) {
s16 i;
unkDominationData6* temp_r31;
temp_r31 = lbl_1_bss_3988->data;
if (temp_r31->unk_04 == 0) {
for (i = 0; i < 8; i++) {
espDispOn(temp_r31->unk_0C[i]);
}
temp_r31->unk_04++;
}
temp_r31->unk_0A = fn_1_28D4();
}
void fn_1_62A0(void) {
s32 i;
unkDominationData6* temp_r31;
temp_r31 = lbl_1_bss_3988->data;
if (temp_r31->unk_04 == 0) {
temp_r31->unk_1C = 0;
temp_r31->unk_20 = 1.0f;
if (temp_r31->unk_0A > temp_r31->unk_08) {
temp_r31->unk_08 = temp_r31->unk_0A;
}
temp_r31->unk_04++;
}
if (temp_r31->unk_1C == 0) {
if ((temp_r31->unk_20 += 0.02f) >= 1.2f) {
temp_r31->unk_20 = 1.2f;
temp_r31->unk_1C = 1;
}
} else {
if ((temp_r31->unk_20 -= 0.04f) <= 1.0f) {
temp_r31->unk_20 = 1.0f;
temp_r31->unk_1C = 0;
}
}
for (i = 0; i <= 2; i++) {
espScaleSet(temp_r31->unk_0C[i], temp_r31->unk_20, temp_r31->unk_20);
}
espScaleSet(temp_r31->unk_0C[7], temp_r31->unk_20, temp_r31->unk_20);
}

View file

@ -0,0 +1,86 @@
#include "REL/resultdll.h"
s16 lbl_1_bss_1A9C[32];
s16 lbl_1_bss_1A5C[32];
s16 lbl_1_bss_1A1A[33];
s16 lbl_1_bss_1A18;
void fn_1_8FF8(DataListModel *model_list)
{
DataListModel *list;
s16 i;
s16 model;
s16 clear_i;
ModelData *model_ptr;
void *data;
list = model_list;
for(clear_i=0; clear_i<32; clear_i++) {
lbl_1_bss_1A9C[clear_i] = lbl_1_bss_1A5C[clear_i] = -1;
}
for(i=0; list->datanum != 0xFFFFFFFF; list++, i++) {
if(list->type == 0) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
model = Hu3DModelCreate(data);
lbl_1_bss_1A9C[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
model_ptr = &Hu3DData[model];
if(model_ptr->unk_08 != -1) {
lbl_1_bss_1A5C[i] = model_ptr->unk_08;
}
} else if(list->type == 1) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
lbl_1_bss_1A5C[i] = Hu3DJointMotion(lbl_1_bss_1A9C[list->mot_link], data);
}
(void)i;
}
list = model_list;
for(i=0; list->datanum != 0xFFFFFFFF; list++, i++) {
if(list->type == 2) {
model = Hu3DModelLink(lbl_1_bss_1A9C[list->link]);
lbl_1_bss_1A9C[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
}
if(list->mot_link != -1) {
Hu3DMotionSet(lbl_1_bss_1A9C[i], lbl_1_bss_1A5C[list->mot_link]);
}
(void)i;
}
}
void fn_1_927C(DataListSprite *sprite_list)
{
DataListSprite *list;
s16 sprite;
s16 clear_i;
s16 i;
list = sprite_list;
for(clear_i=0; clear_i<32; clear_i++) {
lbl_1_bss_1A1A[clear_i] = -1;
}
for(i=0; list->datanum; i++, list++) {
sprite = espEntry(list->datanum, 100, 0);
lbl_1_bss_1A1A[i] = sprite;
espPosSet(sprite, list->x, list->y);
espColorSet(sprite, list->color.r, list->color.g, list->color.b);
espTPLvlSet(sprite, list->color.a/255.0f);
espPriSet(sprite, list->prio);
espAttrSet(sprite, list->attr);
}
}
void fn_1_93B4(void)
{
s16 i;
for(i=0; i<32; i++) {
if(lbl_1_bss_1A1A[i] != -1) {
espKill(lbl_1_bss_1A1A[i]);
}
}
}

File diff suppressed because it is too large Load diff

403
src/REL/w06Dll/bridge.c Executable file
View file

@ -0,0 +1,403 @@
#include "REL/w06Dll.h"
#include "game/audio.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "game/object.h"
#include "game/objsub.h"
#include "game/process.h"
#include "game/window.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/board/window.h"
#include "dolphin.h"
#include "math.h"
typedef struct {
struct {
u8 unk00_field0 : 1;
u8 unk00_field1 : 1;
u8 unk00_field2 : 1;
u8 unk00_field3 : 1;
u8 unk00_field4 : 1;
};
u8 unk01;
s8 unk02;
s8 unk03;
s16 unk04;
char unk06[2];
float unk08;
} BssCCWork;
static void fn_1_8320(void);
static void fn_1_8420(void);
static s32 fn_1_8490(s32 arg0, s8 arg1);
static void fn_1_8A58(omObjData *arg0);
static s8 lbl_1_bss_E6;
static s16 lbl_1_bss_E4;
static s16 lbl_1_bss_E2;
static s16 lbl_1_bss_D6[3][2];
static s16 lbl_1_bss_D0[3];
static omObjData *lbl_1_bss_CC;
static Process *lbl_1_bss_C8;
static s16 lbl_1_data_418 = -1;
static float lbl_1_data_41C[][2] = {
{ 90.0f, 180.0f },
{ -90.0f, 0.0f },
{ 180.0f, 0.0f }
};
static s32 lbl_1_data_434[][2] = {
{ 0x00000200, 0x00000100 },
{ 0x00000080, 0x00000040 },
{ 0x00000800, 0x00000400 }
};
static s32 lbl_1_data_44C[] = {
DATA_MAKE_NUM(DATADIR_W06, 3),
DATA_MAKE_NUM(DATADIR_W06, 3),
DATA_MAKE_NUM(DATADIR_W06, 4)
};
static s32 lbl_1_data_458[8] = {
DATA_MAKE_NUM(DATADIR_MARIOMOT, 26),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 26),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 26),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 26),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 26),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 26),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 26),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 26),
};
static s32 lbl_1_data_478[8] = {
DATA_MAKE_NUM(DATADIR_W06, 30),
DATA_MAKE_NUM(DATADIR_W06, 31),
DATA_MAKE_NUM(DATADIR_W06, 32),
DATA_MAKE_NUM(DATADIR_W06, 33),
DATA_MAKE_NUM(DATADIR_W06, 34),
DATA_MAKE_NUM(DATADIR_W06, 35),
DATA_MAKE_NUM(DATADIR_W06, 36),
DATA_MAKE_NUM(DATADIR_W06, 37)
};
void fn_1_7BB0(void) {
Vec sp8;
float var_f29;
BoardSpace *var_r26;
s16 temp_r27;
s32 var_r28;
s32 i;
if (GWSystem.star_pos < 4) {
lbl_1_bss_0->unk00_field2 = 0;
} else {
lbl_1_bss_0->unk00_field2 = 1;
}
for (i = 0; i < 3; i++) {
lbl_1_bss_D0[i] = BoardModelCreate(lbl_1_data_44C[i], NULL, 0);
switch (i) {
case 0:
var_r28 = (lbl_1_bss_0->unk00_field0 != 0) ? 1 : 0;
OSs8tof32(&lbl_1_bss_0->unk01, &var_f29);
break;
case 1:
var_r28 = (lbl_1_bss_0->unk00_field1 != 0) ? 1 : 0;
OSs8tof32(&lbl_1_bss_0->unk02, &var_f29);
break;
case 2:
var_r28 = (lbl_1_bss_0->unk00_field2 != 0) ? 1 : 0;
var_f29 = 0.0f;
break;
}
temp_r27 = BoardSpaceFlagPosGet(0, lbl_1_data_434[i][var_r28], &sp8);
BoardModelPosSetV(lbl_1_bss_D0[i], &sp8);
BoardModelRotYSet(lbl_1_bss_D0[i], lbl_1_data_41C[i][var_r28]);
BoardModelMotionShiftSet(lbl_1_bss_D0[i], 0, 60.0f * var_f29, 0.0f, 0);
HuPrcSleep(2);
BoardModelMotionSpeedSet(lbl_1_bss_D0[i], 0.0f);
lbl_1_bss_D6[i][var_r28] = temp_r27;
temp_r27 = BoardSpaceFlagSearch(0, lbl_1_data_434[i][var_r28 ^ 1]);
var_r26 = BoardSpaceGet(0, temp_r27);
var_r26->flag |= 0x04000000;
lbl_1_bss_D6[i][var_r28 ^ 1] = temp_r27;
}
}
void fn_1_7F3C(void) {
s32 i;
for (i = 0; i < 3; i++) {
BoardModelKill(lbl_1_bss_D0[i]);
lbl_1_bss_D0[i] = -1;
}
}
void fn_1_7FA4(void) {
Vec sp8;
float temp_f31;
BoardSpace *temp_r3;
s16 temp_r30;
s16 temp_r29;
s16 var_r31;
if (GWSystem.star_pos < 4) {
lbl_1_bss_0->unk00_field2 = 0;
} else {
lbl_1_bss_0->unk00_field2 = 1;
}
var_r31 = 2;
temp_r30 = (lbl_1_bss_0->unk00_field2 != 0) ? 1 : 0;
temp_f31 = 0.0f;
temp_r29 = BoardSpaceFlagPosGet(0, lbl_1_data_434[var_r31][temp_r30], &sp8);
BoardModelPosSetV(lbl_1_bss_D0[var_r31], &sp8);
BoardModelRotYSet(lbl_1_bss_D0[var_r31], lbl_1_data_41C[var_r31][temp_r30]);
BoardModelMotionShiftSet(lbl_1_bss_D0[var_r31], 0, 60.0f * temp_f31, 0.0f, 0);
HuPrcSleep(2);
BoardModelMotionSpeedSet(lbl_1_bss_D0[var_r31], 0.0f);
lbl_1_bss_D6[var_r31][temp_r30] = temp_r29;
temp_r29 = BoardSpaceFlagSearch(0, lbl_1_data_434[var_r31][temp_r30]);
temp_r3 = BoardSpaceGet(0, temp_r29);
temp_r3->flag &= ~0x04000000;
temp_r29 = BoardSpaceFlagSearch(0, lbl_1_data_434[var_r31][temp_r30 ^ 1]);
temp_r3 = BoardSpaceGet(0, temp_r29);
temp_r3->flag |= 0x04000000;
lbl_1_bss_D6[var_r31][temp_r30 ^ 1] = temp_r29;
}
void fn_1_8264(s32 arg0, s16 arg1) {
BoardDiceDigit2DShowSet(0);
lbl_1_bss_E6 = arg0;
lbl_1_bss_E4 = arg1;
lbl_1_bss_C8 = HuPrcChildCreate(fn_1_8320, 0x2003, 0x3800, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_C8, fn_1_8420);
while (lbl_1_bss_C8) {
HuPrcVSleep();
}
BoardDiceDigit2DShowSet(1);
}
static void fn_1_8320(void) {
s32 temp_r30;
s8 *var_r31;
BoardSpace *var_r29;
temp_r30 = GWSystem.player_curr;
if (lbl_1_bss_E6 != 0) {
var_r31 = &lbl_1_bss_0->unk02;
} else {
var_r31 = &lbl_1_bss_0->unk01;
}
var_r29 = BoardSpaceGet(0, lbl_1_bss_E4);
lbl_1_bss_E2 = var_r29->link[0];
GWPlayer[temp_r30].space_curr = lbl_1_bss_E2;
fn_1_8490(temp_r30, *var_r31);
(*var_r31)++;
if (*var_r31 >= 3) {
*var_r31 = 0;
}
HuPrcEnd();
}
static void fn_1_8420(void) {
if (lbl_1_data_418 != -1) {
BoardPlayerMotionKill(GWSystem.player_curr, lbl_1_data_418);
lbl_1_data_418 = -1;
}
lbl_1_bss_C8 = NULL;
}
static s32 fn_1_8490(s32 arg0, s8 arg1) {
Vec sp24;
Vec sp18;
Vec spC;
float temp_f30;
float var_f29;
float var_f28;
s32 temp_r27;
omObjData *var_r26;
BssCCWork *temp_r29;
s8 var_r28;
BoardPlayerPosGet(arg0, &sp18);
BoardSpacePosGet(0, lbl_1_bss_E2, &sp24);
PSVECSubtract(&sp24, &sp18, &spC);
temp_f30 = 180.0 * (atan2(spC.x, spC.z) / M_PI);
BoardPlayerMotBlendSet(arg0, temp_f30, 0xF);
while (!BoardPlayerMotBlendCheck(arg0)) {
HuPrcVSleep();
}
BoardPlayerIdleSet(arg0);
HuPrcSleep(11);
temp_r27 = GWPlayer[arg0].character;
switch (arg1) {
case 0:
lbl_1_data_418 = -1;
var_f29 = 60.0f;
var_f28 = 1.0f;
break;
case 1:
lbl_1_data_418 = BoardPlayerMotionCreate(arg0, lbl_1_data_478[temp_r27]);
var_f29 = 50.0f;
var_f28 = 2.5f;
if (GWPlayer[arg0].bowser_suit) {
BoardPlayerIdleSet(arg0);
HuPrcSleep(30);
} else {
BoardPlayerMotionShiftSet(arg0, lbl_1_data_418, 0.0f, 6.0f, 0);
BoardPlayerMotionSpeedSet(arg0, 1.5f);
HuPrcSleep(60);
}
break;
case 2:
lbl_1_data_418 = BoardPlayerMotionCreate(arg0, lbl_1_data_458[temp_r27]);
var_f29 = 40.0f;
var_f28 = 2.0f;
if (GWPlayer[arg0].bowser_suit) {
BoardPlayerIdleSet(arg0);
HuPrcSleep(30);
} else {
BoardPlayerMotionShiftSet(arg0, lbl_1_data_418, 0.0f, 6.0f, 0x40000001);
BoardPlayerMotionSpeedSet(arg0, 3.0f);
HuPrcSleep(60);
}
break;
}
var_r26 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_8A58);
lbl_1_bss_CC = var_r26;
temp_r29 = OM_GET_WORK_PTR(var_r26, BssCCWork);
temp_r29->unk00_field0 = 0;
temp_r29->unk00_field1 = 0;
temp_r29->unk00_field2 = 0;
temp_r29->unk00_field3 = 0;
temp_r29->unk00_field4 = 0;
temp_r29->unk01 = 0;
temp_r29->unk03 = arg1;
temp_r29->unk02 = 0;
temp_r29->unk04 = lbl_1_bss_D0[lbl_1_bss_E6];
OSs8tof32(&arg1, &temp_r29->unk08);
temp_r29->unk08 = 60.0f * (temp_r29->unk08 + 1.0f);
BoardPlayerPosLerpStart(arg0, &sp18, &sp24, var_f29);
BoardPlayerMotionSpeedSet(arg0, var_f28);
for (var_r28 = 0; GWPlayer[arg0].moving; var_r28++) {
if (!(var_r28 & 0xF)) {
omVibrate(arg0, 12, 6, 6);
}
HuPrcVSleep();
}
temp_f30 -= 180.0f;
BoardPlayerMotBlendSet(arg0, temp_f30, 0xF);
while (!BoardPlayerMotBlendCheck(arg0)) {
HuPrcVSleep();
}
while (lbl_1_bss_CC) {
HuPrcVSleep();
}
HuPrcSleep(30);
if (arg1 == 2) {
BoardWinCreate(0, MAKE_MESSID(48, 40), -1);
BoardWinWait();
BoardWinKill();
}
BoardCameraTargetPlayerSet(arg0);
BoardCameraViewSet(1);
temp_f30 += 180.0f;
BoardPlayerMotBlendSet(arg0, temp_f30, 0xF);
while (!BoardPlayerMotBlendCheck(arg0)) {
HuPrcVSleep();
}
BoardCameraMotionWait();
if (arg1 == 1) {
BoardWinCreate(0, MAKE_MESSID(48, 15), -1);
BoardWinWait();
BoardWinKill();
}
return 0;
}
static void fn_1_8A58(omObjData *arg0) {
Vec sp8;
u8 var_r30;
BoardSpace *var_r29;
BssCCWork *temp_r31;
temp_r31 = OM_GET_WORK_PTR(arg0, BssCCWork);
if (temp_r31->unk00_field0 != 0 || BoardIsKill()) {
lbl_1_bss_CC = NULL;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
}
if (temp_r31->unk01 != 0) {
temp_r31->unk01--;
return;
}
if (temp_r31->unk00_field1 != 0 && temp_r31->unk00_field4 == 0) {
BoardModelMotionStart(temp_r31->unk04, 0, 0);
BoardModelMotionTimeSet(temp_r31->unk04, temp_r31->unk08 - 60.0f);
BoardModelMotionSpeedSet(temp_r31->unk04, 1.0f);
temp_r31->unk00_field4 = 1;
}
if (temp_r31->unk00_field2 != 0) {
HuAudFXPlay(0x49C);
temp_r31->unk00_field2 = 0;
}
if (temp_r31->unk00_field3 != 0) {
HuAudFXPlay(0x49D);
temp_r31->unk00_field3 = 0;
}
switch (temp_r31->unk02) {
case 0:
if (temp_r31->unk00_field1 == 0) {
if (GWPlayer[GWSystem.player_curr].bowser_suit != 0) {
temp_r31->unk01 = 72;
} else {
temp_r31->unk01 = 30;
}
temp_r31->unk00_field2 = 1;
temp_r31->unk00_field1 = 1;
break;
}
if (BoardModelMotionTimeGet(temp_r31->unk04) >= temp_r31->unk08) {
BoardModelMotionTimeSet(temp_r31->unk04, temp_r31->unk08);
BoardModelMotionSpeedSet(temp_r31->unk04, 0.0f);
if (temp_r31->unk03 == 2) {
temp_r31->unk01 = 30;
temp_r31->unk02 = 1;
temp_r31->unk00_field3 = 1;
} else {
temp_r31->unk00_field0 = 1;
}
}
break;
case 1:
if (lbl_1_bss_E6 == 0) {
var_r30 = lbl_1_bss_0->unk00_field0;
lbl_1_bss_0->unk00_field0 ^= 1;
} else {
var_r30 = lbl_1_bss_0->unk00_field1;
lbl_1_bss_0->unk00_field1 ^= 1;
}
var_r29 = BoardSpaceGet(0, lbl_1_bss_D6[lbl_1_bss_E6][var_r30]);
var_r29->flag |= 0x04000000;
var_r29 = BoardSpaceGet(0, lbl_1_bss_D6[lbl_1_bss_E6][var_r30 ^ 1]);
var_r29->flag &= ~0x04000000;
BoardSpacePosGet(0, lbl_1_bss_D6[lbl_1_bss_E6][var_r30 ^ 1], &sp8);
BoardModelMotionStart(temp_r31->unk04, 0, 0);
BoardModelMotionTimeSet(temp_r31->unk04, 180.0f);
BoardModelPosSetV(temp_r31->unk04, &sp8);
BoardModelRotYSet(temp_r31->unk04, lbl_1_data_41C[lbl_1_bss_E6][var_r30 ^ 1]);
BoardCameraTargetModelSet(temp_r31->unk04);
temp_r31->unk02 = 2;
break;
case 2:
if (BoardModelMotionEndCheck(temp_r31->unk04) && BoardCameraMotionIsDone()) {
temp_r31->unk00_field0 = 1;
}
break;
}
}

366
src/REL/w06Dll/fire.c Executable file
View file

@ -0,0 +1,366 @@
#include "REL/w06Dll.h"
#include "game/audio.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "game/objsub.h"
#include "game/process.h"
#include "game/window.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/board/window.h"
#include "dolphin.h"
#include "math.h"
static void fn_1_6F80(void);
static void fn_1_7210(void);
static s32 fn_1_72A4(void);
static void fn_1_72CC(s32 arg0);
static void fn_1_73EC(float arg0);
static void fn_1_74BC(s32 arg0);
static void fn_1_7574(void);
static void fn_1_7674(s32 arg0);
static void fn_1_7760(s32 arg0);
static s32 fn_1_7944(s32 arg0);
static s8 lbl_1_bss_C6;
static s8 lbl_1_bss_C2[4];
static s16 lbl_1_bss_C0;
static s32 lbl_1_bss_BC;
static s32 lbl_1_bss_B8;
static u8 lbl_1_bss_94_gap[0x24];
static Process *lbl_1_bss_90;
static s32 lbl_1_data_208[8] = {
0x00000123,
0x00000163,
0x000001A3,
0x000001E3,
0x00000223,
0x00000263,
0x000002A3,
0x000002E3
};
static s8 lbl_1_data_228 = -1;
static s16 lbl_1_data_22A = -1;
static s16 lbl_1_data_22C = -1;
static s16 lbl_1_data_22E = -1;
static s32 lbl_1_data_230[] = {
MAKE_MESSID(8, 14),
MAKE_MESSID(8, 15),
MAKE_MESSID(8, 16),
MAKE_MESSID(8, 17),
MAKE_MESSID(8, 18),
MAKE_MESSID(8, 19),
MAKE_MESSID(8, 20),
MAKE_MESSID(8, 21),
MAKE_MESSID(8, 22),
MAKE_MESSID(8, 23),
MAKE_MESSID(8, 24),
MAKE_MESSID(8, 25),
MAKE_MESSID(8, 26),
MAKE_MESSID(8, 27)
};
void fn_1_6EF0(void) {
BoardDiceDigit2DShowSet(0);
lbl_1_bss_90 = HuPrcChildCreate(fn_1_6F80, 0x2003, 0x3800, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_90, fn_1_7210);
while (lbl_1_bss_90) {
HuPrcVSleep();
}
BoardDiceDigit2DShowSet(1);
}
static void fn_1_6F80(void) {
s32 temp_r31;
s32 sp8;
lbl_1_bss_B8 = -1;
temp_r31 = GWSystem.player_curr;
sp8 = GWPlayer[temp_r31].space_curr;
if (BoardSpaceFlagGet(0, GWPlayer[temp_r31].space_curr) & 0x2000) {
lbl_1_bss_C6 = 0;
lbl_1_bss_C0 = lbl_1_bss_C[2];
lbl_1_bss_BC = 0x4A6;
} else {
lbl_1_bss_C6 = 1;
lbl_1_bss_C0 = lbl_1_bss_C[3];
lbl_1_bss_BC = 0x49B;
}
fn_1_72CC(temp_r31);
fn_1_7760(temp_r31);
BoardCameraMotionWait();
BoardModelMotionShiftSet(lbl_1_bss_C0, 0, 0.0f, 8.0f, 0x40000001);
HuPrcSleep(8);
while (BoardModelMotionTimeGet(lbl_1_bss_C0) < 22.0f) {
HuPrcVSleep();
}
fn_1_7674(temp_r31);
BoardModelMotionStartEndSet(lbl_1_bss_C0, 30, 60);
lbl_1_data_228 = 2;
HuPrcSleep(30);
fn_1_74BC(1);
while (!BoardModelMotionEndCheck(lbl_1_data_22C)) {
HuPrcVSleep();
}
lbl_1_data_228 = 3;
BoardModelHookReset(lbl_1_bss_C0);
if (lbl_1_bss_B8 != -1) {
HuAudFXStop(lbl_1_bss_B8);
}
BoardModelMotionShiftSet(lbl_1_bss_C0, 0, 60.0f, 8.0f, 0);
fn_1_73EC(0.0f);
fn_1_7574();
while (!BoardModelMotionEndCheck(lbl_1_bss_C0)) {
HuPrcVSleep();
}
BoardPlayerPostTurnHookSet(temp_r31, fn_1_72A4);
HuPrcEnd();
}
static void fn_1_7210(void) {
if (lbl_1_data_22C != -1) {
BoardModelKill(lbl_1_data_22C);
lbl_1_data_22C = -1;
}
if (lbl_1_data_22A != -1) {
BoardModelKill(lbl_1_data_22A);
lbl_1_data_22A = -1;
}
lbl_1_bss_90 = NULL;
}
static s32 fn_1_72A4(void) {
fn_1_74BC(0);
return 1;
}
static void fn_1_72CC(s32 arg0) {
Vec sp24;
Vec sp18;
Vec spC;
s32 var_r30;
s32 i;
if (lbl_1_bss_C6 == 0) {
var_r30 = 0x2000;
} else {
var_r30 = 0x1000;
}
BoardPlayerPosGet(arg0, &sp18);
BoardModelPosGet(lbl_1_bss_C0, &sp24);
PSVECSubtract(&sp24, &sp18, &spC);
for (i = 0; i < 4; i++) {
if (var_r30 & BoardSpaceFlagGet(0, GWPlayer[i].space_curr)) {
lbl_1_bss_C2[i] = 1;
} else {
lbl_1_bss_C2[i] = 0;
}
}
fn_1_73EC(180.0 * (atan2(spC.x, spC.z) / M_PI));
}
static void fn_1_73EC(float arg0) {
s32 var_r30;
s32 i;
for (i = 0; i < 4; i++) {
if (lbl_1_bss_C2[i] != 0) {
BoardPlayerMotBlendSet(i, arg0, 15);
}
}
do {
var_r30 = 0;
for (i = 0; i < 4; i++) {
if (lbl_1_bss_C2[i] != 0 && !BoardPlayerMotBlendCheck(i)) {
var_r30 = 1;
}
}
HuPrcVSleep();
} while (var_r30 != 0);
}
static void fn_1_74BC(s32 arg0) {
s32 i;
for (i = 0; i < 4; i++) {
if (lbl_1_bss_C2[i] == 0) {
continue;
}
if (arg0 != 0) {
omVibrate(i, 12, 4, 2);
HuAudFXPlay(lbl_1_data_208[GWPlayer[i].character]);
}
BoardPlayerCopyEyeMat(i, arg0);
}
}
static void fn_1_7574(void) {
s32 temp_r3;
s32 temp_r29;
s32 temp_r28;
s32 i;
for (i = 0; i < 4; i++) {
if (lbl_1_bss_C2[i] == 0) {
continue;
}
temp_r3 = fn_1_7944(i);
if (temp_r3 != -1) {
temp_r29 = GWPlayer[i].items[temp_r3];
BoardPlayerItemRemove(i, temp_r3);
temp_r28 = BoardPlayerGetCharMess(i);
BoardWinCreate(0, MAKE_MESSID(48, 16), -1);
BoardWinInsertMesSet(temp_r28, 0);
BoardWinInsertMesSet(lbl_1_data_230[temp_r29], 1);
BoardWinPlayerSet(i);
BoardWinWait();
BoardWinKill();
}
}
}
static void fn_1_7674(s32 arg0) {
Vec sp8;
float var_f31;
if (lbl_1_bss_C6 == 0) {
var_f31 = -90.0f;
} else {
var_f31 = 90.0f;
}
lbl_1_data_22C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W06, 15), NULL, 0);
BoardModelPosGet(lbl_1_bss_C0, &sp8);
BoardModelMotionStart(lbl_1_data_22C, 0, 0);
BoardModelHookSet(lbl_1_bss_C0, "fire", lbl_1_data_22C);
lbl_1_bss_B8 = HuAudFXPlay(lbl_1_bss_BC);
}
static void fn_1_7760(s32 arg0) {
Vec sp2C;
Vec sp20;
Vec sp14;
Vec sp8;
u32 var_r30;
u32 var_r28;
s16 var_r29;
s32 i;
if (lbl_1_bss_C6 == 0) {
var_r30 = 0x6000;
} else {
var_r30 = 0x5000;
}
for (var_r29 = i = 0; i < BoardSpaceCountGet(0); i++) {
var_r28 = BoardSpaceFlagGet(0, i + 1);
if (var_r30 == (var_r28 & var_r30)) {
var_r29 = i + 1;
break;
}
}
BoardModelPosGet(lbl_1_bss_C0, &sp20);
BoardSpacePosGet(0, var_r29, &sp2C);
PSVECSubtract(&sp2C, &sp20, &sp8);
sp8.x *= 0.4f;
sp8.y *= 0.4f;
sp8.z *= 0.4f;
PSVECAdd(&sp20, &sp8, &sp2C);
lbl_1_data_22A = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 0);
BoardModelVisibilitySet(lbl_1_data_22A, 0);
BoardModelPosSetV(lbl_1_data_22A, &sp2C);
sp14.x = 0.0f;
sp14.y = 200.0f;
sp14.z = 0.0f;
BoardCameraMotionStartEx(lbl_1_data_22A, 0, &sp14, 2500.0f, -1.0f, 21);
BoardCameraMotionWait();
}
static s8 lbl_1_data_26D[] = {
0, 0, 1, 1, 0,
0, 1, 1, 1, 1,
2, 2, 2, 2
};
static s8 lbl_1_data_27B[] = { 40, 30, 20, 10 };
static s8 lbl_1_data_27F[4][2] = {
{ 35, 80 }, { 30, 70 },
{ 20, 60 }, { 10, 50 }
};
static s32 fn_1_7944(s32 arg0) {
s8 spB[3];
s8 sp8[3];
s32 var_r25;
s32 temp_r26;
s32 var_r30;
s32 temp_r27;
s32 var_r31;
s32 i;
var_r25 = BoardPlayerItemCount(arg0);
if (var_r25 == 0) {
return -1;
}
for (var_r30 = i = 0; i < 3; i++) {
temp_r26 = GWPlayer[arg0].items[i];
if (temp_r26 != -1) {
spB[var_r30] = temp_r26;
sp8[var_r30] = i;
var_r30++;
}
}
if (var_r30 == 0) {
return -1;
}
if (var_r30 == 1) {
return 0;
}
temp_r27 = BoardRandMod(100);
if (lbl_1_data_26D[spB[0]] > lbl_1_data_26D[spB[1]]) {
if (lbl_1_data_27B[GWPlayer[arg0].rank] > temp_r27) {
var_r31 = 1;
} else {
var_r31 = 0;
}
} else if (lbl_1_data_27B[GWPlayer[arg0].rank] > temp_r27) {
var_r31 = 0;
} else {
var_r31 = 1;
}
if (var_r30 == 3) {
if (lbl_1_data_26D[spB[var_r31]] > lbl_1_data_26D[spB[2]]) {
if (lbl_1_data_27F[GWPlayer[arg0].rank][1] > temp_r27) {
var_r31 = 2;
}
} else if (lbl_1_data_27F[GWPlayer[arg0].rank][1] < temp_r27) {
var_r31 = 2;
}
}
var_r31 = sp8[var_r31];
return var_r31;
}
static char *lbl_1_data_394[] = {
"01 : CHIBI KINOKO",
"02 : DEKA KINOKO",
"03 : SUPER CHIBI KINOKO",
"04 : SUPER DEKA KINOKO",
"05 : DEKACHIBI HAMMER",
"06 : WARP DOKAN",
"07 : TRADE CARD",
"08 : BIRI-Q SEAL",
"09 : TERE-YOKE LIGHT",
"10 : WAN-WAN WHISTLE",
"11 : KOOPA SUIT",
"12 : TERESA SUISYO",
"13 : MAJIN NO LAMP",
"14 : ITEM BUKURO"
};
static u8 lbl_1_data_3CC[0x4C] = { 0 };

View file

@ -52,7 +52,7 @@ static BoardMapObject lbl_1_data_0[MAPOBJ_MAX] = {
static omObjData *lbl_1_bss_8;
static s32 lbl_1_bss_4;
void *lbl_1_bss_0;
UnkW06BoardData *lbl_1_bss_0;
static s16 lbl_1_data_F0 = -1;
static s16 lbl_1_data_F2 = -1;
@ -87,7 +87,7 @@ void BoardCreate(void) {
s32 *var_r29;
s32 i;
lbl_1_bss_0 = GWSystem.board_data;
lbl_1_bss_0 = (UnkW06BoardData*) GWSystem.board_data;
BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W06, 0));
lbl_1_data_F0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W06, 1), NULL, 0);
fn_8006DDE8(lbl_1_data_F0, -1.0f);

View file

@ -597,16 +597,16 @@ void HuAudVoiceInit(s16 ovl) {
}
}
void HuAudPlayerVoicePlay(s16 arg0, s16 arg1) {
s32 HuAudPlayerVoicePlay(s16 arg0, s16 arg1) {
s16 temp_r31 = GWPlayerCfg[arg0].character;
HuAudCharVoicePlay(temp_r31, arg1);
return HuAudCharVoicePlay(temp_r31, arg1);
}
void HuAudPlayerVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2) {
s32 HuAudPlayerVoicePlayPos(s16 arg0, s16 arg1, Vec *arg2) {
s16 temp_r31 = GWPlayerCfg[arg0].character;
HuAudCharVoicePlayPos(temp_r31, arg1, arg2);
return HuAudCharVoicePlayPos(temp_r31, arg1, arg2);
}
void HuAudPlayerVoicePlayEntry(s16 arg0, s16 arg1) {

View file

@ -1782,7 +1782,7 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) {
temp_r26 = OM_GET_WORK_PTR(temp_r3, bitcopy2);
temp_r26->field00_bit0 = 1;
for (var_r19 = 0; var_r19 < 180; var_r19++) {
for (var_r19 = 0; var_r19 < 180U; var_r19++) {
if (BoardPlayerMotBlendCheck(arg0) != 0)
break;
HuPrcVSleep();

View file

@ -578,11 +578,11 @@ void SLCurSlotNoSet(void);
void SLSaveDataMake(void);
void SLCommonSet(void);
void SLSaveBoard(void);
void SLSaveBoardBackup(void);
void SLSaveBoardStory(void);
void SLSave(void);
void SLLoadGameStat(void);
void SLLoadBoard(void);
void SLLoadBoardBackup(void);
void SLLoadBoardStory(void);
void SLLoad(void);
void SLCurBoxNoSet(void);
void SLSaveFlagSet(void);
@ -1595,11 +1595,11 @@ extern void _kerjmp_SLCurSlotNoSet(void);
extern void _kerjmp_SLSaveDataMake(void);
extern void _kerjmp_SLCommonSet(void);
extern void _kerjmp_SLSaveBoard(void);
extern void _kerjmp_SLSaveBoardBackup(void);
extern void _kerjmp_SLSaveBoardStory(void);
extern void _kerjmp_SLSave(void);
extern void _kerjmp_SLLoadGameStat(void);
extern void _kerjmp_SLLoadBoard(void);
extern void _kerjmp_SLLoadBoardBackup(void);
extern void _kerjmp_SLLoadBoardStory(void);
extern void _kerjmp_SLLoad(void);
extern void _kerjmp_SLCurBoxNoSet(void);
extern void _kerjmp_SLSaveFlagSet(void);
@ -3195,16 +3195,16 @@ asm void _kerent(void) {
b SLCommonSet
entry _kerjmp_SLSaveBoard
b SLSaveBoard
entry _kerjmp_SLSaveBoardBackup
b SLSaveBoardBackup
entry _kerjmp_SLSaveBoardStory
b SLSaveBoardStory
entry _kerjmp_SLSave
b SLSave
entry _kerjmp_SLLoadGameStat
b SLLoadGameStat
entry _kerjmp_SLLoadBoard
b SLLoadBoard
entry _kerjmp_SLLoadBoardBackup
b SLLoadBoardBackup
entry _kerjmp_SLLoadBoardStory
b SLLoadBoardStory
entry _kerjmp_SLLoad
b SLLoad
entry _kerjmp_SLCurBoxNoSet

View file

@ -12,7 +12,7 @@
#include "stddef.h"
#define SAVE_GET_PLAYER(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, player)]
#define SAVE_GET_PLAYER_BACKUP(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, playerBackup)]
#define SAVE_GET_PLAYER_STORY(player_idx) &saveBuf.buf[((player_idx)*sizeof(PlayerState))+offsetof(SaveBufData, playerStory)]
static s16 SLCreateSaveWin(void);
static void SLKillSaveWin(void);
@ -319,12 +319,12 @@ void SLSaveBoard(void) {
}
}
void SLSaveBoardBackup(void) {
void SLSaveBoardStory(void) {
s16 i;
memcpy(&saveBuf.data.systemBackup, &GWSystem, sizeof(SystemState));
memcpy(&saveBuf.data.systemStory, &GWSystem, sizeof(SystemState));
for (i = 0; i < 4; i++) {
memcpy(SAVE_GET_PLAYER_BACKUP(i), &GWPlayer[i], sizeof(PlayerState));
memcpy(SAVE_GET_PLAYER_STORY(i), &GWPlayer[i], sizeof(PlayerState));
}
}
@ -470,12 +470,12 @@ void SLLoadBoard(void) {
}
}
void SLLoadBoardBackup(void) {
void SLLoadBoardStory(void) {
s16 i;
memcpy(&GWSystem, &saveBuf.data.systemBackup, 0xDC);
memcpy(&GWSystem, &saveBuf.data.systemStory, 0xDC);
for (i = 0; i < 4; i++) {
memcpy(&GWPlayer[i], SAVE_GET_PLAYER_BACKUP(i), sizeof(PlayerState));
memcpy(&GWPlayer[i], SAVE_GET_PLAYER_STORY(i), sizeof(PlayerState));
GWPlayerCfg[i].character = GWPlayer[i].character;
GWPlayerCfg[i].pad_idx = GWPlayer[i].port;
GWPlayerCfg[i].diff = GWPlayer[i].diff;