Continue populating JSRF/Core

This commit is contained in:
KeybadeBlox 2025-12-31 23:03:36 -05:00
parent f65876135d
commit f8578b0871
3 changed files with 356 additions and 28 deletions

View file

@ -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();
};