diff --git a/rehlds/engine/sv_main.cpp b/rehlds/engine/sv_main.cpp index 07c2c0f..12bb525 100644 --- a/rehlds/engine/sv_main.cpp +++ b/rehlds/engine/sv_main.cpp @@ -307,7 +307,7 @@ cvar_t syserror_logfile = { "syserror_logfile", "sys_error.log", 0, 0.0f, nullpt cvar_t sv_rehlds_hull_centering = { "sv_rehlds_hull_centering", "0", 0, 0.0f, nullptr }; cvar_t sv_rcon_condebug = { "sv_rcon_condebug", "1", 0, 1.0f, nullptr }; cvar_t sv_rehlds_userinfo_transmitted_fields = { "sv_rehlds_userinfo_transmitted_fields", "", 0, 0.0f, nullptr }; -cvar_t sv_rehlds_attachedentities_playeranimationspeed_fix = {"sv_rehlds_attachedentities_playeranimationspeed_fix", "", 0, 0.0f, nullptr}; +cvar_t sv_rehlds_attachedentities_playeranimationspeed_fix = {"sv_rehlds_attachedentities_playeranimationspeed_fix", "0", 0, 0.0f, nullptr}; #endif delta_t *SV_LookupDelta(char *name) @@ -4572,6 +4572,8 @@ void SV_WriteEntitiesToClient(client_t *client, sizebuf_t *msg) { if (attachedEntCount[entityState.number] != 0) { + // Each attached entity causes StudioProcessGait for player + // But this will slow down normal animation predicting on client entityState.framerate /= (1 + attachedEntCount[entityState.number]); } } diff --git a/rehlds/engine/sv_user.cpp b/rehlds/engine/sv_user.cpp index 969b753..bbc8ef8 100644 --- a/rehlds/engine/sv_user.cpp +++ b/rehlds/engine/sv_user.cpp @@ -234,6 +234,7 @@ void SV_ParseConsistencyResponse(client_t *pSenderClient) SV_ClientPrintf("%s", dropmessage); SV_DropClient(host_client, FALSE, "Bad file %s", g_rehlds_sv.resources[c - 1].szFileName); // only filename. reason was printed in console if exists. + return; } #else // REHLDS_FIXES if (gEntityInterface.pfnInconsistentFile(host_client->edict, g_psv.resourcelist[c - 1].szFileName, dropmessage)) @@ -243,12 +244,12 @@ void SV_ParseConsistencyResponse(client_t *pSenderClient) SV_DropClient(host_client, FALSE, "Bad file %s", dropmessage); } -#endif // REHLDS_FIXES - return; +#endif // REHLDS_FIXES } - host_client->has_force_unmodified = 0; + // Reset has_force_unmodified if we have received response from the client + host_client->has_force_unmodified = FALSE; } qboolean EXT_FUNC SV_FileInConsistencyList(const char *filename, consistency_t **ppconsist) diff --git a/rehlds/engine/world.cpp b/rehlds/engine/world.cpp index 634f16a..e5229c3 100644 --- a/rehlds/engine/world.cpp +++ b/rehlds/engine/world.cpp @@ -1237,7 +1237,7 @@ void SV_ClipToLinks(areanode_t *node, moveclip_t *clip) if (trace.allsolid || trace.startsolid || trace.fraction < clip->trace.fraction) { - int oldStartSolid = clip->trace.startsolid; + qboolean oldStartSolid = clip->trace.startsolid; trace.ent = touch; clip->trace = trace; if (oldStartSolid)