From 8f904c22563ecf550f4edd22208417dd9ed0e6a9 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 16 Aug 2022 23:20:03 +0200 Subject: [PATCH] - angle assignments in Blood. --- source/games/blood/src/actor.cpp | 16 ++++++++-------- source/games/blood/src/ai.cpp | 6 +++--- source/games/blood/src/aibat.cpp | 14 +++++++------- source/games/blood/src/aibeast.cpp | 12 ++++++------ source/games/blood/src/aiboneel.cpp | 12 ++++++------ source/games/blood/src/aicaleb.cpp | 10 +++++----- source/games/blood/src/aigarg.cpp | 16 ++++++++-------- source/games/blood/src/aighost.cpp | 16 ++++++++-------- source/games/blood/src/aigilbst.cpp | 10 +++++----- source/games/blood/src/aiunicult.cpp | 12 ++++++------ source/games/blood/src/aizomba.cpp | 2 +- source/games/blood/src/callback.cpp | 14 +++++++------- source/games/blood/src/fx.cpp | 8 ++++---- source/games/blood/src/nnexts.cpp | 28 ++++++++++++++-------------- source/games/blood/src/player.cpp | 6 +++--- source/games/blood/src/triggers.cpp | 16 ++++++++-------- source/games/blood/src/weapon.cpp | 2 +- 17 files changed, 100 insertions(+), 100 deletions(-) diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index 953907571..c546b6f73 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -2732,7 +2732,7 @@ static void actNapalmMove(DBloodActor* actor) { int t1 = Random(0x33333) + 0x33333; int rndang = Random2(0x71); - actor->spr.__int_angle = (rndang + ang + 2048) & 2047; + actor->set_int_ang((rndang + ang + 2048) & 2047); auto spawned = actFireThing(actor, 0, 0, -0x93d0, kThingNapalmBall, t1); spawned->SetOwner(actor->GetOwner()); seqSpawn(61, spawned, nNapalmClient); @@ -3881,7 +3881,7 @@ static void actImpactMissile(DBloodActor* missileActor, int hitCode) if (pWallHit) { auto pFX = gFX.fxSpawnActor(FX_52, missileActor->sector(), missileActor->int_pos().X, missileActor->int_pos().Y, missileActor->int_pos().Z, 0); - if (pFX) pFX->spr.__int_angle = (GetWallAngle(pWallHit) + 512) & 2047; + if (pFX) pFX->set_int_ang((GetWallAngle(pWallHit) + 512) & 2047); } break; } @@ -4720,7 +4720,7 @@ static Collision MoveThing(DBloodActor* actor) } } if (actor->vel.X || actor->vel.Y) - actor->spr.__int_angle = getangle(actor->vel.X, actor->vel.Y); + actor->set_int_ang(getangle(actor->vel.X, actor->vel.Y)); return lhit; } @@ -6260,7 +6260,7 @@ DBloodActor* actSpawnDude(DBloodActor* source, int nType, int a3, int a4) spawned->spr.type = nType; if (!VanillaMode()) spawned->spr.inittype = nType; - spawned->spr.__int_angle = angle; + spawned->set_int_ang(angle); vec3_t pos = { x, y, z }; SetActor(spawned, &pos); spawned->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_BLOOD_BIT1; @@ -6419,7 +6419,7 @@ DBloodActor* actFireThing(DBloodActor* actor, int a2, int a3, int a4, int thingT } auto fired = actSpawnThing(actor->sector(), x, y, z, thingType); fired->SetOwner(actor); - fired->spr.__int_angle = actor->int_ang(); + fired->set_int_ang(actor->int_ang()); fired->vel.X = MulScale(a6, Cos(fired->int_ang()), 30); fired->vel.Y = MulScale(a6, Sin(fired->int_ang()), 30); fired->vel.Z = MulScale(a6, a4, 14); @@ -6551,7 +6551,7 @@ DBloodActor* actFireMissile(DBloodActor* actor, int a2, int a3, int a4, int a5, spawned->spr.xrepeat = pMissileInfo->xrepeat; spawned->spr.yrepeat = pMissileInfo->yrepeat; spawned->spr.picnum = pMissileInfo->picnum; - spawned->spr.__int_angle = (actor->int_ang() + pMissileInfo->angleOfs) & 2047; + spawned->set_int_ang((actor->int_ang() + pMissileInfo->angleOfs) & 2047); spawned->vel.X = MulScale(pMissileInfo->velocity, a4, 14); spawned->vel.Y = MulScale(pMissileInfo->velocity, a5, 14); spawned->vel.Z = MulScale(pMissileInfo->velocity, a6, 14); @@ -6751,7 +6751,7 @@ void actFireVector(DBloodActor* shooter, int a2, int a3, int a4, int a5, int a6, auto pFX = gFX.fxSpawnActor(pVectorData->surfHit[nnSurf].fx1, pSector, xx, yy, zz, 0); if (pFX) { - pFX->spr.__int_angle = (GetWallAngle(pWall) + 512) & 2047; + pFX->set_int_ang((GetWallAngle(pWall) + 512) & 2047); pFX->spr.cstat |= CSTAT_SPRITE_ALIGNMENT_WALL; } } @@ -6855,7 +6855,7 @@ void actFireVector(DBloodActor* shooter, int a2, int a3, int a4, int a5, int a6, if (pFX) { pFX->vel.Z = 0x2222; - pFX->spr.__int_angle = (GetWallAngle(pWall) + 512) & 2047; + pFX->set_int_ang((GetWallAngle(pWall) + 512) & 2047); pFX->spr.cstat |= CSTAT_SPRITE_ALIGNMENT_WALL; } } diff --git a/source/games/blood/src/ai.cpp b/source/games/blood/src/ai.cpp index a7426cc23..6af30dfa2 100644 --- a/source/games/blood/src/ai.cpp +++ b/source/games/blood/src/ai.cpp @@ -300,7 +300,7 @@ void aiMoveForward(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (abs(nAng) > 341) return; actor->vel.X += MulScale(pDudeInfo->frontSpeed, Cos(actor->int_ang()), 30); @@ -319,7 +319,7 @@ void aiMoveTurn(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); } //--------------------------------------------------------------------------- @@ -334,7 +334,7 @@ void aiMoveDodge(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (actor->xspr.dodgeDir) { int nCos = Cos(actor->int_ang()); diff --git a/source/games/blood/src/aibat.cpp b/source/games/blood/src/aibat.cpp index d03b76aad..af9f6975c 100644 --- a/source/games/blood/src/aibat.cpp +++ b/source/games/blood/src/aibat.cpp @@ -205,7 +205,7 @@ static void batMoveDodgeUp(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nCos = Cos(actor->int_ang()); int nSin = Sin(actor->int_ang()); int dx = actor->vel.X; @@ -228,7 +228,7 @@ static void batMoveDodgeDown(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (actor->xspr.dodgeDir == 0) return; int nCos = Cos(actor->int_ang()); @@ -312,12 +312,12 @@ static void batMoveForward(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -343,7 +343,7 @@ static void batMoveSwoop(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { @@ -373,11 +373,11 @@ static void batMoveFly(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.__int_angle = (actor->int_ang() + 512) & 2047; + actor->set_int_ang((actor->int_ang() + 512) & 2047); return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; diff --git a/source/games/blood/src/aibeast.cpp b/source/games/blood/src/aibeast.cpp index 60081f7c3..2aa7ac56f 100644 --- a/source/games/blood/src/aibeast.cpp +++ b/source/games/blood/src/aibeast.cpp @@ -400,7 +400,7 @@ static void beastMoveForward(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (abs(nAng) > 341) return; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -418,12 +418,12 @@ static void sub_628A0(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -453,7 +453,7 @@ static void sub_62AE0(DBloodActor* actor) int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { @@ -488,11 +488,11 @@ static void sub_62D7C(DBloodActor* actor) int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.__int_angle = (actor->int_ang() + 512) & 2047; + actor->set_int_ang((actor->int_ang() + 512) & 2047); return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; diff --git a/source/games/blood/src/aiboneel.cpp b/source/games/blood/src/aiboneel.cpp index ce6a818e4..6ba3ea8ab 100644 --- a/source/games/blood/src/aiboneel.cpp +++ b/source/games/blood/src/aiboneel.cpp @@ -219,7 +219,7 @@ static void eelMoveDodgeUp(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nCos = Cos(actor->int_ang()); int nSin = Sin(actor->int_ang()); int dx = actor->vel.X; @@ -242,7 +242,7 @@ static void eelMoveDodgeDown(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (actor->xspr.dodgeDir == 0) return; int nCos = Cos(actor->int_ang()); @@ -322,12 +322,12 @@ static void eelMoveForward(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 26) / 120) / 120) << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -353,7 +353,7 @@ static void eelMoveSwoop(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 26) / 120) / 120) << 2; if (abs(nAng) > 341) return; @@ -380,7 +380,7 @@ static void eelMoveAscend(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 26) / 120) / 120) << 2; if (abs(nAng) > 341) return; diff --git a/source/games/blood/src/aicaleb.cpp b/source/games/blood/src/aicaleb.cpp index c7cc4d8b6..c558b5389 100644 --- a/source/games/blood/src/aicaleb.cpp +++ b/source/games/blood/src/aicaleb.cpp @@ -278,12 +278,12 @@ static void sub_65D04(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -314,7 +314,7 @@ static void sub_65F44(DBloodActor* actor) int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { @@ -350,11 +350,11 @@ static void sub_661E0(DBloodActor* actor) int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.__int_angle = (actor->int_ang() + 512) & 2047; + actor->set_int_ang((actor->int_ang() + 512) & 2047); return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; diff --git a/source/games/blood/src/aigarg.cpp b/source/games/blood/src/aigarg.cpp index a96bb780b..2075164c8 100644 --- a/source/games/blood/src/aigarg.cpp +++ b/source/games/blood/src/aigarg.cpp @@ -281,7 +281,7 @@ static void gargMoveDodgeUp(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nCos = Cos(actor->int_ang()); int nSin = Sin(actor->int_ang()); int dx = actor->vel.X; @@ -307,7 +307,7 @@ static void gargMoveDodgeDown(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (actor->xspr.dodgeDir == 0) return; int nCos = Cos(actor->int_ang()); @@ -525,12 +525,12 @@ static void gargMoveForward(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -559,7 +559,7 @@ static void gargMoveSlow(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { @@ -600,7 +600,7 @@ static void gargMoveSwoop(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { @@ -640,11 +640,11 @@ static void gargMoveFly(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.__int_angle = (actor->int_ang() + 512) & 2047; + actor->set_int_ang((actor->int_ang() + 512) & 2047); return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; diff --git a/source/games/blood/src/aighost.cpp b/source/games/blood/src/aighost.cpp index 208f50426..66fc26ad4 100644 --- a/source/games/blood/src/aighost.cpp +++ b/source/games/blood/src/aighost.cpp @@ -260,7 +260,7 @@ static void ghostMoveDodgeUp(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nCos = Cos(actor->int_ang()); int nSin = Sin(actor->int_ang()); int dx = actor->vel.X; @@ -286,7 +286,7 @@ static void ghostMoveDodgeDown(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (actor->xspr.dodgeDir == 0) return; int nCos = Cos(actor->int_ang()); @@ -421,12 +421,12 @@ static void ghostMoveForward(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -455,7 +455,7 @@ static void ghostMoveSlow(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { @@ -493,7 +493,7 @@ static void ghostMoveSwoop(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { @@ -530,11 +530,11 @@ static void ghostMoveFly(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.__int_angle = (actor->int_ang() + 512) & 2047; + actor->set_int_ang((actor->int_ang() + 512) & 2047); return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; diff --git a/source/games/blood/src/aigilbst.cpp b/source/games/blood/src/aigilbst.cpp index 61a6f6142..4ea968958 100644 --- a/source/games/blood/src/aigilbst.cpp +++ b/source/games/blood/src/aigilbst.cpp @@ -268,12 +268,12 @@ static void sub_6CB00(DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 27) / 120) / 120) << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -303,7 +303,7 @@ static void sub_6CD74(DBloodActor* actor) int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 27) / 120) / 120) << 2; if (abs(nAng) > 341) { @@ -338,11 +338,11 @@ static void sub_6D03C(DBloodActor* actor) int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 27) / 120) / 120) << 2; if (abs(nAng) > 341) { - actor->spr.__int_angle = (actor->int_ang() + 512) & 2047; + actor->set_int_ang((actor->int_ang() + 512) & 2047); return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; diff --git a/source/games/blood/src/aiunicult.cpp b/source/games/blood/src/aiunicult.cpp index 07443bf02..43e7b36b9 100644 --- a/source/games/blood/src/aiunicult.cpp +++ b/source/games/blood/src/aiunicult.cpp @@ -1116,12 +1116,12 @@ void aiGenDudeMoveForward(DBloodActor* actor) { int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.__int_angle = (actor->int_ang() + 256) & 2047; + actor->set_int_ang((actor->int_ang() + 256) & 2047); int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); @@ -1143,7 +1143,7 @@ void aiGenDudeMoveForward(DBloodActor* actor) else { int dang = ((kAng180 + actor->xspr.goalAng - actor->int_ang()) & 2047) - kAng180; - actor->spr.__int_angle = ((actor->int_ang() + ClipRange(dang, -maxTurn, maxTurn)) & 2047); + actor->set_int_ang(((actor->int_ang() + ClipRange(dang, -maxTurn, maxTurn)) & 2047)); // don't move forward if trying to turn around if (abs(dang) > kAng60) @@ -1801,7 +1801,7 @@ void dudeLeechOperate(DBloodActor* actor, const EVENT& event) x += (actTarget->vel.X * t) >> 12; y += (actTarget->vel.Y * t) >> 12; int angBak = actor->int_ang(); - actor->spr.__int_angle = getangle(x - actor->int_pos().X, y - actor->int_pos().Y); + actor->set_int_ang(getangle(x - actor->int_pos().X, y - actor->int_pos().Y)); int dx = bcos(actor->int_ang()); int dy = bsin(actor->int_ang()); int tz = actTarget->int_pos().Z - (actTarget->spr.yrepeat * pDudeInfo->aimHeight) * 4; @@ -1820,7 +1820,7 @@ void dudeLeechOperate(DBloodActor* actor, const EVENT& event) evPostActor(actor, t2, kCallbackLeechStateTimer); actor->xspr.data3 = ClipLow(actor->xspr.data3 - 1, 0); } - actor->spr.__int_angle = angBak; + actor->set_int_ang(angBak); } } @@ -1891,7 +1891,7 @@ DBloodActor* genDudeSpawn(DBloodActor* source, DBloodActor* actor, int nDist) } - spawned->spr.type = nType; spawned->spr.__int_angle = nAngle; + spawned->spr.type = nType; spawned->set_int_ang(nAngle); vec3_t pos = { x, y, z }; SetActor(spawned, &pos); spawned->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_BLOOD_BIT1; diff --git a/source/games/blood/src/aizomba.cpp b/source/games/blood/src/aizomba.cpp index 850cb8052..6ff68e0d9 100644 --- a/source/games/blood/src/aizomba.cpp +++ b/source/games/blood/src/aizomba.cpp @@ -266,7 +266,7 @@ static void entryAIdle(DBloodActor* actor) static void entryEStand(DBloodActor* actor) { sfxPlay3DSound(actor, 1100, -1, 0); - actor->spr.__int_angle = getangle(actor->xspr.TargetPos.X - actor->int_pos().X, actor->xspr.TargetPos.Y - actor->int_pos().Y); + actor->set_int_ang(getangle(actor->xspr.TargetPos.X - actor->int_pos().X, actor->xspr.TargetPos.Y - actor->int_pos().Y)); } END_BLD_NS diff --git a/source/games/blood/src/callback.cpp b/source/games/blood/src/callback.cpp index 1b9f9a014..24fdd2d50 100644 --- a/source/games/blood/src/callback.cpp +++ b/source/games/blood/src/callback.cpp @@ -198,7 +198,7 @@ void fxBloodSpurt(DBloodActor* actor, sectortype*) // 6 auto pFX = gFX.fxSpawnActor(FX_27, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (pFX) { - pFX->spr.__int_angle = 0; + pFX->set_int_ang(0); pFX->vel.X = actor->vel.X >> 8; pFX->vel.Y = actor->vel.Y >> 8; pFX->vel.Z = actor->vel.Z >> 8; @@ -476,7 +476,7 @@ void fxBloodBits(DBloodActor* actor, sectortype*) // 14 { auto pFX = gFX.fxSpawnActor(FX_36, actor->sector(), x, y, floorZ - 64, 0); if (pFX) - pFX->spr.__int_angle = nAngle; + pFX->set_int_ang(nAngle); } gFX.remove(actor); } @@ -625,7 +625,7 @@ void fxPodBloodSpray(DBloodActor* actor, sectortype*) // 18 pFX = gFX.fxSpawnActor(FX_54, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (pFX) { - pFX->spr.__int_angle = 0; + pFX->set_int_ang(0); pFX->vel.X = actor->vel.X >> 8; pFX->vel.Y = actor->vel.Y >> 8; pFX->vel.Z = actor->vel.Z >> 8; @@ -665,13 +665,13 @@ void fxPodBloodSplat(DBloodActor* actor, sectortype*) // 19 if (Chance(0x500) || actor->spr.type == kThingPodGreenBall) pFX = gFX.fxSpawnActor(FX_55, actor->sector(), x, y, floorZ - 64, 0); if (pFX) - pFX->spr.__int_angle = nAngle; + pFX->set_int_ang(nAngle); } else { pFX = gFX.fxSpawnActor(FX_32, actor->sector(), x, y, floorZ - 64, 0); if (pFX) - pFX->spr.__int_angle = nAngle; + pFX->set_int_ang(nAngle); } gFX.remove(actor); } @@ -709,7 +709,7 @@ void sub_76A08(DBloodActor* actor, DBloodActor* actor2, PLAYER* pPlayer) // ??? int top, bottom; GetActorExtents(actor, &top, &bottom); actor->set_int_pos({ actor2->int_pos().X, actor2->int_pos().Y, actor2->sector()->int_floorz() - (bottom - actor->int_pos().Z) }); - actor->spr.__int_angle = actor2->int_ang(); + actor->set_int_ang(actor2->int_ang()); ChangeActorSect(actor, actor2->sector()); sfxPlay3DSound(actor2, 201, -1, 0); actor->vel.X = actor->vel.Y = actor->vel.Z = 0; @@ -746,7 +746,7 @@ void DropVoodooCb(DBloodActor* actor, sectortype*) // unused evPostActor(actor, 0, kCallbackRemove); return; } - actor->spr.__int_angle = getangle(Owner->int_pos().X - actor->int_pos().X, Owner->int_pos().Y - actor->int_pos().Y); + actor->set_int_ang(getangle(Owner->int_pos().X - actor->int_pos().X, Owner->int_pos().Y - actor->int_pos().Y)); if (actor->hasX()) { if (actor->xspr.data1 == 0) diff --git a/source/games/blood/src/fx.cpp b/source/games/blood/src/fx.cpp index c47f828f9..3aad68e45 100644 --- a/source/games/blood/src/fx.cpp +++ b/source/games/blood/src/fx.cpp @@ -276,7 +276,7 @@ void fxSpawnBlood(DBloodActor* actor, int) auto bloodactor = gFX.fxSpawnActor(FX_27, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (bloodactor) { - bloodactor->spr.__int_angle = 1024; + bloodactor->set_int_ang(1024); bloodactor->vel.X = Random2(0x6aaaa); bloodactor->vel.Y = Random2(0x6aaaa); bloodactor->vel.Z = -(int)Random(0x10aaaa) - 100; @@ -306,7 +306,7 @@ void fxSpawnPodStuff(DBloodActor* actor, int) spawnactor = gFX.fxSpawnActor(FX_54, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (spawnactor) { - spawnactor->spr.__int_angle = 1024; + spawnactor->set_int_ang(1024); spawnactor->vel.X = Random2(0x6aaaa); spawnactor->vel.Y = Random2(0x6aaaa); spawnactor->vel.Z = -(int)Random(0x10aaaa) - 100; @@ -330,7 +330,7 @@ void fxSpawnEjectingBrass(DBloodActor* actor, int z, int a3, int a4) if (pBrass) { if (!VanillaMode()) - pBrass->spr.__int_angle = Random(2047); + pBrass->set_int_ang(Random(2047)); int nDist = (a4 << 18) / 120 + Random2(((a4 / 4) << 18) / 120); int nAngle = actor->int_ang() + Random2(56) + 512; pBrass->vel.X = MulScale(nDist, Cos(nAngle), 30); @@ -355,7 +355,7 @@ void fxSpawnEjectingShell(DBloodActor* actor, int z, int a3, int a4) if (pShell) { if (!VanillaMode()) - pShell->spr.__int_angle = Random(2047); + pShell->set_int_ang(Random(2047)); int nDist = (a4 << 18) / 120 + Random2(((a4 / 4) << 18) / 120); int nAngle = actor->int_ang() + Random2(56) + 512; pShell->vel.X = MulScale(nDist, Cos(nAngle), 30); diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp index 561413c7e..25eb14d31 100644 --- a/source/games/blood/src/nnexts.cpp +++ b/source/games/blood/src/nnexts.cpp @@ -279,7 +279,7 @@ static DBloodActor* nnExtSpawnDude(DBloodActor* sourceactor, DBloodActor* origin SetActor(pDudeActor, &pos); pDudeActor->spr.type = nType; - pDudeActor->spr.__int_angle = angle; + pDudeActor->set_int_ang(angle); pDudeActor->spr.cstat |= CSTAT_SPRITE_BLOOD_BIT1 | CSTAT_SPRITE_BLOCK_ALL; pDudeActor->spr.clipdist = getDudeInfo(nType)->clipdist; @@ -1370,8 +1370,8 @@ void nnExtProcessSuperSprites() } int angStep = ClipLow(mulscale8(1, ((abs(debrisactor->vel.X) + abs(debrisactor->vel.Y)) >> 5)), (uwater) ? 1 : 0); - if (ang < debrisactor->xspr.goalAng) debrisactor->spr.__int_angle = ClipHigh(ang + angStep, debrisactor->xspr.goalAng); - else if (ang > debrisactor->xspr.goalAng) debrisactor->spr.__int_angle = ClipLow(ang - angStep, debrisactor->xspr.goalAng); + if (ang < debrisactor->xspr.goalAng) debrisactor->set_int_ang(ClipHigh(ang + angStep, debrisactor->xspr.goalAng)); + else if (ang > debrisactor->xspr.goalAng) debrisactor->set_int_ang(ClipLow(ang - angStep, debrisactor->xspr.goalAng)); auto pSector = debrisactor->sector(); int cz = getceilzofslopeptr(pSector, debrisactor->int_pos().X, debrisactor->int_pos().Y); @@ -3402,7 +3402,7 @@ void useEffectGen(DBloodActor* sourceactor, DBloodActor* actor) if (sourceactor->spr.flags & kModernTypeFlag4) { - pEffect->spr.__int_angle = sourceactor->int_ang(); + pEffect->set_int_ang(sourceactor->int_ang()); } if (pEffect->spr.cstat & CSTAT_SPRITE_ONE_SIDE) @@ -3459,7 +3459,7 @@ void useSectorWindGen(DBloodActor* sourceactor, sectortype* pSector) if ((sourceactor->xspr.data1 & 0x0002)) { while (sourceactor->int_ang() == ang) - sourceactor->spr.__int_angle = nnExtRandom(-kAng360, kAng360) & 2047; + sourceactor->set_int_ang(nnExtRandom(-kAng360, kAng360) & 2047); } } else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_FORWARD) sourceactor->spr.__int_angle += sourceactor->xspr.data4; @@ -3467,12 +3467,12 @@ void useSectorWindGen(DBloodActor* sourceactor, sectortype* pSector) else if (sourceactor->xspr.sysData1 == 0) { if ((ang += sourceactor->xspr.data4) >= kAng180) sourceactor->xspr.sysData1 = 1; - sourceactor->spr.__int_angle = ClipHigh(ang, kAng180); + sourceactor->set_int_ang(ClipHigh(ang, kAng180)); } else { if ((ang -= sourceactor->xspr.data4) <= -kAng180) sourceactor->xspr.sysData1 = 0; - sourceactor->spr.__int_angle = ClipLow(ang, -kAng180); + sourceactor->set_int_ang(ClipLow(ang, -kAng180)); } pXSector->windAng = sourceactor->int_ang(); @@ -3835,7 +3835,7 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector if (sourceactor->spr.flags & kModernTypeFlag4) { - spawned->spr.__int_angle = sourceactor->int_ang(); + spawned->set_int_ang(sourceactor->int_ang()); } // should be: the more is seqs, the shorter is timer @@ -8098,7 +8098,7 @@ void aiPatrolStop(DBloodActor* actor, DBloodActor* targetactor, bool alarm) if (mytarget && mytarget->spr.type == kMarkerPath) { - if (targetactor == nullptr) actor->spr.__int_angle = mytarget->spr.__int_angle & 2047; + if (targetactor == nullptr) actor->set_int_ang(mytarget->spr.__int_angle & 2047); actor->SetTarget(nullptr); } @@ -8157,7 +8157,7 @@ void aiPatrolTurn(DBloodActor* actor) { int nTurnRange = (getDudeInfo(actor->spr.type)->angSpeed << 1) >> 4; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); } @@ -8205,7 +8205,7 @@ void aiPatrolMove(DBloodActor* actor) int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; int nAng = ((actor->xspr.goalAng + 1024 - actor->int_ang()) & 2047) - 1024; - actor->spr.__int_angle = (actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->set_int_ang((actor->int_ang() + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047); if (abs(nAng) > goalAng || ((targetactor->xspr.waitTime > 0 || targetactor->xspr.data1 == targetactor->xspr.data2) && aiPatrolMarkerReached(actor))) { @@ -9235,7 +9235,7 @@ void callbackUniMissileBurst(DBloodActor* actor, sectortype*) // 22 burstactor->spr.flags = actor->spr.flags; burstactor->spr.xrepeat = actor->spr.xrepeat / 2; burstactor->spr.yrepeat = actor->spr.yrepeat / 2; - burstactor->spr.__int_angle = ((actor->int_ang() + missileInfo[actor->spr.type - kMissileBase].angleOfs) & 2047); + burstactor->set_int_ang(((actor->int_ang() + missileInfo[actor->spr.type - kMissileBase].angleOfs) & 2047)); burstactor->SetOwner(actor); actBuildMissile(burstactor, actor); @@ -9334,7 +9334,7 @@ void triggerTouchWall(DBloodActor* actor, walltype* pHWall) void changeSpriteAngle(DBloodActor* pSpr, int nAng) { if (!pSpr->IsDudeActor()) - pSpr->spr.__int_angle = nAng; + pSpr->set_int_ang(nAng); else { PLAYER* pPlayer = getPlayerById(pSpr->spr.type); @@ -9342,7 +9342,7 @@ void changeSpriteAngle(DBloodActor* pSpr, int nAng) pPlayer->angle.ang = buildang(nAng); else { - pSpr->spr.__int_angle = nAng; + pSpr->set_int_ang(nAng); if (pSpr->hasX()) pSpr->xspr.goalAng = pSpr->int_ang(); } diff --git a/source/games/blood/src/player.cpp b/source/games/blood/src/player.cpp index 72a133a44..7dd2f877a 100644 --- a/source/games/blood/src/player.cpp +++ b/source/games/blood/src/player.cpp @@ -809,7 +809,7 @@ void playerStart(int nPlayer, int bNewLevel) GetActorExtents(actor, &top, &bottom); actor->add_int_z(-(bottom - actor->int_pos().Z)); actor->spr.pal = 11 + (pPlayer->teamId & 3); - actor->spr.__int_angle = pStartZone->ang; + actor->set_int_ang(pStartZone->ang); pPlayer->angle.ang = buildang(actor->int_ang()); actor->spr.type = kDudePlayer1 + nPlayer; actor->spr.clipdist = pDudeInfo->clipdist; @@ -1504,7 +1504,7 @@ int ActionScan(PLAYER* pPlayer, HitInfo* out) void UpdatePlayerSpriteAngle(PLAYER* pPlayer) { - pPlayer->actor->spr.__int_angle = pPlayer->angle.ang.asbuild(); + pPlayer->actor->set_int_ang(pPlayer->angle.ang.asbuild()); } //--------------------------------------------------------------------------- @@ -1763,7 +1763,7 @@ void ProcessInput(PLAYER* pPlayer) auto spawned = actSpawnDude(pactor, kDudeHand, pPlayer->actor->spr.clipdist << 1, 0); if (spawned) { - spawned->spr.__int_angle = (pPlayer->actor->int_ang() + 1024) & 2047; + spawned->set_int_ang((pPlayer->actor->int_ang() + 1024) & 2047); int x = bcos(pPlayer->actor->int_ang()); int y = bsin(pPlayer->actor->int_ang()); spawned->vel.X = pPlayer->actor->vel.X + MulScale(0x155555, x, 14); diff --git a/source/games/blood/src/triggers.cpp b/source/games/blood/src/triggers.cpp index 789cf8779..2c3066e3c 100644 --- a/source/games/blood/src/triggers.cpp +++ b/source/games/blood/src/triggers.cpp @@ -277,7 +277,7 @@ void LifeLeechOperate(DBloodActor* actor, EVENT event) x += (target->vel.X * t) >> 12; y += (target->vel.Y * t) >> 12; int angBak = actor->int_ang(); - actor->spr.__int_angle = getangle(x - actor->int_pos().X, y - actor->int_pos().Y); + actor->set_int_ang(getangle(x - actor->int_pos().X, y - actor->int_pos().Y)); int dx = bcos(actor->int_ang()); int dy = bsin(actor->int_ang()); int tz = target->int_pos().Z - (target->spr.yrepeat * pDudeInfo->aimHeight) * 4; @@ -298,7 +298,7 @@ void LifeLeechOperate(DBloodActor* actor, EVENT event) if (!VanillaMode()) // disable collisions so lifeleech doesn't do that weird bobbing missile->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; } - actor->spr.__int_angle = angBak; + actor->set_int_ang(angBak); } } } @@ -936,7 +936,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint(&x, &y, ang, a4, a5); viewBackupSpriteLoc(actor); - actor->spr.__int_angle = (actor->int_ang() + v14) & 2047; + actor->set_int_ang((actor->int_ang() + v14) & 2047); actor->set_int_xy(x + vc - a4, y + v8 - a5); } else if (actor->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) @@ -944,7 +944,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint((int*)&x, (int*)&y, -ang, a4, sprDy); viewBackupSpriteLoc(actor); - actor->spr.__int_angle = (actor->int_ang() - v14) & 2047; + actor->set_int_ang((actor->int_ang() - v14) & 2047); actor->set_int_xy(x - vc + a4, y - v8 + a5); } else if (pXSector->Drag) @@ -961,7 +961,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 RotatePoint(&pos.X, &pos.Y, v14, v20, v24); actor->set_int_pos(pos); } - actor->spr.__int_angle = (actor->int_ang() + v14) & 2047; + actor->set_int_ang((actor->int_ang() + v14) & 2047); actor->add_int_pos({ v28, v2c, 0 }); } } @@ -988,7 +988,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint(&x, &y, ang, a4, a5); viewBackupSpriteLoc(ac); - ac->spr.__int_angle = (ac->int_ang() + v14) & 2047; + ac->set_int_ang((ac->int_ang() + v14) & 2047); ac->set_int_xy(x + vc - a4, y + v8 - a5); } else if (ac->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) @@ -996,7 +996,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint(&x, &y, -ang, a4, sprDy); viewBackupSpriteLoc(ac); - ac->spr.__int_angle = (ac->int_ang() - v14) & 2047; + ac->set_int_ang((ac->int_ang() - v14) & 2047); ac->set_int_xy(x + vc - a4, y + v8 - a5); } } @@ -1636,7 +1636,7 @@ void OperateTeleport(sectortype* pSector) } actor->set_int_xy(destactor->int_pos().X, destactor->int_pos().Y); actor->add_int_z(destactor->sector()->int_floorz() - pSector->int_floorz()); - actor->spr.__int_angle = destactor->int_ang(); + actor->set_int_ang(destactor->int_ang()); ChangeActorSect(actor, destactor->sector()); sfxPlay3DSound(destactor, 201, -1, 0); actor->vel.X = actor->vel.Y = actor->vel.Z = 0; diff --git a/source/games/blood/src/weapon.cpp b/source/games/blood/src/weapon.cpp index 7ca444326..97bf6d3c1 100644 --- a/source/games/blood/src/weapon.cpp +++ b/source/games/blood/src/weapon.cpp @@ -1970,7 +1970,7 @@ void FireLifeLeech(int nTrigger, PLAYER* pPlayer) if (missileActor) { missileActor->SetTarget(pPlayer->aimTarget); - missileActor->spr.__int_angle = (nTrigger == 2) ? 1024 : 0; + missileActor->set_int_ang((nTrigger == 2) ? 1024 : 0); } if (checkAmmo2(pPlayer, 8, 1)) UseAmmo(pPlayer, 8, 1);