Fix party serverlist player count.
This commit is contained in:
parent
1c0b9f6aa1
commit
da5ad6fc61
@ -179,15 +179,23 @@ namespace Components
|
||||
{
|
||||
int clientCount = 0;
|
||||
int maxclientCount = *Game::svs_numclients;
|
||||
if (!maxclientCount) maxclientCount = Dvar::Var("sv_maxclients").Get<int>();
|
||||
|
||||
for (int i = 0; i < maxclientCount; i++)
|
||||
if (maxclientCount)
|
||||
{
|
||||
if (Game::svs_clients[i].state >= 3)
|
||||
for (int i = 0; i < maxclientCount; i++)
|
||||
{
|
||||
clientCount++;
|
||||
if (Game::svs_clients[i].state >= 3)
|
||||
{
|
||||
clientCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//maxclientCount = Dvar::Var("sv_maxclients").Get<int>();
|
||||
maxclientCount = Game::Party_GetMaxPlayers(*Game::partyIngame);
|
||||
clientCount = Game::PartyHost_CountMembers((Game::PartyData_s*)0x1081C00);
|
||||
}
|
||||
|
||||
// Ensure line break
|
||||
data.append("\n");
|
||||
|
@ -79,6 +79,8 @@ namespace Game
|
||||
PC_ReadTokenHandle_t PC_ReadTokenHandle = (PC_ReadTokenHandle_t)0x4D2060;
|
||||
PC_SourceError_t PC_SourceError = (PC_SourceError_t)0x467A00;
|
||||
|
||||
Party_GetMaxPlayers_t Party_GetMaxPlayers = (Party_GetMaxPlayers_t)0x4F5D60;
|
||||
PartyHost_CountMembers_t PartyHost_CountMembers = (PartyHost_CountMembers_t)0x497330;
|
||||
PartyHost_GetMemberAddressBySlot_t PartyHost_GetMemberAddressBySlot = (PartyHost_GetMemberAddressBySlot_t)0x44E100;
|
||||
|
||||
Script_Alloc_t Script_Alloc = (Script_Alloc_t)0x422E70;
|
||||
@ -120,6 +122,8 @@ namespace Game
|
||||
XBlock** g_streamBlocks = (XBlock**)0x16E554C;
|
||||
|
||||
bool* g_lobbyCreateInProgress = (bool*)0x66C9BC2;
|
||||
party_t** partyIngame = (party_t**)0x1081C00;
|
||||
PartyData_s** partyData = (PartyData_s**)0x107E500;
|
||||
|
||||
void* ReallocateAssetPool(XAssetType type, unsigned int newSize)
|
||||
{
|
||||
|
@ -178,6 +178,12 @@ namespace Game
|
||||
typedef void(__cdecl * PC_SourceError_t)(int, const char*, ...);
|
||||
extern PC_SourceError_t PC_SourceError;
|
||||
|
||||
typedef int(__cdecl * Party_GetMaxPlayers_t)(party_s* party);
|
||||
extern Party_GetMaxPlayers_t Party_GetMaxPlayers;
|
||||
|
||||
typedef int(__cdecl * PartyHost_CountMembers_t)(PartyData_s* party);
|
||||
extern PartyHost_CountMembers_t PartyHost_CountMembers;
|
||||
|
||||
typedef netadr_t *(__cdecl * PartyHost_GetMemberAddressBySlot_t)(int unk, void *party, const int slot);
|
||||
extern PartyHost_GetMemberAddressBySlot_t PartyHost_GetMemberAddressBySlot;
|
||||
|
||||
@ -232,6 +238,8 @@ namespace Game
|
||||
extern XBlock** g_streamBlocks;
|
||||
|
||||
extern bool* g_lobbyCreateInProgress;
|
||||
extern party_t** partyIngame;
|
||||
extern PartyData_s** partyData;
|
||||
|
||||
void* ReallocateAssetPool(XAssetType type, unsigned int newSize);
|
||||
void Menu_FreeItemMemory(Game::itemDef_t* item);
|
||||
|
@ -943,4 +943,16 @@ namespace Game
|
||||
char gameType[12];
|
||||
char uiName[32];
|
||||
};
|
||||
|
||||
typedef struct party_s
|
||||
{
|
||||
BYTE pad1[544];
|
||||
int privateSlots;
|
||||
int publicSlots;
|
||||
} party_t;
|
||||
|
||||
typedef struct PartyData_s
|
||||
{
|
||||
DWORD unk;
|
||||
} PartyData_t;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user