diff --git a/source/games/exhumed/src/grenade.cpp b/source/games/exhumed/src/grenade.cpp index eef58b8af..382c684e4 100644 --- a/source/games/exhumed/src/grenade.cpp +++ b/source/games/exhumed/src/grenade.cpp @@ -59,9 +59,7 @@ void ThrowGrenade(int nPlayer, int, int, int ecx, int push1) ChangeActorSect(pActor, PlayerList[nPlayer].pPlayerViewSect); - pActor->spr.pos.X = pPlayerActor->spr.pos.X; - pActor->spr.pos.Y = pPlayerActor->spr.pos.Y; - pActor->spr.pos.Z = pPlayerActor->spr.pos.Z; + pActor->set_int_pos(pPlayerActor->spr.pos); if (nAngle < 0) { nAngle = pPlayerActor->spr.ang; @@ -104,9 +102,7 @@ void BuildGrenade(int nPlayer) auto pPlayerActor = PlayerList[nPlayer].pActor; - pActor->spr.pos.X = pPlayerActor->spr.pos.X; - pActor->spr.pos.Y = pPlayerActor->spr.pos.Y; - pActor->spr.pos.Z = pPlayerActor->spr.pos.Z - 3840; + pActor->set_int_pos({ pPlayerActor->spr.pos.X, pPlayerActor->spr.pos.Y, pPlayerActor->spr.pos.Z - 3840 }); pActor->spr.shade = -64; pActor->spr.xrepeat = 20; pActor->spr.yrepeat = 20; @@ -177,9 +173,7 @@ void ExplodeGrenade(DExhumedActor* pActor) auto pPlayerActor = PlayerList[nPlayer].pActor; int nAngle = pPlayerActor->spr.ang; - pActor->spr.pos.Z = pPlayerActor->spr.pos.Z; - pActor->spr.pos.X = bcos(nAngle, -5) + pPlayerActor->spr.pos.X; - pActor->spr.pos.Y = bsin(nAngle, -5) + pPlayerActor->spr.pos.Y; + pActor->set_int_pos({ bcos(nAngle, -5) + pPlayerActor->spr.pos.X, bsin(nAngle, -5) + pPlayerActor->spr.pos.Y, pPlayerActor->spr.pos.Z }); ChangeActorSect(pActor, pPlayerActor->sector()); diff --git a/source/games/exhumed/src/lavadude.cpp b/source/games/exhumed/src/lavadude.cpp index c2889594b..5bbbaca27 100644 --- a/source/games/exhumed/src/lavadude.cpp +++ b/source/games/exhumed/src/lavadude.cpp @@ -41,9 +41,7 @@ DExhumedActor* BuildLavaLimb(DExhumedActor* pActor, int move, int ebx) { auto pLimbActor = insertActor(pActor->sector(), 118); - pLimbActor->spr.pos.X = pActor->spr.pos.X; - pLimbActor->spr.pos.Y = pActor->spr.pos.Y; - pLimbActor->spr.pos.Z = pActor->spr.pos.Z - RandomLong() % ebx; + pLimbActor->set_int_pos({ pActor->spr.pos.X, pActor->spr.pos.Y, pActor->spr.pos.Z - RandomLong() % ebx }); pLimbActor->spr.cstat = 0; pLimbActor->spr.shade = -127; pLimbActor->spr.pal = 1; @@ -115,9 +113,7 @@ void BuildLava(DExhumedActor* pActor, int x, int y, int, sectortype* pSector, in ChangeActorStat(pActor, 118); } - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = pSector->floorz; + pActor->set_int_pos({ x, y, pSector->floorz }); pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE; pActor->spr.xrepeat = 200; pActor->spr.yrepeat = 200; @@ -292,9 +288,7 @@ void AILavaDude::Tick(RunListEvent* ev) if (pSector != pActor->sector()) { ChangeActorSect(pActor, pSector); - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = z; + pActor->set_int_pos({ x, y, z }); pActor->spr.ang = (pActor->spr.ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask; pActor->spr.xvel = bcos(pActor->spr.ang); diff --git a/source/games/exhumed/src/lion.cpp b/source/games/exhumed/src/lion.cpp index d786fb7e6..6ba48176f 100644 --- a/source/games/exhumed/src/lion.cpp +++ b/source/games/exhumed/src/lion.cpp @@ -56,9 +56,7 @@ void BuildLion(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, nAngle = pActor->spr.ang; } - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = z; + pActor->set_int_pos({ x, y, z }); pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; pActor->spr.clipdist = 60; pActor->spr.shade = -12; diff --git a/source/games/exhumed/src/mummy.cpp b/source/games/exhumed/src/mummy.cpp index fa87f1f99..8826ad26a 100644 --- a/source/games/exhumed/src/mummy.cpp +++ b/source/games/exhumed/src/mummy.cpp @@ -53,9 +53,7 @@ void BuildMummy(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, ChangeActorStat(pActor, 102); } - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = z; + pActor->set_int_pos({ x, y, z }); pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; pActor->spr.shade = -12; pActor->spr.clipdist = 32; @@ -450,7 +448,7 @@ void AIMummy::Damage(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; - pActor->spr.pos.Z = pActor->sector()->floorz; + pActor->set_int_z(pActor->sector()->floorz); } else { diff --git a/source/games/exhumed/src/ra.cpp b/source/games/exhumed/src/ra.cpp index 0b91391e8..d97009f86 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->spr.pos = pPlayerActor->spr.pos; + pActor->set_int_pos(pPlayerActor->spr.pos); // GrabTimeSlot(3); @@ -163,9 +163,7 @@ void MoveRaToEnemy(int nPlayer) pTarget = PlayerList[nPlayer].pActor; } - pActor->spr.pos.X = pTarget->spr.pos.X; - pActor->spr.pos.Y = pTarget->spr.pos.Y; - pActor->spr.pos.Z = pTarget->spr.pos.Z - GetActorHeight(pTarget); + pActor->set_int_pos({ pTarget->spr.pos.X, pTarget->spr.pos.Y, pTarget->spr.pos.Z - GetActorHeight(pTarget) }); if (pActor->sector() != pTarget->sector()) { ChangeActorSect(pActor, pTarget->sector()); diff --git a/source/games/exhumed/src/rex.cpp b/source/games/exhumed/src/rex.cpp index c970b0288..5b1ea5a73 100644 --- a/source/games/exhumed/src/rex.cpp +++ b/source/games/exhumed/src/rex.cpp @@ -53,9 +53,7 @@ void BuildRex(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i ChangeActorStat(pActor, 119); } - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = z; + pActor->set_int_pos({ x, y, z }); pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; pActor->spr.clipdist = 80; pActor->spr.shade = -12; diff --git a/source/games/exhumed/src/roach.cpp b/source/games/exhumed/src/roach.cpp index 1411a0ada..c4acfeaa5 100644 --- a/source/games/exhumed/src/roach.cpp +++ b/source/games/exhumed/src/roach.cpp @@ -50,9 +50,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, int x, int y, int z, sectortyp angle = pActor->spr.ang; } - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = z; + pActor->set_int_pos({ x, y, z }); pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; pActor->spr.shade = -12; pActor->spr.xoffset = 0; diff --git a/source/games/exhumed/src/scorp.cpp b/source/games/exhumed/src/scorp.cpp index 7a443f636..484105d11 100644 --- a/source/games/exhumed/src/scorp.cpp +++ b/source/games/exhumed/src/scorp.cpp @@ -54,9 +54,7 @@ void BuildScorp(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, nAngle = pActor->spr.ang; } - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = z; + pActor->set_int_pos({ x, y, z }); pActor->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; pActor->spr.clipdist = 70; pActor->spr.shade = -12; diff --git a/source/games/exhumed/src/wasp.cpp b/source/games/exhumed/src/wasp.cpp index bae50b4aa..11937c3c8 100644 --- a/source/games/exhumed/src/wasp.cpp +++ b/source/games/exhumed/src/wasp.cpp @@ -46,9 +46,7 @@ DExhumedActor* BuildWasp(DExhumedActor* pActor, int x, int y, int z, sectortype* { pActor = insertActor(pSector, 107); - pActor->spr.pos.X = x; - pActor->spr.pos.Y = y; - pActor->spr.pos.Z = z; + pActor->set_int_pos({ x, y, z }); } else { @@ -334,7 +332,7 @@ void AIWasp::Tick(RunListEvent* ev) { auto pSector =pActor->sector(); - pActor->spr.pos.Z += pActor->spr.zvel; + pActor->add_int_z(pActor->spr.zvel); if (pActor->spr.pos.Z >= pSector->floorz) {