Matched REL/w04/main + bridge + boo_event

This commit is contained in:
mrshigure 2024-04-13 17:18:59 -07:00
parent 019ac65f49
commit 1e255d3ea4
9 changed files with 2169 additions and 171 deletions

View file

@ -3,55 +3,55 @@ _prolog = .text:0x00000030; // type:function size:0x64 scope:global
_epilog = .text:0x00000094; // type:function size:0x4C scope:global
BoardCreate = .text:0x000000E0; // type:function size:0x514
BoardDestroy = .text:0x000005F4; // type:function size:0x15C
fn_1_750 = .text:0x00000750; // type:function size:0x44
fn_1_794 = .text:0x00000794; // type:function size:0x4
fn_1_798 = .text:0x00000798; // type:function size:0x64
fn_1_7FC = .text:0x000007FC; // type:function size:0x134
fn_1_930 = .text:0x00000930; // type:function size:0x24
fn_1_954 = .text:0x00000954; // type:function size:0x4
fn_1_958 = .text:0x00000958; // type:function size:0x3A0
fn_1_CF8 = .text:0x00000CF8; // type:function size:0x38
fn_1_D30 = .text:0x00000D30; // type:function size:0x80
fn_1_DB0 = .text:0x00000DB0; // type:function size:0x28C
fn_1_103C = .text:0x0000103C; // type:function size:0xF4
fn_1_750 = .text:0x00000750; // type:function size:0x44 scope:local
fn_1_794 = .text:0x00000794; // type:function size:0x4 scope:local
fn_1_798 = .text:0x00000798; // type:function size:0x64 scope:local
fn_1_7FC = .text:0x000007FC; // type:function size:0x134 scope:local
fn_1_930 = .text:0x00000930; // type:function size:0x24 scope:local
fn_1_954 = .text:0x00000954; // type:function size:0x4 scope:local
fn_1_958 = .text:0x00000958; // type:function size:0x3A0 scope:local
fn_1_CF8 = .text:0x00000CF8; // type:function size:0x38 scope:local
fn_1_D30 = .text:0x00000D30; // type:function size:0x80 scope:local
fn_1_DB0 = .text:0x00000DB0; // type:function size:0x28C scope:local
fn_1_103C = .text:0x0000103C; // type:function size:0xF4 scope:local
fn_1_1130 = .text:0x00001130; // type:function size:0x1CC
fn_1_12FC = .text:0x000012FC; // type:function size:0x2CC
fn_1_15C8 = .text:0x000015C8; // type:function size:0x50
fn_1_1618 = .text:0x00001618; // type:function size:0x19C
fn_1_17B4 = .text:0x000017B4; // type:function size:0x168
fn_1_191C = .text:0x0000191C; // type:function size:0x27C
fn_1_1B98 = .text:0x00001B98; // type:function size:0x94
fn_1_1C2C = .text:0x00001C2C; // type:function size:0x234
fn_1_1E60 = .text:0x00001E60; // type:function size:0x1A8
fn_1_2008 = .text:0x00002008; // type:function size:0x3C
fn_1_2044 = .text:0x00002044; // type:function size:0x14
fn_1_17B4 = .text:0x000017B4; // type:function size:0x168 scope:local
fn_1_191C = .text:0x0000191C; // type:function size:0x27C scope:local
fn_1_1B98 = .text:0x00001B98; // type:function size:0x94 scope:local
fn_1_1C2C = .text:0x00001C2C; // type:function size:0x234 scope:local
fn_1_1E60 = .text:0x00001E60; // type:function size:0x1A8 scope:local
fn_1_2008 = .text:0x00002008; // type:function size:0x3C scope:local
fn_1_2044 = .text:0x00002044; // type:function size:0x14 scope:local
fn_1_2058 = .text:0x00002058; // type:function size:0x94
fn_1_20EC = .text:0x000020EC; // type:function size:0x7D0
fn_1_28BC = .text:0x000028BC; // type:function size:0x2D0
fn_1_2B8C = .text:0x00002B8C; // type:function size:0x84
fn_1_2C10 = .text:0x00002C10; // type:function size:0x250
fn_1_2E60 = .text:0x00002E60; // type:function size:0x88
fn_1_2EE8 = .text:0x00002EE8; // type:function size:0x6C
fn_1_2F54 = .text:0x00002F54; // type:function size:0x68
fn_1_2FBC = .text:0x00002FBC; // type:function size:0x20
fn_1_2FDC = .text:0x00002FDC; // type:function size:0xC8
fn_1_30A4 = .text:0x000030A4; // type:function size:0x834
fn_1_38D8 = .text:0x000038D8; // type:function size:0x3C4
fn_1_3C9C = .text:0x00003C9C; // type:function size:0x90C
fn_1_45A8 = .text:0x000045A8; // type:function size:0x88
fn_1_4630 = .text:0x00004630; // type:function size:0x50
fn_1_4680 = .text:0x00004680; // type:function size:0x1C8
fn_1_4848 = .text:0x00004848; // type:function size:0x7D0
fn_1_5018 = .text:0x00005018; // type:function size:0x288
fn_1_52A0 = .text:0x000052A0; // type:function size:0x300
fn_1_55A0 = .text:0x000055A0; // type:function size:0x14
fn_1_20EC = .text:0x000020EC; // type:function size:0x7D0 scope:local
fn_1_28BC = .text:0x000028BC; // type:function size:0x2D0 scope:local
fn_1_2B8C = .text:0x00002B8C; // type:function size:0x84 scope:local
fn_1_2C10 = .text:0x00002C10; // type:function size:0x250 scope:local
fn_1_2E60 = .text:0x00002E60; // type:function size:0x88 scope:local
fn_1_2EE8 = .text:0x00002EE8; // type:function size:0x6C scope:local
fn_1_2F54 = .text:0x00002F54; // type:function size:0x68 scope:local
fn_1_2FBC = .text:0x00002FBC; // type:function size:0x20 scope:local
fn_1_2FDC = .text:0x00002FDC; // type:function size:0xC8 scope:local
fn_1_30A4 = .text:0x000030A4; // type:function size:0x834 scope:local
fn_1_38D8 = .text:0x000038D8; // type:function size:0x3C4 scope:local
fn_1_3C9C = .text:0x00003C9C; // type:function size:0x90C scope:local
fn_1_45A8 = .text:0x000045A8; // type:function size:0x88 scope:local
fn_1_4630 = .text:0x00004630; // type:function size:0x50 scope:local
fn_1_4680 = .text:0x00004680; // type:function size:0x1C8 scope:local
fn_1_4848 = .text:0x00004848; // type:function size:0x7D0 scope:local
fn_1_5018 = .text:0x00005018; // type:function size:0x288 scope:local
fn_1_52A0 = .text:0x000052A0; // type:function size:0x300 scope:local
fn_1_55A0 = .text:0x000055A0; // type:function size:0x14 scope:local
fn_1_55B4 = .text:0x000055B4; // type:function size:0x94
fn_1_5648 = .text:0x00005648; // type:function size:0x1E0
fn_1_5828 = .text:0x00005828; // type:function size:0x7C
fn_1_58A4 = .text:0x000058A4; // type:function size:0xDC
fn_1_5980 = .text:0x00005980; // type:function size:0x44
fn_1_59C4 = .text:0x000059C4; // type:function size:0x68
fn_1_5A2C = .text:0x00005A2C; // type:function size:0x5F8
fn_1_5648 = .text:0x00005648; // type:function size:0x1E0 scope:local
fn_1_5828 = .text:0x00005828; // type:function size:0x7C scope:local
fn_1_58A4 = .text:0x000058A4; // type:function size:0xDC scope:local
fn_1_5980 = .text:0x00005980; // type:function size:0x44 scope:local
fn_1_59C4 = .text:0x000059C4; // type:function size:0x68 scope:local
fn_1_5A2C = .text:0x00005A2C; // type:function size:0x5F8 scope:local
fn_1_6024 = .text:0x00006024; // type:function size:0x28C
fn_1_62B0 = .text:0x000062B0; // type:function size:0x628
fn_1_68D8 = .text:0x000068D8; // type:function size:0x420
@ -98,82 +98,82 @@ fn_1_E6AC = .text:0x0000E6AC; // type:function size:0x1D4
fn_1_E880 = .text:0x0000E880; // type:function size:0x18C
_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:0x8 data:double
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float
lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
lbl_1_rodata_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:0x8 data:double
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 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_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float
lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float
lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float
lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float
lbl_1_rodata_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:0x4 data:float
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float
lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float
lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x8 data:double
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float
lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float
lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float
lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float
lbl_1_rodata_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:0x8 scope:local data:double
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float
lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float
lbl_1_rodata_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:0x8 scope:local data:double
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 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_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_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:0x4 scope:local data:float
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float
lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size: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:0x4 scope:local data:float
lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float
lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float
lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float
lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float
@ -318,29 +318,29 @@ lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float
lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float
lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float
lbl_1_data_0 = .data:0x00000000; // type:object size:0x280
lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 data:2byte
lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 data:2byte
lbl_1_data_284 = .data:0x00000284; // type:object size:0x2 data:2byte
lbl_1_data_286 = .data:0x00000286; // type:object size:0x2 data:2byte
lbl_1_data_288 = .data:0x00000288; // type:object size:0x8
lbl_1_data_290 = .data:0x00000290; // type:object size:0x8
lbl_1_data_298 = .data:0x00000298; // type:object size:0x8
lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0xC
lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x20
lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x20
lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x4 data:4byte
lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20
lbl_1_data_314 = .data:0x00000314; // type:object size:0x20
lbl_1_data_334 = .data:0x00000334; // type:object size:0x5 data:string
lbl_1_data_339 = .data:0x00000339; // type:object size:0x5 data:string
lbl_1_data_33E = .data:0x0000033E; // type:object size:0x5 data:string
lbl_1_data_343 = .data:0x00000343; // type:object size:0x5 data:string
lbl_1_data_348 = .data:0x00000348; // type:object size:0x10
lbl_1_data_358 = .data:0x00000358; // type:object size:0x10
lbl_1_data_368 = .data:0x00000368; // type:object size:0x8 data:string
lbl_1_data_370 = .data:0x00000370; // type:object size:0x12 data:string
lbl_1_data_382 = .data:0x00000382; // type:object size:0x11 data:string
lbl_1_data_393 = .data:0x00000393; // type:object size:0x10
lbl_1_data_280 = .data:0x00000280; // type:object size:0x2 scope:local data:2byte
lbl_1_data_282 = .data:0x00000282; // type:object size:0x2 scope:local data:2byte
lbl_1_data_284 = .data:0x00000284; // type:object size:0x2 scope:local data:2byte
lbl_1_data_286 = .data:0x00000286; // type:object size:0x2 scope:local data:2byte
lbl_1_data_288 = .data:0x00000288; // type:object size:0x8 scope:local
lbl_1_data_290 = .data:0x00000290; // type:object size:0x8 scope:local
lbl_1_data_298 = .data:0x00000298; // type:object size:0x8 scope:local
lbl_1_data_2A0 = .data:0x000002A0; // type:object size:0xB scope:local data:string
lbl_1_data_2AC = .data:0x000002AC; // type:object size:0x20 scope:local
lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x20 scope:local
lbl_1_data_2F0 = .data:0x000002F0; // type:object size:0x4 scope:local data:4byte
lbl_1_data_2F4 = .data:0x000002F4; // type:object size:0x20 scope:local
lbl_1_data_314 = .data:0x00000314; // type:object size:0x20 scope:local
lbl_1_data_334 = .data:0x00000334; // type:object size:0x5 scope:local data:string
lbl_1_data_339 = .data:0x00000339; // type:object size:0x5 scope:local data:string
lbl_1_data_33E = .data:0x0000033E; // type:object size:0x5 scope:local data:string
lbl_1_data_343 = .data:0x00000343; // type:object size:0x5 scope:local data:string
lbl_1_data_348 = .data:0x00000348; // type:object size:0x10 scope:local
lbl_1_data_358 = .data:0x00000358; // type:object size:0x10 scope:local
lbl_1_data_368 = .data:0x00000368; // type:object size:0x8 scope:local data:string
lbl_1_data_370 = .data:0x00000370; // type:object size:0x12 scope:local data:string
lbl_1_data_382 = .data:0x00000382; // type:object size:0x11 scope:local data:string
lbl_1_data_393 = .data:0x00000393; // type:object size:0x10 scope:local
lbl_1_data_3A8 = .data:0x000003A8; // type:object size:0x8 data:string
lbl_1_data_3B0 = .data:0x000003B0; // type:object size:0x9 data:string
lbl_1_data_3B9 = .data:0x000003B9; // type:object size:0x6 data:string
@ -385,32 +385,32 @@ lbl_1_data_61E = .data:0x0000061E; // type:object size:0xE data:string
lbl_1_data_62C = .data:0x0000062C; // type:object size:0x10
lbl_1_data_63C = .data:0x0000063C; // type:object size:0x3 data:string
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:2byte
lbl_1_bss_10 = .bss:0x00000010; // 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:0x8 scope:local data:2byte
lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x20 data:2byte
lbl_1_bss_38 = .bss:0x00000038; // type:object size:0x4 data:4byte
lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC
lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 data:4byte
lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 data:4byte
lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 data:2byte
lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x18
lbl_1_bss_6A = .bss:0x0000006A; // type:object size:0x2 data:2byte
lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:4byte
lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x2 data:2byte
lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 data:4byte
lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte
lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x2 data:2byte
lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x30
lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x2 data:2byte
lbl_1_bss_B2 = .bss:0x000000B2; // type:object size:0x8
lbl_1_bss_BA = .bss:0x000000BA; // type:object size:0x8 data:2byte
lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x2 data:2byte
lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x10
lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x10
lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x10
lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x6 data:2byte
lbl_1_bss_FA = .bss:0x000000FA; // type:object size:0x2 data:2byte
lbl_1_bss_3C = .bss:0x0000003C; // type:object size:0xC scope:local
lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_4C = .bss:0x0000004C; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x18 scope:local
lbl_1_bss_6A = .bss:0x0000006A; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_6C = .bss:0x0000006C; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_74 = .bss:0x00000074; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x30 scope:local
lbl_1_bss_B0 = .bss:0x000000B0; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_B2 = .bss:0x000000B2; // type:object size:0x8 scope:local
lbl_1_bss_BA = .bss:0x000000BA; // type:object size:0x8 scope:local data:2byte
lbl_1_bss_C2 = .bss:0x000000C2; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_C4 = .bss:0x000000C4; // type:object size:0x10 scope:local
lbl_1_bss_D4 = .bss:0x000000D4; // type:object size:0x10 scope:local
lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x10 scope:local
lbl_1_bss_F4 = .bss:0x000000F4; // type:object size:0x6 scope:local data:2byte
lbl_1_bss_FA = .bss:0x000000FA; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_100 = .bss:0x00000100; // type:object size:0x4 data:4byte
lbl_1_bss_104 = .bss:0x00000104; // type:object size:0x4 data:4byte
lbl_1_bss_108 = .bss:0x00000108; // type:object size:0xC

