From 66ba056eb96c747ca4f18e7f026fc92a145cfee9 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Fri, 1 Dec 2023 22:03:52 -0600 Subject: [PATCH 1/2] Name More Symbols --- config/GMPE01_00/symbols.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index b75f3517..6d772f46 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -671,8 +671,8 @@ SeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C scope:local fn_800364F8 = .text:0x800364F8; // type:function size:0x3D8 fn_800368D0 = .text:0x800368D0; // type:function size:0x2F8 fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 -fn_80036D50 = .text:0x80036D50; // type:function size:0x1D0 -fn_80036F20 = .text:0x80036F20; // type:function size:0x26C +SeqMakeWord = .text:0x80036D50; // type:function size:0x1D0 scope:local +SeqLoadFontChar = .text:0x80036F20; // type:function size:0x26C scope:local SeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 scope:local SeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 scope:local SeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 scope:local @@ -4926,7 +4926,14 @@ lbl_8012F0C5 = .data:0x8012F0C5; // type:object size:0x3A lbl_8012F0FF = .data:0x8012F0FF; // type:object size:0x31 SeqTable = .data:0x8012F130; // type:object size:0x1DC scope:local lbl_8012F30C = .data:0x8012F30C; // type:object size:0x18 -lbl_8012F324 = .data:0x8012F324; // type:object size:0x120 +SeqTypeTable = .data:0x8012F324; // type:object size:0x12 scope:local +lbl_8012F336 = .data:0x8012F336; // type:object size:0x53 scope:local data:string +lbl_8012F389 = .data:0x8012F389; // type:object size:0x9 scope:local data:string +lbl_8012F392 = .data:0x8012F392; // type:object size:0x9 scope:local data:string +SeqFontAlphaTbl = .data:0x8012F39B; // type:object size:0x35 scope:local data:string +SeqFontKanaTbl = .data:0x8012F3D0; // type:object size:0x52 scope:local data:string +SeqFontNumTbl = .data:0x8012F422; // type:object size:0xB scope:local data:string +lbl_8012F430 = .data:0x8012F430; // type:object size:0x14 WordTbl = .data:0x8012F444; // type:object size:0x18 scope:local LetterBattleOfs = .data:0x8012F45C; // type:object size:0x40 scope:local Letter2vs2Ofs = .data:0x8012F49C; // type:object size:0x1C scope:local @@ -4938,7 +4945,7 @@ WinStrTbl = .data:0x8012F580; // type:object size:0x18 scope:local WinPosOfs = .data:0x8012F598; // type:object size:0x50 scope:local PracticeTbl = .data:0x8012F5E8; // type:object size:0xAC scope:local PracticePosTbl = .data:0x8012F694; // type:object size:0xC scope:local -SeqSETable = .data:0x8012F6A0; // type:object size:0xF0 scope:local +SeqFXTable = .data:0x8012F6A0; // type:object size:0xF0 scope:local lbl_8012F790 = .data:0x8012F790; // type:object size:0x15 data:string lbl_8012F7A5 = .data:0x8012F7A5; // type:object size:0x10 data:string lbl_8012F7B5 = .data:0x8012F7B5; // type:object size:0x13 data:string From e768cd2b2554f8405433b5810e48dbb5bf078cf0 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Fri, 1 Dec 2023 23:05:18 -0600 Subject: [PATCH 2/2] Split until THP Translation Units --- config/GMPE01_00/splits.txt | 41 +++++++++++++++++ config/GMPE01_00/symbols.txt | 86 ++++++++++++++++++------------------ configure.py | 7 +++ 3 files changed, 92 insertions(+), 42 deletions(-) diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index a33a1ab2..cf0ee22f 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -205,6 +205,33 @@ game/minigame_seq.c: game/ovllist.c: .data start:0x8012F790 end:0x80130100 +game/esprite.c: + .text start:0x8003F8B8 end:0x8003FF68 + .bss start:0x80190860 end:0x80192060 + .sbss start:0x801D3D98 end:0x801D3DA0 + +game/code_8003FF68.c: + .text start:0x8003FF68 end:0x80040500 + .data start:0x80130100 end:0x80130120 + .bss start:0x80192060 end:0x80192360 + .sdata start:0x801D35C0 end:0x801D35E0 + .sdata2 start:0x801D4EA8 end:0x801D4EC0 + +game/ClusterExec.c: + .text start:0x80040500 end:0x80040D60 + .sdata2 start:0x801D4EC0 end:0x801D4ED0 + +game/ShapeExec.c: + .text start:0x80040D60 end:0x80041170 + .sdata2 start:0x801D4ED0 end:0x801D4EE0 + +game/wipe.c: + .text start:0x80041170 end:0x8004207C + .data start:0x80130120 end:0x80130138 + .bss start:0x80192360 end:0x801923C0 + .sdata start:0x801D35E0 end:0x801D35E8 + .sdata2 start:0x801D4EE0 end:0x801D4F08 + game/window.c: .text start:0x8004207C end:0x800483A0 .data start:0x80130140 end:0x80130688 @@ -227,6 +254,20 @@ game/armem.c: .bss start:0x801967E0 end:0x80196EC0 .sbss start:0x801D3E00 end:0x801D3E10 +game/code_800498F0.c: + .text start:0x800498F0 end:0x80050C5C + .data start:0x801307C8 end:0x801312E8 + .bss start:0x80196EC0 end:0x80197650 + .sdata start:0x801D35F0 end:0x801D3638 + .sbss start:0x801D3E10 end:0x801D3E18 + .sdata2 start:0x801D4F98 end:0x801D50D0 + +game/mapspace.c: + .text start:0x80050C5C end:0x80054A00 + .bss start:0x80197650 end:0x80197AC0 + .sbss start:0x801D3E18 end:0x801D3E38 + .sdata2 start:0x801D50D0 end:0x801D5100 + Runtime.PPCEABI.H/global_destructor_chain.c: .text start:0x800E2008 end:0x800E2068 .dtors start:0x8011DCE8 end:0x8011DCEC diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 6d772f46..dc298052 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -897,24 +897,24 @@ 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 -fn_80050C5C = .text:0x80050C5C; // type:function size:0x1B8 -fn_80050E14 = .text:0x80050E14; // type:function size:0x110 -fn_80050F24 = .text:0x80050F24; // type:function size:0x2A8 -fn_800511CC = .text:0x800511CC; // type:function size:0x38C -fn_80051558 = .text:0x80051558; // type:function size:0x470 -fn_800519C8 = .text:0x800519C8; // type:function size:0x5D4 -fn_80051F9C = .text:0x80051F9C; // type:function size:0xF4 -fn_80052090 = .text:0x80052090; // type:function size:0x388 -fn_80052418 = .text:0x80052418; // type:function size:0x148 -fn_80052560 = .text:0x80052560; // type:function size:0x518 -fn_80052A78 = .text:0x80052A78; // type:function size:0x994 -fn_8005340C = .text:0x8005340C; // type:function size:0xC28 -fn_80054034 = .text:0x80054034; // type:function size:0x43C -fn_80054470 = .text:0x80054470; // type:function size:0x100 -fn_80054570 = .text:0x80054570; // type:function size:0x19C -fn_8005470C = .text:0x8005470C; // type:function size:0x4C -fn_80054758 = .text:0x80054758; // type:function size:0x184 -fn_800548DC = .text:0x800548DC; // type:function size:0x124 +MapWall = .text:0x80050C5C; // type:function size:0x1B8 +MapWallCheck = .text:0x80050E14; // type:function size:0x110 +MapPos = .text:0x80050F24; // type:function size:0x2A8 +PolygonRangeCheck = .text:0x800511CC; // type:function size:0x38C scope:local +DefIfnnerMapCircle = .text:0x80051558; // type:function size:0x470 scope:local +CalcPPLength = .text:0x800519C8; // type:function size:0x5D4 scope:local +MapIflnnerCalc = .text:0x80051F9C; // type:function size:0xF4 scope:local +MapCalcPoint = .text:0x80052090; // type:function size:0x388 scope:local +AreaCheck = .text:0x80052418; // type:function size:0x148 scope:local +MapIflnnerTriangle = .text:0x80052560; // type:function size:0x518 scope:local +MapIflnnerQuadrangle = .text:0x80052A78; // type:function size:0x994 scope:local +GetPolygonCircleMtx = .text:0x8005340C; // type:function size:0xC28 scope:local +PrecalcPntToTriangle = .text:0x80054034; // type:function size:0x43C scope:local +Hitcheck_Triangle_with_Sphere = .text:0x80054470; // type:function size:0x100 +Hitcheck_Quadrangle_with_Sphere = .text:0x80054570; // type:function size:0x19C +DefSetHitFace = .text:0x8005470C; // type:function size:0x4C scope:local +AppendAddXZ = .text:0x80054758; // type:function size:0x184 +CharRotInv = .text:0x800548DC; // type:function size:0x124 fn_80054A00 = .text:0x80054A00; // type:function size:0x124 fn_80054B24 = .text:0x80054B24; // type:function size:0x54 fn_80054B78 = .text:0x80054B78; // type:function size:0x408 @@ -5048,7 +5048,7 @@ lbl_8012FDCE = .data:0x8012FDCE; // type:object size:0x12 _ovltbl = .data:0x8012FDE0; // type:object size:0x320 lbl_80130100 = .data:0x80130100; // type:object size:0x20 lbl_80130120 = .data:0x80130120; // type:object size:0xC -lbl_8013012C = .data:0x8013012C; // type:object size:0x14 +lbl_8013012C = .data:0x8013012C; // type:object size:0xC spcFontTbl = .data:0x80130140; // type:object size:0x170 scope:local charWETbl = .data:0x801302B0; // type:object size:0x130 charWJTbl = .data:0x801303E0; // type:object size:0x140 @@ -5440,12 +5440,12 @@ sndFXBuf = .bss:0x80190230; // type:object size:0x200 scope:local charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20 scope:local SeqData = .bss:0x80190450; // type:object size:0x400 scope:local data:4byte SeqDuration = .bss:0x80190850; // type:object size:0x10 scope:local data:2byte -lbl_80190860 = .bss:0x80190860; // type:object size:0x600 data:2byte -lbl_80190E60 = .bss:0x80190E60; // type:object size:0x1200 data:4byte +esprite = .bss:0x80190860; // type:object size:0x600 data:2byte +espanim = .bss:0x80190E60; // type:object size:0x1200 data:4byte lbl_80192060 = .bss:0x80192060; // type:object size:0x100 lbl_80192160 = .bss:0x80192160; // type:object size:0x100 lbl_80192260 = .bss:0x80192260; // type:object size:0x100 -wipeData = .bss:0x80192360; // type:object size:0x60 data:4byte +wipeData = .bss:0x80192360; // type:object size:0x4C data:4byte winData = .bss:0x801923C0; // type:object size:0x3000 align:32 data:byte winKey = .bss:0x801953C0; // type:object size:0x10 winComKeyBuf = .bss:0x801953D0; // type:object size:0x1400 @@ -5458,17 +5458,19 @@ 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 -lbl_80197650 = .bss:0x80197650; // type:object size:0x40 -lbl_80197690 = .bss:0x80197690; // type:object size:0x60 -lbl_801976F0 = .bss:0x801976F0; // type:object size:0xC data:float -lbl_801976FC = .bss:0x801976FC; // type:object size:0xC data:float -lbl_80197708 = .bss:0x80197708; // type:object size:0x78 -lbl_80197780 = .bss:0x80197780; // type:object size:0x18C -lbl_8019790C = .bss:0x8019790C; // type:object size:0x180 -lbl_80197A8C = .bss:0x80197A8C; // type:object size:0x34 -lbl_80197AC0 = .bss:0x80197AC0; // type:object size:0x1A0 -lbl_80197C60 = .bss:0x80197C60; // type:object size:0x500 -lbl_80198160 = .bss:0x80198160; // type:object size:0x40 +MapObject = .bss:0x80197650; // type:object size:0x40 +MapMT = .bss:0x80197690; // type:object size:0x30 +MapMTR = .bss:0x801976C0; // type:object size:0x30 +MTRAdd = .bss:0x801976F0; // type:object size:0xC scope:local data:float +FieldVec = .bss:0x801976FC; // type:object size:0xC scope:local data:float +ColisionIdx = .bss:0x80197708; // type:object size:0x78 +HitFaceVec = .bss:0x80197780; // type:object size:0x180 +OldXYZ = .bss:0x80197900; // type:object size:0xC scope:local +HitFace = .bss:0x8019790C; // type:object size:0x180 +CharObject = .bss:0x80197A8C; // type:object size:0x34 +SimpleControl = .bss:0x80197AC0; // type:object size:0x19C +SoundBuffer = .bss:0x80197C60; // type:object size:0x500 scope:local align:32 +WorkBuffer = .bss:0x80198160; // type:object size:0x40 scope:local align:32 lbl_801981A0 = .bss:0x801981A0; // type:object size:0x40 lbl_801981E0 = .bss:0x801981E0; // type:object size:0x118 lbl_801982F8 = .bss:0x801982F8; // type:object size:0x100 @@ -6146,7 +6148,7 @@ SeqSpeed = .sbss:0x801D3D92; // type:object size:0x2 scope:local data:2byte lbl_801D3D94 = .sbss:0x801D3D94; // type:object size:0x1 data:byte SeqDone = .sbss:0x801D3D95; // type:object size:0x1 scope:local data:byte SeqTimer = .sbss:0x801D3D96; // type:object size:0x2 scope:local data:2byte -lbl_801D3D98 = .sbss:0x801D3D98; // type:object size:0x8 data:2byte +gid = .sbss:0x801D3D98; // type:object size:0x8 scope:local data:2byte lbl_801D3DA0 = .sbss:0x801D3DA0; // type:object size:0x8 lbl_801D3DA8 = .sbss:0x801D3DA8; // type:object size:0x8 data:4byte fontAnim = .sbss:0x801D3DB0; // type:object size:0x4 data:4byte @@ -6176,14 +6178,14 @@ 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 -lbl_801D3E18 = .sbss:0x801D3E18; // type:object size:0x4 data:4byte -lbl_801D3E1C = .sbss:0x801D3E1C; // type:object size:0x4 data:4byte -lbl_801D3E20 = .sbss:0x801D3E20; // type:object size:0x4 data:4byte -lbl_801D3E24 = .sbss:0x801D3E24; // type:object size:0x4 data:4byte -lbl_801D3E28 = .sbss:0x801D3E28; // type:object size:0x4 -lbl_801D3E2C = .sbss:0x801D3E2C; // type:object size:0x4 data:4byte -lbl_801D3E30 = .sbss:0x801D3E30; // type:object size:0x4 data:float -lbl_801D3E34 = .sbss:0x801D3E34; // type:object size:0x4 data:float +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 +HitFaceCount = .sbss:0x801D3E24; // type:object size:0x4 data:4byte +nChar = .sbss:0x801D3E28; // type:object size:0x4 +nMap = .sbss:0x801D3E2C; // type:object size:0x4 data:4byte +AddZ = .sbss:0x801D3E30; // type:object size:0x4 data:float +AddX = .sbss:0x801D3E34; // type:object size:0x4 data:float lbl_801D3E38 = .sbss:0x801D3E38; // type:object size:0x4 data:4byte lbl_801D3E3C = .sbss:0x801D3E3C; // type:object size:0x4 data:4byte lbl_801D3E40 = .sbss:0x801D3E40; // type:object size:0x4 data:4byte diff --git a/configure.py b/configure.py index ba86473a..2f98ac3e 100755 --- a/configure.py +++ b/configure.py @@ -261,10 +261,17 @@ config.libs = [ Object(NonMatching, "game/EnvelopeExec.c"), Object(NonMatching, "game/minigame_seq.c"), Object(Matching, "game/ovllist.c"), + Object(NonMatching, "game/esprite.c"), + Object(NonMatching, "game/code_8003FF68.c"), + Object(NonMatching, "game/ClusterExec.c"), + Object(NonMatching, "game/ShapeExec.c"), + Object(NonMatching, "game/wipe.c"), Object(NonMatching, "game/window.c"), Object(Matching, "game/messdata.c"), Object(NonMatching, "game/card.c"), Object(NonMatching, "game/armem.c"), + Object(NonMatching, "game/code_800498F0.c"), + Object(NonMatching, "game/mapspace.c"), ], }, {