Add data type import for Ghidra

This commit is contained in:
KeybadeBlox 2026-02-04 19:52:12 -05:00
parent 30f8a5879e
commit 63002e0f08
9 changed files with 233 additions and 31 deletions

View file

@ -215,7 +215,7 @@ enum GlobalIndex {
};
#pragma pack(4)
extern struct Game {
struct Game {
char unknown0x4[4];
unsigned unknown0x8;
unsigned * unknown0xC;
@ -350,7 +350,8 @@ extern struct Game {
void draw();
void frame();
int mainLoop();
} * g_game;
};
extern Game * g_game;
// Root of the exec GameObj tree
struct RootExecObj : GameObj {

View file

@ -75,7 +75,13 @@ enum FlagList {
};
// Numeric IDs for tag sizes (should maybe put somewhere else?)
enum TagSize { TAGSIZE_SS, TAGSIZE_S, TAGSIZE_M, TAGSIZE_L, TAGSIZE_XL };
enum TagSize {
TAGSIZE_SS,
TAGSIZE_S,
TAGSIZE_M,
TAGSIZE_L,
TAGSIZE_XL
};
// Numeric IDs for different test run categories
enum TestRunType {
@ -87,22 +93,31 @@ enum TestRunType {
// Unpacked version of TestRunScoreSaved
struct TestRunScore {
unsigned score;
unsigned character;
unsigned rank1; // Used by Jet Tech
unsigned rank2; // Used by other test runs
unsigned score;
unsigned character;
unsigned rank1; // Used by Jet Tech
unsigned rank2; // Used by other test runs
};
// Numeric IDs for different timers
enum Timer { TIMER_DEATHBALLPRACTICE, TIMER_CLUTCH, TIMER_UNUSED };
enum Timer {
TIMER_DEATHBALLPRACTICE,
TIMER_CLUTCH,
TIMER_UNUSED
};
// Info showed in save/load menu
struct SaveDescription { unsigned chapter, playtimeSeconds; };
struct SaveDescription {
unsigned chapter, playtimeSeconds;
};
union FlagListOrPtr { FlagList list; unsigned * ptr; };
union FlagListOrPtr {
FlagList list;
unsigned * ptr;
};
// Save data-ish data structure used at runtime
extern struct GameData {
struct GameData {
SaveData saveActive;
SaveData saveStashed; // Holds save data during test runs/tutorials
@ -188,6 +203,7 @@ extern struct GameData {
virtual ~GameData();
void addHighScore(unsigned stageId, TestRunType type, TestRunScore * score);
} g_gameData;
};
extern GameData g_gameData;
#endif

View file

@ -10,9 +10,15 @@ Direct3D8 declarations.
typedef DWORD D3DCOLOR;
struct D3DVECTOR { float x, y, z ; };
struct D3DVECTOR4 { float x, y, z, w; };
struct D3DVECTOR {
float x, y, z ;
};
struct D3DVECTOR4 {
float x, y, z, w;
};
struct D3DRECT { LONG x1, y1, x2, y2; };
struct D3DRECT {
LONG x1, y1, x2, y2;
};
#endif