improve bot stub further

This commit is contained in:
FutureRave 2022-01-24 12:15:33 +00:00
parent 598eb99461
commit 5c9a5c3eac
No known key found for this signature in database
GPG Key ID: E883E2BC9657D955
2 changed files with 18 additions and 22 deletions

View File

@ -247,42 +247,38 @@ namespace Components
}); });
} }
void Bots::BotAiAction() void Bots::BotAiAction(Game::client_t* cl)
{ {
for (auto i = 0; i < *Game::svs_numclients; ++i) if (cl->gentity == nullptr)
{ return;
auto* client = &Game::svs_clients[i];
if (client->state < Game::CS_CONNECTED)
continue;
if (!client->bIsTestClient)
continue;
Game::usercmd_s ucmd = {0}; Game::usercmd_s ucmd = {0};
const auto entnum = cl->gentity->s.number;
ucmd.serverTime = *Game::svs_time; ucmd.serverTime = *Game::svs_time;
ucmd.buttons = g_botai[i].buttons; ucmd.buttons = g_botai[entnum].buttons;
ucmd.forwardmove = g_botai[i].forward; ucmd.forwardmove = g_botai[entnum].forward;
ucmd.rightmove = g_botai[i].right; ucmd.rightmove = g_botai[entnum].right;
ucmd.weapon = g_botai[i].weapon; ucmd.weapon = g_botai[entnum].weapon;
client->deltaMessage = client->netchan.outgoingSequence - 1; cl->deltaMessage = cl->netchan.outgoingSequence - 1;
Game::SV_ClientThink(client, &ucmd); Game::SV_ClientThink(cl, &ucmd);
}
} }
constexpr auto SV_UpdateBots = 0x626E50; constexpr auto SV_BotUserMove = 0x626E50;
__declspec(naked) void Bots::SV_UpdateBots_Hk() __declspec(naked) void Bots::SV_UpdateBots_Hk()
{ {
__asm __asm
{ {
call SV_BotUserMove
pushad pushad
call SV_UpdateBots push edi
call Bots::BotAiAction call Bots::BotAiAction
add esp, 4
popad popad
ret ret

View File

@ -49,7 +49,7 @@ namespace Components
static void AddMethods(); static void AddMethods();
static void BotAiAction(); static void BotAiAction(Game::client_t* cl);
static void SV_UpdateBots_Hk(); static void SV_UpdateBots_Hk();
}; };
} }