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/configure.py b/configure.py index 976ed706..b6ead65c 100644 --- a/configure.py +++ b/configure.py @@ -799,6 +799,17 @@ config.libs = [ 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,