- Fixed: The code that checked hitscans entering an actor from above and below

calculated the hit position wrong.


SVN r553 (trunk)
This commit is contained in:
Christoph Oelckers 2007-10-08 09:54:00 +00:00
parent 90db40c70f
commit c81fe8d061
3 changed files with 12 additions and 3 deletions

View file

@ -1,3 +1,7 @@
October 8, 2007 (Changes by Graf Zahl)
- Fixed: The code that checked hitscans entering an actor from above and below
calculated the hit position wrong.
October 5, 2007 (Changes by Graf Zahl)
- Fixed: Tne Imp's raise state sequence was wrong due to a typo.
- Fixed: The shotgun had spawn ID 21 instead of 27.

View file

@ -1709,7 +1709,11 @@ void M_VerifyNightmare (int ch)
return;
G_DeferedInitNew (EpisodeMaps[epi], 4);
gamestate = gamestate == GS_FULLCONSOLE ? GS_HIDECONSOLE : gamestate;
if (gamestate == GS_FULLCONSOLE)
{
gamestate = GS_HIDECONSOLE;
gameaction = ga_newgame;
}
M_ClearMenus ();
}

View file

@ -311,7 +311,8 @@ static bool PTR_TraceIterator (intercept_t *in)
if (Vz >= 0) return true; // Going up: can't hit
// Does it hit the top of the actor?
dist = StartZ - (in->d.thing->z + in->d.thing->height);
dist = FixedDiv(in->d.thing->z + in->d.thing->height - StartZ, Vz);
if (dist > MaxDist) return true;
in->frac = FixedDiv(dist, MaxDist);
@ -324,7 +325,7 @@ static bool PTR_TraceIterator (intercept_t *in)
if (Vz <= 0) return true; // Going down: can't hit
// Does it hit the bottom of the actor?
dist = in->d.thing->z - StartZ;
dist = FixedDiv(in->d.thing->z - StartZ, Vz);
if (dist > MaxDist) return true;
in->frac = FixedDiv(dist, MaxDist);