From a25790e8a6a3708f329734a7b623d87da5fdef4f Mon Sep 17 00:00:00 2001 From: KeybadeBlox Date: Mon, 29 Dec 2025 00:44:27 -0500 Subject: [PATCH] Delink Core.obj --- decompile/objdiff.json | 9 ++ decompile/src/JSRF/Core.cpp | 6 ++ decompile/src/JSRF/Jet2.cpp | 6 -- delink/objects.csv | 4 +- delink/symboltable.tsv | 191 +++++++++++++++++++++++++----------- 5 files changed, 148 insertions(+), 68 deletions(-) diff --git a/decompile/objdiff.json b/decompile/objdiff.json index 96f37f9..e242150 100644 --- a/decompile/objdiff.json +++ b/decompile/objdiff.json @@ -20,6 +20,15 @@ "_main_handler_unwind1": "$L515", "_main_unwindmap": "$T525" } + }, + { + "name": "JSRF/Core", + "target_path": "target/JSRF/Core.obj", + "base_path": "src/JSRF/Core.obj", + "metadata": { + "complete": false, + "source_path": "src/JSRF/Core.cpp" + } } ] } \ No newline at end of file diff --git a/decompile/src/JSRF/Core.cpp b/decompile/src/JSRF/Core.cpp index dd896de..05b93b8 100644 --- a/decompile/src/JSRF/Core.cpp +++ b/decompile/src/JSRF/Core.cpp @@ -2,4 +2,10 @@ Game and GameObj classes that form the foundation of the JSRF game code. */ +#pragma bss_seg(".data") + #include "Core.hpp" + + +// Address: 0x0022FCE0 +Game * g_game; diff --git a/decompile/src/JSRF/Jet2.cpp b/decompile/src/JSRF/Jet2.cpp index fa21d9a..4c13bb9 100644 --- a/decompile/src/JSRF/Jet2.cpp +++ b/decompile/src/JSRF/Jet2.cpp @@ -7,12 +7,6 @@ Main function. #include "Core.hpp" -// Address: 0x0022FCE0 -// Core.cpp really seems like a more natural place to put this, but it doesn't -// appear to be with Core.cpp's other data in .data -Game * g_game; - - // Address: 0x0006F9E0 // Matching: yes void main(void) { diff --git a/delink/objects.csv b/delink/objects.csv index eda6149..9c0feb8 100644 --- a/delink/objects.csv +++ b/delink/objects.csv @@ -1,6 +1,6 @@ Object,Delink?,.text,.text$x,D3D,DSOUND,MMATRIX,XGRPH,XPP,.rdata,.rdata$x,.data,DOLBY -JSRF/Core.obj,false,0x00011000-0x00013FF0,0x00186BA0-0x00186C1F,,,,,,0x001C4390-0x001C44FF,0x001E4D20-0x001E4DAB,0x00251D40-0x00251DAB, -JSRF/Jet2.obj,true,0x0006F9E0-0x0006FA6F,0x00187710-0x00187724,,,,,,,0x001E620C-0x001E622F,0x0022FCE0-0x0022FCE3, +JSRF/Core.obj,true,0x00011000-0x00013FEB,0x00186BA0-0x00186C14,,,,,,0x001C4390-0x001C44F9,0x001E4D20-0x001E4DAB,0x0022FCE0-0x0022FCE3, +JSRF/Jet2.obj,true,0x0006F9E0-0x0006FA6F,0x00187710-0x00187724,,,,,,,0x001E620C-0x001E622F,, ADX (need to decompose),false,0x0013A570-0x0014555F,?,,,,,,?,?,?, XDK Core (need to decompose),false,0x00145560-0x0014B79F,?,,,,,,?,?,?, Smilebit libs (need to decompose),false,0x0014B7A0-0x0017BF3F,?,,,,,,?,?,?-0x0022ED2B, diff --git a/delink/symboltable.tsv b/delink/symboltable.tsv index 8d5961e..ad8a6f5 100644 --- a/delink/symboltable.tsv +++ b/delink/symboltable.tsv @@ -1,96 +1,117 @@ ~GameObj 00011000 f -execDefault 00011070 f -someDrawFuncDefault 000110a0 f -drawDefaultRecursive 00011220 f -drawDefault 00011260 f -execEvent 000112a0 f -someDrawFuncEvent 000112d0 f -drawEventRecursive 00011450 f -drawEvent 00011490 f -execCoveredPause 000114d0 f -someDrawFuncCoveredPause 00011500 f -drawCoveredPauseRecursive 00011680 f -drawCoveredPause 000116c0 f -execFreezeCam 00011700 f -someDrawFuncFreezeCam 00011730 f -drawFreezeCamRecursive 000118b0 f -drawFreezeCam 000118f0 f -execUncoveredPause 00011930 f -someDrawFuncUncoveredPause 00011960 f -drawUncoveredPauseRecursive 00011ae0 f -drawUncoveredPause 00011b20 f +recursiveExecDefault 00011070 f +drawListDefault 000110a0 f +drawTreeDefault1 00011220 f +drawTreeDefault2 00011260 f +recursiveExecEvent 000112a0 f +drawListEvent 000112d0 f +drawTreeEvent1 00011450 f +drawTreeEvent2 00011490 f +recursiveExecCoveredPause 000114d0 f +drawListCoveredPause 00011500 f +drawTreeCoveredPause1 00011680 f +drawTreeCoveredPause2 000116c0 f +recursiveExecFreezeCam 00011700 f +drawListFreezeCam 00011730 f +drawTreeFreezeCam1 000118b0 f +drawTreeFreezeCam2 000118f0 f +recursiveExecUncoveredPause 00011930 f +drawListUncoveredPause 00011960 f +drawTreeUncoveredPause1 00011ae0 f +drawTreeUncoveredPause2 00011b20 f addToSiblings 00011b60 f destructRecursive 00011b90 f getParent 00011bd0 f -removeFromAllocList 00011be0 f -removeFromAllocListRecursive 00011c20 f -drawNop 00011c80 f -execNop 00011c90 f +removeFromObjList 00011be0 f +removeFromObjListRecursive 00011c20 f +nopDraw 00011c80 f +nopExec 00011c90 f +copySomeVectors 00011ca0 f _~GameObj 00011ce0 f -postExecDefault 00011d00 f -postExecEvent 00011da0 f -postExecCoveredPause 00011e40 f -postExecFreezeCam 00011ee0 f -postExecUncoveredPause 00011f80 f +recursivePostExecDefault 00011d00 f +recursivePostExecEvent 00011da0 f +recursivePostExecCoveredPause 00011e40 f +recursivePostExecFreezeCam 00011ee0 f +recursivePostExecUncoveredPause 00011f80 f setParent 00012020 f GameObj 00012100 f -DrawObj 00012170 f -~DrawObj 000121b0 f -AllocatedChild2 000121e0 f +DrawTree 00012170 f +_~DrawTree 000121b0 f +PlayerObj 000121e0 f Game 00012210 f ~Game 00012390 f exec 000123e0 f -drawObjNonrecursive 00012580 f -drawObj 00012680 f +drawObj 00012580 f +drawList_ 000125e0 f +drawTree1 00012680 f setCoveredPauseNextFrame 000126d0 f setEventNextFrame 000126f0 f setFreezeCamNextFrame 00012710 f setUncoveredPauseNextFrame 00012730 f -set0x70to1 00012750 f +enableDrawChildren 00012750 f setSkipDraw 00012760 f -cacheFatal 00012770 f +fatal 00012770 f setDrawMode 000127b0 f setGlobal 000127c0 f getGlobal 000127e0 f -addToSomethingLinked 000127f0 f -removeFromSomethingLinked_MAYBE 00012840 f -setAllocated 00012870 f -unsetAllocated 00012890 f -getAllocated 000128c0 f -findAvailableAllocatedIndex 000128e0 f -allocatedIndexAvailable 00012910 f -swapAllocated 00012930 f +addToDrawList 000127f0 f +removeFromDrawList 00012840 f +setObj 00012870 f +unsetObj 00012890 f +getObj 000128c0 f +allocObjIndex 000128e0 f +objIndexAvailable 00012910 f +swapObjs 00012930 f clearScreen 00012980 f -setZeroedByExecTo1 000129b0 f +enableSomeExtraDrawListCode 000129b0 f setLogosStarted 000129c0 f -clearSortedLinkedList 000129d0 f -getSortedLinkedListHead 000129f0 f -addToSortedLinkedList 00012a00 f -sortSomeLinkedListSingleLevel 00012a20 f +clearDrawPriorityList 000129d0 f +getDrawPriorityListHead 000129f0 f +appendToDrawPriorityList 00012a00 f +sortDrawPriorityListSingleLevel 00012a20 f setFallbackBgColour 00012ac0 f RootExecObj 00012ae0 f ~RootExecObj 00012be0 f _~Game 00012bf0 f -initExecRootObj 00012c10 f -sortSomeLinkedList 000131a0 f +initRootExecObj 00012c10 f +drawList 00012c80 f +sortDrawPriorityList 000131a0 f _~RootExecObj 000131d0 f -drawObjects 000131f0 f +drawObjs 000131f0 f draw 00013930 f frame 00013a80 f mainLoop 00013f80 f -removeAllocated 00013fc0 f +removeFromObjListByIndex 00013fc0 f getChapter 000149d0 f getMissionDigits34 000149e0 f ~UnknownStatic02 00015110 f CollisionManager 00016040 f ~CollisionManager 00016160 f -setSomeFields 000161b0 f -UnknownAllocated_0x1289 0001daf0 f +reset 000161b0 f +registerStageCollisions 00016200 f +registerStageGrindPath 00016220 f +registerObjectCollisions 00016240 f +addQuery 00016260 f +addColliderSphereQuery 000162a0 f +addColliderCylinderQuery 000162e0 f +addColliderBoxQuery 00016320 f +makeAABB 00017d90 f +setupSphereCollider 00019570 f +setupCylinderCollider 000195f0 f +createColliderSphere 00019680 f +createColliderCylinder 000196f0 f +freeCollider 00019760 f +~UnknownObj_0x1289 0001da20 f +draw 0001daa0 f +UnknownObj_0x1289 0001daf0 f +_~UnknownObj_0x1289 0001dc00 f ~UnknownStatic04 0001dde0 f ~UnknownStatic05 0001e0b0 f ~CopSpawnView 0001e140 f +freezeCamDraw 0001e1a0 f CopSpawnView 0001e280 f _~CopSpawnView 0001e3a0 f +createCopSpawnView 0001e460 f EventChild2 0001e540 f endEvent_MAYBE 0001e8c0 f ~EventChild2 00022990 f @@ -273,11 +294,13 @@ spawnPickupList 00044740 f EventChild1Child 000461b0 f ~EventChild1Child 00046310 f _~EventChild1Child 00046650 f +getUnknownStatic13PartDefault 00046920 f getBlocksNeeded 00046b60 f saveGame 00046e20 f _~Progress 00047550 f Progress 00048100 f ~Progress 0004a6c0 f +someVecsDirectionCheck 0004a6f0 f xyToAngle 0004a7a0 f Mission 0004a910 f FUN_00052088 0004ac50 f @@ -289,6 +312,7 @@ populateSomeCharIdArray 0004d5f0 f setManyPlayerStateFieldsToOne 0004d880 f resolveMissionBinPtrs 0004db30 f newMission 0004e930 f +getSmthFromInactiveMssnStg 0004eac0 f getProfKModeSetting 0004eb80 f getSomeController_MAYBE 0004ec30 f MissionManager 0004ecd0 f @@ -359,17 +383,19 @@ StageBin 0006af00 f ~StageBin 0006b270 f ~UnknownStatic22 0006bb80 f _~StageBin 0006c340 f +clearSomeLinkedList_MAYBE 0006c6d0 f TalkCharLive 0006c840 f newTalkCharLive 0006cd00 f ~TalkCharLive 0006ce00 f _~TalkCharLive 0006cec0 f UnknownAllocated_0x1DDE 0006d9a0 f UnknownStatic24 0006da80 f +clearFieldsInSomeLinkedList 0006dbb0 f UnknownStatic25 0006e000 f getTexIndex 0006e130 f _~UnknownStatic25 0006e190 f calculateElapsedTime 0006e910 f -~PerformanceCounter 0006e950 f +_~PerformanceCounter 0006e950 f ~UnknownAllocated_0x12B0 0006ec00 f draw 0006ec80 f setMessage 0006f100 f @@ -420,6 +446,7 @@ Logos 0007e6a0 f _~Logos 0007e7b0 f startLogos 0007e7d0 f ~SomePlayerStateChild 0007e830 f +movementStateInSomeRange 0007f500 f cansGreaterOrEqual 0007fc90 f zeroCounters_MAYBE 0007fda0 f setQuantities 0007fe70 f @@ -443,8 +470,8 @@ MissionManagerChild_0xB 000a82d0 f ~MissionManagerChild_0xB 000a8360 f exec 000a8370 f _~MissionManagerChild_0xB 000a8720 f -execDefault 000aecc0 f -drawDefault 000b3de0 f +callExecDefault 000aecc0 f +callDrawDefault 000b3de0 f MissionManagerChild_0x12B1 000c0a90 f printableStrLen 000fe690 f MissionManagerChild_0x1165 000fe740 f @@ -655,6 +682,7 @@ freeFromSomeTextureArray 0014f640 f freeOneOrAllOfSomeTextureArray 0014f6d0 f setLightDirection 0014fb20 f setLightColour 0014fbb0 f +setAmbient 0014fdb0 f setTextureByIndex 0014fde0 f setTexCoordIndex 0014fe30 f setTextureOps 0014fef0 f @@ -662,8 +690,15 @@ setMipMapLODBias 001502c0 f setRenderState 001504d0 f getRenderState 001507c0 f setSpecularEnable 00150830 f +setLighting 00150850 f setAlphaBlendEnabled 00150890 f +setFogEnable 00150950 f setMaterial 00150c70 f +setStencilEnable 00151120 f +resetDiffuseVertexData 00151130 f +setDiffuseVertexData 00151160 f +setReverseCull 00151180 f +setStencilSettings 001511b0 f setSomeThings 00151820 f draw 00151840 f drawDecimal 001519d0 f @@ -779,6 +814,18 @@ copyRect 00182ba5 f elementMul 00186950 f unpack3 001869e0 f unpack4 00186a30 f +Game_handler_unwind1 00186ba0 f +Game_handler 00186bab f +RootExecObj_handler_unwind1 00186bc0 f +RootExecObj_handler_unwind2 00186bc8 f +RootExecObj_handler_unwind3 00186bd3 f +RootExecObj_handler_unwind4 00186bde f +RootExecObj_handler_unwind5 00186be9 f +RootExecObj_handler 00186bf4 f +initRootExecObj_handler_unwind1 00186c00 f +initRootExecObj_handler 00186c0b f +createCopSpawnView_unwind1 00186cc0 f +createCopSpawnView_handler 00186ccb f _main_handler_unwind1 00187710 f _main_handler 0018771b f initUnknownStatic01 0018acc0 f @@ -793,7 +840,7 @@ initUnknownStatic09 0018ad80 f initUnknownStatic10 0018ada0 f initUnknownStatic11 0018adb0 f initUnknownStatic12 0018adc0 f -initUnknownStatic13 0018add0 f +UnknownStatic13 0018add0 f initUnknownStatic14 0018ae00 f initUnknownStatic15 0018ae10 f initUnknownStatic16 0018ae20 f @@ -829,9 +876,10 @@ initUnknownStatic45 0018c6f0 f initUnknownStatic46 0018c810 f ~UnknownStatic06 0018c980 f ~SaveData 0018c9a0 f +~UnknownStatic13 0018c9f0 f ~GraphicsSettings 0018caa0 f ~UnknownStatic25 0018caf0 f -setPerformanceCounterDestructor 0018cb10 f +~PerformanceCounter 0018cb10 f SetVerticalBlankCallback 0018ce30 f initUnknownStatic48 0018e410 f D3D__DirtyFlags 0019ded8 l @@ -872,6 +920,7 @@ isDxt 001bbac0 f vector_constructor_iterator 001bd03b f initUnknownStaticXPP 001bdaa9 f D3DDIRTYFROMTEXTURESTATE 001c4160 l +D3DSIMPLERENDERSTATEENCODE 001c4248 l vtable 001c4390 l vtable 001c43d8 l vtable 001c4418 l @@ -879,6 +928,7 @@ vtable 001c4458 l vtable 001c4480 l vtable 001c4544 l 2^32 001c4558 l +vtable 001c4580 l vtable 001c45c0 l vtable 001c45c4 l vtable 001c45c8 l @@ -960,9 +1010,18 @@ vtable 001e1900 l vtable 001e3828 l g_directSound8 001e38fc l vtable 001e4284 l +Game_unwindmap 001e4d20 l +Game_funcinfo 001e4d28 l +RootExecObj_unwindmap 001e4d44 l +RootExecObj_funcinfo 001e4d6c l +initRootExecObj_unwindmap 001e4d88 l +initRootExecObj_funcinfo 001e4d90 l +createCopSpawnView_unwindmap 001e4ea8 l +createCopSpawnView_funcinfo 001e4eb0 l _main_unwindmap 001e620c l _main_funcinfo 001e6214 l staticInitializers 001eb770 l +drawFuncArgs 001eb880 l g_unknownStatic02 001eb994 l g_unknownStatic04 001ebaa8 l g_unknownStatic05 001ebabc l @@ -987,12 +1046,16 @@ g_saveData 001effb0 l someJaTextParameter 001f8b30 l someSpaceTextParameter 001f8b58 l fullscreenViewport 001f90b0 l +g_unknownStatic13PartDefault 001f9358 l +g_unknownStatic13 001f93c8 l +g_unchangingUnknownStatic3Ptr 001f9640 l charIds 001f9808 l exec_1Funcs 001f9888 l exec_5Funcs 001f9a68 l exec_3Funcs 001f9c48 l exec_2Funcs 001f9e28 l g_profKModeSettings 001fa0e0 l +g_lighting 001fa1cc l g_alphaBlendEnabled 001fa1d0 l g_unknownStatic16 001fb804 l g_unknownStatic17 001fb820 l @@ -1007,6 +1070,7 @@ ioMessages 001fbca8 l g_graphicsSettingsSource 001fbcc0 l g_language 001fc724 l g_unknownStatic22 0020c6c0 l +g_unknownGlobal 0020c750 l g_performanceCounter 0020cc48 l g_unknownStatic27 0020cc58 l keyStrings 0020cf40 l @@ -1068,6 +1132,7 @@ g_game 0022fce0 l g_collisionManager 0022fce8 l g_unknownStatic09 002314b0 l g_objectCount 00251d40 l +g_textureOps 00251d44 l g_texIndexPerStage 00251d54 l g_controllerCOM_MAYBE 00251d64 l g_timesNewRoman 00251d68 l @@ -1076,6 +1141,9 @@ g_graphicsCOMChild 00251d70 l g_unknownCOM 00251d74 l g_unknownCOMChild 00251d78 l g_comManager_MAYBE 00251d7c l +g_specularEnable 00251d80 l +g_fogEnable 00251d84 l +g_texIndex 00251d88 l g_inputs 00251de0 l g_activeControllerInput_MAYBE 00251ee0 l g_activeController_MAYBE 00251f20 l @@ -1101,7 +1169,10 @@ g_matrices 00264c08 l g_clearColour 00264c14 l g_lighting 00264ca0 l g_diffuseLightRGB 00264d28 l +g_ambient 00264d38 l g_material 00264d48 l +g_diffuseVertexData 00264d54 l +g_reverseCull 00264d64 l g_buf 00264d68 l g_gammaRamp 00264e68 l g_viewport 00264ed0 l