From 7e8fc3fe65ceb3bc81df3715173cf4d04b06d445 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 5 Sep 2021 00:10:28 +0200 Subject: [PATCH] - target in UpdateAimVector, teslaHit. --- source/games/blood/src/actor.cpp | 2 +- source/games/blood/src/misc.h | 2 +- source/games/blood/src/weapon.cpp | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index 4d97314c7..347f1c1ce 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -3943,7 +3943,7 @@ static void actImpactMissile(DBloodActor* missileActor, int hitCode) break; case kMissileTeslaAlt: - teslaHit(pMissile, hitCode); + teslaHit(missileActor, hitCode); switch (hitCode) { case 0: diff --git a/source/games/blood/src/misc.h b/source/games/blood/src/misc.h index e13717050..47cdf6dc9 100644 --- a/source/games/blood/src/misc.h +++ b/source/games/blood/src/misc.h @@ -53,7 +53,7 @@ void WeaponLower(PLAYER *pPlayer); int WeaponUpgrade(PLAYER *pPlayer, int newWeapon); void WeaponProcess(PLAYER *pPlayer); void WeaponUpdateState(PLAYER* pPlayer); -void teslaHit(spritetype *pMissile, int a2); +void teslaHit(DBloodActor *pMissile, int a2); void WeaponPrecache(); struct ZONE { diff --git a/source/games/blood/src/weapon.cpp b/source/games/blood/src/weapon.cpp index f464b2428..c382cfeed 100644 --- a/source/games/blood/src/weapon.cpp +++ b/source/games/blood/src/weapon.cpp @@ -355,7 +355,7 @@ void UpdateAimVector(PLAYER * pPlayer) aim.dy = bsin(pPSprite->ang); aim.dz = pPlayer->slope; WEAPONTRACK *pWeaponTrack = &gWeaponTrack[pPlayer->curWeapon]; - int nTarget = -1; + DBloodActor* targetactor = nullptr; pPlayer->aimTargetsCount = 0; int autoaim = Autoaim(pPlayer->nPlayer); if (autoaim == 1 || (autoaim == 2 && !pWeaponTrack->bIsProjectile) || pPlayer->curWeapon == kWeapVoodooDoll || pPlayer->curWeapon == kWeapLifeLeech) @@ -415,7 +415,7 @@ void UpdateAimVector(PLAYER * pPlayer) aim.dx = bcos(angle); aim.dy = bsin(angle); aim.dz = DivScale(dzCenter, nDist, 10); - nTarget = pSprite->index; + targetactor = actor; } } if (pWeaponTrack->thingAngle > 0) @@ -463,7 +463,7 @@ void UpdateAimVector(PLAYER * pPlayer) aim.dx = bcos(angle); aim.dy = bsin(angle); aim.dz = DivScale(dz, nDist, 10); - nTarget = pSprite->index; + targetactor = actor; } } } @@ -478,7 +478,7 @@ void UpdateAimVector(PLAYER * pPlayer) pPlayer->aim = pPlayer->relAim; RotateVector((int*)&pPlayer->aim.dx, (int*)&pPlayer->aim.dy, pPSprite->ang); pPlayer->aim.dz += pPlayer->slope; - pPlayer->aimTarget = &bloodActors[nTarget]; + pPlayer->aimTarget = targetactor; } struct t_WeaponModes @@ -2658,9 +2658,9 @@ void WeaponProcess(PLAYER *pPlayer) { WeaponUpdateState(pPlayer); } -void teslaHit(spritetype *pMissile, int a2) +void teslaHit(DBloodActor *missileactor, int a2) { - auto missileactor = &bloodActors[pMissile->index]; + auto pMissile = &missileactor->s(); uint8_t sectmap[(kMaxSectors+7)>>3]; int x = pMissile->x; int y = pMissile->y;