mirror of
https://github.com/ZDoom/Raze.git
synced 2025-05-31 09:20:59 +00:00
- lower the value of MAXSO.
This was causing overflow issues and resulted in bad int <-> float conversions.
This commit is contained in:
parent
6e96b1ee81
commit
13d01bc98b
6 changed files with 10 additions and 27 deletions
|
@ -861,8 +861,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6
|
||||||
vertexscan(wal, [&](walltype* wal)
|
vertexscan(wal, [&](walltype* wal)
|
||||||
{
|
{
|
||||||
viewInterpolateWall(wal);
|
viewInterpolateWall(wal);
|
||||||
wal->pos = vec;
|
wal->move(vec);
|
||||||
wal->moved();
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -318,12 +318,14 @@ void setanimatevalue(int type, int index, double value)
|
||||||
sector[index].setceilingz((int)value);
|
sector[index].setceilingz((int)value);
|
||||||
break;
|
break;
|
||||||
case anim_vertexx:
|
case anim_vertexx:
|
||||||
wall[index].moved();
|
wall[index].pos.X = value * worldtomap;
|
||||||
wall[index].pos.X = value * maptoworld;
|
wall[index].pos.X = value * maptoworld;
|
||||||
|
wall[index].moved();
|
||||||
break;
|
break;
|
||||||
case anim_vertexy:
|
case anim_vertexy:
|
||||||
wall[index].moved();
|
wall[index].pos.Y = value * worldtomap;
|
||||||
wall[index].pos.Y = value * maptoworld;
|
wall[index].pos.Y = value * maptoworld;
|
||||||
|
wall[index].moved();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(false);
|
assert(false);
|
||||||
|
|
|
@ -1564,10 +1564,10 @@ enum
|
||||||
SO_TURRET = 97,
|
SO_TURRET = 97,
|
||||||
SO_VEHICLE = 98,
|
SO_VEHICLE = 98,
|
||||||
// #define SO_SPEED_BOAT 99
|
// #define SO_SPEED_BOAT 99
|
||||||
MAXSO = INT32_MAX
|
MAXSO = INT32_MAX / 2
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool SO_EMPTY(SECTOR_OBJECT* sop) { return (sop->pmid.X == INT32_MAX); }
|
inline bool SO_EMPTY(SECTOR_OBJECT* sop) { return (sop->pmid.X == MAXSO); }
|
||||||
|
|
||||||
extern SECTOR_OBJECT SectorObject[MAX_SECTOR_OBJECTS];
|
extern SECTOR_OBJECT SectorObject[MAX_SECTOR_OBJECTS];
|
||||||
|
|
||||||
|
|
|
@ -133,12 +133,12 @@ static void setvalue(so_interp::interp_data& element, double value)
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case soi_wallx:
|
case soi_wallx:
|
||||||
wall[index].moved();
|
|
||||||
wall[index].pos.X = value;
|
wall[index].pos.X = value;
|
||||||
|
wall[index].moved();
|
||||||
break;
|
break;
|
||||||
case soi_wally:
|
case soi_wally:
|
||||||
wall[index].moved();
|
|
||||||
wall[index].pos.Y = value;
|
wall[index].pos.Y = value;
|
||||||
|
wall[index].moved();
|
||||||
break;
|
break;
|
||||||
case soi_ceil:
|
case soi_ceil:
|
||||||
sector[index].setceilingz((int)value);
|
sector[index].setceilingz((int)value);
|
||||||
|
|
|
@ -379,7 +379,7 @@ void SectorSetup(void)
|
||||||
SectorObject[ndx].mid_sector = nullptr;
|
SectorObject[ndx].mid_sector = nullptr;
|
||||||
SectorObject[ndx].op_main_sector = nullptr;
|
SectorObject[ndx].op_main_sector = nullptr;
|
||||||
SectorObject[ndx].morph_wall_point = nullptr;
|
SectorObject[ndx].morph_wall_point = nullptr;
|
||||||
SectorObject[ndx].pmid.X = INT32_MAX;
|
SectorObject[ndx].pmid.X = MAXSO;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(SineWaveFloor, 0, sizeof(SineWaveFloor));
|
memset(SineWaveFloor, 0, sizeof(SineWaveFloor));
|
||||||
|
|
|
@ -2669,24 +2669,6 @@ void VehicleSetSmoke(SECTOR_OBJECT* sop, ANIMATOR* animator)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void KillSectorObject(SECTOR_OBJECT* sop)
|
|
||||||
{
|
|
||||||
int newx = MAXSO;
|
|
||||||
int newy = MAXSO;
|
|
||||||
short newang = 0;
|
|
||||||
|
|
||||||
if (sop->track < SO_OPERATE_TRACK_START)
|
|
||||||
return;
|
|
||||||
|
|
||||||
sop->ang_tgt = sop->ang_moving = newang;
|
|
||||||
|
|
||||||
sop->spin_ang = 0;
|
|
||||||
sop->ang = sop->ang_tgt;
|
|
||||||
|
|
||||||
RefreshPoints(sop, newx - sop->pmid.X, newy - sop->pmid.Y, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void TornadoSpin(SECTOR_OBJECT* sop)
|
void TornadoSpin(SECTOR_OBJECT* sop)
|
||||||
{
|
{
|
||||||
short delta_ang, speed;
|
short delta_ang, speed;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue