Add various data structures

Stuff needed to get Core.obj delinking again.
This commit is contained in:
KeybadeBlox 2026-03-20 23:29:02 -04:00
parent 709bbf9a54
commit e58f774d82
4 changed files with 206 additions and 7 deletions

View file

@ -21,6 +21,185 @@ struct GraphicsPerformanceCounters {
unsigned unknown0x14; unsigned unknown0x14;
}; };
// TODO: Just here to get delinking working until we make dedicated source
// files for these classes
struct CollisionManager {
CollisionManager();
virtual ~CollisionManager();
};
struct UnknownGlobal {
UnknownGlobal();
virtual ~UnknownGlobal();
};
struct UnknownStatic02 {
UnknownStatic02();
virtual ~UnknownStatic02();
};
struct UnknownStatic04 {
UnknownStatic04();
virtual ~UnknownStatic04();
};
struct UnknownStatic05 {
UnknownStatic05();
virtual ~UnknownStatic05();
};
struct UnknownStatic06 {
UnknownStatic06();
virtual ~UnknownStatic06();
};
struct UnknownStatic07 {
UnknownStatic07();
virtual ~UnknownStatic07();
};
struct UnknownStatic09 {
UnknownStatic09();
virtual ~UnknownStatic09();
};
struct UnknownStatic13 {
char unknown1[0x274];
void * unknown2;
void * unknown3;
};
struct UnknownStatic16 {
UnknownStatic16();
virtual ~UnknownStatic16();
};
struct UnknownStatic17 {
UnknownStatic17();
virtual ~UnknownStatic17();
};
struct UnknownStatic18 {
UnknownStatic18();
virtual ~UnknownStatic18();
};
struct UnknownStatic19 {
UnknownStatic19();
virtual ~UnknownStatic19();
};
struct UnknownStatic24 {
UnknownStatic24();
virtual ~UnknownStatic19();
};
struct UnknownStatic27 {
UnknownStatic27();
virtual ~UnknownStatic27();
void * unknown[3];
};
struct GraphicsSetting {
unsigned countedIfZero;
char * name;
D3DVECTOR unknown;
float value;
unsigned index;
};
struct GraphicsSettings {
float * settings;
unsigned settingsArrSizeInBytes;
unsigned unknown1;
unsigned unknown2;
unsigned srcArrZeroCnt;
GraphicsSetting * srcItemsMarked0;
unsigned * offsetsFromPrevSrcItemMarked0;
};
enum GraphicsSettingType {
GST_WARP = 0x0,
GST_WARP_X = 0x1,
GST_WARP_Y = 0x2,
GST_WARP_Z = 0x3,
GST_GO = 0x4,
GST_MEMORY = 0x5,
GST_DRAW = 0x6,
GST_COLOR = 0x7,
GST_COLOR_R = 0x8,
GST_COLOR_G = 0x9,
GST_COLOR_B = 0xa,
GST_AMBIENT = 0xb,
GST_AMBIENT_R = 0xc,
GST_AMBIENT_G = 0xd,
GST_AMBIENT_B = 0xe,
GST_SHADOWCOLOR = 0xf,
GST_SHADOWCOLOR_A = 0x10,
GST_SHADOWCOLOR_R = 0x11,
GST_SHADOWCOLOR_G = 0x12,
GST_SHADOWCOLOR_B = 0x13,
GST_BGCOLOR = 0x14,
GST_BGCOLOR_R = 0x15,
GST_BGCOLOR_G = 0x16,
GST_BGCOLOR_B = 0x17,
GST_MIPMAPLOD = 0x18,
GST_MIPMAPLOD_BIAS = 0x19,
GST_G_CONTRAST = 0x1a,
GST_G_CONTRAST_R = 0x1b,
GST_G_CONTRAST_G = 0x1c,
GST_G_CONTRAST_B = 0x1d,
GST_G_LUMINANCE = 0x1e,
GST_G_LUMINANCE_R = 0x1f,
GST_G_LUMINANCE_G = 0x20,
GST_G_LUMINANCE_B = 0x21,
GST_GRIND = 0x22,
GST_GRIND_NS = 0x23,
GST_GRIND_XS = 0x24,
GST_GRIND_NR = 0x25,
GST_GRIND_XR = 0x26,
GST_GIZA_NO = 0x27,
GST_GIZA_NO_T = 0x28,
GST_GIZA_SPEED = 0x29,
GST_GIZA_SPEED_R = 0x2a,
GST_GIZA_SPEED_T = 0x2b,
GST_GIZA_SPEED_S = 0x2c,
GST_GIZA_GRIND = 0x2d,
GST_GIZA_GRIND_R = 0x2e,
GST_GIZA_GRIND_T = 0x2f,
GST_GIZA_GRIND_S = 0x30,
GST_GIZA_NORMAL = 0x31,
GST_GIZA_NORMAL_R = 0x32,
GST_GIZA_NORMAL_T = 0x33,
GST_GIZA_NORMAL_S = 0x34,
GST_GIZA_SDASH = 0x35,
GST_GIZA_SDASH_R = 0x36,
GST_GIZA_SDASH_T = 0x37,
GST_GIZA_SDASH_S = 0x38,
GST_GIZA_CAMZ = 0x39,
GST_GIZA_CAMZ_ND = 0x3a,
GST_GIZA_CAMZ_XD = 0x3b,
GST_GIZA_CAMZ_NR = 0x3c,
GST_GIZA_CAMZ_XR = 0x3d,
GST_GIZA_CAMTRT = 0x3e,
GST_GIZA_CAMTRT_ND = 0x3f,
GST_GIZA_CAMTRT_XD = 0x40,
GST_GIZA_CAMTRT_NR = 0x41,
GST_GIZA_CAMTRT_XR = 0x42,
GST_GIZA_CAMANG_NA = 0x43,
GST_GIZA_CAMANG_XA = 0x44,
GST_GIZA_CAMANG_NR = 0x45,
GST_GIZA_CAMANG_XR = 0x46,
GST_GIZA_MESH = 0x47,
GST_GIZA_MESH_IP = 0x48,
GST_GIZA_MESH_AP = 0x49,
GST_GIZA_MESH_BA = 0x4a,
GST_GIZA_CAMALPHA = 0x4b,
GST_GIZA_CAMALPHA_ENABLE = 0x4c,
GST_DIST = 0x4d,
GST_FOG = 0x4e,
GST_FOG_ENABLE = 0x4f,
GST_FOG_R = 0x50,
GST_FOG_G = 0x51,
GST_FOG_B = 0x52,
GST_FOG_RANGE = 0x53,
GST_FOG_RANGE_NEAR = 0x54,
GST_FOG_RANGE_FAR = 0x55,
GST_POWER = 0x56,
GST_WIRE_FRAME = 0x57,
GST_WIRE_FRAME_ENABLE = 0x58,
GST_TEXTURE = 0x59,
GST_TEXTURE_NO = 0x5a,
GST_SCREENGAUGE = 0x5b,
GST_SCREENGAUGE_ENABLE = 0x5c,
GST_OWARI = 0x5d,
GST_COUNT = 0x5e,
};
enum GameObjFlags { enum GameObjFlags {
GOF_DRAWTREEHEAD = 1 << 0, GOF_DRAWTREEHEAD = 1 << 0,
GOF_SKIPDRAWINGSOMETHING = 1 << 1, GOF_SKIPDRAWINGSOMETHING = 1 << 1,
@ -175,6 +354,13 @@ struct GameObj {
GameObj(GameObj * parent, GameObjIndex index, GameObjFlags flags); GameObj(GameObj * parent, GameObjIndex index, GameObjFlags flags);
}; };
// There's a big array of possible arguments for draw methods with these
struct DrawFuncArgs {
GameObjFlags flagFilterAny;
int arg1;
int arg2;
};
// Base class of objects serving as the head of a tree of objects to draw // Base class of objects serving as the head of a tree of objects to draw
// recursively // recursively
struct DrawTree : GameObj { struct DrawTree : GameObj {

View file

@ -15,9 +15,11 @@ extern "C" {
typedef DWORD D3DCOLOR; typedef DWORD D3DCOLOR;
struct D3DVECTOR { struct D3DVECTOR {
float x, y, z ; float x, y, z ;
}; };
struct D3DVECTOR4 { struct D3DVECTOR4 {
float x, y, z, w; float x, y, z, w;
}; };
@ -26,6 +28,15 @@ struct D3DRECT {
LONG x1, y1, x2, y2; LONG x1, y1, x2, y2;
}; };
struct D3DVBLANKDATA {
DWORD VBlank;
DWORD Swap;
DWORD Flags;
};
typedef void (*D3DVBLANKCALLBACK)(D3DVBLANKDATA * pData);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -25,7 +25,7 @@ typedef __int64 LONGLONG;
typedef unsigned char BYTE; typedef unsigned char BYTE;
typedef unsigned short WORD; typedef unsigned short WORD;
typedef unsigned long DWORD, * PDWORD; typedef unsigned long DWORD;
typedef void VOID; typedef void VOID;
typedef void * LPVOID; typedef void * LPVOID;
@ -33,6 +33,8 @@ typedef unsigned long SIZE_T;
typedef float FLOAT; typedef float FLOAT;
typedef int BOOL; typedef int BOOL;
typedef char * LPCSTR;
#define TRUE 1 #define TRUE 1
#define FALSE 0 #define FALSE 0

View file

@ -32,12 +32,12 @@ BOOL __stdcall CloseHandle (HANDLE hHandle);
typedef DWORD (__stdcall * LPTHREAD_START_ROUTINE)(LPVOID lpThreadParameter); typedef DWORD (__stdcall * LPTHREAD_START_ROUTINE)(LPVOID lpThreadParameter);
HANDLE __stdcall CreateThread( HANDLE __stdcall CreateThread(
void * lpThreadAttributes, void * lpThreadAttributes,
DWORD dwStackSize, DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress, LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter, LPVOID lpParameter,
DWORD dwCreationFlags, DWORD dwCreationFlags,
PDWORD lpThreadId DWORD * lpThreadId
); );
void __stdcall XapiBootToDash( void __stdcall XapiBootToDash(