From d41e370aad68d70ff228ded32b50124fefa3992d Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 29 Sep 2022 14:54:36 +0200 Subject: [PATCH] - angular cleanup. --- source/games/blood/src/actor.cpp | 2 +- source/games/blood/src/blood.cpp | 7 ++++--- source/games/blood/src/fx.h | 1 - source/games/blood/src/nnexts.cpp | 6 +++--- source/games/blood/src/player.cpp | 1 + source/games/blood/src/player.h | 1 - 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index 8c6c8260f..d67a2e62a 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -6471,7 +6471,7 @@ DBloodActor* actFireMissile(DBloodActor* actor, double xyoff, double zoff, DVect spawned->spr.xrepeat = pMissileInfo->xrepeat; spawned->spr.yrepeat = pMissileInfo->yrepeat; spawned->spr.picnum = pMissileInfo->picnum; - spawned->spr.angle = actor->spr.angle += DAngle::fromBuild(pMissileInfo->angleOfs); + spawned->spr.angle = actor->spr.angle += mapangle(pMissileInfo->angleOfs); spawned->vel = dv * pMissileInfo->fVelocity(); spawned->SetOwner(actor); spawned->spr.cstat |= CSTAT_SPRITE_BLOCK; diff --git a/source/games/blood/src/blood.cpp b/source/games/blood/src/blood.cpp index dff1b66f6..5fea9e22f 100644 --- a/source/games/blood/src/blood.cpp +++ b/source/games/blood/src/blood.cpp @@ -253,6 +253,7 @@ void StartLevel(MapRecord* level, bool newgame) BloodSpawnSpriteDef sprites; DVector3 startpos; dbLoadMap(currentLevel->fileName, startpos, &startang, &startsector, nullptr, sprites); + auto startangle = mapangle(startang); SECRET_SetMapName(currentLevel->DisplayName(), currentLevel->name); STAT_NewLevel(currentLevel->fileName); TITLE_InformName(currentLevel->name); @@ -294,18 +295,18 @@ void StartLevel(MapRecord* level, bool newgame) for (int i = 0; i < kMaxPlayers; i++) { gStartZone[i].pos = startpos; gStartZone[i].sector = startsector; - gStartZone[i].angle = DAngle::fromBuild(startang); + gStartZone[i].angle = startangle; #ifdef NOONE_EXTENSIONS // Create spawn zones for players in teams mode. if (gModernMap && i <= kMaxPlayers / 2) { gStartZoneTeam1[i].pos = startpos; gStartZoneTeam1[i].sector = startsector; - gStartZoneTeam1[i].angle = DAngle::fromBuild(startang); + gStartZoneTeam1[i].angle = startangle; gStartZoneTeam2[i].pos = startpos; gStartZoneTeam2[i].sector = startsector; - gStartZoneTeam2[i].angle = DAngle::fromBuild(startang); + gStartZoneTeam2[i].angle = startangle; } #endif } diff --git a/source/games/blood/src/fx.h b/source/games/blood/src/fx.h index bc8483458..e9beb99e5 100644 --- a/source/games/blood/src/fx.h +++ b/source/games/blood/src/fx.h @@ -94,7 +94,6 @@ public: void destroy(DBloodActor*); void remove(DBloodActor*); DBloodActor* fxSpawnActor(FX_ID a, sectortype* b, const DVector3& pos, DAngle f); - DBloodActor* fxSpawnActor(FX_ID a, sectortype* b, const DVector3& pos, unsigned int f); void fxProcess(void); }; diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp index 757c3a5be..d7f23d3bd 100644 --- a/source/games/blood/src/nnexts.cpp +++ b/source/games/blood/src/nnexts.cpp @@ -6077,7 +6077,7 @@ bool modernTypeOperateSprite(DBloodActor* actor, EVENT& event) } else if (valueIsBetween(actor->xspr.data2, -kAng360, kAng360)) { - pPlayer->angle.settarget(DAngle::fromBuild(actor->xspr.data2)); + pPlayer->angle.settarget(mapangle(actor->xspr.data2)); pPlayer->angle.lockinput(); } break; @@ -8169,7 +8169,7 @@ void aiPatrolMove(DBloodActor* actor) actor->spr.flags |= kPhysGravity | kPhysFalling; } - DAngle nTurnRange = DAngle::fromBuild((pDudeInfo->angSpeed << 2) >> 4); + DAngle nTurnRange = pDudeInfo->TurnRange() / 64; DAngle nAng = deltaangle(actor->spr.angle, actor->xspr.goalAng); actor->spr.angle += clamp(nAng, -nTurnRange, nTurnRange); @@ -9203,7 +9203,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.angle = actor->spr.angle + DAngle::fromBuild(missileInfo[actor->spr.type - kMissileBase].angleOfs); + burstactor->spr.angle = actor->spr.angle + mapangle(missileInfo[actor->spr.type - kMissileBase].angleOfs); burstactor->SetOwner(actor); actBuildMissile(burstactor, actor); diff --git a/source/games/blood/src/player.cpp b/source/games/blood/src/player.cpp index 69ec39861..f4e1d2abe 100644 --- a/source/games/blood/src/player.cpp +++ b/source/games/blood/src/player.cpp @@ -2282,6 +2282,7 @@ void voodooTarget(PLAYER* pPlayer) } for (int i = 0; i < 4; i++) { + // both voodooVar's are always 0. This is only kept in case someone implements an extension. DAngle ang1 = DAngle::fromBuild(pPlayer->voodooVar1 + pPlayer->vodooVar2); actFireVector(actor, 0, dz, DVector3(ang1.ToVector(), aimz), kVectorVoodoo10); DAngle ang2 = DAngle::fromBuild(pPlayer->voodooVar1 - pPlayer->vodooVar2); diff --git a/source/games/blood/src/player.h b/source/games/blood/src/player.h index 2c4958a7b..bd970737b 100644 --- a/source/games/blood/src/player.h +++ b/source/games/blood/src/player.h @@ -114,7 +114,6 @@ struct PLAYER double ozWeapon; double zWeaponVel; double slope; - [[deprecated]] int int_slope() const { return slope * 16384; } bool isUnderwater; bool hasKey[8]; int8_t hasFlag;