From af6ca40e3d3644a95e855d961e7f6b9c2cf1cecb Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 30 Dec 2021 16:24:51 +0100 Subject: [PATCH] - use DCoreActor::insector instead of spritetype::insector. --- source/core/coreactor.h | 2 +- source/core/maptypes.h | 8 -------- source/games/blood/src/actor.cpp | 4 ++-- source/games/blood/src/fx.cpp | 4 ++-- source/games/blood/src/gib.cpp | 2 +- source/games/blood/src/nnexts.cpp | 20 ++++++++++---------- source/games/blood/src/triggers.cpp | 2 +- source/games/blood/src/warp.cpp | 6 +++--- source/games/duke/src/actors.cpp | 12 ++++++------ source/games/duke/src/actors_d.cpp | 6 +++--- source/games/duke/src/actors_r.cpp | 6 +++--- source/games/duke/src/animatesprites_d.cpp | 4 ++-- source/games/duke/src/animatesprites_r.cpp | 4 ++-- source/games/duke/src/player_d.cpp | 2 +- source/games/duke/src/player_r.cpp | 2 +- source/games/sw/src/skel.cpp | 2 +- source/games/sw/src/sprite.cpp | 14 +++++++------- source/games/sw/src/warp.cpp | 2 +- source/games/sw/src/weapon.cpp | 8 ++++---- 19 files changed, 51 insertions(+), 59 deletions(-) diff --git a/source/core/coreactor.h b/source/core/coreactor.h index 8fd6185d7..2fa6f1c8f 100644 --- a/source/core/coreactor.h +++ b/source/core/coreactor.h @@ -49,7 +49,7 @@ public: bool insector() const { - return spr.insector(); + return spr.sectp != nullptr; } }; diff --git a/source/core/maptypes.h b/source/core/maptypes.h index 1b4b839ef..329ed36b4 100644 --- a/source/core/maptypes.h +++ b/source/core/maptypes.h @@ -529,7 +529,6 @@ struct spritetypebase sectortype* sector() const; int sectno() const; - bool insector() const; void setsector(sectortype*); void setsector(int); }; @@ -649,13 +648,6 @@ inline void spritetypebase::setsector(int sec) sectp = validSectorIndex(sec)? &::sector[sec] : nullptr; } -inline bool spritetypebase::insector() const -{ - return sectp != nullptr; -} - - - inline sectortype* walltype::nextSector() const { return !validSectorIndex(nextsector)? nullptr : &::sector[nextsector]; diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index 99133d11c..4850e74af 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -5881,7 +5881,7 @@ static void actCheckExplosion() { if (gPhysSpritesList[i] == nullptr) continue; 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; else debrisConcuss(Owner, i, x, y, z, pExplodeInfo->dmgType); @@ -5895,7 +5895,7 @@ static void actCheckExplosion() if (gImpactSpritesList[i] == nullptr) continue; 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)) continue; diff --git a/source/games/blood/src/fx.cpp b/source/games/blood/src/fx.cpp index d20847740..2c5200240 100644 --- a/source/games/blood/src/fx.cpp +++ b/source/games/blood/src/fx.cpp @@ -268,7 +268,7 @@ void CFX::fxProcess(void) void fxSpawnBlood(DBloodActor* actor, int) { - if (!actor->spr.insector()) + if (!actor->insector()) return; auto pSector = actor->spr.sector(); 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) { - if (!actor->spr.insector()) + if (!actor->insector()) return; auto pSector = actor->spr.sector(); if (!FindSector(actor->spr.pos.X, actor->spr.pos.Y, actor->spr.pos.Z, &pSector)) diff --git a/source/games/blood/src/gib.cpp b/source/games/blood/src/gib.cpp index a74b572a0..05bf9b8a8 100644 --- a/source/games/blood/src/gib.cpp +++ b/source/games/blood/src/gib.cpp @@ -424,7 +424,7 @@ void GibSprite(DBloodActor* actor, GIBTYPE nGibType, CGibPosition* pPos, CGibVel assert(actor != NULL); assert(nGibType >= 0 && nGibType < kGibMax); - if (!actor->spr.insector()) + if (!actor->insector()) return; GIBLIST* pGib = &gibList[nGibType]; for (int i = 0; i < pGib->Kills; i++) diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp index 44aa38e27..d911bfadd 100644 --- a/source/games/blood/src/nnexts.cpp +++ b/source/games/blood/src/nnexts.cpp @@ -713,7 +713,7 @@ void nnExtInitModernStuff(TArray& actors) actor->xspr.Proximity = false; // 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--; 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(); XSECTOR* pXSector = (pSect->hasX()) ? &pSect->xs() : nullptr; @@ -3094,7 +3094,7 @@ void useEffectGen(DBloodActor* sourceactor, DBloodActor* actor) break; case 3: 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; break; default: @@ -3498,7 +3498,7 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector case OBJ_SPRITE: { if (sourceactor->xspr.data2 <= 0) seqKill(iactor); - else if (iactor->spr.insector()) + else if (iactor->insector()) { if (sourceactor->xspr.data3 > 0) { @@ -3522,7 +3522,7 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector break; case 5: 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; break; } @@ -4323,7 +4323,7 @@ bool condCheckSprite(DBloodActor* aCond, int cmpOp, bool PUSH) else if (PUSH) condPush(aCond, objActor->GetOwner()); return true; 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()); return true; case 25: @@ -5454,7 +5454,7 @@ bool modernTypeOperateSprite(DBloodActor* actor, EVENT& event) [[fallthrough]]; case kCmdRepeat: 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 { @@ -6462,7 +6462,7 @@ void useSlopeChanger(DBloodActor* sourceactor, int objType, sectortype* pSect, D case 1: case 2: case 3: - if (!objActor->spr.insector()) break; + if (!objActor->insector()) break; switch (sourceactor->xspr.data4) { 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 (!emitterActor->spr.insector()) return false; + if (!emitterActor->insector()) return false; searchsect = emitterActor->spr.sector(); } } @@ -8860,7 +8860,7 @@ void callbackGenDudeUpdate(DBloodActor* actor, sectortype*) // 24 void clampSprite(DBloodActor* actor, int which) { int zTop, zBot; - if (actor->spr.insector()) + if (actor->insector()) { GetActorExtents(actor, &zTop, &zBot); if (which & 0x01) diff --git a/source/games/blood/src/triggers.cpp b/source/games/blood/src/triggers.cpp index 89f6cc74f..2fd9955b8 100644 --- a/source/games/blood/src/triggers.cpp +++ b/source/games/blood/src/triggers.cpp @@ -1523,7 +1523,7 @@ void OperateTeleport(sectortype* pSector) assert(destactor != nullptr); assert(destactor->spr.statnum == kStatMarker); assert(destactor->spr.type == kMarkerWarpDest); - assert(destactor->spr.insector()); + assert(destactor->insector()); BloodSectIterator it(pSector); while (auto actor = it.Next()) { diff --git a/source/games/blood/src/warp.cpp b/source/games/blood/src/warp.cpp index 3ed632dc2..eb176903f 100644 --- a/source/games/blood/src/warp.cpp +++ b/source/games/blood/src/warp.cpp @@ -217,7 +217,7 @@ int CheckLink(DBloodActor* actor) { aLower = aUpper->GetOwner(); assert(aLower); - assert(aLower->spr.insector()); + assert(aLower->insector()); ChangeActorSect(actor, aLower->spr.sector()); actor->spr.pos.X += aLower->spr.pos.X - aUpper->spr.pos.X; actor->spr.pos.Y += aLower->spr.pos.Y - aUpper->spr.pos.Y; @@ -242,7 +242,7 @@ int CheckLink(DBloodActor* actor) { aUpper = aLower->GetOwner(); assert(aUpper); - assert(aUpper->spr.insector()); + assert(aUpper->insector()); ChangeActorSect(actor, aUpper->spr.sector()); actor->spr.pos.X += aUpper->spr.pos.X - aLower->spr.pos.X; 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(); assert(aLower); - assert(aLower->spr.insector()); + assert(aLower->insector()); *pSector = aLower->spr.sector(); *x += aLower->spr.pos.X - aUpper->spr.pos.X; *y += aLower->spr.pos.Y - aUpper->spr.pos.Y; diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 1d4bb2cb2..1d1a2514e 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -516,7 +516,7 @@ void moveplayers(void) } } - if (act->spr.insector()) + if (act->insector()) { if (act->spr.sector()->ceilingstat & CSTAT_SECTOR_SKY) 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) SetActor(actor, actor->spr.pos); - if (!actor->spr.insector()) + if (!actor->insector()) { deletesprite(actor); 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); // this was after the slope calls, but we should avoid calling that for invalid sectors. - if (!actor->spr.insector()) + if (!actor->insector()) { deletesprite(actor); 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->spr.insector()) + if (!actor->insector()) { deletesprite(actor); return false; @@ -2392,7 +2392,7 @@ void shell(DDukeActor* actor, bool morecheck) ssp(actor, CLIPMASK0); - if (!actor->spr.insector() || morecheck) + if (!actor->insector() || morecheck) { deletesprite(actor); return; @@ -2445,7 +2445,7 @@ void glasspieces(DDukeActor* actor) makeitfall(actor); if (actor->spr.zvel > 4096) actor->spr.zvel = 4096; - if (!actor->spr.insector()) + if (!actor->insector()) { deletesprite(actor); return; diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index f54a7ad6d..d3727243c 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -1676,7 +1676,7 @@ static void weaponcommon_d(DDukeActor* proj) if (FindDistance2D(proj->spr.pos.vec2 - proj->temp_actor->spr.pos.vec2) < 256) coll.setSprite(proj->temp_actor); - if (!proj->spr.insector()) + if (!proj->insector()) { deletesprite(proj); return; @@ -2633,7 +2633,7 @@ static void flamethrowerflame(DDukeActor *actor) movesprite_ex(actor, MulScale(xvel, bcos(actor->spr.ang), 14), MulScale(xvel, bsin(actor->spr.ang), 14), actor->spr.zvel, CLIPMASK1, coll); - if (!actor->spr.insector()) + if (!actor->insector()) { deletesprite(actor); return; @@ -3138,7 +3138,7 @@ void moveexplosions_d(void) // STATNUM 5 DukeStatIterator it(STAT_MISC); while (auto act = it.Next()) { - if (!act->spr.insector() || act->spr.xrepeat == 0) + if (!act->insector() || act->spr.xrepeat == 0) { deletesprite(act); continue; diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 6d890122c..f4a320747 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -1381,7 +1381,7 @@ static void weaponcommon_r(DDukeActor *proj) if (FindDistance2D(proj->spr.pos.vec2 - proj->temp_actor->spr.pos.vec2) < 256) 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); 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. - if( act->spr.xrepeat == 0 || !act->spr.insector()) + if( act->spr.xrepeat == 0 || !act->insector()) { deletesprite(act); continue; @@ -3075,7 +3075,7 @@ void moveexplosions_r(void) // STATNUM 5 t = &act->temp_data[0]; auto sectp = act->spr.sector(); - if (!act->spr.insector() || act->spr.xrepeat == 0) + if (!act->insector() || act->spr.xrepeat == 0) { deletesprite(act); continue; diff --git a/source/games/duke/src/animatesprites_d.cpp b/source/games/duke/src/animatesprites_d.cpp index efa83a576..900374262 100644 --- a/source/games/duke/src/animatesprites_d.cpp +++ b/source/games/duke/src/animatesprites_d.cpp @@ -131,8 +131,8 @@ void animatesprites_d(tspritetype* tsprite, int& spritesortcnt, int x, int y, in continue; } - if (t->insector()) - t->shade = clamp(t->sector()->ceilingstat & CSTAT_SECTOR_SKY ? t->sector()->ceilingshade : t->sector()->floorshade, -127, 127); + if (t->sectp != nullptr) + t->shade = clamp(t->sectp->ceilingstat & CSTAT_SECTOR_SKY ? t->sector()->ceilingshade : t->sectp->floorshade, -127, 127); } diff --git a/source/games/duke/src/animatesprites_r.cpp b/source/games/duke/src/animatesprites_r.cpp index 816a74e85..9f28368ce 100644 --- a/source/games/duke/src/animatesprites_r.cpp +++ b/source/games/duke/src/animatesprites_r.cpp @@ -116,8 +116,8 @@ void animatesprites_r(tspritetype* tsprite, int& spritesortcnt, int x, int y, in } } - if (t->insector()) - t->shade = clamp(t->sector()->ceilingstat & CSTAT_SECTOR_SKY ? h->spr.shade : t->sector()->floorshade, -127, 127); + if (t->sectp != nullptr) + t->shade = clamp(t->sectp->ceilingstat & CSTAT_SECTOR_SKY ? h->spr.shade : t->sectp->floorshade, -127, 127); } diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index d1451b86c..fa7d30579 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -2889,7 +2889,7 @@ void processinput_d(int snum) p->angle.applyinput(sb_avel, &actions); } - if (p->spritebridge == 0 && pact->spr.insector()) + if (p->spritebridge == 0 && pact->insector()) { j = pact->spr.sector()->floorpicnum; diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index ce974f67e..d7519dbfa 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -3620,7 +3620,7 @@ void processinput_r(int snum) 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; k = 0; diff --git a/source/games/sw/src/skel.cpp b/source/games/sw/src/skel.cpp index 9af536136..0bab26ba2 100644 --- a/source/games/sw/src/skel.cpp +++ b/source/games/sw/src/skel.cpp @@ -556,7 +556,7 @@ int DoSkelTeleport(DSWActor* actor) SetActorZ(actor, &actor->spr.pos); - if (actor->spr.insector()) + if (actor->insector()) break; } diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index 19ac90515..4a5374b74 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -3513,7 +3513,7 @@ int ActorCoughItem(DSWActor* actor) switch (actor->user.ID) { case SAILORGIRL_R0: - ASSERT(actor->spr.insector()); + ASSERT(actor->insector()); actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS); actorNew->spr.cstat = 0; actorNew->spr.extra = 0; @@ -3554,7 +3554,7 @@ int ActorCoughItem(DSWActor* actor) if (RANDOM_P2(1024) < 700) return 0; - ASSERT(actor->spr.insector()); + ASSERT(actor->insector()); actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS); actorNew->spr.cstat = 0; actorNew->spr.extra = 0; @@ -3582,7 +3582,7 @@ int ActorCoughItem(DSWActor* actor) if (RANDOM_P2(1024) < 700) return 0; - ASSERT(actor->spr.insector()); + ASSERT(actor->insector()); actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS); actorNew->spr.cstat = 0; actorNew->spr.extra = 0; @@ -3613,7 +3613,7 @@ int ActorCoughItem(DSWActor* actor) if (RANDOM_P2(1024) > 200) return 0; - ASSERT(actor->spr.insector()); + ASSERT(actor->insector()); actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS); actorNew->spr.cstat = 0; actorNew->spr.extra = 0; @@ -3675,7 +3675,7 @@ int ActorCoughItem(DSWActor* actor) if (RANDOM_P2(1024) < 512) return 0; - ASSERT(actor->spr.insector()); + ASSERT(actor->insector()); actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS); actorNew->spr.cstat = 0; actorNew->spr.extra = 0; @@ -3733,7 +3733,7 @@ int ActorCoughItem(DSWActor* actor) case PACHINKO3: case PACHINKO4: - ASSERT(actor->spr.insector()); + ASSERT(actor->insector()); actorNew = insertActor(actor->spr.sector(), STAT_SPAWN_ITEMS); actorNew->spr.cstat = 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.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 if (!(actor->user.Flags & (SPR_NO_SCAREDZ | SPR_JUMPING | SPR_CLIMBING | SPR_FALLING | SPR_DEAD | SPR_SWIMMING))) diff --git a/source/games/sw/src/warp.cpp b/source/games/sw/src/warp.cpp index 9285bac9c..57ba495c9 100644 --- a/source/games/sw/src/warp.cpp +++ b/source/games/sw/src/warp.cpp @@ -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 if (actor->spr.hitag == to_tag) { - if (!actor->spr.insector()) + if (!actor->insector()) return nullptr; // determine new x,y,z position diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index 1bcafb736..ba645e25c 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -3160,7 +3160,7 @@ int SpawnShrap(DSWActor* parentActor, DSWActor* secondaryActor, int means, BREAK return 0; // Don't spawn shrapnel in invalid sectors gosh dern it! - if (!parentActor->spr.insector()) + if (!parentActor->insector()) { return 0; } @@ -5178,7 +5178,7 @@ int ActorStdMissile(DSWActor* actor, DSWActor* weapActor) if (goal != nullptr) { // attempt to see if it was killed - ASSERT(goal->spr.insector()); + ASSERT(goal->insector()); if (goal->hasU()) goal->user.Flags &= ~(SPR_TARGETED); } @@ -11202,7 +11202,7 @@ int DoRing(DSWActor* actor) 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); @@ -11330,7 +11330,7 @@ int DoSerpRing(DSWActor* actor) 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);