From 7aca321fabf71e17932e99c8d787629c156e6d25 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 21 Aug 2022 17:48:15 +0200 Subject: [PATCH] - FAFcansee refactoring, part 5. --- source/games/sw/src/sprite.cpp | 8 ++------ source/games/sw/src/track.cpp | 3 +-- source/games/sw/src/vis.cpp | 12 ++++-------- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index 326aa2a7f..d10d66cb1 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -5034,8 +5034,7 @@ int DoGet(DSWActor* actor) auto cstat_bak = actor->spr.cstat; actor->spr.cstat |= (CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); - can_see = FAFcansee_(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(), - pp->int_ppos().X, pp->int_ppos().Y, pp->int_ppos().Z, pp->cursector); + can_see = FAFcansee(actor->spr.pos, actor->sector(), pp->pos, pp->cursector); actor->spr.cstat = cstat_bak; if (!can_see) @@ -5877,8 +5876,6 @@ void ProcessActiveVars(DSWActor* actor) void AdjustActiveRange(PLAYER* pp, DSWActor* actor, int dist) { DSWActor* plActor = pp->actor; - int look_height; - // do no FAFcansee before it is time if (actor->user.wait_active_check < ACTIVE_CHECK_TIME) @@ -5900,8 +5897,7 @@ void AdjustActiveRange(PLAYER* pp, DSWActor* actor, int dist) // // if actor can still see the player - look_height = int_ActorZOfTop(actor); - if (FAFcansee_(actor->int_pos().X, actor->int_pos().Y, look_height, actor->sector(), plActor->int_pos().X, plActor->int_pos().Y, int_ActorUpperZ(plActor), plActor->sector())) + if (FAFcansee(ActorVectOfTop(actor), actor->sector(), ActorUpperVect(plActor), plActor->sector())) { // Player is visible // adjust update range of this sprite diff --git a/source/games/sw/src/track.cpp b/source/games/sw/src/track.cpp index 8ebb028c8..1391ee2e9 100644 --- a/source/games/sw/src/track.cpp +++ b/source/games/sw/src/track.cpp @@ -2746,8 +2746,7 @@ void DoAutoTurretObject(SECTOR_OBJECT* sop) if (sActor->spr.statnum == STAT_SO_SHOOT_POINT) { - if (!FAFcansee_(sActor->int_pos().X, sActor->int_pos().Y, sActor->int_pos().Z-Z(4), sActor->sector(), - actor->user.targetActor->int_pos().X, actor->user.targetActor->int_pos().Y, int_ActorUpperZ(actor->user.targetActor), actor->user.targetActor->sector())) + if (!FAFcansee(sActor->spr.pos.plusZ(-4), sActor->sector(), ActorUpperVect(actor->user.targetActor), actor->user.targetActor->sector())) { return; } diff --git a/source/games/sw/src/vis.cpp b/source/games/sw/src/vis.cpp index 57ec34adc..cea8e5645 100644 --- a/source/games/sw/src/vis.cpp +++ b/source/games/sw/src/vis.cpp @@ -83,7 +83,7 @@ void ProcessVisOn(void) void VisViewChange(PLAYER* pp, int *vis) { short BrightestVis = NormalVisibility; - int x,y,z; + DVector3 pos; sectortype* sectp; if (paused) @@ -96,21 +96,17 @@ void VisViewChange(PLAYER* pp, int *vis) auto own = GetOwner(actor); if (own != nullptr) { - x = own->int_pos().X; - y = own->int_pos().Y; - z = own->int_pos().Z; + pos = own->spr.pos; sectp = own->sector(); } else { - x = actor->int_pos().X; - y = actor->int_pos().Y; - z = actor->int_pos().Z; + pos = actor->spr.pos; sectp = actor->sector(); } // save off the brightest vis that you can see - if (FAFcansee_(pp->int_ppos().X, pp->int_ppos().Y, pp->int_ppos().Z, pp->cursector, x, y, z, sectp)) + if (FAFcansee(pp->pos, pp->cursector, pos, sectp)) { if (VIS_VisCur(actor) < BrightestVis) BrightestVis = VIS_VisCur(actor);