Skip to content

Commit

Permalink
Commit two patches from SmokingGuns's Tequila, fixing problems with v…
Browse files Browse the repository at this point in the history
…ery fast movers and a typo in the string drawing function. (#4329) and (#4330)
  • Loading branch information
Thilo Schulz committed Nov 6, 2009
1 parent 4ba2452 commit 223b851
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
2 changes: 1 addition & 1 deletion code/cgame/cg_drawtools.c
Expand Up @@ -714,7 +714,7 @@ static void UI_DrawProportionalString2( int x, int y, const char* str, vec4_t co
trap_R_SetColor( color );

ax = x * cgs.screenXScale + cgs.screenXBias;
ay = y * cgs.screenXScale;
ay = y * cgs.screenYScale;

s = str;
while ( *s )
Expand Down
19 changes: 19 additions & 0 deletions code/game/g_mover.c
Expand Up @@ -1308,6 +1308,25 @@ void Reached_Train( gentity_t *ent ) {

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;

Expand Down

0 comments on commit 223b851

Please sign in to comment.