- 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. SVN r2076 (trunk)
This commit is contained in:
parent
54283ee231
commit
87f3c9c5b7
10 changed files with 117 additions and 64 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue