- Fixed: The trace code could pass a temporary sector struct with its result.

Update to ZDoom r1271:
- Added native variables to expression evaluator and replaced the previous
  handling of actor variables in expressions with it.
- Added support for floating point constants to DECORATE expression evaluator.
- Rewrote the SeePastShootableLines check in P_SightCheckLine() to be
  more readable.
- Commented out the MugShot state nulling in DSBarInfo::AttachToPlayer() so
  that fiddling with player options does not reset the mug shot.
- Fixed: SetMugShotState ACS command did not pop the stack.
- Added a global symbol table and changed DECORATE parser to put its global 
  symbols there instead of into AActor.
- Changed the expression evaluator's floating point precision to double.
- Started rewriting the DECORATE expression evaluator to allow more flexibility.
  All the operators use the new functionality but functions, variables and
  constants are yet to be redone.
  While doing this rewrite I noticed that random2 was always evaluated as const.
  This got fixed automatically.
- This may or may not be a problem, but GCC warned that FStateDefinitions::
  AddStateDefines() does not initialize def.FStateDefine::DefineFlags, so
  I fixed that.
- Fixed: The three-argument version of AActor::FindState() initialized a
  two-entry array for passing to the main FindState() routine, but did
  not actually pass it, passing the original primary label instead.
- Fixed: SDL builds did not shutdown the sound system at exit.
- Fixed: ThingCountSector and ThingCountNameSector did not remove enough
  entries from the stack, and did not put the result in the right slot.
- Fixed: Teleport lines were prioritized over secret lines when deciding what
  color to draw them on the automap.
- Fixed: Death-reverting morphs did not remove the morph item from the
  player's inventory when death caused the morph to revert.
- Updated fmod_wrap.h for FMOD Ex 4.18.
- Fixed: The TEXTURES parser could copy beyond the end of a string when parsing
  a 'define' definition.
- Fixed: Cheats in demos must not access the weapon slots.
- Fixed: S_ChannelEnded didn't check for a NULL SfxInfo.
- Fixed: R_InitTables did a typecast to angle_t instead of fixed_t.
- Fixed: PowerProtection and PowerDamage applied their defaults incorrectly.
- Fixed: The damage type property didn't properly read its factor.
- Finally has the right idea how to restore Doom's original clipping of projectiles
  against decorations without breaking anything newer:
  Added a new 'projectilepassheight' property that defines an alternative height
  that is only used when checking a projectile's movement against this actor.
  If the value is positive it is used regardless of other settings, if it is
  negative, its absolute will be used if a new compatibility option is enabled
  and if it is 0 the normal height will be used.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@187 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
Christoph Oelckers 2008-10-19 22:24:34 +00:00
parent ab4cc1a67d
commit 83ece56308
56 changed files with 6233 additions and 3744 deletions

View file

@ -378,16 +378,16 @@ void R_InitTables (void)
const double pimul = PI*2/FINEANGLES;
// viewangle tangent table
finetangent[0] = (angle_t)(FRACUNIT*tan ((0.5-FINEANGLES/4)*pimul)+0.5);
finetangent[0] = (fixed_t)(FRACUNIT*tan ((0.5-FINEANGLES/4)*pimul)+0.5);
for (i = 1; i < FINEANGLES/2; i++)
{
finetangent[i] = (angle_t)(FRACUNIT*tan ((i-FINEANGLES/4)*pimul)+0.5);
finetangent[i] = (fixed_t)(FRACUNIT*tan ((i-FINEANGLES/4)*pimul)+0.5);
}
// finesine table
for (i = 0; i < FINEANGLES/4; i++)
{
finesine[i] = (angle_t)(FRACUNIT * sin (i*pimul));
finesine[i] = (fixed_t)(FRACUNIT * sin (i*pimul));
}
for (i = 0; i < FINEANGLES/4; i++)
{