From f35c610328140783d08c1849e88dbf729c916ffa Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 22 Aug 2022 18:41:05 +0200 Subject: [PATCH] - the remaining cansee calls --- source/games/exhumed/src/rat.cpp | 11 +++-------- source/games/exhumed/src/runlist.cpp | 8 ++------ source/games/sw/src/sumo.cpp | 2 +- source/games/sw/src/wallmove.cpp | 2 +- 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/source/games/exhumed/src/rat.cpp b/source/games/exhumed/src/rat.cpp index f4a1b5c5c..63e09cdf0 100644 --- a/source/games/exhumed/src/rat.cpp +++ b/source/games/exhumed/src/rat.cpp @@ -124,18 +124,13 @@ void BuildRat(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i DExhumedActor* FindFood(DExhumedActor* pActor) { auto pSector = pActor->sector(); - int x = pActor->int_pos().X; - int y = pActor->int_pos().Y; - int z = pActor->int_pos().Z; - int z2 = (z + pSector->int_ceilingz()) / 2; - - if (nChunkTotal) + if (nChunkTotal) { DExhumedActor* pActor2 = nChunkSprite[RandomSize(7) % nChunkTotal]; if (pActor2 != nullptr) { - if (cansee(x, y, z2, pSector, pActor2->int_pos().X, pActor2->int_pos().Y, pActor2->int_pos().Z, pActor2->sector())) { + if (cansee(pActor->spr.pos.plusZ(pSector->ceilingz * 0.5), pSector, pActor2->spr.pos, pActor2->sector())) { return pActor2; } } @@ -150,7 +145,7 @@ DExhumedActor* FindFood(DExhumedActor* pActor) { if (nPlayerPic == pActor2->spr.picnum) { - if (cansee(x, y, z, pSector, pActor2->int_pos().X, pActor2->int_pos().Y, pActor2->int_pos().Z, pActor2->sector())) { + if (cansee(pActor->spr.pos, pSector, pActor2->spr.pos, pActor2->sector())) { return pActor2; } } diff --git a/source/games/exhumed/src/runlist.cpp b/source/games/exhumed/src/runlist.cpp index 4a375a9b8..60c13a3af 100644 --- a/source/games/exhumed/src/runlist.cpp +++ b/source/games/exhumed/src/runlist.cpp @@ -1641,13 +1641,9 @@ int runlist_CheckRadialDamage(DExhumedActor* pActor) pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; if (((kStatExplodeTarget - pActor->spr.statnum) <= 1) || - cansee(pRadialActor->int_pos().X, - pRadialActor->int_pos().Y, - pRadialActor->int_pos().Z - 512, + cansee(pRadialActor->spr.pos.plusZ(-2), pRadialActor->sector(), - pActor->int_pos().X, - pActor->int_pos().Y, - pActor->int_pos().Z - 8192, + pActor->spr.pos.plusZ(-32), pActor->sector())) { edi = (nRadialDamage * (nDamageRadius - nDist)) / nDamageRadius; diff --git a/source/games/sw/src/sumo.cpp b/source/games/sw/src/sumo.cpp index 484da215c..84e9a1595 100644 --- a/source/games/sw/src/sumo.cpp +++ b/source/games/sw/src/sumo.cpp @@ -765,7 +765,7 @@ void BossHealthMeter(void) DSWActor* actor = BossSpriteNum[i]; if (actor != nullptr && !bosswasseen[i]) { - if (cansee(actor->int_pos().X, actor->int_pos().Y, int_ActorZOfTop(actor), actor->sector(), pp->int_ppos().X, pp->int_ppos().Y, pp->int_ppos().Z - Z(40), pp->cursector)) + if (cansee(DVector3(actor->spr.pos.XY(), ActorZOfTop(actor)), actor->sector(), pp->pos.plusZ(-40), pp->cursector)) { if (i == 0 && !bosswasseen[0]) { diff --git a/source/games/sw/src/wallmove.cpp b/source/games/sw/src/wallmove.cpp index c4474673a..e2c87d36e 100644 --- a/source/games/sw/src/wallmove.cpp +++ b/source/games/sw/src/wallmove.cpp @@ -166,7 +166,7 @@ bool CanSeeWallMove(DSWActor* caller, int match) { found = true; - if (cansee(caller->int_pos().X, caller->int_pos().Y, caller->int_pos().Z, caller->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector())) + if (cansee(caller->spr.pos, caller->sector(), actor->spr.pos, actor->sector())) { return true; }