mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-22 11:41:08 +00:00
- floatified SINE_WAVE_FLOOR
This commit is contained in:
parent
af6f96caa4
commit
fce5f01f07
3 changed files with 19 additions and 19 deletions
|
@ -1299,7 +1299,7 @@ struct SWING
|
||||||
struct SINE_WAVE_FLOOR
|
struct SINE_WAVE_FLOOR
|
||||||
{
|
{
|
||||||
sectortype* sectp;
|
sectortype* sectp;
|
||||||
int floor_origz, ceiling_origz, range;
|
double floorOrigz, ceilingOrigz, Range;
|
||||||
int16_t sintable_ndx, speed_shift;
|
int16_t sintable_ndx, speed_shift;
|
||||||
uint8_t flags;
|
uint8_t flags;
|
||||||
};
|
};
|
||||||
|
|
|
@ -867,9 +867,9 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, SINE_WAVE_FLOOR& w
|
||||||
|
|
||||||
if (arc.BeginObject(keyname))
|
if (arc.BeginObject(keyname))
|
||||||
{
|
{
|
||||||
arc("floor_origz", w.floor_origz, def->floor_origz)
|
arc("floor_origz", w.floorOrigz, def->floorOrigz)
|
||||||
("ceiling_origz", w.ceiling_origz, def->ceiling_origz)
|
("ceiling_origz", w.ceilingOrigz, def->ceilingOrigz)
|
||||||
("range", w.range, def->range)
|
("range", w.Range, def->Range)
|
||||||
("sector", w.sectp, def->sectp)
|
("sector", w.sectp, def->sectp)
|
||||||
("sintable_ndx", w.sintable_ndx, def->sintable_ndx)
|
("sintable_ndx", w.sintable_ndx, def->sintable_ndx)
|
||||||
("speed_shift", w.speed_shift, def->speed_shift)
|
("speed_shift", w.speed_shift, def->speed_shift)
|
||||||
|
|
|
@ -500,7 +500,7 @@ void SectorSetup(void)
|
||||||
SINE_WAVE_FLOOR *swf;
|
SINE_WAVE_FLOOR *swf;
|
||||||
uint16_t swf_ndx = 0;
|
uint16_t swf_ndx = 0;
|
||||||
short cnt = 0, sector_cnt;
|
short cnt = 0, sector_cnt;
|
||||||
int range;
|
double Range;
|
||||||
int range_diff = 0;
|
int range_diff = 0;
|
||||||
int wave_diff = 0;
|
int wave_diff = 0;
|
||||||
short peak_dist = 0;
|
short peak_dist = 0;
|
||||||
|
@ -536,9 +536,9 @@ void SectorSetup(void)
|
||||||
|
|
||||||
swf->sectp = sectp;
|
swf->sectp = sectp;
|
||||||
ASSERT(swf->sectp->hitag != 0);
|
ASSERT(swf->sectp->hitag != 0);
|
||||||
swf->range = range = Z(swf->sectp->hitag);
|
swf->Range = Range = swf->sectp->hitag;
|
||||||
swf->floor_origz = swf->sectp->int_floorz() - (range >> 2);
|
swf->floorOrigz = swf->sectp->floorz - (Range * 0.25);
|
||||||
swf->ceiling_origz = swf->sectp->int_ceilingz() - (range >> 2);
|
swf->ceilingOrigz = swf->sectp->ceilingz- (Range * 0.25);
|
||||||
|
|
||||||
// look for the rest by distance
|
// look for the rest by distance
|
||||||
auto near_sectp = sectp, base_sectp = sectp;
|
auto near_sectp = sectp, base_sectp = sectp;
|
||||||
|
@ -558,10 +558,10 @@ void SectorSetup(void)
|
||||||
peak_dist = near_sectp->hitag;
|
peak_dist = near_sectp->hitag;
|
||||||
|
|
||||||
swf->sectp = near_sectp;
|
swf->sectp = near_sectp;
|
||||||
swf->floor_origz = swf->sectp->int_floorz() - (range >> 2);
|
swf->floorOrigz = swf->sectp->floorz - (Range * 0.25);
|
||||||
swf->ceiling_origz = swf->sectp->int_ceilingz() - (range >> 2);
|
swf->ceilingOrigz = swf->sectp->ceilingz- (Range * 0.25);
|
||||||
range -= range_diff;
|
Range -= range_diff * zmaptoworld;
|
||||||
swf->range = range;
|
swf->Range = Range;
|
||||||
|
|
||||||
base_sectp = swf->sectp;
|
base_sectp = swf->sectp;
|
||||||
sector_cnt++;
|
sector_cnt++;
|
||||||
|
@ -604,16 +604,16 @@ void SectorSetup(void)
|
||||||
|
|
||||||
swf = &SineWaveFloor[NextSineWave][cnt];
|
swf = &SineWaveFloor[NextSineWave][cnt];
|
||||||
|
|
||||||
swf->range -= wave_diff;
|
swf->Range -= wave_diff * zmaptoworld;
|
||||||
|
|
||||||
wave_diff += wave_diff;
|
wave_diff += wave_diff;
|
||||||
|
|
||||||
if (swf->range < Z(4))
|
if (swf->Range < 4)
|
||||||
swf->range = Z(4);
|
swf->Range = 4;
|
||||||
|
|
||||||
// reset origz's based on new range
|
// reset origz's based on new range
|
||||||
swf->floor_origz = swf->sectp->int_floorz() - (swf->range >> 2);
|
swf->floorOrigz = swf->sectp->floorz - (swf->Range * 0.25);
|
||||||
swf->ceiling_origz = swf->sectp->int_ceilingz() - (swf->range >> 2);
|
swf->ceilingOrigz = swf->sectp->ceilingz - (swf->Range * 0.25);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2597,13 +2597,13 @@ void DoSineWaveFloor(void)
|
||||||
|
|
||||||
if ((flags & SINE_FLOOR))
|
if ((flags & SINE_FLOOR))
|
||||||
{
|
{
|
||||||
newz = swf->floor_origz + MulScale(swf->range, bsin(swf->sintable_ndx), 14);
|
newz = swf->floorOrigz + swf->Range * BobVal(swf->sintable_ndx);
|
||||||
swf->sectp->set_int_floorz(newz);
|
swf->sectp->set_int_floorz(newz);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & SINE_CEILING))
|
if ((flags & SINE_CEILING))
|
||||||
{
|
{
|
||||||
newz = swf->ceiling_origz + MulScale(swf->range, bsin(swf->sintable_ndx), 14);
|
newz = swf->ceilingOrigz + swf->Range * BobVal(swf->sintable_ndx);
|
||||||
swf->sectp->set_int_ceilingz(newz);
|
swf->sectp->set_int_ceilingz(newz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue