Address comments
This commit is contained in:
parent
9d4e08b1a3
commit
e9debbd4f5
@ -301,8 +301,10 @@ namespace Components
|
||||
return;
|
||||
}
|
||||
|
||||
auto clientNum = cl - Game::svs_clients;
|
||||
|
||||
// Keep test client functionality
|
||||
if (!g_botai[cl - Game::svs_clients].active)
|
||||
if (!g_botai[clientNum].active)
|
||||
{
|
||||
Game::SV_BotUserMove(cl);
|
||||
return;
|
||||
@ -313,11 +315,11 @@ namespace Components
|
||||
|
||||
userCmd.serverTime = *Game::svs_time;
|
||||
|
||||
userCmd.buttons = g_botai[cl - Game::svs_clients].buttons;
|
||||
userCmd.forwardmove = g_botai[cl - Game::svs_clients].forward;
|
||||
userCmd.rightmove = g_botai[cl - Game::svs_clients].right;
|
||||
userCmd.weapon = g_botai[cl - Game::svs_clients].weapon;
|
||||
userCmd.primaryWeaponForAltMode = g_botai[cl - Game::svs_clients].lastAltWeapon;
|
||||
userCmd.buttons = g_botai[clientNum].buttons;
|
||||
userCmd.forwardmove = g_botai[clientNum].forward;
|
||||
userCmd.rightmove = g_botai[clientNum].right;
|
||||
userCmd.weapon = g_botai[clientNum].weapon;
|
||||
userCmd.primaryWeaponForAltMode = g_botai[clientNum].lastAltWeapon;
|
||||
|
||||
userCmd.angles[0] = ANGLE2SHORT((cl->gentity->client->ps.viewangles[0] - cl->gentity->client->ps.delta_angles[0]));
|
||||
userCmd.angles[1] = ANGLE2SHORT((cl->gentity->client->ps.viewangles[1] - cl->gentity->client->ps.delta_angles[1]));
|
||||
@ -350,21 +352,21 @@ namespace Components
|
||||
|
||||
auto* def = Game::BG_GetWeaponCompleteDef(iWeaponIndex);
|
||||
|
||||
if (def->weapDef->inventoryType == Game::WEAPINVENTORY_ALTMODE)
|
||||
if (def && def->weapDef->inventoryType == Game::WEAPINVENTORY_ALTMODE)
|
||||
{
|
||||
auto* ps = &Game::g_entities[clientNum].client->ps;
|
||||
auto num_weaps = Game::BG_GetNumWeapons();
|
||||
auto numWeaps = Game::BG_GetNumWeapons();
|
||||
|
||||
for (auto i = 1u; i < num_weaps; i++)
|
||||
for (auto i = 1u; i < numWeaps; i++)
|
||||
{
|
||||
if (!Game::BG_PlayerHasWeapon(ps, i))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
auto* this_def = Game::BG_GetWeaponCompleteDef(i);
|
||||
auto* thisDef = Game::BG_GetWeaponCompleteDef(i);
|
||||
|
||||
if (this_def->altWeaponIndex != iWeaponIndex)
|
||||
if (!thisDef || thisDef->altWeaponIndex != iWeaponIndex)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -523,7 +525,7 @@ namespace Components
|
||||
|
||||
Utils::Hook(0x441B80, G_SelectWeaponIndex_Hk, HOOK_JUMP).install()->quick();
|
||||
|
||||
// fix bots using objects
|
||||
// fix bots using objects (SV_IsClientBot)
|
||||
Utils::Hook(0x4D79C5, Player_UpdateActivate_stub, HOOK_CALL).install()->quick();
|
||||
|
||||
Utils::Hook(0x459654, SV_GetClientPing_Hk, HOOK_CALL).install()->quick();
|
||||
|
@ -33,9 +33,9 @@ namespace Components::GSC
|
||||
|
||||
// check if we need to append scriptdata folder, for backwards compat
|
||||
std::string spath = path;
|
||||
if (!spath.starts_with("scriptdata/") && !spath.starts_with("scriptdata\\"))
|
||||
if (!spath.starts_with(Game::SCRIPTDATA_DIR + "/"s) && !spath.starts_with(Game::SCRIPTDATA_DIR + "\\"s))
|
||||
{
|
||||
spath = "scriptdata/" + spath;
|
||||
spath = Game::SCRIPTDATA_DIR + "/"s + spath;
|
||||
}
|
||||
|
||||
if (!fsGame.empty())
|
||||
|
@ -84,12 +84,12 @@ namespace Components::GSC
|
||||
|
||||
const nlohmann::json json = Data;
|
||||
|
||||
FileSystem::FileWriter("scriptdata/scriptstorage.json").write(json.dump());
|
||||
FileSystem::FileWriter(Game::SCRIPTDATA_DIR + "/scriptstorage.json"s).write(json.dump());
|
||||
});
|
||||
|
||||
Script::AddFunction("StorageLoad", [] // gsc: StorageLoad();
|
||||
{
|
||||
FileSystem::File storageFile("scriptdata/scriptstorage.json");
|
||||
FileSystem::File storageFile(Game::SCRIPTDATA_DIR + "/scriptstorage.json"s);
|
||||
if (!storageFile.exists())
|
||||
{
|
||||
return;
|
||||
|
@ -221,6 +221,8 @@ namespace Game
|
||||
|
||||
constexpr auto LOCAL_VAR_STACK_SIZE = 64;
|
||||
|
||||
constexpr auto SCRIPTDATA_DIR = "scriptdata";
|
||||
|
||||
extern void IncInParam();
|
||||
|
||||
extern void Scr_AddBool(int value);
|
||||
|
Loading…
Reference in New Issue
Block a user