[Misc]: Updated files from 'scr/Game' folder
This commit is contained in:
parent
0ddebb9b68
commit
1944dc360c
@ -11,6 +11,7 @@ namespace Game
|
||||
Game::cg_s* cgs = reinterpret_cast<Game::cg_s*>(0x6FA590);
|
||||
Game::cgMedia_t* cgMedia = reinterpret_cast<Game::cgMedia_t*>(0x729400);
|
||||
Game::cgs_t* cgsArray = reinterpret_cast<Game::cgs_t*>(0x6FA130);
|
||||
Game::centity_s* cg_entitiesArray = reinterpret_cast<Game::centity_s*>(0x72B6E8);
|
||||
Game::clientActive_t* clients = reinterpret_cast<Game::clientActive_t*>(0x85BD98);
|
||||
Game::clientUIActive_t* clientUIActive = reinterpret_cast<Game::clientUIActive_t*>(0x85BD70);
|
||||
Game::CinematicGlob* cinematicGlob = reinterpret_cast<Game::CinematicGlob*>(0x1621600);
|
||||
@ -37,8 +38,12 @@ namespace Game
|
||||
Game::uiInfo_s* uiInfo = reinterpret_cast<Game::uiInfo_s*>(0x1290F50);
|
||||
Game::weaponInfo_s* cg_weaponsArray = reinterpret_cast<Game::weaponInfo_s*>(0x6F7C88);
|
||||
Game::WinMouseVars_t* s_wmv = reinterpret_cast<Game::WinMouseVars_t*>(0x13E06F0);
|
||||
Game::DxGlobals* dx = reinterpret_cast<Game::DxGlobals*>(0x1623F84);
|
||||
int* g_currentMenuType = reinterpret_cast<int*>(0x1E209B4);
|
||||
|
||||
Game::server_t* sv = reinterpret_cast<Game::server_t*>(0x14B10F8);
|
||||
Game::serverStatic_t* svs = reinterpret_cast<Game::serverStatic_t*>(0x14C2B98);
|
||||
|
||||
longjmp_internal_t longjmp_internal = longjmp_internal_t(0x64285C);
|
||||
|
||||
int* g_waitingForKey = reinterpret_cast<int*>(0x1E209C4);
|
||||
@ -280,7 +285,7 @@ namespace Game
|
||||
if (Game::HasLoadedMod())
|
||||
fontscalea = fontscalea = scrPlace->scaleVirtualToReal[1] * scale;
|
||||
else
|
||||
fontscalea = (Dvars::console_menu_style->current.enabled) ? fontscalea = 1.5 * scale : fontscalea = scrPlace->scaleVirtualToReal[1] * scale;
|
||||
fontscalea = (Dvars::console_menu_style->current.enabled) ? fontscalea = 1.5f * scale : fontscalea = scrPlace->scaleVirtualToReal[1] * scale;
|
||||
|
||||
const auto ui_smallFont = Dvars::Functions::Dvar_FindVar("ui_smallFont");
|
||||
const auto ui_extraBigFont = Dvars::Functions::Dvar_FindVar("ui_extraBigFont");
|
||||
@ -331,13 +336,13 @@ namespace Game
|
||||
|
||||
int UI_TextWidth(const char* text, int maxChars, Font_s* font, float scale)
|
||||
{
|
||||
float normscale = R_NormalizedTextScale(font, scale);
|
||||
float normscale = static_cast<float>(R_NormalizedTextScale(font, scale));
|
||||
return (int)((float)R_TextWidth(text, maxChars, font) * normscale);
|
||||
}
|
||||
|
||||
int UI_TextHeight(Font_s* font, float scale)
|
||||
{
|
||||
float normscale = R_NormalizedTextScale(font, scale);
|
||||
float normscale = static_cast<float>(R_NormalizedTextScale(font, scale));
|
||||
return (int)((float)R_TextHeight(font) * normscale);
|
||||
}
|
||||
|
||||
@ -352,7 +357,7 @@ namespace Game
|
||||
{
|
||||
case 7:
|
||||
v7 = *x * ScrPlace->scaleVirtualToReal[0];
|
||||
v8 = (float)(ScrPlace->realViewableMin[0] + ScrPlace->realViewableMax[0]) * 0.5;
|
||||
v8 = (float)(ScrPlace->realViewableMin[0] + ScrPlace->realViewableMax[0]) * 0.5f;
|
||||
*x = v7 + v8;
|
||||
*w = *w * ScrPlace->scaleVirtualToReal[0];
|
||||
break;
|
||||
@ -372,7 +377,7 @@ namespace Game
|
||||
break;
|
||||
case 2:
|
||||
v7 = *x * ScrPlace->scaleVirtualToReal[0];
|
||||
v8 = 0.5 * ScrPlace->realViewportSize[0];
|
||||
v8 = 0.5f * ScrPlace->realViewportSize[0];
|
||||
*x = v7 + v8;
|
||||
*w = *w * ScrPlace->scaleVirtualToReal[0];
|
||||
break;
|
||||
@ -390,7 +395,7 @@ namespace Game
|
||||
{
|
||||
case 7:
|
||||
v9 = *y * ScrPlace->scaleVirtualToReal[1];
|
||||
v10 = (float)(ScrPlace->realViewableMin[1] + ScrPlace->realViewableMax[1]) * 0.5;
|
||||
v10 = (float)(ScrPlace->realViewableMin[1] + ScrPlace->realViewableMax[1]) * 0.5f;
|
||||
*y = v9 + v10;
|
||||
*h = *h * ScrPlace->scaleVirtualToReal[1];
|
||||
case 6:
|
||||
@ -409,7 +414,7 @@ namespace Game
|
||||
break;
|
||||
case 2:
|
||||
v9 = *y * ScrPlace->scaleVirtualToReal[1];
|
||||
v10 = 0.5 * ScrPlace->realViewportSize[1];
|
||||
v10 = 0.5f * ScrPlace->realViewportSize[1];
|
||||
*y = v9 + v10;
|
||||
*h = *h * ScrPlace->scaleVirtualToReal[1];
|
||||
break;
|
||||
@ -430,8 +435,8 @@ namespace Game
|
||||
float yScale = xScale;
|
||||
|
||||
ScrPlace_ApplyRect(ScrPlace, &ix, &iy, &xScale, &yScale, horzAlign, vertAlign);
|
||||
int x = floor(ix + 0.5);
|
||||
int y = floor(iy + 0.5);
|
||||
float x = floor(ix + 0.5f);
|
||||
float y = floor(iy + 0.5f);
|
||||
R_AddCmdDrawTextASM(text, maxChars, font, x, y, xScale, yScale, 0.0, color, style);
|
||||
}
|
||||
|
||||
@ -677,59 +682,24 @@ namespace Game
|
||||
if (name == boneNames[localBoneIndex])
|
||||
break;
|
||||
}
|
||||
*index = localBoneIndex + offset;
|
||||
*index = static_cast<unsigned char>(localBoneIndex + offset);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
int DObjGetBoneIndex(Game::DObj_s* obj, unsigned int name, unsigned __int8* index)
|
||||
int DObjGetBoneIndex(const DObj_s* obj/*ecx*/, unsigned int name, unsigned __int8* index)
|
||||
{
|
||||
int j; // [esp+0h] [ebp-18h]
|
||||
int ja; // [esp+0h] [ebp-18h]
|
||||
unsigned int boneIndex; // [esp+4h] [ebp-14h]
|
||||
int numModels; // [esp+8h] [ebp-10h]
|
||||
Game::XModel* model; // [esp+Ch] [ebp-Ch]
|
||||
Game::XModel* modela; // [esp+Ch] [ebp-Ch]
|
||||
unsigned int localBoneIndex; // [esp+10h] [ebp-8h]
|
||||
Game::XModel** models; // [esp+14h] [ebp-4h]
|
||||
|
||||
localBoneIndex = *index;
|
||||
if (localBoneIndex == 255)
|
||||
return 0;
|
||||
models = obj->models;
|
||||
|
||||
numModels = obj->numModels;
|
||||
if (localBoneIndex < obj->numBones)
|
||||
int result;
|
||||
const static uint32_t DObjGetBoneIndex_func = 0x59A090;
|
||||
__asm
|
||||
{
|
||||
for (j = 0; j < numModels; ++j)
|
||||
{
|
||||
model = models[j];
|
||||
if (localBoneIndex < model->numBones)
|
||||
{
|
||||
if (name != model->boneNames[localBoneIndex])
|
||||
break;
|
||||
return 1;
|
||||
}
|
||||
localBoneIndex -= model->numBones;
|
||||
}
|
||||
push index;
|
||||
push name;
|
||||
mov ecx, obj;
|
||||
call DObjGetBoneIndex_func;
|
||||
add esp, 8;
|
||||
mov result, eax;
|
||||
}
|
||||
boneIndex = 0;
|
||||
for (ja = 0; ja < numModels; ++ja)
|
||||
{
|
||||
modela = models[ja];
|
||||
if (XModelGetBoneIndex(modela, name, boneIndex, index))
|
||||
return 1;
|
||||
boneIndex += modela->numBones;
|
||||
}
|
||||
*index = -1;
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
//skill issue
|
||||
int DObjGetBoneIndex(Game::DObj_s* obj, unsigned int name, unsigned __int8* index)
|
||||
{
|
||||
return 1;
|
||||
return result;
|
||||
}
|
||||
|
||||
void ChangeViewmodelDobj(int weapIndex /*eax*/, unsigned __int8 weaponModel /*cl*/, Game::XModel* newHands, Game::XModel* newGoggles, Game::XModel* newRocket, Game::XModel* newKnife, char updateClientInfo)
|
||||
@ -1006,7 +976,7 @@ namespace Game
|
||||
|
||||
float AngleNormalize360(float angle)
|
||||
{
|
||||
return (360.0 / 65536) * ((int)(angle * (65536 / 360.0)) & 65535);
|
||||
return (360.0f / 65536.0f) * ((int)(angle * (65536.0f / 360.0f)) & 65535);
|
||||
}
|
||||
|
||||
float AngleNormalize180(float angle) {
|
||||
@ -1054,14 +1024,14 @@ namespace Game
|
||||
break;
|
||||
case 9:
|
||||
v7 = secondChar + (firstChar << 8);
|
||||
if (Taiwanese_ValidBig5Code(v7))
|
||||
if (Taiwanese_ValidBig5Code(static_cast<uint16_t>(v7)))
|
||||
{
|
||||
*usedCount = 2;
|
||||
return v7;
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
if (sub_55C380(firstChar, secondChar))
|
||||
if (sub_55C380(static_cast<uint16_t>(firstChar), static_cast<uint16_t>(secondChar)))
|
||||
{
|
||||
*usedCount = 2;
|
||||
return secondChar + (firstChar << 8);
|
||||
@ -1069,7 +1039,7 @@ namespace Game
|
||||
break;
|
||||
case 11:
|
||||
v7 = secondChar + (firstChar << 8);
|
||||
if (sub_55C3B0(v7))
|
||||
if (sub_55C3B0(static_cast<uint16_t>(v7)))
|
||||
{
|
||||
*usedCount = 2;
|
||||
return v7;
|
||||
@ -1415,4 +1385,62 @@ namespace Game
|
||||
add esp, 8;
|
||||
}
|
||||
}
|
||||
|
||||
Game::centity_s* CG_GetEntity(int entityIndex)
|
||||
{
|
||||
return &Game::cg_entitiesArray[384 * entityIndex];
|
||||
}
|
||||
|
||||
int CL_ControllerIndexFromClientNum()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
float CG_CornerDebugPrint/*<st0>*/(const float* color/*eax*/, const char* text/*ecx*/, const Game::ScreenPlacement* ScrPlace, float posX, float posY, float labelWidth, const char* label)
|
||||
{
|
||||
float result;
|
||||
const uint32_t CG_CornerDebugPrint_func = 0x4113A0;
|
||||
__asm
|
||||
{
|
||||
push label;
|
||||
|
||||
sub esp, 0Ch;
|
||||
|
||||
fld labelWidth;
|
||||
fstp [esp + 8h];
|
||||
|
||||
fld posY;
|
||||
fstp [esp + 4h];
|
||||
|
||||
fld posX;
|
||||
fstp [esp];
|
||||
|
||||
push ScrPlace;
|
||||
|
||||
mov eax, [color];
|
||||
mov ecx, [text];
|
||||
|
||||
call CG_CornerDebugPrint_func;
|
||||
add esp, 14h;
|
||||
fstp dword ptr[result];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Com_ClientDObjCreate_t Com_ClientDObjCreate = Com_ClientDObjCreate_t(0x535F30);
|
||||
|
||||
|
||||
void AmmoColor(cg_s* cgameGlob/*edi*/, float* color/*esi*/, int weapIndex/*eax*/)
|
||||
{
|
||||
const uint32_t AmmoColor_func = 0x408CA0;
|
||||
__asm
|
||||
{
|
||||
pushad;
|
||||
mov edi, [cgameGlob];
|
||||
mov esi, [color];
|
||||
mov eax, weapIndex;
|
||||
call AmmoColor_func;
|
||||
popad;
|
||||
}
|
||||
}
|
||||
}
|
@ -18,6 +18,7 @@ namespace Game
|
||||
extern Game::cg_s* cgs;
|
||||
extern Game::cgMedia_t* cgMedia;
|
||||
extern Game::cgs_t* cgsArray;
|
||||
extern Game::centity_s* cg_entitiesArray;
|
||||
extern Game::clientActive_t* clients;
|
||||
extern Game::clientUIActive_t* clientUIActive;
|
||||
extern Game::CinematicGlob* cinematicGlob;
|
||||
@ -42,8 +43,12 @@ namespace Game
|
||||
extern Game::WeaponDef_s** bg_weaponDefs;
|
||||
extern Game::weaponInfo_s* cg_weaponsArray;
|
||||
extern Game::WinMouseVars_t* s_wmv;
|
||||
extern Game::DxGlobals* dx;
|
||||
extern int* g_currentMenuType;
|
||||
|
||||
extern Game::server_t* sv;
|
||||
extern Game::serverStatic_t* svs;
|
||||
|
||||
extern int* g_waitingForKey;
|
||||
extern bool* isDvarSystemActive;
|
||||
extern int* level_initializing;
|
||||
@ -172,7 +177,7 @@ namespace Game
|
||||
|
||||
unsigned int G_GetWeaponIndexForName(const char* name);
|
||||
|
||||
int DObjGetBoneIndex(Game::DObj_s* obj, unsigned int name, unsigned __int8* index);
|
||||
int DObjGetBoneIndex(const DObj_s* obj/*ecx*/, unsigned int name, unsigned __int8* index);
|
||||
int XModelGetBoneIndex(Game::XModel* model, unsigned int name, unsigned int offset, unsigned __int8* index);
|
||||
|
||||
void ChangeViewmodelDobj(int weapIndex /*eax*/, unsigned __int8 weaponModel /*cl*/, Game::XModel* newHands, Game::XModel* newGoggles, Game::XModel* newRocket, Game::XModel* newKnife, char updateClientInfo);
|
||||
@ -269,4 +274,16 @@ namespace Game
|
||||
|
||||
int CG_PlayClientSoundAlias/*eax*/(Game::snd_alias_list_t* aliasList/*eax*/, int localClientNum, float* origin);
|
||||
void DynEntCl_PlayEventFx(const float* origin/*edx*/, int axis/*ecx*/, const Game::FxEffectDef* def, int time);
|
||||
|
||||
Game::centity_s* CG_GetEntity(int entityIndex);
|
||||
|
||||
//rumble
|
||||
int CL_ControllerIndexFromClientNum();
|
||||
|
||||
float CG_CornerDebugPrint/*<st0>*/(const float* color/*eax*/, const char* text/*ecx*/, const Game::ScreenPlacement* ScrPlace, float posX, float posY, float labelWidth, const char* label);
|
||||
|
||||
typedef Game::DObj_s* (*Com_ClientDObjCreate_t)(Game::DObjModel_s* dobjModels, std::uint16_t numModels, Game::XAnimTree_s* tree, int handle);
|
||||
extern Com_ClientDObjCreate_t Com_ClientDObjCreate;
|
||||
|
||||
void AmmoColor(Game::cg_s* cgameGlob/*edi*/, float* color/*esi*/, int weapIndex/*eax*/);
|
||||
}
|
@ -5,9 +5,16 @@ namespace Game
|
||||
Game::cgMedia_t_mod cgMediaMod = {};
|
||||
Game::gui_t gui = {};
|
||||
|
||||
IDirect3DDevice9* d3d9_device = nullptr;
|
||||
|
||||
bool HasLoadedMod()
|
||||
{
|
||||
std::string modDir = Dvars::Functions::Dvar_FindVar("fs_game")->current.string;
|
||||
return !modDir.empty();
|
||||
}
|
||||
|
||||
bool DebugModeEnabled()
|
||||
{
|
||||
return Components::Flags::HasFlag("debug");
|
||||
}
|
||||
}
|
@ -28,5 +28,8 @@ namespace Game
|
||||
extern Game::cgMedia_t_mod cgMediaMod;
|
||||
extern Game::gui_t gui;
|
||||
|
||||
extern IDirect3DDevice9* d3d9_device;
|
||||
|
||||
bool HasLoadedMod();
|
||||
bool DebugModeEnabled();
|
||||
}
|
@ -128,7 +128,6 @@ namespace Game
|
||||
ASSET_TYPE_ASSETLIST = 0x22,
|
||||
};
|
||||
|
||||
//Sounds Structure
|
||||
typedef enum
|
||||
{
|
||||
SAT_UNKNOWN = 0x0,
|
||||
@ -1964,36 +1963,40 @@ namespace Game
|
||||
__int16 steerYaw;
|
||||
float time;
|
||||
unsigned __int16 wheelFraction[6];
|
||||
char wheelBoneIndex[6];
|
||||
char tag_body;
|
||||
char tag_turret;
|
||||
char tag_barrel;
|
||||
unsigned __int8 wheelBoneIndex[6];
|
||||
unsigned __int8 tag_body;
|
||||
unsigned __int8 tag_turret;
|
||||
unsigned __int8 tag_barrel;
|
||||
};
|
||||
|
||||
struct FxEffect;
|
||||
|
||||
struct CEntFx
|
||||
{
|
||||
int triggerTime;
|
||||
int effect; //FxEffect*
|
||||
FxEffect* effect;
|
||||
};
|
||||
|
||||
union CEntity
|
||||
{
|
||||
CEntActorInfo actor;
|
||||
CEntTurretInfo turret;
|
||||
CEntVehicleInfo vehicle;
|
||||
CEntFx fx;
|
||||
};
|
||||
|
||||
struct cpose_t
|
||||
{
|
||||
unsigned __int16 lightingHandle;
|
||||
char eType;
|
||||
char eTypeUnion;
|
||||
unsigned __int8 eType;
|
||||
unsigned __int8 eTypeUnion;
|
||||
bool isRagdoll;
|
||||
int ragdollHandle;
|
||||
int physObjId;
|
||||
int cullIn;
|
||||
float origin[3];
|
||||
float angles[3];
|
||||
union
|
||||
{
|
||||
CEntActorInfo actor;
|
||||
CEntTurretInfo turret;
|
||||
CEntVehicleInfo vehicle;
|
||||
CEntFx fx;
|
||||
}u9;
|
||||
CEntity ent;
|
||||
};
|
||||
|
||||
struct centity_s
|
||||
@ -2004,7 +2007,7 @@ namespace Game
|
||||
bool nextValid;
|
||||
bool bMuzzleFlash;
|
||||
bool bTrailMade;
|
||||
char oldEType;
|
||||
unsigned __int8 oldEType;
|
||||
int previousEventSequence;
|
||||
float lightingOrigin[3];
|
||||
};
|
||||
@ -4330,6 +4333,14 @@ namespace Game
|
||||
XModel** models;
|
||||
};
|
||||
|
||||
struct __declspec(align(4)) DObjModel_s
|
||||
{
|
||||
XModel* model;
|
||||
unsigned __int16 boneName;
|
||||
bool ignoreCollision;
|
||||
};
|
||||
|
||||
|
||||
struct weaponInfo_s
|
||||
{
|
||||
DObj_s* viewModelDObj;
|
||||
@ -4406,13 +4417,10 @@ namespace Game
|
||||
struct snapshot_s
|
||||
{
|
||||
int snapFlags;
|
||||
int ping;
|
||||
int serverTime;
|
||||
playerState_s ps;
|
||||
int numEntities;
|
||||
int numClients;
|
||||
entityState_s entities[512];
|
||||
//clientState_s clients[64];
|
||||
int entityNums[2048];
|
||||
int serverCommandSequence;
|
||||
};
|
||||
|
||||
@ -4508,31 +4516,6 @@ namespace Game
|
||||
Material* textDecodeCharactersGlow;
|
||||
}cgMedia_t;
|
||||
|
||||
/*
|
||||
struct cg_s
|
||||
{
|
||||
int clientNum;
|
||||
int localClientNum;
|
||||
int nextState;
|
||||
DemoType demoType;
|
||||
CubemapShot cubemapShot;
|
||||
int renderScreen;
|
||||
int latestSnapshotNum;
|
||||
int latestSnapshotTime;
|
||||
snapshot_s* snap;
|
||||
snapshot_s* nextSnap;
|
||||
snapshot_s activeSnapshots[2];
|
||||
float frameInterpolation;
|
||||
int frametime;
|
||||
int time;
|
||||
int oldTime;
|
||||
int physicsTime;
|
||||
int mapRestart;
|
||||
//int renderingThirdPerson;
|
||||
playerState_s predictedPlayerState;
|
||||
};
|
||||
*/
|
||||
|
||||
struct playerEntity_t
|
||||
{
|
||||
float fLastWeaponPosFrac;
|
||||
@ -4628,7 +4611,6 @@ namespace Game
|
||||
OBJST_NUMSTATES = 0x6,
|
||||
};
|
||||
|
||||
//from cod3sp
|
||||
struct objectiveInfo_t
|
||||
{
|
||||
objectiveState_t state;
|
||||
@ -4774,6 +4756,26 @@ namespace Game
|
||||
int lastPlayedTime;
|
||||
};
|
||||
|
||||
enum InvalidCmdHintType
|
||||
{
|
||||
INVALID_CMD_NONE = 0x0,
|
||||
INVALID_CMD_NO_AMMO_BULLETS = 0x1,
|
||||
INVALID_CMD_NO_AMMO_FRAG_GRENADE = 0x2,
|
||||
INVALID_CMD_NO_AMMO_SPECIAL_GRENADE = 0x3,
|
||||
INVALID_CMD_STAND_BLOCKED = 0x4,
|
||||
INVALID_CMD_CROUCH_BLOCKED = 0x5,
|
||||
INVALID_CMD_TARGET_TOO_CLOSE = 0x6,
|
||||
INVALID_CMD_LOCKON_REQUIRED = 0x7,
|
||||
INVALID_CMD_NOT_ENOUGH_CLEARANCE = 0x8,
|
||||
};
|
||||
|
||||
struct cg_s_shellshock_test
|
||||
{
|
||||
int time;
|
||||
int duration;
|
||||
};
|
||||
|
||||
// Reversed
|
||||
struct cg_s
|
||||
{
|
||||
int clientNum;
|
||||
@ -4797,8 +4799,8 @@ namespace Game
|
||||
int physicsTime;
|
||||
playerState_s predictedPlayerState;
|
||||
centity_s predictedPlayerEntity;
|
||||
char gap0[12];
|
||||
playerEntity_t playerEntity;
|
||||
char gap0[12];
|
||||
int validPPS;
|
||||
int predictedErrorTime;
|
||||
float predictedError[3];
|
||||
@ -4828,7 +4830,7 @@ namespace Game
|
||||
int cursorHintFade;
|
||||
int cursorHintString;
|
||||
int lastClipFlashTime;
|
||||
int invalidCmdHintType;
|
||||
InvalidCmdHintType invalidCmdHintType;
|
||||
int invalidCmdHintTime;
|
||||
int lastHealthPulseTime;
|
||||
int lastHealthLerpDelay;
|
||||
@ -4865,6 +4867,7 @@ namespace Game
|
||||
float kickAVel[3];
|
||||
float kickAngles[3];
|
||||
float gunPitch;
|
||||
bool gameSaved;
|
||||
float gunYaw;
|
||||
float gunXOfs;
|
||||
float gunYOfs;
|
||||
@ -4878,21 +4881,20 @@ namespace Game
|
||||
float selectedLocation[2];
|
||||
float compassNorthYaw;
|
||||
float compassNorth[2];
|
||||
int compassMapMaterial;
|
||||
Material* compassMapMaterial;
|
||||
float compassMapUpperLeft[2];
|
||||
float compassMapWorldSize[2];
|
||||
int compassFadeTime;
|
||||
int healthFadeTime;
|
||||
char gap1[4];
|
||||
int ammoFadeTime;
|
||||
int stanceFadeTime;
|
||||
int sprintFadeTime;
|
||||
int offhandFadeTime;
|
||||
int offhandFlashTime;
|
||||
char gap1[4];
|
||||
objectiveInfo_t objectives[16];
|
||||
targetInfo_t targets[32];
|
||||
shellshock_t shellshock;
|
||||
cgShockinfo_t testShock;
|
||||
cg_s_shellshock_test testShock;
|
||||
int holdBreathTime;
|
||||
int holdBreathInTime;
|
||||
int holdBreathDelay;
|
||||
@ -4910,6 +4912,7 @@ namespace Game
|
||||
visionSetVars_t visionSetTo[2];
|
||||
visionSetVars_t visionSetCurrent[2];
|
||||
visionSetLerpData_t visionSetLerpData[2];
|
||||
char gap2[12];
|
||||
char visionNameNaked[64];
|
||||
char visionNameNight[64];
|
||||
int extraButtons;
|
||||
@ -4918,8 +4921,8 @@ namespace Game
|
||||
int stepViewStart;
|
||||
float stepViewChange;
|
||||
float zNear;
|
||||
int cinematicTime;
|
||||
hudElemSoundInfo_t hudElemSound[32];
|
||||
char gap2[16];
|
||||
};
|
||||
|
||||
enum svscmd_type
|
||||
@ -6382,4 +6385,334 @@ namespace Game
|
||||
bool cinematicFinished;
|
||||
char gap0[1788];
|
||||
};
|
||||
|
||||
struct GfxWindowTarget
|
||||
{
|
||||
HWND__* hwnd;
|
||||
IDirect3DSwapChain9* swapChain;
|
||||
int width;
|
||||
int height;
|
||||
};
|
||||
|
||||
struct __declspec(align(8)) DxGlobals
|
||||
{
|
||||
IDirect3D9* d3d9;
|
||||
IDirect3DDevice9* device;
|
||||
unsigned int adapterIndex;
|
||||
bool adapterNativeIsValid;
|
||||
int adapterNativeWidth;
|
||||
int adapterNativeHeight;
|
||||
int adapterFullscreenWidth;
|
||||
int adapterFullscreenHeight;
|
||||
int depthStencilFormat;
|
||||
unsigned int displayModeCount;
|
||||
_D3DDISPLAYMODE displayModes[256];
|
||||
const char* resolutionNameTable[257];
|
||||
const char* refreshRateNameTable[257];
|
||||
char modeText[5120];
|
||||
IDirect3DQuery9* fencePool[8];
|
||||
unsigned int nextFence;
|
||||
int gpuSync;
|
||||
int multiSampleType;
|
||||
unsigned int multiSampleQuality;
|
||||
int sunSpriteSamples;
|
||||
IDirect3DSurface9* singleSampleDepthStencilSurface;
|
||||
bool deviceLost;
|
||||
bool inScene;
|
||||
int targetWindowIndex;
|
||||
int windowCount;
|
||||
GfxWindowTarget windows[1];
|
||||
int flushGpuQueryCount;
|
||||
IDirect3DQuery9* flushGpuQuery;
|
||||
unsigned __int64 gpuSyncDelay;
|
||||
unsigned __int64 gpuSyncStart;
|
||||
unsigned __int64 gpuSyncEnd;
|
||||
bool flushGpuQueryIssued;
|
||||
int linearNonMippedMinFilter;
|
||||
int linearNonMippedMagFilter;
|
||||
int linearMippedMinFilter;
|
||||
int linearMippedMagFilter;
|
||||
int anisotropicMinFilter;
|
||||
int anisotropicMagFilter;
|
||||
int linearMippedAnisotropy;
|
||||
int anisotropyFor2x;
|
||||
int anisotropyFor4x;
|
||||
int mipFilterMode;
|
||||
unsigned int mipBias;
|
||||
IDirect3DQuery9* swapFence;
|
||||
};
|
||||
|
||||
enum serverState_t
|
||||
{
|
||||
SS_DEAD = 0x0,
|
||||
SS_LOADING = 0x1,
|
||||
SS_GAME = 0x2,
|
||||
};
|
||||
|
||||
struct svEntity_s
|
||||
{
|
||||
unsigned __int16 worldSector;
|
||||
unsigned __int16 nextEntityInWorldSector;
|
||||
int linkcontents;
|
||||
float linkmin[2];
|
||||
float linkmax[2];
|
||||
};
|
||||
|
||||
struct snapshotEntityNumbers_t
|
||||
{
|
||||
int numSnapshotEntities;
|
||||
int snapshotEntities[2048];
|
||||
};
|
||||
|
||||
// Fully Reversed
|
||||
struct server_t
|
||||
{
|
||||
serverState_t state;
|
||||
int timeResidual;
|
||||
bool clearTimeResidual;
|
||||
int pendingSnapshot;
|
||||
int inFrame;
|
||||
int clientMessageTimeout;
|
||||
int partialFrametime;
|
||||
int nextFrameTime;
|
||||
cmodel_t* models[512];
|
||||
unsigned __int16 emptyConfigString;
|
||||
unsigned __int16 configstrings[2815];
|
||||
svEntity_s svEntities[2176];
|
||||
int gentities;
|
||||
int gentitySize;
|
||||
int num_entities;
|
||||
playerState_s* gameClients;
|
||||
int gameClientSize;
|
||||
int checksum;
|
||||
int levelTime;
|
||||
int skelTimeStamp;
|
||||
unsigned int skelMemPos;
|
||||
int previousTime;
|
||||
int previousTimeIndex;
|
||||
int previousTotalTimes[10];
|
||||
int previousErrorTimes[10];
|
||||
snapshotEntityNumbers_t entityNumbers;
|
||||
char cmd[1024];
|
||||
char cmd2[1024];
|
||||
char cmd3[1024];
|
||||
char cmd4[1024];
|
||||
};
|
||||
|
||||
struct serverCommandsHeader_t
|
||||
{
|
||||
int rover;
|
||||
int sequence;
|
||||
int sent;
|
||||
};
|
||||
|
||||
struct serverCommands_s
|
||||
{
|
||||
serverCommandsHeader_t header;
|
||||
char buf[8192];
|
||||
int commands[256];
|
||||
};
|
||||
|
||||
struct netchan_t
|
||||
{
|
||||
int outgoingSequence;
|
||||
};
|
||||
|
||||
struct client_t
|
||||
{
|
||||
int state;
|
||||
serverCommands_s reliableCommands;
|
||||
usercmd_s lastUsercmd;
|
||||
gentity_s* gentity;
|
||||
playerState_s frames[1];
|
||||
netchan_t netchan;
|
||||
};
|
||||
|
||||
enum netadrtype_t
|
||||
{
|
||||
NA_BOT = 0x0,
|
||||
NA_BAD = 0x1,
|
||||
NA_LOOPBACK = 0x2,
|
||||
NA_BROADCAST = 0x3,
|
||||
NA_IP = 0x4,
|
||||
};
|
||||
|
||||
struct netadr_t
|
||||
{
|
||||
netadrtype_t type;
|
||||
unsigned __int8 ip[4];
|
||||
unsigned __int8 ipx[10];
|
||||
unsigned __int16 port;
|
||||
};
|
||||
|
||||
// Fully Reversed
|
||||
struct serverStatic_t
|
||||
{
|
||||
int initialized;
|
||||
int snapFlagServerBit;
|
||||
client_t* clients;
|
||||
int numSnapshotEntities;
|
||||
int nextSnapshotEntities;
|
||||
netadr_t authorizeAddress;
|
||||
int playerDeaths;
|
||||
int playerScore;
|
||||
};
|
||||
|
||||
|
||||
enum DevEventType
|
||||
{
|
||||
EVENT_ACTIVATE = 0x0,
|
||||
EVENT_DEACTIVATE = 0x1,
|
||||
EVENT_ACCEPT = 0x2,
|
||||
EVENT_UPDATE = 0x3,
|
||||
EVENT_DRAW = 0x4,
|
||||
EVENT_SAVE = 0x5,
|
||||
};
|
||||
|
||||
struct __declspec(align(4)) DevGraph
|
||||
{
|
||||
float(*knots)[2];
|
||||
int* knotCount;
|
||||
int knotCountMax;
|
||||
int selectedKnot;
|
||||
void(__cdecl* eventCallback)(const DevGraph*, DevEventType, int);
|
||||
void(__cdecl* textCallback)(const DevGraph*, const float, const float, char*, const int);
|
||||
void* data;
|
||||
bool disableEditingEndPoints;
|
||||
};
|
||||
|
||||
struct RumbleInfo;
|
||||
struct RumbleGraph;
|
||||
|
||||
struct RumbleDevguiGraphInfo
|
||||
{
|
||||
RumbleInfo* rumbleInfo;
|
||||
RumbleGraph* rumbleGraph;
|
||||
};
|
||||
|
||||
struct RumbleGraph
|
||||
{
|
||||
char graphName[64];
|
||||
float knots[16][2];
|
||||
int knotCount;
|
||||
DevGraph devguiGraph;
|
||||
RumbleDevguiGraphInfo devguiGraphInfo;
|
||||
};
|
||||
|
||||
struct RumbleInfo
|
||||
{
|
||||
int rumbleNameIndex;
|
||||
float duration;
|
||||
float range;
|
||||
RumbleGraph* highRumbleGraph;
|
||||
RumbleGraph* lowRumbleGraph;
|
||||
int fadeWithDistance;
|
||||
int broadcast;
|
||||
const dvar_s* durationDvar;
|
||||
const dvar_s* loopDvar;
|
||||
};
|
||||
|
||||
union RumbleSource
|
||||
{
|
||||
int entityNum;
|
||||
float pos[3];
|
||||
};
|
||||
|
||||
enum RumbleSourceType
|
||||
{
|
||||
RUMBLESOURCE_INVALID = 0x0,
|
||||
RUMBLESOURCE_ENTITY = 0x1,
|
||||
RUMBLESOURCE_POS = 0x2,
|
||||
};
|
||||
|
||||
struct ActiveRumble
|
||||
{
|
||||
RumbleInfo* rumbleInfo;
|
||||
int startTime;
|
||||
bool loop;
|
||||
RumbleSourceType sourceType;
|
||||
unsigned char scale;
|
||||
RumbleSource source;
|
||||
};
|
||||
|
||||
struct RumbleGlobals
|
||||
{
|
||||
RumbleGraph graphs[64];
|
||||
RumbleInfo infos[32];
|
||||
ActiveRumble activeRumbles[32];
|
||||
float receiverPos[3];
|
||||
int receiverEntNum;
|
||||
};
|
||||
|
||||
//struct level_locals_t
|
||||
//{
|
||||
// gclient_s* clients;
|
||||
// gentity_s* gentities;
|
||||
// int gentitySize;
|
||||
// int num_entities;
|
||||
// gentity_s* firstFreeEnt;
|
||||
// gentity_s* lastFreeEnt;
|
||||
// sentient_s* sentients;
|
||||
// int actors;
|
||||
// int vehicles;
|
||||
// int turrets;
|
||||
// int initializing;
|
||||
// int clientIsSpawning;
|
||||
// int maxclients;
|
||||
// int framenum;
|
||||
// int time;
|
||||
// int previousTime;
|
||||
// int snapTime;
|
||||
// int newSession;
|
||||
// char gap0[4];
|
||||
// int actorCount;
|
||||
// SpawnVar spawnVar;
|
||||
// int reloadDelayTime;
|
||||
// int absoluteReloadDelayTime;
|
||||
// EntHandle droppedWeaponCue[32];
|
||||
// int changelevel;
|
||||
// int bMissionSuccess;
|
||||
// int bMissionFailed;
|
||||
// int exitTime;
|
||||
// int savepersist;
|
||||
// char cinematic[64];
|
||||
// float fFogOpaqueDist;
|
||||
// float fFogOpaqueDistSqrd;
|
||||
// unsigned int grenadeHintCount;
|
||||
// int remapCount;
|
||||
// int iSearchFrame;
|
||||
// loading_t loading;
|
||||
// int actorPredictDepth;
|
||||
// int bDrawCompassFriendlies;
|
||||
// int bPlayerIgnoreRadiusDamage;
|
||||
// int bPlayerIgnoreRadiusDamageLatched;
|
||||
// int unknown_1;
|
||||
// unsigned __int8 triggerIndex;
|
||||
// int currentEntityThink;
|
||||
// int currentIndex;
|
||||
// bool checkAnimChange;
|
||||
// int bRegisterItems;
|
||||
// int framePos;
|
||||
// cached_tag_mat_t cachedTagMat;
|
||||
// cached_tag_mat_t cachedEntTargetTagMat;
|
||||
// unsigned __int16 soundAliasFirst;
|
||||
// unsigned __int16 soundAliasLast;
|
||||
// trigger_info_t pendingTriggerList[256];
|
||||
// trigger_info_t currentTriggerList[256];
|
||||
// int pendingTriggerListSize;
|
||||
// int currentTriggerListSize;
|
||||
// unsigned __int8 entTriggerIndex[2176];
|
||||
// unsigned __int8 specialIndex[2176];
|
||||
// char gap2[2304]; // <-- need research
|
||||
// unsigned __int8 cgData_actorOnCompass[32];
|
||||
// unsigned __int8 cgData_actorTeam[32];
|
||||
// unsigned __int16 modelMap[512];
|
||||
// float priorityNodeBias;
|
||||
// int scriptPrintChannel;
|
||||
// float compassMapUpperLeft[2];
|
||||
// float compassMapWorldSize[2];
|
||||
// float compassNorth[2];
|
||||
// float mapSunColor[3];
|
||||
// float mapSunDirection[3];
|
||||
//};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user