diff --git a/source/games/exhumed/src/lavadude.cpp b/source/games/exhumed/src/lavadude.cpp index 0013d5b1f..1aebfbb00 100644 --- a/source/games/exhumed/src/lavadude.cpp +++ b/source/games/exhumed/src/lavadude.cpp @@ -41,7 +41,7 @@ DExhumedActor* BuildLavaLimb(DExhumedActor* pActor, int move, int ebx) { auto pLimbActor = insertActor(pActor->sector(), 118); - pLimbActor->set_int_pos({ pActor->int_pos().X, pActor->int_pos().Y, pActor->int_pos().Z - RandomLong() % ebx }); + pLimbActor->spr.pos = pActor->spr.pos.plusZ((-RandomLong() % ebx) * zmaptoworld); pLimbActor->spr.cstat = 0; pLimbActor->spr.shade = -127; pLimbActor->spr.pal = 1; diff --git a/source/games/exhumed/src/object.cpp b/source/games/exhumed/src/object.cpp index c2227add7..77200691c 100644 --- a/source/games/exhumed/src/object.cpp +++ b/source/games/exhumed/src/object.cpp @@ -393,7 +393,7 @@ DExhumedActor* BuildWallSprite(sectortype* pSector) auto pActor = insertActor(pSector, 401); - pActor->set_int_pos({ wal->center().X, wal->center().Y, (pSector->int_floorz() + pSector->int_ceilingz()) / 2 }); + pActor->spr.pos = DVector3(wal->fcenter(), (pSector->floorz + pSector->ceilingz) * 0.5); pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE; return pActor; @@ -1020,7 +1020,7 @@ int BuildSlide(int nChannel, walltype* pStartWall, walltype* pWall1, walltype* p SlideData[nSlide].pActor = pActor; pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE; - pActor->set_int_pos({ pStartWall->wall_int_pos().X, pStartWall->wall_int_pos().Y, pSector->int_floorz() }); + pActor->spr.pos = DVector3(pStartWall->pos, pSector->floorz); pActor->backuppos(); SlideData[nSlide].nRunC = 0; @@ -1826,8 +1826,8 @@ DExhumedActor* BuildObject(DExhumedActor* pActor, int nOjectType, int nHitag) pActor->nIndex2 = -1; pActor2->spr.cstat = CSTAT_SPRITE_INVISIBLE; - pActor2->set_int_pos(pActor->int_pos()); - } + pActor2->spr.pos = pActor->spr.pos; + } else { pActor->nFrame = 0; @@ -1963,7 +1963,7 @@ void AIObject::Tick(RunListEvent* ev) StartRegenerate(pActor); pActor->nHealth = 120; - pActor->set_int_pos(pActor->pTarget->int_pos()); + pActor->spr.pos = pActor->pTarget->spr.pos; ChangeActorSect(pActor, pActor->pTarget->sector()); return; } diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index c087f5c8a..4a7839ab1 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -263,14 +263,14 @@ void RestartPlayer(int nPlayer) nCurStartSprite = 0; } - pActor->set_int_pos(nNStartSprite->int_pos()); + pActor->spr.pos = nNStartSprite->spr.pos; ChangeActorSect(pActor, nNStartSprite->sector()); plr->angle.ang = nNStartSprite->spr.angle.Normalized360(); pActor->spr.angle = plr->angle.ang; floorsprt = insertActor(pActor->sector(), 0); - floorsprt->set_int_pos(pActor->int_pos()); + floorsprt->spr.pos = pActor->spr.pos; floorsprt->spr.yrepeat = 64; floorsprt->spr.xrepeat = 64; floorsprt->spr.cstat = CSTAT_SPRITE_ALIGNMENT_FLOOR; @@ -311,7 +311,7 @@ void RestartPlayer(int nPlayer) pActor->spr.extra = -1; pActor->spr.lotag = runlist_HeadRun() + 1; - pDActor->set_int_pos(pActor->int_pos()); + pDActor->spr.pos = pActor->spr.pos; pDActor->spr.xrepeat = pActor->spr.xrepeat; pDActor->spr.yrepeat = pActor->spr.yrepeat; pDActor->spr.xoffset = 0; @@ -454,7 +454,7 @@ void StartDeathSeq(int nPlayer, int nVal) auto pGunActor = GrabBodyGunSprite(); ChangeActorSect(pGunActor, pSector); - pGunActor->set_int_pos({ pActor->int_pos().X, pActor->int_pos().Y, pSector->int_floorz() - 512 }); + pGunActor->spr.pos = { pActor->spr.pos.X, pActor->spr.pos.Y, pSector->floorz - 2 }; ChangeActorStat(pGunActor, nGunLotag[nWeapon] + 900); @@ -2572,7 +2572,7 @@ sectdone: } // loc_1C4E1 - pDopple->set_int_pos(pPlayerActor->int_pos()); + pDopple->spr.pos = pPlayerActor->spr.pos; if (pPlayerActor->sector()->pAbove != nullptr) { diff --git a/source/games/exhumed/src/ra.cpp b/source/games/exhumed/src/ra.cpp index e0e83857a..0a35e8b54 100644 --- a/source/games/exhumed/src/ra.cpp +++ b/source/games/exhumed/src/ra.cpp @@ -100,7 +100,7 @@ void BuildRa(int nPlayer) pActor->spr.pal = 1; pActor->spr.xrepeat = 64; pActor->spr.yrepeat = 64; - pActor->set_int_pos(pPlayerActor->int_pos()); + pActor->spr.pos = pPlayerActor->spr.pos; // GrabTimeSlot(3); @@ -163,7 +163,7 @@ void MoveRaToEnemy(int nPlayer) pTarget = PlayerList[nPlayer].pActor; } - pActor->set_int_pos({ pTarget->int_pos().X, pTarget->int_pos().Y, pTarget->int_pos().Z - GetActorHeight(pTarget) }); + pActor->spr.pos = pTarget->spr.pos.plusZ(-GetActorHeight(pTarget) * zinttoworld); if (pActor->sector() != pTarget->sector()) { ChangeActorSect(pActor, pTarget->sector()); diff --git a/source/games/exhumed/src/set.cpp b/source/games/exhumed/src/set.cpp index e794111d4..b20372319 100644 --- a/source/games/exhumed/src/set.cpp +++ b/source/games/exhumed/src/set.cpp @@ -110,7 +110,7 @@ void BuildSoul(DExhumedActor* pSet) pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = (-256) - RandomSize(10); - pActor->set_int_pos({ pSet->int_pos().X, pSet->int_pos().Y, (RandomSize(8) << 8) + 8192 + pActor->sector()->int_ceilingz() - GetActorHeight(pActor) }); + pActor->spr.pos = DVector3(pSet->spr.pos.X, pSet->spr.pos.Y, RandomSize(8) + 32 + pActor->sector()->ceilingz - GetActorHeight(pActor) * zinttoworld); //pActor->spr.hitag = nSet; pActor->pTarget = pSet; @@ -150,7 +150,7 @@ void AISoul::Tick(RunListEvent* ev) pActor->spr.cstat = 0; pActor->spr.yrepeat = 1; pActor->spr.xrepeat = 1; - pActor->set_int_pos({ pSet->int_pos().X, pSet->int_pos().Y, pSet->int_pos().Z - (GetActorHeight(pSet) >> 1) }); + pActor->spr.pos = pSet->spr.pos.plusZ(-((GetActorHeight(pSet) >> 1) * zinttoworld)); ChangeActorSect(pActor, pSet->sector()); return; }