View file

@ -5211,7 +5211,7 @@ y_start = .sbss:0x801D3CF0; // type:object size:0x4 scope:local data:4byte
x_start = .sbss:0x801D3CF4; // type:object size:0x4 scope:local data:4byte
Draw_Color = .sbss:0x801D3CF8; // type:object size:0x3 scope:local data:byte
XFB_putc = .sbss:0x801D3CFC; // type:object size:0x4 scope:local data:4byte
omDBGMenuButton = .sbss:0x801D3D00; // type:object size:0x4
omDBGMenuButton = .sbss:0x801D3D00; // type:object size:0x2
CZoom = .sbss:0x801D3D04; // type:object size:0x4 data:float
omDLLFileList = .sbss:0x801D3D08; // type:object size:0x8 scope:local data:4byte
frand_seed = .sbss:0x801D3D10; // type:object size:0x8 scope:local data:4byte

View file

@ -1270,9 +1270,9 @@ config.libs = [
Rel('w04Dll',
objects = {
Object(Matching, "REL/board_executor.c"),
Object(NonMatching, "REL/w04Dll/main.c"),
Object(NonMatching, "REL/w04Dll/bridge.c"),
Object(NonMatching, "REL/w04Dll/boo_event.c"),
Object(Matching, "REL/w04Dll/main.c"),
Object(Matching, "REL/w04Dll/bridge.c"),
Object(Matching, "REL/w04Dll/boo_event.c"),
Object(NonMatching, "REL/w04Dll/big_boo.c"),
Object(NonMatching, "REL/w04Dll/mg_item.c"),
Object(NonMatching, "REL/w04Dll/mg_coin.c"),

40
include/REL/w04Dll.h Executable file
View file

@ -0,0 +1,40 @@
#ifndef REL_W04_H
#define REL_W04_H
#include "game/process.h"
#include "game/board/map_object.h"
#include "dolphin/types.h"
enum {
MAPOBJ_MAX = 16
};
extern s32 fn_1_1130(s16 arg0, float arg1, float arg2);
extern void fn_1_12FC(void);
extern void fn_1_15C8(void);
extern void fn_1_1618(void);
extern void fn_1_2058(void);
extern void fn_1_55B4(void);
extern void fn_1_6024(void);
extern void fn_1_9EBC(void);
extern void fn_1_A0F8(void);
extern void fn_1_A1F0(void);
extern void fn_1_BA7C(void);
extern void fn_1_BB00(s16 *arg0);
extern void fn_1_C2BC(void);
extern void fn_1_C7A0(void);
extern void fn_1_C7D4(void);
extern s16 lbl_1_bss_14[MAPOBJ_MAX];
extern BoardMapObject lbl_1_data_0[MAPOBJ_MAX];
extern s8 *lbl_1_bss_0;
extern Process *lbl_1_bss_38;
#endif

View file

@ -132,5 +132,6 @@ extern float CZoom;
extern Vec CRotM[16];
extern Vec CenterM[16];
extern float CZoomM[16];
extern s16 omDBGMenuButton;
#endif

1215
src/REL/w04Dll/boo_event.c Executable file

File diff suppressed because it is too large Load diff

297
src/REL/w04Dll/bridge.c Executable file
View file

@ -0,0 +1,297 @@
#include "REL/w04Dll.h"
#include "game/audio.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "game/memory.h"
#include "game/objsub.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_17B4(s16 arg0, s16 arg1);
static void fn_1_191C(void);
static void fn_1_1B98(s16 arg0);
static void fn_1_1C2C(void);
static void fn_1_1E60(void);
static void fn_1_2008(void);
static Process *lbl_1_bss_3C[3];
Process *lbl_1_bss_38;
static s32 lbl_1_data_298[] = {
DATA_MAKE_NUM(DATADIR_W04, 32),
-1
};
void fn_1_12FC(void) {
Vec sp14;
Vec sp8;
s16 *temp_r3;
s32 var_r29;
s32 i;
sp8.x = sp8.y = sp8.z = 1.5f;
for (i = 0; i < 3; i++) {
lbl_1_bss_3C[i] = HuPrcChildCreate(fn_1_1E60, 0x2003, 0x1000, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_3C[i], fn_1_2008);
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, 5 * sizeof(s16), MEMORY_DEFAULT_NUM);
lbl_1_bss_3C[i]->user_data = temp_r3;
temp_r3[0] = i;
temp_r3[1] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 31), lbl_1_data_298, 1);
BoardModelScaleSetV(temp_r3[1], &sp8);
temp_r3[2] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 33), NULL, 1);
BoardModelAttrSet(temp_r3[2], 0x40000001);
BoardModelHookSet(temp_r3[1], "itemhook_R", temp_r3[2]);
BoardModelMotionStart(temp_r3[1], 1, 0x40000001);
var_r29 = (0x8000 >> i);
var_r29 |= 0x1000;
temp_r3[3] = BoardSpaceFlagSearch(0, var_r29);
var_r29 = (0x8000 >> i);
var_r29 |= 0x800;
temp_r3[4] = BoardSpaceFlagSearch(0, var_r29);
BoardSpacePosGet(0, temp_r3[3], &sp14);
BoardModelPosSetV(temp_r3[1], &sp14);
}
sp8.x = sp8.y = sp8.z = 2.0f;
BoardModelScaleSetV(lbl_1_bss_14[11], &sp8);
fn_1_1C2C();
if (lbl_1_bss_0[0] & 1) {
BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 180);
BoardModelMotionTimeSet(lbl_1_bss_14[5], 108.0f);
fn_1_17B4(0, 1);
BoardModelAttrSet(lbl_1_bss_14[5], 0x40000002);
return;
}
BoardModelAttrReset(lbl_1_bss_14[5], 0x40000002);
BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 60);
BoardModelMotionTimeSet(lbl_1_bss_14[5], 0.0f);
fn_1_17B4(1, 1);
}
void fn_1_15C8(void) {
s32 i;
for (i = 0; i < 3; i++) {
HuPrcKill(lbl_1_bss_3C[i]);
}
}
static s32 lbl_1_data_2AC[8] = {
DATA_MAKE_NUM(DATADIR_MARIOMOT, 28),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 28),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 28),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 28),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 28),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 28),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 28),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 28)
};
void fn_1_1618(void) {
s32 temp_r31;
s16 temp_r30;
temp_r31 = GWSystem.player_curr;
temp_r30 = BoardPlayerMotionCreate(temp_r31, lbl_1_data_2AC[GWPlayer[temp_r31].character]);
BoardDiceDigit2DShowSet(0);
BoardPlayerMotBlendSet(temp_r31, 180, 15);
BoardCameraViewSet(2);
while (!BoardPlayerMotBlendCheck(temp_r31)) {
HuPrcVSleep();
}
BoardCameraMotionWait();
*lbl_1_bss_0 ^= 1;
fn_1_191C();
fn_1_1C2C();
HuAudPlayerVoicePlay(temp_r31, 0x128);
BoardPlayerMotionStart(temp_r31, temp_r30, 0);
while (!BoardPlayerMotionEndCheck(temp_r31)) {
HuPrcVSleep();
}
HuPrcSleep(30);
if (!(*lbl_1_bss_0 & 1)) {
BoardWinCreate(2, MAKE_MESSID(32, 24), 11);
BoardWinWait();
BoardWinKill();
}
BoardPlayerMotionShiftSet(temp_r31, 1, 0.0f, 10.0f, 0x40000001);
BoardCameraViewSet(1);
BoardCameraMotionWait();
BoardDiceDigit2DShowSet(1);
BoardPlayerMotionKill(temp_r31, temp_r30);
HuPrcKill(NULL);
while (TRUE) {
HuPrcVSleep();
}
}
static void fn_1_17B4(s16 arg0, s16 arg1) {
float var_f30;
float var_f31;
s32 i;
if (arg0 != 0) {
var_f31 = 0.0f;
var_f30 = 255.0f / arg1;
} else {
var_f31 = 255.0f;
var_f30 = -255.0f / arg1;
}
for (i = 0; i < arg1; i++) {
BoardModelAlphaSet(lbl_1_bss_14[11], var_f31);
var_f31 += var_f30;
HuPrcVSleep();
}
if (arg0 != 0) {
BoardModelAlphaSet(lbl_1_bss_14[11], 0xFF);
} else {
BoardModelAlphaSet(lbl_1_bss_14[11], 0);
}
}
static void fn_1_191C(void) {
float var_f31;
float temp_f29;
float var_f30;
float temp_f28;
s32 var_r31;
s32 var_r30;
HuAudFXPlay(0x4B);
if (*lbl_1_bss_0 & 1) {
BoardWinCreate(2, MAKE_MESSID(32, 23), 11);
BoardWinWait();
BoardWinKill();
omVibrate(GWSystem.player_curr, 12, 6, 6);
HuAudFXPlay(0x45E);
BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 180);
BoardModelMotionTimeSet(lbl_1_bss_14[5], 59.0f);
var_f31 = 255.0f;
temp_f29 = -5.1f;
for (var_r31 = 0; var_r31 < 50; var_r31++) {
BoardModelAlphaSet(lbl_1_bss_14[11], var_f31);
var_f31 += temp_f29;
HuPrcVSleep();
}
BoardModelAlphaSet(lbl_1_bss_14[11], 0);
BoardModelAttrSet(lbl_1_bss_14[5], 0x40000002);
} else {
omVibrate(GWSystem.player_curr, 12, 6, 6);
HuAudFXPlay(0x45D);
BoardModelAttrReset(lbl_1_bss_14[5], 0x40000002);
BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 180);
BoardModelMotionTimeSet(lbl_1_bss_14[5], 110.0f);
var_f30 = 0.0f;
temp_f28 = 3.642857f;
for (var_r30 = 0; var_r30 < 70; var_r30++) {
BoardModelAlphaSet(lbl_1_bss_14[11], var_f30);
var_f30 += temp_f28;
HuPrcVSleep();
}
BoardModelAlphaSet(lbl_1_bss_14[11], 0xFF);
BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 60);
}
}
static void fn_1_1B98(s16 arg0) {
BoardSpace *temp_r3;
s32 i;
for (i = 0; i < BoardSpaceCountGet(0); i++) {
temp_r3 = BoardSpaceGet(0, i + 1);
if (temp_r3->flag & 0x20) {
if (arg0 != 0) {
temp_r3->flag |= 0x04000000;
} else {
temp_r3->flag &= ~0x04000000;
}
}
}
}
static void fn_1_1C2C(void) {
s16 *var_r28;
s32 i;
if (*lbl_1_bss_0 == 0) {
BoardModelMotionStartEndSet(lbl_1_bss_14[3], 0, 80);
BoardModelMotionTimeSet(lbl_1_bss_14[3], 0.0f);
BoardModelVisibilitySet(lbl_1_bss_14[0], 1);
BoardModelVisibilitySet(lbl_1_bss_14[1], 1);
BoardModelVisibilitySet(lbl_1_bss_14[2], 1);
fn_1_1B98(0);
for (i = 0; i < 3; i++) {
var_r28 = lbl_1_bss_3C[i]->user_data;
BoardModelMotionStartEndSet(var_r28[2], 0, 20);
}
} else {
BoardModelMotionStartEndSet(lbl_1_bss_14[3], 100, 100);
BoardModelMotionTimeSet(lbl_1_bss_14[3], 100.0f);
BoardModelVisibilitySet(lbl_1_bss_14[0], 0);
BoardModelVisibilitySet(lbl_1_bss_14[1], 0);
BoardModelVisibilitySet(lbl_1_bss_14[2], 0);
fn_1_1B98(1);
for (i = 0; i < 3; i++) {
var_r28 = lbl_1_bss_3C[i]->user_data;
BoardModelMotionStartEndSet(var_r28[2], 25, 25);
}
}
}
static void fn_1_1E60(void) {
Vec sp20;
Vec sp14;
Vec sp8;
float temp_f31;
s16 *temp_r31;
s16 var_r29;
s16 var_r28;
s16 i;
temp_r31 = HuPrcCurrentGet()->user_data;
var_r29 = temp_r31[3];
var_r28 = temp_r31[4];
while (TRUE) {
BoardSpacePosGet(0, var_r29, &sp14);
BoardSpacePosGet(0, var_r28, &sp8);
PSVECSubtract(&sp8, &sp14, &sp20);
PSVECScale(&sp20, &sp20, 0.008333334f);
temp_f31 = 180.0 * (atan2(sp8.x - sp14.x, sp8.z - sp14.z) / M_PI);
BoardModelPosGet(temp_r31[1], &sp14);
while (fn_1_1130(temp_r31[1], temp_f31, 2.5f) == 0) {
if (*lbl_1_bss_0 == 0) {
BoardModelAlphaSet(temp_r31[1], 0xFF);
} else {
BoardModelAlphaSet(temp_r31[1], 0);
}
HuPrcVSleep();
}
for (i = 0; i < 120; i++) {
if (*lbl_1_bss_0 == 0) {
BoardModelAlphaSet(temp_r31[1], 0xFF);
} else {
BoardModelAlphaSet(temp_r31[1], 0);
}
PSVECAdd(&sp14, &sp20, &sp14);
BoardModelPosSetV(temp_r31[1], &sp14);
HuPrcVSleep();
}
i = var_r29;
var_r29 = var_r28;
var_r28 = i;
}
}
static void fn_1_2008(void) {
s16 *temp_r31;
temp_r31 = HuPrcCurrentGet()->user_data;
BoardModelKill(temp_r31[1]);
HuMemDirectFree(temp_r31);
}

