reverse structs

This commit is contained in:
quaK 2022-06-10 03:44:41 +03:00
parent 757e976661
commit 9e9428997a
3 changed files with 98 additions and 35 deletions

View File

@ -766,7 +766,7 @@ namespace game_console
dvars::con_outputBarColor = game::Dvar_RegisterVec4("con_outputBarColor", 0.5f, 0.5f, 0.5f, 0.6f, 0.0f, dvars::con_outputBarColor = game::Dvar_RegisterVec4("con_outputBarColor", 0.5f, 0.5f, 0.5f, 0.6f, 0.0f,
1.0f, game::DVAR_FLAG_SAVED, 1.0f, game::DVAR_FLAG_SAVED,
"color of console output bar"); "color of console output bar");
dvars::con_outputSliderColor = game::Dvar_RegisterVec4("con_outputSliderColor", 0.3f, 0.7f, 0.3f, 1.0f, dvars::con_outputSliderColor = game::Dvar_RegisterVec4("con_outputSliderColor", 1.0f, 1.0f, 1.0f, 1.0f,
0.0f, 1.0f, 0.0f, 1.0f,
game::DVAR_FLAG_SAVED, "color of console output slider"); game::DVAR_FLAG_SAVED, "color of console output slider");
dvars::con_outputWindowColor = game::Dvar_RegisterVec4("con_outputWindowColor", 0.25f, 0.25f, 0.25f, 0.85f, dvars::con_outputWindowColor = game::Dvar_RegisterVec4("con_outputWindowColor", 0.25f, 0.25f, 0.25f, 0.85f,

View File

@ -270,16 +270,30 @@ namespace game
struct KeyState struct KeyState
{ {
int down; int down;
int unk;
int repeats; int repeats;
int binding; int unk2;
}; };
struct PlayerKeyState // probs wrong struct field_t
{
int cursor;
int scroll;
int drawWidth;
int widthInPixels;
float charHeight;
int fixedSize;
char buffer[256];
};
struct PlayerKeyState
{ {
int overstrikeMode; int overstrikeMode;
int anyKeyDown; int anyKeyDown;
KeyState keys[256]; KeyState keys[256];
}; field_t test;
char __pad0[8];
}; static_assert(sizeof(PlayerKeyState) == 0x1128);
struct ScreenPlacement struct ScreenPlacement
{ {
@ -345,7 +359,7 @@ namespace game
ASSET_TYPE_VERTEXSHADER = 12, ASSET_TYPE_VERTEXSHADER = 12,
ASSET_TYPE_HULLSHADER = 13, ASSET_TYPE_HULLSHADER = 13,
ASSET_TYPE_DOMAINSHADER = 14, ASSET_TYPE_DOMAINSHADER = 14,
ASSET_TYPE_PIXELSHADER = 15, // unused ASSET_TYPE_PIXELSHADER = 15,
ASSET_TYPE_VERTEXDECL = 16, ASSET_TYPE_VERTEXDECL = 16,
ASSET_TYPE_TECHNIQUE_SET = 17, ASSET_TYPE_TECHNIQUE_SET = 17,
ASSET_TYPE_IMAGE = 18, ASSET_TYPE_IMAGE = 18,
@ -1184,33 +1198,49 @@ namespace game
const char* name; // 104 const char* name; // 104
}; static_assert(sizeof(GfxImage) == 0x70); }; static_assert(sizeof(GfxImage) == 0x70);
struct Glyph struct snd_volmod_info_t
{ {
unsigned short letter; char name[64];
char x0; unsigned int id;
char y0; float value;
char dx;
char pixelWidth;
char pixelHeight;
float s0;
float t0;
float s1;
float t1;
}; };
struct TTFDef struct SndGlobals
{ {
const char* fontName; const char* name;
int pixelHeight; float globalVolumeModifier;
int glyphCount; float binkVolumeModifier;
Material* material; unsigned int volmodinfoCount;
Material* glowMaterial; snd_volmod_info_t* volmodinfo;
Glyph* glyphs; char __pad0[176];
}; static_assert(sizeof(SndGlobals) == 0xD0);
struct SndBank
{
const char* name;
const char* zone;
const char* gameLanguage;
const char* soundLanguage;
char __pad0[320];
}; };
struct Font_s : TTFDef struct SndBankResident
{ {
}; SndBank bank;
}; static_assert(sizeof(SndBankResident) == 0x160);
struct SndBankTransient
{
const char* name;
unsigned int elementCount;
unsigned int* elements;
}; static_assert(sizeof(SndBankTransient) == 0x18);
struct LocalizeEntry
{
const char* name;
const char* value;
}; static_assert(sizeof(LocalizeEntry) == 0x10);
struct RawFile struct RawFile
{ {
@ -1218,7 +1248,7 @@ namespace game
int compressedLen; int compressedLen;
int len; int len;
const char* buffer; const char* buffer;
}; }; static_assert(sizeof(RawFile) == 0x18);
struct ScriptFile struct ScriptFile
{ {
@ -1228,7 +1258,7 @@ namespace game
int bytecodeLen; int bytecodeLen;
const char* buffer; const char* buffer;
char* bytecode; char* bytecode;
}; }; static_assert(sizeof(ScriptFile) == 0x28);
struct StringTableCell struct StringTableCell
{ {
@ -1242,15 +1272,41 @@ namespace game
int columnCount; int columnCount;
int rowCount; int rowCount;
StringTableCell* values; StringTableCell* values;
}; static_assert(sizeof(StringTable) == 0x18);
enum NetConstStringType
{
}; };
enum NetConstStringSource
{
};
struct NetConstStrings
{
const char* name;
NetConstStringType stringType;
NetConstStringSource sourceType;
unsigned int flags;
unsigned int entryCount;
const char** stringList;
}; static_assert(sizeof(NetConstStrings) == 0x20);
struct LuaFile struct LuaFile
{ {
const char* name; const char* name;
int len; int len;
char strippingType; char strippingType;
const char* buffer; const char* buffer;
}; }; static_assert(sizeof(LuaFile) == 0x18);
struct TTFDef
{
const char* name;
int fileLen;
const char* file;
void* ftFace;
}; static_assert(sizeof(TTFDef) == 0x20);
union XAssetHeader union XAssetHeader
{ {
@ -1273,9 +1329,9 @@ namespace game
//MaterialVertexDeclaration* vertexDecl; //MaterialVertexDeclaration* vertexDecl;
//MaterialTechniqueSet* techniqueSet; //MaterialTechniqueSet* techniqueSet;
GfxImage* image; GfxImage* image;
//SndGlobals* soundGlobals; SndGlobals* soundGlobals;
//SndBankResident* soundBankResident; SndBankResident* soundBankResident;
//SndBankTransient* soundBankTransient; SndBankTransient* soundBankTransient;
//clipMap_t* clipMap; //clipMap_t* clipMap;
//ComWorld* comWorld; //ComWorld* comWorld;
//GlassWorld* glassWorld; //GlassWorld* glassWorld;
@ -1291,7 +1347,7 @@ namespace game
//AnimationClass* animClass; //AnimationClass* animClass;
//PlayerAnimScript* playerAnim; //PlayerAnimScript* playerAnim;
//Gesture* gesture; //Gesture* gesture;
//LocalizeEntry* localize; LocalizeEntry* localize;
//WeaponAttachment* attachment; //WeaponAttachment* attachment;
//WeaponCompleteDef* weapon; //WeaponCompleteDef* weapon;
//ParticleSystemDef* vfx; //ParticleSystemDef* vfx;
@ -1311,7 +1367,7 @@ namespace game
//TracerDef* tracerDef; //TracerDef* tracerDef;
//VehicleDef* vehDef; //VehicleDef* vehDef;
//AddonMapEnts* addonMapEnts; //AddonMapEnts* addonMapEnts;
//NetConstStrings* netConstStrings; NetConstStrings* netConstStrings;
LuaFile* luaFile; LuaFile* luaFile;
//ScriptableDef* scriptable; //ScriptableDef* scriptable;
//EquipmentSoundTable* equipSndTable; //EquipmentSoundTable* equipSndTable;
@ -1352,6 +1408,13 @@ namespace game
} }
using namespace assets; using namespace assets;
struct GfxFont
{
const char* fontName;
int pixelHeight;
TTFDef* ttfDef;
};
namespace demonware namespace demonware
{ {
enum DWOnlineStatus enum DWOnlineStatus

View File

@ -51,8 +51,8 @@ namespace game
WEAK symbol<Material* (const char* material)> Material_RegisterHandle{ 0xE11CE0 }; WEAK symbol<Material* (const char* material)> Material_RegisterHandle{ 0xE11CE0 };
WEAK symbol<Font_s* (const char* font, int size)> R_RegisterFont{ 0xDFC670 }; WEAK symbol<GfxFont* (const char* font, int size)> R_RegisterFont{ 0xDFC670 };
WEAK symbol<int(const char* text, int maxChars, Font_s* font)> R_TextWidth{ 0xDFC770 }; WEAK symbol<int(const char* text, int maxChars, GfxFont* font)> R_TextWidth{ 0xDFC770 };
WEAK symbol<int(void* font)> R_GetFontHeight{ 0x12727B0 }; WEAK symbol<int(void* font)> R_GetFontHeight{ 0x12727B0 };
WEAK symbol<void* (int a1)> R_DrawSomething{ 0xDFBD00 }; WEAK symbol<void* (int a1)> R_DrawSomething{ 0xDFBD00 };
WEAK symbol<void()> R_SyncRenderThread{ 0xE27EE0 }; WEAK symbol<void()> R_SyncRenderThread{ 0xE27EE0 };