- added a compatibility option to restore the original Heretic bug where
a Minotaur couldn't spawn floor flames when standing in water having its feet clipped. - added vid_vsync to display options. - fixed: Animations of type 'Range' must be disabled if the textures don't come from the same definition unit (i.e both containing file and use type are identical.) - changed: Item pushing is now only done once per P_XYMovement call. - Increased the push factor of Heretic's pod to 0.5 so that its behavior more closely matches the original which depended on several bugs in the engine. - Removed damage thrust clamping in P_DamageMobj and changed the thrust calculation to use floats to prevent overflows. The prevention of the overflows was the only reason the clamping was done. - Added Raven's dagger-like vector sprite for the player to the automap code. SVN r1668 (trunk)
This commit is contained in:
parent
e69f90076d
commit
3ab370b6ee
16 changed files with 149 additions and 36 deletions
|
|
@ -1039,12 +1039,20 @@ void P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage
|
|||
|
||||
ang = R_PointToAngle2 (origin->x, origin->y,
|
||||
target->x, target->y);
|
||||
thrust = damage*(FRACUNIT>>3)*kickback / target->Mass;
|
||||
|
||||
|
||||
// Calculate this as float to avoid overflows so that the
|
||||
// clamping that had to be done here can be removed.
|
||||
thrust = FLOAT2FIXED((damage * 0.125 * kickback) / target->Mass);
|
||||
|
||||
// [RH] If thrust overflows, use a more reasonable amount
|
||||
/* old fixed point code that could overflow.
|
||||
thrust = damage*(FRACUNIT>>3)*kickback / target->Mass;
|
||||
if (thrust < 0 || thrust > 10*FRACUNIT)
|
||||
{
|
||||
thrust = 10*FRACUNIT;
|
||||
}
|
||||
*/
|
||||
// make fall forwards sometimes
|
||||
if ((damage < 40) && (damage > target->health)
|
||||
&& (target->z - origin->z > 64*FRACUNIT)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue