mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-27 22:00:52 +00:00
- all wall loops using point2.
This commit is contained in:
parent
7e6de45e46
commit
9f9c01284b
3 changed files with 22 additions and 26 deletions
|
@ -183,9 +183,9 @@ void so_addinterpolation(SECTOR_OBJECTp sop)
|
||||||
|
|
||||||
if (wal.twoSided())
|
if (wal.twoSided())
|
||||||
{
|
{
|
||||||
auto nextWall = wal.nextWall();
|
auto nextWall = wal.nextWall()->point2Wall();
|
||||||
so_setpointinterpolation(interp, nextWall->point2 | soi_wallx);
|
so_setpointinterpolation(interp, wallnum(nextWall) | soi_wallx);
|
||||||
so_setpointinterpolation(interp, nextWall->point2 | soi_wally);
|
so_setpointinterpolation(interp, wallnum(nextWall) | soi_wally);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -121,7 +121,6 @@ bool FAF_Sector(sectortype* sectnum)
|
||||||
|
|
||||||
void SetWallWarpHitscan(short sectnum)
|
void SetWallWarpHitscan(short sectnum)
|
||||||
{
|
{
|
||||||
short start_wall, wall_num;
|
|
||||||
DSWActor* sp_warp;
|
DSWActor* sp_warp;
|
||||||
|
|
||||||
if (!WarpSectorInfo(sectnum, &sp_warp))
|
if (!WarpSectorInfo(sectnum, &sp_warp))
|
||||||
|
@ -130,31 +129,29 @@ void SetWallWarpHitscan(short sectnum)
|
||||||
if (!sp_warp)
|
if (!sp_warp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// move the the next wall
|
auto start_wall = sector[sectnum].firstWall();
|
||||||
wall_num = start_wall = sector[sectnum].wallptr;
|
auto wall_num = start_wall;
|
||||||
|
|
||||||
// Travel all the way around loop setting wall bits
|
// Travel all the way around loop setting wall bits
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (validWallIndex(wall[wall_num].nextwall))
|
if (validWallIndex(wall_num->nextwall))
|
||||||
SET(wall[wall_num].cstat, CSTAT_WALL_WARP_HITSCAN);
|
SET(wall_num->cstat, CSTAT_WALL_WARP_HITSCAN);
|
||||||
wall_num = wall[wall_num].point2;
|
wall_num = wall_num->point2Wall();
|
||||||
}
|
}
|
||||||
while (wall_num != start_wall);
|
while (wall_num != start_wall);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResetWallWarpHitscan(short sectnum)
|
void ResetWallWarpHitscan(short sectnum)
|
||||||
{
|
{
|
||||||
short start_wall, wall_num;
|
auto start_wall = sector[sectnum].firstWall();
|
||||||
|
auto wall_num = start_wall;
|
||||||
// move the the next wall
|
|
||||||
wall_num = start_wall = sector[sectnum].wallptr;
|
|
||||||
|
|
||||||
// Travel all the way around loop setting wall bits
|
// Travel all the way around loop setting wall bits
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
RESET(wall[wall_num].cstat, CSTAT_WALL_WARP_HITSCAN);
|
RESET(wall_num->cstat, CSTAT_WALL_WARP_HITSCAN);
|
||||||
wall_num = wall[wall_num].point2;
|
wall_num = wall_num->point2Wall();
|
||||||
}
|
}
|
||||||
while (wall_num != start_wall);
|
while (wall_num != start_wall);
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,23 +90,22 @@ SPRING_BOARD SpringBoard[20];
|
||||||
|
|
||||||
void SetSectorWallBits(short sectnum, int bit_mask, bool set_sectwall, bool set_nextwall)
|
void SetSectorWallBits(short sectnum, int bit_mask, bool set_sectwall, bool set_nextwall)
|
||||||
{
|
{
|
||||||
short wall_num, start_wall;
|
auto start_wall = sector[sectnum].firstWall();
|
||||||
|
auto wall_num = start_wall;
|
||||||
wall_num = start_wall = sector[sectnum].wallptr;
|
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (set_sectwall)
|
if (set_sectwall)
|
||||||
SET(wall[wall_num].extra, bit_mask);
|
SET(wall_num->extra, bit_mask);
|
||||||
|
|
||||||
if (set_nextwall)
|
if (set_nextwall)
|
||||||
{
|
{
|
||||||
uint16_t const nextwall = wall[wall_num].nextwall;
|
uint16_t const nextwall = wall_num->nextwall;
|
||||||
if (validWallIndex(nextwall))
|
if (validWallIndex(nextwall))
|
||||||
SET(wall[nextwall].extra, bit_mask);
|
SET(wall[nextwall].extra, bit_mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
wall_num = wall[wall_num].point2;
|
wall_num = wall_num->point2Wall();
|
||||||
}
|
}
|
||||||
while (wall_num != start_wall);
|
while (wall_num != start_wall);
|
||||||
|
|
||||||
|
@ -151,12 +150,12 @@ static void WallSetupLoop(WALLp wp, int16_t lotag, int16_t extra)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Travel all the way around loop setting wall bits
|
// Travel all the way around loop setting wall bits
|
||||||
for (uint16_t wall_num = wp->point2;
|
for (auto wall_num = wp->point2Wall();
|
||||||
wall[wall_num].lotag != lotag;
|
wall_num->lotag != lotag;
|
||||||
wall_num = wall[wall_num].point2)
|
wall_num = wall_num->point2Wall())
|
||||||
{
|
{
|
||||||
SET(wall[wall_num].extra, extra);
|
SET(wall_num->extra, extra);
|
||||||
uint16_t const nextwall = wall[wall_num].nextwall;
|
uint16_t const nextwall = wall_num->nextwall;
|
||||||
if (validWallIndex(nextwall))
|
if (validWallIndex(nextwall))
|
||||||
SET(wall[nextwall].extra, extra);
|
SET(wall[nextwall].extra, extra);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue