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/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/configure.py b/configure.py index bc63a8bf..b6ead65c 100644 --- a/configure.py +++ b/configure.py @@ -789,6 +789,37 @@ config.libs = [ Object(Matching, "REL/subchrselDll/subchrselDll.c"), ], }, + { + "lib": "staffDll", + "mw_version": config.linker_version, + "cflags": cflags_rel, + "host": False, + "objects": [ + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/staffDll/staffDll.c"), + ], + }, + { + "lib": "E3setupDLL", + "mw_version": config.linker_version, + "cflags": cflags_rel, + "host": False, + "objects": [ + Object(NonMatching, "REL/E3setupDLL/mgselect.c"), + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/E3setupDLL/main.c"), + ], + }, + { + "lib": "selmenuDll", + "mw_version": config.linker_version, + "cflags": cflags_rel, + "host": False, + "objects": [ + Object(Matching, "REL/executor.c"), + Object(NonMatching, "REL/selmenuDll/selmenuDll.c"), + ], + }, { "lib": "w10Dll", "mw_version": config.linker_version, 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]; } } }