mirror of
https://codeberg.org/KeybadeBlox/JSRF-Decompilation.git
synced 2026-02-20 18:27:04 +03:00
Continue populating JSRF/Core
This commit is contained in:
parent
f65876135d
commit
f8578b0871
3 changed files with 356 additions and 28 deletions
|
|
@ -30,9 +30,48 @@
|
|||
"source_path": "src/JSRF/Core.cpp"
|
||||
},
|
||||
"symbol_mappings": {
|
||||
"DrawTree::DrawTree": "??0DrawTree@@QAE@PAUGameObj@@W4GameObjIndex@@W4GameObjFlags@@@Z",
|
||||
"DrawTree::`scalar_deleting_destructor'": "??_GDrawTree@@UAEPAXI@Z",
|
||||
"DrawTree::copySomeVectors": "?copySomeVectors@DrawTree@@QAEXXZ",
|
||||
"DrawTree::~DrawTree": "??1DrawTree@@UAE@XZ",
|
||||
"GameObj::GameObj": "??0GameObj@@QAE@PAU0@W4GameObjIndex@@W4GameObjFlags@@@Z",
|
||||
"GameObj::`scalar_deleting_destructor'": "??_GGameObj@@UAEPAXI@Z",
|
||||
"GameObj::`vftable'": "??_7GameObj@@6B@",
|
||||
"GameObj::~GameObj": "??1GameObj@@UAE@XZ"
|
||||
"GameObj::addToSiblings": "?addToSiblings@GameObj@@QAEXPAU1@0@Z",
|
||||
"GameObj::destructChildren": "?destructChildren@GameObj@@QAEXPAU1@@Z",
|
||||
"GameObj::drawListCoveredPause": "?drawListCoveredPause@GameObj@@QAEXW4GameObjFlags@@HH0I00@Z",
|
||||
"GameObj::drawListDefault": "?drawListDefault@GameObj@@QAEXW4GameObjFlags@@HH0I00@Z",
|
||||
"GameObj::drawListEvent": "?drawListEvent@GameObj@@QAEXW4GameObjFlags@@HH0I00@Z",
|
||||
"GameObj::drawListFreezeCam": "?drawListFreezeCam@GameObj@@QAEXW4GameObjFlags@@HH0I00@Z",
|
||||
"GameObj::drawListUncoveredPause": "?drawListUncoveredPause@GameObj@@QAEXW4GameObjFlags@@HH0I00@Z",
|
||||
"GameObj::drawTreeCoveredPause1": "?drawTreeCoveredPause1@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeCoveredPause2": "?drawTreeCoveredPause2@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeDefault1": "?drawTreeDefault1@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeDefault2": "?drawTreeDefault2@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeEvent1": "?drawTreeEvent1@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeEvent2": "?drawTreeEvent2@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeFreezeCam1": "?drawTreeFreezeCam1@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeFreezeCam2": "?drawTreeFreezeCam2@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeUncoveredPause1": "?drawTreeUncoveredPause1@GameObj@@QAEXXZ",
|
||||
"GameObj::drawTreeUncoveredPause2": "?drawTreeUncoveredPause2@GameObj@@QAEXXZ",
|
||||
"GameObj::getParent": "?getParent@GameObj@@QAEPAU1@XZ",
|
||||
"GameObj::nopDraw": "?drawDefault@GameObj@@UAEXH@Z",
|
||||
"GameObj::nopExec": "?execDefault@GameObj@@UAEXXZ",
|
||||
"GameObj::recursiveExecCoveredPause": "?recursiveExecCoveredPause@GameObj@@QAEXXZ",
|
||||
"GameObj::recursiveExecDefault": "?recursiveExecDefault@GameObj@@QAEXXZ",
|
||||
"GameObj::recursiveExecEvent": "?recursiveExecEvent@GameObj@@QAEXXZ",
|
||||
"GameObj::recursiveExecFreezeCam": "?recursiveExecFreezeCam@GameObj@@QAEXXZ",
|
||||
"GameObj::recursiveExecUncoveredPause": "?recursiveExecUncoveredPause@GameObj@@QAEXXZ",
|
||||
"GameObj::recursivePostExecCoveredPause": "?recursivePostExecCoveredPause@GameObj@@QAEXXZ",
|
||||
"GameObj::recursivePostExecDefault": "?recursivePostExecDefault@GameObj@@QAEXXZ",
|
||||
"GameObj::recursivePostExecEvent": "?recursivePostExecEvent@GameObj@@QAEXXZ",
|
||||
"GameObj::recursivePostExecFreezeCam": "?recursivePostExecFreezeCam@GameObj@@QAEXXZ",
|
||||
"GameObj::recursivePostExecUncoveredPause": "?recursivePostExecUncoveredPause@GameObj@@QAEXXZ",
|
||||
"GameObj::removeChildrenFromObjList": "?removeChildrenFromObjList@GameObj@@QAEXPAU1@@Z",
|
||||
"GameObj::removeFromObjList": "?removeFromObjList@GameObj@@QAEXPAU1@@Z",
|
||||
"GameObj::setParent": "?setParent@GameObj@@QAEXPAU1@@Z",
|
||||
"GameObj::~GameObj": "??1GameObj@@UAE@XZ",
|
||||
"PlayerObj::PlayerObj": "??0PlayerObj@@QAE@PAUGameObj@@W4GameObjIndex@@W4GameObjFlags@@@Z"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -11,3 +11,294 @@ Game and GameObj classes that form the foundation of the JSRF game code.
|
|||
GameObj::~GameObj() {
|
||||
g_game->gameObjCnt -= 1;
|
||||
}
|
||||
|
||||
// Address: 0x00011070
|
||||
// Matching: no
|
||||
void GameObj::recursiveExecDefault() {
|
||||
}
|
||||
|
||||
// Address: 0x000110A0
|
||||
// Matching: no
|
||||
void GameObj::drawListDefault(
|
||||
GameObjFlags flagFilterAny1,
|
||||
int drawArg1,
|
||||
int drawArg2,
|
||||
GameObjFlags flagFilterAll,
|
||||
unsigned otherBitfieldFilterAny,
|
||||
GameObjFlags flagFilterNone,
|
||||
GameObjFlags flagFilterAny2
|
||||
) {
|
||||
}
|
||||
|
||||
// Address: 0x00011220
|
||||
// Matching: no
|
||||
void GameObj::drawTreeDefault1() {
|
||||
}
|
||||
|
||||
// Address: 0x00011260
|
||||
// Matching: no
|
||||
void GameObj::drawTreeDefault2() {
|
||||
}
|
||||
|
||||
// Address: 0x000112A0
|
||||
// Matching: no
|
||||
void GameObj::recursiveExecEvent() {
|
||||
}
|
||||
|
||||
// Address: 0x000112D0
|
||||
// Matching: no
|
||||
void GameObj::drawListEvent(
|
||||
GameObjFlags flagFilterAny1,
|
||||
int drawArg1,
|
||||
int drawArg2,
|
||||
GameObjFlags flagFilterAll,
|
||||
unsigned otherBitfieldFilterAny,
|
||||
GameObjFlags flagFilterNone,
|
||||
GameObjFlags flagFilterAny2
|
||||
) {
|
||||
}
|
||||
|
||||
// Address: 0x00011450
|
||||
// Matching: no
|
||||
void GameObj::drawTreeEvent1() {
|
||||
}
|
||||
|
||||
// Address: 0x00011490
|
||||
// Matching: no
|
||||
void GameObj::drawTreeEvent2() {
|
||||
}
|
||||
|
||||
// Address: 0x000114D0
|
||||
// Matching: no
|
||||
void GameObj::recursiveExecCoveredPause() {
|
||||
}
|
||||
|
||||
// Address: 0x00011500
|
||||
// Matching: no
|
||||
void GameObj::drawListCoveredPause(
|
||||
GameObjFlags flagFilterAny1,
|
||||
int drawArg1,
|
||||
int drawArg2,
|
||||
GameObjFlags flagFilterAll,
|
||||
unsigned otherBitfieldFilterAny,
|
||||
GameObjFlags flagFilterNone,
|
||||
GameObjFlags flagFilterAny2
|
||||
) {
|
||||
}
|
||||
|
||||
// Address: 0x00011680
|
||||
// Matching: no
|
||||
void GameObj::drawTreeCoveredPause1() {
|
||||
}
|
||||
|
||||
// Address: 0x000116C0
|
||||
// Matching: no
|
||||
void GameObj::drawTreeCoveredPause2() {
|
||||
}
|
||||
|
||||
// Address: 0x00011700
|
||||
// Matching: no
|
||||
void GameObj::recursiveExecFreezeCam() {
|
||||
}
|
||||
|
||||
// Address: 0x00011730
|
||||
// Matching: no
|
||||
void GameObj::drawListFreezeCam(
|
||||
GameObjFlags flagFilterAny1,
|
||||
int drawArg1,
|
||||
int drawArg2,
|
||||
GameObjFlags flagFilterAll,
|
||||
unsigned otherBitfieldFilterAny,
|
||||
GameObjFlags flagFilterNone,
|
||||
GameObjFlags flagFilterAny2
|
||||
) {
|
||||
}
|
||||
|
||||
// Address: 0x000118B0
|
||||
// Matching: no
|
||||
void GameObj::drawTreeFreezeCam1() {
|
||||
}
|
||||
|
||||
// Address: 0x000118F0
|
||||
// Matching: no
|
||||
void GameObj::drawTreeFreezeCam2() {
|
||||
}
|
||||
|
||||
// Address: 0x00011930
|
||||
// Matching: no
|
||||
void GameObj::recursiveExecUncoveredPause() {
|
||||
}
|
||||
|
||||
// Address: 0x00011960
|
||||
// Matching: no
|
||||
void GameObj::drawListUncoveredPause(
|
||||
GameObjFlags flagFilterAny1,
|
||||
int drawArg1,
|
||||
int drawArg2,
|
||||
GameObjFlags flagFilterAll,
|
||||
unsigned otherBitfieldFilterAny,
|
||||
GameObjFlags flagFilterNone,
|
||||
GameObjFlags flagFilterAny2
|
||||
) {
|
||||
}
|
||||
|
||||
// Address: 0x00011AE0
|
||||
// Matching: no
|
||||
void GameObj::drawTreeUncoveredPause1() {
|
||||
}
|
||||
|
||||
// Address: 0x00011B20
|
||||
// Matching: no
|
||||
void GameObj::drawTreeUncoveredPause2() {
|
||||
}
|
||||
|
||||
// Address: 0x00011B60
|
||||
// Matching: no
|
||||
void GameObj::addToSiblings(GameObj * sibling, GameObj * parent) {
|
||||
}
|
||||
|
||||
// Address: 0x00011B90
|
||||
// Matching: no
|
||||
void GameObj::destructChildren(GameObj * firstChild) {
|
||||
}
|
||||
|
||||
// Address: 0x00011BD0
|
||||
// Matching: yes
|
||||
GameObj * GameObj::getParent() {
|
||||
return this->parent;
|
||||
}
|
||||
|
||||
// Address: 0x00011BE0
|
||||
// Matching: no
|
||||
void GameObj::removeFromObjList(GameObj * obj) {
|
||||
}
|
||||
|
||||
// Address: 0x00011C20
|
||||
// Matching: no
|
||||
void GameObj::removeChildrenFromObjList(GameObj * firstChild) {
|
||||
}
|
||||
|
||||
// Address: 0x00011C80
|
||||
// Matching: yes
|
||||
void GameObj::drawDefault(int unknown) {}
|
||||
|
||||
// Address: 0x00011C90
|
||||
// Matching: yes
|
||||
void GameObj::execDefault() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::postExecDefault() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::execEvent() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::postExecEvent() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C80)
|
||||
void GameObj::drawEvent(int unknown) {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::execCoveredPause() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::postExecCoveredPause() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C80)
|
||||
void GameObj::drawCoveredPause(int unknown) {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::execFreezeCam() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::postExecFreezeCam() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C80)
|
||||
void GameObj::drawFreezeCam(int unknown) {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::execUncoveredPause() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C90)
|
||||
void GameObj::postExecUncoveredPause() {}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x00011C80)
|
||||
void GameObj::drawUncoveredPause(int unknown) {}
|
||||
|
||||
// Address: 0x00011CA0
|
||||
// Matching: no
|
||||
void DrawTree::copySomeVectors() {
|
||||
}
|
||||
|
||||
// Address: 0x00011D00
|
||||
// Matching: no
|
||||
void GameObj::recursivePostExecDefault() {
|
||||
}
|
||||
|
||||
// Address: 0x00011D00
|
||||
// Matching: no
|
||||
void GameObj::recursivePostExecEvent() {
|
||||
}
|
||||
|
||||
// Address: 0x00011E40
|
||||
// Matching: no
|
||||
void GameObj::recursivePostExecCoveredPause() {
|
||||
}
|
||||
|
||||
// Address: 0x00011EE0
|
||||
// Matching: no
|
||||
void GameObj::recursivePostExecFreezeCam() {
|
||||
}
|
||||
|
||||
// Address: 0x00011F80
|
||||
// Matching: no
|
||||
void GameObj::recursivePostExecUncoveredPause() {
|
||||
}
|
||||
|
||||
// Address: 0x00012020
|
||||
// Matching: no
|
||||
void GameObj::setParent(GameObj * parent) {
|
||||
}
|
||||
|
||||
// Address: 0x00012100
|
||||
// Matching: no
|
||||
GameObj::GameObj(GameObj * parent, GameObjIndex index, GameObjFlags flags) {
|
||||
g_game->setObj(index, this);
|
||||
|
||||
this->parent = NULL;
|
||||
this->firstChild = NULL;
|
||||
this->prevSibling = NULL;
|
||||
this->nextSibling = NULL;
|
||||
this->index = index;
|
||||
this->flags = flags;
|
||||
|
||||
this->setParent(parent);
|
||||
|
||||
this->sortKey = 0;
|
||||
this->otherBitfield = 1;
|
||||
|
||||
g_game->gameObjCnt += 1;
|
||||
}
|
||||
|
||||
// Address: 0x00012170
|
||||
// Matching: no
|
||||
DrawTree::DrawTree(GameObj * parent, GameObjIndex index, GameObjFlags flags) :
|
||||
GameObj(parent, index, flags) {
|
||||
this->otherBitfield = 7;
|
||||
this->someIndex = 0;
|
||||
}
|
||||
|
||||
// Address: 0x000121D0
|
||||
// Matching: no
|
||||
DrawTree::~DrawTree() {}
|
||||
|
||||
// Address: 0x000121E0
|
||||
// Matching: no
|
||||
PlayerObj::PlayerObj(GameObj * parent, GameObjIndex index, GameObjFlags flags) :
|
||||
GameObj(parent, index, flags) {
|
||||
this->unknown0x44 = 0;
|
||||
this->unknown0x48 = 0;
|
||||
}
|
||||
|
||||
// Eliminated by link time code generation (aliased with 0x000121D0)
|
||||
PlayerObj::~PlayerObj() {}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ enum GameObjIndex {
|
|||
};
|
||||
|
||||
// Base class of most objects (and everything in g_game->objects)
|
||||
class GameObj {
|
||||
struct GameObj {
|
||||
GameObjFlags flags;
|
||||
GameObjIndex index;
|
||||
|
||||
|
|
@ -64,7 +64,6 @@ class GameObj {
|
|||
// Another linked list sort of arrangement
|
||||
GameObj * someKindOfNextObj;
|
||||
|
||||
public:
|
||||
virtual ~GameObj();
|
||||
|
||||
void recursiveExecDefault();
|
||||
|
|
@ -147,23 +146,23 @@ public:
|
|||
// frame.
|
||||
virtual void execDefault();
|
||||
virtual void postExecDefault();
|
||||
virtual void drawDefault();
|
||||
virtual void drawDefault(int);
|
||||
|
||||
virtual void execEvent();
|
||||
virtual void postExecEvent();
|
||||
virtual void drawEvent();
|
||||
virtual void drawEvent(int);
|
||||
|
||||
virtual void execCoveredPause();
|
||||
virtual void postExecCoveredPause();
|
||||
virtual void drawCoveredPause();
|
||||
virtual void drawCoveredPause(int);
|
||||
|
||||
virtual void execFreezeCam();
|
||||
virtual void postExecFreezeCam();
|
||||
virtual void drawFreezeCam();
|
||||
virtual void drawFreezeCam(int);
|
||||
|
||||
virtual void execUncoveredPause();
|
||||
virtual void postExecUncoveredPause();
|
||||
virtual void drawUncoveredPause();
|
||||
virtual void drawUncoveredPause(int);
|
||||
|
||||
void recursivePostExecDefault();
|
||||
void recursivePostExecEvent();
|
||||
|
|
@ -178,7 +177,7 @@ public:
|
|||
|
||||
// Base class of objects serving as the head of a tree of objects to draw
|
||||
// recursively
|
||||
class DrawTree : GameObj {
|
||||
struct DrawTree : GameObj {
|
||||
D3DVECTOR unknown0x44;
|
||||
D3DVECTOR unknown0x50;
|
||||
D3DVECTOR unknown0x5C;
|
||||
|
|
@ -190,18 +189,17 @@ class DrawTree : GameObj {
|
|||
D3DRECT viewport;
|
||||
unsigned someIndex;
|
||||
|
||||
public:
|
||||
void copySomeVectors();
|
||||
DrawTree(GameObj * parent, GameObjIndex index, GameObjFlags flags);
|
||||
virtual ~DrawTree();
|
||||
};
|
||||
|
||||
class PlayerObj : GameObj {
|
||||
struct PlayerObj : GameObj {
|
||||
unsigned unknown0x44;
|
||||
unsigned unknown0x48;
|
||||
|
||||
public:
|
||||
PlayerObj(GameObj * parent, GameObjIndex index, GameObjFlags flags);
|
||||
virtual ~PlayerObj();
|
||||
};
|
||||
|
||||
// Top-level globally-accessible "god object" that runs the main loop and
|
||||
|
|
@ -251,9 +249,9 @@ extern struct Game {
|
|||
BOOL uncoveredPauseNextFrame;
|
||||
BOOL noUncoveredPauseNextFrame;
|
||||
|
||||
unsigned unknown0x70;
|
||||
BOOL drawChildren;
|
||||
BOOL skipDraw;
|
||||
int zeroedByExec;
|
||||
BOOL runSomeExtraDrawListCode;
|
||||
GraphicsPerformanceCounters perfCounters;
|
||||
|
||||
DrawMode drawMode;
|
||||
|
|
@ -262,17 +260,17 @@ extern struct Game {
|
|||
GameObj * objects[7668];
|
||||
unsigned globals[461]; // Items may be any 32-bit type, e.g. ptr
|
||||
|
||||
GameObj * somethingLinkedBHead;
|
||||
GameObj * * somethingLinkedBEndNext;
|
||||
DrawTree * drawTreesHead;
|
||||
DrawTree * * drawTreesEndNext;
|
||||
|
||||
GameObj * somethingLinkedAHead;
|
||||
GameObj * * somethingLinkedAEndNext;
|
||||
GameObj * drawListHead;
|
||||
GameObj * * drawListEndNext;
|
||||
|
||||
GameObj * sortedLinkedListHead;
|
||||
GameObj * * sortedLinkedListEndNext;
|
||||
GameObj * drawPriorityListHead;
|
||||
GameObj * * drawPriorityListEndNext;
|
||||
|
||||
GameObj * linkedListsByKeyHeads [256];
|
||||
GameObj * * linkedListByKeyEndNexts[256];
|
||||
GameObj * drawPriorityListsByKeyHeads [256];
|
||||
GameObj * * drawPriorityListsByKeyEndNexts[256];
|
||||
|
||||
LARGE_INTEGER execPerfCount;
|
||||
LARGE_INTEGER drawPerfCount;
|
||||
|
|
@ -286,10 +284,10 @@ extern struct Game {
|
|||
int frameCnt2;
|
||||
int frameCnt3;
|
||||
unsigned gameObjCnt;
|
||||
GameObj * rootDrawObj;
|
||||
int unknown0x87F0;
|
||||
DrawTree * currentDrawTree;
|
||||
GameObjIndex currentDrawTreeIndex;
|
||||
int unknown0x87F4;
|
||||
Mat4 unknown0x87F8;
|
||||
Mat4 parentMatrix;
|
||||
unsigned unknown0x8838;
|
||||
unsigned unknown0x883C;
|
||||
|
||||
|
|
@ -324,8 +322,8 @@ extern struct Game {
|
|||
void addToDrawList (GameObj * obj);
|
||||
void removeFromDrawList(GameObj * obj);
|
||||
|
||||
void setObj (GameObjIndex index );
|
||||
void unsetObj (GameObjIndex index , GameObj * obj);
|
||||
void setObj (GameObjIndex index , GameObj * obj);
|
||||
void unsetObj (GameObjIndex index );
|
||||
GameObj * getObj (GameObjIndex index );
|
||||
int allocObjIndex(GameObjIndex min , GameObjIndex max);
|
||||
BOOL objIndexAvail(GameObjIndex index );
|
||||
|
|
@ -351,7 +349,7 @@ extern struct Game {
|
|||
} * g_game;
|
||||
|
||||
// Root of the exec GameObj tree
|
||||
class RootExecObj : GameObj {
|
||||
struct RootExecObj : GameObj {
|
||||
RootExecObj(GameObj * parent, GameObjIndex index, GameObjFlags flags);
|
||||
virtual ~RootExecObj();
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue