[quake3-commits] r1735 - in trunk/code: cgame game
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Nov 6 07:02:02 EST 2009
Author: thilo
Date: 2009-11-06 07:02:02 -0500 (Fri, 06 Nov 2009)
New Revision: 1735
Modified:
trunk/code/cgame/cg_drawtools.c
trunk/code/game/g_mover.c
Log:
Commit two patches from SmokingGuns's Tequila, fixing problems with very fast movers and a typo in the string drawing function. (#4329) and (#4330)
Modified: trunk/code/cgame/cg_drawtools.c
===================================================================
--- trunk/code/cgame/cg_drawtools.c 2009-11-06 10:50:16 UTC (rev 1734)
+++ trunk/code/cgame/cg_drawtools.c 2009-11-06 12:02:02 UTC (rev 1735)
@@ -714,7 +714,7 @@
trap_R_SetColor( color );
ax = x * cgs.screenXScale + cgs.screenXBias;
- ay = y * cgs.screenXScale;
+ ay = y * cgs.screenYScale;
s = str;
while ( *s )
Modified: trunk/code/game/g_mover.c
===================================================================
--- trunk/code/game/g_mover.c 2009-11-06 10:50:16 UTC (rev 1734)
+++ trunk/code/game/g_mover.c 2009-11-06 12:02:02 UTC (rev 1735)
@@ -1308,6 +1308,25 @@
ent->s.pos.trDuration = length * 1000 / speed;
+ // Tequila comment: Be sure to send to clients after any fast move case
+ ent->r.svFlags &= ~SVF_NOCLIENT;
+
+ // Tequila comment: Fast move case
+ if(ent->s.pos.trDuration<1) {
+ // Tequila comment: As trDuration is used later in a division, we need to avoid that case now
+ // With null trDuration,
+ // the calculated rocks bounding box becomes infinite and the engine think for a short time
+ // any entity is riding that mover but not the world entity... In rare case, I found it
+ // can also stuck every map entities after func_door are used.
+ // The desired effect with very very big speed is to have instant move, so any not null duration
+ // lower than a frame duration should be sufficient.
+ // Afaik, the negative case don't have to be supported.
+ ent->s.pos.trDuration=1;
+
+ // Tequila comment: Don't send entity to clients so it becomes really invisible
+ ent->r.svFlags |= SVF_NOCLIENT;
+ }
+
// looping sound
ent->s.loopSound = next->soundLoop;
More information about the quake3-commits
mailing list