mirror of
https://github.com/DrBeef/Raze.git
synced 2025-01-31 13:10:39 +00:00
- floatified SINE_WALL
This commit is contained in:
parent
6de279282e
commit
af6f96caa4
3 changed files with 13 additions and 12 deletions
|
@ -1316,7 +1316,8 @@ extern SINE_WAVE_FLOOR SineWaveFloor[MAX_SINE_WAVE][21];
|
|||
struct SINE_WALL
|
||||
{
|
||||
walltype* wallp;
|
||||
int orig_xy, range;
|
||||
double origXY;
|
||||
double Range;
|
||||
int16_t sintable_ndx, speed_shift, type;
|
||||
};
|
||||
|
||||
|
|
|
@ -896,8 +896,8 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, SINE_WALL& w, SINE
|
|||
|
||||
if (arc.BeginObject(keyname))
|
||||
{
|
||||
arc("orig_xy", w.orig_xy, def->orig_xy)
|
||||
("range", w.range, def->range)
|
||||
arc("orig_xy", w.origXY, def->origXY)
|
||||
("range", w.Range, def->Range)
|
||||
("sector", w.wallp, def->wallp)
|
||||
("sintable_ndx", w.sintable_ndx, def->sintable_ndx)
|
||||
("speed_shift", w.speed_shift, def->speed_shift)
|
||||
|
|
|
@ -136,7 +136,7 @@ void WallSetupDontMove(void)
|
|||
{
|
||||
for(auto& wal : wall)
|
||||
{
|
||||
if (wal.wall_int_pos().X < jActor->int_pos().X && wal.wall_int_pos().X > iActor->int_pos().X && wal.wall_int_pos().Y < jActor->int_pos().Y && wal.wall_int_pos().Y > iActor->int_pos().Y)
|
||||
if (wal.pos.X < jActor->spr.pos.X && wal.pos.X > iActor->spr.pos.X && wal.pos.Y < jActor->spr.pos.Y && wal.pos.Y > iActor->spr.pos.Y)
|
||||
{
|
||||
wal.extra |= WALLFX_DONT_MOVE;
|
||||
}
|
||||
|
@ -317,15 +317,15 @@ void WallSetup(void)
|
|||
sw->type = type;
|
||||
sw->wallp = wall_num;
|
||||
sw->speed_shift = speed;
|
||||
sw->range = range;
|
||||
sw->Range = range * maptoworld;
|
||||
|
||||
// don't allow bullet holes/stars
|
||||
wall_num->extra |= WALLFX_DONT_STICK;
|
||||
|
||||
if (!sw->type)
|
||||
sw->orig_xy = wall_num->wall_int_pos().Y - (sw->range >> 2);
|
||||
sw->origXY = wall_num->pos.Y - (sw->Range * 0.25);
|
||||
else
|
||||
sw->orig_xy = wall_num->wall_int_pos().X - (sw->range >> 2);
|
||||
sw->origXY = wall_num->pos.X - (sw->Range * 0.25);
|
||||
|
||||
sw->sintable_ndx = cnt * (2048 / num_points);
|
||||
}
|
||||
|
@ -2653,7 +2653,7 @@ void DoSineWaveFloor(void)
|
|||
void DoSineWaveWall(void)
|
||||
{
|
||||
SINE_WALL *sw;
|
||||
int New;
|
||||
double New;
|
||||
short sw_num;
|
||||
|
||||
for (sw_num = 0; sw_num < MAX_SINE_WALL; sw_num++)
|
||||
|
@ -2666,13 +2666,13 @@ void DoSineWaveWall(void)
|
|||
|
||||
if (!sw->type)
|
||||
{
|
||||
New = sw->orig_xy + MulScale(sw->range, bsin(sw->sintable_ndx), 14);
|
||||
dragpoint(wal, wal->wall_int_pos().X, New);
|
||||
New = sw->origXY + sw->Range * BobVal(sw->sintable_ndx);
|
||||
dragpoint(wal, DVector2(wal->pos.X, New));
|
||||
}
|
||||
else
|
||||
{
|
||||
New = sw->orig_xy + MulScale(sw->range, bsin(sw->sintable_ndx), 14);
|
||||
dragpoint(wal, New, wal->wall_int_pos().Y);
|
||||
New = sw->origXY + sw->Range * BobVal(sw->sintable_ndx);
|
||||
dragpoint(wal, DVector2(New, wal->pos.Y));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue