diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..5bdca45d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "extern/musyx"] + path = extern/musyx + url = https://github.com/AxioDL/musyx diff --git a/config/GMPE01_00/rels/E3setupDLL/splits.txt b/config/GMPE01_00/rels/E3setupDLL/splits.txt index d814650f..d5a4c674 100644 --- a/config/GMPE01_00/rels/E3setupDLL/splits.txt +++ b/config/GMPE01_00/rels/E3setupDLL/splits.txt @@ -6,5 +6,17 @@ Sections: .data type:data align:8 .bss type:bss align:8 +REL/E3setupDLL/mgselect.c: + .text start:0x00000000 end:0x0000133C + .rodata start:0x00000000 end:0x00000088 + .data start:0x00000000 end:0x00000250 + .bss start:0x00000000 end:0x00000028 + REL/executor.c: .text start:0x0000133C end:0x000013DC + +REL/E3setupDLL/main.c: + .text start:0x000013DC end:0x00005850 + .rodata start:0x00000088 end:0x00000130 + .data start:0x00000250 end:0x000004D0 + .bss start:0x00000028 end:0x000000F8 diff --git a/config/GMPE01_00/rels/E3setupDLL/symbols.txt b/config/GMPE01_00/rels/E3setupDLL/symbols.txt index 989bc068..3618f15f 100644 --- a/config/GMPE01_00/rels/E3setupDLL/symbols.txt +++ b/config/GMPE01_00/rels/E3setupDLL/symbols.txt @@ -1,45 +1,45 @@ -fn_2_0 = .text:0x00000000; // type:function size:0x324 -fn_2_324 = .text:0x00000324; // type:function size:0x9C -fn_2_3C0 = .text:0x000003C0; // type:function size:0xA0 -fn_2_460 = .text:0x00000460; // type:function size:0x584 -fn_2_9E4 = .text:0x000009E4; // type:function size:0x528 -fn_2_F0C = .text:0x00000F0C; // type:function size:0x80 -fn_2_F8C = .text:0x00000F8C; // type:function size:0x1AC -fn_2_1138 = .text:0x00001138; // type:function size:0x14 -fn_2_114C = .text:0x0000114C; // type:function size:0x1F0 +E3MGSelectInit = .text:0x00000000; // type:function size:0x324 +StartMGSelect = .text:0x00000324; // type:function size:0x9C scope:local +UpdatePad = .text:0x000003C0; // type:function size:0xA0 scope:local +UpdateMGSelect = .text:0x00000460; // type:function size:0x584 scope:local +CreateMGSelect = .text:0x000009E4; // type:function size:0x528 scope:local +UpdateMGPic = .text:0x00000F0C; // type:function size:0x80 scope:local +CreateMGPic = .text:0x00000F8C; // type:function size:0x1AC scope:local +UpdateMGInterface = .text:0x00001138; // type:function size:0x14 scope:local +CreateMGInterface = .text:0x0000114C; // type:function size:0x1F0 scope:local _prolog = .text:0x0000133C; // type:function size:0x54 scope:global _epilog = .text:0x00001390; // type:function size:0x4C scope:global ModuleProlog = .text:0x000013DC; // type:function size:0x108 -fn_2_14E4 = .text:0x000014E4; // type:function size:0x514 -fn_2_19F8 = .text:0x000019F8; // type:function size:0x1AC -fn_2_1BA4 = .text:0x00001BA4; // type:function size:0x7C -fn_2_1C20 = .text:0x00001C20; // type:function size:0x84 -fn_2_1CA4 = .text:0x00001CA4; // type:function size:0x90 -fn_2_1D34 = .text:0x00001D34; // type:function size:0x24 -fn_2_1D58 = .text:0x00001D58; // type:function size:0xFC -fn_2_1E54 = .text:0x00001E54; // type:function size:0x1C0 -fn_2_2014 = .text:0x00002014; // type:function size:0x78 -fn_2_208C = .text:0x0000208C; // type:function size:0x2C -fn_2_20B8 = .text:0x000020B8; // type:function size:0xA4 -fn_2_215C = .text:0x0000215C; // type:function size:0x400 -fn_2_255C = .text:0x0000255C; // type:function size:0x124 -fn_2_2680 = .text:0x00002680; // type:function size:0x74 -fn_2_26F4 = .text:0x000026F4; // type:function size:0x344 -fn_2_2A38 = .text:0x00002A38; // type:function size:0x59C -fn_2_2FD4 = .text:0x00002FD4; // type:function size:0x208 -fn_2_31DC = .text:0x000031DC; // type:function size:0x37C -fn_2_3558 = .text:0x00003558; // type:function size:0x3B4 -fn_2_390C = .text:0x0000390C; // type:function size:0xAC -fn_2_39B8 = .text:0x000039B8; // type:function size:0x2B8 -fn_2_3C70 = .text:0x00003C70; // type:function size:0x534 -fn_2_41A4 = .text:0x000041A4; // type:function size:0x2DC -fn_2_4480 = .text:0x00004480; // type:function size:0x520 -fn_2_49A0 = .text:0x000049A0; // type:function size:0x59C -fn_2_4F3C = .text:0x00004F3C; // type:function size:0x4E8 -fn_2_5424 = .text:0x00005424; // type:function size:0x100 -fn_2_5524 = .text:0x00005524; // type:function size:0x184 -fn_2_56A8 = .text:0x000056A8; // type:function size:0x7C -fn_2_5724 = .text:0x00005724; // type:function size:0x12C +E3MainInit = .text:0x000014E4; // type:function size:0x514 +E3LightInit = .text:0x000019F8; // type:function size:0x1AC +GetStickX = .text:0x00001BA4; // type:function size:0x7C scope:local +GetStickY = .text:0x00001C20; // type:function size:0x84 scope:local +GetBtn = .text:0x00001CA4; // type:function size:0x90 scope:local +GetBtnDown = .text:0x00001D34; // type:function size:0x24 scope:local +E3PadUpdate = .text:0x00001D58; // type:function size:0xFC +E3PadInit = .text:0x00001E54; // type:function size:0x1C0 +MotionGetMaxTime = .text:0x00002014; // type:function size:0x78 +MotionGetShiftTime = .text:0x0000208C; // type:function size:0x2C +InitMenuControl = .text:0x000020B8; // type:function size:0xA4 scope:local +UpdateMenuControl = .text:0x0000215C; // type:function size:0x400 scope:local +UpdateOvlWatch = .text:0x0000255C; // type:function size:0x124 scope:local +E3OvlWatchInit = .text:0x00002680; // type:function size:0x74 +UpdatePlayerCnt = .text:0x000026F4; // type:function size:0x344 scope:local +InitPlayerCnt = .text:0x00002A38; // type:function size:0x59C scope:local +UpdateCharSelCursor = .text:0x00002FD4; // type:function size:0x208 scope:local +UpdateCharSelPlayerCursor = .text:0x000031DC; // type:function size:0x37C scope:local +UpdateCharSelComCursor = .text:0x00003558; // type:function size:0x3B4 scope:local +IsCharSelDone = .text:0x0000390C; // type:function size:0xAC scope:local +UpdateCharSel = .text:0x000039B8; // type:function size:0x2B8 scope:local +InitCharSel = .text:0x00003C70; // type:function size:0x534 scope:local +UpdateVibrateCfg = .text:0x000041A4; // type:function size:0x2DC scope:local +InitVibrateCfg = .text:0x00004480; // type:function size:0x520 scope:local +UpdateGameModeSel = .text:0x000049A0; // type:function size:0x59C scope:local +InitGameModeSel = .text:0x00004F3C; // type:function size:0x4E8 scope:local +E3BGUpdate = .text:0x00005424; // type:function size:0x100 scope:local +E3BGCreate = .text:0x00005524; // type:function size:0x184 +InitCamera = .text:0x000056A8; // type:function size:0x7C scope:local +UpdateCamera = .text:0x00005724; // type:function size:0x12C scope:local _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_2_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float @@ -112,10 +112,12 @@ lbl_2_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float lbl_2_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float lbl_2_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float lbl_2_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_2_data_24 = .data:0x00000024; // type:object size:0x1A -lbl_2_data_3E = .data:0x0000003E; // type:object size:0x1A -lbl_2_data_58 = .data:0x00000058; // type:object size:0x1C -lbl_2_data_74 = .data:0x00000074; // type:object size:0x34 +lbl_2_data_0 = .data:0x00000000; // type:object size:0x24 +lbl_2_data_24 = .data:0x00000024; // type:object size:0x11 data:string +lbl_2_data_36 = .data:0x00000036; // type:object size:0x8 +mgOvlTbl = .data:0x0000003E; // type:object size:0x1A scope:local +mgIdTbl = .data:0x00000058; // type:object size:0x1C scope:local +mgNameTbl = .data:0x00000074; // type:object size:0x34 scope:local lbl_2_data_A8 = .data:0x000000A8; // type:object size:0x21 lbl_2_data_C9 = .data:0x000000C9; // type:object size:0x16 lbl_2_data_DF = .data:0x000000DF; // type:object size:0x16 @@ -128,41 +130,46 @@ lbl_2_data_151 = .data:0x00000151; // type:object size:0x16 lbl_2_data_167 = .data:0x00000167; // type:object size:0x16 lbl_2_data_17D = .data:0x0000017D; // type:object size:0x16 lbl_2_data_193 = .data:0x00000193; // type:object size:0x16 -lbl_2_data_1A9 = .data:0x000001A9; // type:object size:0x4B -lbl_2_data_1F4 = .data:0x000001F4; // type:object size:0x14 -lbl_2_data_208 = .data:0x00000208; // type:object size:0x34 -lbl_2_data_23C = .data:0x0000023C; // type:object size:0x14 -lbl_2_data_250 = .data:0x00000250; // type:object size:0xC -lbl_2_data_25C = .data:0x0000025C; // type:object size:0xC -lbl_2_data_268 = .data:0x00000268; // type:object size:0x6C -lbl_2_data_2D4 = .data:0x000002D4; // type:object size:0x8 -lbl_2_data_2DC = .data:0x000002DC; // type:object size:0x10 -lbl_2_data_2EC = .data:0x000002EC; // type:object size:0x20 -lbl_2_data_30C = .data:0x0000030C; // type:object size:0x1C -lbl_2_data_328 = .data:0x00000328; // type:object size:0x10 -lbl_2_data_338 = .data:0x00000338; // type:object size:0x40 -lbl_2_data_378 = .data:0x00000378; // type:object size:0x20 -lbl_2_data_398 = .data:0x00000398; // type:object size:0x10 -lbl_2_data_3A8 = .data:0x000003A8; // type:object size:0x20 -lbl_2_data_3C8 = .data:0x000003C8; // type:object size:0x14 -lbl_2_data_3DC = .data:0x000003DC; // type:object size:0x14 -lbl_2_data_3F0 = .data:0x000003F0; // type:object size:0x8 -lbl_2_data_3F8 = .data:0x000003F8; // type:object size:0x10 -lbl_2_data_408 = .data:0x00000408; // type:object size:0x10 -lbl_2_data_418 = .data:0x00000418; // type:object size:0x60 +lbl_2_data_1A9 = .data:0x000001A9; // type:object size:0x17 +mgNameTestTbl = .data:0x000001C0; // type:object size:0x34 scope:local +cursorYOfsTbl = .data:0x000001F4; // type:object size:0x14 scope:local +mgPicTbl = .data:0x00000208; // type:object size:0x34 scope:local +startText = .data:0x0000023C; // type:object size:0x14 scope:local +shadowPos = .data:0x00000250; // type:object size:0xC scope:local +shadowUp = .data:0x0000025C; // type:object size:0xC scope:local +shadowTarget = .data:0x00000268; // type:object size:0xC scope:local +lbl_2_data_274 = .data:0x00000274; // type:object size:0x60 +playerCntTbl = .data:0x000002D4; // type:object size:0x8 scope:local +charTbl = .data:0x000002DC; // type:object size:0x10 scope:local +charSfxTbl = .data:0x000002EC; // type:object size:0x20 scope:local +lbl_2_data_30C = .data:0x0000030C; // type:object size:0x12 +lbl_2_data_31E = .data:0x0000031E; // type:object size:0x8 +playerCntMessTbl = .data:0x00000328; // type:object size:0x10 scope:local +charPosTbl = .data:0x00000338; // type:object size:0x40 scope:local +charComSfxTbl = .data:0x00000378; // type:object size:0x20 +lbl_2_data_398 = .data:0x00000398; // type:object size:0xE data:string +charSpriteTbl = .data:0x000003A8; // type:object size:0x20 scope:local +cursorSpriteTbl = .data:0x000003C8; // type:object size:0x14 scope:local +highlightSpriteTbl = .data:0x000003DC; // type:object size:0x14 scope:local +vibrateSettingMess = .data:0x000003F0; // type:object size:0x8 scope:local +modeSelCursorPosTbl = .data:0x000003F8; // type:object size:0x10 scope:local +boardSelCursorPosTbl = .data:0x00000408; // type:object size:0x10 scope:local +camRotTbl = .data:0x00000418; // type:object size:0x60 scope:local lbl_2_data_478 = .data:0x00000478; // type:object size:0x24 -lbl_2_data_49C = .data:0x0000049C; // type:object size:0x34 +lbl_2_data_49C = .data:0x0000049C; // type:object size:0x24 +lbl_2_data_4C0 = .data:0x000004C0; // type:object size:0x10 lbl_2_bss_A = .bss:0x0000000A; // type:object size:0x2 data:2byte lbl_2_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte lbl_2_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte lbl_2_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte -lbl_2_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte -lbl_2_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte -lbl_2_bss_20 = .bss:0x00000020; // type:object size:0x4 data:4byte -lbl_2_bss_24 = .bss:0x00000024; // type:object size:0x2 data:2byte +mgPicObj = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte +mgSelectObj = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte +mgInterface = .bss:0x00000020; // type:object size:0x4 scope:local data:4byte +mgDefault = .bss:0x00000024; // type:object size:0x2 scope:local data:2byte lbl_2_bss_28 = .bss:0x00000028; // type:object size:0xC data:2byte -lbl_2_bss_34 = .bss:0x00000034; // type:object size:0x2 data:2byte +lbl_2_bss_34 = .bss:0x00000034; // type:object size:0x2 scope:local data:2byte lbl_2_bss_36 = .bss:0x00000036; // type:object size:0x2 data:2byte +lbl_2_bss_38 = .bss:0x00000038; // type:object size:0x2 data:2byte lbl_2_bss_3A = .bss:0x0000003A; // type:object size:0x2 data:2byte lbl_2_bss_3C = .bss:0x0000003C; // type:object size:0x4 data:4byte lbl_2_bss_40 = .bss:0x00000040; // type:object size:0x2 data:2byte @@ -171,22 +178,24 @@ lbl_2_bss_48 = .bss:0x00000048; // type:object size:0xC data:float lbl_2_bss_54 = .bss:0x00000054; // type:object size:0xC data:float lbl_2_bss_60 = .bss:0x00000060; // type:object size:0x2 data:2byte lbl_2_bss_62 = .bss:0x00000062; // type:object size:0x8 -lbl_2_bss_6A = .bss:0x0000006A; // type:object size:0x6 data:2byte -lbl_2_bss_70 = .bss:0x00000070; // type:object size:0x4 data:4byte -lbl_2_bss_74 = .bss:0x00000074; // type:object size:0x18 data:4byte -lbl_2_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:4byte +lightE3 = .bss:0x0000006A; // type:object size:0x2 scope:local data:2byte +lbl_2_bss_6C = .bss:0x0000006C; // type:object size:0x4 data:2byte +e3BGObj = .bss:0x00000070; // type:object size:0x4 data:4byte +configModeObj = .bss:0x00000074; // type:object size:0x10 scope:local data:4byte +lbl_2_bss_84 = .bss:0x00000084; // type:object size:0x8 data:4byte +cameraObj = .bss:0x0000008C; // type:object size:0x4 scope:local data:4byte lbl_2_bss_90 = .bss:0x00000090; // type:object size:0x4 data:4byte -lbl_2_bss_94 = .bss:0x00000094; // type:object size:0x4 data:4byte -lbl_2_bss_98 = .bss:0x00000098; // type:object size:0x4 data:4byte -lbl_2_bss_9C = .bss:0x0000009C; // type:object size:0x4 data:float -lbl_2_bss_A0 = .bss:0x000000A0; // type:object size:0x4 data:4byte -lbl_2_bss_A4 = .bss:0x000000A4; // type:object size:0x4 data:4byte -lbl_2_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte -lbl_2_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:4byte +e3ViewObj = .bss:0x00000094; // type:object size:0x4 data:4byte +e3MenuMainObj = .bss:0x00000098; // type:object size:0x4 data:4byte +e3CameraFov = .bss:0x0000009C; // type:object size:0x4 data:float +needCharKill = .bss:0x000000A0; // type:object size:0x4 scope:local data:4byte +e3ExitMode = .bss:0x000000A4; // type:object size:0x4 data:4byte +e3NextEvent = .bss:0x000000A8; // type:object size:0x4 data:4byte +e3NextOvl = .bss:0x000000AC; // type:object size:0x4 data:4byte lbl_2_bss_B0 = .bss:0x000000B0; // type:object size:0x4 data:4byte -lbl_2_bss_B4 = .bss:0x000000B4; // type:object size:0x4 data:4byte -lbl_2_bss_B8 = .bss:0x000000B8; // type:object size:0x4 data:4byte -lbl_2_bss_BC = .bss:0x000000BC; // type:object size:0x2 data:2byte -lbl_2_bss_BE = .bss:0x000000BE; // type:object size:0x2 data:2byte -lbl_2_bss_C0 = .bss:0x000000C0; // type:object size:0x20 -lbl_2_bss_E0 = .bss:0x000000E0; // type:object size:0x18 data:2byte +e3ExitEnableF = .bss:0x000000B4; // type:object size:0x4 data:4byte +e3EvtNo = .bss:0x000000B8; // type:object size:0x4 scope:local data:4byte +e3ConfigPlayerF = .bss:0x000000BC; // type:object size:0x2 data:2byte +e3PadCtrl = .bss:0x000000BE; // type:object size:0x2 data:2byte +e3PadData = .bss:0x000000C0; // type:object size:0x20 +configE3 = .bss:0x000000E0; // type:object size:0x18 scope:local data:2byte diff --git a/config/GMPE01_00/rels/instDll/splits.txt b/config/GMPE01_00/rels/instDll/splits.txt index 531cd645..213de269 100644 --- a/config/GMPE01_00/rels/instDll/splits.txt +++ b/config/GMPE01_00/rels/instDll/splits.txt @@ -5,3 +5,17 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/instDll/main.c: + .text start:0x000000A0 end:0x00005EA4 + .rodata start:0x00000000 end:0x00000210 + .data start:0x00000000 end:0x00000150 + .bss start:0x00000000 end:0x00000064 + +REL/instDll/font.c: + .text start:0x00005EA4 end:0x0000635C + .rodata start:0x00000210 end:0x00000218 + .data start:0x00000150 end:0x00000468 diff --git a/config/GMPE01_00/rels/instDll/symbols.txt b/config/GMPE01_00/rels/instDll/symbols.txt index 2defeafc..db3511cb 100644 --- a/config/GMPE01_00/rels/instDll/symbols.txt +++ b/config/GMPE01_00/rels/instDll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x8F4 +ModuleProlog = .text:0x000000A0; // type:function size:0x8F4 fn_1_994 = .text:0x00000994; // type:function size:0xE50 fn_1_17E4 = .text:0x000017E4; // type:function size:0xA28 fn_1_220C = .text:0x0000220C; // type:function size:0x5F8 diff --git a/config/GMPE01_00/rels/m401Dll/splits.txt b/config/GMPE01_00/rels/m401Dll/splits.txt index 531cd645..346c5638 100644 --- a/config/GMPE01_00/rels/m401Dll/splits.txt +++ b/config/GMPE01_00/rels/m401Dll/splits.txt @@ -5,3 +5,18 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m401Dll/main.c: + .text start:0x000000A0 end:0x00010240 + .rodata start:0x00000000 end:0x00000450 + .data start:0x00000000 end:0x00000478 + .bss start:0x00000000 end:0x00000120 + +REL/m401Dll/main_ex.c: + .text start:0x00010240 end:0x00014E14 + .rodata start:0x00000450 end:0x000005E8 + .data start:0x00000478 end:0x00000498 + .bss start:0x00000120 end:0x00000254 diff --git a/config/GMPE01_00/rels/m401Dll/symbols.txt b/config/GMPE01_00/rels/m401Dll/symbols.txt index 6a0cc8b9..371068fb 100644 --- a/config/GMPE01_00/rels/m401Dll/symbols.txt +++ b/config/GMPE01_00/rels/m401Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_2_A0 = .text:0x000000A0; // type:function size:0x66C +ModuleProlog = .text:0x000000A0; // type:function size:0x66C fn_2_70C = .text:0x0000070C; // type:function size:0x304 fn_2_A10 = .text:0x00000A10; // type:function size:0x88 fn_2_A98 = .text:0x00000A98; // type:function size:0x54 diff --git a/config/GMPE01_00/rels/m402Dll/splits.txt b/config/GMPE01_00/rels/m402Dll/splits.txt index 531cd645..aacd2475 100644 --- a/config/GMPE01_00/rels/m402Dll/splits.txt +++ b/config/GMPE01_00/rels/m402Dll/splits.txt @@ -5,3 +5,9 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/m402Dll/main.c: + .text start:0x00000000 end:0x00009BC4 + .rodata start:0x00000000 end:0x0000018C + .data start:0x00000000 end:0x000004C6 + .bss start:0x00000000 end:0x00000210 diff --git a/config/GMPE01_00/rels/m403Dll/splits.txt b/config/GMPE01_00/rels/m403Dll/splits.txt index 531cd645..9bdc01d2 100644 --- a/config/GMPE01_00/rels/m403Dll/splits.txt +++ b/config/GMPE01_00/rels/m403Dll/splits.txt @@ -5,3 +5,18 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m403Dll/main.c: + .text start:0x000000A0 end:0x0000650C + .rodata start:0x00000000 end:0x000001A8 + .data start:0x00000000 end:0x00000158 + .bss start:0x00000000 end:0x00000058 + +REL/m403Dll/scene.c: + .text start:0x0000650C end:0x00008F6C + .rodata start:0x000001A8 end:0x00000250 + .data start:0x00000158 end:0x00000BBC + .bss start:0x00000058 end:0x000000B8 diff --git a/config/GMPE01_00/rels/m403Dll/symbols.txt b/config/GMPE01_00/rels/m403Dll/symbols.txt index f3ebacb7..312ab162 100644 --- a/config/GMPE01_00/rels/m403Dll/symbols.txt +++ b/config/GMPE01_00/rels/m403Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x384 +ModuleProlog = .text:0x000000A0; // type:function size:0x384 fn_1_424 = .text:0x00000424; // type:function size:0x20 fn_1_444 = .text:0x00000444; // type:function size:0x3E8 fn_1_82C = .text:0x0000082C; // type:function size:0x9E8 diff --git a/config/GMPE01_00/rels/m404Dll/splits.txt b/config/GMPE01_00/rels/m404Dll/splits.txt index 531cd645..34c69724 100644 --- a/config/GMPE01_00/rels/m404Dll/splits.txt +++ b/config/GMPE01_00/rels/m404Dll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/m404Dll/main.c: + .text start:0x000000A0 end:0x00006C88 + .rodata start:0x00000000 end:0x00000140 + .data start:0x00000000 end:0x00000A0C + .bss start:0x00000000 end:0x0000005C diff --git a/config/GMPE01_00/rels/m404Dll/symbols.txt b/config/GMPE01_00/rels/m404Dll/symbols.txt index b3dd1045..3ffbe0e4 100644 --- a/config/GMPE01_00/rels/m404Dll/symbols.txt +++ b/config/GMPE01_00/rels/m404Dll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x2DC +ModuleProlog = .text:0x000000A0; // type:function size:0x2DC fn_1_37C = .text:0x0000037C; // type:function size:0x10 fn_1_38C = .text:0x0000038C; // type:function size:0x10 fn_1_39C = .text:0x0000039C; // type:function size:0x64 diff --git a/config/GMPE01_00/rels/mentDll/splits.txt b/config/GMPE01_00/rels/mentDll/splits.txt index 531cd645..57db84a5 100644 --- a/config/GMPE01_00/rels/mentDll/splits.txt +++ b/config/GMPE01_00/rels/mentDll/splits.txt @@ -5,3 +5,13 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/mentDll/common.c: + .text start:0x00000000 end:0x0000658C + .rodata start:0x00000000 end:0x000000E8 + +REL/mentDll/main.c: + .text start:0x0000658C end:0x00023A38 + .rodata start:0x000000E8 end:0x00000528 + .data start:0x00000000 end:0x000006D0 + .bss start:0x00000000 end:0x000036C4 diff --git a/config/GMPE01_00/rels/mgmodedll/splits.txt b/config/GMPE01_00/rels/mgmodedll/splits.txt index 531cd645..44d8bd41 100644 --- a/config/GMPE01_00/rels/mgmodedll/splits.txt +++ b/config/GMPE01_00/rels/mgmodedll/splits.txt @@ -5,3 +5,51 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/mgmodedll/mgmode.c: + .text start:0x000000A0 end:0x00006C18 + .rodata start:0x00000000 end:0x00000160 + .data start:0x00000000 end:0x000000A0 + .bss start:0x00000000 end:0x000002E0 + +REL/mgmodedll/free_play.c: + .text start:0x00006C18 end:0x0000D8D0 + .rodata start:0x00000160 end:0x000002F0 + .data start:0x000000A0 end:0x00000148 + .bss start:0x000002E0 end:0x00000370 + +REL/mgmodedll/record.c: + .text start:0x0000D8D0 end:0x0000E72C + .rodata start:0x000002F0 end:0x00000390 + .bss start:0x00000370 end:0x00000388 + +REL/mgmodedll/battle.c: + .text start:0x0000E72C end:0x00013418 + .rodata start:0x00000390 end:0x000004D8 + .data start:0x00000148 end:0x00000168 + .bss start:0x00000388 end:0x000003A8 + +REL/mgmodedll/tictactoe.c: + .text start:0x00013418 end:0x00018DF8 + .rodata start:0x000004D8 end:0x000005B0 + .data start:0x00000168 end:0x000001E0 + .bss start:0x000003A8 end:0x000003C0 + +REL/mgmodedll/main.c: + .text start:0x00018DF8 end:0x000267E8 + .rodata start:0x000005B0 end:0x00000718 + .data start:0x000001E0 end:0x00000490 + .bss start:0x000003C0 end:0x00002C9A + +REL/mgmodedll/datalist.c: + .text start:0x000267E8 end:0x00026C28 + .rodata start:0x00000718 end:0x00000728 + .data start:0x00000490 end:0x000009C0 + +REL/mgmodedll/minigame.c: + .text start:0x00026C28 end:0x00027CF0 + .rodata start:0x00000728 end:0x00000790 + .data start:0x000009C0 end:0x00000A02 diff --git a/config/GMPE01_00/rels/mgmodedll/symbols.txt b/config/GMPE01_00/rels/mgmodedll/symbols.txt index 506d2aa6..a6578bfb 100644 --- a/config/GMPE01_00/rels/mgmodedll/symbols.txt +++ b/config/GMPE01_00/rels/mgmodedll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x3C4 +ModuleProlog = .text:0x000000A0; // type:function size:0x3C4 fn_1_464 = .text:0x00000464; // type:function size:0x294 fn_1_6F8 = .text:0x000006F8; // type:function size:0x6F8 fn_1_DF0 = .text:0x00000DF0; // type:function size:0xD1C @@ -492,7 +492,7 @@ lbl_1_data_19C = .data:0x0000019C; // type:object size:0x10 lbl_1_data_1AC = .data:0x000001AC; // type:object size:0x10 lbl_1_data_1BC = .data:0x000001BC; // type:object size:0xA data:string lbl_1_data_1C6 = .data:0x000001C6; // type:object size:0xE data:string -lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0x10 +lbl_1_data_1D4 = .data:0x000001D4; // type:object size:0xB data:string lbl_1_data_1E4 = .data:0x000001E4; // type:object size:0x24 data:string lbl_1_data_208 = .data:0x00000208; // type:object size:0x26 data:string lbl_1_data_22E = .data:0x0000022E; // type:object size:0x27 data:string @@ -530,7 +530,7 @@ lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x2 data:2byte lbl_1_bss_2CE = .bss:0x000002CE; // type:object size:0x2 data:2byte lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x8 data:4byte lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x4 data:4byte -lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x6 +lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x4 data:4byte lbl_1_bss_2E2 = .bss:0x000002E2; // type:object size:0x2 data:2byte lbl_1_bss_2E4 = .bss:0x000002E4; // type:object size:0x2 data:2byte lbl_1_bss_2E6 = .bss:0x000002E6; // type:object size:0x2 data:2byte diff --git a/config/GMPE01_00/rels/modeseldll/splits.txt b/config/GMPE01_00/rels/modeseldll/splits.txt index 531cd645..36609413 100644 --- a/config/GMPE01_00/rels/modeseldll/splits.txt +++ b/config/GMPE01_00/rels/modeseldll/splits.txt @@ -5,3 +5,29 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/modeseldll/main.c: + .text start:0x000000A0 end:0x00002490 + .rodata start:0x00000000 end:0x000000B8 + .data start:0x00000000 end:0x00000080 + .bss start:0x00000000 end:0x00000080 + +REL/modeseldll/modesel.c: + .text start:0x00002490 end:0x000037DC + .rodata start:0x000000B8 end:0x000001B0 + .data start:0x00000080 end:0x00000100 + .bss start:0x00000080 end:0x00000088 + +REL/modeseldll/filesel.c: + .text start:0x000037DC end:0x0000BED8 + .rodata start:0x000001B0 end:0x00000318 + .data start:0x00000100 end:0x00000428 + .bss start:0x00000088 end:0x000001CA + +REL/modeseldll/datalist.c: + .text start:0x0000BED8 end:0x0000C334 + .rodata start:0x00000318 end:0x00000328 + .data start:0x00000428 end:0x00000A2C diff --git a/config/GMPE01_00/rels/modeseldll/symbols.txt b/config/GMPE01_00/rels/modeseldll/symbols.txt index f12db773..31d88edd 100644 --- a/config/GMPE01_00/rels/modeseldll/symbols.txt +++ b/config/GMPE01_00/rels/modeseldll/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x374 +ModuleProlog = .text:0x000000A0; // type:function size:0x374 fn_1_414 = .text:0x00000414; // type:function size:0x5E0 fn_1_9F4 = .text:0x000009F4; // type:function size:0xFC fn_1_AF0 = .text:0x00000AF0; // type:function size:0x9C @@ -234,7 +234,7 @@ lbl_1_bss_70 = .bss:0x00000070; // type:object size:0x8 data:4byte lbl_1_bss_78 = .bss:0x00000078; // type:object size:0x4 data:4byte lbl_1_bss_7C = .bss:0x0000007C; // type:object size:0x4 data:4byte lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x2 data:2byte -lbl_1_bss_82 = .bss:0x00000082; // type:object size:0x6 data:2byte +lbl_1_bss_82 = .bss:0x00000082; // type:object size:0x2 data:2byte lbl_1_bss_88 = .bss:0x00000088; // type:object size:0x2 data:2byte lbl_1_bss_8C = .bss:0x0000008C; // type:object size:0x4 data:float lbl_1_bss_90 = .bss:0x00000090; // type:object size:0x2 data:2byte diff --git a/config/GMPE01_00/rels/mpexDll/splits.txt b/config/GMPE01_00/rels/mpexDll/splits.txt index 531cd645..dec8bfef 100644 --- a/config/GMPE01_00/rels/mpexDll/splits.txt +++ b/config/GMPE01_00/rels/mpexDll/splits.txt @@ -5,3 +5,26 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/mpexDll/main.c: + .text start:0x00000000 end:0x00003044 + .rodata start:0x00000000 end:0x000000A0 + .data start:0x00000000 end:0x00000240 + .bss start:0x00000000 end:0x000000A8 + +REL/mpexDll/mpex.c: + .text start:0x00003044 end:0x0001264C + .rodata start:0x000000A0 end:0x00000538 + .data start:0x00000240 end:0x00000518 + .bss start:0x000000A8 end:0x00000440 + +REL/mpexDll/charsel.c: + .text start:0x0001264C end:0x0001CB80 + .rodata start:0x00000538 end:0x00000610 + .data start:0x00000518 end:0x00000788 + .bss start:0x00000440 end:0x000006AD + +REL/mpexDll/mgname.c: + .text start:0x0001CB80 end:0x0001D198 + .rodata start:0x00000610 end:0x00000618 + .data start:0x00000788 end:0x00000788 diff --git a/config/GMPE01_00/rels/mpexDll/symbols.txt b/config/GMPE01_00/rels/mpexDll/symbols.txt index a3c447db..85a09fc4 100644 --- a/config/GMPE01_00/rels/mpexDll/symbols.txt +++ b/config/GMPE01_00/rels/mpexDll/symbols.txt @@ -389,7 +389,8 @@ lbl_1_data_18D = .data:0x0000018D; // type:object size:0x4F data:string lbl_1_data_1DC = .data:0x000001DC; // type:object size:0x22 data:string lbl_1_data_1FE = .data:0x000001FE; // type:object size:0x1A data:string lbl_1_data_218 = .data:0x00000218; // type:object size:0x1A data:string -lbl_1_data_232 = .data:0x00000232; // type:object size:0x62 +lbl_1_data_232 = .data:0x00000232; // type:object size:0xE data:string +lbl_1_data_240 = .data:0x00000240; // type:object size:0x54 lbl_1_data_294 = .data:0x00000294; // type:object size:0x4 data:4byte lbl_1_data_298 = .data:0x00000298; // type:object size:0x4 data:4byte lbl_1_data_29C = .data:0x0000029C; // type:object size:0x18 diff --git a/config/GMPE01_00/rels/option/splits.txt b/config/GMPE01_00/rels/option/splits.txt index 531cd645..79b7fd34 100644 --- a/config/GMPE01_00/rels/option/splits.txt +++ b/config/GMPE01_00/rels/option/splits.txt @@ -5,3 +5,57 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/option/scene.c: + .text start:0x000000A0 end:0x000007F8 + .rodata start:0x00000000 end:0x00000028 + .bss start:0x00000000 end:0x00000010 + +REL/option/camera.c: + .text start:0x000007F8 end:0x000015A4 + .rodata start:0x00000028 end:0x000000A8 + .data start:0x00000000 end:0x00000068 + .bss start:0x00000010 end:0x00000018 + +REL/option/room.c: + .text start:0x000015A4 end:0x000021F8 + .rodata start:0x000000A8 end:0x000000E0 + .data start:0x00000068 end:0x00000098 + .bss start:0x00000018 end:0x00000020 + +REL/option/guide.c: + .text start:0x000021F8 end:0x00002E04 + .rodata start:0x000000E0 end:0x00000160 + .data start:0x00000098 end:0x000000A0 + .bss start:0x00000020 end:0x00000028 + +REL/option/state.c: + .text start:0x00002E04 end:0x00003158 + .rodata start:0x00000160 end:0x00000170 + .data start:0x000000A0 end:0x00000108 + .bss start:0x00000028 end:0x00000030 + +REL/option/rumble.c: + .text start:0x00003158 end:0x00004028 + .rodata start:0x00000170 end:0x000001A8 + .data start:0x00000108 end:0x00000118 + .bss start:0x00000030 end:0x00000038 + +REL/option/sound.c: + .text start:0x00004028 end:0x000080E4 + .rodata start:0x000001A8 end:0x000013C0 + .data start:0x00000118 end:0x00000210 + .bss start:0x00000038 end:0x00000040 + +REL/option/record.c: + .text start:0x000080E4 end:0x0000A3B0 + .rodata start:0x000013C0 end:0x000019D0 + .data start:0x00000210 end:0x00000254 + .bss start:0x00000040 end:0x00000044 + +REL/option/window.c: + .text start:0x0000A3B0 end:0x0000A9AC + .rodata start:0x000019D0 end:0x000019F0 diff --git a/config/GMPE01_00/rels/option/symbols.txt b/config/GMPE01_00/rels/option/symbols.txt index 4b8cc6e5..7be52769 100644 --- a/config/GMPE01_00/rels/option/symbols.txt +++ b/config/GMPE01_00/rels/option/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0xC0 +ModuleProlog = .text:0x000000A0; // type:function size:0xC0 fn_1_160 = .text:0x00000160; // type:function size:0x110 fn_1_270 = .text:0x00000270; // type:function size:0xE4 fn_1_354 = .text:0x00000354; // type:function size:0x114 diff --git a/config/GMPE01_00/rels/present/splits.txt b/config/GMPE01_00/rels/present/splits.txt index 531cd645..5ac9cc92 100644 --- a/config/GMPE01_00/rels/present/splits.txt +++ b/config/GMPE01_00/rels/present/splits.txt @@ -5,3 +5,32 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/present/init.c: + .text start:0x000000A0 end:0x00000920 + .rodata start:0x00000000 end:0x00000020 + .bss start:0x00000000 end:0x00000020 + +REL/present/camera.c: + .text start:0x00000920 end:0x00001458 + .rodata start:0x00000020 end:0x000000A0 + .data start:0x00000000 end:0x00000050 + +REL/present/present.c: + .text start:0x00001458 end:0x000039A8 + .rodata start:0x000000A0 end:0x00000BB0 + .data start:0x00000050 end:0x000000F0 + +REL/present/main.c: + .text start:0x000039A8 end:0x000042F4 + .rodata start:0x00000BB0 end:0x00000BD8 + .data start:0x000000F0 end:0x000001A0 + .bss start:0x00000020 end:0x00000024 + +REL/present/common.c: + .text start:0x000042F4 end:0x00004DF0 + .rodata start:0x00000BD8 end:0x00000C50 + .data start:0x000001A0 end:0x000001AC diff --git a/config/GMPE01_00/rels/present/symbols.txt b/config/GMPE01_00/rels/present/symbols.txt index e6b4d8f0..fb21664c 100644 --- a/config/GMPE01_00/rels/present/symbols.txt +++ b/config/GMPE01_00/rels/present/symbols.txt @@ -1,6 +1,6 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0xA4 +ModuleProlog = .text:0x000000A0; // type:function size:0xA4 fn_1_144 = .text:0x00000144; // type:function size:0x110 fn_1_254 = .text:0x00000254; // type:function size:0xE0 fn_1_334 = .text:0x00000334; // type:function size:0x128 diff --git a/config/GMPE01_00/rels/selmenuDll/splits.txt b/config/GMPE01_00/rels/selmenuDll/splits.txt index 531cd645..0c8a822e 100644 --- a/config/GMPE01_00/rels/selmenuDll/splits.txt +++ b/config/GMPE01_00/rels/selmenuDll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/selmenuDll/selmenuDll.c: + .text start:0x000000A0 end:0x00005198 + .rodata start:0x00000000 end:0x00000084 + .data start:0x00000000 end:0x00000B3F + .bss start:0x00000000 end:0x00000098 diff --git a/config/GMPE01_00/rels/selmenuDll/symbols.txt b/config/GMPE01_00/rels/selmenuDll/symbols.txt index d5cd5a48..849ff5fb 100644 --- a/config/GMPE01_00/rels/selmenuDll/symbols.txt +++ b/config/GMPE01_00/rels/selmenuDll/symbols.txt @@ -1,28 +1,28 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x4B8 -fn_1_558 = .text:0x00000558; // type:function size:0x60 -fn_1_5B8 = .text:0x000005B8; // type:function size:0x324 -fn_1_8DC = .text:0x000008DC; // type:function size:0x170 -fn_1_A4C = .text:0x00000A4C; // type:function size:0x180 -fn_1_BCC = .text:0x00000BCC; // type:function size:0x88 -fn_1_C54 = .text:0x00000C54; // type:function size:0x474 -fn_1_10C8 = .text:0x000010C8; // type:function size:0xA78 -fn_1_1B40 = .text:0x00001B40; // type:function size:0x334 -fn_1_1E74 = .text:0x00001E74; // type:function size:0x110 -fn_1_1F84 = .text:0x00001F84; // type:function size:0x50 +ModuleProlog = .text:0x000000A0; // type:function size:0x4B8 +CopyPlayerCfg = .text:0x00000558; // type:function size:0x60 scope:local +CalcBtns = .text:0x000005B8; // type:function size:0x324 scope:local +DrawPage = .text:0x000008DC; // type:function size:0x170 scope:local +MoveChar = .text:0x00000A4C; // type:function size:0x180 scope:local +MoveCursor = .text:0x00000BCC; // type:function size:0x88 scope:local +SMInit = .text:0x00000C54; // type:function size:0x474 scope:local +SMUpdate = .text:0x000010C8; // type:function size:0xA78 scope:local +SMCfgUpdate = .text:0x00001B40; // type:function size:0x334 scope:local +SMComCharGet = .text:0x00001E74; // type:function size:0x110 scope:local +SMCharKill = .text:0x00001F84; // type:function size:0x50 scope:local fn_1_1FD4 = .text:0x00001FD4; // type:function size:0x10C -fn_1_20E0 = .text:0x000020E0; // type:function size:0x1F8 -fn_1_22D8 = .text:0x000022D8; // type:function size:0xD6C -fn_1_3044 = .text:0x00003044; // type:function size:0x2FC -fn_1_3340 = .text:0x00003340; // type:function size:0x804 -fn_1_3B44 = .text:0x00003B44; // type:function size:0x40 -fn_1_3B84 = .text:0x00003B84; // type:function size:0x968 -fn_1_44EC = .text:0x000044EC; // type:function size:0x20 +SMCharInit = .text:0x000020E0; // type:function size:0x1F8 scope:local +SMCharUpdate = .text:0x000022D8; // type:function size:0xD6C scope:local +SMExit = .text:0x00003044; // type:function size:0x2FC scope:local +SMPlayerCfgDraw = .text:0x00003340; // type:function size:0x804 scope:local +SMPlayerCfgInit = .text:0x00003B44; // type:function size:0x40 scope:local +SMPlayerCfgUpdate = .text:0x00003B84; // type:function size:0x968 scope:local +SMRand8Tick = .text:0x000044EC; // type:function size:0x20 scope:local fn_1_450C = .text:0x0000450C; // type:function size:0x4 -fn_1_4510 = .text:0x00004510; // type:function size:0x64 -fn_1_4574 = .text:0x00004574; // type:function size:0x854 -fn_1_4DC8 = .text:0x00004DC8; // type:function size:0x3D0 +SMSound3DInit = .text:0x00004510; // type:function size:0x64 scope:local +SMSound3DUpdate = .text:0x00004574; // type:function size:0x854 scope:local +SMSound3DDraw = .text:0x00004DC8; // type:function size:0x3D0 scope:local _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float @@ -56,7 +56,7 @@ lbl_1_data_18 = .data:0x00000018; // type:object size:0x6 data:string lbl_1_data_1E = .data:0x0000001E; // type:object size:0x7 data:string lbl_1_data_25 = .data:0x00000025; // type:object size:0x6 data:string lbl_1_data_2B = .data:0x0000002B; // type:object size:0x9 -lbl_1_data_34 = .data:0x00000034; // type:object size:0x20 +charTbl = .data:0x00000034; // type:object size:0x20 scope:local lbl_1_data_54 = .data:0x00000054; // type:object size:0x14 data:string lbl_1_data_68 = .data:0x00000068; // type:object size:0x16 data:string lbl_1_data_7E = .data:0x0000007E; // type:object size:0x11 data:string @@ -127,8 +127,8 @@ lbl_1_data_4B6 = .data:0x000004B6; // type:object size:0xE data:string lbl_1_data_4C4 = .data:0x000004C4; // type:object size:0xE data:string lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0xA data:string lbl_1_data_4DC = .data:0x000004DC; // type:object size:0x10 -lbl_1_data_4EC = .data:0x000004EC; // type:object size:0x348 -lbl_1_data_834 = .data:0x00000834; // type:object size:0x28 +menuTbl = .data:0x000004EC; // type:object size:0x348 scope:local +lbl_1_data_844 = .data:0x00000834; // type:object size:0x18 lbl_1_data_85C = .data:0x0000085C; // type:object size:0x12 data:string lbl_1_data_86E = .data:0x0000086E; // type:object size:0x12 data:string lbl_1_data_880 = .data:0x00000880; // type:object size:0x12 data:string @@ -136,18 +136,19 @@ lbl_1_data_892 = .data:0x00000892; // type:object size:0x12 data:string lbl_1_data_8A4 = .data:0x000008A4; // type:object size:0x12 data:string lbl_1_data_8B6 = .data:0x000008B6; // type:object size:0x12 data:string lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x11 data:string -lbl_1_data_8D9 = .data:0x000008D9; // type:object size:0x23 -lbl_1_data_8FC = .data:0x000008FC; // type:object size:0x2 data:2byte -lbl_1_data_8FE = .data:0x000008FE; // type:object size:0x8 +lbl_1_data_8D9 = .data:0x000008D9; // type:object size:0x3 +sndTable = .data:0x000008DC; // type:object size:0x20 scope:local +cursorPosBackup = .data:0x000008FC; // type:object size:0x2 data:2byte +btnPrev = .data:0x000008FE; // type:object size:0x8 scope:local lbl_1_data_906 = .data:0x00000906; // type:object size:0x12 -lbl_1_data_918 = .data:0x00000918; // type:object size:0x4 data:4byte +funcNameStr = .data:0x00000918; // type:object size:0x4 scope:local data:4byte lbl_1_data_91C = .data:0x0000091C; // type:object size:0x12 data:string lbl_1_data_92E = .data:0x0000092E; // type:object size:0x24 data:string lbl_1_data_952 = .data:0x00000952; // type:object size:0xB data:string lbl_1_data_95D = .data:0x0000095D; // type:object size:0x3 data:string lbl_1_data_960 = .data:0x00000960; // type:object size:0x10 -lbl_1_data_970 = .data:0x00000970; // type:object size:0x20 -lbl_1_data_990 = .data:0x00000990; // type:object size:0x20 +charMdlTbl = .data:0x00000970; // type:object size:0x20 scope:local +charMdlAnimTbl = .data:0x00000990; // type:object size:0x20 scope:local lbl_1_data_9B0 = .data:0x000009B0; // type:object size:0xD data:string lbl_1_data_9BD = .data:0x000009BD; // type:object size:0x5 lbl_1_data_9C2 = .data:0x000009C2; // type:object size:0x5 @@ -158,7 +159,7 @@ lbl_1_data_9E0 = .data:0x000009E0; // type:object size:0xA data:string lbl_1_data_9EA = .data:0x000009EA; // type:object size:0x9 data:string lbl_1_data_9F3 = .data:0x000009F3; // type:object size:0x9 data:string lbl_1_data_9FC = .data:0x000009FC; // type:object size:0xC -lbl_1_data_A08 = .data:0x00000A08; // type:object size:0x14 data:4byte +padCfgStrTbl = .data:0x00000A08; // type:object size:0x14 scope:local data:4byte lbl_1_data_A1C = .data:0x00000A1C; // type:object size:0x6 data:string lbl_1_data_A22 = .data:0x00000A22; // type:object size:0x4 data:string lbl_1_data_A26 = .data:0x00000A26; // type:object size:0x5 data:string @@ -178,24 +179,24 @@ lbl_1_data_AEC = .data:0x00000AEC; // type:object size:0x15 data:string lbl_1_data_B01 = .data:0x00000B01; // type:object size:0x15 data:string lbl_1_data_B16 = .data:0x00000B16; // type:object size:0x15 data:string lbl_1_data_B2B = .data:0x00000B2B; // type:object size:0x14 data:string -lbl_1_bss_2 = .bss:0x00000002; // type:object size:0x2 data:2byte -lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte -lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte -lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte -lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x2 data:2byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x10 -lbl_1_bss_1E = .bss:0x0000001E; // type:object size:0x8 -lbl_1_bss_26 = .bss:0x00000026; // type:object size:0x10 -lbl_1_bss_36 = .bss:0x00000036; // type:object size:0x8 -lbl_1_bss_3E = .bss:0x0000003E; // type:object size:0x8 -lbl_1_bss_46 = .bss:0x00000046; // type:object size:0x8 -lbl_1_bss_4E = .bss:0x0000004E; // type:object size:0x2 data:2byte -lbl_1_bss_50 = .bss:0x00000050; // type:object size:0x2 data:2byte -lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte -lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x2 data:2byte -lbl_1_bss_56 = .bss:0x00000056; // type:object size:0x2A data:2byte -lbl_1_bss_80 = .bss:0x00000080; // type:object size:0x4 data:4byte -lbl_1_bss_84 = .bss:0x00000084; // type:object size:0x4 data:4byte -lbl_1_bss_88 = .bss:0x00000088; // type:object size:0xE -lbl_1_bss_96 = .bss:0x00000096; // type:object size:0x2 data:2byte +sound3DCursorPos = .bss:0x00000002; // type:object size:0x2 scope:local data:2byte +emiCompVal = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte +emiCompDataNo = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte +playerCfgField = .bss:0x00000008; // type:object size:0x2 scope:local data:2byte +playerCfgPos = .bss:0x0000000A; // type:object size:0x2 scope:local data:2byte +playerCfgSelF = .bss:0x0000000C; // type:object size:0x2 scope:local data:2byte +charSelDisallowF = .bss:0x0000000E; // type:object size:0x10 scope:local +playerCharSelF = .bss:0x0000001E; // type:object size:0x8 scope:local +charModelID = .bss:0x00000026; // type:object size:0x10 scope:local +bntReleaseAll = .bss:0x00000036; // type:object size:0x8 scope:local +btnAll = .bss:0x0000003E; // type:object size:0x8 scope:local +btnDownAll = .bss:0x00000046; // type:object size:0x8 scope:local +btnReleaseCurr = .bss:0x0000004E; // type:object size:0x2 scope:local data:2byte +btnCurr = .bss:0x00000050; // type:object size:0x2 scope:local data:2byte +btnDownCurr = .bss:0x00000052; // type:object size:0x2 scope:local data:2byte +smSelectPos = .bss:0x00000054; // type:object size:0x2 scope:local data:2byte +smPlayerCfg = .bss:0x00000056; // type:object size:0x28 scope:local data:2byte +outViewObj = .bss:0x00000080; // type:object size:0x4 scope:local data:4byte +smMainObj = .bss:0x00000084; // type:object size:0x4 scope:local data:4byte +smPagePos = .bss:0x00000088; // type:object size:0xE scope:local +smPage = .bss:0x00000096; // type:object size:0x2 scope:local data:2byte diff --git a/config/GMPE01_00/rels/staffDll/splits.txt b/config/GMPE01_00/rels/staffDll/splits.txt index 531cd645..857b9b91 100644 --- a/config/GMPE01_00/rels/staffDll/splits.txt +++ b/config/GMPE01_00/rels/staffDll/splits.txt @@ -5,3 +5,12 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/executor.c: + .text start:0x00000000 end:0x000000A0 + +REL/staffDll/staffDll.c: + .text start:0x000000A0 end:0x00001290 + .rodata start:0x00000000 end:0x00000094 + .data start:0x00000000 end:0x00001178 + .bss start:0x00000000 end:0x0000004A diff --git a/config/GMPE01_00/rels/staffDll/symbols.txt b/config/GMPE01_00/rels/staffDll/symbols.txt index 2313c028..4c847261 100644 --- a/config/GMPE01_00/rels/staffDll/symbols.txt +++ b/config/GMPE01_00/rels/staffDll/symbols.txt @@ -1,12 +1,12 @@ _prolog = .text:0x00000000; // type:function size:0x54 scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global -fn_1_A0 = .text:0x000000A0; // type:function size:0x218 -fn_1_2B8 = .text:0x000002B8; // type:function size:0x60 -fn_1_318 = .text:0x00000318; // type:function size:0x3DC -fn_1_6F4 = .text:0x000006F4; // type:function size:0x3AC -fn_1_AA0 = .text:0x00000AA0; // type:function size:0x12C -fn_1_BCC = .text:0x00000BCC; // type:function size:0x1C4 -fn_1_D90 = .text:0x00000D90; // type:function size:0x500 +ModuleProlog = .text:0x000000A0; // type:function size:0x218 +ExitProc = .text:0x000002B8; // type:function size:0x60 scope:local +CreateStaff = .text:0x00000318; // type:function size:0x3DC scope:local +MoveStaff = .text:0x000006F4; // type:function size:0x3AC scope:local +HidePicture = .text:0x00000AA0; // type:function size:0x12C scope:local +ShowPicture = .text:0x00000BCC; // type:function size:0x1C4 scope:local +MainProc = .text:0x00000D90; // type:function size:0x500 scope:local _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float @@ -42,13 +42,13 @@ 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_data_0 = .data:0x00000000; // type:object size:0x1158 -lbl_1_data_1158 = .data:0x00001158; // type:object size:0xC data:float +staffData = .data:0x00000000; // type:object size:0x1158 scope:local +staffLogoPosTbl = .data:0x00001158; // type:object size:0xC scope:local data:float lbl_1_data_1164 = .data:0x00001164; // type:object size:0x14 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:0x4 data:4byte -lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte -lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte -lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x6 data:2byte -lbl_1_bss_16 = .bss:0x00000016; // type:object size:0x34 data:2byte +multiViewObj = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte +currImg = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte +staffSide = .bss:0x00000008; // type:object size:0x4 scope:local data:4byte +thpCoverGroup = .bss:0x0000000C; // type:object size:0x2 scope:local data:2byte +thpGroup = .bss:0x0000000E; // type:object size:0x2 scope:local data:2byte +staffLogoGroup = .bss:0x00000010; // type:object size:0x6 scope:local data:2byte +imgGroup = .bss:0x00000016; // type:object size:0x34 scope:local data:2byte diff --git a/config/GMPE01_00/rels/subchrselDll/symbols.txt b/config/GMPE01_00/rels/subchrselDll/symbols.txt index 8f028b97..f39a0d47 100644 --- a/config/GMPE01_00/rels/subchrselDll/symbols.txt +++ b/config/GMPE01_00/rels/subchrselDll/symbols.txt @@ -11,7 +11,7 @@ lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 scope:local data:string lbl_1_data_8 = .data:0x00000008; // type:object size:0x8 scope:local data:string lbl_1_data_10 = .data:0x00000010; // type:object size:0x8 scope:local data:string lbl_1_data_18 = .data:0x00000018; // type:object size:0x8 scope:local data:string -player_numstr = .data:0x00000020; // type:object size:0x10 scope:local +playerNumTbl = .data:0x00000020; // type:object size:0x10 scope:local lbl_1_data_30 = .data:0x00000030; // type:object size:0x6 scope:local data:string lbl_1_data_36 = .data:0x00000036; // type:object size:0x6 scope:local data:string lbl_1_data_3C = .data:0x0000003C; // type:object size:0x6 scope:local data:string @@ -20,7 +20,7 @@ lbl_1_data_48 = .data:0x00000048; // type:object size:0x6 scope:local data:strin lbl_1_data_4E = .data:0x0000004E; // type:object size:0x7 scope:local data:string lbl_1_data_55 = .data:0x00000055; // type:object size:0x6 scope:local data:string lbl_1_data_5B = .data:0x0000005B; // type:object size:0x9 scope:local -character_str = .data:0x00000064; // type:object size:0x20 scope:local +charNameTbl = .data:0x00000064; // type:object size:0x20 scope:local lbl_1_data_84 = .data:0x00000084; // type:object size:0x1 scope:local lbl_1_data_85 = .data:0x00000085; // type:object size:0x6 scope:local data:string lbl_1_data_8B = .data:0x0000008B; // type:object size:0x8 scope:local data:string @@ -28,6 +28,6 @@ lbl_1_data_93 = .data:0x00000093; // type:object size:0x7 scope:local data:strin lbl_1_data_9A = .data:0x0000009A; // type:object size:0x7 scope:local data:string lbl_1_data_A1 = .data:0x000000A1; // type:object size:0x6 scope:local data:string lbl_1_data_A7 = .data:0x000000A7; // type:object size:0x9 scope:local -ext_character_str = .data:0x000000B0; // type:object size:0x1C scope:local +extCharNameTbl = .data:0x000000B0; // type:object size:0x1C scope:local lbl_1_data_CC = .data:0x000000CC; // type:object size:0x15 scope:local data:string -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 scope:local data:byte +dirPlayer = .bss:0x00000000; // type:object size:0x4 scope:local data:byte diff --git a/config/GMPE01_00/rels/w01Dll/splits.txt b/config/GMPE01_00/rels/w01Dll/splits.txt index 531cd645..347107b1 100644 --- a/config/GMPE01_00/rels/w01Dll/splits.txt +++ b/config/GMPE01_00/rels/w01Dll/splits.txt @@ -5,3 +5,24 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/board_executor.c: + .text start:0x00000000 end:0x000000E0 + +REL/w01Dll/main.c: + .text start:0x000000E0 end:0x00009D00 + .rodata start:0x00000000 end:0x00000198 + .data start:0x00000000 end:0x00000658 + .bss start:0x00000000 end:0x00000708 + +REL/w01Dll/mg_coin.c: + .text start:0x00009D00 end:0x0000D740 + .rodata start:0x00000198 end:0x000002C8 + .data start:0x00000658 end:0x00000F08 + .bss start:0x00000708 end:0x000007A0 + +REL/w01Dll/mg_item.c: + .text start:0x0000D740 end:0x000119F0 + .rodata start:0x000002C8 end:0x000003C4 + .data start:0x00000F08 end:0x00000FAC + .bss start:0x000007A0 end:0x0000081C diff --git a/config/GMPE01_00/rels/w01Dll/symbols.txt b/config/GMPE01_00/rels/w01Dll/symbols.txt index 90f53307..99586db2 100644 --- a/config/GMPE01_00/rels/w01Dll/symbols.txt +++ b/config/GMPE01_00/rels/w01Dll/symbols.txt @@ -1,8 +1,8 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x30 +InitBoard = .text:0x00000000; // type:function size:0x30 scope:local _prolog = .text:0x00000030; // type:function size:0x64 scope:global _epilog = .text:0x00000094; // type:function size:0x4C scope:global -fn_1_E0 = .text:0x000000E0; // type:function size:0x4BC -fn_1_59C = .text:0x0000059C; // type:function size:0x194 +BoardInit = .text:0x000000E0; // type:function size:0x4BC +BoardDestroy = .text:0x0000059C; // type:function size:0x194 fn_1_730 = .text:0x00000730; // type:function size:0x44 fn_1_774 = .text:0x00000774; // type:function size:0x4 fn_1_778 = .text:0x00000778; // type:function size:0x9C diff --git a/config/GMPE01_00/rels/w02Dll/splits.txt b/config/GMPE01_00/rels/w02Dll/splits.txt index 531cd645..4f91a6ab 100644 --- a/config/GMPE01_00/rels/w02Dll/splits.txt +++ b/config/GMPE01_00/rels/w02Dll/splits.txt @@ -5,3 +5,47 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/board_executor.c: + .text start:0x00000000 end:0x000000E0 + +REL/w02Dll/main.c: + .text start:0x000000E0 end:0x00001254 + .rodata start:0x00000000 end:0x00000038 + .data start:0x00000000 end:0x000002A8 + .bss start:0x00000000 end:0x00000050 + +REL/w02Dll/dice.c: + .text start:0x00001254 end:0x00002D04 + .rodata start:0x00000038 end:0x00000108 + .data start:0x000002A8 end:0x00000360 + +REL/w02Dll/gamble.c: + .text start:0x00002D04 end:0x000039F4 + .rodata start:0x00000108 end:0x00000178 + .data start:0x00000360 end:0x00000378 + .bss start:0x00000050 end:0x00000058 + +REL/w02Dll/mg_coin.c: + .text start:0x000039F4 end:0x00005CF8 + .rodata start:0x00000178 end:0x00000218 + .data start:0x00000378 end:0x00000428 + .bss start:0x00000058 end:0x000000C8 + +REL/w02Dll/mg_item.c: + .text start:0x00005CF8 end:0x00009250 + .rodata start:0x00000218 end:0x000002F0 + .data start:0x00000428 end:0x00000490 + .bss start:0x000000C8 end:0x000001A0 + +REL/w02Dll/shuffleboard.c: + .text start:0x00009250 end:0x0000BC1C + .rodata start:0x000002F0 end:0x00000408 + .data start:0x00000490 end:0x000004D0 + .bss start:0x000001A0 end:0x00000380 + +REL/w02Dll/roulette.c: + .text start:0x0000BC1C end:0x0000E4D4 + .rodata start:0x00000408 end:0x00000530 + .data start:0x000004D0 end:0x00000524 + .bss start:0x00000380 end:0x00000390 diff --git a/config/GMPE01_00/rels/w02Dll/symbols.txt b/config/GMPE01_00/rels/w02Dll/symbols.txt index 2969cbd4..ddb886a4 100644 --- a/config/GMPE01_00/rels/w02Dll/symbols.txt +++ b/config/GMPE01_00/rels/w02Dll/symbols.txt @@ -1,8 +1,8 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x30 +InitBoard = .text:0x00000000; // type:function size:0x30 scope:local _prolog = .text:0x00000030; // type:function size:0x64 scope:global _epilog = .text:0x00000094; // type:function size:0x4C scope:global -fn_1_E0 = .text:0x000000E0; // type:function size:0x4F4 -fn_1_5D4 = .text:0x000005D4; // type:function size:0x158 +BoardInit = .text:0x000000E0; // type:function size:0x4F4 +BoardDestroy = .text:0x000005D4; // type:function size:0x158 fn_1_72C = .text:0x0000072C; // type:function size:0x44 fn_1_770 = .text:0x00000770; // type:function size:0x4 fn_1_774 = .text:0x00000774; // type:function size:0x8C diff --git a/config/GMPE01_00/rels/w03Dll/splits.txt b/config/GMPE01_00/rels/w03Dll/splits.txt index 531cd645..04a55256 100644 --- a/config/GMPE01_00/rels/w03Dll/splits.txt +++ b/config/GMPE01_00/rels/w03Dll/splits.txt @@ -5,3 +5,47 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/board_executor.c: + .text start:0x00000000 end:0x000000E0 + +REL/w03Dll/main.c: + .text start:0x000000E0 end:0x000010E4 + .rodata start:0x00000000 end:0x00000030 + .data start:0x00000000 end:0x00000280 + .bss start:0x00000000 end:0x00000028 + +REL/w03Dll/statue.c: + .text start:0x000010E4 end:0x00003058 + .rodata start:0x00000030 end:0x000000D8 + .data start:0x00000280 end:0x00000310 + .bss start:0x00000028 end:0x00000070 + +REL/w03Dll/condor.c: + .text start:0x00003058 end:0x000063F4 + .rodata start:0x000000D8 end:0x00000218 + .data start:0x00000310 end:0x00000368 + .bss start:0x00000070 end:0x00000120 + +REL/w03Dll/river.c: + .text start:0x000063F4 end:0x0000785C + .rodata start:0x00000218 end:0x000002A8 + .data start:0x00000368 end:0x00000410 + .bss start:0x00000120 end:0x00000140 + +REL/w03Dll/smoke.c: + .text start:0x0000785C end:0x00007ABC + .rodata start:0x000002A8 end:0x000002B0 + .data start:0x00000410 end:0x00000450 + +REL/w03Dll/mg_coin.c: + .text start:0x00007ABC end:0x00009A7C + .rodata start:0x000002B0 end:0x00000360 + .data start:0x00000450 end:0x000004D8 + .bss start:0x00000140 end:0x00000180 + +REL/w03Dll/mg_item.c: + .text start:0x00009A7C end:0x0000C248 + .rodata start:0x00000360 end:0x00000418 + .data start:0x000004D8 end:0x0000054C + .bss start:0x00000180 end:0x00000197 diff --git a/config/GMPE01_00/rels/w03Dll/symbols.txt b/config/GMPE01_00/rels/w03Dll/symbols.txt index d0fda24e..3cd0f761 100644 --- a/config/GMPE01_00/rels/w03Dll/symbols.txt +++ b/config/GMPE01_00/rels/w03Dll/symbols.txt @@ -1,8 +1,8 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x30 +InitBoard = .text:0x00000000; // type:function size:0x30 scope:local _prolog = .text:0x00000030; // type:function size:0x64 scope:global _epilog = .text:0x00000094; // type:function size:0x4C scope:global -fn_1_E0 = .text:0x000000E0; // type:function size:0x660 -fn_1_740 = .text:0x00000740; // type:function size:0x144 +BoardInit = .text:0x000000E0; // type:function size:0x660 +BoardDestroy = .text:0x00000740; // type:function size:0x144 fn_1_884 = .text:0x00000884; // type:function size:0x6C fn_1_8F0 = .text:0x000008F0; // type:function size:0x20 fn_1_910 = .text:0x00000910; // type:function size:0x164 diff --git a/config/GMPE01_00/rels/w10Dll/splits.txt b/config/GMPE01_00/rels/w10Dll/splits.txt index 1a8de7f9..150ddd7d 100644 --- a/config/GMPE01_00/rels/w10Dll/splits.txt +++ b/config/GMPE01_00/rels/w10Dll/splits.txt @@ -6,25 +6,25 @@ Sections: .data type:data align:8 .bss type:bss align:8 -REL/w10Dll/w10Dll_init.c: +REL/board_executor.c: .text start:0x00000000 end:0x000000E0 -REL/w10Dll/w10Dll.c: +REL/w10Dll/main.c: .text start:0x000000E0 end:0x00000AEC .rodata start:0x00000000 end:0x00000038 .data start:0x00000000 end:0x00000078 .bss start:0x00000000 end:0x00000038 -REL/w10Dll/w10Dll2.c: +REL/w10Dll/host.c: .text start:0x00000AEC end:0x00000D2C .rodata start:0x00000038 end:0x00000048 .data start:0x00000078 end:0x00000098 -REL/w10Dll/w10Dll3.c: +REL/w10Dll/scene.c: .text start:0x00000D2C end:0x0000176C .rodata start:0x00000048 end:0x00000050 -REL/w10Dll/w10Dll4.c: +REL/w10Dll/tutorial.c: .text start:0x0000176C end:0x0000206C .rodata start:0x00000050 end:0x00000070 .data start:0x00000098 end:0x000002D4 diff --git a/config/GMPE01_00/rels/w10Dll/symbols.txt b/config/GMPE01_00/rels/w10Dll/symbols.txt index 856dd9b1..7bcd5959 100644 --- a/config/GMPE01_00/rels/w10Dll/symbols.txt +++ b/config/GMPE01_00/rels/w10Dll/symbols.txt @@ -1,8 +1,8 @@ -fn_1_0 = .text:0x00000000; // type:function size:0x30 +InitBoard = .text:0x00000000; // type:function size:0x30 scope:local _prolog = .text:0x00000030; // type:function size:0x64 scope:global _epilog = .text:0x00000094; // type:function size:0x4C scope:global -fn_1_E0 = .text:0x000000E0; // type:function size:0x5F8 -fn_1_6D8 = .text:0x000006D8; // type:function size:0x1E8 +BoardInit = .text:0x000000E0; // type:function size:0x5F8 +BoardDestroy = .text:0x000006D8; // type:function size:0x1E8 fn_1_8C0 = .text:0x000008C0; // type:function size:0x44 fn_1_904 = .text:0x00000904; // type:function size:0x4 fn_1_908 = .text:0x00000908; // type:function size:0x4 diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index 490c4d0b..95074503 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -215,6 +215,7 @@ game/code_8003FF68.c: .data start:0x80130100 end:0x80130120 .bss start:0x80192060 end:0x80192360 .sdata start:0x801D35C0 end:0x801D35E0 + .sbss start:0x801D3DA0 end:0x801D3DA8 .sdata2 start:0x801D4EA8 end:0x801D4EC0 game/ClusterExec.c: @@ -225,9 +226,6 @@ game/ShapeExec.c: .text start:0x80040D60 end:0x80041170 .sdata2 start:0x801D4ED0 end:0x801D4EE0 -dolphin/os/__start.c: - .init start:0x80003100 end:0x80003354 - game/wipe.c: .text start:0x80041170 end:0x8004207C .data start:0x80130120 end:0x80130138 @@ -326,7 +324,7 @@ game/board/main.c: .sbss start:0x801D3ED0 end:0x801D3F20 .sdata2 start:0x801D5148 end:0x801D51F8 -game/board/board.c: +game/board/player.c: .text start:0x80061F44 end:0x8006D308 .rodata start:0x8011DD90 end:0x8011DE60 .data start:0x80139898 end:0x80139AA0 @@ -349,7 +347,7 @@ game/board/window.c: .sbss start:0x801D3F68 end:0x801D3F90 .sdata2 start:0x801D5318 end:0x801D5328 -game/board/board_snd.c: +game/board/speaker.c: .text start:0x80070D84 end:0x80071290 .data start:0x80139AE8 end:0x80139B00 .sdata start:0x801D36E8 end:0x801D36F0 @@ -529,7 +527,7 @@ game/board/start.c: game/board/last5.c: .text start:0x800A9708 end:0x800ADB84 - .rodata start:0x8011E410 end:0x8011E430 + .rodata start:0x8011E3F0 end:0x8011E430 .data start:0x8013B1F8 end:0x8013B3F0 .bss start:0x801A4CF0 end:0x801A4D38 .sdata start:0x801D3850 end:0x801D38B8 @@ -554,6 +552,9 @@ game/board/tutorial.c: .bss start:0x801A52E8 end:0x801A5300 .sbss start:0x801D4288 end:0x801D42B0 +dolphin/os/__start.c: + .init start:0x80003100 end:0x80003354 + dolphin/PPCArch.c: .text start:0x800B42F4 end:0x800B439C @@ -734,6 +735,7 @@ dolphin/demo/DEMOInit.c: dolphin/demo/DEMOPuts.c: .text start:0x800C2988 end:0x800C2F84 + .bss start:0x801A6190 end:0x801A61B0 .sbss start:0x801D4480 end:0x801D4488 .sdata2 start:0x801D63B8 end:0x801D63D8 @@ -815,7 +817,7 @@ dolphin/gx/GXLight.c: dolphin/gx/GXTexture.c: .text start:0x800CC5C0 end:0x800CD618 .data start:0x8013DB30 end:0x8013DD58 - .sdata start:0x801D3950 end:0x801D3958 + .sdata start:0x801D3950 end:0x801D3990 .sdata2 start:0x801D6460 end:0x801D6488 dolphin/gx/GXBump.c: @@ -855,6 +857,7 @@ dolphin/card/CARDBios.c: dolphin/card/CARDUnlock.c: .text start:0x800D1CC4 end:0x800D2F24 .data start:0x8013DF00 end:0x8013E060 + .sdata start:0x801D3990 end:0x801D3998 dolphin/card/CARDRdwr.c: .text start:0x800D2F24 end:0x800D31A4 @@ -895,6 +898,7 @@ dolphin/card/CARDStat.c: dolphin/card/CARDNet.c: .text start:0x800D70E0 end:0x800D71A4 + .sdata start:0x801D3998 end:0x801D39A0 dolphin/exi/EXIBios.c: .text start:0x800D71A4 end:0x800D8A78 @@ -925,11 +929,38 @@ dolphin/thp/THPDec.c: dolphin/thp/THPAudio.c: .text start:0x800E1A10 end:0x800E1F40 +Runtime.PPCEABI.H/__va_arg.c: + .text start:0x800E1F40 end:0x800E2008 + Runtime.PPCEABI.H/global_destructor_chain.c: .text start:0x800E2008 end:0x800E2068 .dtors start:0x8011DCE8 end:0x8011DCEC .sbss start:0x801D4758 end:0x801D4760 +Runtime.PPCEABI.H/__mem.c: + .init start:0x800033A8 end:0x800034E0 + +Runtime.PPCEABI.H/New.cp: + extab start:0x80005620 end:0x80005648 + extabindex start:0x80005700 end:0x8000570C + .text start:0x800E2068 end:0x800E20B4 + +Runtime.PPCEABI.H/NewMore.cp: + extab start:0x80005648 end:0x80005650 + extabindex start:0x8000570C end:0x80005718 + .text start:0x800E20B4 end:0x800E2108 + .rodata start:0x8011E4D0 end:0x8011E4F0 + .data start:0x8013E208 end:0x8013E218 + .sdata start:0x801D39A0 end:0x801D39A8 + +Runtime.PPCEABI.H/NMWException.cp: + extab start:0x80005650 end:0x80005670 + extabindex start:0x80005718 end:0x80005748 + .text start:0x800E2108 end:0x800E23CC + .text start:0x800E23CC end:0x800E2AA8 + .rodata start:0x8011E4F0 end:0x8011E508 + .sdata start:0x801D39A8 end:0x801D39B0 + Runtime.PPCEABI.H/__init_cpp_exceptions.cpp: .text start:0x800E2AA8 end:0x800E2B24 .ctors start:0x8011DCC0 end:0x8011DCC4 @@ -940,10 +971,476 @@ Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp: extab start:0x80005670 end:0x800056E4 extabindex start:0x80005748 end:0x8000579C .text start:0x800E2B24 end:0x800E3F5C - .rodata start:0x8011E4D0 end:0x8011E5A0 + .rodata start:0x8011E508 end:0x8011E5A0 .data start:0x8013E218 end:0x8013E300 .bss start:0x801A72D0 end:0x801A72E0 .sdata start:0x801D39B8 end:0x801D39C8 +Runtime.PPCEABI.H/GCN_mem_alloc.c: + .text start:0x800E3F5C end:0x800E4014 + .rodata start:0x8011E5A0 end:0x8011E618 + +MSL_C.PPCEABI.bare.H/abort_exit.c: + .text start:0x800E4014 end:0x800E4168 + .bss start:0x801A72E0 end:0x801A73E0 + .sbss start:0x801D4760 end:0x801D4770 + +MSL_C.PPCEABI.bare.H/alloc.c: + .text start:0x800E4168 end:0x800E46D0 + .rodata start:0x8011E618 end:0x8011E630 + .bss start:0x801A73E0 end:0x801A7418 + .sbss start:0x801D4770 end:0x801D4778 + +MSL_C.PPCEABI.bare.H/errno.c: + .sbss start:0x801D4778 end:0x801D4780 + +MSL_C.PPCEABI.bare.H/ansi_files.c: + .text start:0x800E46D0 end:0x800E47D8 + .data start:0x8013E300 end:0x8013E440 + .bss start:0x801A7418 end:0x801A7718 + +MSL_C.PPCEABI.bare.H/ansi_fp.c: + .text start:0x800E47D8 end:0x800E53F0 + .rodata start:0x8011E630 end:0x8011E710 + .data start:0x8013E440 end:0x8013E568 + .sdata2 start:0x801D6510 end:0x801D6518 + +MSL_C.PPCEABI.bare.H/arith.c: + .text start:0x800E53F0 end:0x800E5400 + +MSL_C.PPCEABI.bare.H/buffer_io.c: + .text start:0x800E5400 end:0x800E54F8 + +MSL_C.PPCEABI.bare.H/ctype.c: + .text start:0x800E54F8 end:0x800E5534 + .data start:0x8013E568 end:0x8013E768 + +MSL_C.PPCEABI.bare.H/direct_io.c: + .text start:0x800E5534 end:0x800E5860 + +MSL_C.PPCEABI.bare.H/file_io.c: + .text start:0x800E5860 end:0x800E5A58 + +MSL_C.PPCEABI.bare.H/FILE_POS.c: + .text start:0x800E5A58 end:0x800E5D24 + +MSL_C.PPCEABI.bare.H/mbstring.c: + .text start:0x800E5D24 end:0x800E5E68 + .sdata2 start:0x801D6518 end:0x801D6520 + +MSL_C.PPCEABI.bare.H/mem.c: + .text start:0x800E5E68 end:0x800E5FD8 + +MSL_C.PPCEABI.bare.H/mem_funcs.c: + .text start:0x800E5FD8 end:0x800E62B8 + +MSL_C.PPCEABI.bare.H/misc_io.c: + .text start:0x800E62B8 end:0x800E62C8 + +MSL_C.PPCEABI.bare.H/printf.c: + .text start:0x800E62C8 end:0x800E8364 + .rodata start:0x8011E710 end:0x8011E738 + .data start:0x8013E768 end:0x8013E998 + .sdata start:0x801D39C8 end:0x801D39D0 + .sdata2 start:0x801D6520 end:0x801D6528 + +MSL_C.PPCEABI.bare.H/float.c: + .sdata start:0x801D39D0 end:0x801D39D8 + +MSL_C.PPCEABI.bare.H/signal.c: + .text start:0x800E8364 end:0x800E8414 + .bss start:0x801A7718 end:0x801A7730 + +MSL_C.PPCEABI.bare.H/string.c: + .text start:0x800E8414 end:0x800E86C4 + +MSL_C.PPCEABI.bare.H/uart_console_io.c: + .text start:0x800E86C4 end:0x800E8790 + .sbss start:0x801D4780 end:0x801D4788 + +MSL_C.PPCEABI.bare.H/wchar_io.c: + .text start:0x800E8790 end:0x800E8818 + +MSL_C.PPCEABI.bare.H/e_acos.c: + .text start:0x800E8818 end:0x800E8B28 + .sdata2 start:0x801D6528 end:0x801D65B8 + +MSL_C.PPCEABI.bare.H/e_asin.c: + .text start:0x800E8B28 end:0x800E8D8C + .sdata2 start:0x801D65B8 end:0x801D6650 + +MSL_C.PPCEABI.bare.H/e_atan2.c: + .text start:0x800E8D8C end:0x800E901C + .sdata2 start:0x801D6650 end:0x801D66A8 + +MSL_C.PPCEABI.bare.H/e_fmod.c: + .text start:0x800E901C end:0x800E9358 + .rodata start:0x8011E738 end:0x8011E748 + +MSL_C.PPCEABI.bare.H/e_pow.c: + .text start:0x800E9358 end:0x800E9BE4 + .rodata start:0x8011E748 end:0x8011E778 + .sdata2 start:0x801D66A8 end:0x801D67B8 + +MSL_C.PPCEABI.bare.H/e_rem_pio2.c: + .text start:0x800E9BE4 end:0x800E9F84 + .rodata start:0x8011E778 end:0x8011E900 + .sdata2 start:0x801D67B8 end:0x801D6810 + +MSL_C.PPCEABI.bare.H/k_cos.c: + .text start:0x800E9F84 end:0x800EA078 + .sdata2 start:0x801D6810 end:0x801D6858 + +MSL_C.PPCEABI.bare.H/k_rem_pio2.c: + .text start:0x800EA078 end:0x800EAECC + .rodata start:0x8011E900 end:0x8011E950 + .sdata2 start:0x801D6858 end:0x801D6898 + +MSL_C.PPCEABI.bare.H/k_sin.c: + .text start:0x800EAECC end:0x800EAF6C + .sdata2 start:0x801D6898 end:0x801D68D0 + +MSL_C.PPCEABI.bare.H/k_tan.c: + .text start:0x800EAF6C end:0x800EB180 + .rodata start:0x8011E950 end:0x8011E9B8 + .sdata2 start:0x801D68D0 end:0x801D6908 + +MSL_C.PPCEABI.bare.H/s_atan.c: + .text start:0x800EB180 end:0x800EB380 + .rodata start:0x8011E9B8 end:0x8011EA50 + .sdata2 start:0x801D6908 end:0x801D6930 + +MSL_C.PPCEABI.bare.H/s_copysign.c: + .text start:0x800EB380 end:0x800EB3A8 + +MSL_C.PPCEABI.bare.H/s_cos.c: + .text start:0x800EB3A8 end:0x800EB47C + .sdata2 start:0x801D6930 end:0x801D6938 + +MSL_C.PPCEABI.bare.H/s_floor.c: + .text start:0x800EB47C end:0x800EB5C4 + .sdata2 start:0x801D6938 end:0x801D6948 + +MSL_C.PPCEABI.bare.H/s_frexp.c: + .text start:0x800EB5C4 end:0x800EB650 + .sdata2 start:0x801D6948 end:0x801D6950 + +MSL_C.PPCEABI.bare.H/s_ldexp.c: + .text start:0x800EB650 end:0x800EB814 + .sdata2 start:0x801D6950 end:0x801D6978 + +MSL_C.PPCEABI.bare.H/s_modf.c: + .text start:0x800EB814 end:0x800EB910 + +MSL_C.PPCEABI.bare.H/s_sin.c: + .text start:0x800EB910 end:0x800EB9E8 + .sdata2 start:0x801D6978 end:0x801D6980 + +MSL_C.PPCEABI.bare.H/s_tan.c: + .text start:0x800EB9E8 end:0x800EBA60 + .sdata2 start:0x801D6980 end:0x801D6988 + +MSL_C.PPCEABI.bare.H/w_acos.c: + .text start:0x800EBA60 end:0x800EBA80 + +MSL_C.PPCEABI.bare.H/w_asin.c: + .text start:0x800EBA80 end:0x800EBAA0 + +MSL_C.PPCEABI.bare.H/w_atan2.c: + .text start:0x800EBAA0 end:0x800EBAC0 + +MSL_C.PPCEABI.bare.H/w_fmod.c: + .text start:0x800EBAC0 end:0x800EBAE0 + +MSL_C.PPCEABI.bare.H/w_pow.c: + .text start:0x800EBAE0 end:0x800EBB00 + +MSL_C.PPCEABI.bare.H/math_ppc.c: + .text start:0x800EBB00 end:0x800EBBB4 + +TRK_MINNOW_DOLPHIN/mainloop.c: + .text start:0x800EBBB4 end:0x800EBCAC + +TRK_MINNOW_DOLPHIN/nubevent.c: + .text start:0x800EBCAC end:0x800EBED4 + .bss start:0x801A7730 end:0x801A7758 + +TRK_MINNOW_DOLPHIN/nubinit.c: + .text start:0x800EBED4 end:0x800EC054 + .rodata start:0x8011EA50 end:0x8011EA70 + .bss start:0x801A7758 end:0x801A7760 + +TRK_MINNOW_DOLPHIN/msg.c: + .text start:0x800EC054 end:0x800EC230 + +TRK_MINNOW_DOLPHIN/msgbuf.c: + .text start:0x800EC230 end:0x800ECC5C + .rodata start:0x8011EA70 end:0x8011EA90 + .bss start:0x801A7760 end:0x801A9110 + +TRK_MINNOW_DOLPHIN/serpoll.c: + .text start:0x800ECC5C end:0x800ED028 + .bss start:0x801A9110 end:0x801A9128 + +TRK_MINNOW_DOLPHIN/usrput.c: + .text start:0x800ED028 end:0x800ED0B4 + +TRK_MINNOW_DOLPHIN/dispatch.c: + .text start:0x800ED0B4 end:0x800ED150 + .data start:0x8013E998 end:0x8013EA20 + .bss start:0x801A9128 end:0x801A9130 + +TRK_MINNOW_DOLPHIN/msghndlr.c: + .text start:0x800ED150 end:0x800EF9B0 + .data start:0x8013EA20 end:0x8013EA58 + .bss start:0x801A9130 end:0x801A9138 + +TRK_MINNOW_DOLPHIN/support.c: + .text start:0x800EF9B0 end:0x800F0270 + +TRK_MINNOW_DOLPHIN/mutex_TRK.c: + .text start:0x800F0270 end:0x800F0288 + +TRK_MINNOW_DOLPHIN/notify.c: + .text start:0x800F0288 end:0x800F0360 + +TRK_MINNOW_DOLPHIN/flush_cache.c: + .text start:0x800F0360 end:0x800F0398 + +TRK_MINNOW_DOLPHIN/mem_TRK.c: + .init start:0x800034E0 end:0x80003534 + .text start:0x800F0398 end:0x800F0454 + +TRK_MINNOW_DOLPHIN/targimpl.c: + .text start:0x800F0454 end:0x800F1CF0 + .rodata start:0x8011EA90 end:0x8011EB18 + .data start:0x8013EA58 end:0x8013EA88 + .bss start:0x801A9138 end:0x801A96B8 + +TRK_MINNOW_DOLPHIN/targsupp.c: + .text start:0x800F1CF0 end:0x800F1D10 + +TRK_MINNOW_DOLPHIN/__exception.c: + .init start:0x80003534 end:0x80005468 + +TRK_MINNOW_DOLPHIN/dolphin_trk.c: + .init start:0x80005468 end:0x8000556C + .text start:0x800F1D10 end:0x800F1E50 + .data start:0x8013EA88 end:0x8013EAC8 + .bss start:0x801A96B8 end:0x801A96C0 + +TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c: + .text start:0x800F1E50 end:0x800F21C8 + +TRK_MINNOW_DOLPHIN/main_TRK.c: + .text start:0x800F21C8 end:0x800F220C + .bss start:0x801A96C0 end:0x801A96C8 + +TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c: + .text start:0x800F220C end:0x800F26B8 + .rodata start:0x8011EB18 end:0x8011EB60 + .data start:0x8013EAC8 end:0x8013EAE8 + .bss start:0x801A96C8 end:0x801AB8F0 + +TRK_MINNOW_DOLPHIN/targcont.c: + .text start:0x800F26B8 end:0x800F26EC + +TRK_MINNOW_DOLPHIN/target_options.c: + .text start:0x800F26EC end:0x800F2708 + .bss start:0x801AB8F0 end:0x801AB8F8 + +TRK_MINNOW_DOLPHIN/mslsupp.c: + .text start:0x800F2708 end:0x800F2880 + +musyx/runtime/seq.c: + .text start:0x800F2880 end:0x800F67F0 + .data start:0x8013EAE8 end:0x8013EB38 + .bss start:0x801AB8F8 end:0x801B9138 + .sbss start:0x801D4788 end:0x801D47A8 + .sdata2 start:0x801D6988 end:0x801D69A8 + +musyx/runtime/synth.c: + .text start:0x800F67F0 end:0x800F9B4C + .bss start:0x801B9138 end:0x801BA720 + .sbss start:0x801D47A8 end:0x801D47F0 + .sdata2 start:0x801D69A8 end:0x801D69E8 + +musyx/runtime/seq_api.c: + .text start:0x800F9B4C end:0x800F9DCC + +musyx/runtime/snd_synthapi.c: + .text start:0x800F9DCC end:0x800FA54C + +musyx/runtime/stream.c: + .text start:0x800FA54C end:0x800FE0B8 + .bss start:0x801BA720 end:0x801BC020 + .sbss start:0x801D47F0 end:0x801D47F8 + .sdata2 start:0x801D69E8 end:0x801D6A00 + +musyx/runtime/synthdata.c: + .text start:0x800FE0B8 end:0x800FFE48 + .bss start:0x801BC020 end:0x801C6658 + .sbss start:0x801D47F8 end:0x801D4840 + +musyx/runtime/synthmacros.c: + .text start:0x800FFE48 end:0x80104BA0 + .data start:0x8013EB38 end:0x8013EF80 + .bss start:0x801C6658 end:0x801C6678 + .sbss start:0x801D4840 end:0x801D4860 + .sdata2 start:0x801D6A00 end:0x801D6A28 + +musyx/runtime/synthvoice.c: + .text start:0x80104BA0 end:0x80106630 + .bss start:0x801C6678 end:0x801C7638 + .sbss start:0x801D4860 end:0x801D4878 + +musyx/runtime/synth_ac.c: + .text start:0x80106630 end:0x80106750 + .data start:0x8013EF80 end:0x8013F380 + .sdata2 start:0x801D6A28 end:0x801D6A40 + +musyx/runtime/synth_dbtab.c: + .data start:0x8013F380 end:0x8013FB08 + +musyx/runtime/synth_adsr.c: + .text start:0x80106750 end:0x80106F10 + .sdata2 start:0x801D6A40 end:0x801D6A68 + +musyx/runtime/synth_vsamples.c: + .text start:0x80106F10 end:0x80107698 + .bss start:0x801C7638 end:0x801C7F88 + +musyx/runtime/s_data.c: + .text start:0x80107698 end:0x801081F0 + .bss start:0x801C7F88 end:0x801C8588 + .sbss start:0x801D4878 end:0x801D4880 + +musyx/runtime/hw_dspctrl.c: + .text start:0x801081F0 end:0x8010B604 + .rodata start:0x8011EB60 end:0x8011EBB8 + .data start:0x8013FB08 end:0x8013FB20 + .bss start:0x801C8588 end:0x801C8C68 + .sbss start:0x801D4880 end:0x801D48C0 + +musyx/runtime/hw_volconv.c: + .text start:0x8010B604 end:0x8010BCF4 + .data start:0x8013FB20 end:0x8013FD48 + .sdata2 start:0x801D6A68 end:0x801D6AA0 + +musyx/runtime/snd3d.c: + .text start:0x8010BCF4 end:0x8010E0C4 + .bss start:0x801C8C68 end:0x801C9AB8 + .sbss start:0x801D48C0 end:0x801D48E0 + .sdata2 start:0x801D6AA0 end:0x801D6AF0 + +musyx/runtime/snd_init.c: + .text start:0x8010E0C4 end:0x8010E218 + +musyx/runtime/snd_math.c: + .text start:0x8010E218 end:0x8010E5D8 + .sdata2 start:0x801D6AF0 end:0x801D6B10 + +musyx/runtime/snd_midictrl.c: + .text start:0x8010E5D8 end:0x801102AC + .rodata start:0x8011EBB8 end:0x8011ECC8 + .data start:0x8013FD48 end:0x8013FDD8 + .bss start:0x801C9AB8 end:0x801D02B8 + +musyx/runtime/snd_service.c: + .text start:0x801102AC end:0x80110458 + .data start:0x8013FDD8 end:0x801405E0 + .sdata start:0x801D39D8 end:0x801D39E0 + +musyx/runtime/hardware.c: + .text start:0x80110458 end:0x8011145C + .rodata start:0x8011ECC8 end:0x8011EDC8 + .sdata start:0x801D39E0 end:0x801D39F0 + .sbss start:0x801D48E0 end:0x801D48F0 + .sdata2 start:0x801D6B10 end:0x801D6B28 + +musyx/runtime/dsp_import.c: + .data start:0x801405E0 end:0x80141FC0 + .sdata start:0x801D39F0 end:0x801D39F8 + +musyx/runtime/hw_aramdma.c: + .text start:0x8011145C end:0x801120D0 + .bss start:0x801D02B8 end:0x801D0BC0 + .sbss start:0x801D48F0 end:0x801D4910 + +musyx/runtime/hw_dolphin.c: + .text start:0x801120D0 end:0x801125C8 + .bss start:0x801D0BC0 end:0x801D2C20 + .sbss start:0x801D4910 end:0x801D4938 + +musyx/runtime/hw_memory.c: + .text start:0x801125C8 end:0x8011261C + +musyx/runtime/CheapReverb/creverb_fx.c: + .text start:0x8011261C end:0x801126D8 + +musyx/runtime/CheapReverb/creverb.c: + .text start:0x801126D8 end:0x80112F94 + .data start:0x80141FC0 end:0x80141FD0 + .sdata2 start:0x801D6B28 end:0x801D6B68 + +musyx/runtime/StdReverb/reverb_fx.c: + .text start:0x80112F94 end:0x80113054 + +musyx/runtime/StdReverb/reverb.c: + .text start:0x80113054 end:0x80113D98 + .data start:0x80141FD0 end:0x80141FF0 + .sdata2 start:0x801D6B68 end:0x801D6BB0 + +musyx/runtime/Delay/delay_fx.c: + .text start:0x80113D98 end:0x80114144 + +musyx/runtime/Chorus/chorus_fx.c: + .text start:0x80114144 end:0x801149AC + .data start:0x80141FF0 end:0x801427F0 + .sdata2 start:0x801D6BB0 end:0x801D6BB8 + +OdemuExi2/DebuggerDriver.c: + .text start:0x801149AC end:0x8011542C + .sdata start:0x801D39F8 end:0x801D39F9 + .sbss start:0x801D4938 end:0x801D494D + +amcstubs/AmcExi2Stubs.c: + .text start:0x8011542C end:0x8011545C + +odenotstub/odenotstub.c: + .text start:0x8011545C end:0x80115464 + +libhu/setvf.c: + .text start:0x80115464 end:0x80115474 + +libhu/subvf.c: + .text start:0x80115474 end:0x801154A8 + +msm/msmsys.c: + .text start:0x801154A8 end:0x801176C8 + .bss start:0x801D2C20 end:0x801D3120 + .sdata2 start:0x801D6BB8 end:0x801D6BC0 + +msm/msmmem.c: + .text start:0x801176C8 end:0x801178F8 + .bss start:0x801D3120 end:0x801D3150 + +msm/msmfio.c: + .text start:0x801178F8 end:0x801179E8 + .bss start:0x801D3150 end:0x801D3160 + +msm/msmmus.c: + .text start:0x801179E8 end:0x80118A80 + .bss start:0x801D3160 end:0x801D32D8 + +msm/msmse.c: + .text start:0x80118A80 end:0x8011A044 + .bss start:0x801D32D8 end:0x801D33C0 + .sdata2 start:0x801D6BC0 end:0x801D6BD8 + +msm/msmstream.c: + .text start:0x8011A044 end:0x8011CCC4 + .bss start:0x801D33C0 end:0x801D3420 + game/kerent.c: .text start:0x8011CCC4 end:0x8011DCA8 diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index db1b4fc1..3232dbad 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -7,12 +7,12 @@ __flush_cache = .init:0x80003374; // type:function size:0x34 scope:global memset = .init:0x800033A8; // type:function size:0x30 scope:global __fill_mem = .init:0x800033D8; // type:function size:0xB8 scope:global memcpy = .init:0x80003490; // type:function size:0x50 scope:global -fn_800034E0 = .init:0x800034E0; // type:function size:0x30 -fn_80003510 = .init:0x80003510; // type:function size:0x24 +TRK_memset = .init:0x800034E0; // type:function size:0x30 +TRK_memcpy = .init:0x80003510; // type:function size:0x24 gTRKInterruptVectorTable = .init:0x80003534; // type:label scope:global lbl_8000387C = .init:0x8000387C; // type:label lbl_800038E0 = .init:0x800038E0; // type:label -fn_80005468 = .init:0x80005468; // type:function size:0x104 +__TRK_reset = .init:0x80005468; // type:function size:0x104 gTRKInterruptVectorTableEnd = .init:0x80005468; // type:label scope:global _rom_copy_info = .init:0x8000556C; // type:object size:0x84 scope:global data:4byte _bss_init_info = .init:0x800055F0; // type:object size:0x20 scope:global data:4byte @@ -544,35 +544,35 @@ XFB_putcS = .text:0x800303C4; // type:function size:0x150 XFB_putcProgressive = .text:0x80030514; // type:function size:0x1F0 XFB_putcInterlace = .text:0x80030704; // type:function size:0x1B4 GWInit = .text:0x800308B8; // type:function size:0x14C -GWResetGameStat = .text:0x80030A04; // type:function size:0x318 -GWGetMessSpeed = .text:0x80030D1C; // type:function size:0x4C -GWSetMGRecord = .text:0x80030D68; // type:function size:0x54 -GWGetMGRecord = .text:0x80030DBC; // type:function size:0x18 -GWGetCharColor = .text:0x80030DD4; // type:function size:0x140 -GWSetBoardPlayCount = .text:0x80030F14; // type:function size:0x24 -GWAddBoardPlayCount = .text:0x80030F38; // type:function size:0x38 -GWGetBoardPlayCount = .text:0x80030F70; // type:function size:0x14 -GWSetBoardMaxStars = .text:0x80030F84; // type:function size:0x1C -GWGetBoardMaxStars = .text:0x80030FA0; // type:function size:0x18 -GWSetBoardMaxCoins = .text:0x80030FB8; // type:function size:0x1C -GWGetBoardMaxCoins = .text:0x80030FD4; // type:function size:0x18 -GWIncBoardWinCount = .text:0x80030FEC; // type:function size:0x5C -GWGetBoardWinCount = .text:0x80031048; // type:function size:0x1C -GWSetBoardWinCount = .text:0x80031064; // type:function size:0x20 -GWGetMGAvail = .text:0x80031084; // type:function size:0x6C -GWSetMGAvail = .text:0x800310F0; // type:function size:0x5C -GWGetMGCustom = .text:0x8003114C; // type:function size:0x6C -GWSetMGCustom = .text:0x800311B8; // type:function size:0x5C -GWResetMGCustom = .text:0x80031214; // type:function size:0x60 -GWGetCoins = .text:0x80031274; // type:function size:0x18 -GWSetCoins = .text:0x8003128C; // type:function size:0xB0 -GWAddCoins = .text:0x8003133C; // type:function size:0xD0 -GWSetStars = .text:0x8003140C; // type:function size:0x6C -GWAddStars = .text:0x80031478; // type:function size:0x94 -GWGetStars = .text:0x8003150C; // type:function size:0x18 -GWSetTotalStars = .text:0x80031524; // type:function size:0x34 -GWAddTotalStars = .text:0x80031558; // type:function size:0x54 -GWGetTotalStars = .text:0x800315AC; // type:function size:0x10 +GWGameStatReset = .text:0x80030A04; // type:function size:0x318 +GWMessSpeedGet = .text:0x80030D1C; // type:function size:0x4C +GWMGRecordSet = .text:0x80030D68; // type:function size:0x54 +GWMGRecordGet = .text:0x80030DBC; // type:function size:0x18 +GWCharColorGet = .text:0x80030DD4; // type:function size:0x140 +GWBoardPlayCountSet = .text:0x80030F14; // type:function size:0x24 +GWBoardPlayCountAdd = .text:0x80030F38; // type:function size:0x38 +GWBoardPlayCountGet = .text:0x80030F70; // type:function size:0x14 +GWBoardMaxStarsSet = .text:0x80030F84; // type:function size:0x1C +GWBoardMaxStarsGet = .text:0x80030FA0; // type:function size:0x18 +GWBoardMaxCoinsSet = .text:0x80030FB8; // type:function size:0x1C +GWBoardMaxCoinsGet = .text:0x80030FD4; // type:function size:0x18 +GWBoardWinCountInc = .text:0x80030FEC; // type:function size:0x5C +GWBoardWinCountGet = .text:0x80031048; // type:function size:0x1C +GWBoardWinCountSet = .text:0x80031064; // type:function size:0x20 +GWMGAvailGet = .text:0x80031084; // type:function size:0x6C +GWMGAvailSet = .text:0x800310F0; // type:function size:0x5C +GWMGCustomGet = .text:0x8003114C; // type:function size:0x6C +GWMGCustomSet = .text:0x800311B8; // type:function size:0x5C +GWMGCustomReset = .text:0x80031214; // type:function size:0x60 +GWCoinsGet = .text:0x80031274; // type:function size:0x18 +GWCoinsSet = .text:0x8003128C; // type:function size:0xB0 +GWCoinsAdd = .text:0x8003133C; // type:function size:0xD0 +GWStarsSet = .text:0x8003140C; // type:function size:0x6C +GWStarsAdd = .text:0x80031478; // type:function size:0x94 +GWStarsGet = .text:0x8003150C; // type:function size:0x18 +GWTotalStarsSet = .text:0x80031524; // type:function size:0x34 +GWTotalStarsAdd = .text:0x80031558; // type:function size:0x54 +GWTotalStarsGet = .text:0x800315AC; // type:function size:0x10 omOutView = .text:0x800315BC; // type:function size:0x238 omOutViewMulti = .text:0x800317F4; // type:function size:0x2C4 omSystemKeyCheckSetup = .text:0x80031AB8; // type:function size:0x74 @@ -839,64 +839,64 @@ HuARDirCheck = .text:0x80049490; // type:function size:0x58 HuARDirFree = .text:0x800494E8; // type:function size:0x68 HuAR_ARAMtoMRAMFileRead = .text:0x80049550; // type:function size:0x390 ArqCallBackAMFileRead = .text:0x800498E0; // type:function size:0x10 scope:local -fn_800498F0 = .text:0x800498F0; // type:function size:0x134 -fn_80049A24 = .text:0x80049A24; // type:function size:0x1C -fn_80049A40 = .text:0x80049A40; // type:function size:0x98 -fn_80049AD8 = .text:0x80049AD8; // type:function size:0x58 -fn_80049B30 = .text:0x80049B30; // type:function size:0x428 -fn_80049F58 = .text:0x80049F58; // type:function size:0x3C -fn_80049F94 = .text:0x80049F94; // type:function size:0x180 -fn_8004A114 = .text:0x8004A114; // type:function size:0x20C -fn_8004A320 = .text:0x8004A320; // type:function size:0x173C -fn_8004BA5C = .text:0x8004BA5C; // type:function size:0xB0 -fn_8004BB0C = .text:0x8004BB0C; // type:function size:0x254 -fn_8004BD60 = .text:0x8004BD60; // type:function size:0xB0 -fn_8004BE10 = .text:0x8004BE10; // type:function size:0xB0 -fn_8004BEC0 = .text:0x8004BEC0; // type:function size:0xB0 -fn_8004BF70 = .text:0x8004BF70; // type:function size:0xB0 -fn_8004C020 = .text:0x8004C020; // type:function size:0xB0 -fn_8004C0D0 = .text:0x8004C0D0; // type:function size:0xB0 -fn_8004C180 = .text:0x8004C180; // type:function size:0x1CC -fn_8004C34C = .text:0x8004C34C; // type:function size:0x4A0 -fn_8004C7EC = .text:0x8004C7EC; // type:function size:0x1E8 -fn_8004C9D4 = .text:0x8004C9D4; // type:function size:0x344 -fn_8004CD18 = .text:0x8004CD18; // type:function size:0x1D0 -fn_8004CEE8 = .text:0x8004CEE8; // type:function size:0x88 -fn_8004CF70 = .text:0x8004CF70; // type:function size:0x9C -fn_8004D00C = .text:0x8004D00C; // type:function size:0x2B8 -fn_8004D2C4 = .text:0x8004D2C4; // type:function size:0x430 -fn_8004D6F4 = .text:0x8004D6F4; // type:function size:0x244 -fn_8004D938 = .text:0x8004D938; // type:function size:0x7C -fn_8004D9B4 = .text:0x8004D9B4; // type:function size:0x17C -fn_8004DB30 = .text:0x8004DB30; // type:function size:0x7C -fn_8004DBAC = .text:0x8004DBAC; // type:function size:0x7C -fn_8004DC28 = .text:0x8004DC28; // type:function size:0x4C -fn_8004DC74 = .text:0x8004DC74; // type:function size:0x44 -fn_8004DCB8 = .text:0x8004DCB8; // type:function size:0x44 -fn_8004DCFC = .text:0x8004DCFC; // type:function size:0x44 -fn_8004DD40 = .text:0x8004DD40; // type:function size:0x44 -fn_8004DD84 = .text:0x8004DD84; // type:function size:0x84 -fn_8004DE08 = .text:0x8004DE08; // type:function size:0x44 -fn_8004DE4C = .text:0x8004DE4C; // type:function size:0x4C -fn_8004DE98 = .text:0x8004DE98; // type:function size:0x80 -fn_8004DF18 = .text:0x8004DF18; // type:function size:0x1D4 -fn_8004E0EC = .text:0x8004E0EC; // type:function size:0x484 -fn_8004E570 = .text:0x8004E570; // type:function size:0x3FC -fn_8004E96C = .text:0x8004E96C; // type:function size:0x168 -fn_8004EAD4 = .text:0x8004EAD4; // type:function size:0x1A0 +CharManInit = .text:0x800498F0; // type:function size:0x134 +CharAMemPtrGet = .text:0x80049A24; // type:function size:0x1C +CharARAMOpen = .text:0x80049A40; // type:function size:0x98 +CharARAMClose = .text:0x80049AD8; // type:function size:0x58 +CharKill = .text:0x80049B30; // type:function size:0x428 +CharKillAll = .text:0x80049F58; // type:function size:0x3C +CharModelCreate = .text:0x80049F94; // type:function size:0x180 +UpdateChar = .text:0x8004A114; // type:function size:0x20C scope:local +UpdateCharAnim = .text:0x8004A320; // type:function size:0x173C scope:local +PlayCharVoice = .text:0x8004BA5C; // type:function size:0xB0 scope:local +InitEffect = .text:0x8004BB0C; // type:function size:0x254 scope:local +CreateEffectDust = .text:0x8004BD60; // type:function size:0xB0 scope:local +CreateEffectSmoke = .text:0x8004BE10; // type:function size:0xB0 scope:local +CreateEffectDot = .text:0x8004BEC0; // type:function size:0xB0 scope:local +CreateEffectStar = .text:0x8004BF70; // type:function size:0xB0 scope:local +CreateEffectWarn = .text:0x8004C020; // type:function size:0xB0 scope:local +CreateEffectBird = .text:0x8004C0D0; // type:function size:0xB0 scope:local +CreateEffect = .text:0x8004C180; // type:function size:0x1CC scope:local +UpdateEffect = .text:0x8004C34C; // type:function size:0x4A0 scope:local +RotateEffect = .text:0x8004C7EC; // type:function size:0x1E8 scope:local +PlayEffectSound = .text:0x8004C9D4; // type:function size:0x344 scope:local +CharMotionCreate = .text:0x8004CD18; // type:function size:0x1D0 +CharMotionSet = .text:0x8004CEE8; // type:function size:0x88 +CharMotionKill = .text:0x8004CF70; // type:function size:0x9C +CharModelKill = .text:0x8004D00C; // type:function size:0x2B8 +CharModelKillIndex = .text:0x8004D2C4; // type:function size:0x430 +CharModelKillAll = .text:0x8004D6F4; // type:function size:0x244 +CharModelMotionSet = .text:0x8004D938; // type:function size:0x7C +CharModelTexAnimSet = .text:0x8004D9B4; // type:function size:0x17C +CharModelTexNameGet = .text:0x8004DB30; // type:function size:0x7C +CharModelHookNameGet = .text:0x8004DBAC; // type:function size:0x7C +CharModelMotionTimeSet = .text:0x8004DC28; // type:function size:0x4C +CharModelMotionTimeGet = .text:0x8004DC74; // type:function size:0x44 +CharModelMotionMaxTimeGet = .text:0x8004DCB8; // type:function size:0x44 +CharModelMotionEndCheck = .text:0x8004DCFC; // type:function size:0x44 +CharModelMotionShiftIDGet = .text:0x8004DD40; // type:function size:0x44 +CharModelMotionShiftSet = .text:0x8004DD84; // type:function size:0x84 +CharModelMotionShiftTimeGet = .text:0x8004DE08; // type:function size:0x44 +CharModelMotionSpeedSet = .text:0x8004DE4C; // type:function size:0x4C +CharModelLayerSetAll = .text:0x8004DE98; // type:function size:0x80 +CharModelCreateItemHook = .text:0x8004DF18; // type:function size:0x1D4 +UpdateItemHook = .text:0x8004E0EC; // type:function size:0x484 scope:local +CharModelCreateParticle = .text:0x8004E570; // type:function size:0x3FC +OrbitEffect = .text:0x8004E96C; // type:function size:0x168 scope:local +CharModelCreateCoinParticle = .text:0x8004EAD4; // type:function size:0x1A0 fn_8004EC74 = .text:0x8004EC74; // type:function size:0x130 fn_8004EDA4 = .text:0x8004EDA4; // type:function size:0x2B4 fn_8004F058 = .text:0x8004F058; // type:function size:0xE4 fn_8004F13C = .text:0x8004F13C; // type:function size:0x2B4 -fn_8004F3F0 = .text:0x8004F3F0; // type:function size:0x80 -fn_8004F470 = .text:0x8004F470; // type:function size:0xBC +CharModelLayerSetAll2 = .text:0x8004F3F0; // type:function size:0x80 +CharModelVoiceEnableSet = .text:0x8004F470; // type:function size:0xBC fn_8004F52C = .text:0x8004F52C; // type:function size:0x4C fn_8004F578 = .text:0x8004F578; // type:function size:0xB0 fn_8004F628 = .text:0x8004F628; // type:function size:0x2CC fn_8004F8F4 = .text:0x8004F8F4; // type:function size:0x2CC fn_8004FBC0 = .text:0x8004FBC0; // type:function size:0xF80 -fn_80050B40 = .text:0x80050B40; // type:function size:0x30 -fn_80050B70 = .text:0x80050B70; // type:function size:0xEC +CharModelSetStepType = .text:0x80050B40; // type:function size:0x30 +PlayStepFX = .text:0x80050B70; // type:function size:0xEC scope:local MapWall = .text:0x80050C5C; // type:function size:0x1B8 MapWallCheck = .text:0x80050E14; // type:function size:0x110 MapPos = .text:0x80050F24; // type:function size:0x2A8 @@ -999,28 +999,28 @@ HuRestartSystem = .text:0x8005AE34; // type:function size:0xDC HuSoftResetCheck = .text:0x8005AF10; // type:function size:0xFC scope:local HuSoftResetCountCheck = .text:0x8005B00C; // type:function size:0xCC scope:local HuSoftResetPostProc = .text:0x8005B0D8; // type:function size:0x78 scope:local -BoardInit = .text:0x8005B150; // type:function size:0x2E0 +BoardCommonInit = .text:0x8005B150; // type:function size:0x2E0 InitBoardFunc = .text:0x8005B430; // type:function size:0x64 scope:local ExecBoardFunc = .text:0x8005B494; // type:function size:0x9C scope:local KillBoardFunc = .text:0x8005B530; // type:function size:0xCC scope:local BoardKill = .text:0x8005B5FC; // type:function size:0xAC BoardIsKill = .text:0x8005B6A8; // type:function size:0x48 -BoardSetPauseEnable = .text:0x8005B6F0; // type:function size:0x74 -BoardGetPauseEnable = .text:0x8005B764; // type:function size:0x48 -BoardSetSave = .text:0x8005B7AC; // type:function size:0x524 -fn_8005BCD0 = .text:0x8005BCD0; // type:function size:0x160 -BoardLoadConfig = .text:0x8005BE30; // type:function size:0x160 -DestroyBoardMainProc = .text:0x8005BF90; // type:function size:0xC scope:local -BoardMainProcFunc = .text:0x8005BF9C; // type:function size:0x7D0 scope:local +BoardPauseEnableSet = .text:0x8005B6F0; // type:function size:0x74 +BoardPauseEnableGet = .text:0x8005B764; // type:function size:0x48 +BoardSaveInit = .text:0x8005B7AC; // type:function size:0x524 +BoardStoryConfigSet = .text:0x8005BCD0; // type:function size:0x160 +BoardConfigSet = .text:0x8005BE30; // type:function size:0x160 +DestroyMainFunc = .text:0x8005BF90; // type:function size:0xC scope:local +MainFunc = .text:0x8005BF9C; // type:function size:0x7D0 scope:local BoardTurnNext = .text:0x8005C76C; // type:function size:0x8C BoardIsTurnCont = .text:0x8005C7F8; // type:function size:0x28C -BoardSetNextOvl = .text:0x8005CA84; // type:function size:0xC4 -BoardHasStarted = .text:0x8005CB48; // type:function size:0x8C +BoardNextOvlSet = .text:0x8005CA84; // type:function size:0xC4 +BoardIsStarted = .text:0x8005CB48; // type:function size:0x8C CreateBoard = .text:0x8005CBD4; // type:function size:0x410 scope:local DestroyBoard = .text:0x8005CFE4; // type:function size:0x128 scope:local -fn_8005D10C = .text:0x8005D10C; // type:function size:0xC -fn_8005D118 = .text:0x8005D118; // type:function size:0x44 -fn_8005D15C = .text:0x8005D15C; // type:function size:0x50 +BoardLightHookSet = .text:0x8005D10C; // type:function size:0xC +BoardLightSet = .text:0x8005D118; // type:function size:0x44 +BoardLightReset = .text:0x8005D15C; // type:function size:0x50 BoardCameraBackup = .text:0x8005D1AC; // type:function size:0x3C BoardCameraRestore = .text:0x8005D1E8; // type:function size:0x48 BoardCameraScissorSet = .text:0x8005D230; // type:function size:0x54 @@ -1063,12 +1063,12 @@ BoardMGExit = .text:0x8005EF8C; // type:function size:0x170 BoardMGKill = .text:0x8005F0FC; // type:function size:0x60 BoardMGExec = .text:0x8005F15C; // type:function size:0xC4 BoardMGCreate = .text:0x8005F220; // type:function size:0x74 -BoardMGStartFlagSet = .text:0x8005F294; // type:function size:0x28 -BoardMGStartFlagReset = .text:0x8005F2BC; // type:function size:0x28 -BoardMGStartFlagGet = .text:0x8005F2E4; // type:function size:0x48 +BoardEventFlagSet = .text:0x8005F294; // type:function size:0x28 +BoardEventFlagReset = .text:0x8005F2BC; // type:function size:0x28 +BoardEventFlagGet = .text:0x8005F2E4; // type:function size:0x48 BoardMTXCalcLookAt = .text:0x8005F32C; // type:function size:0x10C -fn_8005F438 = .text:0x8005F438; // type:function size:0x330 -fn_8005F768 = .text:0x8005F768; // type:function size:0x390 +BoardArcSin = .text:0x8005F438; // type:function size:0x330 +BoardArcCos = .text:0x8005F768; // type:function size:0x390 BoardRandInit = .text:0x8005FAF8; // type:function size:0x24 BoardRand = .text:0x8005FB1C; // type:function size:0x24 BoardRandMod = .text:0x8005FB40; // type:function size:0x50 @@ -1085,140 +1085,140 @@ BoardFilterFadeIsDone = .text:0x8006039C; // type:function size:0x5C BoardFilterFadeAlive = .text:0x800603F8; // type:function size:0x34 BoardFilterFadeUpdate = .text:0x8006042C; // type:function size:0x178 BoardFilterFadeDraw = .text:0x800605A4; // type:function size:0x350 -fn_800608F4 = .text:0x800608F4; // type:function size:0x164 -fn_80060A58 = .text:0x80060A58; // type:function size:0x24 -fn_80060A7C = .text:0x80060A7C; // type:function size:0x88 -fn_80060B04 = .text:0x80060B04; // type:function size:0xB8 -fn_80060BBC = .text:0x80060BBC; // type:function size:0x564 -fn_80061120 = .text:0x80061120; // type:function size:0x14C -fn_8006126C = .text:0x8006126C; // type:function size:0x254 -BoardTurnRemainInit = .text:0x800614C0; // type:function size:0x2B4 -BoardTurnRemainUpdate = .text:0x80061774; // type:function size:0x2AC -BoardTurnRemainHide = .text:0x80061A20; // type:function size:0xAC -fn_80061ACC = .text:0x80061ACC; // type:function size:0x80 -fn_80061B4C = .text:0x80061B4C; // type:function size:0x54 -fn_80061BA0 = .text:0x80061BA0; // type:function size:0x3A4 -fn_80061F44 = .text:0x80061F44; // type:function size:0x38 -fn_80061F7C = .text:0x80061F7C; // type:function size:0x48 -fn_80061FC4 = .text:0x80061FC4; // type:function size:0xC -fn_80061FD0 = .text:0x80061FD0; // type:function size:0xC -fn_80061FDC = .text:0x80061FDC; // type:function size:0x78 -fn_80062054 = .text:0x80062054; // type:function size:0x78 +BoardConfettiCreate = .text:0x800608F4; // type:function size:0x164 +BoardConfettiStop = .text:0x80060A58; // type:function size:0x24 +BoardConfettiKill = .text:0x80060A7C; // type:function size:0x88 +ConfettiUpdate = .text:0x80060B04; // type:function size:0xB8 scope:local +ConfettiSpawn = .text:0x80060BBC; // type:function size:0x564 scope:local +ConfettiMove = .text:0x80061120; // type:function size:0x14C scope:local +ConfettiDraw = .text:0x8006126C; // type:function size:0x254 scope:local +BoardLast5GfxInit = .text:0x800614C0; // type:function size:0x2B4 +BoardLast5GfxUpdate = .text:0x80061774; // type:function size:0x2AC +BoardLast5GfxHide = .text:0x80061A20; // type:function size:0xAC +BoardTauntInit = .text:0x80061ACC; // type:function size:0x80 +BoardTauntKill = .text:0x80061B4C; // type:function size:0x54 +TauntUpdate = .text:0x80061BA0; // type:function size:0x3A4 scope:local +BoardDataDirReadAsync = .text:0x80061F44; // type:function size:0x38 +BoardDataAsyncWait = .text:0x80061F7C; // type:function size:0x48 +BoardRollTypeGet = .text:0x80061FC4; // type:function size:0xC +BoardRollTypeSet = .text:0x80061FD0; // type:function size:0xC +BoardPlayerGetCharMess = .text:0x80061FDC; // type:function size:0x78 +BoardPlayerGetCharName = .text:0x80062054; // type:function size:0x78 BoardPlayerIsAllCom = .text:0x800620CC; // type:function size:0x80 -fn_8006214C = .text:0x8006214C; // type:function size:0x16C -fn_800622B8 = .text:0x800622B8; // type:function size:0x588 -fn_80062840 = .text:0x80062840; // type:function size:0xFC -fn_8006293C = .text:0x8006293C; // type:function size:0x84 -fn_800629C0 = .text:0x800629C0; // type:function size:0x80 +BoardPlayerInit = .text:0x8006214C; // type:function size:0x16C +BoardPlayerModelInit = .text:0x800622B8; // type:function size:0x588 +BoardPlayerModelKill = .text:0x80062840; // type:function size:0xFC +BoardPlayerLayerSet = .text:0x8006293C; // type:function size:0x84 +BoardPlayerCameraSet = .text:0x800629C0; // type:function size:0x80 fn_80062A40 = .text:0x80062A40; // type:function size:0x80 -fn_80062AC0 = .text:0x80062AC0; // type:function size:0xB4 -fn_80062B74 = .text:0x80062B74; // type:function size:0xB0 -fn_80062C24 = .text:0x80062C24; // type:function size:0xB4 -fn_80062CD8 = .text:0x80062CD8; // type:function size:0x58 -fn_80062D30 = .text:0x80062D30; // type:function size:0x60 +BoardPlayerExistCheck = .text:0x80062AC0; // type:function size:0xB4 +BoardPlayerItemAdd = .text:0x80062B74; // type:function size:0xB0 +BoardPlayerItemRemove = .text:0x80062C24; // type:function size:0xB4 +BoardPlayerItemFind = .text:0x80062CD8; // type:function size:0x58 +BoardPlayerItemCount = .text:0x80062D30; // type:function size:0x60 fn_80062D90 = .text:0x80062D90; // type:function size:0x40 -fn_80062DD0 = .text:0x80062DD0; // type:function size:0xC4 -fn_80062E94 = .text:0x80062E94; // type:function size:0x90 -fn_80062F24 = .text:0x80062F24; // type:function size:0x80 -fn_80062FA4 = .text:0x80062FA4; // type:function size:0x9C -fn_80063040 = .text:0x80063040; // type:function size:0xCC -fn_8006310C = .text:0x8006310C; // type:function size:0x80 -fn_8006318C = .text:0x8006318C; // type:function size:0x9C -fn_80063228 = .text:0x80063228; // type:function size:0xCC -fn_800632F4 = .text:0x800632F4; // type:function size:0x80 -fn_80063374 = .text:0x80063374; // type:function size:0xD4 -fn_80063448 = .text:0x80063448; // type:function size:0xA8 -fn_800634F0 = .text:0x800634F0; // type:function size:0x80 -fn_80063570 = .text:0x80063570; // type:function size:0x90 -fn_80063600 = .text:0x80063600; // type:function size:0x80 -fn_80063680 = .text:0x80063680; // type:function size:0x44 -fn_800636C4 = .text:0x800636C4; // type:function size:0x88 -fn_8006374C = .text:0x8006374C; // type:function size:0x80 -fn_800637CC = .text:0x800637CC; // type:function size:0x80 -fn_8006384C = .text:0x8006384C; // type:function size:0x78 -fn_800638C4 = .text:0x800638C4; // type:function size:0x88 -fn_8006394C = .text:0x8006394C; // type:function size:0xD0 -fn_80063A1C = .text:0x80063A1C; // type:function size:0xE0 -fn_80063AFC = .text:0x80063AFC; // type:function size:0x80 -fn_80063B7C = .text:0x80063B7C; // type:function size:0x80 -fn_80063BFC = .text:0x80063BFC; // type:function size:0x78 -fn_80063C74 = .text:0x80063C74; // type:function size:0x78 -fn_80063CEC = .text:0x80063CEC; // type:function size:0xA0 -fn_80063D8C = .text:0x80063D8C; // type:function size:0x80 -fn_80063E0C = .text:0x80063E0C; // type:function size:0x80 -fn_80063E8C = .text:0x80063E8C; // type:function size:0x34 -fn_80063EC0 = .text:0x80063EC0; // type:function size:0x2C -fn_80063EEC = .text:0x80063EEC; // type:function size:0x9C -fn_80063F88 = .text:0x80063F88; // type:function size:0x48 -fn_80063FD0 = .text:0x80063FD0; // type:function size:0x16C -fn_8006413C = .text:0x8006413C; // type:function size:0x40 -fn_8006417C = .text:0x8006417C; // type:function size:0x7C -fn_800641F8 = .text:0x800641F8; // type:function size:0x7C -fn_80064274 = .text:0x80064274; // type:function size:0xC4 -fn_80064338 = .text:0x80064338; // type:function size:0x18 -fn_80064350 = .text:0x80064350; // type:function size:0x18 -fn_80064368 = .text:0x80064368; // type:function size:0x15C -fn_800644C4 = .text:0x800644C4; // type:function size:0x160 -fn_80064624 = .text:0x80064624; // type:function size:0x420 -fn_80064A44 = .text:0x80064A44; // type:function size:0x80 -fn_80064AC4 = .text:0x80064AC4; // type:function size:0x18C -fn_80064C50 = .text:0x80064C50; // type:function size:0x134 -fn_80064D84 = .text:0x80064D84; // type:function size:0x10 -fn_80064D94 = .text:0x80064D94; // type:function size:0x10 -fn_80064DA4 = .text:0x80064DA4; // type:function size:0xC -fn_80064DB0 = .text:0x80064DB0; // type:function size:0x634 -fn_800653E4 = .text:0x800653E4; // type:function size:0x1A0 -fn_80065584 = .text:0x80065584; // type:function size:0x70 -fn_800655F4 = .text:0x800655F4; // type:function size:0x180 -fn_80065774 = .text:0x80065774; // type:function size:0x114 -fn_80065888 = .text:0x80065888; // type:function size:0x8E8 -fn_80066170 = .text:0x80066170; // type:function size:0xBF8 -fn_80066D68 = .text:0x80066D68; // type:function size:0xBC -fn_80066E24 = .text:0x80066E24; // type:function size:0x90 -fn_80066EB4 = .text:0x80066EB4; // type:function size:0x90 -fn_80066F44 = .text:0x80066F44; // type:function size:0x430 -fn_80067374 = .text:0x80067374; // type:function size:0x218 -fn_8006758C = .text:0x8006758C; // type:function size:0x1D4 -fn_80067760 = .text:0x80067760; // type:function size:0x54 -fn_800677B4 = .text:0x800677B4; // type:function size:0x3E4 -fn_80067B98 = .text:0x80067B98; // type:function size:0xF8 -fn_80067C90 = .text:0x80067C90; // type:function size:0x5A0 -fn_80068230 = .text:0x80068230; // type:function size:0x51C -fn_8006874C = .text:0x8006874C; // type:function size:0x2C -fn_80068778 = .text:0x80068778; // type:function size:0x138 -fn_800688B0 = .text:0x800688B0; // type:function size:0x38 -fn_800688E8 = .text:0x800688E8; // type:function size:0x10C -fn_800689F4 = .text:0x800689F4; // type:function size:0x194 -fn_80068B88 = .text:0x80068B88; // type:function size:0x278 -fn_80068E00 = .text:0x80068E00; // type:function size:0x6C -fn_80068E6C = .text:0x80068E6C; // type:function size:0x9C -fn_80068F08 = .text:0x80068F08; // type:function size:0x40 +BoardPlayerCurrSpacePosDirGet = .text:0x80062DD0; // type:function size:0xC4 +BoardPlayerAmbSet = .text:0x80062E94; // type:function size:0x90 +BoardPlayerMtxSet = .text:0x80062F24; // type:function size:0x80 +BoardPlayerPosSetV = .text:0x80062FA4; // type:function size:0x9C +BoardPlayerPosSet = .text:0x80063040; // type:function size:0xCC +BoardPlayerPosGet = .text:0x8006310C; // type:function size:0x80 +BoardPlayerRotSetV = .text:0x8006318C; // type:function size:0x9C +BoardPlayerRotSet = .text:0x80063228; // type:function size:0xCC +BoardPlayerRotGet = .text:0x800632F4; // type:function size:0x80 +BoardPlayerRotYSet = .text:0x80063374; // type:function size:0xD4 +BoardPlayerRotYGet = .text:0x80063448; // type:function size:0xA8 +BoardPlayerScaleSetV = .text:0x800634F0; // type:function size:0x80 +BoardPlayerScaleSet = .text:0x80063570; // type:function size:0x90 +BoardPlayerScaleGet = .text:0x80063600; // type:function size:0x80 +BoardPlayerCurrMotionGet = .text:0x80063680; // type:function size:0x44 +BoardPlayerVoiceEnableSet = .text:0x800636C4; // type:function size:0x88 +BoardPlayerMotionCreate = .text:0x8006374C; // type:function size:0x80 +BoardPlayerMotionKill = .text:0x800637CC; // type:function size:0x80 +BoardPlayerMotionEndCheck = .text:0x8006384C; // type:function size:0x78 +BoardPlayerMotionEndWait = .text:0x800638C4; // type:function size:0x88 +BoardPlayerMotionStart = .text:0x8006394C; // type:function size:0xD0 +BoardPlayerMotionShiftSet = .text:0x80063A1C; // type:function size:0xE0 +BoardPlayerMotionSpeedSet = .text:0x80063AFC; // type:function size:0x80 +BoardPlayerMotionTimeSet = .text:0x80063B7C; // type:function size:0x80 +BoardPlayerMotionTimeGet = .text:0x80063BFC; // type:function size:0x78 +BoardPlayerMotionMaxTimeGet = .text:0x80063C74; // type:function size:0x78 +BoardPlayerMotionTimeRangeSet = .text:0x80063CEC; // type:function size:0xA0 +BoardPlayerModelAttrSet = .text:0x80063D8C; // type:function size:0x80 +BoardPlayerModelAttrReset = .text:0x80063E0C; // type:function size:0x80 +BoardPlayerCoinsSet = .text:0x80063E8C; // type:function size:0x34 +BoardPlayerCoinsGet = .text:0x80063EC0; // type:function size:0x2C +BoardPlayerCoinsAdd = .text:0x80063EEC; // type:function size:0x9C +BoardPlayerStarsAdd = .text:0x80063F88; // type:function size:0x48 +BoardPlayerSizeSet = .text:0x80063FD0; // type:function size:0x16C +BoardPlayerSizeGet = .text:0x8006413C; // type:function size:0x40 +BoardPlayerTeamCount = .text:0x8006417C; // type:function size:0x7C +BoardPlayerTeamFind = .text:0x800641F8; // type:function size:0x7C +BoardPlayerRankCalc = .text:0x80064274; // type:function size:0xC4 +BoardPlayerPreTurnHookSet = .text:0x80064338; // type:function size:0x18 +BoardPlayerPostTurnHookSet = .text:0x80064350; // type:function size:0x18 +BoardPlayerTurnExec = .text:0x80064368; // type:function size:0x15C +BoardPlayerTurnRollExec = .text:0x800644C4; // type:function size:0x160 +BoardPlayerTurnMoveExec = .text:0x80064624; // type:function size:0x420 +BoardPlayerPostTurnHookExec = .text:0x80064A44; // type:function size:0x80 +BoardPlayerSizeRestore = .text:0x80064AC4; // type:function size:0x18C +BoardPlayerZoomRestore = .text:0x80064C50; // type:function size:0x134 +BoardJunctionMaskSet = .text:0x80064D84; // type:function size:0x10 +BoardJunctionMaskReset = .text:0x80064D94; // type:function size:0x10 +BoardJunctionMaskZero = .text:0x80064DA4; // type:function size:0xC +InitJunction = .text:0x80064DB0; // type:function size:0x634 +UpdateJunctionGfx = .text:0x800653E4; // type:function size:0x1A0 scope:local +StopJunctionPlayer = .text:0x80065584; // type:function size:0x70 scope:local +RestoreJunction = .text:0x800655F4; // type:function size:0x180 scope:local +GetDefaultDirection = .text:0x80065774; // type:function size:0x114 scope:local +DoDebugMove = .text:0x80065888; // type:function size:0x8E8 scope:local +ExecJunction = .text:0x80066170; // type:function size:0xBF8 scope:local +BoardPlayerMoveTo = .text:0x80066D68; // type:function size:0xBC +BoardPlayerMoveBetween = .text:0x80066E24; // type:function size:0x90 +BoardPlayerMoveToAsync = .text:0x80066EB4; // type:function size:0x90 +BoardPlayerPosLerpStart = .text:0x80066F44; // type:function size:0x430 +PlayerPosLerpFunc = .text:0x80067374; // type:function size:0x218 scope:local +BoardPlayerDiceJumpStart = .text:0x8006758C; // type:function size:0x1D4 +BoardPlayerDiceJumpCheck = .text:0x80067760; // type:function size:0x54 +DiceJumpFunc = .text:0x800677B4; // type:function size:0x3E4 scope:local +BoardRotateDiceNumbers = .text:0x80067B98; // type:function size:0xF8 +BoardPlayerAnimBlendSet = .text:0x80067C90; // type:function size:0x5A0 +BoardPlayerAnimBlendExec = .text:0x80068230; // type:function size:0x51C +BoardPlayerAnimBlendCheck = .text:0x8006874C; // type:function size:0x2C +BoardDiceDigit2DInit = .text:0x80068778; // type:function size:0x138 +BoardDiceDigit2DUpdateEnable = .text:0x800688B0; // type:function size:0x38 +BoardDiceDigit2DShowSet = .text:0x800688E8; // type:function size:0x10C +UpdateDiceDigitSprite = .text:0x800689F4; // type:function size:0x194 scope:local +UpdateDiceDigit2D = .text:0x80068B88; // type:function size:0x278 scope:local +BoardPlayerBtnDownWait = .text:0x80068E00; // type:function size:0x6C +BoardPlayerAutoSizeSet = .text:0x80068E6C; // type:function size:0x9C +BoardPlayerAutoSizeGet = .text:0x80068F08; // type:function size:0x40 fn_80068F48 = .text:0x80068F48; // type:function size:0x1C fn_80068F64 = .text:0x80068F64; // type:function size:0x224 fn_80069188 = .text:0x80069188; // type:function size:0x40 fn_800691C8 = .text:0x800691C8; // type:function size:0x100 -fn_800692C8 = .text:0x800692C8; // type:function size:0x1A4 -fn_8006946C = .text:0x8006946C; // type:function size:0x128 -fn_80069594 = .text:0x80069594; // type:function size:0x8 -fn_8006959C = .text:0x8006959C; // type:function size:0x8 -fn_800695A4 = .text:0x800695A4; // type:function size:0x74 -fn_80069618 = .text:0x80069618; // type:function size:0x54 -fn_8006966C = .text:0x8006966C; // type:function size:0x4C -fn_800696B8 = .text:0x800696B8; // type:function size:0x44 -fn_800696FC = .text:0x800696FC; // type:function size:0x44 -fn_80069740 = .text:0x80069740; // type:function size:0x44 -fn_80069784 = .text:0x80069784; // type:function size:0x1F0 -fn_80069974 = .text:0x80069974; // type:function size:0x5C -fn_800699D0 = .text:0x800699D0; // type:function size:0x1294 -fn_8006AC64 = .text:0x8006AC64; // type:function size:0xA0 -fn_8006AD04 = .text:0x8006AD04; // type:function size:0x24C -fn_8006AF50 = .text:0x8006AF50; // type:function size:0x8 -fn_8006AF58 = .text:0x8006AF58; // type:function size:0x38C -fn_8006B2E4 = .text:0x8006B2E4; // type:function size:0x950 -fn_8006BC34 = .text:0x8006BC34; // type:function size:0x980 -fn_8006C5B4 = .text:0x8006C5B4; // type:function size:0xA48 -fn_8006CFFC = .text:0x8006CFFC; // type:function size:0x24C -fn_8006D248 = .text:0x8006D248; // type:function size:0xC0 +BoardBowserSuitInit = .text:0x800692C8; // type:function size:0x1A4 +BoardBowserSuitKill = .text:0x8006946C; // type:function size:0x128 +BoardBowserSuitModelGet = .text:0x80069594; // type:function size:0x8 +BoardBowserSuitPlayerModelGet = .text:0x8006959C; // type:function size:0x8 +BoardBowserSuitMotionCreate = .text:0x800695A4; // type:function size:0x74 +BoardBowserSuitMotionSetWait = .text:0x80069618; // type:function size:0x54 +BoardBowserSuitMotionSetWalk = .text:0x8006966C; // type:function size:0x4C +BoardBowserSuitMotionSetWin = .text:0x800696B8; // type:function size:0x44 +BoardBowserSuitMotionSetJump = .text:0x800696FC; // type:function size:0x44 +BoardBowserSuitPlayerModelKill = .text:0x80069740; // type:function size:0x44 +UpdateBowserSuit = .text:0x80069784; // type:function size:0x1F0 scope:local +BoardSpaceShockSpaceSet = .text:0x80069974; // type:function size:0x5C +DoSparkSpace = .text:0x800699D0; // type:function size:0x1294 scope:local +RemoveSparkSpace = .text:0x8006AC64; // type:function size:0xA0 scope:local +SetRollPlayerSize = .text:0x8006AD04; // type:function size:0x24C scope:local +BoardRollResizeCheck = .text:0x8006AF50; // type:function size:0x8 scope:local +BoardPlayerResizeAnimExec = .text:0x8006AF58; // type:function size:0x38C +MegaSquishFunc = .text:0x8006B2E4; // type:function size:0x950 scope:local +MegaPlayerPassFunc = .text:0x8006BC34; // type:function size:0x980 scope:local +MegaExecJump = .text:0x8006C5B4; // type:function size:0xA48 +BoardPlayerCopyEyeMat = .text:0x8006CFFC; // type:function size:0x24C +BoardPlayerCopyMat = .text:0x8006D248; // type:function size:0xC0 BoardModelInit = .text:0x8006D308; // type:function size:0xF0 BoardModelKillAll = .text:0x8006D3F8; // type:function size:0xA0 ModelMgrObjFunc = .text:0x8006D498; // type:function size:0x70 scope:local @@ -1236,20 +1236,20 @@ BoardModelIDGet = .text:0x8006DBD4; // type:function size:0x48 fn_8006DC1C = .text:0x8006DC1C; // type:function size:0x60 BoardModelSetPass = .text:0x8006DC7C; // type:function size:0x74 BoardModelAmbSet = .text:0x8006DCF0; // type:function size:0x68 -BoardModelExist = .text:0x8006DD58; // type:function size:0x48 +BoardModelExistCheck = .text:0x8006DD58; // type:function size:0x48 BoardModelExistDupe = .text:0x8006DDA0; // type:function size:0x48 fn_8006DDE8 = .text:0x8006DDE8; // type:function size:0x70 BoardModelMotionCreate = .text:0x8006DE58; // type:function size:0x140 BoardModelMotionKill = .text:0x8006DF98; // type:function size:0x118 BoardModelMotionTimeRangeSet = .text:0x8006E0B0; // type:function size:0xE8 BoardModelMotionUpdateSet = .text:0x8006E198; // type:function size:0x7C -fn_8006E214 = .text:0x8006E214; // type:function size:0xA4 +BoardModelVoiceEnableSet = .text:0x8006E214; // type:function size:0xA4 BoardModelMotionStart = .text:0x8006E2B8; // type:function size:0x174 BoardModelMotionShiftIDGet = .text:0x8006E42C; // type:function size:0x50 BoardModelMotionShiftSet = .text:0x8006E47C; // type:function size:0x148 BoardModelAttrSet = .text:0x8006E5C4; // type:function size:0x58 BoardModelAttrReset = .text:0x8006E61C; // type:function size:0x58 -BoardModelMotionTimeReset = .text:0x8006E674; // type:function size:0x84 +BoardModelMotionTimeSet = .text:0x8006E674; // type:function size:0x84 BoardModelMotionTimeGet = .text:0x8006E6F8; // type:function size:0x94 BoardModelMotionMaxTimeGet = .text:0x8006E78C; // type:function size:0x88 BoardModelMotionSpeedGet = .text:0x8006E814; // type:function size:0x64 @@ -1411,7 +1411,7 @@ BoardSpaceHide = .text:0x8007664C; // type:function size:0x48 DrawSpaces = .text:0x80076694; // type:function size:0x9E8 scope:local BoardSpaceRead = .text:0x8007707C; // type:function size:0x174 BoardSpaceSetCamera = .text:0x800771F0; // type:function size:0x2C -BoardSpaceHiddenBlockSetNextPos = .text:0x8007721C; // type:function size:0xD0 +BoardSpaceBlockSetPos = .text:0x8007721C; // type:function size:0xD0 BoardSpaceInit = .text:0x800772EC; // type:function size:0x750 BoardSpaceDestroy = .text:0x80077A3C; // type:function size:0x70 fn_80077AAC = .text:0x80077AAC; // type:function size:0x8 @@ -1952,37 +1952,37 @@ fn_800AD83C = .text:0x800AD83C; // type:function size:0x58 fn_800AD894 = .text:0x800AD894; // type:function size:0x58 fn_800AD8EC = .text:0x800AD8EC; // type:function size:0x38 fn_800AD924 = .text:0x800AD924; // type:function size:0x260 -fn_800ADB84 = .text:0x800ADB84; // type:function size:0x88 -fn_800ADC0C = .text:0x800ADC0C; // type:function size:0x3C0 -fn_800ADFCC = .text:0x800ADFCC; // type:function size:0x108 -fn_800AE0D4 = .text:0x800AE0D4; // type:function size:0xABC -fn_800AEB90 = .text:0x800AEB90; // type:function size:0x168 -fn_800AECF8 = .text:0x800AECF8; // type:function size:0x58 -fn_800AED50 = .text:0x800AED50; // type:function size:0x4F4 -fn_800AF244 = .text:0x800AF244; // type:function size:0x310 -fn_800AF554 = .text:0x800AF554; // type:function size:0x264 -fn_800AF7B8 = .text:0x800AF7B8; // type:function size:0x110 -fn_800AF8C8 = .text:0x800AF8C8; // type:function size:0x48 -fn_800AF910 = .text:0x800AF910; // type:function size:0xD4 -fn_800AF9E4 = .text:0x800AF9E4; // type:function size:0x1CC -fn_800AFBB0 = .text:0x800AFBB0; // type:function size:0x178 -fn_800AFD28 = .text:0x800AFD28; // type:function size:0x238 -fn_800AFF60 = .text:0x800AFF60; // type:function size:0x3B0 -fn_800B0310 = .text:0x800B0310; // type:function size:0x154 -fn_800B0464 = .text:0x800B0464; // type:function size:0x390 -fn_800B07F4 = .text:0x800B07F4; // type:function size:0x3E4 -fn_800B0BD8 = .text:0x800B0BD8; // type:function size:0x240 -fn_800B0E18 = .text:0x800B0E18; // type:function size:0x210 -fn_800B1028 = .text:0x800B1028; // type:function size:0x70 -fn_800B1098 = .text:0x800B1098; // type:function size:0x1B8 -fn_800B1250 = .text:0x800B1250; // type:function size:0x12C -fn_800B137C = .text:0x800B137C; // type:function size:0x1A4 -fn_800B1520 = .text:0x800B1520; // type:function size:0x10C -fn_800B162C = .text:0x800B162C; // type:function size:0xDC -fn_800B1708 = .text:0x800B1708; // type:function size:0x34 -fn_800B173C = .text:0x800B173C; // type:function size:0x12C -fn_800B1868 = .text:0x800B1868; // type:function size:0x4C -fn_800B18B4 = .text:0x800B18B4; // type:function size:0xC0 +BoardPauseStart = .text:0x800ADB84; // type:function size:0x88 +PauseExit = .text:0x800ADC0C; // type:function size:0x3C0 scope:local +PauseProcess = .text:0x800ADFCC; // type:function size:0x108 scope:local +CreatePauseScreen = .text:0x800AE0D4; // type:function size:0xABC scope:local +DeletePauseScreen = .text:0x800AEB90; // type:function size:0x168 scope:local +SetBoxVisible = .text:0x800AECF8; // type:function size:0x58 scope:local +PauseConfigObjFunc = .text:0x800AED50; // type:function size:0x4F4 scope:local +UpdatePauseText = .text:0x800AF244; // type:function size:0x310 scope:local +InitPauseQuit = .text:0x800AF554; // type:function size:0x264 scope:local +PauseQuitProcess = .text:0x800AF7B8; // type:function size:0x110 scope:local +DeletePauseQuit = .text:0x800AF8C8; // type:function size:0x48 scope:local +UpdatePadConfig = .text:0x800AF910; // type:function size:0xD4 scope:local +CreatePadConfig = .text:0x800AF9E4; // type:function size:0x1CC scope:local +ScrollInPadConfig = .text:0x800AFBB0; // type:function size:0x178 scope:local +CursorMovePadConfig = .text:0x800AFD28; // type:function size:0x238 scope:local +ChangeDiffPadConfig = .text:0x800AFF60; // type:function size:0x3B0 scope:local +ScrollOutPadConfig = .text:0x800B0310; // type:function size:0x154 scope:local +UpdatePauseBox = .text:0x800B0464; // type:function size:0x390 scope:local +UpdatePauseBoxExt = .text:0x800B07F4; // type:function size:0x3E4 scope:local +ExecPauseConfig = .text:0x800B0BD8; // type:function size:0x240 scope:local +CreatePauseControlWin = .text:0x800B0E18; // type:function size:0x210 scope:local +DeletePauseControlWin = .text:0x800B1028; // type:function size:0x70 scope:local +WaitPauseInput = .text:0x800B1098; // type:function size:0x1B8 scope:local +ShowPauseConfig = .text:0x800B1250; // type:function size:0x12C scope:local +CreatePadConfigSprite = .text:0x800B137C; // type:function size:0x1A4 scope:local +ShowPadConfigSprite = .text:0x800B1520; // type:function size:0x10C scope:local +PauseCreateNumber = .text:0x800B162C; // type:function size:0xDC scope:local +BoardPauseActiveCheck = .text:0x800B1708; // type:function size:0x34 +BoardPauseReqCheck = .text:0x800B173C; // type:function size:0x12C +CheckPort = .text:0x800B1868; // type:function size:0x4C scope:local +RotateBox = .text:0x800B18B4; // type:function size:0xC0 scope:local fn_800B1974 = .text:0x800B1974; // type:function size:0x60 fn_800B19D4 = .text:0x800B19D4; // type:function size:0x180 fn_800B1B54 = .text:0x800B1B54; // type:function size:0xE4 @@ -1997,19 +1997,19 @@ fn_800B2AB8 = .text:0x800B2AB8; // type:function size:0x65C fn_800B3114 = .text:0x800B3114; // type:function size:0x488 fn_800B359C = .text:0x800B359C; // type:function size:0x45C fn_800B39F8 = .text:0x800B39F8; // type:function size:0x4E0 -fn_800B3ED8 = .text:0x800B3ED8; // type:function size:0x34 -fn_800B3F0C = .text:0x800B3F0C; // type:function size:0x80 -fn_800B3F8C = .text:0x800B3F8C; // type:function size:0x4C -fn_800B3FD8 = .text:0x800B3FD8; // type:function size:0x8 -fn_800B3FE0 = .text:0x800B3FE0; // type:function size:0x44 -fn_800B4024 = .text:0x800B4024; // type:function size:0x78 -fn_800B409C = .text:0x800B409C; // type:function size:0x10C -fn_800B41A8 = .text:0x800B41A8; // type:function size:0xBC -fn_800B4264 = .text:0x800B4264; // type:function size:0x10 -fn_800B4274 = .text:0x800B4274; // type:function size:0x40 -fn_800B42B4 = .text:0x800B42B4; // type:function size:0x8 -fn_800B42BC = .text:0x800B42BC; // type:function size:0x8 -fn_800B42C4 = .text:0x800B42C4; // type:function size:0x30 +TutorialProcFunc = .text:0x800B3ED8; // type:function size:0x34 scope:local +BoardTutorialInit = .text:0x800B3F0C; // type:function size:0x80 +BoardTutorialKill = .text:0x800B3F8C; // type:function size:0x4C +BoardTutorialHookSet = .text:0x800B3FD8; // type:function size:0x8 +BoardTutorialHookExec = .text:0x800B3FE0; // type:function size:0x44 +BoardTutorialPlayerInit = .text:0x800B4024; // type:function size:0x78 +BoardTutorialWorkSave = .text:0x800B409C; // type:function size:0x10C +BoardTutorialWorkRestore = .text:0x800B41A8; // type:function size:0xBC +BoardTutorialDirInputSet = .text:0x800B4264; // type:function size:0x10 +BoardTutorialBlockSetPos = .text:0x800B4274; // type:function size:0x40 +BoardTutorialItemSet = .text:0x800B42B4; // type:function size:0x8 +BoardTutorialHostSet = .text:0x800B42BC; // type:function size:0x8 +BoardTutorialHostHide = .text:0x800B42C4; // type:function size:0x30 PPCMfmsr = .text:0x800B42F4; // type:function size:0x8 scope:global PPCMtmsr = .text:0x800B42FC; // type:function size:0x8 scope:global PPCMfhid0 = .text:0x800B4304; // type:function size:0x8 scope:global @@ -2954,12 +2954,12 @@ acos = .text:0x800EBA60; // type:function size:0x20 asin = .text:0x800EBA80; // type:function size:0x20 atan2 = .text:0x800EBAA0; // type:function size:0x20 fmod = .text:0x800EBAC0; // type:function size:0x20 -log = .text:0x800EBAE0; // type:function size:0x20 -tanf = .text:0x800EBB00; // type:function size:0x24 -sinf = .text:0x800EBB24; // type:function size:0x24 -cosf = .text:0x800EBB48; // type:function size:0x24 -atan2f = .text:0x800EBB6C; // type:function size:0x24 -acosf = .text:0x800EBB90; // type:function size:0x24 +pow = .text:0x800EBAE0; // type:function size:0x20 +tanf = .text:0x800EBB00; // type:function size:0x24 scope:weak +sinf = .text:0x800EBB24; // type:function size:0x24 scope:weak +cosf = .text:0x800EBB48; // type:function size:0x24 scope:weak +atan2f = .text:0x800EBB6C; // type:function size:0x24 scope:weak +acosf = .text:0x800EBB90; // type:function size:0x24 scope:weak TRKNubMainLoop = .text:0x800EBBB4; // type:function size:0xF8 scope:global TRKDestructEvent = .text:0x800EBCAC; // type:function size:0x24 scope:global TRKConstructEvent = .text:0x800EBCD0; // type:function size:0x18 @@ -3087,394 +3087,394 @@ GetUseSerialIO = .text:0x800F26EC; // type:function size:0x10 SetUseSerialIO = .text:0x800F26FC; // type:function size:0xC __TRK_write_console = .text:0x800F2708; // type:function size:0xBC __read_console = .text:0x800F27C4; // type:function size:0xBC -fn_800F2880 = .text:0x800F2880; // type:function size:0x68 -fn_800F28E8 = .text:0x800F28E8; // type:function size:0xAC4 -fn_800F33AC = .text:0x800F33AC; // type:function size:0x64 -fn_800F3410 = .text:0x800F3410; // type:function size:0x27C -fn_800F368C = .text:0x800F368C; // type:function size:0x2B0 -fn_800F393C = .text:0x800F393C; // type:function size:0x90 -fn_800F39CC = .text:0x800F39CC; // type:function size:0xE4 -fn_800F3AB0 = .text:0x800F3AB0; // type:function size:0x108 -fn_800F3BB8 = .text:0x800F3BB8; // type:function size:0xBC -fn_800F3C74 = .text:0x800F3C74; // type:function size:0x1CC -fn_800F3E40 = .text:0x800F3E40; // type:function size:0xB58 -fn_800F4998 = .text:0x800F4998; // type:function size:0x218 -fn_800F4BB0 = .text:0x800F4BB0; // type:function size:0xA94 -fn_800F5644 = .text:0x800F5644; // type:function size:0x174 -fn_800F57B8 = .text:0x800F57B8; // type:function size:0x49C -fn_800F5C54 = .text:0x800F5C54; // type:function size:0x9F4 -fn_800F6648 = .text:0x800F6648; // type:function size:0x1A8 -fn_800F67F0 = .text:0x800F67F0; // type:function size:0x44 -fn_800F6834 = .text:0x800F6834; // type:function size:0x34 -fn_800F6868 = .text:0x800F6868; // type:function size:0x78 -fn_800F68E0 = .text:0x800F68E0; // type:function size:0x2A0 -fn_800F6B80 = .text:0x800F6B80; // type:function size:0x3C0 -fn_800F6F40 = .text:0x800F6F40; // type:function size:0x25C -fn_800F719C = .text:0x800F719C; // type:function size:0x45C -fn_800F75F8 = .text:0x800F75F8; // type:function size:0x744 -fn_800F7D3C = .text:0x800F7D3C; // type:function size:0x6FC -fn_800F8438 = .text:0x800F8438; // type:function size:0x150 -fn_800F8588 = .text:0x800F8588; // type:function size:0x64 -fn_800F85EC = .text:0x800F85EC; // type:function size:0x44 -fn_800F8630 = .text:0x800F8630; // type:function size:0x28 -fn_800F8658 = .text:0x800F8658; // type:function size:0x510 -fn_800F8B68 = .text:0x800F8B68; // type:function size:0x34 -fn_800F8B9C = .text:0x800F8B9C; // type:function size:0xC8 -fn_800F8C64 = .text:0x800F8C64; // type:function size:0xE4 -fn_800F8D48 = .text:0x800F8D48; // type:function size:0xE4 -fn_800F8E2C = .text:0x800F8E2C; // type:function size:0x84 -fn_800F8EB0 = .text:0x800F8EB0; // type:function size:0x88 -fn_800F8F38 = .text:0x800F8F38; // type:function size:0x530 -fn_800F9468 = .text:0x800F9468; // type:function size:0x54 -fn_800F94BC = .text:0x800F94BC; // type:function size:0x28 -fn_800F94E4 = .text:0x800F94E4; // type:function size:0xD0 -fn_800F95B4 = .text:0x800F95B4; // type:function size:0x574 -fn_800F9B28 = .text:0x800F9B28; // type:function size:0x24 -fn_800F9B4C = .text:0x800F9B4C; // type:function size:0x30 -fn_800F9B7C = .text:0x800F9B7C; // type:function size:0x38 -fn_800F9BB4 = .text:0x800F9BB4; // type:function size:0x38 -fn_800F9BEC = .text:0x800F9BEC; // type:function size:0x48 -fn_800F9C34 = .text:0x800F9C34; // type:function size:0x38 -fn_800F9C6C = .text:0x800F9C6C; // type:function size:0x58 -fn_800F9CC4 = .text:0x800F9CC4; // type:function size:0x68 -fn_800F9D2C = .text:0x800F9D2C; // type:function size:0x84 -fn_800F9DB0 = .text:0x800F9DB0; // type:function size:0x1C -fn_800F9DCC = .text:0x800F9DCC; // type:function size:0x60 -fn_800F9E2C = .text:0x800F9E2C; // type:function size:0x60 -fn_800F9E8C = .text:0x800F9E8C; // type:function size:0x40 -fn_800F9ECC = .text:0x800F9ECC; // type:function size:0xE0 -fn_800F9FAC = .text:0x800F9FAC; // type:function size:0x40 -fn_800F9FEC = .text:0x800F9FEC; // type:function size:0x50 -fn_800FA03C = .text:0x800FA03C; // type:function size:0x60 -fn_800FA09C = .text:0x800FA09C; // type:function size:0x94 -fn_800FA130 = .text:0x800FA130; // type:function size:0xEC -fn_800FA21C = .text:0x800FA21C; // type:function size:0x158 -fn_800FA374 = .text:0x800FA374; // type:function size:0xA8 -fn_800FA41C = .text:0x800FA41C; // type:function size:0xF0 -fn_800FA50C = .text:0x800FA50C; // type:function size:0x20 -fn_800FA52C = .text:0x800FA52C; // type:function size:0x20 -fn_800FA54C = .text:0x800FA54C; // type:function size:0xBC -fn_800FA608 = .text:0x800FA608; // type:function size:0x8C -fn_800FA694 = .text:0x800FA694; // type:function size:0x8AC -fn_800FAF40 = .text:0x800FAF40; // type:function size:0x4 -fn_800FAF44 = .text:0x800FAF44; // type:function size:0x84 -fn_800FAFC8 = .text:0x800FAFC8; // type:function size:0x160 -fn_800FB128 = .text:0x800FB128; // type:function size:0x2C4 -fn_800FB3EC = .text:0x800FB3EC; // type:function size:0x34 -fn_800FB420 = .text:0x800FB420; // type:function size:0x44 -fn_800FB464 = .text:0x800FB464; // type:function size:0x130 -fn_800FB594 = .text:0x800FB594; // type:function size:0x458 -fn_800FB9EC = .text:0x800FB9EC; // type:function size:0x44 -fn_800FBA30 = .text:0x800FBA30; // type:function size:0x6E8 -fn_800FC118 = .text:0x800FC118; // type:function size:0x560 -fn_800FC678 = .text:0x800FC678; // type:function size:0x654 -fn_800FCCCC = .text:0x800FCCCC; // type:function size:0x6B8 -fn_800FD384 = .text:0x800FD384; // type:function size:0x634 -fn_800FD9B8 = .text:0x800FD9B8; // type:function size:0x700 -fn_800FE0B8 = .text:0x800FE0B8; // type:function size:0x1F0 -fn_800FE2A8 = .text:0x800FE2A8; // type:function size:0x17C -fn_800FE424 = .text:0x800FE424; // type:function size:0x248 -fn_800FE66C = .text:0x800FE66C; // type:function size:0x1C4 -fn_800FE830 = .text:0x800FE830; // type:function size:0x204 -fn_800FEA34 = .text:0x800FEA34; // type:function size:0x17C -fn_800FEBB0 = .text:0x800FEBB0; // type:function size:0x188 -fn_800FED38 = .text:0x800FED38; // type:function size:0x2C8 -fn_800FF000 = .text:0x800FF000; // type:function size:0xD8 -fn_800FF0D8 = .text:0x800FF0D8; // type:function size:0x98 -fn_800FF170 = .text:0x800FF170; // type:function size:0x11C -fn_800FF28C = .text:0x800FF28C; // type:function size:0x15C -fn_800FF3E8 = .text:0x800FF3E8; // type:function size:0x304 -fn_800FF6EC = .text:0x800FF6EC; // type:function size:0x284 -fn_800FF970 = .text:0x800FF970; // type:function size:0x10 -fn_800FF980 = .text:0x800FF980; // type:function size:0x8C -fn_800FFA0C = .text:0x800FFA0C; // type:function size:0x10 -fn_800FFA1C = .text:0x800FFA1C; // type:function size:0x128 -fn_800FFB44 = .text:0x800FFB44; // type:function size:0x10 -fn_800FFB54 = .text:0x800FFB54; // type:function size:0x5C -fn_800FFBB0 = .text:0x800FFBB0; // type:function size:0x5C -fn_800FFC0C = .text:0x800FFC0C; // type:function size:0x10 -fn_800FFC1C = .text:0x800FFC1C; // type:function size:0x7C -fn_800FFC98 = .text:0x800FFC98; // type:function size:0x10 -fn_800FFCA8 = .text:0x800FFCA8; // type:function size:0x9C -fn_800FFD44 = .text:0x800FFD44; // type:function size:0xE4 -fn_800FFE28 = .text:0x800FFE28; // type:function size:0x20 -fn_800FFE48 = .text:0x800FFE48; // type:function size:0x2F0 -fn_80100138 = .text:0x80100138; // type:function size:0xD0 -fn_80100208 = .text:0x80100208; // type:function size:0x154 -fn_8010035C = .text:0x8010035C; // type:function size:0x18C -fn_801004E8 = .text:0x801004E8; // type:function size:0xD8 -fn_801005C0 = .text:0x801005C0; // type:function size:0x1FC -fn_801007BC = .text:0x801007BC; // type:function size:0x17C -fn_80100938 = .text:0x80100938; // type:function size:0x1A0 -fn_80100AD8 = .text:0x80100AD8; // type:function size:0x258 -fn_80100D30 = .text:0x80100D30; // type:function size:0x12C -fn_80100E5C = .text:0x80100E5C; // type:function size:0x27C -fn_801010D8 = .text:0x801010D8; // type:function size:0x9C -fn_80101174 = .text:0x80101174; // type:function size:0x9C -fn_80101210 = .text:0x80101210; // type:function size:0x134 -fn_80101344 = .text:0x80101344; // type:function size:0x130 -fn_80101474 = .text:0x80101474; // type:function size:0x13C -fn_801015B0 = .text:0x801015B0; // type:function size:0x19C -fn_8010174C = .text:0x8010174C; // type:function size:0x104 -fn_80101850 = .text:0x80101850; // type:function size:0x104 -fn_80101954 = .text:0x80101954; // type:function size:0x104 -fn_80101A58 = .text:0x80101A58; // type:function size:0x104 -fn_80101B5C = .text:0x80101B5C; // type:function size:0x104 -fn_80101C60 = .text:0x80101C60; // type:function size:0x104 -fn_80101D64 = .text:0x80101D64; // type:function size:0x104 -fn_80101E68 = .text:0x80101E68; // type:function size:0x104 -fn_80101F6C = .text:0x80101F6C; // type:function size:0x104 -fn_80102070 = .text:0x80102070; // type:function size:0x104 -fn_80102174 = .text:0x80102174; // type:function size:0x104 -fn_80102278 = .text:0x80102278; // type:function size:0x104 -fn_8010237C = .text:0x8010237C; // type:function size:0x104 -fn_80102480 = .text:0x80102480; // type:function size:0x17C -fn_801025FC = .text:0x801025FC; // type:function size:0x17C -fn_80102778 = .text:0x80102778; // type:function size:0x164 -fn_801028DC = .text:0x801028DC; // type:function size:0x68 -fn_80102944 = .text:0x80102944; // type:function size:0x220 -fn_80102B64 = .text:0x80102B64; // type:function size:0x14C -fn_80102CB0 = .text:0x80102CB0; // type:function size:0xBC -fn_80102D6C = .text:0x80102D6C; // type:function size:0x244 -fn_80102FB0 = .text:0x80102FB0; // type:function size:0x80 -fn_80103030 = .text:0x80103030; // type:function size:0xDC -fn_8010310C = .text:0x8010310C; // type:function size:0xF58 -fn_80104064 = .text:0x80104064; // type:function size:0x150 -fn_801041B4 = .text:0x801041B4; // type:function size:0xAC -fn_80104260 = .text:0x80104260; // type:function size:0xF0 -fn_80104350 = .text:0x80104350; // type:function size:0x108 -fn_80104458 = .text:0x80104458; // type:function size:0xA4 -fn_801044FC = .text:0x801044FC; // type:function size:0x108 -fn_80104604 = .text:0x80104604; // type:function size:0xFC -fn_80104700 = .text:0x80104700; // type:function size:0x438 -fn_80104B38 = .text:0x80104B38; // type:function size:0x68 -fn_80104BA0 = .text:0x80104BA0; // type:function size:0xE0 -fn_80104C80 = .text:0x80104C80; // type:function size:0x350 -fn_80104FD0 = .text:0x80104FD0; // type:function size:0x14 -fn_80104FE4 = .text:0x80104FE4; // type:function size:0x104 -fn_801050E8 = .text:0x801050E8; // type:function size:0x50 -fn_80105138 = .text:0x80105138; // type:function size:0x24C -fn_80105384 = .text:0x80105384; // type:function size:0x460 -fn_801057E4 = .text:0x801057E4; // type:function size:0x1C4 -fn_801059A8 = .text:0x801059A8; // type:function size:0x2A0 -fn_80105C48 = .text:0x80105C48; // type:function size:0xFC -fn_80105D44 = .text:0x80105D44; // type:function size:0x218 -fn_80105F5C = .text:0x80105F5C; // type:function size:0x234 -fn_80106190 = .text:0x80106190; // type:function size:0xC4 -fn_80106254 = .text:0x80106254; // type:function size:0x15C -fn_801063B0 = .text:0x801063B0; // type:function size:0x74 -fn_80106424 = .text:0x80106424; // type:function size:0x54 -fn_80106478 = .text:0x80106478; // type:function size:0x74 -fn_801064EC = .text:0x801064EC; // type:function size:0x144 -fn_80106630 = .text:0x80106630; // type:function size:0x3C -fn_8010666C = .text:0x8010666C; // type:function size:0xE4 -fn_80106750 = .text:0x80106750; // type:function size:0x58 -fn_801067A8 = .text:0x801067A8; // type:function size:0x26C -fn_80106A14 = .text:0x80106A14; // type:function size:0x28 -fn_80106A3C = .text:0x80106A3C; // type:function size:0x150 -fn_80106B8C = .text:0x80106B8C; // type:function size:0x168 -fn_80106CF4 = .text:0x80106CF4; // type:function size:0x198 -fn_80106E8C = .text:0x80106E8C; // type:function size:0x84 -fn_80106F10 = .text:0x80106F10; // type:function size:0xBC -fn_80106FCC = .text:0x80106FCC; // type:function size:0x248 -fn_80107214 = .text:0x80107214; // type:function size:0xA8 -fn_801072BC = .text:0x801072BC; // type:function size:0x1F8 -fn_801074B4 = .text:0x801074B4; // type:function size:0x1E4 -fn_80107698 = .text:0x80107698; // type:function size:0xC -fn_801076A4 = .text:0x801076A4; // type:function size:0x27C -fn_80107920 = .text:0x80107920; // type:function size:0x32C -fn_80107C4C = .text:0x80107C4C; // type:function size:0x33C -fn_80107F88 = .text:0x80107F88; // type:function size:0x14C -fn_801080D4 = .text:0x801080D4; // type:function size:0x11C -fn_801081F0 = .text:0x801081F0; // type:function size:0x3B4 -fn_801085A4 = .text:0x801085A4; // type:function size:0x38 -fn_801085DC = .text:0x801085DC; // type:function size:0xE0 -fn_801086BC = .text:0x801086BC; // type:function size:0x150 -fn_8010880C = .text:0x8010880C; // type:function size:0x20 -fn_8010882C = .text:0x8010882C; // type:function size:0xF4 -fn_80108920 = .text:0x80108920; // type:function size:0x48 -fn_80108968 = .text:0x80108968; // type:function size:0x74 -fn_801089DC = .text:0x801089DC; // type:function size:0xAC -fn_80108A88 = .text:0x80108A88; // type:function size:0x2DC -fn_80108D64 = .text:0x80108D64; // type:function size:0x258 -fn_80108FBC = .text:0x80108FBC; // type:function size:0x21B8 -fn_8010B174 = .text:0x8010B174; // type:function size:0x44 -fn_8010B1B8 = .text:0x8010B1B8; // type:function size:0xA0 -fn_8010B258 = .text:0x8010B258; // type:function size:0x60 -fn_8010B2B8 = .text:0x8010B2B8; // type:function size:0xC8 -fn_8010B380 = .text:0x8010B380; // type:function size:0xA8 -fn_8010B428 = .text:0x8010B428; // type:function size:0x84 -fn_8010B4AC = .text:0x8010B4AC; // type:function size:0x158 -fn_8010B604 = .text:0x8010B604; // type:function size:0x6F0 -fn_8010BCF4 = .text:0x8010BCF4; // type:function size:0x4B4 -fn_8010C1A8 = .text:0x8010C1A8; // type:function size:0x51C -fn_8010C6C4 = .text:0x8010C6C4; // type:function size:0x130 -fn_8010C7F4 = .text:0x8010C7F4; // type:function size:0x20 -fn_8010C814 = .text:0x8010C814; // type:function size:0x3F8 -fn_8010CC0C = .text:0x8010CC0C; // type:function size:0x50 -fn_8010CC5C = .text:0x8010CC5C; // type:function size:0xA8 -fn_8010CD04 = .text:0x8010CD04; // type:function size:0x5C -fn_8010CD60 = .text:0x8010CD60; // type:function size:0xFC -fn_8010CE5C = .text:0x8010CE5C; // type:function size:0x204 -fn_8010D060 = .text:0x8010D060; // type:function size:0x230 -fn_8010D290 = .text:0x8010D290; // type:function size:0xD0 -fn_8010D360 = .text:0x8010D360; // type:function size:0x14C -fn_8010D4AC = .text:0x8010D4AC; // type:function size:0x3B0 -fn_8010D85C = .text:0x8010D85C; // type:function size:0x82C -fn_8010E088 = .text:0x8010E088; // type:function size:0x38 -fn_8010E0C0 = .text:0x8010E0C0; // type:function size:0x4 -fn_8010E0C4 = .text:0x8010E0C4; // type:function size:0x118 -fn_8010E1DC = .text:0x8010E1DC; // type:function size:0x34 -fn_8010E210 = .text:0x8010E210; // type:function size:0x8 -fn_8010E218 = .text:0x8010E218; // type:function size:0xAC -fn_8010E2C4 = .text:0x8010E2C4; // type:function size:0xB4 -fn_8010E378 = .text:0x8010E378; // type:function size:0x64 -fn_8010E3DC = .text:0x8010E3DC; // type:function size:0x1FC -fn_8010E5D8 = .text:0x8010E5D8; // type:function size:0x24 -fn_8010E5FC = .text:0x8010E5FC; // type:function size:0x608 -fn_8010EC04 = .text:0x8010EC04; // type:function size:0x124 -fn_8010ED28 = .text:0x8010ED28; // type:function size:0xF0 -fn_8010EE18 = .text:0x8010EE18; // type:function size:0x2C4 -fn_8010F0DC = .text:0x8010F0DC; // type:function size:0x34 -fn_8010F110 = .text:0x8010F110; // type:function size:0x3C -fn_8010F14C = .text:0x8010F14C; // type:function size:0x98 -fn_8010F1E4 = .text:0x8010F1E4; // type:function size:0x114 -fn_8010F2F8 = .text:0x8010F2F8; // type:function size:0x3C -fn_8010F334 = .text:0x8010F334; // type:function size:0x3C -fn_8010F370 = .text:0x8010F370; // type:function size:0x4A0 -fn_8010F810 = .text:0x8010F810; // type:function size:0x48 -fn_8010F858 = .text:0x8010F858; // type:function size:0x48 -fn_8010F8A0 = .text:0x8010F8A0; // type:function size:0x48 -fn_8010F8E8 = .text:0x8010F8E8; // type:function size:0x48 -fn_8010F930 = .text:0x8010F930; // type:function size:0x48 -fn_8010F978 = .text:0x8010F978; // type:function size:0x48 -fn_8010F9C0 = .text:0x8010F9C0; // type:function size:0x48 -fn_8010FA08 = .text:0x8010FA08; // type:function size:0x48 -fn_8010FA50 = .text:0x8010FA50; // type:function size:0x48 -fn_8010FA98 = .text:0x8010FA98; // type:function size:0x48 -fn_8010FAE0 = .text:0x8010FAE0; // type:function size:0x48 -fn_8010FB28 = .text:0x8010FB28; // type:function size:0x48 -fn_8010FB70 = .text:0x8010FB70; // type:function size:0xB4 -fn_8010FC24 = .text:0x8010FC24; // type:function size:0xB4 -fn_8010FCD8 = .text:0x8010FCD8; // type:function size:0x284 -fn_8010FF5C = .text:0x8010FF5C; // type:function size:0x70 -fn_8010FFCC = .text:0x8010FFCC; // type:function size:0xFC -fn_801100C8 = .text:0x801100C8; // type:function size:0x1E4 -fn_801102AC = .text:0x801102AC; // type:function size:0x1C -fn_801102C8 = .text:0x801102C8; // type:function size:0x8C -fn_80110354 = .text:0x80110354; // type:function size:0xA4 -fn_801103F8 = .text:0x801103F8; // type:function size:0x10 -fn_80110408 = .text:0x80110408; // type:function size:0x48 -fn_80110450 = .text:0x80110450; // type:function size:0x8 -fn_80110458 = .text:0x80110458; // type:function size:0x154 -fn_801105AC = .text:0x801105AC; // type:function size:0xB8 -fn_80110664 = .text:0x80110664; // type:function size:0x34 -fn_80110698 = .text:0x80110698; // type:function size:0x8 -fn_801106A0 = .text:0x801106A0; // type:function size:0x8 -fn_801106A8 = .text:0x801106A8; // type:function size:0x20 -fn_801106C8 = .text:0x801106C8; // type:function size:0x8 -fn_801106D0 = .text:0x801106D0; // type:function size:0x14 -fn_801106E4 = .text:0x801106E4; // type:function size:0x1B4 -fn_80110898 = .text:0x80110898; // type:function size:0x50 -fn_801108E8 = .text:0x801108E8; // type:function size:0x1AC -fn_80110A94 = .text:0x80110A94; // type:function size:0x20 -fn_80110AB4 = .text:0x80110AB4; // type:function size:0x14 -fn_80110AC8 = .text:0x80110AC8; // type:function size:0x14 -fn_80110ADC = .text:0x80110ADC; // type:function size:0x14 -fn_80110AF0 = .text:0x80110AF0; // type:function size:0x14 -fn_80110B04 = .text:0x80110B04; // type:function size:0x3C -fn_80110B40 = .text:0x80110B40; // type:function size:0x28 -fn_80110B68 = .text:0x80110B68; // type:function size:0x78 -fn_80110BE0 = .text:0x80110BE0; // type:function size:0x2C -fn_80110C0C = .text:0x80110C0C; // type:function size:0x2C -fn_80110C38 = .text:0x80110C38; // type:function size:0x5C -fn_80110C94 = .text:0x80110C94; // type:function size:0x2C0 -fn_80110F54 = .text:0x80110F54; // type:function size:0x2C -fn_80110F80 = .text:0x80110F80; // type:function size:0x28 -fn_80110FA8 = .text:0x80110FA8; // type:function size:0x20 -fn_80110FC8 = .text:0x80110FC8; // type:function size:0x20 -fn_80110FE8 = .text:0x80110FE8; // type:function size:0x34 -fn_8011101C = .text:0x8011101C; // type:function size:0x34 -fn_80111050 = .text:0x80111050; // type:function size:0x2C -fn_8011107C = .text:0x8011107C; // type:function size:0xA4 -fn_80111120 = .text:0x80111120; // type:function size:0x90 -fn_801111B0 = .text:0x801111B0; // type:function size:0x20 -fn_801111D0 = .text:0x801111D0; // type:function size:0x20 -fn_801111F0 = .text:0x801111F0; // type:function size:0x24 -fn_80111214 = .text:0x80111214; // type:function size:0x4 -fn_80111218 = .text:0x80111218; // type:function size:0x5C -fn_80111274 = .text:0x80111274; // type:function size:0x24 -fn_80111298 = .text:0x80111298; // type:function size:0x20 -fn_801112B8 = .text:0x801112B8; // type:function size:0x94 -fn_8011134C = .text:0x8011134C; // type:function size:0x84 -fn_801113D0 = .text:0x801113D0; // type:function size:0x20 -fn_801113F0 = .text:0x801113F0; // type:function size:0x4 -fn_801113F4 = .text:0x801113F4; // type:function size:0x14 -fn_80111408 = .text:0x80111408; // type:function size:0xC -fn_80111414 = .text:0x80111414; // type:function size:0x28 -fn_8011143C = .text:0x8011143C; // type:function size:0x20 -fn_8011145C = .text:0x8011145C; // type:function size:0xA0 -fn_801114FC = .text:0x801114FC; // type:function size:0x1DC -fn_801116D8 = .text:0x801116D8; // type:function size:0x18 -fn_801116F0 = .text:0x801116F0; // type:function size:0x2EC -fn_801119DC = .text:0x801119DC; // type:function size:0x4 -fn_801119E0 = .text:0x801119E0; // type:function size:0x20 -fn_80111A00 = .text:0x80111A00; // type:function size:0x3BC -fn_80111DBC = .text:0x80111DBC; // type:function size:0x18 -fn_80111DD4 = .text:0x80111DD4; // type:function size:0xC4 -fn_80111E98 = .text:0x80111E98; // type:function size:0x108 -fn_80111FA0 = .text:0x80111FA0; // type:function size:0x38 -fn_80111FD8 = .text:0x80111FD8; // type:function size:0xF8 -fn_801120D0 = .text:0x801120D0; // type:function size:0xA8 -fn_80112178 = .text:0x80112178; // type:function size:0x10 -fn_80112188 = .text:0x80112188; // type:function size:0x64 -fn_801121EC = .text:0x801121EC; // type:function size:0xC8 -fn_801122B4 = .text:0x801122B4; // type:function size:0x20 -fn_801122D4 = .text:0x801122D4; // type:function size:0x34 -fn_80112308 = .text:0x80112308; // type:function size:0x30 -fn_80112338 = .text:0x80112338; // type:function size:0xBC -fn_801123F4 = .text:0x801123F4; // type:function size:0x34 -fn_80112428 = .text:0x80112428; // type:function size:0x74 -fn_8011249C = .text:0x8011249C; // type:function size:0x4C -fn_801124E8 = .text:0x801124E8; // type:function size:0x2C -fn_80112514 = .text:0x80112514; // type:function size:0x4 -fn_80112518 = .text:0x80112518; // type:function size:0x38 -fn_80112550 = .text:0x80112550; // type:function size:0x38 -fn_80112588 = .text:0x80112588; // type:function size:0x20 -fn_801125A8 = .text:0x801125A8; // type:function size:0x20 -fn_801125C8 = .text:0x801125C8; // type:function size:0x28 -fn_801125F0 = .text:0x801125F0; // type:function size:0x2C -fn_8011261C = .text:0x8011261C; // type:function size:0x5C -fn_80112678 = .text:0x80112678; // type:function size:0x3C -fn_801126B4 = .text:0x801126B4; // type:function size:0x24 -fn_801126D8 = .text:0x801126D8; // type:function size:0x428 -fn_80112B00 = .text:0x80112B00; // type:function size:0x3B4 -fn_80112EB4 = .text:0x80112EB4; // type:function size:0x24 -fn_80112ED8 = .text:0x80112ED8; // type:function size:0xBC -fn_80112F94 = .text:0x80112F94; // type:function size:0x5C -fn_80112FF0 = .text:0x80112FF0; // type:function size:0x40 -fn_80113030 = .text:0x80113030; // type:function size:0x24 -fn_80113054 = .text:0x80113054; // type:function size:0x50C -fn_80113560 = .text:0x80113560; // type:function size:0x190 -fn_801136F0 = .text:0x801136F0; // type:function size:0x50C -fn_80113BFC = .text:0x80113BFC; // type:function size:0xE0 -fn_80113CDC = .text:0x80113CDC; // type:function size:0xBC -fn_80113D98 = .text:0x80113D98; // type:function size:0x168 -fn_80113F00 = .text:0x80113F00; // type:function size:0x1D0 -fn_801140D0 = .text:0x801140D0; // type:function size:0x28 -fn_801140F8 = .text:0x801140F8; // type:function size:0x4C -fn_80114144 = .text:0x80114144; // type:function size:0x198 -fn_801142DC = .text:0x801142DC; // type:function size:0x1EC -fn_801144C8 = .text:0x801144C8; // type:function size:0x2BC -fn_80114784 = .text:0x80114784; // type:function size:0x200 -fn_80114984 = .text:0x80114984; // type:function size:0x28 -fn_801149AC = .text:0x801149AC; // type:function size:0x298 -fn_80114C44 = .text:0x80114C44; // type:function size:0xAC -fn_80114CF0 = .text:0x80114CF0; // type:function size:0xDC -fn_80114DCC = .text:0x80114DCC; // type:function size:0xDC -fn_80114EA8 = .text:0x80114EA8; // type:function size:0xAC -fn_80114F54 = .text:0x80114F54; // type:function size:0x3C -fn_80114F90 = .text:0x80114F90; // type:function size:0x40 +seqGetPrivateId = .text:0x800F2880; // type:function size:0x68 +seqStartPlay = .text:0x800F28E8; // type:function size:0xAC4 +StartPause = .text:0x800F33AC; // type:function size:0x64 +seqPause = .text:0x800F3410; // type:function size:0x27C +seqStop = .text:0x800F368C; // type:function size:0x2B0 +seqKillInstancesByGroupID = .text:0x800F393C; // type:function size:0x90 +seqSpeed = .text:0x800F39CC; // type:function size:0xE4 +seqContinue = .text:0x800F3AB0; // type:function size:0x108 +seqMute = .text:0x800F3BB8; // type:function size:0xBC +seqVolume = .text:0x800F3C74; // type:function size:0x1CC +seqCrossFade = .text:0x800F3E40; // type:function size:0xB58 +GenerateNextTrackEvent = .text:0x800F4998; // type:function size:0x218 scope:local +HandleEvent = .text:0x800F4BB0; // type:function size:0xA94 scope:local +InitTrackEvents = .text:0x800F5644; // type:function size:0x174 scope:local +HandleTrackEvents = .text:0x800F57B8; // type:function size:0x49C scope:local +seqHandle = .text:0x800F5C54; // type:function size:0x9F4 +seqInit = .text:0x800F6648; // type:function size:0x1A8 +synthSetBpm = .text:0x800F67F0; // type:function size:0x44 +synthGetTicksPerSecond = .text:0x800F6834; // type:function size:0x34 +synthInitPortamento = .text:0x800F6868; // type:function size:0x78 +do_voice_portamento = .text:0x800F68E0; // type:function size:0x2A0 scope:local +StartLayer = .text:0x800F6B80; // type:function size:0x3C0 scope:local +StartKeymap = .text:0x800F6F40; // type:function size:0x25C scope:local +synthStartSound = .text:0x800F719C; // type:function size:0x45C +LowPrecisionHandler = .text:0x800F75F8; // type:function size:0x744 scope:local +ZeroOffsetHandler = .text:0x800F7D3C; // type:function size:0x6FC scope:local +synthAddJob = .text:0x800F8438; // type:function size:0x150 scope:local +synthStartSynthJobHandling = .text:0x800F8588; // type:function size:0x64 +synthForceLowPrecisionUpdate = .text:0x800F85EC; // type:function size:0x44 +synthKeyStateUpdate = .text:0x800F8630; // type:function size:0x28 +synthHandle = .text:0x800F8658; // type:function size:0x510 +synthFXGetMaxVoices = .text:0x800F8B68; // type:function size:0x34 +synthFXStart = .text:0x800F8B9C; // type:function size:0xC8 +synthFXSetCtrl = .text:0x800F8C64; // type:function size:0xE4 +synthFXSetCtrl14 = .text:0x800F8D48; // type:function size:0xE4 +synthFXCloneMidiSetup = .text:0x800F8E2C; // type:function size:0x84 +synthSendKeyOff = .text:0x800F8EB0; // type:function size:0x88 +synthVolume = .text:0x800F8F38; // type:function size:0x530 +synthIsFadeOutActive = .text:0x800F9468; // type:function size:0x54 +synthSetMusicVolumeType = .text:0x800F94BC; // type:function size:0x28 +synthHWMessageHandler = .text:0x800F94E4; // type:function size:0xD0 +synthInit = .text:0x800F95B4; // type:function size:0x574 +synthExit = .text:0x800F9B28; // type:function size:0x24 +sndSeqGetValid = .text:0x800F9B4C; // type:function size:0x30 +sndSeqPause = .text:0x800F9B7C; // type:function size:0x38 +sndSeqStop = .text:0x800F9BB4; // type:function size:0x38 +sndSeqSpeed = .text:0x800F9BEC; // type:function size:0x48 +sndSeqContinue = .text:0x800F9C34; // type:function size:0x38 +sndSeqMute = .text:0x800F9C6C; // type:function size:0x58 +sndSeqVolume = .text:0x800F9CC4; // type:function size:0x68 +sndSeqGetMidiCtrl = .text:0x800F9D2C; // type:function size:0x84 +seqGetMIDIPriority = .text:0x800F9DB0; // type:function size:0x1C +sndFXCtrl = .text:0x800F9DCC; // type:function size:0x60 +sndFXCtrl14 = .text:0x800F9E2C; // type:function size:0x60 +sndFXKeyOff = .text:0x800F9E8C; // type:function size:0x40 +sndFXStartParaInfo = .text:0x800F9ECC; // type:function size:0xE0 +sndFXCheck = .text:0x800F9FAC; // type:function size:0x40 +sndSendMessage = .text:0x800F9FEC; // type:function size:0x50 +sndVolume = .text:0x800FA03C; // type:function size:0x60 +sndMasterVolume = .text:0x800FA09C; // type:function size:0x94 +sndOutputMode = .text:0x800FA130; // type:function size:0xEC +sndSetAuxProcessingCallbacks = .text:0x800FA21C; // type:function size:0x158 +synthActivateStudio = .text:0x800FA374; // type:function size:0xA8 +synthDeactivateStudio = .text:0x800FA41C; // type:function size:0xF0 +synthAddStudioInput = .text:0x800FA50C; // type:function size:0x20 +synthRemoveStudioInput = .text:0x800FA52C; // type:function size:0x20 +streamInit = .text:0x800FA54C; // type:function size:0xBC +SetHWMix = .text:0x800FA608; // type:function size:0x8C scope:local +streamHandle = .text:0x800FA694; // type:function size:0x8AC +streamCorrectLoops = .text:0x800FAF40; // type:function size:0x4 +streamKill = .text:0x800FAF44; // type:function size:0x84 +GetPrivateIndex = .text:0x800FAFC8; // type:function size:0x160 +sndStreamARAMUpdate = .text:0x800FB128; // type:function size:0x2C4 +CheckOutputMode = .text:0x800FB3EC; // type:function size:0x34 +SetupVolumeAndPan = .text:0x800FB420; // type:function size:0x44 +streamOutputModeChanged = .text:0x800FB464; // type:function size:0x130 +sndStreamAllocEx = .text:0x800FB594; // type:function size:0x458 +sndStreamAllocLength = .text:0x800FB9EC; // type:function size:0x44 +sndStreamADPCMParameter = .text:0x800FBA30; // type:function size:0x6E8 +sndStreamMixParameterEx = .text:0x800FC118; // type:function size:0x560 +sndStreamFrq = .text:0x800FC678; // type:function size:0x654 +sndStreamFree = .text:0x800FCCCC; // type:function size:0x6B8 +sndStreamActivate = .text:0x800FD384; // type:function size:0x634 +sndStreamDeactivate = .text:0x800FD9B8; // type:function size:0x700 +dataInsertKeymap = .text:0x800FE0B8; // type:function size:0x1F0 +dataRemoveKeymap = .text:0x800FE2A8; // type:function size:0x17C +dataInsertLayer = .text:0x800FE424; // type:function size:0x248 +dataRemoveLayer = .text:0x800FE66C; // type:function size:0x1C4 +dataInsertCurve = .text:0x800FE830; // type:function size:0x204 +dataRemoveCurve = .text:0x800FEA34; // type:function size:0x17C +dataInsertSDir = .text:0x800FEBB0; // type:function size:0x188 +dataRemoveSDir = .text:0x800FED38; // type:function size:0x2C8 +dataAddSampleReference = .text:0x800FF000; // type:function size:0xD8 +dataRemoveSampleReference = .text:0x800FF0D8; // type:function size:0x98 +dataInsertFX = .text:0x800FF170; // type:function size:0x11C +dataRemoveFX = .text:0x800FF28C; // type:function size:0x15C +dataInsertMacro = .text:0x800FF3E8; // type:function size:0x304 +dataRemoveMacro = .text:0x800FF6EC; // type:function size:0x284 +maccmp = .text:0x800FF970; // type:function size:0x10 scope:local +dataGetMacro = .text:0x800FF980; // type:function size:0x8C +smpcmp = .text:0x800FFA0C; // type:function size:0x10 scope:local +dataGetSample = .text:0x800FFA1C; // type:function size:0x128 +curvecmp = .text:0x800FFB44; // type:function size:0x10 scope:local +dataGetCurve = .text:0x800FFB54; // type:function size:0x5C +dataGetKeymap = .text:0x800FFBB0; // type:function size:0x5C +layercmp = .text:0x800FFC0C; // type:function size:0x10 scope:local +dataGetLayer = .text:0x800FFC1C; // type:function size:0x7C +fxcmp = .text:0x800FFC98; // type:function size:0x10 scope:local +dataGetFX = .text:0x800FFCA8; // type:function size:0x9C +dataInit = .text:0x800FFD44; // type:function size:0xE4 +dataExit = .text:0x800FFE28; // type:function size:0x20 +mcmdWait = .text:0x800FFE48; // type:function size:0x2F0 scope:local +mcmdGosub = .text:0x80100138; // type:function size:0xD0 scope:local +mcmdLoop = .text:0x80100208; // type:function size:0x154 scope:local +mcmdPlayMacro = .text:0x8010035C; // type:function size:0x18C scope:local +mcmdAddKey = .text:0x801004E8; // type:function size:0xD8 scope:local +mcmdStartSample = .text:0x801005C0; // type:function size:0x1FC scope:local +mcmdVibrato = .text:0x801007BC; // type:function size:0x17C scope:local +DoSetPitch = .text:0x80100938; // type:function size:0x1A0 scope:local +mcmdSetADSR = .text:0x80100AD8; // type:function size:0x258 scope:local +mcmdSetADSRFromCtrl = .text:0x80100D30; // type:function size:0x12C scope:local +mcmdSetPitchADSR = .text:0x80100E5C; // type:function size:0x27C scope:local +mcmdSetPanning = .text:0x801010D8; // type:function size:0x9C scope:local +mcmdSetSurroundPanning = .text:0x80101174; // type:function size:0x9C scope:local +mcmdScaleVolume = .text:0x80101210; // type:function size:0x134 scope:local +mcmdEnvelope = .text:0x80101344; // type:function size:0x130 scope:local +mcmdFadeIn = .text:0x80101474; // type:function size:0x13C scope:local +mcmdRandomKey = .text:0x801015B0; // type:function size:0x19C scope:local +mcmdVolumeSelect = .text:0x8010174C; // type:function size:0x104 scope:local +mcmdPanningSelect = .text:0x80101850; // type:function size:0x104 scope:local +mcmdPitchWheelSelect = .text:0x80101954; // type:function size:0x104 scope:local +mcmdModWheelSelect = .text:0x80101A58; // type:function size:0x104 scope:local +mcmdPedalSelect = .text:0x80101B5C; // type:function size:0x104 scope:local +mcmdPortamentoSelect = .text:0x80101C60; // type:function size:0x104 scope:local +mcmdReverbSelect = .text:0x80101D64; // type:function size:0x104 scope:local +mcmdPreAuxASelect = .text:0x80101E68; // type:function size:0x104 scope:local +mcmdPreAuxBSelect = .text:0x80101F6C; // type:function size:0x104 scope:local +mcmdPostAuxBSelect = .text:0x80102070; // type:function size:0x104 scope:local +mcmdSurroundPanningSelect = .text:0x80102174; // type:function size:0x104 scope:local +mcmdDopplerSelect = .text:0x80102278; // type:function size:0x104 scope:local +mcmdTremoloSelect = .text:0x8010237C; // type:function size:0x104 scope:local +mcmdAuxAFXSelect = .text:0x80102480; // type:function size:0x17C scope:local +mcmdAuxBFXSelect = .text:0x801025FC; // type:function size:0x17C scope:local +mcmdPortamento = .text:0x80102778; // type:function size:0x164 scope:local +varGet = .text:0x801028DC; // type:function size:0x68 +mcmdVarCalculation = .text:0x80102944; // type:function size:0x220 scope:local +mcmdIfVarCompare = .text:0x80102B64; // type:function size:0x14C scope:local +macPostMessage = .text:0x80102CB0; // type:function size:0xBC +mcmdSendMessage = .text:0x80102D6C; // type:function size:0x244 scope:local +mcmdGetVID = .text:0x80102FB0; // type:function size:0x80 scope:local +mcmdSetKeyGroup = .text:0x80103030; // type:function size:0xDC scope:local +macHandleActive = .text:0x8010310C; // type:function size:0xF58 scope:local +macHandle = .text:0x80104064; // type:function size:0x150 +macSampleEndNotify = .text:0x801041B4; // type:function size:0xAC +macSetExternalKeyoff = .text:0x80104260; // type:function size:0xF0 +macSetPedalState = .text:0x80104350; // type:function size:0x108 +TimeQueueAdd = .text:0x80104458; // type:function size:0xA4 scope:local +macMakeActive = .text:0x801044FC; // type:function size:0x108 +macMakeInactive = .text:0x80104604; // type:function size:0xFC +macStart = .text:0x80104700; // type:function size:0x438 +macInit = .text:0x80104B38; // type:function size:0x68 +vidInit = .text:0x80104BA0; // type:function size:0xE0 +vidRemoveVoiceReferences = .text:0x80104C80; // type:function size:0x350 +vidMakeRoot = .text:0x80104FD0; // type:function size:0x14 +vidMakeNew = .text:0x80104FE4; // type:function size:0x104 +vidGetInternalId = .text:0x801050E8; // type:function size:0x50 +voiceSetPriority = .text:0x80105138; // type:function size:0x24C +voiceAllocate = .text:0x80105384; // type:function size:0x460 +voiceFree = .text:0x801057E4; // type:function size:0x1C4 +synthInitAllocationAids = .text:0x801059A8; // type:function size:0x2A0 +voiceBlock = .text:0x80105C48; // type:function size:0xFC +voiceUnblock = .text:0x80105D44; // type:function size:0x218 +voiceKill = .text:0x80105F5C; // type:function size:0x234 +voiceKillSound = .text:0x80106190; // type:function size:0xC4 +synthKillVoicesByMacroReferences = .text:0x80106254; // type:function size:0x15C +voiceIsLastStarted = .text:0x801063B0; // type:function size:0x74 +voiceSetLastStarted = .text:0x80106424; // type:function size:0x54 +voiceResetLastStarted = .text:0x80106478; // type:function size:0x74 +voiceInitLastStarted = .text:0x801064EC; // type:function size:0x144 +sndPitchUpOne = .text:0x80106630; // type:function size:0x3C +sndGetPitch = .text:0x8010666C; // type:function size:0xE4 +adsrConvertTimeCents = .text:0x80106750; // type:function size:0x58 +salChangeADSRState = .text:0x801067A8; // type:function size:0x26C +adsrSetup = .text:0x80106A14; // type:function size:0x28 +adsrStartRelease = .text:0x80106A3C; // type:function size:0x150 +adsrRelease = .text:0x80106B8C; // type:function size:0x168 +adsrHandle = .text:0x80106CF4; // type:function size:0x198 +adsrHandleLowPrecision = .text:0x80106E8C; // type:function size:0x84 +vsInit = .text:0x80106F10; // type:function size:0xBC +vsSampleStartNotify = .text:0x80106FCC; // type:function size:0x248 +vsSampleEndNotify = .text:0x80107214; // type:function size:0xA8 +vsUpdateBuffer = .text:0x801072BC; // type:function size:0x1F8 +vsSampleUpdates = .text:0x801074B4; // type:function size:0x1E4 +dataInitStack = .text:0x80107698; // type:function size:0xC +InsertData = .text:0x801076A4; // type:function size:0x27C scope:local +sndPushGroup = .text:0x80107920; // type:function size:0x32C +sndPopGroup = .text:0x80107C4C; // type:function size:0x33C +seqPlaySong = .text:0x80107F88; // type:function size:0x14C +sndSeqPlayEx = .text:0x801080D4; // type:function size:0x11C +salInitDspCtrl = .text:0x801081F0; // type:function size:0x3B4 +salInitHRTFBuffer = .text:0x801085A4; // type:function size:0x38 +salExitDspCtrl = .text:0x801085DC; // type:function size:0xE0 +salActivateStudio = .text:0x801086BC; // type:function size:0x150 +salDeactivateStudio = .text:0x8010880C; // type:function size:0x20 +salCheckVolErrorAndResetDelta = .text:0x8010882C; // type:function size:0xF4 +sal_setup_dspvol = .text:0x80108920; // type:function size:0x48 scope:local +sal_update_hostplayinfo = .text:0x80108968; // type:function size:0x74 scope:local +DoDepopFade = .text:0x801089DC; // type:function size:0xAC scope:local +HandleDepopVoice = .text:0x80108A88; // type:function size:0x2DC scope:local +SortVoices = .text:0x80108D64; // type:function size:0x258 scope:local +salBuildCommandList = .text:0x80108FBC; // type:function size:0x21B8 +salSynthSendMessage = .text:0x8010B174; // type:function size:0x44 +salActivateVoice = .text:0x8010B1B8; // type:function size:0xA0 +salDeactivateVoice = .text:0x8010B258; // type:function size:0x60 +salReconnectVoice = .text:0x8010B2B8; // type:function size:0xC8 +salAddStudioInput = .text:0x8010B380; // type:function size:0xA8 +salRemoveStudioInput = .text:0x8010B428; // type:function size:0x84 +salHandleAuxProcessing = .text:0x8010B4AC; // type:function size:0x158 +salCalcVolume = .text:0x8010B604; // type:function size:0x6F0 +CheckRoomStatus = .text:0x8010BCF4; // type:function size:0x4B4 scope:local +CalcEmitter = .text:0x8010C1A8; // type:function size:0x51C scope:local +sndUpdateEmitter = .text:0x8010C6C4; // type:function size:0x130 +sndCheckEmitter = .text:0x8010C7F4; // type:function size:0x20 +AddEmitter = .text:0x8010C814; // type:function size:0x3F8 scope:local +sndAddEmitterParaEx = .text:0x8010CC0C; // type:function size:0x50 +sndRemoveEmitter = .text:0x8010CC5C; // type:function size:0xA8 +sndEmitterVoiceID = .text:0x8010CD04; // type:function size:0x5C +s3dKillEmitterByFXID = .text:0x8010CD60; // type:function size:0xFC +sndUpdateListener = .text:0x8010CE5C; // type:function size:0x204 +sndAddListenerEx = .text:0x8010D060; // type:function size:0x230 +sndRemoveListener = .text:0x8010D290; // type:function size:0xD0 +AddStartingEmitter = .text:0x8010D360; // type:function size:0x14C scope:local +StartContinousEmitters = .text:0x8010D4AC; // type:function size:0x3B0 scope:local +s3dHandle = .text:0x8010D85C; // type:function size:0x82C +s3dInit = .text:0x8010E088; // type:function size:0x38 +s3dExit = .text:0x8010E0C0; // type:function size:0x4 +sndInit = .text:0x8010E0C4; // type:function size:0x118 +sndQuit = .text:0x8010E1DC; // type:function size:0x34 +sndIsInstalled = .text:0x8010E210; // type:function size:0x8 +salApplyMatrix = .text:0x8010E218; // type:function size:0xAC +salNormalizeVector = .text:0x8010E2C4; // type:function size:0xB4 +salCrossProduct = .text:0x8010E378; // type:function size:0x64 +salInvertMatrix = .text:0x8010E3DC; // type:function size:0x1FC +inpSetGlobalMIDIDirtyFlag = .text:0x8010E5D8; // type:function size:0x24 +inpSetMidiCtrl = .text:0x8010E5FC; // type:function size:0x608 +inpSetMidiCtrl14 = .text:0x8010EC04; // type:function size:0x124 +inpResetMidiCtrl = .text:0x8010ED28; // type:function size:0xF0 +inpGetMidiCtrl = .text:0x8010EE18; // type:function size:0x2C4 +inpGetChannelDefaults = .text:0x8010F0DC; // type:function size:0x34 +inpResetChannelDefaults = .text:0x8010F110; // type:function size:0x3C +inpAddCtrl = .text:0x8010F14C; // type:function size:0x98 +inpFXCopyCtrl = .text:0x8010F1E4; // type:function size:0x114 +inpSetMidiLastNote = .text:0x8010F2F8; // type:function size:0x3C +inpGetMidiLastNote = .text:0x8010F334; // type:function size:0x3C +_GetInputValue = .text:0x8010F370; // type:function size:0x4A0 scope:local +inpGetVolume = .text:0x8010F810; // type:function size:0x48 +inpGetPanning = .text:0x8010F858; // type:function size:0x48 +inpGetSurPanning = .text:0x8010F8A0; // type:function size:0x48 +inpGetPitchBend = .text:0x8010F8E8; // type:function size:0x48 +inpGetDoppler = .text:0x8010F930; // type:function size:0x48 +inpGetModulation = .text:0x8010F978; // type:function size:0x48 +inpGetPedal = .text:0x8010F9C0; // type:function size:0x48 +inpGetPreAuxA = .text:0x8010FA08; // type:function size:0x48 +inpGetReverb = .text:0x8010FA50; // type:function size:0x48 +inpGetPreAuxB = .text:0x8010FA98; // type:function size:0x48 +inpGetPostAuxB = .text:0x8010FAE0; // type:function size:0x48 +inpGetTremolo = .text:0x8010FB28; // type:function size:0x48 +inpGetAuxA = .text:0x8010FB70; // type:function size:0xB4 +inpGetAuxB = .text:0x8010FC24; // type:function size:0xB4 +inpInit = .text:0x8010FCD8; // type:function size:0x284 +inpTranslateExCtrl = .text:0x8010FF5C; // type:function size:0x70 +inpGetExCtrl = .text:0x8010FFCC; // type:function size:0xFC +inpSetExCtrl = .text:0x801100C8; // type:function size:0x1E4 +sndRand = .text:0x801102AC; // type:function size:0x1C +sndSin = .text:0x801102C8; // type:function size:0x8C +sndBSearch = .text:0x80110354; // type:function size:0xA4 +sndConvertMs = .text:0x801103F8; // type:function size:0x10 +sndConvertTicks = .text:0x80110408; // type:function size:0x48 +sndConvert2Ms = .text:0x80110450; // type:function size:0x8 +snd_handle_irq = .text:0x80110458; // type:function size:0x154 scope:local +hwInit = .text:0x801105AC; // type:function size:0xB8 +hwExit = .text:0x80110664; // type:function size:0x34 +hwSetTimeOffset = .text:0x80110698; // type:function size:0x8 +hwGetTimeOffset = .text:0x801106A0; // type:function size:0x8 +hwIsActive = .text:0x801106A8; // type:function size:0x20 +hwSetMesgCallback = .text:0x801106C8; // type:function size:0x8 +hwSetPriority = .text:0x801106D0; // type:function size:0x14 +hwInitSamplePlayback = .text:0x801106E4; // type:function size:0x1B4 +hwBreak = .text:0x80110898; // type:function size:0x50 +hwSetADSR = .text:0x801108E8; // type:function size:0x1AC +hwSetVirtualSampleLoopBuffer = .text:0x80110A94; // type:function size:0x20 +hwGetVirtualSampleState = .text:0x80110AB4; // type:function size:0x14 +hwGetSampleType = .text:0x80110AC8; // type:function size:0x14 +hwGetSampleID = .text:0x80110ADC; // type:function size:0x14 +hwSetStreamLoopPS = .text:0x80110AF0; // type:function size:0x14 +hwStart = .text:0x80110B04; // type:function size:0x3C +hwKeyOff = .text:0x80110B40; // type:function size:0x28 +hwSetPitch = .text:0x80110B68; // type:function size:0x78 +hwSetSRCType = .text:0x80110BE0; // type:function size:0x2C +hwSetPolyPhaseFilter = .text:0x80110C0C; // type:function size:0x2C +hwSetITDMode = .text:0x80110C38; // type:function size:0x5C +hwSetVolume = .text:0x80110C94; // type:function size:0x2C0 +hwOff = .text:0x80110F54; // type:function size:0x2C +hwSetAUXProcessingCallbacks = .text:0x80110F80; // type:function size:0x28 +hwActivateStudio = .text:0x80110FA8; // type:function size:0x20 +hwDeactivateStudio = .text:0x80110FC8; // type:function size:0x20 +hwAddInput = .text:0x80110FE8; // type:function size:0x34 +hwRemoveInput = .text:0x8011101C; // type:function size:0x34 +hwChangeStudio = .text:0x80111050; // type:function size:0x2C +hwGetPos = .text:0x8011107C; // type:function size:0xA4 +hwFlushStream = .text:0x80111120; // type:function size:0x90 +hwInitStream = .text:0x801111B0; // type:function size:0x20 +hwExitStream = .text:0x801111D0; // type:function size:0x20 +hwGetStreamPlayBuffer = .text:0x801111F0; // type:function size:0x24 +hwTransAddr = .text:0x80111214; // type:function size:0x4 +hwFrq2Pitch = .text:0x80111218; // type:function size:0x5C +hwInitSampleMem = .text:0x80111274; // type:function size:0x24 +hwExitSampleMem = .text:0x80111298; // type:function size:0x20 +hwSaveSample = .text:0x801112B8; // type:function size:0x94 +hwRemoveSample = .text:0x8011134C; // type:function size:0x84 +hwSyncSampleMem = .text:0x801113D0; // type:function size:0x20 +hwFrameDone = .text:0x801113F0; // type:function size:0x4 +sndSetHooks = .text:0x801113F4; // type:function size:0x14 +hwDisableHRTF = .text:0x80111408; // type:function size:0xC +hwGetVirtualSampleID = .text:0x80111414; // type:function size:0x28 +hwVoiceInStartup = .text:0x8011143C; // type:function size:0x20 +aramQueueCallback = .text:0x8011145C; // type:function size:0xA0 +aramUploadData = .text:0x801114FC; // type:function size:0x1DC +aramSyncTransferQueue = .text:0x801116D8; // type:function size:0x18 +aramInit = .text:0x801116F0; // type:function size:0x2EC +aramExit = .text:0x801119DC; // type:function size:0x4 +aramGetZeroBuffer = .text:0x801119E0; // type:function size:0x20 +aramStoreData = .text:0x80111A00; // type:function size:0x3BC +aramRemoveData = .text:0x80111DBC; // type:function size:0x18 +InitStreamBuffers = .text:0x80111DD4; // type:function size:0xC4 scope:local +aramAllocateStreamBuffer = .text:0x80111E98; // type:function size:0x108 +aramGetStreamBufferAddress = .text:0x80111FA0; // type:function size:0x38 +aramFreeStreamBuffer = .text:0x80111FD8; // type:function size:0xF8 +salCallback = .text:0x801120D0; // type:function size:0xA8 scope:local +dspInitCallback = .text:0x80112178; // type:function size:0x10 scope:local +dspResumeCallback = .text:0x80112188; // type:function size:0x64 scope:local +salInitAi = .text:0x801121EC; // type:function size:0xC8 +salStartAi = .text:0x801122B4; // type:function size:0x20 +salExitAi = .text:0x801122D4; // type:function size:0x34 +salAiGetDest = .text:0x80112308; // type:function size:0x30 +salInitDsp = .text:0x80112338; // type:function size:0xBC +salExitDsp = .text:0x801123F4; // type:function size:0x34 +salCtrlDsp = .text:0x80112428; // type:function size:0x74 +salGetStartDelay = .text:0x8011249C; // type:function size:0x4C +hwInitIrq = .text:0x801124E8; // type:function size:0x2C +hwExitIrq = .text:0x80112514; // type:function size:0x4 +hwEnableIrq = .text:0x80112518; // type:function size:0x38 +hwDisableIrq = .text:0x80112550; // type:function size:0x38 +hwIRQEnterCritical = .text:0x80112588; // type:function size:0x20 +hwIRQLeaveCritical = .text:0x801125A8; // type:function size:0x20 +salMalloc = .text:0x801125C8; // type:function size:0x28 +salFree = .text:0x801125F0; // type:function size:0x2C +sndAuxCallbackReverbSTD = .text:0x8011261C; // type:function size:0x5C +sndAuxCallbackPrepareReverbSTD = .text:0x80112678; // type:function size:0x3C +sndAuxCallbackShutdownReverbSTD = .text:0x801126B4; // type:function size:0x24 +ReverbSTDCreate = .text:0x801126D8; // type:function size:0x428 +HandleReverb = .text:0x80112B00; // type:function size:0x3B4 scope:local +ReverbSTDCallback = .text:0x80112EB4; // type:function size:0x24 +ReverbSTDFree = .text:0x80112ED8; // type:function size:0xBC +sndAuxCallbackReverbHI = .text:0x80112F94; // type:function size:0x5C +sndAuxCallbackPrepareReverbHI = .text:0x80112FF0; // type:function size:0x40 +sndAuxCallbackShutdownReverbHI = .text:0x80113030; // type:function size:0x24 +ReverbHICreate = .text:0x80113054; // type:function size:0x50C +DoCrossTalk = .text:0x80113560; // type:function size:0x190 scope:local +HandleReverb = .text:0x801136F0; // type:function size:0x50C +ReverbHICallback = .text:0x80113BFC; // type:function size:0xE0 +ReverbHIFree = .text:0x80113CDC; // type:function size:0xBC +sndAuxCallbackDelay = .text:0x80113D98; // type:function size:0x168 +sndAuxCallbackUpdateSettingsDelay = .text:0x80113F00; // type:function size:0x1D0 +sndAuxCallbackPrepareDelay = .text:0x801140D0; // type:function size:0x28 +sndAuxCallbackShutdownDelay = .text:0x801140F8; // type:function size:0x4C +do_src1 = .text:0x80114144; // type:function size:0x198 scope:local +do_src2 = .text:0x801142DC; // type:function size:0x1EC scope:local +sndAuxCallbackChorus = .text:0x801144C8; // type:function size:0x2BC +sndAuxCallbackPrepareChorus = .text:0x80114784; // type:function size:0x200 +sndAuxCallbackShutdownChorus = .text:0x80114984; // type:function size:0x28 +DBGEXIImm = .text:0x801149AC; // type:function size:0x298 scope:local +DBGReadMailbox = .text:0x80114C44; // type:function size:0xAC scope:local +DBGRead = .text:0x80114CF0; // type:function size:0xDC scope:local +DBGWrite = .text:0x80114DCC; // type:function size:0xDC scope:local +DBGReadStatus = .text:0x80114EA8; // type:function size:0xAC scope:local +MWCallback = .text:0x80114F54; // type:function size:0x3C scope:local +DBGHandler = .text:0x80114F90; // type:function size:0x40 scope:local DBInitComm = .text:0x80114FD0; // type:function size:0x78 scope:global DBInitInterrupts = .text:0x80115048; // type:function size:0x54 scope:global DBQueryData = .text:0x8011509C; // type:function size:0x9C scope:global @@ -4610,7 +4610,8 @@ lbl_8011DD50 = .rodata:0x8011DD50; // type:object size:0x10 data:4byte lbl_8011DD60 = .rodata:0x8011DD60; // type:object size:0x24 data:4byte lbl_8011DD84 = .rodata:0x8011DD84; // type:object size:0xC data:4byte lbl_8011DD90 = .rodata:0x8011DD90; // type:object size:0x20 data:4byte -lbl_8011DDB0 = .rodata:0x8011DDB0; // type:object size:0x7C data:4byte +lbl_8011DDB0 = .rodata:0x8011DDB0; // type:object size:0x20 data:4byte +lbl_8011DDD0 = .rodata:0x8011DDD0; // type:object size:0x5C data:4byte lbl_8011DE2C = .rodata:0x8011DE2C; // type:object size:0x24 data:4byte lbl_8011DE50 = .rodata:0x8011DE50; // type:object size:0x10 data:4byte lbl_8011DE60 = .rodata:0x8011DE60; // type:object size:0x38 data:4byte @@ -4656,37 +4657,41 @@ __THPJpegNaturalOrder = .rodata:0x8011E440; // type:object size:0x50 data:byte __THPAANScaleFactor = .rodata:0x8011E490; // type:object size:0x40 data:byte lbl_8011E4D0 = .rodata:0x8011E4D0; // type:object size:0x10 lbl_8011E4E0 = .rodata:0x8011E4E0; // type:object size:0x10 -lbl_8011E4F0 = .rodata:0x8011E4F0; // type:object size:0x18 data:double +__constants = .rodata:0x8011E4F0; // type:object size:0x18 scope:local data:double lbl_8011E508 = .rodata:0x8011E508; // type:object size:0x54 lbl_8011E55C = .rodata:0x8011E55C; // type:object size:0x14 lbl_8011E570 = .rodata:0x8011E570; // type:object size:0x10 lbl_8011E580 = .rodata:0x8011E580; // type:object size:0x20 lbl_8011E5A0 = .rodata:0x8011E5A0; // type:object size:0x38 lbl_8011E5D8 = .rodata:0x8011E5D8; // type:object size:0x40 -lbl_8011E618 = .rodata:0x8011E618; // type:object size:0x18 data:4byte +fix_pool_sizes = .rodata:0x8011E618; // type:object size:0x18 scope:local data:4byte lbl_8011E630 = .rodata:0x8011E630; // type:object size:0xE0 @stringBase0 = .rodata:0x8011E710; // type:object size:0x25 scope:local data:string_table -lbl_8011E738 = .rodata:0x8011E738; // type:object size:0x10 -lbl_8011E748 = .rodata:0x8011E748; // type:object size:0x30 data:double -lbl_8011E778 = .rodata:0x8011E778; // type:object size:0x108 -lbl_8011E880 = .rodata:0x8011E880; // type:object size:0x80 -lbl_8011E900 = .rodata:0x8011E900; // type:object size:0x10 -lbl_8011E910 = .rodata:0x8011E910; // type:object size:0x40 data:double -lbl_8011E950 = .rodata:0x8011E950; // type:object size:0x68 data:double -lbl_8011E9B8 = .rodata:0x8011E9B8; // type:object size:0x98 +Zero = .rodata:0x8011E738; // type:object size:0x10 scope:local +bp = .rodata:0x8011E748; // type:object size:0x10 scope:local data:double +dp_h = .rodata:0x8011E758; // type:object size:0x10 scope:local +dp_l = .rodata:0x8011E768; // type:object size:0x10 scope:local +two_over_pi = .rodata:0x8011E778; // type:object size:0x108 scope:local +npio2_hw = .rodata:0x8011E880; // type:object size:0x80 scope:local +init_jk = .rodata:0x8011E900; // type:object size:0x10 scope:local +PIo2 = .rodata:0x8011E910; // type:object size:0x40 scope:local data:double +T = .rodata:0x8011E950; // type:object size:0x68 scope:local data:double +atanhi = .rodata:0x8011E9B8; // type:object size:0x20 scope:local +atanlo = .rodata:0x8011E9D8; // type:object size:0x20 scope:local +aT = .rodata:0x8011E9F8; // type:object size:0x58 scope:local @62 = .rodata:0x8011EA50; // type:object size:0x1B scope:local data:string lbl_8011EA70 = .rodata:0x8011EA70; // type:object size:0x20 -lbl_8011EA90 = .rodata:0x8011EA90; // type:object size:0x10 data:4byte +gTRKMemMap = .rodata:0x8011EA90; // type:object size:0x10 data:4byte lbl_8011EAA0 = .rodata:0x8011EAA0; // type:object size:0x28 data:4byte lbl_8011EAC8 = .rodata:0x8011EAC8; // type:object size:0x28 data:4byte lbl_8011EAF0 = .rodata:0x8011EAF0; // type:object size:0x28 data:4byte @154 = .rodata:0x8011EB18; // type:object size:0x21 scope:local data:string @155 = .rodata:0x8011EB3C; // type:object size:0x24 scope:local data:string -lbl_8011EB60 = .rodata:0x8011EB60; // type:object size:0x40 -lbl_8011EBA0 = .rodata:0x8011EBA0; // type:object size:0x18 -lbl_8011EBB8 = .rodata:0x8011EBB8; // type:object size:0x88 -lbl_8011EC40 = .rodata:0x8011EC40; // type:object size:0x88 data:byte -lbl_8011ECC8 = .rodata:0x8011ECC8; // type:object size:0x100 +dspMixerCycles = .rodata:0x8011EB60; // type:object size:0x40 +pbOffsets$890 = .rodata:0x8011EBA0; // type:object size:0x18 scope:local +inpColdMIDIDefaults = .rodata:0x8011EBB8; // type:object size:0x88 scope:local +inpWarmMIDIDefaults = .rodata:0x8011EC40; // type:object size:0x88 scope:local data:byte +itdOffTab = .rodata:0x8011ECC8; // type:object size:0x100 scope:local lbl_8011EDE0 = .data:0x8011EDE0; // type:object size:0x10 data:string chanTbl = .data:0x8011EDF0; // type:object size:0x10 scope:local correctDiskID = .data:0x8011EE00; // type:object size:0x124 scope:local @@ -5070,11 +5075,14 @@ lbl_801306D8 = .data:0x801306D8; // type:object size:0x19 data:string lbl_801306F1 = .data:0x801306F1; // type:object size:0x14 data:string lbl_80130705 = .data:0x80130705; // type:object size:0x93 lbl_80130798 = .data:0x80130798; // type:object size:0x30 -lbl_801307C8 = .data:0x801307C8; // type:object size:0x60 -lbl_80130828 = .data:0x80130828; // type:object size:0x60 -lbl_80130888 = .data:0x80130888; // type:object size:0x168 +effectDataTbl = .data:0x801307C8; // type:object size:0x60 scope:local +charDirTbl = .data:0x80130828; // type:object size:0x60 scope:local +effectParam = .data:0x80130888; // type:object size:0x110 scope:local +lbl_801309A0 = .data:0x801309A0; // type:object size:0x20 +lbl_801309C0 = .data:0x801309C0; // type:object size:0x20 +lbl_801309E0 = .data:0x801309E0; // type:object size:0x10 jumptable_801309F0 = .data:0x801309F0; // type:object size:0x1E8 scope:local -lbl_80130BD8 = .data:0x80130BD8; // type:object size:0x40 +voiceParam = .data:0x80130BD8; // type:object size:0x40 scope:local lbl_80130C18 = .data:0x80130C18; // type:object size:0xE data:string lbl_80130C26 = .data:0x80130C26; // type:object size:0xE data:string lbl_80130C34 = .data:0x80130C34; // type:object size:0xE data:string @@ -5103,21 +5111,26 @@ lbl_80130D80 = .data:0x80130D80; // type:object size:0x18 data:string lbl_80130D98 = .data:0x80130D98; // type:object size:0xE data:string lbl_80130DA6 = .data:0x80130DA6; // type:object size:0x18 data:string lbl_80130DBE = .data:0x80130DBE; // type:object size:0x1A -lbl_80130DD8 = .data:0x80130DD8; // type:object size:0x100 +charTexNameTbl = .data:0x80130DD8; // type:object size:0x100 lbl_80130ED8 = .data:0x80130ED8; // type:object size:0xD data:string lbl_80130EE5 = .data:0x80130EE5; // type:object size:0xD data:string lbl_80130EF2 = .data:0x80130EF2; // type:object size:0xE data:string lbl_80130F00 = .data:0x80130F00; // type:object size:0xE data:string lbl_80130F0E = .data:0x80130F0E; // type:object size:0x12 -lbl_80130F20 = .data:0x80130F20; // type:object size:0xA0 -lbl_80130FC0 = .data:0x80130FC0; // type:object size:0x38 -lbl_80130FF8 = .data:0x80130FF8; // type:object size:0x38 +hookNameTbl = .data:0x80130F20; // type:object size:0xA0 scope:local +modelParticleParam = .data:0x80130FC0; // type:object size:0x38 scope:local +coinParticleParam = .data:0x80130FF8; // type:object size:0x38 scope:local lbl_80131030 = .data:0x80131030; // type:object size:0x38 lbl_80131068 = .data:0x80131068; // type:object size:0x38 lbl_801310A0 = .data:0x801310A0; // type:object size:0x1C lbl_801310BC = .data:0x801310BC; // type:object size:0x38 lbl_801310F4 = .data:0x801310F4; // type:object size:0x38 -lbl_8013112C = .data:0x8013112C; // type:object size:0xBC +lbl_8013112C = .data:0x8013112C; // type:object size:0x1A data:string +lbl_80131146 = .data:0x80131146; // type:object size:0x12 +lbl_80131158 = .data:0x80131158; // type:object size:0x24 +lbl_8013117C = .data:0x8013117C; // type:object size:0x24 +lbl_801311A0 = .data:0x801311A0; // type:object size:0x24 +lbl_801311C4 = .data:0x801311C4; // type:object size:0x24 VolumeTable = .data:0x801311E8; // type:object size:0x100 scope:local lbl_801312E8 = .data:0x801312E8; // type:object size:0x4D lbl_80131335 = .data:0x80131335; // type:object size:0x1B @@ -5141,24 +5154,30 @@ lbl_8013976C = .data:0x8013976C; // type:object size:0x13 data:string lbl_8013977F = .data:0x8013977F; // type:object size:0x19 camViewTbl = .data:0x80139798; // type:object size:0x24 scope:local jumptable_801397BC = .data:0x801397BC; // type:object size:0x24 scope:local -lbl_801397E0 = .data:0x801397E0; // type:object size:0x48 -turnRemainSprTbl = .data:0x80139828; // type:object size:0xC scope:local -turnRemainSprPosTbl = .data:0x80139834; // type:object size:0x30 scope:local -lbl_80139864 = .data:0x80139864; // type:object size:0x10 -lbl_80139874 = .data:0x80139874; // type:object size:0x24 -lbl_80139898 = .data:0x80139898; // type:object size:0x10 -lbl_801398A8 = .data:0x801398A8; // type:object size:0x10 -lbl_801398B8 = .data:0x801398B8; // type:object size:0xA data:2byte +confettiLightTbl = .data:0x801397E0; // type:object size:0x48 scope:local +last5GfxSprTbl = .data:0x80139828; // type:object size:0xC scope:local +last5GfxPosTbl = .data:0x80139834; // type:object size:0x30 scope:local +tauntActiveSfxTbl = .data:0x80139864; // type:object size:0x10 scope:local +tauntSfxTbl = .data:0x80139874; // type:object size:0x24 scope:local +diceJumpObj = .data:0x80139898; // type:object size:0x10 scope:local +animDoneF = .data:0x801398A8; // type:object size:0x10 scope:local +bowserSuitMot = .data:0x801398B8; // type:object size:0xA scope:local data:2byte lbl_801398C2 = .data:0x801398C2; // type:object size:0x17 data:string lbl_801398D9 = .data:0x801398D9; // type:object size:0x17 data:string lbl_801398F0 = .data:0x801398F0; // type:object size:0xE data:string lbl_801398FE = .data:0x801398FE; // type:object size:0xE data:string lbl_8013990C = .data:0x8013990C; // type:object size:0x18 data:string lbl_80139924 = .data:0x80139924; // type:object size:0x18 data:string -lbl_8013993C = .data:0x8013993C; // type:object size:0xA0 -lbl_801399DC = .data:0x801399DC; // type:object size:0x20 -lbl_801399FC = .data:0x801399FC; // type:object size:0x74 -lbl_80139A70 = .data:0x80139A70; // type:object size:0x30 +lbl_8013993C = .data:0x8013993C; // type:object size:0x40 +lbl_8013997C = .data:0x8013997C; // type:object size:0x20 +boardAnimTbl = .data:0x8013999C; // type:object size:0x20 scope:local +boardAnimRevTbl = .data:0x801399BC; // type:object size:0x20 scope:local +bowserSuitCharMdlTbl = .data:0x801399DC; // type:object size:0x20 scope:local +bowserSuitMotTbl = .data:0x801399FC; // type:object size:0x34 scope:local +boardSparkSfxTbl = .data:0x80139A30; // type:object size:0x20 scope:local +boardSparkSfxTblAlt = .data:0x80139A50; // type:object size:0x20 scope:local +megaSquishObj = .data:0x80139A70; // type:object size:0x10 scope:local +megaSquishSfxTbl = .data:0x80139A80; // type:object size:0x20 scope:local PortraitTbl = .data:0x80139AA0; // type:object size:0x24 scope:local StarPortraitTbl = .data:0x80139AC4; // type:object size:0x24 scope:local lbl_80139AE8 = .data:0x80139AE8; // type:object size:0x18 @@ -5257,9 +5276,12 @@ lbl_8013B0D8 = .data:0x8013B0D8; // type:object size:0x120 lbl_8013B1F8 = .data:0x8013B1F8; // type:object size:0x24 lbl_8013B21C = .data:0x8013B21C; // type:object size:0x28 lbl_8013B244 = .data:0x8013B244; // type:object size:0x1AC -lbl_8013B3F0 = .data:0x8013B3F0; // type:object size:0x10 data:2byte -lbl_8013B400 = .data:0x8013B400; // type:object size:0x40 data:float -lbl_8013B440 = .data:0x8013B440; // type:object size:0x74 +boxModelID = .data:0x8013B3F0; // type:object size:0x10 scope:local data:2byte +boxPosTbl = .data:0x8013B400; // type:object size:0x40 scope:local data:float +padConfigPosTbl = .data:0x8013B440; // type:object size:0x20 scope:local +boardLogoTbl = .data:0x8013B460; // type:object size:0x24 scope:local +turnDigitPosTbl = .data:0x8013B484; // type:object size:0x10 scope:local +boxMdlTbl = .data:0x8013B494; // type:object size:0x20 scope:local jumptable_8013B4B4 = .data:0x8013B4B4; // type:object size:0x20 scope:local jumptable_8013B4D4 = .data:0x8013B4D4; // type:object size:0x20 scope:local jumptable_8013B4F4 = .data:0x8013B4F4; // type:object size:0x20 scope:local @@ -5339,53 +5361,55 @@ Si = .data:0x8013E0A0; // type:object size:0x14 scope:local data:4byte Type = .data:0x8013E0B4; // type:object size:0x10 scope:local XYNTSC = .data:0x8013E170; // type:object size:0x30 scope:local XYPAL = .data:0x8013E1A0; // type:object size:0x30 scope:local -lbl_8013E208 = .data:0x8013E208; // type:object size:0x10 +__vt__Q23std9exception = .data:0x8013E208; // type:object size:0x10 scope:weak jumptable_8013E218 = .data:0x8013E218; // type:object size:0x44 scope:local jumptable_8013E25C = .data:0x8013E25C; // type:object size:0x44 scope:local jumptable_8013E2A0 = .data:0x8013E2A0; // type:object size:0x44 scope:local lbl_8013E2E4 = .data:0x8013E2E4; // type:object size:0xC -lbl_8013E2F0 = .data:0x8013E2F0; // type:object size:0x10 +__vt__Q23std13bad_exception = .data:0x8013E2F0; // type:object size:0x10 scope:weak __files = .data:0x8013E300; // type:object size:0x140 scope:global jumptable_8013E440 = .data:0x8013E440; // type:object size:0x124 scope:local -lbl_8013E568 = .data:0x8013E568; // type:object size:0x100 -lbl_8013E668 = .data:0x8013E668; // type:object size:0x100 +__ctype_map = .data:0x8013E568; // type:object size:0x100 +__lower_map = .data:0x8013E668; // type:object size:0x100 @1249 = .data:0x8013E768; // type:object size:0x84 scope:local jumptable_8013E7EC = .data:0x8013E7EC; // type:object size:0x84 scope:local jumptable_8013E870 = .data:0x8013E870; // type:object size:0xE0 scope:local jumptable_8013E950 = .data:0x8013E950; // type:object size:0x44 scope:local -lbl_8013E998 = .data:0x8013E998; // type:object size:0x88 +gTRKDispatchTable = .data:0x8013E998; // type:object size:0x84 jumptable_8013EA20 = .data:0x8013EA20; // type:object size:0x1C scope:local jumptable_8013EA3C = .data:0x8013EA3C; // type:object size:0x1C scope:local gTRKRestoreFlags = .data:0x8013EA58; // type:object size:0x9 scope:global data:byte gTRKExceptionStatus = .data:0x8013EA64; // type:object size:0x10 scope:local data:4byte -TRK_ISR_OFFSETS = .data:0x8013EA74; // type:object size:0x14 data:4byte -lbl_8013EA88 = .data:0x8013EA88; // type:object size:0x40 data:4byte +gTRKStepStatus = .data:0x8013EA74; // type:object size:0x14 data:4byte +TRK_ISR_OFFSETS = .data:0x8013EA88; // type:object size:0x3C scope:local data:4byte gDBCommTable = .data:0x8013EAC8; // type:object size:0x1C scope:global data:4byte jumptable_8013EAE8 = .data:0x8013EAE8; // type:object size:0x50 scope:local -lbl_8013EB38 = .data:0x8013EB38; // type:object size:0x1C -lbl_8013EB54 = .data:0x8013EB54; // type:object size:0x204 -lbl_8013ED58 = .data:0x8013ED58; // type:object size:0x20 -lbl_8013ED78 = .data:0x8013ED78; // type:object size:0x10 -lbl_8013ED88 = .data:0x8013ED88; // type:object size:0x20 -lbl_8013EDA8 = .data:0x8013EDA8; // type:object size:0x10 +kf$703 = .data:0x8013EB38; // type:object size:0x1C scope:local +midi2TimeTab = .data:0x8013EB54; // type:object size:0x204 scope:local +mask$1265 = .data:0x8013ED58; // type:object size:0x20 scope:local +dirty$1266 = .data:0x8013ED78; // type:object size:0x10 scope:local +mask$1285 = .data:0x8013ED88; // type:object size:0x20 scope:local +dirty$1286 = .data:0x8013EDA8; // type:object size:0x10 scope:local jumptable_8013EDB8 = .data:0x8013EDB8; // type:object size:0x1C8 scope:local -lbl_8013EF80 = .data:0x8013EF80; // type:object size:0x200 -lbl_8013F180 = .data:0x8013F180; // type:object size:0x200 -lbl_8013F380 = .data:0x8013F380; // type:object size:0x184 -lbl_8013F504 = .data:0x8013F504; // type:object size:0x400 -lbl_8013F904 = .data:0x8013F904; // type:object size:0x204 -lbl_8013FB08 = .data:0x8013FB08; // type:object size:0x18 -lbl_8013FB20 = .data:0x8013FB20; // type:object size:0x228 -lbl_8013FD48 = .data:0x8013FD48; // type:object size:0x10 -lbl_8013FD58 = .data:0x8013FD58; // type:object size:0x10 +toneup_tab = .data:0x8013EF80; // type:object size:0x200 scope:local +tonedown_tab = .data:0x8013F180; // type:object size:0x200 scope:local +dspAttenuationTab = .data:0x8013F380; // type:object size:0x184 +dspScale2IndexTab = .data:0x8013F504; // type:object size:0x400 +dspDLSVolTab = .data:0x8013F904; // type:object size:0x204 +dspSRCCycles = .data:0x8013FB08; // type:object size:0x18 +musyx_vol_tab = .data:0x8013FB20; // type:object size:0x204 scope:local +pan_tab = .data:0x8013FD24; // type:object size:0x10 scope:local +pan_tab_dpl2 = .data:0x8013FD34; // type:object size:0x10 scope:local +dirtyMask$1062 = .data:0x8013FD48; // type:object size:0x10 scope:local +dirtyMask$1075 = .data:0x8013FD58; // type:object size:0x10 scope:local jumptable_8013FD68 = .data:0x8013FD68; // type:object size:0x24 scope:local jumptable_8013FD8C = .data:0x8013FD8C; // type:object size:0x24 scope:local jumptable_8013FDB0 = .data:0x8013FDB0; // type:object size:0x24 scope:local -lbl_8013FDD8 = .data:0x8013FDD8; // type:object size:0x808 -lbl_801405E0 = .data:0x801405E0; // type:object size:0x19E0 -lbl_80141FC0 = .data:0x80141FC0; // type:object size:0x10 -lbl_80141FD0 = .data:0x80141FD0; // type:object size:0x20 -lbl_80141FF0 = .data:0x80141FF0; // type:object size:0x800 +sndSintab = .data:0x8013FDD8; // type:object size:0x800 +dspSlave = .data:0x801405E0; // type:object size:0x19E0 align:32 +lens$301 = .data:0x80141FC0; // type:object size:0x10 scope:local +lens$301 = .data:0x80141FD0; // type:object size:0x20 scope:local +rsmpTab12khz = .data:0x80141FF0; // type:object size:0x800 scope:local padStatErrOld = .bss:0x80142800; // type:object size:0x10 scope:local rumbleData = .bss:0x80142810; // type:object size:0x20 scope:local ReadDataStat = .bss:0x80142840; // type:object size:0x2E00 scope:local align:32 data:4byte @@ -5465,11 +5489,12 @@ ARInfo = .bss:0x801967E0; // type:object size:0x400 data:byte arqReq = .bss:0x80196BE0; // type:object size:0x20 scope:local ARQueBuf = .bss:0x80196C00; // type:object size:0x280 scope:local preLoadBuf = .bss:0x80196E80; // type:object size:0x40 scope:local align:32 -lbl_80196EC0 = .bss:0x80196EC0; // type:object size:0x640 -lbl_80197500 = .bss:0x80197500; // type:object size:0x10 data:2byte -lbl_80197510 = .bss:0x80197510; // type:object size:0x20 -lbl_80197530 = .bss:0x80197530; // type:object size:0x80 -lbl_801975B0 = .bss:0x801975B0; // type:object size:0xA0 +charInstance = .bss:0x80196EC0; // type:object size:0x640 scope:local +effectMdl = .bss:0x80197500; // type:object size:0x10 scope:local data:2byte +particleData = .bss:0x80197510; // type:object size:0x20 scope:local +itemHookProcess = .bss:0x80197530; // type:object size:0x80 scope:local +lbl_801975B0 = .bss:0x801975B0; // type:object size:0x10 +lbl_801975C0 = .bss:0x801975C0; // type:object size:0x90 MapObject = .bss:0x80197650; // type:object size:0x40 MapMT = .bss:0x80197690; // type:object size:0x30 MapMTR = .bss:0x801976C0; // type:object size:0x30 @@ -5496,10 +5521,10 @@ ToeMessageArray = .bss:0x8019C490; // type:object size:0x40 scope:local ToeThread = .bss:0x8019C4D0; // type:object size:0x310 scope:local align:8 ToeThreadStack = .bss:0x8019C7E0; // type:object size:0x1000 scope:local boardCamera = .bss:0x8019D7E0; // type:object size:0xC4 data:byte -boardCameraBackup = .bss:0x8019D8A4; // type:object size:0xC4 -lbl_8019D968 = .bss:0x8019D968; // type:object size:0x10 -lbl_8019D978 = .bss:0x8019D978; // type:object size:0x10 -lbl_8019D988 = .bss:0x8019D988; // type:object size:0x10 +cameraBackup = .bss:0x8019D8A4; // type:object size:0xC4 scope:local +preTurnHook = .bss:0x8019D968; // type:object size:0x10 scope:local +postTurnHook = .bss:0x8019D978; // type:object size:0x10 scope:local +playerMatCopy = .bss:0x8019D988; // type:object size:0x10 scope:local winInsertMesTbl = .bss:0x8019D998; // type:object size:0x20 scope:local choiceDisableTbl = .bss:0x8019D9B8; // type:object size:0x40 scope:local lbl_8019D9F8 = .bss:0x8019D9F8; // type:object size:0xC data:float @@ -5538,11 +5563,11 @@ lbl_801A4CFC = .bss:0x801A4CFC; // type:object size:0xC data:float lbl_801A4D08 = .bss:0x801A4D08; // type:object size:0xC lbl_801A4D14 = .bss:0x801A4D14; // type:object size:0x10 data:2byte lbl_801A4D24 = .bss:0x801A4D24; // type:object size:0x14 data:4byte -lbl_801A4D38 = .bss:0x801A4D38; // type:object size:0x20 -lbl_801A4D58 = .bss:0x801A4D58; // type:object size:0x10 data:float +boxRot = .bss:0x801A4D38; // type:object size:0x20 scope:local +padBoxPos = .bss:0x801A4D58; // type:object size:0xC scope:local data:float lbl_801A4D68 = .bss:0x801A4D68; // type:object size:0x500 data:byte lbl_801A5268 = .bss:0x801A5268; // type:object size:0x80 -lbl_801A52E8 = .bss:0x801A52E8; // type:object size:0x18 data:4byte +boardTutorialData = .bss:0x801A52E8; // type:object size:0x10 data:4byte DriveInfo = .bss:0x801A5300; // type:object size:0x20 scope:local align:32 DriveBlock = .bss:0x801A5320; // type:object size:0x30 scope:local __OSErrorTable = .bss:0x801A5350; // type:object size:0x40 scope:global @@ -5594,89 +5619,93 @@ __THPLCWork640 = .bss:0x801A72AC; // type:object size:0xC scope:local __THPMCUBuffer = .bss:0x801A72B8; // type:object size:0x18 scope:local data:4byte fragmentinfo = .bss:0x801A72D0; // type:object size:0xC scope:local data:4byte __atexit_funcs = .bss:0x801A72E0; // type:object size:0x100 scope:local -stderr_buff = .bss:0x801A73E0; // type:object size:0x38 data:4byte -stdout_buff = .bss:0x801A7418; // type:object size:0x100 -stdin_buff = .bss:0x801A7518; // type:object size:0x100 -lbl_801A7618 = .bss:0x801A7618; // type:object size:0x100 -lbl_801A7718 = .bss:0x801A7718; // type:object size:0x18 -lbl_801A7730 = .bss:0x801A7730; // type:object size:0x28 +protopool$192 = .bss:0x801A73E0; // type:object size:0x38 scope:local data:4byte +stderr_buff = .bss:0x801A7418; // type:object size:0x100 scope:local +stdout_buff = .bss:0x801A7518; // type:object size:0x100 scope:local +stdin_buff = .bss:0x801A7618; // type:object size:0x100 scope:local +signal_funcs = .bss:0x801A7718; // type:object size:0x18 scope:local +gTRKEventQueue = .bss:0x801A7730; // type:object size:0x28 gTRKBigEndian = .bss:0x801A7758; // type:object size:0x4 scope:global data:4byte gTRKMsgBufs = .bss:0x801A7760; // type:object size:0x19B0 gTRKInputPendingPtr = .bss:0x801A9110; // type:object size:0x4 scope:global data:4byte -lbl_801A9114 = .bss:0x801A9114; // type:object size:0x14 data:4byte -lbl_801A9128 = .bss:0x801A9128; // type:object size:0x8 data:4byte -lbl_801A9130 = .bss:0x801A9130; // type:object size:0x8 data:4byte +gTRKFramingState = .bss:0x801A9114; // type:object size:0x14 scope:local data:4byte +gTRKDispatchTableSize = .bss:0x801A9128; // type:object size:0x4 data:4byte +IsTRKConnected = .bss:0x801A9130; // type:object size:0x4 scope:local data:4byte TRK_saved_exceptionID = .bss:0x801A9138; // type:object size:0x2 scope:local data:2byte gTRKState = .bss:0x801A913C; // type:object size:0xA4 scope:global data:4byte gTRKCPUState = .bss:0x801A91E0; // type:object size:0x430 scope:global gTRKSaveState = .bss:0x801A9610; // type:object size:0x94 scope:global data:4byte -lbl_801A96A4 = .bss:0x801A96A4; // type:object size:0x14 -lbl_801A96B8 = .bss:0x801A96B8; // type:object size:0x8 data:4byte +TRKvalue128_temp = .bss:0x801A96A4; // type:object size:0x10 +lc_base = .bss:0x801A96B8; // type:object size:0x4 scope:local data:4byte TRK_mainError = .bss:0x801A96C0; // type:object size:0x4 scope:local data:4byte -lbl_801A96C8 = .bss:0x801A96C8; // type:object size:0x111C data:4byte -lbl_801AA7E4 = .bss:0x801AA7E4; // type:object size:0x110C -lbl_801AB8F0 = .bss:0x801AB8F0; // type:object size:0x8 data:byte -lbl_801AB8F8 = .bss:0x801AB8F8; // type:object size:0x1400 data:4byte -lbl_801ACCF8 = .bss:0x801ACCF8; // type:object size:0xC340 -lbl_801B9038 = .bss:0x801B9038; // type:object size:0x100 data:2byte -lbl_801B9138 = .bss:0x801B9138; // type:object size:0x240 -lbl_801B9378 = .bss:0x801B9378; // type:object size:0x214 data:4byte -lbl_801B958C = .bss:0x801B958C; // type:object size:0x600 data:float -lbl_801B9B8C = .bss:0x801B9B8C; // type:object size:0x40 data:byte -lbl_801B9BCC = .bss:0x801B9BCC; // type:object size:0x180 -lbl_801B9D4C = .bss:0x801B9D4C; // type:object size:0x20 data:4byte -lbl_801B9D6C = .bss:0x801B9D6C; // type:object size:0x20 data:4byte -lbl_801B9D8C = .bss:0x801B9D8C; // type:object size:0x20 data:4byte -lbl_801B9DAC = .bss:0x801B9DAC; // type:object size:0x20 data:4byte -lbl_801B9DCC = .bss:0x801B9DCC; // type:object size:0x10 data:byte -lbl_801B9DDC = .bss:0x801B9DDC; // type:object size:0x40 data:4byte -lbl_801B9E1C = .bss:0x801B9E1C; // type:object size:0x480 -lbl_801BA29C = .bss:0x801BA29C; // type:object size:0x484 -lbl_801BA720 = .bss:0x801BA720; // type:object size:0x337 -lbl_801BAA57 = .bss:0x801BAA57; // type:object size:0x15C9 -lbl_801BC020 = .bss:0x801BC020; // type:object size:0x800 -lbl_801BC820 = .bss:0x801BC820; // type:object size:0xC00 -lbl_801BD420 = .bss:0x801BD420; // type:object size:0x4000 -lbl_801C1420 = .bss:0x801C1420; // type:object size:0x600 data:4byte -lbl_801C1A20 = .bss:0x801C1A20; // type:object size:0x1EF -lbl_801C1C0F = .bss:0x801C1C0F; // type:object size:0x10 -lbl_801C1C1F = .bss:0x801C1C1F; // type:object size:0x201 -lbl_801C1E20 = .bss:0x801C1E20; // type:object size:0x800 data:2byte -lbl_801C2620 = .bss:0x801C2620; // type:object size:0x4000 -lbl_801C6620 = .bss:0x801C6620; // type:object size:0x20 data:2byte -lbl_801C6640 = .bss:0x801C6640; // type:object size:0xC -lbl_801C664C = .bss:0x801C664C; // type:object size:0xC data:2byte -lbl_801C6658 = .bss:0x801C6658; // type:object size:0x20 data:4byte -lbl_801C6678 = .bss:0x801C6678; // type:object size:0xB4F -lbl_801C71C7 = .bss:0x801C71C7; // type:object size:0x3B1 -lbl_801C7578 = .bss:0x801C7578; // type:object size:0x40 data:byte -lbl_801C75B8 = .bss:0x801C75B8; // type:object size:0x80 data:byte -lbl_801C7638 = .bss:0x801C7638; // type:object size:0x950 data:byte -lbl_801C7F88 = .bss:0x801C7F88; // type:object size:0x600 data:4byte -lbl_801C8588 = .bss:0x801C8588; // type:object size:0x5E0 data:4byte -lbl_801C8B68 = .bss:0x801C8B68; // type:object size:0x100 data:4byte -lbl_801C8C68 = .bss:0x801C8C68; // type:object size:0x50 -lbl_801C8CB8 = .bss:0x801C8CB8; // type:object size:0x400 data:4byte -lbl_801C90B8 = .bss:0x801C90B8; // type:object size:0x300 -lbl_801C93B8 = .bss:0x801C93B8; // type:object size:0x700 -lbl_801C9AB8 = .bss:0x801C9AB8; // type:object size:0x200 data:4byte -lbl_801C9CB8 = .bss:0x801C9CB8; // type:object size:0x4300 -lbl_801CDFB8 = .bss:0x801CDFB8; // type:object size:0x80 -lbl_801CE038 = .bss:0x801CE038; // type:object size:0x2180 -lbl_801D01B8 = .bss:0x801D01B8; // type:object size:0x40 -lbl_801D01F8 = .bss:0x801D01F8; // type:object size:0x80 -lbl_801D0278 = .bss:0x801D0278; // type:object size:0x40 -lbl_801D02B8 = .bss:0x801D02B8; // type:object size:0x284 -lbl_801D053C = .bss:0x801D053C; // type:object size:0x284 -lbl_801D07C0 = .bss:0x801D07C0; // type:object size:0x400 data:4byte -lbl_801D0BC0 = .bss:0x801D0BC0; // type:object size:0x60 -dram_image = .bss:0x801D0C20; // type:object size:0x2000 -lbl_801D2C20 = .bss:0x801D2C20; // type:object size:0x500 data:4byte -lbl_801D3120 = .bss:0x801D3120; // type:object size:0x30 data:4byte -lbl_801D3150 = .bss:0x801D3150; // type:object size:0x10 data:4byte -mus = .bss:0x801D3160; // type:object size:0x178 data:2byte -se = .bss:0x801D32D8; // type:object size:0xE8 data:4byte -StreamInfo = .bss:0x801D33C0; // type:object size:0x60 data:4byte +gWritePos = .bss:0x801A96C8; // type:object size:0x4 scope:local data:4byte +gReadPos = .bss:0x801A96CC; // type:object size:0x4 scope:local data:4byte +gReadCount = .bss:0x801A96D0; // type:object size:0x4 scope:local data:4byte +_MetroTRK_Has_Framing = .bss:0x801A96D4; // type:object size:0x4 data:4byte +gReadBuf = .bss:0x801A96D8; // type:object size:0x110A scope:local +gWriteBuf = .bss:0x801AA7E4; // type:object size:0x110A scope:local +bUseSerialIO = .bss:0x801AB8F0; // type:object size:0x1 scope:local data:byte +seqNote = .bss:0x801AB8F8; // type:object size:0x1400 scope:local data:4byte +seqInstance = .bss:0x801ACCF8; // type:object size:0xC340 +seqMIDIPriority = .bss:0x801B9038; // type:object size:0x100 data:2byte +synthTicksPerSecond = .bss:0x801B9138; // type:object size:0x240 scope:local +synthInfo = .bss:0x801B9378; // type:object size:0x214 data:4byte +synthMasterFader = .bss:0x801B958C; // type:object size:0x600 data:float +synthTrackVolume = .bss:0x801B9B8C; // type:object size:0x40 data:byte +synthJobTable = .bss:0x801B9BCC; // type:object size:0x180 scope:local +synthAuxAUser = .bss:0x801B9D4C; // type:object size:0x20 data:4byte +synthAuxACallback = .bss:0x801B9D6C; // type:object size:0x20 data:4byte +synthAuxBUser = .bss:0x801B9D8C; // type:object size:0x20 data:4byte +synthAuxBCallback = .bss:0x801B9DAC; // type:object size:0x20 data:4byte +synthITDDefault = .bss:0x801B9DCC; // type:object size:0x10 data:byte +synthGlobalVariable = .bss:0x801B9DDC; // type:object size:0x40 data:4byte +inpAuxB = .bss:0x801B9E1C; // type:object size:0x480 +inpAuxA = .bss:0x801BA29C; // type:object size:0x480 +streamInfo = .bss:0x801BA720; // type:object size:0x1900 data:4byte +dataKeymapTab = .bss:0x801BC020; // type:object size:0x800 scope:local +dataLayerTab = .bss:0x801BC820; // type:object size:0xC00 scope:local +dataCurveTab = .bss:0x801BD420; // type:object size:0x4000 scope:local +dataSmpSDirs = .bss:0x801C1420; // type:object size:0x600 scope:local data:4byte +dataFXGroups = .bss:0x801C1A20; // type:object size:0x400 scope:local data:2byte +dataMacMainTab = .bss:0x801C1E20; // type:object size:0x800 scope:local data:2byte +dataMacSubTabmem = .bss:0x801C2620; // type:object size:0x4000 scope:local +key$787 = .bss:0x801C6620; // type:object size:0x20 scope:local data:2byte +key$836 = .bss:0x801C6640; // type:object size:0xC scope:local +key$850 = .bss:0x801C664C; // type:object size:0xA scope:local data:2byte +newsmp$473 = .bss:0x801C6658; // type:object size:0x20 scope:local data:4byte +vidList = .bss:0x801C6678; // type:object size:0x800 scope:local data:4byte +voicePrioSortVoices = .bss:0x801C6E78; // type:object size:0x100 +voicePrioSortVoicesRoot = .bss:0x801C6F78; // type:object size:0x100 +voicePrioSortRootList = .bss:0x801C7078; // type:object size:0x400 +voiceList = .bss:0x801C7478; // type:object size:0x100 +synth_last_fxstarted = .bss:0x801C7578; // type:object size:0x40 scope:local data:byte +synth_last_started = .bss:0x801C75B8; // type:object size:0x80 scope:local data:byte +vs = .bss:0x801C7638; // type:object size:0x950 data:byte +gs = .bss:0x801C7F88; // type:object size:0x600 scope:local data:4byte +dspStudio = .bss:0x801C8588; // type:object size:0x5E0 data:4byte +voices$591 = .bss:0x801C8B68; // type:object size:0x100 scope:local data:4byte +tmp_em$515 = .bss:0x801C8C68; // type:object size:0x50 scope:local +startGroup = .bss:0x801C8CB8; // type:object size:0x400 scope:local data:4byte +runList = .bss:0x801C90B8; // type:object size:0x300 scope:local +startListNum = .bss:0x801C93B8; // type:object size:0x700 scope:local +inpGlobalMIDIDirtyFlags = .bss:0x801C9AB8; // type:object size:0x200 scope:local data:4byte +midi_ctrl = .bss:0x801C9CB8; // type:object size:0x4300 scope:local +inpChannelDefaults = .bss:0x801CDFB8; // type:object size:0x80 scope:local +fx_ctrl = .bss:0x801CE038; // type:object size:0x2180 scope:local +inpFXChannelDefaults = .bss:0x801D01B8; // type:object size:0x40 scope:local +midi_lastNote = .bss:0x801D01F8; // type:object size:0x80 scope:local +fx_lastNote = .bss:0x801D0278; // type:object size:0x40 scope:local +aramQueueLo = .bss:0x801D02B8; // type:object size:0x284 scope:local +aramQueueHi = .bss:0x801D053C; // type:object size:0x284 scope:local +aramStreamBuffers = .bss:0x801D07C0; // type:object size:0x400 scope:local data:4byte +dsp_task = .bss:0x801D0BC0; // type:object size:0x60 scope:local align:8 +dram_image = .bss:0x801D0C20; // type:object size:0x2000 scope:local align:32 +sys = .bss:0x801D2C20; // type:object size:0x4FC scope:local data:4byte +mem = .bss:0x801D3120; // type:object size:0x2C scope:local data:4byte +fio = .bss:0x801D3150; // type:object size:0xC scope:local data:4byte +mus = .bss:0x801D3160; // type:object size:0x178 scope:local data:2byte +se = .bss:0x801D32D8; // type:object size:0xDC scope:local data:4byte +StreamInfo = .bss:0x801D33C0; // type:object size:0x60 scope:local align:32 data:4byte lbl_801D3420 = .sdata:0x801D3420; // type:object size:0x5 data:string lbl_801D3425 = .sdata:0x801D3425; // type:object size:0x7 rnd_seed = .sdata:0x801D342C; // type:object size:0x4 data:4byte @@ -5776,9 +5805,9 @@ Xfb = .sdata:0x801D3664; // type:object size:0x8 scope:local data:4byte boardNextScene = .sdata:0x801D3670; // type:object size:0x4 scope:local data:4byte filterColor = .sdata:0x801D3674; // type:object size:0x4 scope:local data:byte lbl_801D3678 = .sdata:0x801D3678; // type:object size:0x8 -lbl_801D3680 = .sdata:0x801D3680; // type:object size:0x2 data:2byte -lbl_801D3682 = .sdata:0x801D3682; // type:object size:0x2 data:2byte -lbl_801D3684 = .sdata:0x801D3684; // type:object size:0x2 data:2byte +suitMdl = .sdata:0x801D3680; // type:object size:0x2 scope:local data:2byte +suitPlayerMdl = .sdata:0x801D3682; // type:object size:0x2 scope:local data:2byte +suitCurrMot = .sdata:0x801D3684; // type:object size:0x2 scope:local data:2byte lbl_801D3686 = .sdata:0x801D3686; // type:object size:0x5 data:string lbl_801D368B = .sdata:0x801D368B; // type:object size:0x5 data:string lbl_801D3690 = .sdata:0x801D3690; // type:object size:0x6 data:string @@ -5792,7 +5821,7 @@ lbl_801D36BA = .sdata:0x801D36BA; // type:object size:0x6 data:string lbl_801D36C0 = .sdata:0x801D36C0; // type:object size:0x6 data:string lbl_801D36C6 = .sdata:0x801D36C6; // type:object size:0x6 data:string lbl_801D36CC = .sdata:0x801D36CC; // type:object size:0x6 data:string -lbl_801D36D2 = .sdata:0x801D36D2; // type:object size:0xE +lbl_801D36D2 = .sdata:0x801D36D2; // type:object size:0x8 data:string windowID = .sdata:0x801D36E0; // type:object size:0x2 scope:local data:2byte lbl_801D36E8 = .sdata:0x801D36E8; // type:object size:0x8 data:4byte lbl_801D36F0 = .sdata:0x801D36F0; // type:object size:0x8 data:byte @@ -5920,30 +5949,30 @@ gx = .sdata:0x801D3938; // type:object size:0x4 scope:global data:4byte tbl1$215 = .sdata:0x801D3940; // type:object size:0x4 scope:local tbl2$216 = .sdata:0x801D3944; // type:object size:0x4 scope:local tbl3$217 = .sdata:0x801D3948; // type:object size:0x4 scope:local -GX2HWFiltConv = .sdata:0x801D3950; // type:object size:0x6 -lbl_801D3958 = .sdata:0x801D3958; // type:object size:0x8 -lbl_801D3960 = .sdata:0x801D3960; // type:object size:0x8 -lbl_801D3968 = .sdata:0x801D3968; // type:object size:0x8 -lbl_801D3970 = .sdata:0x801D3970; // type:object size:0x8 -lbl_801D3978 = .sdata:0x801D3978; // type:object size:0x8 -lbl_801D3980 = .sdata:0x801D3980; // type:object size:0x8 -lbl_801D3988 = .sdata:0x801D3988; // type:object size:0x8 -lbl_801D3990 = .sdata:0x801D3990; // type:object size:0x8 data:4byte -lbl_801D3998 = .sdata:0x801D3998; // type:object size:0x8 data:2byte -lbl_801D39A0 = .sdata:0x801D39A0; // type:object size:0x8 -lbl_801D39A8 = .sdata:0x801D39A8; // type:object size:0x4 data:4byte -lbl_801D39AC = .sdata:0x801D39AC; // type:object size:0x4 data:4byte +GXTexMode0Ids = .sdata:0x801D3950; // type:object size:0x8 scope:local +GXTexMode1Ids = .sdata:0x801D3958; // type:object size:0x8 scope:local +GXTexImage0Ids = .sdata:0x801D3960; // type:object size:0x8 scope:local +GXTexImage1Ids = .sdata:0x801D3968; // type:object size:0x8 scope:local +GXTexImage2Ids = .sdata:0x801D3970; // type:object size:0x8 scope:local +GXTexImage3Ids = .sdata:0x801D3978; // type:object size:0x8 scope:local +GXTexTlutIds = .sdata:0x801D3980; // type:object size:0x8 scope:local +GX2HWFiltConv = .sdata:0x801D3988; // type:object size:0x6 scope:local +next = .sdata:0x801D3990; // type:object size:0x4 scope:local data:4byte +__CARDVendorID = .sdata:0x801D3998; // type:object size:0x2 data:2byte +__RTTI__Q23std9exception = .sdata:0x801D39A0; // type:object size:0x8 scope:local +thandler__3std = .sdata:0x801D39A8; // type:object size:0x4 scope:local data:4byte +uhandler__3std = .sdata:0x801D39AC; // type:object size:0x4 scope:local data:4byte fragmentID = .sdata:0x801D39B0; // type:object size:0x4 scope:local data:4byte __RTTI__Q23std9exception = .sdata:0x801D39B8; // type:object size:0x8 scope:local __RTTI__Q23std13bad_exception = .sdata:0x801D39C0; // type:object size:0x8 scope:local @wstringBase0 = .sdata:0x801D39C8; // type:object size:0x2 scope:local -lbl_801D39D0 = .sdata:0x801D39D0; // type:object size:0x4 data:float -lbl_801D39D4 = .sdata:0x801D39D4; // type:object size:0x4 data:float -lbl_801D39D8 = .sdata:0x801D39D8; // type:object size:0x8 data:4byte -lbl_801D39E0 = .sdata:0x801D39E0; // type:object size:0x8 -lbl_801D39E8 = .sdata:0x801D39E8; // type:object size:0x8 -lbl_801D39F0 = .sdata:0x801D39F0; // type:object size:0x8 data:2byte -lbl_801D39F8 = .sdata:0x801D39F8; // type:object size:0x1 data:byte +__float_nan = .sdata:0x801D39D0; // type:object size:0x4 data:float +__float_huge = .sdata:0x801D39D4; // type:object size:0x4 data:float +last_rnd = .sdata:0x801D39D8; // type:object size:0x4 scope:local data:4byte +dspSRCType$437 = .sdata:0x801D39E0; // type:object size:0x6 align:4 +dspCoefSel$442 = .sdata:0x801D39E8; // type:object size:0x6 align:4 +dspSlaveLength = .sdata:0x801D39F0; // type:object size:0x2 data:2byte +SendCount = .sdata:0x801D39F8; // type:object size:0x1 scope:local data:byte SystemInitF = .sbss:0x801D3A00; // type:object size:0x4 data:4byte HuDvdErrWait = .sbss:0x801D3A04; // type:object size:0x4 data:4byte lbl_801D3A08 = .sbss:0x801D3A08; // type:object size:0x4 @@ -6203,8 +6232,8 @@ cardWork = .sbss:0x801D3DFC; // type:object size:0x4 scope:local data:4byte arqIdx = .sbss:0x801D3E00; // type:object size:0x2 scope:local data:2byte arqCnt = .sbss:0x801D3E04; // type:object size:0x4 scope:local data:4byte ARBase = .sbss:0x801D3E08; // type:object size:0x8 scope:local data:4byte -lbl_801D3E10 = .sbss:0x801D3E10; // type:object size:0x4 data:4byte -lbl_801D3E14 = .sbss:0x801D3E14; // type:object size:0x4 data:4byte +effectAMemP = .sbss:0x801D3E10; // type:object size:0x4 scope:local data:4byte +skipAnimUpdate = .sbss:0x801D3E14; // type:object size:0x4 scope:local data:4byte ColisionCount = .sbss:0x801D3E18; // type:object size:0x4 data:4byte topvtx = .sbss:0x801D3E1C; // type:object size:0x4 scope:local data:4byte AttrHsf = .sbss:0x801D3E20; // type:object size:0x4 scope:local data:4byte @@ -6250,34 +6279,34 @@ XfbH = .sbss:0x801D3ECC; // type:object size:0x2 scope:local data:2byte XfbW = .sbss:0x801D3ECE; // type:object size:0x2 scope:local data:2byte boardMainProc = .sbss:0x801D3ED0; // type:object size:0x4 data:4byte boardObjMan = .sbss:0x801D3ED4; // type:object size:0x4 data:4byte -boardCameraObj = .sbss:0x801D3ED8; // type:object size:0x4 data:4byte -lbl_801D3EDC = .sbss:0x801D3EDC; // type:object size:0x4 data:4byte -boardCameraUseBackup = .sbss:0x801D3EE0; // type:object size:0x4 data:4byte -boardCreateFunc = .sbss:0x801D3EE4; // type:object size:0x4 scope:local data:4byte -boardDestroyFunc = .sbss:0x801D3EE8; // type:object size:0x4 scope:local data:4byte -lbl_801D3EEC = .sbss:0x801D3EEC; // type:object size:0x4 data:4byte -lbl_801D3EF0 = .sbss:0x801D3EF0; // type:object size:0x4 data:4byte +cameraObj = .sbss:0x801D3ED8; // type:object size:0x4 scope:local data:4byte +tauntObj = .sbss:0x801D3EDC; // type:object size:0x4 scope:local data:4byte +cameraUseBackup = .sbss:0x801D3EE0; // type:object size:0x4 scope:local data:4byte +createFunc = .sbss:0x801D3EE4; // type:object size:0x4 scope:local data:4byte +destroyFunc = .sbss:0x801D3EE8; // type:object size:0x4 scope:local data:4byte +boardLightSetHook = .sbss:0x801D3EEC; // type:object size:0x4 data:4byte +boardLightResetHook = .sbss:0x801D3EF0; // type:object size:0x4 data:4byte boardTurnFunc = .sbss:0x801D3EF4; // type:object size:0x4 data:4byte lbl_801D3EF8 = .sbss:0x801D3EF8; // type:object size:0x4 data:4byte lbl_801D3EFC = .sbss:0x801D3EFC; // type:object size:0x4 data:4byte lbl_801D3F00 = .sbss:0x801D3F00; // type:object size:0x4 data:4byte -boardPlayerEffect = .sbss:0x801D3F04; // type:object size:0x4 data:4byte -boardFilterObj = .sbss:0x801D3F08; // type:object size:0x4 data:4byte -lbl_801D3F0C = .sbss:0x801D3F0C; // type:object size:0x4 data:4byte -boardTurnRemainObj = .sbss:0x801D3F10; // type:object size:0x4 data:4byte +boardTurnStartFunc = .sbss:0x801D3F04; // type:object size:0x4 data:4byte +filterObj = .sbss:0x801D3F08; // type:object size:0x4 scope:local data:4byte +confettiObj = .sbss:0x801D3F0C; // type:object size:0x4 scope:local data:4byte +last5GfxObj = .sbss:0x801D3F10; // type:object size:0x4 scope:local data:4byte boardRandSeed = .sbss:0x801D3F14; // type:object size:0x4 data:4byte -boardMainObj = .sbss:0x801D3F18; // type:object size:0x8 data:4byte -lbl_801D3F20 = .sbss:0x801D3F20; // type:object size:0x4 data:4byte -lbl_801D3F24 = .sbss:0x801D3F24; // type:object size:0x4 data:4byte -lbl_801D3F28 = .sbss:0x801D3F28; // type:object size:0x4 data:4byte -lbl_801D3F2C = .sbss:0x801D3F2C; // type:object size:0x4 data:4byte -lbl_801D3F30 = .sbss:0x801D3F30; // type:object size:0x4 data:4byte +boardMainObj = .sbss:0x801D3F18; // type:object size:0x4 data:4byte +rollResized = .sbss:0x801D3F20; // type:object size:0x4 scope:local data:4byte +bowserSuitObj = .sbss:0x801D3F24; // type:object size:0x4 scope:local data:4byte +junctionMask = .sbss:0x801D3F28; // type:object size:0x4 scope:local data:4byte +junctionObj = .sbss:0x801D3F2C; // type:object size:0x4 scope:local data:4byte +diceDigit2DObj = .sbss:0x801D3F30; // type:object size:0x4 scope:local data:4byte lbl_801D3F34 = .sbss:0x801D3F34; // type:object size:0x4 data:4byte -lbl_801D3F38 = .sbss:0x801D3F38; // type:object size:0x8 -lbl_801D3F40 = .sbss:0x801D3F40; // type:object size:0x1 data:byte -lbl_801D3F44 = .sbss:0x801D3F44; // type:object size:0x1 data:byte -lbl_801D3F46 = .sbss:0x801D3F46; // type:object size:0x8 -lbl_801D3F4E = .sbss:0x801D3F4E; // type:object size:0xA +junctionArrowRot = .sbss:0x801D3F38; // type:object size:0x8 scope:local +lbl_801D3F40 = .sbss:0x801D3F40; // type:object size:0x4 data:byte +rollType = .sbss:0x801D3F44; // type:object size:0x1 scope:local data:byte +playerMot = .sbss:0x801D3F46; // type:object size:0x8 scope:local +boardPlayerMdl = .sbss:0x801D3F4E; // type:object size:0x8 modelDataList = .sbss:0x801D3F58; // type:object size:0x4 scope:local data:4byte modelMgrObj = .sbss:0x801D3F5C; // type:object size:0x4 scope:local data:4byte modelDataNum = .sbss:0x801D3F60; // type:object size:0x2 scope:local data:2byte @@ -6498,32 +6527,32 @@ lbl_801D425A = .sbss:0x801D425A; // type:object size:0x2 data:2byte lbl_801D425C = .sbss:0x801D425C; // type:object size:0x1 data:byte lbl_801D425D = .sbss:0x801D425D; // type:object size:0x1 data:byte lbl_801D425E = .sbss:0x801D425E; // type:object size:0x1 data:byte -lbl_801D4260 = .sbss:0x801D4260; // type:object size:0x4 data:4byte -lbl_801D4264 = .sbss:0x801D4264; // type:object size:0x4 data:4byte -lbl_801D4268 = .sbss:0x801D4268; // type:object size:0x4 data:4byte -lbl_801D426C = .sbss:0x801D426C; // type:object size:0x8 -lbl_801D4274 = .sbss:0x801D4274; // type:object size:0x1 data:byte -lbl_801D4276 = .sbss:0x801D4276; // type:object size:0x2 data:2byte -lbl_801D4278 = .sbss:0x801D4278; // type:object size:0x1 data:byte -lbl_801D4279 = .sbss:0x801D4279; // type:object size:0x1 data:byte -lbl_801D427A = .sbss:0x801D427A; // type:object size:0x6 data:byte +mainProcess = .sbss:0x801D4260; // type:object size:0x4 scope:local data:4byte +quitProcess = .sbss:0x801D4264; // type:object size:0x4 scope:local data:4byte +configObj = .sbss:0x801D4268; // type:object size:0x4 scope:local data:4byte +boxState = .sbss:0x801D426C; // type:object size:0x8 scope:local +cursorPos = .sbss:0x801D4274; // type:object size:0x1 scope:local data:byte +hostMdl = .sbss:0x801D4276; // type:object size:0x2 scope:local data:2byte +hostOldLayer = .sbss:0x801D4278; // type:object size:0x1 scope:local data:byte +mainScreenF = .sbss:0x801D4279; // type:object size:0x1 scope:local data:byte +pauseQuitF = .sbss:0x801D427A; // type:object size:0x1 scope:local data:byte lbl_801D4280 = .sbss:0x801D4280; // type:object size:0x2 data:2byte lbl_801D4282 = .sbss:0x801D4282; // type:object size:0x6 data:2byte -lbl_801D4288 = .sbss:0x801D4288; // type:object size:0x4 data:4byte -lbl_801D428C = .sbss:0x801D428C; // type:object size:0x4 data:4byte -lbl_801D4290 = .sbss:0x801D4290; // type:object size:0x4 data:4byte -lbl_801D4294 = .sbss:0x801D4294; // type:object size:0x4 data:4byte -lbl_801D4298 = .sbss:0x801D4298; // type:object size:0x4 data:4byte -lbl_801D429C = .sbss:0x801D429C; // type:object size:0x1 data:byte -lbl_801D429E = .sbss:0x801D429E; // type:object size:0x2 data:2byte -lbl_801D42A0 = .sbss:0x801D42A0; // type:object size:0x1 data:byte -lbl_801D42A1 = .sbss:0x801D42A1; // type:object size:0x1 data:byte -lbl_801D42A2 = .sbss:0x801D42A2; // type:object size:0x1 data:byte -lbl_801D42A4 = .sbss:0x801D42A4; // type:object size:0x4 data:4byte -lbl_801D42A8 = .sbss:0x801D42A8; // type:object size:0x2 data:2byte -lbl_801D42AA = .sbss:0x801D42AA; // type:object size:0x1 data:byte -lbl_801D42AB = .sbss:0x801D42AB; // type:object size:0x1 data:byte -lbl_801D42AC = .sbss:0x801D42AC; // type:object size:0x4 data:4byte +gameStatCopy = .sbss:0x801D4288; // type:object size:0x4 scope:local data:4byte +systemCopy = .sbss:0x801D428C; // type:object size:0x4 scope:local data:4byte +playerCopy = .sbss:0x801D4290; // type:object size:0x4 scope:local data:4byte +playerCfgCopy = .sbss:0x801D4294; // type:object size:0x4 scope:local data:4byte +tutorialProcess = .sbss:0x801D4298; // type:object size:0x4 scope:local data:4byte +boardTutorialF = .sbss:0x801D429C; // type:object size:0x1 data:byte +hostMdl = .sbss:0x801D429E; // type:object size:0x2 scope:local data:2byte +boardTutorialUseItem = .sbss:0x801D42A0; // type:object size:0x1 data:byte +boardTutorialBlockF = .sbss:0x801D42A1; // type:object size:0x1 data:byte +boardTutorialBlockItem = .sbss:0x801D42A2; // type:object size:0x1 data:byte +boardTutorialBlockPos = .sbss:0x801D42A4; // type:object size:0x4 data:4byte +boardTutorialDirInputTime = .sbss:0x801D42A8; // type:object size:0x2 data:2byte +boardTutorialDirInputY = .sbss:0x801D42AA; // type:object size:0x1 data:byte +boardTutorialDirInputX = .sbss:0x801D42AB; // type:object size:0x1 data:byte +tutorialHook = .sbss:0x801D42AC; // type:object size:0x4 scope:local data:4byte BootInfo = .sbss:0x801D42B0; // type:object size:0x4 scope:local data:4byte BI2DebugFlag = .sbss:0x801D42B4; // type:object size:0x4 scope:local data:4byte BI2DebugFlagHolder = .sbss:0x801D42B8; // type:object size:0x4 scope:local data:4byte @@ -6733,124 +6762,121 @@ __aborting = .sbss:0x801D4760; // type:object size:0x4 scope:global data:4byte __atexit_curr_func = .sbss:0x801D4764; // type:object size:0x4 scope:local data:4byte __stdio_exit = .sbss:0x801D4768; // type:object size:0x4 scope:global data:4byte __console_exit = .sbss:0x801D476C; // type:object size:0x4 scope:global data:4byte -lbl_801D4770 = .sbss:0x801D4770; // type:object size:0x8 data:byte -lbl_801D4778 = .sbss:0x801D4778; // type:object size:0x8 data:4byte -lbl_801D4780 = .sbss:0x801D4780; // type:object size:0x8 data:4byte -lbl_801D4788 = .sbss:0x801D4788; // type:object size:0x4 data:4byte -lbl_801D478C = .sbss:0x801D478C; // type:object size:0x1 data:byte -lbl_801D4790 = .sbss:0x801D4790; // type:object size:0x4 data:4byte -lbl_801D4794 = .sbss:0x801D4794; // type:object size:0x4 data:4byte -lbl_801D4798 = .sbss:0x801D4798; // type:object size:0x4 data:4byte -lbl_801D479C = .sbss:0x801D479C; // type:object size:0x4 data:4byte -lbl_801D47A0 = .sbss:0x801D47A0; // type:object size:0x4 data:4byte -lbl_801D47A4 = .sbss:0x801D47A4; // type:object size:0x4 data:4byte -lbl_801D47A8 = .sbss:0x801D47A8; // type:object size:0x1 data:byte -lbl_801D47A9 = .sbss:0x801D47A9; // type:object size:0x1 data:byte -lbl_801D47AC = .sbss:0x801D47AC; // type:object size:0x8 data:byte -lbl_801D47B4 = .sbss:0x801D47B4; // type:object size:0x8 data:byte -lbl_801D47BC = .sbss:0x801D47BC; // type:object size:0x8 data:byte -lbl_801D47C4 = .sbss:0x801D47C4; // type:object size:0x8 data:byte -lbl_801D47CC = .sbss:0x801D47CC; // type:object size:0x4 data:4byte -lbl_801D47D0 = .sbss:0x801D47D0; // type:object size:0x4 data:4byte -lbl_801D47D4 = .sbss:0x801D47D4; // type:object size:0x4 data:4byte -lbl_801D47D8 = .sbss:0x801D47D8; // type:object size:0x4 data:4byte -lbl_801D47DC = .sbss:0x801D47DC; // type:object size:0x4 data:4byte -lbl_801D47E0 = .sbss:0x801D47E0; // type:object size:0x8 data:byte -lbl_801D47E8 = .sbss:0x801D47E8; // type:object size:0x4 data:4byte -lbl_801D47EC = .sbss:0x801D47EC; // type:object size:0x4 data:4byte -lbl_801D47F0 = .sbss:0x801D47F0; // type:object size:0x4 data:4byte -lbl_801D47F4 = .sbss:0x801D47F4; // type:object size:0x1 data:byte -lbl_801D47F5 = .sbss:0x801D47F5; // type:object size:0x1 data:byte -lbl_801D47F8 = .sbss:0x801D47F8; // type:object size:0x4 data:4byte -lbl_801D47FC = .sbss:0x801D47FC; // type:object size:0x4 data:4byte -lbl_801D4800 = .sbss:0x801D4800; // type:object size:0x8 -lbl_801D4808 = .sbss:0x801D4808; // type:object size:0x4 data:4byte -lbl_801D480C = .sbss:0x801D480C; // type:object size:0x8 -lbl_801D4814 = .sbss:0x801D4814; // type:object size:0x4 data:4byte -lbl_801D4818 = .sbss:0x801D4818; // type:object size:0x4 data:4byte -lbl_801D481C = .sbss:0x801D481C; // type:object size:0x4 data:4byte -lbl_801D4820 = .sbss:0x801D4820; // type:object size:0x8 -lbl_801D4828 = .sbss:0x801D4828; // type:object size:0x4 data:4byte -lbl_801D482C = .sbss:0x801D482C; // type:object size:0x4 data:4byte -lbl_801D4830 = .sbss:0x801D4830; // type:object size:0x2 data:2byte -lbl_801D4832 = .sbss:0x801D4832; // type:object size:0x2 data:2byte -lbl_801D4834 = .sbss:0x801D4834; // type:object size:0x2 data:2byte -lbl_801D4836 = .sbss:0x801D4836; // type:object size:0x2 data:2byte -lbl_801D4838 = .sbss:0x801D4838; // type:object size:0x2 data:2byte -lbl_801D483A = .sbss:0x801D483A; // type:object size:0x6 data:2byte -lbl_801D4840 = .sbss:0x801D4840; // type:object size:0x8 data:4byte -lbl_801D4848 = .sbss:0x801D4848; // type:object size:0x4 data:4byte -lbl_801D484C = .sbss:0x801D484C; // type:object size:0x4 data:4byte -lbl_801D4850 = .sbss:0x801D4850; // type:object size:0x4 data:4byte -lbl_801D4854 = .sbss:0x801D4854; // type:object size:0x4 data:4byte -lbl_801D4858 = .sbss:0x801D4858; // type:object size:0x8 data:byte -lbl_801D4860 = .sbss:0x801D4860; // type:object size:0x4 data:4byte -lbl_801D4864 = .sbss:0x801D4864; // type:object size:0x4 data:4byte -lbl_801D4868 = .sbss:0x801D4868; // type:object size:0x4 data:4byte -lbl_801D486C = .sbss:0x801D486C; // type:object size:0x2 data:2byte -lbl_801D486E = .sbss:0x801D486E; // type:object size:0x1 data:byte -lbl_801D486F = .sbss:0x801D486F; // type:object size:0x1 data:byte -lbl_801D4870 = .sbss:0x801D4870; // type:object size:0x1 data:byte -lbl_801D4871 = .sbss:0x801D4871; // type:object size:0x7 data:byte -lbl_801D4878 = .sbss:0x801D4878; // type:object size:0x8 data:2byte -lbl_801D4880 = .sbss:0x801D4880; // type:object size:0x4 data:4byte -lbl_801D4884 = .sbss:0x801D4884; // type:object size:0x4 data:4byte -lbl_801D4888 = .sbss:0x801D4888; // type:object size:0x4 data:4byte -lbl_801D488C = .sbss:0x801D488C; // type:object size:0x2 data:2byte -lbl_801D4890 = .sbss:0x801D4890; // type:object size:0x4 data:4byte -lbl_801D4894 = .sbss:0x801D4894; // type:object size:0x4 data:4byte -lbl_801D4898 = .sbss:0x801D4898; // type:object size:0x4 data:4byte -lbl_801D489C = .sbss:0x801D489C; // type:object size:0x2 data:2byte -lbl_801D48A0 = .sbss:0x801D48A0; // type:object size:0x4 data:4byte -lbl_801D48A4 = .sbss:0x801D48A4; // type:object size:0x4 data:4byte -lbl_801D48A8 = .sbss:0x801D48A8; // type:object size:0x4 data:4byte -lbl_801D48AC = .sbss:0x801D48AC; // type:object size:0x4 data:4byte -lbl_801D48B0 = .sbss:0x801D48B0; // type:object size:0x4 data:4byte -lbl_801D48B4 = .sbss:0x801D48B4; // type:object size:0x4 data:4byte -lbl_801D48B8 = .sbss:0x801D48B8; // type:object size:0x8 data:4byte -lbl_801D48C0 = .sbss:0x801D48C0; // type:object size:0x1 data:byte -lbl_801D48C1 = .sbss:0x801D48C1; // type:object size:0x1 data:byte -lbl_801D48C2 = .sbss:0x801D48C2; // type:object size:0x1 data:byte -lbl_801D48C3 = .sbss:0x801D48C3; // type:object size:0x1 data:byte -lbl_801D48C4 = .sbss:0x801D48C4; // type:object size:0x1 data:byte -lbl_801D48C5 = .sbss:0x801D48C5; // type:object size:0x1 data:byte -lbl_801D48C8 = .sbss:0x801D48C8; // type:object size:0x4 data:4byte -lbl_801D48CC = .sbss:0x801D48CC; // type:object size:0x4 data:4byte -lbl_801D48D0 = .sbss:0x801D48D0; // type:object size:0x4 data:4byte -lbl_801D48D4 = .sbss:0x801D48D4; // type:object size:0x4 data:4byte -lbl_801D48D8 = .sbss:0x801D48D8; // type:object size:0x4 data:4byte -lbl_801D48DC = .sbss:0x801D48DC; // type:object size:0x1 data:byte -lbl_801D48E0 = .sbss:0x801D48E0; // type:object size:0x1 data:byte -lbl_801D48E4 = .sbss:0x801D48E4; // type:object size:0x4 data:4byte -lbl_801D48E8 = .sbss:0x801D48E8; // type:object size:0x4 data:4byte -lbl_801D48EC = .sbss:0x801D48EC; // type:object size:0x1 data:byte -lbl_801D48ED = .sbss:0x801D48ED; // type:object size:0x1 data:byte -lbl_801D48EE = .sbss:0x801D48EE; // type:object size:0x1 data:byte -lbl_801D48EF = .sbss:0x801D48EF; // type:object size:0x1 data:byte -lbl_801D48F0 = .sbss:0x801D48F0; // type:object size:0x4 data:4byte -lbl_801D48F4 = .sbss:0x801D48F4; // type:object size:0x4 data:4byte -lbl_801D48F8 = .sbss:0x801D48F8; // type:object size:0x4 data:4byte -lbl_801D48FC = .sbss:0x801D48FC; // type:object size:0x4 data:4byte -lbl_801D4900 = .sbss:0x801D4900; // type:object size:0x4 data:4byte -lbl_801D4904 = .sbss:0x801D4904; // type:object size:0x4 data:4byte -lbl_801D4908 = .sbss:0x801D4908; // type:object size:0x4 data:4byte -lbl_801D490C = .sbss:0x801D490C; // type:object size:0x4 data:4byte -lbl_801D4910 = .sbss:0x801D4910; // type:object size:0x4 data:4byte -lbl_801D4914 = .sbss:0x801D4914; // type:object size:0x2 data:2byte -lbl_801D4918 = .sbss:0x801D4918; // type:object size:0x4 data:4byte -lbl_801D491C = .sbss:0x801D491C; // type:object size:0x4 data:4byte -lbl_801D4920 = .sbss:0x801D4920; // type:object size:0x4 data:4byte -lbl_801D4924 = .sbss:0x801D4924; // type:object size:0x4 data:4byte -lbl_801D4928 = .sbss:0x801D4928; // type:object size:0x4 data:4byte -lbl_801D492C = .sbss:0x801D492C; // type:object size:0x4 data:4byte -lbl_801D4930 = .sbss:0x801D4930; // type:object size:0x1 data:byte -lbl_801D4934 = .sbss:0x801D4934; // type:object size:0x4 data:4byte -lbl_801D4938 = .sbss:0x801D4938; // type:object size:0x4 data:4byte -lbl_801D493C = .sbss:0x801D493C; // type:object size:0x4 data:4byte -lbl_801D4940 = .sbss:0x801D4940; // type:object size:0x4 data:4byte -lbl_801D4944 = .sbss:0x801D4944; // type:object size:0x4 data:4byte -lbl_801D4948 = .sbss:0x801D4948; // type:object size:0x4 data:4byte -lbl_801D494C = .sbss:0x801D494C; // type:object size:0x1 data:byte +init$193 = .sbss:0x801D4770; // type:object size:0x1 scope:local data:byte +errno = .sbss:0x801D4778; // type:object size:0x4 data:4byte +initialized$16 = .sbss:0x801D4780; // type:object size:0x4 scope:local data:4byte +seq_next_id = .sbss:0x801D4788; // type:object size:0x4 scope:local data:4byte +curFadeOutState = .sbss:0x801D478C; // type:object size:0x1 scope:local data:byte +curSeqId = .sbss:0x801D4790; // type:object size:0x4 scope:local data:4byte +noteFree = .sbss:0x801D4794; // type:object size:0x4 scope:local data:4byte +cseq = .sbss:0x801D4798; // type:object size:0x4 scope:local data:4byte +seqFreeRoot = .sbss:0x801D479C; // type:object size:0x4 data:4byte +seqPausedRoot = .sbss:0x801D47A0; // type:object size:0x4 data:4byte +seqActiveRoot = .sbss:0x801D47A4; // type:object size:0x4 data:4byte +sndActive = .sbss:0x801D47A8; // type:object size:0x1 data:byte +synthJobTableIndex = .sbss:0x801D47A9; // type:object size:0x1 scope:local data:byte +synthAuxBMIDISet = .sbss:0x801D47AC; // type:object size:0x8 data:byte +synthAuxBMIDI = .sbss:0x801D47B4; // type:object size:0x8 data:byte +synthAuxAMIDISet = .sbss:0x801D47BC; // type:object size:0x8 data:byte +synthAuxAMIDI = .sbss:0x801D47C4; // type:object size:0x8 data:byte +synthMasterFaderPauseActiveFlags = .sbss:0x801D47CC; // type:object size:0x4 data:4byte +synthMasterFaderActiveFlags = .sbss:0x801D47D0; // type:object size:0x4 data:4byte +synthFlags = .sbss:0x801D47D4; // type:object size:0x4 data:4byte +synthVoice = .sbss:0x801D47D8; // type:object size:0x4 data:4byte +synthMessageCallback = .sbss:0x801D47DC; // type:object size:0x4 data:4byte +synthIdleWaitActive = .sbss:0x801D47E0; // type:object size:0x1 data:byte +synthRealTime = .sbss:0x801D47E8; // type:object size:0x8 align:8 data:4byte +nextPublicID = .sbss:0x801D47F0; // type:object size:0x4 scope:local data:4byte +streamCallDelay = .sbss:0x801D47F4; // type:object size:0x1 scope:local data:byte +streamCallCnt = .sbss:0x801D47F5; // type:object size:0x1 scope:local data:byte +result$837 = .sbss:0x801D47F8; // type:object size:0x4 data:4byte +result$823 = .sbss:0x801D47FC; // type:object size:0x4 data:4byte +key$822 = .sbss:0x801D4800; // type:object size:0x8 +result$815 = .sbss:0x801D4808; // type:object size:0x4 data:4byte +key$814 = .sbss:0x801D480C; // type:object size:0x8 +sheader$789 = .sbss:0x801D4814; // type:object size:0x4 data:4byte +result$788 = .sbss:0x801D4818; // type:object size:0x4 data:4byte +result$770 = .sbss:0x801D481C; // type:object size:0x4 data:4byte +key$769 = .sbss:0x801D4820; // type:object size:0x8 +main$768 = .sbss:0x801D4828; // type:object size:0x4 data:4byte +base$767 = .sbss:0x801D482C; // type:object size:0x4 data:4byte +dataFXGroupNum = .sbss:0x801D4830; // type:object size:0x2 data:2byte +dataMacTotal = .sbss:0x801D4832; // type:object size:0x2 data:2byte +dataLayerNum = .sbss:0x801D4834; // type:object size:0x2 data:2byte +dataKeymapNum = .sbss:0x801D4836; // type:object size:0x2 data:2byte +dataCurveNum = .sbss:0x801D4838; // type:object size:0x2 data:2byte +dataSmpSDirNum = .sbss:0x801D483A; // type:object size:0x2 data:2byte +cstep$1643 = .sbss:0x801D4840; // type:object size:0x8 scope:local data:4byte +macRealTime = .sbss:0x801D4848; // type:object size:0x8 scope:local data:4byte +macTimeQueueRoot = .sbss:0x801D4850; // type:object size:0x4 scope:local data:4byte +macActiveMacroRoot = .sbss:0x801D4854; // type:object size:0x4 scope:local data:4byte +DebugMacroSteps = .sbss:0x801D4858; // type:object size:0x8 scope:local data:byte +vidFree = .sbss:0x801D4860; // type:object size:0x4 scope:local data:4byte +vidRoot = .sbss:0x801D4864; // type:object size:0x4 scope:local data:4byte +vidCurrentId = .sbss:0x801D4868; // type:object size:0x4 scope:local data:4byte +voicePrioSortRootListRoot = .sbss:0x801D486C; // type:object size:0x2 data:2byte +voiceMusicRunning = .sbss:0x801D486E; // type:object size:0x1 data:byte +voiceFxRunning = .sbss:0x801D486F; // type:object size:0x1 data:byte +voiceListInsert = .sbss:0x801D4870; // type:object size:0x1 data:byte +voiceListRoot = .sbss:0x801D4871; // type:object size:0x1 data:byte +sp = .sbss:0x801D4878; // type:object size:0x2 scope:local data:2byte +dspARAMZeroBuffer = .sbss:0x801D4880; // type:object size:0x4 data:4byte +dspCmdLastLoad = .sbss:0x801D4884; // type:object size:0x4 data:4byte +dspCmdLastBase = .sbss:0x801D4888; // type:object size:0x4 data:4byte +dspCmdLastSize = .sbss:0x801D488C; // type:object size:0x2 data:2byte +dspCmdCurBase = .sbss:0x801D4890; // type:object size:0x4 data:4byte +dspCmdMaxPtr = .sbss:0x801D4894; // type:object size:0x4 data:4byte +dspCmdPtr = .sbss:0x801D4898; // type:object size:0x4 data:4byte +dspCmdFirstSize = .sbss:0x801D489C; // type:object size:0x2 data:2byte +dspCmdList = .sbss:0x801D48A0; // type:object size:0x4 data:4byte +dspHRTFOn = .sbss:0x801D48A4; // type:object size:0x4 data:4byte +dspHrtfHistoryBuffer = .sbss:0x801D48A8; // type:object size:0x4 data:4byte +dspSurround = .sbss:0x801D48AC; // type:object size:0x4 data:4byte +dspITDBuffer = .sbss:0x801D48B0; // type:object size:0x4 data:4byte +dspVoice = .sbss:0x801D48B4; // type:object size:0x4 data:4byte +salMessageCallback = .sbss:0x801D48B8; // type:object size:0x4 data:4byte +runListNum = .sbss:0x801D48C0; // type:object size:0x1 scope:local data:byte +startListNumnum = .sbss:0x801D48C1; // type:object size:0x1 scope:local data:byte +startGroupNum = .sbss:0x801D48C2; // type:object size:0x1 scope:local data:byte +s3dUseLegacyLogic = .sbss:0x801D48C3; // type:object size:0x1 scope:local data:byte +s3dUseMaxVoices = .sbss:0x801D48C4; // type:object size:0x1 scope:local data:byte +snd_max_studios = .sbss:0x801D48C5; // type:object size:0x1 scope:local data:byte +snd_used_studios = .sbss:0x801D48C8; // type:object size:0x4 scope:local data:4byte +s3dDoorRoot = .sbss:0x801D48CC; // type:object size:0x4 scope:local data:4byte +s3dRoomRoot = .sbss:0x801D48D0; // type:object size:0x4 scope:local data:4byte +s3dListenerRoot = .sbss:0x801D48D4; // type:object size:0x4 scope:local data:4byte +s3dEmitterRoot = .sbss:0x801D48D8; // type:object size:0x4 scope:local data:4byte +s3dCallCnt = .sbss:0x801D48DC; // type:object size:0x1 scope:local data:byte +salTimeOffset = .sbss:0x801D48E0; // type:object size:0x1 data:byte +salHooks = .sbss:0x801D48E4; // type:object size:0x8 data:4byte +salMaxStudioNum = .sbss:0x801D48EC; // type:object size:0x1 data:byte +salNumVoices = .sbss:0x801D48ED; // type:object size:0x1 data:byte +salAuxFrame = .sbss:0x801D48EE; // type:object size:0x1 data:byte +salFrame = .sbss:0x801D48EF; // type:object size:0x1 data:byte +aramIdleStreamBuffers = .sbss:0x801D48F0; // type:object size:0x4 scope:local data:4byte +aramFreeStreamBuffers = .sbss:0x801D48F4; // type:object size:0x4 scope:local data:4byte +aramUsedStreamBuffers = .sbss:0x801D48F8; // type:object size:0x4 scope:local data:4byte +aramUploadChunkSize = .sbss:0x801D48FC; // type:object size:0x4 scope:local data:4byte +aramUploadCallback = .sbss:0x801D4900; // type:object size:0x4 scope:local data:4byte +aramStream = .sbss:0x801D4904; // type:object size:0x4 scope:local data:4byte +aramWrite = .sbss:0x801D4908; // type:object size:0x4 scope:local data:4byte +aramTop = .sbss:0x801D490C; // type:object size:0x4 scope:local data:4byte +oldState = .sbss:0x801D4910; // type:object size:0x4 scope:local data:4byte +hwIrqLevel = .sbss:0x801D4914; // type:object size:0x2 scope:local data:2byte +salDspInitIsDone = .sbss:0x801D4918; // type:object size:0x4 scope:local data:4byte +salLastTick = .sbss:0x801D491C; // type:object size:0x4 scope:local data:4byte +salLogicActive = .sbss:0x801D4920; // type:object size:0x4 scope:local data:4byte +salLogicIsWaiting = .sbss:0x801D4924; // type:object size:0x4 scope:local data:4byte +salDspIsDone = .sbss:0x801D4928; // type:object size:0x4 scope:local data:4byte +salAIBufferBase = .sbss:0x801D492C; // type:object size:0x4 scope:local data:4byte +salAIBufferIndex = .sbss:0x801D4930; // type:object size:0x1 scope:local data:byte +userCallback = .sbss:0x801D4934; // type:object size:0x4 scope:local data:4byte +MTRCallback = .sbss:0x801D4938; // type:object size:0x4 scope:local data:4byte +DBGCallback = .sbss:0x801D493C; // type:object size:0x4 scope:local data:4byte +SendMailData = .sbss:0x801D4940; // type:object size:0x4 scope:local data:4byte +RecvDataLeng = .sbss:0x801D4944; // type:object size:0x4 scope:local data:4byte +pEXIInputFlag = .sbss:0x801D4948; // type:object size:0x4 scope:local data:4byte +EXIInputFlag = .sbss:0x801D494C; // type:object size:0x1 scope:local data:byte lbl_801D4960 = .sdata2:0x801D4960; // type:object size:0x8 data:double lbl_801D4968 = .sdata2:0x801D4968; // type:object size:0x4 data:float lbl_801D496C = .sdata2:0x801D496C; // type:object size:0x4 data:float @@ -8519,9 +8545,9 @@ lbl_801D6B40 = .sdata2:0x801D6B40; // type:object size:0x8 data:double lbl_801D6B48 = .sdata2:0x801D6B48; // type:object size:0x4 data:float lbl_801D6B4C = .sdata2:0x801D6B4C; // type:object size:0x4 data:float lbl_801D6B50 = .sdata2:0x801D6B50; // type:object size:0x8 data:double -lbl_801D6B58 = .sdata2:0x801D6B58; // type:object size:0x4 data:float -lbl_801D6B5C = .sdata2:0x801D6B5C; // type:object size:0x4 data:float -lbl_801D6B60 = .sdata2:0x801D6B60; // type:object size:0x8 data:double +value0_3 = .sdata2:0x801D6B58; // type:object size:0x4 scope:local data:float +value0_6 = .sdata2:0x801D6B5C; // type:object size:0x4 scope:local data:float +i2fMagic = .sdata2:0x801D6B60; // type:object size:0x8 scope:local data:double lbl_801D6B68 = .sdata2:0x801D6B68; // type:object size:0x4 data:float lbl_801D6B6C = .sdata2:0x801D6B6C; // type:object size:0x4 data:float lbl_801D6B70 = .sdata2:0x801D6B70; // type:object size:0x4 data:float @@ -8532,13 +8558,12 @@ lbl_801D6B80 = .sdata2:0x801D6B80; // type:object size:0x8 data:double lbl_801D6B88 = .sdata2:0x801D6B88; // type:object size:0x4 data:float lbl_801D6B8C = .sdata2:0x801D6B8C; // type:object size:0x4 data:float lbl_801D6B90 = .sdata2:0x801D6B90; // type:object size:0x8 data:double -lbl_801D6B98 = .sdata2:0x801D6B98; // type:object size:0x8 data:double -lbl_801D6BA0 = .sdata2:0x801D6BA0; // type:object size:0x4 data:float -lbl_801D6BA4 = .sdata2:0x801D6BA4; // type:object size:0x4 data:float +i2fMagic = .sdata2:0x801D6B98; // type:object size:0x8 scope:local data:double +value0_3 = .sdata2:0x801D6BA0; // type:object size:0x4 scope:local data:float +value0_6 = .sdata2:0x801D6BA4; // type:object size:0x4 scope:local data:float lbl_801D6BA8 = .sdata2:0x801D6BA8; // type:object size:0x4 data:float -lbl_801D6BB0 = .sdata2:0x801D6BB0; // type:object size:0x8 data:double -lbl_801D6BB8 = .sdata2:0x801D6BB8; // type:object size:0x4 data:4byte -lbl_801D6BBC = .sdata2:0x801D6BBC; // type:object size:0x4 data:4byte +i2fMagic = .sdata2:0x801D6BB0; // type:object size:0x8 scope:local data:double +lbl_801D6BB8 = .sdata2:0x801D6BB8; // type:object size:0x8 data:4byte lbl_801D6BC0 = .sdata2:0x801D6BC0; // type:object size:0x4 data:float lbl_801D6BC4 = .sdata2:0x801D6BC4; // type:object size:0x4 data:float lbl_801D6BC8 = .sdata2:0x801D6BC8; // type:object size:0x4 data:float diff --git a/configure.py b/configure.py index ccbd95a3..2a5a05e5 100644 --- a/configure.py +++ b/configure.py @@ -150,9 +150,11 @@ cflags_base = [ "-fp_contract on", "-str reuse", "-i include", + "-i extern/musyx/include", f"-i build/{config.version}/include", "-multibyte", f"-DVERSION={version_num}", + "-DMUSY_TARGET=MUSY_TARGET_DOLPHIN", ] # Debug flags @@ -170,6 +172,57 @@ cflags_runtime = [ "-inline auto,deferred", ] +# Metrowerks library flags +cflags_msl = [ + *cflags_base, + "-use_lmw_stmw on", + "-str reuse,pool,readonly", + "-common off", + "-inline auto,deferred", +] + +# Metrowerks library flags +cflags_trk = [ + *cflags_base, + "-use_lmw_stmw on", + "-str reuse,pool,readonly", + "-common off", + "-sdata 0", + "-sdata2 0", + "-inline auto,deferred", +] + +cflags_odemuexi = [ + *cflags_base, + "-inline auto,deferred", +] + +cflags_amcstub = [ + *cflags_base, + "-inline auto,deferred", +] + +cflags_odenotstub = [ + *cflags_base, + "-inline auto,deferred", +] + +cflags_musyx = [ + "-proc gekko", + "-nodefaults", + "-nosyspath", + "-i include", + "-i extern/musyx/include", + "-inline auto", + "-O4,p", + "-fp hard", + "-enum int", + "-Cpp_exceptions off", + "-str reuse,pool,readonly", + "-fp_contract off", + "-DMUSY_TARGET=MUSY_TARGET_DOLPHIN", +] + # REL flags cflags_rel = [ *cflags_base, @@ -190,6 +243,18 @@ cflags_game = [ "-fp_contract off", ] +# Game flags +cflags_libhu = [ + *cflags_base, + "-O0,p", + "-char unsigned", + "-fp_contract off", +] + +# Game flags +cflags_msm = [ + *cflags_base, +] config.linker_version = "GC/2.6" config.rel_strip_partial = False @@ -206,6 +271,21 @@ def DolphinLib(lib_name, objects): "objects": objects, } +def MusyX(objects, mw_version="GC/2.6", debug=False, major=2, minor=0, patch=0): + cflags = cflags_musyx if not debug else cflags_musyx_debug + return { + "lib": "musyx", + "mw_version": mw_version, + "src_dir": "extern/musyx/src", + "host": False, + "cflags": [ + *cflags, + f"-DMUSY_VERSION_MAJOR={major}", + f"-DMUSY_VERSION_MINOR={minor}", + f"-DMUSY_VERSION_PATCH={patch}", + ], + "objects": objects, + } # Helper function for REL script objects def Rel(lib_name, objects): @@ -280,10 +360,10 @@ config.libs = [ Object(Matching, "game/saveload.c"), Object(NonMatching, "game/sreset.c"), Object(NonMatching, "game/board/main.c"), - Object(NonMatching, "game/board/board.c"), + Object(NonMatching, "game/board/player.c"), Object(NonMatching, "game/board/model.c"), Object(NonMatching, "game/board/window.c"), - Object(NonMatching, "game/board/board_snd.c"), + Object(NonMatching, "game/board/speaker.c"), Object(NonMatching, "game/board/com.c"), Object(NonMatching, "game/board/overhead.c"), Object(NonMatching, "game/board/space.c"), @@ -485,9 +565,187 @@ config.libs = [ "cflags": cflags_runtime, "host": False, "objects": [ + Object(NonMatching, "Runtime.PPCEABI.H/__va_arg.c"), Object(Matching, "Runtime.PPCEABI.H/global_destructor_chain.c"), + Object(NonMatching, "Runtime.PPCEABI.H/__mem.c"), + Object(NonMatching, "Runtime.PPCEABI.H/New.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/NewMore.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/NMWException.cp"), Object(Matching, "Runtime.PPCEABI.H/__init_cpp_exceptions.cpp"), Object(NonMatching, "Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp"), + Object(NonMatching, "Runtime.PPCEABI.H/GCN_mem_alloc.c"), + ], + }, + { + "lib": "MSL_C.PPCEABI.bare.H", + "mw_version": config.linker_version, + "cflags": cflags_msl, + "host": False, + "objects": [ + Object(NonMatching, "MSL_C.PPCEABI.bare.H/abort_exit.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/alloc.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/errno.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/ansi_files.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/ansi_fp.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/arith.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/buffer_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/ctype.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/direct_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/file_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/FILE_POS.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/mbstring.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/mem.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/mem_funcs.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/misc_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/printf.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/float.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/signal.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/string.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/uart_console_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/wchar_io.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_acos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_asin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_atan2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_fmod.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_pow.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/e_rem_pio2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_cos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_rem_pio2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_sin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/k_tan.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_atan.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_copysign.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_cos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_floor.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_frexp.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_ldexp.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_modf.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_sin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/s_tan.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_acos.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_asin.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_atan2.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_fmod.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/w_pow.c"), + Object(NonMatching, "MSL_C.PPCEABI.bare.H/math_ppc.c"), + ], + }, + { + "lib": "TRK_MINNOW_DOLPHIN", + "mw_version": config.linker_version, + "cflags": cflags_trk, + "host": False, + "objects": [ + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mainloop.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/nubevent.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/nubinit.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/msg.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/msgbuf.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/serpoll.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/usrput.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/dispatch.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/msghndlr.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/support.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mutex_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/notify.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/flush_cache.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mem_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/targimpl.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/targsupp.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/__exception.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/dolphin_trk.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/main_TRK.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/targcont.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/target_options.c"), + Object(NonMatching, "TRK_MINNOW_DOLPHIN/mslsupp.c"), + ], + }, + MusyX( + objects={ + Object(Matching, "musyx/runtime/seq.c"), + Object(NonMatching, "musyx/runtime/synth.c"), + Object(Matching, "musyx/runtime/seq_api.c"), + Object(Matching, "musyx/runtime/snd_synthapi.c"), + Object(NonMatching, "musyx/runtime/stream.c"), + Object(Matching, "musyx/runtime/synthdata.c"), + Object(NonMatching, "musyx/runtime/synthmacros.c"), + Object(NonMatching, "musyx/runtime/synthvoice.c"), + Object(Matching, "musyx/runtime/synth_ac.c"), + Object(Matching, "musyx/runtime/synth_dbtab.c"), + Object(NonMatching, "musyx/runtime/synth_adsr.c"), + Object(NonMatching, "musyx/runtime/synth_vsamples.c"), + Object(NonMatching, "musyx/runtime/s_data.c"), + Object(NonMatching, "musyx/runtime/hw_dspctrl.c"), + Object(Matching, "musyx/runtime/hw_volconv.c"), + Object(Matching, "musyx/runtime/snd3d.c"), + Object(Matching, "musyx/runtime/snd_init.c"), + Object(NonMatching, "musyx/runtime/snd_math.c"), + Object(NonMatching, "musyx/runtime/snd_midictrl.c"), + Object(NonMatching, "musyx/runtime/snd_service.c"), + Object(Matching, "musyx/runtime/hardware.c"), + Object(Matching, "musyx/runtime/dsp_import.c"), + Object(Matching, "musyx/runtime/hw_aramdma.c"), + Object(Matching, "musyx/runtime/hw_dolphin.c"), + Object(Matching, "musyx/runtime/hw_memory.c"), + Object(Matching, "musyx/runtime/CheapReverb/creverb_fx.c"), + Object(NonMatching, "musyx/runtime/CheapReverb/creverb.c"), + Object(Matching, "musyx/runtime/StdReverb/reverb_fx.c"), + Object(NonMatching, "musyx/runtime/StdReverb/reverb.c"), + Object(Matching, "musyx/runtime/Delay/delay_fx.c"), + Object(Matching, "musyx/runtime/Chorus/chorus_fx.c"), + } + ), + { + "lib": "OdemuExi2", + "mw_version": config.linker_version, + "cflags": cflags_odemuexi, + "host": False, + "objects": [ + Object(NonMatching, "OdemuExi2/DebuggerDriver.c"), + ], + }, + { + "lib": "amcstubs", + "mw_version": config.linker_version, + "cflags": cflags_amcstub, + "host": False, + "objects": [ + Object(NonMatching, "amcstubs/AmcExi2Stubs.c"), + ], + }, + { + "lib": "odenotstub", + "mw_version": config.linker_version, + "cflags": cflags_odenotstub, + "host": False, + "objects": [ + Object(NonMatching, "odenotstub/odenotstub.c"), + ], + }, + { + "lib": "libhu", + "mw_version": config.linker_version, + "cflags": cflags_libhu, + "host": False, + "objects": [ + Object(NonMatching, "libhu/setvf.c"), + Object(NonMatching, "libhu/subvf.c"), + ], + }, + { + "lib": "msm", + "mw_version": "GC/1.2.5n", + "cflags": cflags_msm, + "host": False, + "objects": [ + Object(NonMatching, "msm/msmsys.c"), + Object(NonMatching, "msm/msmmem.c"), + Object(Matching, "msm/msmfio.c"), + Object(NonMatching, "msm/msmmus.c"), + Object(NonMatching, "msm/msmse.c"), + Object(NonMatching, "msm/msmstream.c"), ], }, { @@ -500,50 +758,177 @@ config.libs = [ Object(Matching, "REL/empty.c"), # Must be marked as matching ], }, - { - "lib": "_minigameDLL", - "mw_version": config.linker_version, - "cflags": cflags_rel, - "host": False, - "objects": [ + Rel('_minigameDLL', + objects = { Object(Matching, "REL/executor.c"), Object(Matching, "REL/_minigameDLL/_minigameDLL.c"), - ], - }, - { - "lib": "bootDll", - "mw_version": config.linker_version, - "cflags": cflags_rel, - "host": False, - "objects": [ + } + ), + Rel('bootDll', + objects = { Object(Matching, "REL/executor.c"), Object(NonMatching, "REL/bootDll/bootDll.c"), Object(Matching, "REL/bootDll/nintendo_data.c"), - ], - }, - { - "lib": "subchrselDll", - "mw_version": config.linker_version, - "cflags": cflags_rel, - "host": False, - "objects": [ + } + ), + Rel('E3setupDLL', + objects = { + Object(NonMatching, "REL/E3setupDLL/mgselect.c"), Object(Matching, "REL/executor.c"), - Object(Matching, "REL/subchrselDll/subchrselDll.c"), - ], - }, - { - "lib": "w10Dll", - "mw_version": config.linker_version, - "cflags": cflags_rel, - "host": False, - "objects": [ - Object(Matching, "REL/w10Dll/w10Dll_init.c"), - Object(Matching, "REL/w10Dll/w10Dll.c"), - Object(Matching, "REL/w10Dll/w10Dll2.c"), - Object(Matching, "REL/w10Dll/w10Dll3.c"), - Object(Matching, "REL/w10Dll/w10Dll4.c"), - ], - }, + Object(NonMatching, "REL/E3setupDLL/main.c"), + } + ), + Rel('instDll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/instDll/main.c"), + Object(NonMatching, "REL/instDll/font.c"), + } + ), + Rel('m401Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m401Dll/main.c"), + Object(NonMatching, "REL/m401Dll/main_ex.c"), + } + ), + Rel('m402Dll', + objects = { + Object(NonMatching, "REL/m402Dll/main.c"), + } + ), + Rel('m403Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m403Dll/main.c"), + Object(NonMatching, "REL/m403Dll/scene.c"), + } + ), + Rel('m404Dll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/m404Dll/main.c"), + } + ), + Rel('mentDll', + objects = { + Object(NonMatching, "REL/mentDll/common.c"), + Object(NonMatching, "REL/mentDll/main.c"), + } + ), + Rel('mgmodedll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/mgmodedll/mgmode.c"), + Object(NonMatching, "REL/mgmodedll/free_play.c"), + Object(NonMatching, "REL/mgmodedll/record.c"), + Object(NonMatching, "REL/mgmodedll/battle.c"), + Object(NonMatching, "REL/mgmodedll/tictactoe.c"), + Object(NonMatching, "REL/mgmodedll/main.c"), + Object(NonMatching, "REL/mgmodedll/datalist.c"), + Object(NonMatching, "REL/mgmodedll/minigame.c"), + } + ), + Rel('modeseldll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/modeseldll/main.c"), + Object(NonMatching, "REL/modeseldll/modesel.c"), + Object(NonMatching, "REL/modeseldll/filesel.c"), + Object(NonMatching, "REL/modeseldll/datalist.c"), + } + ), + Rel('mpexDll', + objects = { + Object(NonMatching, "REL/mpexDll/main.c"), + Object(NonMatching, "REL/mpexDll/mpex.c"), + Object(NonMatching, "REL/mpexDll/charsel.c"), + Object(NonMatching, "REL/mpexDll/mgname.c"), + } + ), + Rel('option', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/option/scene.c"), + Object(NonMatching, "REL/option/camera.c"), + Object(NonMatching, "REL/option/room.c"), + Object(NonMatching, "REL/option/guide.c"), + Object(NonMatching, "REL/option/state.c"), + Object(NonMatching, "REL/option/rumble.c"), + Object(NonMatching, "REL/option/sound.c"), + Object(NonMatching, "REL/option/record.c"), + Object(NonMatching, "REL/option/window.c"), + } + ), + Rel('present', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/present/init.c"), + Object(NonMatching, "REL/present/camera.c"), + Object(NonMatching, "REL/present/present.c"), + Object(NonMatching, "REL/present/main.c"), + Object(NonMatching, "REL/present/common.c"), + } + ), + Rel('selmenuDll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/selmenuDll/selmenuDll.c"), + } + ), + Rel('staffDll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/staffDll/staffDll.c"), + } + ), + Rel('subchrselDll', + objects = { + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/subchrselDll/subchrselDll.c"), + } + ), + Rel('w01Dll', + objects = { + Object(Matching, "REL/board_executor.c"), + Object(NonMatching, "REL/w01Dll/main.c"), + Object(NonMatching, "REL/w01Dll/mg_coin.c"), + Object(NonMatching, "REL/w01Dll/mg_item.c"), + } + ), + Rel('w02Dll', + objects = { + Object(Matching, "REL/board_executor.c"), + Object(NonMatching, "REL/w02Dll/main.c"), + Object(NonMatching, "REL/w02Dll/dice.c"), + Object(NonMatching, "REL/w02Dll/gamble.c"), + Object(NonMatching, "REL/w02Dll/mg_coin.c"), + Object(NonMatching, "REL/w02Dll/mg_item.c"), + Object(NonMatching, "REL/w02Dll/shuffleboard.c"), + Object(NonMatching, "REL/w02Dll/roulette.c"), + } + ), + Rel('w03Dll', + objects = { + Object(Matching, "REL/board_executor.c"), + Object(NonMatching, "REL/w03Dll/main.c"), + Object(NonMatching, "REL/w03Dll/statue.c"), + Object(NonMatching, "REL/w03Dll/condor.c"), + Object(NonMatching, "REL/w03Dll/river.c"), + Object(NonMatching, "REL/w03Dll/smoke.c"), + Object(NonMatching, "REL/w03Dll/mg_coin.c"), + Object(NonMatching, "REL/w03Dll/mg_item.c"), + } + ), + Rel('w10Dll', + objects = { + Object(Matching, "REL/board_executor.c"), + Object(Matching, "REL/w10Dll/main.c"), + Object(Matching, "REL/w10Dll/host.c"), + Object(Matching, "REL/w10Dll/scene.c"), + Object(Matching, "REL/w10Dll/tutorial.c"), + } + ), ] if args.mode == "configure": diff --git a/extern/musyx b/extern/musyx new file mode 160000 index 00000000..ddfad60c --- /dev/null +++ b/extern/musyx @@ -0,0 +1 @@ +Subproject commit ddfad60c3e4fede55479c744a1c70081e0d6cd12 diff --git a/include/REL/board_executor.h b/include/REL/board_executor.h new file mode 100644 index 00000000..cc128176 --- /dev/null +++ b/include/REL/board_executor.h @@ -0,0 +1,24 @@ +#ifndef REL_BOARD_EXECUTOR_H +#define REL_BOARD_EXECUTOR_H + +#ifdef __cplusplus +extern "C" { +#endif + +extern int _prolog(); +extern void _epilog(); + +typedef void (*VoidFunc)(void); +extern const VoidFunc _ctors[]; +extern const VoidFunc _dtors[]; + +extern void BoardCommonInit(VoidFunc init, VoidFunc destroy); + +extern void BoardInit(void); +extern void BoardDestroy(void); + +#ifdef __cplusplus +} +#endif + +#endif /* REL_BOARD_EXECUTOR_H */ diff --git a/include/REL/w10Dll.h b/include/REL/w10Dll.h index 7026bc04..37d0b59e 100644 --- a/include/REL/w10Dll.h +++ b/include/REL/w10Dll.h @@ -47,7 +47,7 @@ typedef struct w10DllUnk04 { extern s16 lbl_1_bss_20; extern s16 lbl_1_bss_22[]; extern s16 lbl_1_bss_20; -extern s32 lbl_801A52E8; +extern s32 boardTutorialData; void fn_1_C10(s16); void fn_1_1FB0(void); diff --git a/include/common_structs.h b/include/common_structs.h index 190e7251..50fe5290 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -16,8 +16,8 @@ typedef struct system_state { /* 0x00 */ struct { u8 story : 1; u8 team : 1; - u8 : 7; }; +/* 0x01 */ s8 diff_story; /* 0x02 */ struct { u16 bonus_star : 1; u16 explain_mg : 1; @@ -62,8 +62,8 @@ typedef struct player_state { u8 team : 1; u8 field02_bit1 : 1; u8 player_idx : 2; - u8 field02_bit4 : 5; }; +/* 0x03 */ s8 handicap; /* 0x04 */ s8 port; /* 0x05 */ s8 items[3]; /* 0x08 */ struct { @@ -80,7 +80,7 @@ typedef struct player_state { /* 0x0C */ s16 space_curr; /* 0x0E */ s16 space_prev; /* 0x10 */ s16 space_next; -/* 0x12 */ s16 unk_12; +/* 0x12 */ s16 space_shock; /* 0x14 */ u8 blue_count; /* 0x15 */ u8 red_count; /* 0x16 */ u8 question_count; diff --git a/include/dolphin/dvd.h b/include/dolphin/dvd.h index 38c62254..cc6e1fa9 100644 --- a/include/dolphin/dvd.h +++ b/include/dolphin/dvd.h @@ -118,7 +118,10 @@ s32 DVDConvertPathToEntrynum(char* pathPtr); BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, DVDCallback callback, s32 prio); - + +BOOL DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 prio); + + #define DVDReadAsync(fileInfo, addr, length, offset, callback) \ DVDReadAsyncPrio((fileInfo), (addr), (length), (offset), (callback), 2) #define DVDRead(fileInfo, addr, length, offset) \ diff --git a/include/dolphin/os/OSFastCast.h b/include/dolphin/os/OSFastCast.h index 5022cbb4..d1ea7f4e 100644 --- a/include/dolphin/os/OSFastCast.h +++ b/include/dolphin/os/OSFastCast.h @@ -60,9 +60,9 @@ static inline void OSf32tos16(f32 *f, s16 *out) { *out = __OSf32tos16(*f); } static inline u8 __OSf32tou8(register f32 inF) { - register u8 out; u32 tmp; register u32 *tmpPtr = &tmp; + register u8 out; // clang-format off asm { psq_st inF, 0(tmpPtr), 0x1, OS_FASTCAST_U8 diff --git a/include/float.h b/include/float.h new file mode 100644 index 00000000..2df8e712 --- /dev/null +++ b/include/float.h @@ -0,0 +1,18 @@ +#ifndef _FLOAT_H_ +#define _FLOAT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define FLT_MAX 3.402823466e+38f +#define FLT_EPSILON 1.192092896e-07f +#define FLT_MIN 1.175494351e-38f + +#define DBL_EPSILON 1.1920929e-07 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index 264e3222..685d9e38 100644 --- a/include/functions.h +++ b/include/functions.h @@ -60,18 +60,18 @@ void fn_800884F4(s32); void fn_800A4C88(void); void fn_800A6B10(void); void fn_8008853C(s32); -void fn_800B42B4(s32); +void BoardTutorialItemSet(s32); void fn_80082AAC(s32); -void fn_800B4264(s32, s32, s32); +void BoardTutorialDirInputSet(s32, s32, s32); void BoardSpaceStarSetIndex(s32); void BoardModelRotYSet(s32, f32); f32 BoardModelRotYGet(s32); void BoardModelLayerSet(s16, s32); -void fn_800B42BC(s16); +void BoardTutorialHostSet(s16); s32 BoardModelIDGet(s16); -void BoardInit(void*, void*); +void BoardCommonInit(void*, void*); void BoardModelScaleSetV(s32, Vec*); -void fn_8005D10C(void*, void*); +void BoardLightHookSet(void*, void*); s16 BoardModelCreate(s32, void*, s32); void BoardModelKill(s16); void fn_8006DDE8(s16, f32); @@ -91,8 +91,8 @@ void fn_80077AAC(s16); void fn_8007A83C(s16); void fn_80083EDC(s16); void fn_800A4F6C(s16); -void fn_800B3FD8(void*); -void fn_800B4274(s32, s32); +void BoardTutorialHookSet(void*); +void BoardTutorialBlockSetPos(s32, s32); void BoardCameraRotGet(Vec*); void BoardModelScaleSet(s16, f32, f32, f32); s32 BoardIsKill(void); diff --git a/include/game/gamework.h b/include/game/gamework.h index 9cdb46b1..2eb7753b 100644 --- a/include/game/gamework.h +++ b/include/game/gamework.h @@ -4,34 +4,34 @@ #include "dolphin.h" void GWInit(void); -void GWResetGameStat(void); -s16 GWGetMessSpeed(void); -void GWSetMGRecord(int index, s32 value); -s32 GWGetMGRecord(int index); -void GWGetCharColor(int character, GXColor *color); -void GWSetBoardPlayCount(int board, u8 value); -void GWAddBoardPlayCount(int board, u8 value); -u8 GWGetBoardPlayCount(int board); -void GWSetBoardMaxStars(int board, int value); -u16 GWGetBoardMaxStars(int board); -void GWSetBoardMaxCoins(int board, int value); -u16 GWGetBoardMaxCoins(int board); -int GWIncBoardWinCount(int character, int board); -int GWGetBoardWinCount(int character, int board); -void GWSetBoardWinCount(int character, int board, int value); -int GWGetMGAvail(int id); -int GWSetMGAvail(int id); -int GWGetMGCustom(int id); -int GWSetMGCustom(int id); -int GWResetMGCustom(int id); -s16 GWGetCoins(int player); -void GWSetCoins(int player, s16 value); -void GWAddCoins(int player, s16 amount); -void GWSetStars(int player, s16 value); -void GWAddStars(int player, s16 amount); -s16 GWGetStars(int player); -void GWSetTotalStars(s16 value); -void GWAddTotalStars(s16 amount); -u16 GWGetTotalStars(void); +void GWGameStatReset(void); +s16 GWMessSpeedGet(void); +void GWMGRecordSet(int index, s32 value); +s32 GWMGRecordGet(int index); +void GWCharColorGet(int character, GXColor *color); +void GWBoardPlayCountSet(int board, u8 value); +void GWBoardPlayCountAdd(int board, u8 value); +u8 GWBoardPlayCountGet(int board); +void GWBoardMaxStarsSet(int board, int value); +u16 GWBoardMaxStarsGet(int board); +void GWBoardMaxCoinsSet(int board, int value); +u16 GWBoardMaxCoinsGet(int board); +int GWBoardWinCountInc(int character, int board); +int GWBoardWinCountGet(int character, int board); +void GWBoardWinCountSet(int character, int board, int value); +int GWMGAvailGet(int id); +int GWMGAvailSet(int id); +int GWMGCustomGet(int id); +int GWMGCustomSet(int id); +int GWMGCustomReset(int id); +s16 GWCoinsGet(int player); +void GWCoinsSet(int player, s16 value); +void GWCoinsAdd(int player, s16 amount); +void GWStarsSet(int player, s16 value); +void GWStarsAdd(int player, s16 amount); +s16 GWStarsGet(int player); +void GWTotalStarsSet(s16 value); +void GWTotalStarsAdd(s16 amount); +u16 GWTotalStarsGet(void); #endif \ No newline at end of file diff --git a/include/game/object.h b/include/game/object.h index 135cdfc2..e7f84b7e 100644 --- a/include/game/object.h +++ b/include/game/object.h @@ -31,25 +31,25 @@ typedef struct om_ovl_his_data { } omOvlHisData; typedef struct om_obj_data { - u16 stat; - s16 next_idx_alloc; - s16 prio; - s16 prev; - s16 next; - s16 next_idx; - s16 group; - u16 group_idx; - int unk10; - omObjFunc func; - Vec trans; - Vec rot; - Vec scale; - u16 mdlcnt; - s16 *model; - u16 mtncnt; - s16 *motion; - int work[4]; - void *data; +/* 0x00 */ u16 stat; +/* 0x02 */ s16 next_idx_alloc; +/* 0x04 */ s16 prio; +/* 0x06 */ s16 prev; +/* 0x08 */ s16 next; +/* 0x0A */ s16 next_idx; +/* 0x0C */ s16 group; +/* 0x0E */ u16 group_idx; +/* 0x10 */ int unk10; +/* 0x14 */ omObjFunc func; +/* 0x18 */ Vec trans; +/* 0x24 */ Vec rot; +/* 0x30 */ Vec scale; +/* 0x3C */ u16 mdlcnt; +/* 0x40 */ s16 *model; +/* 0x44 */ u16 mtncnt; +/* 0x48 */ s16 *motion; +/* 0x4C */ int work[4]; +/* 0x5C */ void *data; } omObjData; void omMasterInit(int prio, FileListEntry *ovl_list, int ovl_count, OverlayID start_ovl); diff --git a/include/math.h b/include/math.h index 588a248e..8643d415 100644 --- a/include/math.h +++ b/include/math.h @@ -3,6 +3,10 @@ #define M_PI 3.141592653589793 +#ifndef _MATH_INLINE +#define _MATH_INLINE static inline +#endif + #ifdef MATH_EXPORT_CONST extern inline float sqrtf(float x) { @@ -36,6 +40,7 @@ extern inline float sqrtf(float x) return x; } #endif + double atan(double x); double copysign(double x, double y); double cos(double x); @@ -58,4 +63,14 @@ float acosf(float x); #define abs(x) __abs(x) +_MATH_INLINE float fabsf(float x) { return (float)fabs((double)x); } +_MATH_INLINE float sinf(float x) { return (float)sin((double)x); } +_MATH_INLINE float cosf(float x) { return (float)cos((double)x); } +_MATH_INLINE float atan2f(float y, float x) { return (float)atan2((double)y, (double)x); } +_MATH_INLINE float fmodf(float x, float m) { return (float)fmod((double)x, (double)m); } + +_MATH_INLINE float floorf(float x) { return floor(x); } + +_MATH_INLINE float powf(float __x, float __y) { return pow(__x, __y); } + #endif diff --git a/include/stddef.h b/include/stddef.h new file mode 100644 index 00000000..5a133946 --- /dev/null +++ b/include/stddef.h @@ -0,0 +1,23 @@ +#ifndef _STDDEF_H_ +#define _STDDEF_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define offsetof(type, member) ((size_t) & (((type*)0)->member)) + +/* These break 1.2.5 */ +//typedef __typeof__(sizeof(0)) size_t; +//typedef __typeof__((char*)0 - (char*)0) ptrdiff_t; +typedef unsigned long size_t; +typedef long ptrdiff_t; +#ifndef NULL +#define NULL 0L +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/include/stdint.h b/include/stdint.h new file mode 100644 index 00000000..5219be07 --- /dev/null +++ b/include/stdint.h @@ -0,0 +1,14 @@ +#ifndef _STDINT_H_ +#define _STDINT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef unsigned long int uintptr_t; + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll_init.c b/src/REL/board_executor.c similarity index 69% rename from src/REL/w10Dll/w10Dll_init.c rename to src/REL/board_executor.c index 558cb29c..814097fc 100644 --- a/src/REL/w10Dll/w10Dll_init.c +++ b/src/REL/board_executor.c @@ -1,7 +1,7 @@ -#include "include/REL/w10Dll.h" +#include "REL/board_executor.h" -void fn_1_0(void) { - BoardInit(&fn_1_E0, &fn_1_6D8); +static void InitBoard(void) { + BoardCommonInit(BoardInit, BoardDestroy); } int _prolog(void) { @@ -10,7 +10,7 @@ int _prolog(void) { (**ctors)(); ctors++; } - fn_1_0(); + InitBoard(); return 0; } diff --git a/src/REL/bootDll/bootDll.c b/src/REL/bootDll/bootDll.c index 699a613d..237f2d75 100644 --- a/src/REL/bootDll/bootDll.c +++ b/src/REL/bootDll/bootDll.c @@ -108,7 +108,7 @@ static void BootProc(void) WipeColorSet(255, 255, 255); if(!SystemInitF) { tick_prev = OSGetTick(); - fn_800498F0(); + CharManInit(); HuWindowInit(); MGSeqInit(); HuWinInit(1); diff --git a/src/REL/subchrselDll/subchrselDll.c b/src/REL/subchrselDll/subchrselDll.c index bf25b9c5..82ebe51f 100644 --- a/src/REL/subchrselDll/subchrselDll.c +++ b/src/REL/subchrselDll/subchrselDll.c @@ -8,16 +8,16 @@ static void SubchrMain(void); -static u8 cur_direction[4]; +static u8 dirPlayer[4]; -static char *player_numstr[4] = { +static char *playerNumTbl[4] = { "PLAYER1", "PLAYER2", "PLAYER3", "PLAYER4" }; -static char *character_str[8] = { +static char *charNameTbl[8] = { "MARIO", "LUIGI", "PEACH", @@ -28,7 +28,7 @@ static char *character_str[8] = { "WALUIGI" }; -static char *ext_character_str[7] = { +static char *extCharNameTbl[7] = { "", "KOOPA", "KINOPIO", @@ -51,7 +51,7 @@ static u16 GetBtns(void) u16 btns; btns = HuPadBtnDown[0]; - if (cur_direction[0] != HuPadDStk[0]) { + if (dirPlayer[0] != HuPadDStk[0]) { btns |= HuPadDStk[0]; } return btns; @@ -65,7 +65,7 @@ static void SubchrMain() for(i=0; i<4; i++) { character[i] = GWPlayerCfg[i].character; ext_character[i] = 0; - cur_direction[i] = 0; + dirPlayer[i] = 0; } cursor_pos = 0; while(1) { @@ -77,16 +77,16 @@ static void SubchrMain() y = 120; for(i=0; i<4; i++, y += 16) { fontcolor = FONT_COLOR_GREEN; - print8(x, y, 2.0f, player_numstr[i]); + print8(x, y, 2.0f, playerNumTbl[i]); if(i == cursor_pos) { fontcolor = FONT_COLOR_CYAN; } else { fontcolor = FONT_COLOR_GREEN; } if(ext_character[i] != 0) { - print8(x+200, y, 2.0f, ext_character_str[ext_character[i]]); + print8(x+200, y, 2.0f, extCharNameTbl[ext_character[i]]); } else { - print8(x+200, y, 2.0f, character_str[character[i]]); + print8(x+200, y, 2.0f, charNameTbl[character[i]]); } } if(GetBtns() & PAD_BUTTON_START) { @@ -156,8 +156,8 @@ static void SubchrMain() HuPrcVSleep(); } while(1); } else { - if(cur_direction[0] != HuPadDStk[0]) { - cur_direction[0] = HuPadDStk[0]; + if(dirPlayer[0] != HuPadDStk[0]) { + dirPlayer[0] = HuPadDStk[0]; } } } diff --git a/src/REL/w03Dll/file0.c b/src/REL/w03Dll/file0.c new file mode 100644 index 00000000..1558b9d2 --- /dev/null +++ b/src/REL/w03Dll/file0.c @@ -0,0 +1,457 @@ +#include "common.h" +#include "dolphin.h" +#include "REL/executor.h" +#include "game/process.h" +#include "game/data.h" + +void fn_8005B150(void*, void*); +void fn_1_740(void); +void fn_1_E0(void); +typedef void (*VoidFunc)(void); +extern const VoidFunc _ctors[]; +extern const VoidFunc _dtors[]; + +typedef struct w03StructUnk0 { +/* 0x00 */ Vec unk_00; +/* 0x0C */ Vec unk_0C; +/* 0x18 */ Vec unk_18; +/* 0x24 */ s32 datanum; +} w03StructUnk0; + +typedef struct w03State { + s8 unk0; + u8 unk1; + u8 unk2; + s8 unk3; + u16 unk4; + u16 unk6; + s16 unk8; +} w03State; + +//DATA +w03StructUnk0 lbl_1_data_0[] = { +{{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0004)}, +{{145.099f, 65.6173f, -2004.14f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0005)}, +{{-2004.14f, -1148.76f, -1095.54f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0006)}, +{{1050.0f, 50.0f, -1810.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000B)}, +{{-1950.0f, 50.0f, 1790.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 0.914f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000B)}, +{{1050.0f, 0.0f, -1750.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000A)}, +{{-1950.0f, 0.0f, 1850.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 0.914f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x000A)}, +{{1950.0f, 0.0f, -1800.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0010)}, +{{-3150.0f, 0.0f, -600.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0011)}, +{{-3150.0f, 270.0f, -600.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0077, 0x0012)}, +{{2080.0f, 0.0f, -1635.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0002, 0x000D)}, +{{-3000.0f, 0.0f, -500.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, MAKE_DATA_NUM(0x0002, 0x000D)}, +}; + +s16 lbl_1_data_1E0 = 1; +s16 lbl_1_data_1E2 = 1; +s16 lbl_1_data_1E4 = 1; +s16 lbl_1_data_1E6 = 1; +s16 lbl_1_data_1E8 = 1; + +typedef struct w03StructUnk1 { + f32 unk_00; + f32 unk_04; + f32 unk_08; + f32 unk_0C; + f32 unk_10; + f32 unk_14; + f32 unk_18; + f32 unk_1C; +} w03StructUnk1; + +w03StructUnk1 lbl_1_data_1EC = { + 0.0f, 118.0f, 120.0f, 180.0f, 180.0f, 240.0f, 240.0f, 300.0f +}; + +s32 lbl_1_data_20C = { + MAKE_DATA_NUM(0x0077, 0x001C), + DATA_NUM_LISTEND +}; + +s32 lbl_1_data_214 = { + MAKE_DATA_NUM(0x0002, 0x000E), + DATA_NUM_LISTEND +}; + +s32 lbl_1_data_21C[] = { + -1, -1, -1, -1 +}; + +Vec lbl_1_data_22C[] = { + {3900.0f, 0.0f, 2100.0f}, + {3900.0f, 0.0f, 3600.0f}, + {2700.0f, 0.0f, 5400.0f}, + {2700.0f, 0.0f, 6300.0f}, +}; + +s32 lbl_1_data_25C[] = { + 0x0000044B, 0x00000439, 0x00000439, 0x0000044D +}; + +s32 lbl_1_data_26C[] = { + 0x0000044C, 0x0000043A, 0x0000043A, 0x0000044E +}; + +//BSS +w03State* lbl_1_bss_0; + +void fn_1_CF4(void); + +void fn_1_0(void) { + fn_8005B150(&fn_1_E0, &fn_1_740); +} + +int _prolog(void) { + const VoidFunc* ctors = _ctors; + while (*ctors != 0) { + (**ctors)(); + ctors++; + } + fn_8005B150(&fn_1_E0, &fn_1_740); + return 0; +} + +void _epilog(void) { + const VoidFunc* dtors = _dtors; + while (*dtors != 0) { + (**dtors)(); + dtors++; + } +} + +void fn_1_E0(void) { + Vec* var_r29; + f32 var_f30; + f32 var_f31; + s32 var_r31; + s32 var_r31_2; + w03StructUnk0* temp_r30; + s32 i; + + lbl_1_bss_0 = (w03State*)&GWSystem.board_data; + lbl_1_bss_0->unk3 = 0; + fn_800772EC(0x770000); + lbl_1_data_1E0 = fn_8006D9A4(0x770001, NULL, 0); + fn_8006DDE8(lbl_1_data_1E0, -1.0f); + fn_8006F1A8(lbl_1_data_1E0, 0.0f, 0.0f, 0.0f); + fn_8006E2B8(lbl_1_data_1E0, 0, 0x40000001); + lbl_1_data_1E8 = fn_8006D9A4(0x770003, NULL, 0); + fn_8006DDE8(lbl_1_data_1E8, -1.0f); + fn_8006F1A8(lbl_1_data_1E8, 0.0f, 0.0f, 0.0f); + fn_8006F61C(lbl_1_data_1E8, 2); + lbl_1_data_1E2 = fn_8006D9A4(0x770002, NULL, 0); + fn_8006DDE8(lbl_1_data_1E2, -1.0f); + fn_8006F1A8(lbl_1_data_1E2, 0.0f, 0.0f, 0.0f); + fn_8006E2B8(lbl_1_data_1E2, 0, 0x40000001); + lbl_1_data_1E4 = fn_8006D9A4(0x77001B, &lbl_1_data_20C, 0); + fn_8006F1A8(lbl_1_data_1E4, 0.0f, 0.0f, 0.0f); + fn_8006E2B8(lbl_1_data_1E4, 1, 0x40000001); + lbl_1_data_1E6 = fn_8006D9A4(0x2000D, &lbl_1_data_214, 0); + fn_8006F1A8(lbl_1_data_1E6, 0.0f, 0.0f, 0.0f); + fn_8006E2B8(lbl_1_data_1E6, 1, 0x40000001); + + for (i = 0; i < 0xC; i++) { + temp_r30 = &lbl_1_data_0[i]; + if (temp_r30->datanum != -1) { + if ((i == 10) || (i == 11)) { + var_r29 = &lbl_1_data_214; + } else { + var_r29 = NULL; + } + lbl_1_bss_C[i]= fn_8006D9A4(temp_r30->datanum, var_r29, 0); + fn_8006F158(lbl_1_bss_C[i], temp_r30); + fn_8006F220(lbl_1_bss_C[i], &temp_r30->unk_0C); + fn_8006F2E8(lbl_1_bss_C[i], &temp_r30->unk_18); + fn_8006F50C(lbl_1_bss_C[i], 1); + } + } + fn_8006E2B8(lbl_1_bss_C[10], 1, 0x40000001); + fn_8006E2B8(lbl_1_bss_C[11], 1, 0x40000001); + fn_8006E2B8(lbl_1_bss_C[7], 0, 0x40000002); + fn_8006E2B8(lbl_1_bss_C[9], 0, 0x40000002); + fn_8006E2B8(lbl_1_bss_C[1], 0, 0x40000002); + fn_1_3058(); + fn_1_6494(); + fn_1_7ABC(); + fn_1_9A7C(); + fn_8005D10C(&fn_1_884, &fn_1_8F0); + fn_80073FF4(&fn_1_910); + fn_80073FFC(&fn_1_A74); + fn_80074004(&fn_1_AF8); + fn_80083EDC(lbl_1_data_1E4); + fn_800A4F6C(lbl_1_data_1E6); + fn_8007A83C(lbl_1_data_1E6); + fn_80077AAC(lbl_1_data_1E6); + fn_80064D84(0x0000C000); + fn_80064D84(0x3000); + fn_1_CF4(); + fn_8006E2B8(lbl_1_bss_C[0], 0, 0x40000001); + if (lbl_1_bss_0->unk0 != 0) { + var_f30 = lbl_1_data_1EC.unk_10; + var_f31 = lbl_1_data_1EC.unk_14; + fn_1_63F4(0); + } else { + var_f30 = lbl_1_data_1EC.unk_00; + var_f31 = lbl_1_data_1EC.unk_04; + fn_1_63F4(1); + } + fn_8006E0B0(lbl_1_bss_C[0], var_f30, var_f31); + fn_8006E2B8(lbl_1_bss_C[2], 0, 0x40000001); + fn_8006E0B0(lbl_1_bss_C[2], 1, 0x64); + fn_1_785C(); + if (lbl_1_bss_0->unk2 != 0) { + for (i = 0; i < 4; i++) { + if ((lbl_1_bss_0->unk2 & (1 << i)) != 0) { + fn_80064338(i, &fn_1_2930); + break; + } + } + } + fn_1_DEC(); +} + +void fn_1_740(void) { + s32 i; + + fn_1_10B0(); + fn_1_9A9C(); + fn_1_7B58(); + for (i = 0; i < 0x0C; i++) { + fn_8006DB90(lbl_1_bss_C[i]); + lbl_1_bss_C[i] = -1; + } + if (lbl_1_data_1E6 != -1) { + fn_8006DB90(lbl_1_data_1E6); + lbl_1_data_1E6 = -1; + } + if (lbl_1_data_1E4 != -1) { + fn_8006DB90(lbl_1_data_1E4); + lbl_1_data_1E4 = -1; + } + if (lbl_1_data_1E0 != -1) { + fn_8006DB90(lbl_1_data_1E0); + lbl_1_data_1E0 = -1; + } + if (lbl_1_data_1E2 != -1) { + fn_8006DB90(lbl_1_data_1E2); + lbl_1_data_1E2 = -1; + } +} + +extern f32 lbl_1_rodata_18; +extern f32 lbl_1_rodata_1C; + +void fn_1_884(void) { + s32 var = fn_8006DBD4(lbl_1_data_1E0); + Hu3DModelLightInfoSet(var, 1); + Hu3DFogSet(lbl_1_rodata_18, lbl_1_rodata_1C, 0xE4U, 0xF0U, 0xFFU); +} + +void fn_1_8F0(void) { + Hu3DFogClear(); +} + +s32 fn_1_910(void) { + u32 temp_r3; + s32 cur_player_index; + s32 unkC; + + cur_player_index = GWSystem.player_curr; + unkC = GWPlayer[cur_player_index].unkC; + temp_r3 = fn_80074138(0, unkC); + if (temp_r3 & 0xC000) { + if ((fn_8006413C(cur_player_index) == 2) || ((u8) (( GWPlayer[cur_player_index].placement >> 4U) & 1))) { + return 0; + } + if (temp_r3 & 0x4000) { + if (lbl_1_bss_0->unk1 == 0) { + return 0; + } + } + else if (temp_r3 & 0x8000 && lbl_1_bss_0->unk1 != 0) { + return 0; + } + + return fn_1_309C(); + } + if (temp_r3 & 0x200) { + if ((fn_8006413C(cur_player_index) == 2) || ((u8) ((GWPlayer[cur_player_index].placement >> 4U) & 1) != 0)) { + return 0; + } + return fn_1_675C(); + } + return 0; +} + +void fn_1_A74(void) { + s16 temp = GWPlayer[GWSystem.player_curr].unkC; + u32 var = fn_80074138(0, temp) & 0x600000; + if (var + -0x200000 == 0) { + fn_1_7BA8(); + return; + } + if (var + -0x400000 == 0) { + fn_1_9AA0(); + } +} + +void fn_1_AF8(void) { + if ((fn_8006413C(GWSystem.player_curr) == 0) && (fn_1_12C8() != 0) && (lbl_1_bss_0->unk2 != 0)) { + fn_80064D84(0xC00); + } +} +void fn_1_B5C(s32 arg0) { + f32 var_f31; + f32 var_f30; + f32 var_f29; + f32 var_f28; + f32 temp; + + if (arg0 != 0) { + var_f30 = lbl_1_data_1EC.unk_08; + var_f29 = lbl_1_data_1EC.unk_0C; + var_f31 = lbl_1_data_1EC.unk_10; + var_f28 = lbl_1_data_1EC.unk_14; + fn_1_63F4(0); + } else { + var_f30 = lbl_1_data_1EC.unk_18; + var_f29 = lbl_1_data_1EC.unk_1C; + var_f31 = lbl_1_data_1EC.unk_00; + var_f28 = lbl_1_data_1EC.unk_04; + fn_1_63F4(1); + } + fn_8006E2B8(lbl_1_bss_C[0], 0, 0); + fn_8006E674(lbl_1_bss_C[0], var_f30); + while (1) { + temp = fn_8006E6F8(lbl_1_bss_C[0]); + if (temp >= var_f29) { + break; + } + HuPrcVSleep(); + } + fn_8006E5C4(lbl_1_bss_C[0], 0x40000001); + fn_8006E674(lbl_1_bss_C[0], var_f31); + fn_8006E0B0(lbl_1_bss_C[0], (s32) var_f31, (s32) var_f28); +} + +void fn_1_CF4(void) { + s16 var; + s32 i, j; + spaceData* temp_r28; + spaceData* temp_r31; + + for (i = 0; i < fn_800740B4(0); i++) { + var = i + 1; + temp_r31 = fn_800740C4(0, var); + for (j = 0; j < temp_r31->num_links; j++) { + if (fn_80074138(0, temp_r31->links[j]) & 0xC00) { + temp_r28 = fn_800740C4(0, temp_r31->links[j]); + if (lbl_1_bss_0->unk0 != 0) { + temp_r28->flag |= 0x04000000; + fn_80064D84(0xC00); + } else { + temp_r28->flag &= ~0x04000000; + fn_80064D94(0xC00); + } + } + } + } +} + +void fn_1_DEC(void) { + Vec sp20; + Vec sp14; + Vec sp8; + omObjData* temp_r3; + s32 var_r31; + s32 var_r31_2; + w03UnkStruct2* temp_r29; + s32 i; + + temp_r3 = omAddObjEx(lbl_801D3ED4, 0x101, 0, 0, -1, &fn_1_10E4); + lbl_1_bss_4 = temp_r3; + temp_r29 = (w03UnkStruct2*)&temp_r3->work[0]; + temp_r29->unk0 = 0; + lbl_1_bss_8 = 0; + fn_8005D530(&sp20); + fn_8005D628(&sp14); + HuAudFXListnerSetEX(&sp20, &sp14, 1200.0f, 4800.0f, 36000.0f, 0.0f, 1200.0f); + for (i = 0; i < 4; i++) { + sp8.x = lbl_1_data_22C[i].x - 3600.0f; + sp8.y = lbl_1_data_22C[i].y; + sp8.z = lbl_1_data_22C[i].z - 3600.0f; + if (lbl_1_bss_0->unk2 != 0) { + lbl_1_data_21C[i] = HuAudFXEmiterPlay(lbl_1_data_26C[i], &sp8); + } else { + lbl_1_data_21C[i] = HuAudFXEmiterPlay(lbl_1_data_25C[i], &sp8); + } + } + + for (i = 0; i < 4; i++) { + if ((WipeStatGet() != 0) || (_CheckFlag(0x1001CU) != 0)) { + HuAudFXVolSet(lbl_1_data_21C[i], 0); + } else { + HuAudFXVolSet(lbl_1_data_21C[i], 0x7F); + } + } + + if (_CheckFlag(0x10010) == 0) { + if (lbl_1_bss_8 == 0) { + HuAudFXPauseAll(1); + lbl_1_bss_8 = 1; + } + } else if (lbl_1_bss_8 != 0) { + HuAudFXPauseAll(0); + lbl_1_bss_8 = 0; + } +} + +void fn_1_10B0(void) { + if (lbl_1_bss_4) { + ((w03UnkStruct2*)&lbl_1_bss_4->work[0])->unk0 = 1; + } +} + +void fn_1_10E4(omObjData* arg0) { + Vec sp14; + Vec sp8; + s32 i; + w03UnkStruct2* temp_r29; + + temp_r29 = (w03UnkStruct2*)&arg0->work[0]; + if (temp_r29->unk0 != 0 || (fn_8005B6A8() != 0)) { + for (i = 0; i < 4; i++) { + if (lbl_1_data_21C[i] != -1) { + HuAudFXFadeOut(lbl_1_data_21C[i], 100); + } + } + HuAudFXListnerKill(); + lbl_1_bss_4 = 0; + omDelObjEx(HuPrcCurrentGet(), arg0); + return; + } + fn_8005D628(&sp8); + fn_8005D578(&sp14); + + for (i = 0; i < 4; i++) { + if ((WipeStatGet() != 0) || (_CheckFlag(0x1001C) != 0)) { + HuAudFXVolSet(lbl_1_data_21C[i], 0); + } else { + HuAudFXVolSet(lbl_1_data_21C[i], 0x7F); + } + } + + sp14.y += 2000.0f; + if (_CheckFlag(0x10010) == 0) { + if (lbl_1_bss_8 == 0) { + HuAudFXPauseAll(1); + lbl_1_bss_8 = 1; + } + } else if (lbl_1_bss_8 != 0) { + HuAudFXPauseAll(0); + lbl_1_bss_8 = 0; + } + HuAudFXListnerUpdate(&sp14, &sp8); +} \ No newline at end of file diff --git a/src/REL/w03Dll/file1.c b/src/REL/w03Dll/file1.c new file mode 100644 index 00000000..8aeef64a --- /dev/null +++ b/src/REL/w03Dll/file1.c @@ -0,0 +1,75 @@ +#include "common.h" +#include "dolphin.h" +#include "REL/executor.h" +#include "game/process.h" +#include "game/data.h" + +//DATA file1 +s16 lbl_1_data_280 = -1; +s16 lbl_1_data_282 = -1; +s16 lbl_1_data_284 = -1; +s16 lbl_1_data_286 = -1; +s32 lbl_1_data_288 = -1; + +//char lbl_1_data_28C[] = "%d"; + +//shouldn't use MAKE_DATA_NUM +s32 lbl_1_data_290[] = { + MAKE_DATA_NUM(0x005F, 0x0062), + MAKE_DATA_NUM(0x001A, 0x0062), + MAKE_DATA_NUM(0x006D, 0x0062), + MAKE_DATA_NUM(0x008A, 0x0062), + MAKE_DATA_NUM(0x0085, 0x0062), + MAKE_DATA_NUM(0x0011, 0x0062), + MAKE_DATA_NUM(0x000D, 0x0062), + MAKE_DATA_NUM(0x0081, 0x0062), +}; + +//shouldn't use MAKE_DATA_NUM +s32 lbl_1_data_2B0[] = { + MAKE_DATA_NUM(0x005F, 0x0033), + MAKE_DATA_NUM(0x001A, 0x0033), + MAKE_DATA_NUM(0x006D, 0x0033), + MAKE_DATA_NUM(0x008A, 0x0033), + MAKE_DATA_NUM(0x0085, 0x0033), + MAKE_DATA_NUM(0x0011, 0x0033), + MAKE_DATA_NUM(0x000D, 0x0033), + MAKE_DATA_NUM(0x0081, 0x0033), +}; + +s32 lbl_1_data_2D0[] = { + 0x125, 0x165, 0x1A5, 0x1E5, 0x225, 0x265, 0x2A5, 0x2E5 +}; + +s32 lbl_1_data_2F0[] = { + 0x12E, 0x16E, 0x1AE, 0x1EE, 0x22E, 0x26E, 0x2AE, 0x2EE +}; + +s16 lbl_1_data_310 = -1; +s16 lbl_1_data_312 = -1; +s16 lbl_1_data_314 = -1; +s16 lbl_1_data_316 = -1; + + +s32 lbl_1_data_318[] = { + MAKE_DATA_NUM(0x0077, 0x0016), + MAKE_DATA_NUM(0x0077, 0x0017), + MAKE_DATA_NUM(0x0077, 0x0018), + MAKE_DATA_NUM(0x0077, 0x0019), + MAKE_DATA_NUM(0x0077, 0x001A), + DATA_NUM_LISTEND +}; + +char lbl_1_data_330[] = "itemhook_oya"; +char lbl_1_data_33D[] = "jyanA"; +char lbl_1_data_343[] = "jyanB"; + +char* lbl_1_data_34C[] = { + &lbl_1_data_33D, &lbl_1_data_343 +}; + +char lbl_1_data_354[] = "coin"; + +char* lbl_1_data_35C[] = { + &lbl_1_data_33D, &lbl_1_data_343 +}; \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll2.c b/src/REL/w10Dll/host.c similarity index 94% rename from src/REL/w10Dll/w10Dll2.c rename to src/REL/w10Dll/host.c index 3c0b951e..496640d6 100644 --- a/src/REL/w10Dll/w10Dll2.c +++ b/src/REL/w10Dll/host.c @@ -15,7 +15,7 @@ void fn_1_AEC(void) { lbl_1_bss_1C = 0; lbl_1_bss_1E = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 15), &lbl_1_data_78, 0); BoardModelMotionStart(lbl_1_bss_1E, 1, 0x40000001); - fn_800B42BC(lbl_1_bss_1E); + BoardTutorialHostSet(lbl_1_bss_1E); BoardModelLayerSet(lbl_1_bss_1E, 6); lbl_1_bss_18 = HuPrcCreate(fn_1_C20, 0x1FFF, 0x1800, 0); } @@ -48,7 +48,7 @@ void fn_1_C20(void) { while (1) { if (BoardIsKill() != 0) { BoardModelKill(lbl_1_bss_1E); - fn_800B42BC(-1); + BoardTutorialHostSet(-1); HuPrcEnd(); } Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14); diff --git a/src/REL/w10Dll/w10Dll.c b/src/REL/w10Dll/main.c similarity index 97% rename from src/REL/w10Dll/w10Dll.c rename to src/REL/w10Dll/main.c index 0a3507af..952cee32 100644 --- a/src/REL/w10Dll/w10Dll.c +++ b/src/REL/w10Dll/main.c @@ -65,7 +65,7 @@ inline s32 get_current_board(void) { return GWSystem.board; } -void fn_1_E0(void) { +void BoardInit(void) { f32 sp10; f32 spC[2]; s32 sp8; @@ -80,13 +80,13 @@ void fn_1_E0(void) { lbl_1_bss_0->unk0 = 0; lbl_1_bss_0->unk4 = 0; lbl_1_bss_0->unk6 = 0; - fn_800B3FD8(&fn_1_1AAC); + BoardTutorialHookSet(&fn_1_1AAC); fn_1_AEC(); fn_1_1D68(); lbl_1_bss_C = 0; BoardSpaceInit(MAKE_DATA_NUM(DATADIR_W10, 0)); temp = BoardSpaceFlagSearch(0, 1); - fn_800B4274(temp, 1); + BoardTutorialBlockSetPos(temp, 1); lbl_1_data_28 = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 1), NULL, 0); fn_8006DDE8(lbl_1_data_28, -1.0f); BoardModelPosSet(lbl_1_data_28, 0.0f, 0.0f, 0.0f); @@ -105,7 +105,7 @@ void fn_1_E0(void) { BoardModelMotionStart(lbl_1_data_32, 1, 0x40000001); lbl_1_data_30 = BoardModelCreate(MAKE_DATA_NUM(DATADIR_BGUEST, 13), lbl_1_data_6C, 0); BoardModelMotionStart(lbl_1_data_30, 1, 0x40000001); - fn_8005D10C(&fn_1_8C0, &fn_1_904); + BoardLightHookSet(&fn_1_8C0, &fn_1_904); for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) { temp_r30 = &lbl_1_data_0[i]; if (temp_r30->unk24 != -1) { @@ -138,7 +138,7 @@ void fn_1_E0(void) { HuWinMesPalSet(lbl_1_bss_E, 7, 0, 0, 0); } -void fn_1_6D8(void) { +void BoardDestroy(void) { s32 i; for (i = 0; i < 1; i++) { if (lbl_1_bss_10[i] != 0) { diff --git a/src/REL/w10Dll/w10Dll3.c b/src/REL/w10Dll/scene.c similarity index 91% rename from src/REL/w10Dll/w10Dll3.c rename to src/REL/w10Dll/scene.c index e5cc2057..c3e6d1dc 100644 --- a/src/REL/w10Dll/w10Dll3.c +++ b/src/REL/w10Dll/scene.c @@ -64,7 +64,7 @@ void fn_1_F6C(void) { fn_1_1E3C(2, 0x122, 0x8C); fn_1_BA0(0x2E000F); fn_1_1FB0(); - fn_800B4264(0, 0x50, 1); + BoardTutorialDirInputSet(0, 0x50, 1); } void fn_1_FB8(void) { @@ -72,14 +72,14 @@ void fn_1_FB8(void) { fn_1_BA0(0x2E0010); fn_1_1FB0(); fn_1_BA0(0x2E0011); - fn_800B4264(-0x50, 0, 1); + BoardTutorialDirInputSet(-0x50, 0, 1); } void fn_1_1010(void) { fn_1_1E3C(4, 0x122, 0x8C); fn_1_BA0(0x2E0012); fn_1_1FB0(); - fn_800B4264(0, 0x50, 1); + BoardTutorialDirInputSet(0, 0x50, 1); } void fn_1_105C(void) { @@ -94,7 +94,7 @@ void fn_1_1098(void) { void fn_1_10C0(void) { fn_1_BA0(0x2E0015); - fn_800B4264(-0x50, 0, 1); + BoardTutorialDirInputSet(-0x50, 0, 1); } void fn_1_10F8(void) { @@ -119,7 +119,7 @@ void fn_1_11A0(void) { fn_1_BA0(0x2E0019); temp = BoardSpaceFlagSearch(0, 1); - fn_800B4274(temp, 0); + BoardTutorialBlockSetPos(temp, 0); } void fn_1_11EC(void) { @@ -127,13 +127,13 @@ void fn_1_11EC(void) { fn_1_BA0(0x2E001A); temp = BoardSpaceFlagSearch(0, 1); - fn_800B4274(temp, 0); - fn_800B42B4(0); + BoardTutorialBlockSetPos(temp, 0); + BoardTutorialItemSet(0); } void fn_1_1240(void) { fn_1_BA0(0x2E001B); - fn_800B4264(0x50, 0, 1); + BoardTutorialDirInputSet(0x50, 0, 1); } void fn_1_1278(void) { @@ -142,8 +142,8 @@ void fn_1_1278(void) { void fn_1_12A0(void) { fn_1_BA0(0x2E001D); - fn_80062B74(2, 1); - fn_800B42B4(1); + BoardPlayerItemAdd(2, 1); + BoardTutorialItemSet(1); } void fn_1_12DC(void) { @@ -230,7 +230,7 @@ void fn_1_13A4(void) { fn_80070EE8(0, 0x1F3); BoardKill(); } - fn_800B3FD8(NULL); + BoardTutorialHookSet(NULL); while (1) { HuPrcVSleep(); } diff --git a/src/REL/w10Dll/w10Dll4.c b/src/REL/w10Dll/tutorial.c similarity index 98% rename from src/REL/w10Dll/w10Dll4.c rename to src/REL/w10Dll/tutorial.c index 94917fa9..64791830 100644 --- a/src/REL/w10Dll/w10Dll4.c +++ b/src/REL/w10Dll/tutorial.c @@ -107,7 +107,7 @@ void fn_1_1834(void) { void fn_1_18BC(void) { fn_1_BA0(0x2E0028); fn_1_BA0(0x2E0029); - lbl_801A52E8 = 0; + boardTutorialData = 0; fn_8008853C(0); } @@ -154,7 +154,7 @@ void fn_1_1984(void) { OSReport(lbl_1_data_98); fn_80070EE8(0, 0x1F3); BoardKill(); - fn_800B3FD8(NULL); + BoardTutorialHookSet(NULL); } } } @@ -183,7 +183,7 @@ int fn_1_1AAC(s16 arg0, s32 arg1) { OSReport(lbl_1_data_98); fn_80070EE8(0, 0x1F3); BoardKill(); - fn_800B3FD8(NULL); + BoardTutorialHookSet(NULL); } } } diff --git a/src/game/data.c b/src/game/data.c index 7048bdc1..575805d9 100644 --- a/src/game/data.c +++ b/src/game/data.c @@ -116,8 +116,7 @@ DataReadStat *HuDataDirRead(s32 data_num) status = HuDataReadChk(data_num); read_stat = &ReadDataStat[status]; } else { - status = HuDataReadStatusGet(); - if(status == -1) { + if((status = HuDataReadStatusGet()) == -1) { OSReport("data.c: Data Work Max Error\n"); return NULL; } @@ -156,8 +155,7 @@ DataReadStat *HuDataDirReadNum(s32 data_num, s32 num) read_stat->num = num; } else { OSReport("data num %x\n", data_num); - status = HuDataReadStatusGet(); - if(status == -1) { + if((status = HuDataReadStatusGet()) == -1) { OSReport("data.c: Data Work Max Error\n"); return NULL; } diff --git a/src/game/gamework.c b/src/game/gamework.c index d0bd669c..1b751efa 100644 --- a/src/game/gamework.c +++ b/src/game/gamework.c @@ -46,7 +46,7 @@ static inline void ResetBoardSettings(void) void GWInit(void) { - GWResetGameStat(); + GWGameStatReset(); _InitFlag(); GWErase(); InitPlayerConfig(); @@ -112,7 +112,7 @@ static inline void ResetFlag(GameStat *game_stat) game_stat->field10F_bit6 = game_stat->field110_bit6 = 0; } -void GWResetGameStat(void) +void GWGameStatReset(void) { GameStat *game_stat = &GWGameStatDefault; memset(game_stat, 0, sizeof(GameStat)); @@ -134,7 +134,7 @@ void GWResetGameStat(void) ResetBoardSettings(); } -s16 GWGetMessSpeed(void) +s16 GWMessSpeedGet(void) { if(GWSystem.mess_delay > 48) { GWSystem.mess_speed = 1; @@ -143,19 +143,19 @@ s16 GWGetMessSpeed(void) return GWSystem.mess_delay; } -void GWSetMGRecord(int index, s32 value) +void GWMGRecordSet(int index, s32 value) { if(!_CheckFlag(FLAG_ID_MAKE(1, 12))) { GWGameStat.mg_record[index] = value; } } -s32 GWGetMGRecord(int index) +s32 GWMGRecordGet(int index) { return GWGameStat.mg_record[index]; } -void GWGetCharColor(int character, GXColor *color) +void GWCharColorGet(int character, GXColor *color) { GXColor char_color[] = { { 227, 67, 67, 255 }, @@ -170,7 +170,7 @@ void GWGetCharColor(int character, GXColor *color) *color = char_color[character]; } -void GWSetBoardPlayCount(int board, u8 value) +void GWBoardPlayCountSet(int board, u8 value) { if(value > 99) { value = 99; @@ -178,7 +178,7 @@ void GWSetBoardPlayCount(int board, u8 value) GWGameStat.board_play_count[board] = value; } -void GWAddBoardPlayCount(int board, u8 value) +void GWBoardPlayCountAdd(int board, u8 value) { value += GWGameStat.board_play_count[board]; if(value > 99) { @@ -188,32 +188,32 @@ void GWAddBoardPlayCount(int board, u8 value) } -u8 GWGetBoardPlayCount(int board) +u8 GWBoardPlayCountGet(int board) { return GWGameStat.board_play_count[board]; } -void GWSetBoardMaxStars(int board, int value) +void GWBoardMaxStarsSet(int board, int value) { GWGameStat.board_max_stars[board] = value; } -u16 GWGetBoardMaxStars(int board) +u16 GWBoardMaxStarsGet(int board) { return GWGameStat.board_max_stars[board]; } -void GWSetBoardMaxCoins(int board, int value) +void GWBoardMaxCoinsSet(int board, int value) { GWGameStat.board_max_coins[board] = value; } -u16 GWGetBoardMaxCoins(int board) +u16 GWBoardMaxCoinsGet(int board) { return GWGameStat.board_max_coins[board]; } -int GWIncBoardWinCount(int character, int board) +int GWBoardWinCountInc(int character, int board) { int win_count = GWGameStat.board_win_count[board][character]+1; if(win_count > 99) { @@ -223,17 +223,17 @@ int GWIncBoardWinCount(int character, int board) return win_count; } -int GWGetBoardWinCount(int character, int board) +int GWBoardWinCountGet(int character, int board) { return GWGameStat.board_win_count[board][character]; } -void GWSetBoardWinCount(int character, int board, int value) +void GWBoardWinCountSet(int character, int board, int value) { GWGameStat.board_win_count[board][character] = value; } -int GWGetMGAvail(int id) +int GWMGAvailGet(int id) { int word; int bit; @@ -247,7 +247,7 @@ int GWGetMGAvail(int id) } } -int GWSetMGAvail(int id) +int GWMGAvailSet(int id) { int word; int bit; @@ -257,7 +257,7 @@ int GWSetMGAvail(int id) GWGameStat.mg_avail[word] |= (1 << bit); } -int GWGetMGCustom(int id) +int GWMGCustomGet(int id) { int word; int bit; @@ -271,7 +271,7 @@ int GWGetMGCustom(int id) } } -int GWSetMGCustom(int id) +int GWMGCustomSet(int id) { int word; int bit; @@ -281,7 +281,7 @@ int GWSetMGCustom(int id) GWGameStat.mg_custom[word] |= (1 << bit); } -int GWResetMGCustom(int id) +int GWMGCustomReset(int id) { int word; int bit; @@ -291,12 +291,12 @@ int GWResetMGCustom(int id) GWGameStat.mg_custom[word] &= ~(1 << bit); } -s16 GWGetCoins(int player) +s16 GWCoinsGet(int player) { return GWPlayer[player].coins; } -void GWSetCoins(int player, s16 value) +void GWCoinsSet(int player, s16 value) { if(!_CheckFlag(FLAG_ID_MAKE(1, 12))) { if(value < 0) { @@ -312,12 +312,12 @@ void GWSetCoins(int player, s16 value) } } -void GWAddCoins(int player, s16 amount) +void GWCoinsAdd(int player, s16 amount) { - GWSetCoins(player, GWPlayer[player].coins+amount); + GWCoinsSet(player, GWPlayer[player].coins+amount); } -void GWSetStars(int player, s16 value) +void GWStarsSet(int player, s16 value) { if(value < 0) { value = 0; @@ -331,17 +331,17 @@ void GWSetStars(int player, s16 value) GWPlayer[player].stars = value; } -void GWAddStars(int player, s16 amount) +void GWStarsAdd(int player, s16 amount) { - GWSetStars(player, GWPlayer[player].stars+amount); + GWStarsSet(player, GWPlayer[player].stars+amount); } -s16 GWGetStars(int player) +s16 GWStarsGet(int player) { return GWPlayer[player].stars; } -void GWSetTotalStars(s16 value) +void GWTotalStarsSet(s16 value) { if(value < 0) { value = 0; @@ -352,12 +352,12 @@ void GWSetTotalStars(s16 value) GWGameStat.total_stars = value; } -void GWAddTotalStars(s16 amount) +void GWTotalStarsAdd(s16 amount) { - GWSetTotalStars(GWGameStat.total_stars+amount); + GWTotalStarsSet(GWGameStat.total_stars+amount); } -u16 GWGetTotalStars(void) +u16 GWTotalStarsGet(void) { return GWGameStat.total_stars; } \ No newline at end of file diff --git a/src/game/objmain.c b/src/game/objmain.c index 7be27e96..afe4efb8 100644 --- a/src/game/objmain.c +++ b/src/game/objmain.c @@ -139,7 +139,7 @@ void omOvlReturnEx(s16 level, s16 arg2) void omOvlKill(s16 arg) { - fn_8004D6F4(-1); + CharModelKillAll(-1); MGSeqKillAll(); Hu3DAllKill(); HuWinAllKill(); diff --git a/src/game/wipe.c b/src/game/wipe.c index 99041ebd..451e6fb5 100644 --- a/src/game/wipe.c +++ b/src/game/wipe.c @@ -3,7 +3,7 @@ #include "game/memory.h" #include "game/flag.h" -extern s8 lbl_801D429C; +extern s8 boardTutorialF; s16 HuSysVWaitGet(s16 old); @@ -111,7 +111,7 @@ void WipeExecAlways(void) void WipeCreate(s16 mode, s16 type, s16 duration) { WipeState *wipe; - if(_CheckFlag(FLAG_ID_MAKE(1, 11)) && lbl_801D429C) { + if(_CheckFlag(FLAG_ID_MAKE(1, 11)) && boardTutorialF) { return; } wipe = &wipeData; diff --git a/src/msm/msmfio.c b/src/msm/msmfio.c new file mode 100644 index 00000000..581cb3a1 --- /dev/null +++ b/src/msm/msmfio.c @@ -0,0 +1,43 @@ +#include "dolphin.h" + +struct msmFio { + BOOL (*open)(s32, DVDFileInfo *); + BOOL (*read)(DVDFileInfo *, void *, s32, s32, s32); + BOOL (*close)(DVDFileInfo *); +}; + +static struct msmFio fio; + +BOOL msmFioClose(DVDFileInfo *fileInfo) +{ + return fio.close(fileInfo); +} + +BOOL msmFioRead(DVDFileInfo *fileInfo, void *addr, s32 length, s32 offset) +{ + return fio.read(fileInfo, addr, length, offset, 2); +} + +BOOL msmFioOpen(s32 entrynum, DVDFileInfo *fileInfo) +{ + return fio.open(entrynum, fileInfo); +} + +void msmFioInit(void *open, void *read, void *close) +{ + if(open) { + fio.open = open; + } else { + fio.open = DVDFastOpen; + } + if(read) { + fio.read = read; + } else { + fio.read = DVDReadPrio; + } + if(close) { + fio.close = close; + } else { + fio.close = DVDClose; + } +} \ No newline at end of file diff --git a/tools/project.py b/tools/project.py index 4c315aa6..0cc9e4c0 100644 --- a/tools/project.py +++ b/tools/project.py @@ -509,11 +509,12 @@ def generate_build_ninja(config, build_config): lib, obj = result lib_name = lib["lib"] + src_dir = Path(lib.get("src_dir", config.src_dir)) options = obj.options completed = obj.completed - unit_src_path = config.src_dir / options["source"] + unit_src_path = src_dir / options["source"] if not unit_src_path.exists(): if config.warn_missing_source or completed: print(f"Missing source file {unit_src_path}")