mirror of
https://github.com/ZDoom/Raze.git
synced 2025-01-31 12:30:40 +00:00
- the final doable sector[] replacements.
The rest needs to be done with the backend.
This commit is contained in:
parent
e2e0f69393
commit
cf6e75ad54
1 changed files with 14 additions and 14 deletions
|
@ -101,7 +101,7 @@ int SpawnSmokePuff(DSWActor* actor);
|
||||||
bool WarpToUnderwater(sectortype** sectnum, int *x, int *y, int *z);
|
bool WarpToUnderwater(sectortype** sectnum, int *x, int *y, int *z);
|
||||||
bool WarpToSurface(sectortype** sectnum, int *x, int *y, int *z);
|
bool WarpToSurface(sectortype** sectnum, int *x, int *y, int *z);
|
||||||
int InitElectroJump(SPRITEp wp, SPRITEp sp);
|
int InitElectroJump(SPRITEp wp, SPRITEp sp);
|
||||||
bool TestDontStickSector(short hit_sect);
|
bool TestDontStickSector(sectortype* hit_sect);
|
||||||
ANIMATOR SpawnShrapX;
|
ANIMATOR SpawnShrapX;
|
||||||
bool WeaponMoveHit(DSWActor* actor);
|
bool WeaponMoveHit(DSWActor* actor);
|
||||||
void SpawnMidSplash(DSWActor* actor);
|
void SpawnMidSplash(DSWActor* actor);
|
||||||
|
@ -4592,7 +4592,7 @@ int DoFireballFlames(DSWActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TestDontStickSector(sp->sectnum))
|
if (TestDontStickSector(sp->sector()))
|
||||||
{
|
{
|
||||||
KillActor(actor);
|
KillActor(actor);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -4667,7 +4667,7 @@ int DoBreakFlames(DSWActor* actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TestDontStickSector(sp->sectnum))
|
if (TestDontStickSector(sp->sector()))
|
||||||
{
|
{
|
||||||
KillActor(actor);
|
KillActor(actor);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -7292,7 +7292,7 @@ short StatBreakList[] =
|
||||||
STAT_DEAD_ACTOR,
|
STAT_DEAD_ACTOR,
|
||||||
};
|
};
|
||||||
|
|
||||||
void TraverseBreakableWalls(short start_sect, int x, int y, int z, short ang, int radius)
|
void TraverseBreakableWalls(sectortype* start_sect, int x, int y, int z, short ang, int radius)
|
||||||
{
|
{
|
||||||
int k;
|
int k;
|
||||||
int xmid,ymid;
|
int xmid,ymid;
|
||||||
|
@ -7309,7 +7309,7 @@ void TraverseBreakableWalls(short start_sect, int x, int y, int z, short ang, in
|
||||||
|
|
||||||
break_count = 0;
|
break_count = 0;
|
||||||
|
|
||||||
BFSSectorSearch search(§or[start_sect]);
|
BFSSectorSearch search(start_sect);
|
||||||
while (auto sect = search.GetNext())
|
while (auto sect = search.GetNext())
|
||||||
{
|
{
|
||||||
for(auto& wal : wallsofsector(sect))
|
for(auto& wal : wallsofsector(sect))
|
||||||
|
@ -7330,7 +7330,7 @@ void TraverseBreakableWalls(short start_sect, int x, int y, int z, short ang, in
|
||||||
sectortype* sectp = nullptr;
|
sectortype* sectp = nullptr;
|
||||||
if (WallBreakPosition(&wal, §p, &hit_x, &hit_y, &hit_z, &wall_ang))
|
if (WallBreakPosition(&wal, §p, &hit_x, &hit_y, &hit_z, &wall_ang))
|
||||||
{
|
{
|
||||||
if (hit_x != INT32_MAX && sectp != nullptr && FAFcansee(x, y, z, §or[start_sect], hit_x, hit_y, hit_z, sectp))
|
if (hit_x != INT32_MAX && sectp != nullptr && FAFcansee(x, y, z, start_sect, hit_x, hit_y, hit_z, sectp))
|
||||||
{
|
{
|
||||||
HitBreakWall(&wal, INT32_MAX, INT32_MAX, INT32_MAX, ang, 0);
|
HitBreakWall(&wal, INT32_MAX, INT32_MAX, INT32_MAX, ang, 0);
|
||||||
|
|
||||||
|
@ -7422,7 +7422,7 @@ int DoExpDamageTest(DSWActor* actor)
|
||||||
if (wu->ID == MUSHROOM_CLOUD) return 0; // Central Nuke doesn't break stuff
|
if (wu->ID == MUSHROOM_CLOUD) return 0; // Central Nuke doesn't break stuff
|
||||||
// Only secondaries do that
|
// Only secondaries do that
|
||||||
|
|
||||||
TraverseBreakableWalls(wp->sectnum, wp->x, wp->y, wp->z, wp->ang, wu->Radius);
|
TraverseBreakableWalls(wp->sector(), wp->x, wp->y, wp->z, wp->ang, wu->Radius);
|
||||||
|
|
||||||
break_count = 0;
|
break_count = 0;
|
||||||
max_stat = SIZ(StatBreakList);
|
max_stat = SIZ(StatBreakList);
|
||||||
|
@ -10185,7 +10185,7 @@ void SpawnFireballFlames(DSWActor* actor, DSWActor* enemyActor)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (TestDontStickSector(np->sectnum))
|
if (TestDontStickSector(np->sector()))
|
||||||
{
|
{
|
||||||
KillActor(actorNew);
|
KillActor(actorNew);
|
||||||
return;
|
return;
|
||||||
|
@ -18553,9 +18553,9 @@ bool TestDontStick(DSWActor* actor, walltype* hit_wall)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TestDontStickSector(short hit_sect)
|
bool TestDontStickSector(sectortype* hit_sect)
|
||||||
{
|
{
|
||||||
if (TEST(sector[hit_sect].extra, SECTFX_DYNAMIC_AREA|SECTFX_SECTOR_OBJECT))
|
if (TEST(hit_sect->extra, SECTFX_DYNAMIC_AREA|SECTFX_SECTOR_OBJECT))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -18679,7 +18679,7 @@ int QueueFloorBlood(DSWActor* actor)
|
||||||
if (TEST(hsp->sector()->extra, SECTFX_LIQUID_MASK) == SECTFX_LIQUID_LAVA)
|
if (TEST(hsp->sector()->extra, SECTFX_LIQUID_MASK) == SECTFX_LIQUID_LAVA)
|
||||||
return -1; // Not in lave either
|
return -1; // Not in lave either
|
||||||
|
|
||||||
if (TestDontStickSector(hsp->sectnum))
|
if (TestDontStickSector(hsp->sector()))
|
||||||
return -1; // Not on special sectors you don't
|
return -1; // Not on special sectors you don't
|
||||||
|
|
||||||
if (FloorBloodQueue[FloorBloodQueueHead] != nullptr)
|
if (FloorBloodQueue[FloorBloodQueueHead] != nullptr)
|
||||||
|
@ -18775,7 +18775,7 @@ int QueueFootPrint(DSWActor* actor)
|
||||||
if (TEST(hsp->sector()->extra, SECTFX_LIQUID_MASK) == SECTFX_LIQUID_LAVA)
|
if (TEST(hsp->sector()->extra, SECTFX_LIQUID_MASK) == SECTFX_LIQUID_LAVA)
|
||||||
return -1; // Not in lave either
|
return -1; // Not in lave either
|
||||||
|
|
||||||
if (TestDontStickSector(hsp->sectnum))
|
if (TestDontStickSector(hsp->sector()))
|
||||||
return -1; // Not on special sectors you don't
|
return -1; // Not on special sectors you don't
|
||||||
|
|
||||||
// So, are we like, done checking now!?
|
// So, are we like, done checking now!?
|
||||||
|
@ -19081,7 +19081,7 @@ void QueueGeneric(DSWActor* actor, short pic)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TestDontStickSector(sp->sectnum))
|
if (TestDontStickSector(sp->sector()))
|
||||||
{
|
{
|
||||||
KillActor(actor);
|
KillActor(actor);
|
||||||
return;
|
return;
|
||||||
|
@ -19595,7 +19595,7 @@ void QueueLoWangs(DSWActor* actor)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TestDontStickSector(sp->sectnum))
|
if (TestDontStickSector(sp->sector()))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue