From: terencehill Date: Fri, 13 Aug 2010 21:29:22 +0000 (+0200) Subject: Limit pps to correct values, otherwise the client not so rarely shows a negated 0... X-Git-Tag: xonotic-v0.5.0~348^2~6^2~8 X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=828d10a4c2cd7fe2b30292461d8c50c72cdf065f Limit pps to correct values, otherwise the client not so rarely shows a negated 0 (sprintf bug) --- diff --git a/qcsrc/server/domination.qc b/qcsrc/server/domination.qc index 578a440990..ac8343c069 100644 --- a/qcsrc/server/domination.qc +++ b/qcsrc/server/domination.qc @@ -129,35 +129,45 @@ void dompoint_captured () switch(self.team) { + // "fix" pps when slightly under 0 because of approximation errors case COLOR_TEAM1: pps_red -= (points/wait_time); + if (pps_red < 0) pps_red = 0; break; case COLOR_TEAM2: pps_blue -= (points/wait_time); + if (pps_blue < 0) pps_blue = 0; break; case COLOR_TEAM3: pps_yellow -= (points/wait_time); + if (pps_yellow < 0) pps_yellow = 0; break; case COLOR_TEAM4: pps_pink -= (points/wait_time); + if (pps_pink < 0) pps_pink = 0; } switch(self.goalentity.team) { + // "fix" pps when slightly over total_pps because of approximation errors case COLOR_TEAM1: pps_red += (points/wait_time); + if (pps_red > total_pps) pps_red = total_pps; WaypointSprite_UpdateSprites(self.sprite, "dom-red", "", ""); break; case COLOR_TEAM2: pps_blue += (points/wait_time); + if (pps_blue > total_pps) pps_blue = total_pps; WaypointSprite_UpdateSprites(self.sprite, "dom-blue", "", ""); break; case COLOR_TEAM3: pps_yellow += (points/wait_time); + if (pps_yellow > total_pps) pps_yellow = total_pps; WaypointSprite_UpdateSprites(self.sprite, "dom-yellow", "", ""); break; case COLOR_TEAM4: pps_pink += (points/wait_time); + if (pps_pink > total_pps) pps_pink = total_pps; WaypointSprite_UpdateSprites(self.sprite, "dom-pink", "", ""); }