445
src/REL/w04Dll/main.c Executable file
View file

@ -0,0 +1,445 @@
#include "REL/w04Dll.h"
#include "REL/board_executor.h"
#include "game/chrman.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "game/object.h"
#include "game/window.h"
#include "game/board/boo_house.h"
#include "game/board/com.h"
#include "game/board/lottery.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/shop.h"
#include "game/board/space.h"
#include "game/board/star.h"
#include "game/board/window.h"
#include "dolphin.h"
#include "math.h"
static void fn_1_750(void);
static void fn_1_794(void);
static s32 fn_1_798(void);
static s32 fn_1_7FC(void);
static void fn_1_930(void);
static void fn_1_954(void);
static void fn_1_958(void);
static void fn_1_CF8(void);
static void fn_1_D30(void);
static void fn_1_DB0(void);
static s32 fn_1_103C(void);
s16 lbl_1_bss_14[MAPOBJ_MAX];
BoardMapObject lbl_1_data_0[MAPOBJ_MAX] = {
{ { 750.0f, 0.0f, 1500.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 5) },
{ { -1500.0f, 0.0f, 150.0f }, { 0.0f, 89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 5) },
{ { 1200.0f, 0.0f, -1650.0f }, { 0.0f, -89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 5) },
{ { -1950.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 4) },
{ { 2100.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 18) },
{ { -150.0f, 0.0f, -150.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 23) },
{ { 3000.0f, 0.0f, -600.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 12) },
{ { -1500.0f, 0.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 15) },
{ { -1950.0f, 0.0f, -2000.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 34) },
{ { -1350.0f, 50.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 34) },
{ { 2750.0f, 0.0f, -600.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 34) },
{ { -150.0f, 0.0f, -100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 29) },
{ { 2850.0f, 0.0f, -1500.0f }, { 0.0f, -89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) },
{ { -3150.0f, 0.0f, 300.0f }, { 0.0f, 89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) },
{ { 2850.0f, 0.0f, 0.000003f }, { 0.0f, -89.999985f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) },
{ { 900.0f, 0.0f, 2250.0f }, { 0.0f, 180.00001f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W04, 17) }
};
static s32 *lbl_1_bss_10;
static s16 lbl_1_bss_8[4];
static Process *lbl_1_bss_4;
s8 *lbl_1_bss_0;
static s16 lbl_1_data_280 = -1;
static s16 lbl_1_data_282 = -1;
static s16 lbl_1_data_284 = -1;
static s16 lbl_1_data_286 = -1;
static s32 lbl_1_data_288[] = {
DATA_MAKE_NUM(DATADIR_W04, 8),
-1
};
static s32 lbl_1_data_290[] = {
DATA_MAKE_NUM(DATADIR_BGUEST, 24),
-1
};
void BoardCreate(void) {
BoardMapObject *temp_r30;
s32 sp8;
s32 i;
omDBGMenuButton = 1;
sp8 = GWBoardGet();
lbl_1_bss_0 = (s8*) GWSystem.board_data;
BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W04, 0));
lbl_1_data_280 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 1), NULL, 0);
fn_8006DDE8(lbl_1_data_280, -1.0f);
BoardModelPosSet(lbl_1_data_280, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_280, 0, 0x40000001);
BoardModelMotionSpeedSet(lbl_1_data_280, 1.0f);
lbl_1_data_282 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 2), NULL, 0);
fn_8006DDE8(lbl_1_data_282, -1.0f);
BoardModelPosSet(lbl_1_data_282, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_282, 0, 0x40000001);
lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W04, 7), lbl_1_data_288, 0);
BoardModelPosSet(lbl_1_data_284, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_284, 1, 0x40000001);
lbl_1_data_286 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 18), lbl_1_data_290, 0);
BoardModelMotionStart(lbl_1_data_286, 1, 0x40000001);
BoardLightHookSet(fn_1_750, fn_1_794);
for (i = 0; i < 16; i++) {
temp_r30 = &lbl_1_data_0[i];
if (temp_r30->data_num != -1) {
if (i == 8 || i == 9 || i == 10 || i == 11) {
lbl_1_bss_10 = lbl_1_data_290;
} else {
lbl_1_bss_10 = NULL;
}
lbl_1_bss_14[i] = BoardModelCreate(temp_r30->data_num, lbl_1_bss_10, 0);
BoardModelPosSetV(lbl_1_bss_14[i], &temp_r30->pos);
BoardModelRotSetV(lbl_1_bss_14[i], &temp_r30->rot);
BoardModelScaleSetV(lbl_1_bss_14[i], &temp_r30->scale);
BoardModelVisibilitySet(lbl_1_bss_14[i], 1);
if (lbl_1_bss_10 != NULL) {
BoardModelMotionStart(lbl_1_bss_14[i], 1, 0x40000001);
}
}
}
BoardModelAlphaSet(lbl_1_bss_14[8], 0);
BoardModelVisibilitySet(lbl_1_bss_14[8], 0);
BoardModelMotionStartEndSet(lbl_1_bss_14[5], 0, 60);
BoardModelAttrSet(lbl_1_bss_14[5], 0x40000001);
BoardModelAttrSet(lbl_1_bss_14[4], 0x40000001);
fn_1_930();
fn_1_12FC();
fn_1_6024();
BoardModelAttrSet(lbl_1_bss_14[0], 0x40000001);
BoardModelAttrSet(lbl_1_bss_14[1], 0x40000001);
BoardModelAttrSet(lbl_1_bss_14[2], 0x40000001);
BoardModelAttrSet(lbl_1_bss_14[3], 0x40000001);
BoardSpaceWalkEventFuncSet(fn_1_7FC);
BoardSpaceWalkMiniEventFuncSet(fn_1_103C);
BoardSpaceLandEventFuncSet(fn_1_798);
BoardStarHostSet(lbl_1_data_284);
BoardBooHouseHostSet(lbl_1_data_286);
BoardShopHostSet(lbl_1_data_286);
BoardLotteryHostSet(lbl_1_data_286);
BoardJunctionMaskSet(0x100);
BoardJunctionMaskSet(0x40);
}
void BoardDestroy(void) {
s32 i;
fn_1_15C8();
for (i = 0; i < MAPOBJ_MAX; i++) {
if (lbl_1_bss_14[i] != 0) {
BoardModelKill(lbl_1_bss_14[i]);
lbl_1_bss_14[i] = 0;
}
}
if (lbl_1_data_286 != -1) {
BoardModelKill(lbl_1_data_286);
lbl_1_data_286 = -1;
}
if (lbl_1_data_284 != -1) {
BoardModelKill(lbl_1_data_284);
lbl_1_data_284 = -1;
}
if (lbl_1_data_280 != -1) {
BoardModelKill(lbl_1_data_280);
lbl_1_data_280 = -1;
}
if (lbl_1_data_282 != -1) {
BoardModelKill(lbl_1_data_282);
lbl_1_data_282 = -1;
}
BoardSpaceDestroy();
}
static void fn_1_750(void) {
s16 var_r31;
var_r31 = BoardModelIDGet(lbl_1_data_280);
Hu3DModelLightInfoSet(var_r31, 1);
}
static void fn_1_794(void) {
}
static s32 fn_1_798(void) {
s32 var_r31;
s32 var_r30;
s32 sp8;
var_r31 = GWSystem.player_curr;
var_r30 = GWPlayer[var_r31].space_curr;
sp8 = BoardSpaceFlagGet(0, var_r30);
fn_1_9EBC();
}
static s32 fn_1_7FC(void) {
s32 temp_r31;
BoardSpace *temp_r3;
temp_r31 = GWSystem.player_curr;
if (BoardPlayerSizeGet(temp_r31) == 2) {
return 0;
}
if (GWPlayer[temp_r31].bowser_suit) {
return 0;
}
temp_r3 = BoardSpaceGet(0, GWPlayer[temp_r31].space_curr);
if (temp_r3->flag & 0x80) {
fn_1_2058();
return 1;
}
if (temp_r3->flag & 0x100) {
if (lbl_1_bss_0[0] & 1) {
fn_1_55B4();
} else {
BoardDiceDigit2DShowSet(0);
BoardPlayerIdleSet(temp_r31);
BoardWinCreate(0, MAKE_MESSID(32, 25), -1);
BoardWinWait();
BoardWinKill();
BoardDiceDigit2DShowSet(1);
}
return 1;
}
return 0;
}
static void fn_1_930(void) {
fn_1_A0F8();
fn_1_C7A0();
}
static void fn_1_954(void) {
}
static void fn_1_958(void) {
Vec sp8;
u32 temp_r3;
s32 temp_r27;
s32 temp_r31;
s32 var_r26;
s32 var_r30;
s32 var_r29;
temp_r31 = GWSystem.player_curr;
if (BoardPlayerItemCount(temp_r31) == 3) {
BoardWinCreate(2, MAKE_MESSID(32, 12), 3);
BoardWinWait();
BoardWinKill();
HuPrcEnd();
}
lbl_1_bss_8[0] = 0;
var_r30 = 1;
while (var_r30 < 3) {
lbl_1_bss_8[var_r30] = frandmod(14);
if (lbl_1_bss_8[var_r30] != 10 && lbl_1_bss_8[var_r30] != 13) {
for (var_r29 = 0; var_r29 < var_r30; var_r29++) {
if (lbl_1_bss_8[var_r30] == lbl_1_bss_8[var_r29]) {
lbl_1_bss_8[var_r30] = -1;
}
}
if (lbl_1_bss_8[var_r30] != -1) {
var_r30++;
}
}
}
fn_1_BB00(lbl_1_bss_8);
BoardWinCreateChoice(2, MAKE_MESSID(32, 13), 3, 0);
if (GWPlayer[temp_r31].com) {
if (BoardComPreferItemCheck(temp_r31, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) {
BoardComKeySetLeft();
} else {
BoardComKeySetRight();
}
}
BoardWinWait();
BoardWinKill();
temp_r3 = BoardWinChoiceGet();
if (temp_r3 == 1 || temp_r3 == -1) {
BoardWinCreate(2, MAKE_MESSID(32, 14), 3);
BoardWinWait();
BoardWinKill();
BoardMGExit();
fn_1_C2BC();
while (BoardMGDoneFlagGet() != 1) {
HuPrcVSleep();
}
BoardMGDoneFlagSet(0);
fn_1_BA7C();
HuPrcEnd();
}
temp_r27 = GWPlayer[temp_r31].space_curr;
var_r26 = BoardSpaceLinkFlagSearch(0, temp_r27, 0x02000000);
BoardPlayerMoveBetween(temp_r31, temp_r27, var_r26);
while (GWPlayer[temp_r31].moving) {
HuPrcVSleep();
}
BoardPlayerMotionStart(temp_r31, 1, 0x40000001);
BoardPlayerPosGet(temp_r31, &sp8);
sp8.y += 5.0f;
BoardPlayerPosSetV(temp_r31, &sp8);
BoardCameraViewSet(2);
BoardPlayerMotBlendSet(temp_r31, 180, 15);
while (!BoardPlayerMotBlendCheck(temp_r31)) {
HuPrcVSleep();
}
BoardCameraMotionWait();
fn_1_A1F0();
while (BoardEventFlagGet() != 0) {
HuPrcVSleep();
}
while (GWPlayer[temp_r31].moving) {
HuPrcVSleep();
}
BoardPlayerMotionStart(temp_r31, 1, 0x40000001);
HuPrcEnd();
}
static void fn_1_CF8(void) {
BoardWinKill();
CharModelDataClose(-1);
lbl_1_bss_4 = NULL;
}
static void fn_1_D30(void) {
lbl_1_bss_4 = HuPrcChildCreate(fn_1_958, 0x2003, 0x2000, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_CF8);
while (lbl_1_bss_4) {
HuPrcVSleep();
}
}
static void fn_1_DB0(void) {
Vec sp20;
Vec sp14;
Vec sp8;
s32 temp_r31;
s32 temp_r3;
s32 temp_r29;
s32 temp_r3_2;
temp_r31 = GWSystem.player_curr;
BoardWinCreateChoice(2, MAKE_MESSID(32, 17), 3, 0);
if (GWPlayer[temp_r31].com) {
if (frand() & 1) {
BoardComKeySetLeft();
} else {
BoardComKeySetRight();
}
}
BoardWinWait();
BoardWinKill();
temp_r3 = BoardWinChoiceGet();
if (temp_r3 == 1 || temp_r3 == -1) {
BoardWinCreate(2, MAKE_MESSID(32, 18), 3);
BoardWinWait();
BoardWinKill();
BoardMGExit();
while (BoardMGDoneFlagGet() != 1) {
HuPrcVSleep();
}
BoardMGDoneFlagSet(0);
return;
}
sp20.x = -45.0f;
sp20.y = sp20.z = 0.0f;
sp14.y = 50.0f;
sp14.x = sp14.z = 0.0f;
BoardCameraMotionStartEx(lbl_1_bss_14[7], &sp20, &sp14, 1200.0f, 25.0f, 21);
temp_r29 = GWPlayer[temp_r31].space_curr;
temp_r3_2 = BoardSpaceLinkFlagSearch(0, temp_r29, 0x02000000);
BoardSpacePosGet(0, temp_r3_2, &sp8);
BoardPlayerMoveBetween(temp_r31, temp_r29, temp_r3_2);
while (GWPlayer[temp_r31].moving) {
HuPrcVSleep();
}
BoardPlayerMotionStart(temp_r31, 1, 0x40000001);
fn_1_C7D4();
while (GWPlayer[temp_r31].moving) {
HuPrcVSleep();
}
while (BoardEventFlagGet() != 0) {
HuPrcVSleep();
}
while (GWPlayer[temp_r31].moving) {
HuPrcVSleep();
}
BoardPlayerMotionStart(temp_r31, 1, 0x40000001);
}
static s32 fn_1_103C(void) {
s16 var_r30;
u32 temp_r31;
var_r30 = GWPlayer[GWSystem.player_curr].space_curr;
temp_r31 = BoardSpaceFlagGet(0, var_r30) & 0x600000;
BoardDiceDigit2DShowSet(0);
if (temp_r31 & 0x200000) {
lbl_1_bss_4 = HuPrcChildCreate(fn_1_958, 0x2003, 0x2000, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_CF8);
while (lbl_1_bss_4) {
HuPrcVSleep();
}
} else if (temp_r31 & 0x400000) {
fn_1_DB0();
}
BoardDiceDigit2DShowSet(1);
}
s32 fn_1_1130(s16 arg0, float arg1, float arg2) {
float var_f29;
float var_f31;
s32 var_r31;
var_r31 = 0;
var_f31 = BoardModelRotYGet(arg0);
arg1 = fmod(arg1, 360.0);
if (var_f31 < 0.0f) {
var_f31 += 360.0f;
}
if (arg1 < 0.0f) {
arg1 += 360.0f;
}
if (var_f31 != arg1) {
var_f29 = arg1 - var_f31;
if (var_f29 < 0.0f) {
var_f29 += 360.0f;
}
if (var_f29 < 180.0f) {
if (var_f29 > arg2) {
var_f31 = var_f31 + arg2;
} else {
var_f31 = arg1;
}
} else if (360.0f - var_f29 > arg2) {
var_f31 = var_f31 - arg2;
} else {
var_f31 = arg1;
}
if (var_f31 < 0.0f) {
var_f31 += 360.0f;
}
if (var_f31 >= 360.0f) {
var_f31 -= 360.0f;
}
BoardModelRotYSet(arg0, var_f31);
} else {
var_r31 = 1;
}
return var_r31;
}

View file

@ -15,7 +15,7 @@ Vec CRotM[16];
Vec CenterM[16];
float CZoomM[16];
omObjData *omDBGMenuButton;
s16 omDBGMenuButton;
void omOutView(omObjData *object)
{