mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-22 11:31:11 +00:00
- use DCoreActor::insector instead of spritetype::insector.
This commit is contained in:
parent
eb00fe52db
commit
af6ca40e3d
19 changed files with 51 additions and 59 deletions
|
@ -49,7 +49,7 @@ public:
|
||||||
|
|
||||||
bool insector() const
|
bool insector() const
|
||||||
{
|
{
|
||||||
return spr.insector();
|
return spr.sectp != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -529,7 +529,6 @@ struct spritetypebase
|
||||||
|
|
||||||
sectortype* sector() const;
|
sectortype* sector() const;
|
||||||
int sectno() const;
|
int sectno() const;
|
||||||
bool insector() const;
|
|
||||||
void setsector(sectortype*);
|
void setsector(sectortype*);
|
||||||
void setsector(int);
|
void setsector(int);
|
||||||
};
|
};
|
||||||
|
@ -649,13 +648,6 @@ inline void spritetypebase::setsector(int sec)
|
||||||
sectp = validSectorIndex(sec)? &::sector[sec] : nullptr;
|
sectp = validSectorIndex(sec)? &::sector[sec] : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool spritetypebase::insector() const
|
|
||||||
{
|
|
||||||
return sectp != nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inline sectortype* walltype::nextSector() const
|
inline sectortype* walltype::nextSector() const
|
||||||
{
|
{
|
||||||
return !validSectorIndex(nextsector)? nullptr : &::sector[nextsector];
|
return !validSectorIndex(nextsector)? nullptr : &::sector[nextsector];
|
||||||
|
|
|
@ -5881,7 +5881,7 @@ static void actCheckExplosion()
|
||||||
{
|
{
|
||||||
if (gPhysSpritesList[i] == nullptr) continue;
|
if (gPhysSpritesList[i] == nullptr) continue;
|
||||||
DBloodActor* physactor = gPhysSpritesList[i];
|
DBloodActor* physactor = gPhysSpritesList[i];
|
||||||
if (!physactor->spr.insector() || (physactor->spr.flags & kHitagFree) != 0) continue;
|
if (!physactor->insector() || (physactor->spr.flags & kHitagFree) != 0) continue;
|
||||||
|
|
||||||
if (!CheckSector(sectorMap, physactor) || !CheckProximity(physactor, x, y, z, pSector, radius)) continue;
|
if (!CheckSector(sectorMap, physactor) || !CheckProximity(physactor, x, y, z, pSector, radius)) continue;
|
||||||
else debrisConcuss(Owner, i, x, y, z, pExplodeInfo->dmgType);
|
else debrisConcuss(Owner, i, x, y, z, pExplodeInfo->dmgType);
|
||||||
|
@ -5895,7 +5895,7 @@ static void actCheckExplosion()
|
||||||
if (gImpactSpritesList[i] == nullptr) continue;
|
if (gImpactSpritesList[i] == nullptr) continue;
|
||||||
|
|
||||||
DBloodActor* impactactor = gImpactSpritesList[i];
|
DBloodActor* impactactor = gImpactSpritesList[i];
|
||||||
if (!impactactor->hasX() || !impactactor->spr.insector() || (impactactor->spr.flags & kHitagFree) != 0) continue;
|
if (!impactactor->hasX() || !impactactor->insector() || (impactactor->spr.flags & kHitagFree) != 0) continue;
|
||||||
|
|
||||||
if (!CheckSector(sectorMap, impactactor) || !CheckProximity(impactactor, x, y, z, pSector, radius))
|
if (!CheckSector(sectorMap, impactactor) || !CheckProximity(impactactor, x, y, z, pSector, radius))
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -268,7 +268,7 @@ void CFX::fxProcess(void)
|
||||||
|
|
||||||
void fxSpawnBlood(DBloodActor* actor, int)
|
void fxSpawnBlood(DBloodActor* actor, int)
|
||||||
{
|
{
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
return;
|
return;
|
||||||
auto pSector = actor->spr.sector();
|
auto pSector = actor->spr.sector();
|
||||||
if (!FindSector(actor->spr.pos.X, actor->spr.pos.Y, actor->spr.pos.Z, &pSector))
|
if (!FindSector(actor->spr.pos.X, actor->spr.pos.Y, actor->spr.pos.Z, &pSector))
|
||||||
|
@ -294,7 +294,7 @@ void fxSpawnBlood(DBloodActor* actor, int)
|
||||||
|
|
||||||
void fxSpawnPodStuff(DBloodActor* actor, int)
|
void fxSpawnPodStuff(DBloodActor* actor, int)
|
||||||
{
|
{
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
return;
|
return;
|
||||||
auto pSector = actor->spr.sector();
|
auto pSector = actor->spr.sector();
|
||||||
if (!FindSector(actor->spr.pos.X, actor->spr.pos.Y, actor->spr.pos.Z, &pSector))
|
if (!FindSector(actor->spr.pos.X, actor->spr.pos.Y, actor->spr.pos.Z, &pSector))
|
||||||
|
|
|
@ -424,7 +424,7 @@ void GibSprite(DBloodActor* actor, GIBTYPE nGibType, CGibPosition* pPos, CGibVel
|
||||||
assert(actor != NULL);
|
assert(actor != NULL);
|
||||||
assert(nGibType >= 0 && nGibType < kGibMax);
|
assert(nGibType >= 0 && nGibType < kGibMax);
|
||||||
|
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
return;
|
return;
|
||||||
GIBLIST* pGib = &gibList[nGibType];
|
GIBLIST* pGib = &gibList[nGibType];
|
||||||
for (int i = 0; i < pGib->Kills; i++)
|
for (int i = 0; i < pGib->Kills; i++)
|
||||||
|
|
|
@ -713,7 +713,7 @@ void nnExtInitModernStuff(TArray<DBloodActor*>& actors)
|
||||||
actor->xspr.Proximity = false;
|
actor->xspr.Proximity = false;
|
||||||
|
|
||||||
// very quick fix for floor sprites with Touch trigger flag if their Z is equals sector floorz / ceilgz
|
// very quick fix for floor sprites with Touch trigger flag if their Z is equals sector floorz / ceilgz
|
||||||
if (actor->spr.insector() && actor->xspr.Touch && (actor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_FLOOR)) {
|
if (actor->insector() && actor->xspr.Touch && (actor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_FLOOR)) {
|
||||||
if (actor->spr.pos.Z == actor->spr.sector()->floorz) actor->spr.pos.Z--;
|
if (actor->spr.pos.Z == actor->spr.sector()->floorz) actor->spr.pos.Z--;
|
||||||
else if (actor->spr.pos.Z == actor->spr.sector()->ceilingz) actor->spr.pos.Z++;
|
else if (actor->spr.pos.Z == actor->spr.sector()->ceilingz) actor->spr.pos.Z++;
|
||||||
}
|
}
|
||||||
|
@ -1127,7 +1127,7 @@ void nnExtProcessSuperSprites()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (windactor->spr.insector())
|
else if (windactor->insector())
|
||||||
{
|
{
|
||||||
sectortype* pSect = windactor->spr.sector();
|
sectortype* pSect = windactor->spr.sector();
|
||||||
XSECTOR* pXSector = (pSect->hasX()) ? &pSect->xs() : nullptr;
|
XSECTOR* pXSector = (pSect->hasX()) ? &pSect->xs() : nullptr;
|
||||||
|
@ -3094,7 +3094,7 @@ void useEffectGen(DBloodActor* sourceactor, DBloodActor* actor)
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
if (!actor->spr.insector()) pos = top;
|
if (!actor->insector()) pos = top;
|
||||||
else pos = (sourceactor->xspr.data4 == 3) ? actor->spr.sector()->floorz : actor->spr.sector()->ceilingz;
|
else pos = (sourceactor->xspr.data4 == 3) ? actor->spr.sector()->floorz : actor->spr.sector()->ceilingz;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -3498,7 +3498,7 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector
|
||||||
case OBJ_SPRITE:
|
case OBJ_SPRITE:
|
||||||
{
|
{
|
||||||
if (sourceactor->xspr.data2 <= 0) seqKill(iactor);
|
if (sourceactor->xspr.data2 <= 0) seqKill(iactor);
|
||||||
else if (iactor->spr.insector())
|
else if (iactor->insector())
|
||||||
{
|
{
|
||||||
if (sourceactor->xspr.data3 > 0)
|
if (sourceactor->xspr.data3 > 0)
|
||||||
{
|
{
|
||||||
|
@ -3522,7 +3522,7 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
case 6:
|
case 6:
|
||||||
if (!iactor->spr.insector()) spawned->spr.pos.Z = top;
|
if (!iactor->insector()) spawned->spr.pos.Z = top;
|
||||||
else spawned->spr.pos.Z = (sourceactor->xspr.data3 == 5) ? spawned->sector()->floorz : spawned->sector()->ceilingz;
|
else spawned->spr.pos.Z = (sourceactor->xspr.data3 == 5) ? spawned->sector()->floorz : spawned->sector()->ceilingz;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -4323,7 +4323,7 @@ bool condCheckSprite(DBloodActor* aCond, int cmpOp, bool PUSH)
|
||||||
else if (PUSH) condPush(aCond, objActor->GetOwner());
|
else if (PUSH) condPush(aCond, objActor->GetOwner());
|
||||||
return true;
|
return true;
|
||||||
case 20: // stays in a sector?
|
case 20: // stays in a sector?
|
||||||
if (!objActor->spr.insector()) return false;
|
if (!objActor->insector()) return false;
|
||||||
else if (PUSH) condPush(aCond, objActor->spr.sector());
|
else if (PUSH) condPush(aCond, objActor->spr.sector());
|
||||||
return true;
|
return true;
|
||||||
case 25:
|
case 25:
|
||||||
|
@ -5454,7 +5454,7 @@ bool modernTypeOperateSprite(DBloodActor* actor, EVENT& event)
|
||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case kCmdRepeat:
|
case kCmdRepeat:
|
||||||
if (actor->xspr.txID > 0) modernTypeSendCommand(actor, actor->xspr.txID, (COMMAND_ID)actor->xspr.command);
|
if (actor->xspr.txID > 0) modernTypeSendCommand(actor, actor->xspr.txID, (COMMAND_ID)actor->xspr.command);
|
||||||
else if (actor->xspr.data1 == 0 && actor->spr.insector()) useSpriteDamager(actor, OBJ_SECTOR, actor->spr.sector(), nullptr);
|
else if (actor->xspr.data1 == 0 && actor->insector()) useSpriteDamager(actor, OBJ_SECTOR, actor->spr.sector(), nullptr);
|
||||||
else if (actor->xspr.data1 >= 666 && actor->xspr.data1 < 669) useSpriteDamager(actor, -1, nullptr, nullptr);
|
else if (actor->xspr.data1 >= 666 && actor->xspr.data1 < 669) useSpriteDamager(actor, -1, nullptr, nullptr);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -6462,7 +6462,7 @@ void useSlopeChanger(DBloodActor* sourceactor, int objType, sectortype* pSect, D
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
if (!objActor->spr.insector()) break;
|
if (!objActor->insector()) break;
|
||||||
switch (sourceactor->xspr.data4)
|
switch (sourceactor->xspr.data4)
|
||||||
{
|
{
|
||||||
case 1: sprite2sectorSlope(objActor, objActor->spr.sector(), 0, flag2); break;
|
case 1: sprite2sectorSlope(objActor, objActor->spr.sector(), 0, flag2); break;
|
||||||
|
@ -8080,7 +8080,7 @@ DBloodActor* aiPatrolSearchTargets(DBloodActor* actor)
|
||||||
if (pPlayer->actor != emitterActor && emitterActor->GetOwner() != actor)
|
if (pPlayer->actor != emitterActor && emitterActor->GetOwner() != actor)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!emitterActor->spr.insector()) return false;
|
if (!emitterActor->insector()) return false;
|
||||||
searchsect = emitterActor->spr.sector();
|
searchsect = emitterActor->spr.sector();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8860,7 +8860,7 @@ void callbackGenDudeUpdate(DBloodActor* actor, sectortype*) // 24
|
||||||
void clampSprite(DBloodActor* actor, int which)
|
void clampSprite(DBloodActor* actor, int which)
|
||||||
{
|
{
|
||||||
int zTop, zBot;
|
int zTop, zBot;
|
||||||
if (actor->spr.insector())
|
if (actor->insector())
|
||||||
{
|
{
|
||||||
GetActorExtents(actor, &zTop, &zBot);
|
GetActorExtents(actor, &zTop, &zBot);
|
||||||
if (which & 0x01)
|
if (which & 0x01)
|
||||||
|
|
|
@ -1523,7 +1523,7 @@ void OperateTeleport(sectortype* pSector)
|
||||||
assert(destactor != nullptr);
|
assert(destactor != nullptr);
|
||||||
assert(destactor->spr.statnum == kStatMarker);
|
assert(destactor->spr.statnum == kStatMarker);
|
||||||
assert(destactor->spr.type == kMarkerWarpDest);
|
assert(destactor->spr.type == kMarkerWarpDest);
|
||||||
assert(destactor->spr.insector());
|
assert(destactor->insector());
|
||||||
BloodSectIterator it(pSector);
|
BloodSectIterator it(pSector);
|
||||||
while (auto actor = it.Next())
|
while (auto actor = it.Next())
|
||||||
{
|
{
|
||||||
|
|
|
@ -217,7 +217,7 @@ int CheckLink(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
aLower = aUpper->GetOwner();
|
aLower = aUpper->GetOwner();
|
||||||
assert(aLower);
|
assert(aLower);
|
||||||
assert(aLower->spr.insector());
|
assert(aLower->insector());
|
||||||
ChangeActorSect(actor, aLower->spr.sector());
|
ChangeActorSect(actor, aLower->spr.sector());
|
||||||
actor->spr.pos.X += aLower->spr.pos.X - aUpper->spr.pos.X;
|
actor->spr.pos.X += aLower->spr.pos.X - aUpper->spr.pos.X;
|
||||||
actor->spr.pos.Y += aLower->spr.pos.Y - aUpper->spr.pos.Y;
|
actor->spr.pos.Y += aLower->spr.pos.Y - aUpper->spr.pos.Y;
|
||||||
|
@ -242,7 +242,7 @@ int CheckLink(DBloodActor* actor)
|
||||||
{
|
{
|
||||||
aUpper = aLower->GetOwner();
|
aUpper = aLower->GetOwner();
|
||||||
assert(aUpper);
|
assert(aUpper);
|
||||||
assert(aUpper->spr.insector());
|
assert(aUpper->insector());
|
||||||
ChangeActorSect(actor, aUpper->spr.sector());
|
ChangeActorSect(actor, aUpper->spr.sector());
|
||||||
actor->spr.pos.X += aUpper->spr.pos.X - aLower->spr.pos.X;
|
actor->spr.pos.X += aUpper->spr.pos.X - aLower->spr.pos.X;
|
||||||
actor->spr.pos.Y += aUpper->spr.pos.Y - aLower->spr.pos.Y;
|
actor->spr.pos.Y += aUpper->spr.pos.Y - aLower->spr.pos.Y;
|
||||||
|
@ -280,7 +280,7 @@ int CheckLink(int* x, int* y, int* z, sectortype** pSector)
|
||||||
{
|
{
|
||||||
aLower = aUpper->GetOwner();
|
aLower = aUpper->GetOwner();
|
||||||
assert(aLower);
|
assert(aLower);
|
||||||
assert(aLower->spr.insector());
|
assert(aLower->insector());
|
||||||
*pSector = aLower->spr.sector();
|
*pSector = aLower->spr.sector();
|
||||||
*x += aLower->spr.pos.X - aUpper->spr.pos.X;
|
*x += aLower->spr.pos.X - aUpper->spr.pos.X;
|
||||||
*y += aLower->spr.pos.Y - aUpper->spr.pos.Y;
|
*y += aLower->spr.pos.Y - aUpper->spr.pos.Y;
|
||||||
|
|
|
@ -516,7 +516,7 @@ void moveplayers(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (act->spr.insector())
|
if (act->insector())
|
||||||
{
|
{
|
||||||
if (act->spr.sector()->ceilingstat & CSTAT_SECTOR_SKY)
|
if (act->spr.sector()->ceilingstat & CSTAT_SECTOR_SKY)
|
||||||
act->spr.shade += (act->spr.sector()->ceilingshade - act->spr.shade) >> 1;
|
act->spr.shade += (act->spr.sector()->ceilingshade - act->spr.shade) >> 1;
|
||||||
|
@ -2139,7 +2139,7 @@ bool money(DDukeActor* actor, int BLOODPOOL)
|
||||||
if ((krand() & 3) == 0)
|
if ((krand() & 3) == 0)
|
||||||
SetActor(actor, actor->spr.pos);
|
SetActor(actor, actor->spr.pos);
|
||||||
|
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
{
|
{
|
||||||
deletesprite(actor);
|
deletesprite(actor);
|
||||||
return false;
|
return false;
|
||||||
|
@ -2200,7 +2200,7 @@ bool jibs(DDukeActor *actor, int JIBS6, bool timeout, bool callsetsprite, bool f
|
||||||
if (callsetsprite) SetActor(actor, actor->spr.pos);
|
if (callsetsprite) SetActor(actor, actor->spr.pos);
|
||||||
|
|
||||||
// this was after the slope calls, but we should avoid calling that for invalid sectors.
|
// this was after the slope calls, but we should avoid calling that for invalid sectors.
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
{
|
{
|
||||||
deletesprite(actor);
|
deletesprite(actor);
|
||||||
return false;
|
return false;
|
||||||
|
@ -2263,7 +2263,7 @@ bool jibs(DDukeActor *actor, int JIBS6, bool timeout, bool callsetsprite, bool f
|
||||||
}
|
}
|
||||||
if (actor->temp_data[2] == 0)
|
if (actor->temp_data[2] == 0)
|
||||||
{
|
{
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
{
|
{
|
||||||
deletesprite(actor);
|
deletesprite(actor);
|
||||||
return false;
|
return false;
|
||||||
|
@ -2392,7 +2392,7 @@ void shell(DDukeActor* actor, bool morecheck)
|
||||||
|
|
||||||
ssp(actor, CLIPMASK0);
|
ssp(actor, CLIPMASK0);
|
||||||
|
|
||||||
if (!actor->spr.insector() || morecheck)
|
if (!actor->insector() || morecheck)
|
||||||
{
|
{
|
||||||
deletesprite(actor);
|
deletesprite(actor);
|
||||||
return;
|
return;
|
||||||
|
@ -2445,7 +2445,7 @@ void glasspieces(DDukeActor* actor)
|
||||||
makeitfall(actor);
|
makeitfall(actor);
|
||||||
|
|
||||||
if (actor->spr.zvel > 4096) actor->spr.zvel = 4096;
|
if (actor->spr.zvel > 4096) actor->spr.zvel = 4096;
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
{
|
{
|
||||||
deletesprite(actor);
|
deletesprite(actor);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1676,7 +1676,7 @@ static void weaponcommon_d(DDukeActor* proj)
|
||||||
if (FindDistance2D(proj->spr.pos.vec2 - proj->temp_actor->spr.pos.vec2) < 256)
|
if (FindDistance2D(proj->spr.pos.vec2 - proj->temp_actor->spr.pos.vec2) < 256)
|
||||||
coll.setSprite(proj->temp_actor);
|
coll.setSprite(proj->temp_actor);
|
||||||
|
|
||||||
if (!proj->spr.insector())
|
if (!proj->insector())
|
||||||
{
|
{
|
||||||
deletesprite(proj);
|
deletesprite(proj);
|
||||||
return;
|
return;
|
||||||
|
@ -2633,7 +2633,7 @@ static void flamethrowerflame(DDukeActor *actor)
|
||||||
movesprite_ex(actor, MulScale(xvel, bcos(actor->spr.ang), 14),
|
movesprite_ex(actor, MulScale(xvel, bcos(actor->spr.ang), 14),
|
||||||
MulScale(xvel, bsin(actor->spr.ang), 14), actor->spr.zvel, CLIPMASK1, coll);
|
MulScale(xvel, bsin(actor->spr.ang), 14), actor->spr.zvel, CLIPMASK1, coll);
|
||||||
|
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
{
|
{
|
||||||
deletesprite(actor);
|
deletesprite(actor);
|
||||||
return;
|
return;
|
||||||
|
@ -3138,7 +3138,7 @@ void moveexplosions_d(void) // STATNUM 5
|
||||||
DukeStatIterator it(STAT_MISC);
|
DukeStatIterator it(STAT_MISC);
|
||||||
while (auto act = it.Next())
|
while (auto act = it.Next())
|
||||||
{
|
{
|
||||||
if (!act->spr.insector() || act->spr.xrepeat == 0)
|
if (!act->insector() || act->spr.xrepeat == 0)
|
||||||
{
|
{
|
||||||
deletesprite(act);
|
deletesprite(act);
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -1381,7 +1381,7 @@ static void weaponcommon_r(DDukeActor *proj)
|
||||||
if (FindDistance2D(proj->spr.pos.vec2 - proj->temp_actor->spr.pos.vec2) < 256)
|
if (FindDistance2D(proj->spr.pos.vec2 - proj->temp_actor->spr.pos.vec2) < 256)
|
||||||
coll.setSprite(proj->temp_actor);
|
coll.setSprite(proj->temp_actor);
|
||||||
|
|
||||||
if (!proj->spr.insector()) // || (isRR() && proj->spr.sector()->filler == 800))
|
if (!proj->insector()) // || (isRR() && proj->spr.sector()->filler == 800))
|
||||||
{
|
{
|
||||||
deletesprite(proj);
|
deletesprite(proj);
|
||||||
return;
|
return;
|
||||||
|
@ -2807,7 +2807,7 @@ void moveactors_r(void)
|
||||||
{
|
{
|
||||||
bool deleteafterexecute = false; // taking a cue here from RedNukem to not run scripts on deleted sprites.
|
bool deleteafterexecute = false; // taking a cue here from RedNukem to not run scripts on deleted sprites.
|
||||||
|
|
||||||
if( act->spr.xrepeat == 0 || !act->spr.insector())
|
if( act->spr.xrepeat == 0 || !act->insector())
|
||||||
{
|
{
|
||||||
deletesprite(act);
|
deletesprite(act);
|
||||||
continue;
|
continue;
|
||||||
|
@ -3075,7 +3075,7 @@ void moveexplosions_r(void) // STATNUM 5
|
||||||
t = &act->temp_data[0];
|
t = &act->temp_data[0];
|
||||||
auto sectp = act->spr.sector();
|
auto sectp = act->spr.sector();
|
||||||
|
|
||||||
if (!act->spr.insector() || act->spr.xrepeat == 0)
|
if (!act->insector() || act->spr.xrepeat == 0)
|
||||||
{
|
{
|
||||||
deletesprite(act);
|
deletesprite(act);
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -131,8 +131,8 @@ void animatesprites_d(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (t->insector())
|
if (t->sectp != nullptr)
|
||||||
t->shade = clamp<int>(t->sector()->ceilingstat & CSTAT_SECTOR_SKY ? t->sector()->ceilingshade : t->sector()->floorshade, -127, 127);
|
t->shade = clamp<int>(t->sectp->ceilingstat & CSTAT_SECTOR_SKY ? t->sector()->ceilingshade : t->sectp->floorshade, -127, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -116,8 +116,8 @@ void animatesprites_r(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (t->insector())
|
if (t->sectp != nullptr)
|
||||||
t->shade = clamp<int>(t->sector()->ceilingstat & CSTAT_SECTOR_SKY ? h->spr.shade : t->sector()->floorshade, -127, 127);
|
t->shade = clamp<int>(t->sectp->ceilingstat & CSTAT_SECTOR_SKY ? h->spr.shade : t->sectp->floorshade, -127, 127);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2889,7 +2889,7 @@ void processinput_d(int snum)
|
||||||
p->angle.applyinput(sb_avel, &actions);
|
p->angle.applyinput(sb_avel, &actions);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->spritebridge == 0 && pact->spr.insector())
|
if (p->spritebridge == 0 && pact->insector())
|
||||||
{
|
{
|
||||||
j = pact->spr.sector()->floorpicnum;
|
j = pact->spr.sector()->floorpicnum;
|
||||||
|
|
||||||
|
|
|
@ -3620,7 +3620,7 @@ void processinput_r(int snum)
|
||||||
p->angle.applyinput(sb_avel, &actions);
|
p->angle.applyinput(sb_avel, &actions);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->spritebridge == 0 && pact->spr.insector())
|
if (p->spritebridge == 0 && pact->insector())
|
||||||
{
|
{
|
||||||
int j = pact->spr.sector()->floorpicnum;
|
int j = pact->spr.sector()->floorpicnum;
|
||||||
k = 0;
|
k = 0;
|
||||||
|
|
|
@ -556,7 +556,7 @@ int DoSkelTeleport(DSWActor* actor)
|
||||||
|
|
||||||
SetActorZ(actor, &actor->spr.pos);
|
SetActorZ(actor, &actor->spr.pos);
|
||||||
|
|
||||||
if (actor->spr.insector())
|
if (actor->insector())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3513,7 +3513,7 @@ int ActorCoughItem(DSWActor* actor)
|
||||||
switch (actor->user.ID)
|
switch (actor->user.ID)
|
||||||
{
|
{
|
||||||
case SAILORGIRL_R0:
|
case SAILORGIRL_R0:
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
||||||
actorNew->spr.cstat = 0;
|
actorNew->spr.cstat = 0;
|
||||||
actorNew->spr.extra = 0;
|
actorNew->spr.extra = 0;
|
||||||
|
@ -3554,7 +3554,7 @@ int ActorCoughItem(DSWActor* actor)
|
||||||
if (RANDOM_P2(1024) < 700)
|
if (RANDOM_P2(1024) < 700)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
||||||
actorNew->spr.cstat = 0;
|
actorNew->spr.cstat = 0;
|
||||||
actorNew->spr.extra = 0;
|
actorNew->spr.extra = 0;
|
||||||
|
@ -3582,7 +3582,7 @@ int ActorCoughItem(DSWActor* actor)
|
||||||
if (RANDOM_P2(1024) < 700)
|
if (RANDOM_P2(1024) < 700)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
||||||
actorNew->spr.cstat = 0;
|
actorNew->spr.cstat = 0;
|
||||||
actorNew->spr.extra = 0;
|
actorNew->spr.extra = 0;
|
||||||
|
@ -3613,7 +3613,7 @@ int ActorCoughItem(DSWActor* actor)
|
||||||
if (RANDOM_P2(1024) > 200)
|
if (RANDOM_P2(1024) > 200)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
||||||
actorNew->spr.cstat = 0;
|
actorNew->spr.cstat = 0;
|
||||||
actorNew->spr.extra = 0;
|
actorNew->spr.extra = 0;
|
||||||
|
@ -3675,7 +3675,7 @@ int ActorCoughItem(DSWActor* actor)
|
||||||
if (RANDOM_P2(1024) < 512)
|
if (RANDOM_P2(1024) < 512)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
||||||
actorNew->spr.cstat = 0;
|
actorNew->spr.cstat = 0;
|
||||||
actorNew->spr.extra = 0;
|
actorNew->spr.extra = 0;
|
||||||
|
@ -3733,7 +3733,7 @@ int ActorCoughItem(DSWActor* actor)
|
||||||
case PACHINKO3:
|
case PACHINKO3:
|
||||||
case PACHINKO4:
|
case PACHINKO4:
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS);
|
||||||
actorNew->spr.cstat = 0;
|
actorNew->spr.cstat = 0;
|
||||||
actorNew->spr.extra = 0;
|
actorNew->spr.extra = 0;
|
||||||
|
@ -4643,7 +4643,7 @@ int move_actor(DSWActor* actor, int xchange, int ychange, int zchange)
|
||||||
actor->user.coll = move_sprite(actor, xchange, ychange, zchange,
|
actor->user.coll = move_sprite(actor, xchange, ychange, zchange,
|
||||||
actor->user.ceiling_dist, actor->user.floor_dist, cliptype, ACTORMOVETICS);
|
actor->user.ceiling_dist, actor->user.floor_dist, cliptype, ACTORMOVETICS);
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
|
|
||||||
// try and determine whether you moved > lo_step in the z direction
|
// try and determine whether you moved > lo_step in the z direction
|
||||||
if (!(actor->user.Flags & (SPR_NO_SCAREDZ | SPR_JUMPING | SPR_CLIMBING | SPR_FALLING | SPR_DEAD | SPR_SWIMMING)))
|
if (!(actor->user.Flags & (SPR_NO_SCAREDZ | SPR_JUMPING | SPR_CLIMBING | SPR_FALLING | SPR_DEAD | SPR_SWIMMING)))
|
||||||
|
|
|
@ -172,7 +172,7 @@ DSWActor* WarpToArea(DSWActor* sp_from, int32_t* x, int32_t* y, int32_t* z, sect
|
||||||
// exp: WARP_CEILING or WARP_CEILING_PLANE
|
// exp: WARP_CEILING or WARP_CEILING_PLANE
|
||||||
if (actor->spr.hitag == to_tag)
|
if (actor->spr.hitag == to_tag)
|
||||||
{
|
{
|
||||||
if (!actor->spr.insector())
|
if (!actor->insector())
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
// determine new x,y,z position
|
// determine new x,y,z position
|
||||||
|
|
|
@ -3160,7 +3160,7 @@ int SpawnShrap(DSWActor* parentActor, DSWActor* secondaryActor, int means, BREAK
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// Don't spawn shrapnel in invalid sectors gosh dern it!
|
// Don't spawn shrapnel in invalid sectors gosh dern it!
|
||||||
if (!parentActor->spr.insector())
|
if (!parentActor->insector())
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -5178,7 +5178,7 @@ int ActorStdMissile(DSWActor* actor, DSWActor* weapActor)
|
||||||
if (goal != nullptr)
|
if (goal != nullptr)
|
||||||
{
|
{
|
||||||
// attempt to see if it was killed
|
// attempt to see if it was killed
|
||||||
ASSERT(goal->spr.insector());
|
ASSERT(goal->insector());
|
||||||
if (goal->hasU())
|
if (goal->hasU())
|
||||||
goal->user.Flags &= ~(SPR_TARGETED);
|
goal->user.Flags &= ~(SPR_TARGETED);
|
||||||
}
|
}
|
||||||
|
@ -11202,7 +11202,7 @@ int DoRing(DSWActor* actor)
|
||||||
|
|
||||||
SetActor(actor, &actor->spr.pos);
|
SetActor(actor, &actor->spr.pos);
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
|
|
||||||
getzsofslopeptr(actor->spr.sector(), actor->spr.pos.X, actor->spr.pos.Y, &cz, &fz);
|
getzsofslopeptr(actor->spr.sector(), actor->spr.pos.X, actor->spr.pos.Y, &cz, &fz);
|
||||||
|
|
||||||
|
@ -11330,7 +11330,7 @@ int DoSerpRing(DSWActor* actor)
|
||||||
|
|
||||||
SetActor(actor, &actor->spr.pos);
|
SetActor(actor, &actor->spr.pos);
|
||||||
|
|
||||||
ASSERT(actor->spr.insector());
|
ASSERT(actor->insector());
|
||||||
|
|
||||||
getzsofslopeptr(actor->spr.sector(), actor->spr.pos.X, actor->spr.pos.Y, &cz, &fz);
|
getzsofslopeptr(actor->spr.sector(), actor->spr.pos.X, actor->spr.pos.Y, &cz, &fz);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue