- fixed: Even with precise rendering polyobject lines must be excluded from being split.

Update to ZDoom r2081:
- fixed: Polyobjects could contain segs that weren't flagged as such.
- fixed: Trying to show a popup crashed in the SBARINFO code because of a 
  missing NULL pointer check.
- fixed: The ACS thinker needs its own statnum above all actors. Otherwise
  order of execution is not guaranteed.
- fixed: Only ActorMovers should go into STAT_ACTORMOVER, not all PathFollowers.
- fixed: SBARINFO's DrawGem command accepted a size value of 0 and divided
  by it. Reinstated the old '+1' this command had in the old code.
- fixed: The floor waggle code used FloatBobOffsets as sine table but this
  only has 64 entries and is not precise enough. It now uses finesine instead.
- fixed: When compositing a multipatch texture any patch that is a multpatch
  texture itself and contains rotations may not be composited directly into
  the destination buffer. This must be done with an intermediate buffer.
- Fixed: Drawing a slider in the options menu did not scale the x-coordinate.
- Fixed: If the alt HUD had to draw negative numbers the minus sign was misplaced
  due to incorrect texture coordinate calculations.
- changed option menu scaling for widescreen modes so that it doesn't scale down
  so quickly. 
- made some error messages in DECORATE that don't affect the parsing non-fatal
  so that the parser can continue to find more problems.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@701 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
Christoph Oelckers 2010-01-02 13:21:07 +00:00
parent 20094a6fa2
commit 460bb58d14
18 changed files with 134 additions and 53 deletions

View file

@ -1268,9 +1268,17 @@ void DWaggleBase::DoWaggle (bool ceiling)
break;
}
m_Accumulator += m_AccDelta;
#if 1
fixed_t mag = finesine[(m_Accumulator>>9)&8191]*8;
#else
// Hexen used a 64 entry(!) sine table here which is not nearly precise enough for smooth movement
fixed_t mag = FloatBobOffsets[(m_Accumulator>>FRACBITS)&63];
#endif
dist = plane->d;
plane->d = m_OriginalDist + plane->PointToDist (0, 0,
FixedMul (FloatBobOffsets[(m_Accumulator>>FRACBITS)&63], m_Scale));
plane->d = m_OriginalDist + plane->PointToDist (0, 0, FixedMul (mag, m_Scale));
m_Sector->ChangePlaneTexZ(pos, plane->HeightDiff (dist));
dist = plane->HeightDiff (dist);