server: 2x speedup of computing PVS on 64-bit CPU architectures

This commit is contained in:
Dmitry Tsarevich 2025-02-28 02:43:47 +03:00
parent e38811ef94
commit 70ab4f69c3
No known key found for this signature in database
GPG key ID: 43F9C46DD0E9FDB0

View file

@ -2154,11 +2154,11 @@ void UTIL_SetClientVisibilityPVS( edict_t *pClient, const unsigned char *pvs, in
g_CheckClient.m_bClientPVSIsExpanded = false;
unsigned *pFrom = (unsigned *)pvs;
unsigned *pMask = (unsigned *)g_CheckClient.m_checkPVS;
unsigned *pTo = (unsigned *)g_CheckClient.m_checkVisibilityPVS;
size_t *pFrom = (size_t *)pvs;
size_t *pMask = (size_t *)g_CheckClient.m_checkPVS;
size_t *pTo = (size_t *)g_CheckClient.m_checkVisibilityPVS;
int limit = pvssize / 4;
int limit = pvssize / static_cast<int>( sizeof(size_t) );
int i;
for ( i = 0; i < limit; i++ )
@ -2171,7 +2171,7 @@ void UTIL_SetClientVisibilityPVS( edict_t *pClient, const unsigned char *pvs, in
}
}
int remainder = pvssize % 4;
int remainder = pvssize % static_cast<int>( sizeof(size_t) );
for ( i = 0; i < remainder; i++ )
{
((unsigned char *)&pTo[limit])[i] = ((unsigned char *)&pFrom[limit])[i] & ~((unsigned char *)&pMask[limit])[i];