mirror of
https://github.com/JezuzLizard/T4SP-Server-Plugin.git
synced 2025-04-19 21:22:54 +00:00
Add sprint_begin and sprint_end notifies for GSC.
This commit is contained in:
parent
2416967be7
commit
0598cee8f5
@ -63,6 +63,23 @@ namespace player
|
||||
client->previouslyUsingNightVision = 0;
|
||||
game::Scr_NotifyNum(game::SCRIPTINSTANCE_SERVER, ent->s.number, 0, game::scr_const->night_vision_off, 0);
|
||||
}
|
||||
|
||||
//New addition
|
||||
if (game::PM_IsSprinting(&client->ps))
|
||||
{
|
||||
if (!client->previouslySprinting)
|
||||
{
|
||||
client->previouslySprinting = true;
|
||||
std::string sprintBeginNotifyStr("sprint_begin");
|
||||
game::Scr_NotifyNum(game::SCRIPTINSTANCE_SERVER, ent->s.number, 0, game::SL_GetStringOfSize(game::SCRIPTINSTANCE_SERVER, sprintBeginNotifyStr.data(), 0, sprintBeginNotifyStr.length()), 0);
|
||||
}
|
||||
}
|
||||
else if (client->previouslySprinting)
|
||||
{
|
||||
client->previouslySprinting = false;
|
||||
std::string sprintBeginNotifyStr("sprint_end");
|
||||
game::Scr_NotifyNum(game::SCRIPTINSTANCE_SERVER, ent->s.number, 0, game::SL_GetStringOfSize(game::SCRIPTINSTANCE_SERVER, sprintBeginNotifyStr.data(), 0, sprintBeginNotifyStr.length()), 0);
|
||||
}
|
||||
}
|
||||
|
||||
void __declspec(naked) G_ClientDoPerFrameNotifies_stub()
|
||||
|
@ -695,6 +695,11 @@ namespace game
|
||||
}
|
||||
}
|
||||
|
||||
bool PM_IsSprinting(const playerState_s* ps)
|
||||
{
|
||||
return ps->sprintState.lastSprintStart && ps->sprintState.lastSprintStart > ps->sprintState.lastSprintEnd;
|
||||
}
|
||||
|
||||
game::pathnode_t* Path_ConvertIndexToNode(int index)
|
||||
{
|
||||
return &(*game::gameWorldCurrent)->path.nodes[index];
|
||||
|
@ -79,7 +79,10 @@ namespace game
|
||||
int Path_GeneratePath(path_t* pPath, team_t eTeam, const float* vStartPos, float* vGoalPos, pathnode_t* pNodeFrom, pathnode_t* pNodeTo, int bIncludeGoalPos, int bAllowNegotiationLinks);
|
||||
void Path_UpdateLookahead(path_t* pPath, const float* vStartPos, int bReduceLookaheadAmount, int a4, int bAllowBacktrack);
|
||||
void Path_AddTrimmedAmount(const float* a1, path_t* a2);
|
||||
|
||||
//Reimplemented functions
|
||||
void Path_TransferLookahead(path_t* a1, const float* a2);
|
||||
bool PM_IsSprinting(const playerState_s* ps);
|
||||
pathnode_t* Path_ConvertIndexToNode(int index);
|
||||
unsigned int __cdecl Path_ConvertNodeToIndex(const game::pathnode_t* node);
|
||||
pathnode_t* Path_GetNegotiationNode(const path_t* pPath);
|
||||
|
@ -1046,8 +1046,12 @@ namespace game
|
||||
float vGunSpeed[3];
|
||||
int dropWeaponTime;
|
||||
bool previouslyChangingWeapon;
|
||||
//New additions below
|
||||
bool previouslySprinting;
|
||||
};
|
||||
|
||||
static_assert(sizeof(gclient_s) == 0x2348);
|
||||
|
||||
enum AISpecies : __int32
|
||||
{
|
||||
AI_SPECIES_HUMAN = 0x0,
|
||||
|
Loading…
x
Reference in New Issue
Block a user