From 0c0a33da8e5dbb3830ef17081d4391468ca822d6 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 30 Jan 2022 18:09:26 +0100 Subject: [PATCH] - Blood: replaced the remaining spr.pos with int_pos() --- source/games/blood/src/warp.cpp | 72 +++++++++++++++---------------- source/games/blood/src/weapon.cpp | 66 ++++++++++++++-------------- 2 files changed, 69 insertions(+), 69 deletions(-) diff --git a/source/games/blood/src/warp.cpp b/source/games/blood/src/warp.cpp index 34657f82c..a96af974e 100644 --- a/source/games/blood/src/warp.cpp +++ b/source/games/blood/src/warp.cpp @@ -83,9 +83,9 @@ void warpInit(TArray& actors) case kMarkerSPStart: if (gGameOptions.nGameType < 2 && actor->xspr.data1 >= 0 && actor->xspr.data1 < kMaxPlayers) { ZONE* pZone = &gStartZone[actor->xspr.data1]; - pZone->x = actor->spr.pos.X; - pZone->y = actor->spr.pos.Y; - pZone->z = actor->spr.pos.Z; + pZone->x = actor->int_pos().X; + pZone->y = actor->int_pos().Y; + pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); pZone->ang = actor->spr.ang; } @@ -96,9 +96,9 @@ void warpInit(TArray& actors) if (gGameOptions.nGameType >= 2) { // default if BB or teams without data2 specified ZONE* pZone = &gStartZone[actor->xspr.data1]; - pZone->x = actor->spr.pos.X; - pZone->y = actor->spr.pos.Y; - pZone->z = actor->spr.pos.Z; + pZone->x = actor->int_pos().X; + pZone->y = actor->int_pos().Y; + pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); pZone->ang = actor->spr.ang; @@ -107,9 +107,9 @@ void warpInit(TArray& actors) if (gModernMap && gGameOptions.nGameType == 3) { if (actor->xspr.data2 == 1) { pZone = &gStartZoneTeam1[team1]; - pZone->x = actor->spr.pos.X; - pZone->y = actor->spr.pos.Y; - pZone->z = actor->spr.pos.Z; + pZone->x = actor->int_pos().X; + pZone->y = actor->int_pos().Y; + pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); pZone->ang = actor->spr.ang; team1++; @@ -117,9 +117,9 @@ void warpInit(TArray& actors) } else if (actor->xspr.data2 == 2) { pZone = &gStartZoneTeam2[team2]; - pZone->x = actor->spr.pos.X; - pZone->y = actor->spr.pos.Y; - pZone->z = actor->spr.pos.Z; + pZone->x = actor->int_pos().X; + pZone->y = actor->int_pos().Y; + pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); pZone->ang = actor->spr.ang; team2++; @@ -147,7 +147,7 @@ void warpInit(TArray& actors) actor->sector()->upperLink = actor; actor->spr.cstat |= CSTAT_SPRITE_INVISIBLE; actor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; - actor->set_int_z(getflorzofslopeptr(actor->sector(), actor->spr.pos.X, actor->spr.pos.Y)); + actor->set_int_z(getflorzofslopeptr(actor->sector(), actor->int_pos().X, actor->int_pos().Y)); break; case kMarkerLowWater: case kMarkerLowStack: @@ -155,7 +155,7 @@ void warpInit(TArray& actors) actor->sector()->lowerLink = actor; actor->spr.cstat |= CSTAT_SPRITE_INVISIBLE; actor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; - actor->set_int_z(getceilzofslopeptr(actor->sector(), actor->spr.pos.X, actor->spr.pos.Y)); + actor->set_int_z(getceilzofslopeptr(actor->sector(), actor->int_pos().X, actor->int_pos().Y)); break; } } @@ -210,23 +210,23 @@ int CheckLink(DBloodActor* actor) { int z; if (aUpper->spr.type == kMarkerUpLink) - z = aUpper->spr.pos.Z; + z = aUpper->int_pos().Z; else - z = getflorzofslopeptr(actor->sector(), actor->spr.pos.X, actor->spr.pos.Y); - if (z <= actor->spr.pos.Z) + z = getflorzofslopeptr(actor->sector(), actor->int_pos().X, actor->int_pos().Y); + if (z <= actor->int_pos().Z) { aLower = aUpper->GetOwner(); assert(aLower); assert(aLower->insector()); ChangeActorSect(actor, aLower->sector()); vec3_t add; - add.X = aLower->spr.pos.X - aUpper->spr.pos.X; - add.Y = aLower->spr.pos.Y - aUpper->spr.pos.Y; + add.X = aLower->int_pos().X - aUpper->int_pos().X; + add.Y = aLower->int_pos().Y - aUpper->int_pos().Y; int z2; if (aLower->spr.type == kMarkerLowLink) - z2 = aLower->spr.pos.Z; + z2 = aLower->int_pos().Z; else - z2 = getceilzofslopeptr(actor->sector(), actor->spr.pos.X, actor->spr.pos.Y); + z2 = getceilzofslopeptr(actor->sector(), actor->int_pos().X, actor->int_pos().Y); add.Z = z2 - z; actor->add_int_pos(add); actor->interpolated = false; @@ -237,23 +237,23 @@ int CheckLink(DBloodActor* actor) { int z; if (aLower->spr.type == kMarkerLowLink) - z = aLower->spr.pos.Z; + z = aLower->int_pos().Z; else - z = getceilzofslopeptr(actor->sector(), actor->spr.pos.X, actor->spr.pos.Y); - if (z >= actor->spr.pos.Z) + z = getceilzofslopeptr(actor->sector(), actor->int_pos().X, actor->int_pos().Y); + if (z >= actor->int_pos().Z) { aUpper = aLower->GetOwner(); assert(aUpper); assert(aUpper->insector()); ChangeActorSect(actor, aUpper->sector()); vec3_t add; - add.X = aUpper->spr.pos.X - aLower->spr.pos.X; - add.Y = aUpper->spr.pos.Y - aLower->spr.pos.Y; + add.X = aUpper->int_pos().X - aLower->int_pos().X; + add.Y = aUpper->int_pos().Y - aLower->int_pos().Y; int z2; if (aUpper->spr.type == kMarkerUpLink) - z2 = aUpper->spr.pos.Z; + z2 = aUpper->int_pos().Z; else - z2 = getflorzofslopeptr(actor->sector(), actor->spr.pos.X, actor->spr.pos.Y); + z2 = getflorzofslopeptr(actor->sector(), actor->int_pos().X, actor->int_pos().Y); add.Z = z2 - z; actor->add_int_pos(add); actor->interpolated = false; @@ -277,7 +277,7 @@ int CheckLink(int* x, int* y, int* z, sectortype** pSector) { int z1; if (aUpper->spr.type == kMarkerUpLink) - z1 = aUpper->spr.pos.Z; + z1 = aUpper->int_pos().Z; else z1 = getflorzofslopeptr(*pSector, *x, *y); if (z1 <= *z) @@ -286,11 +286,11 @@ int CheckLink(int* x, int* y, int* z, sectortype** pSector) assert(aLower); assert(aLower->insector()); *pSector = aLower->sector(); - *x += aLower->spr.pos.X - aUpper->spr.pos.X; - *y += aLower->spr.pos.Y - aUpper->spr.pos.Y; + *x += aLower->int_pos().X - aUpper->int_pos().X; + *y += aLower->int_pos().Y - aUpper->int_pos().Y; int z2; if (aUpper->spr.type == kMarkerLowLink) - z2 = aLower->spr.pos.Z; + z2 = aLower->int_pos().Z; else z2 = getceilzofslopeptr(*pSector, *x, *y); *z += z2 - z1; @@ -301,7 +301,7 @@ int CheckLink(int* x, int* y, int* z, sectortype** pSector) { int z1; if (aLower->spr.type == kMarkerLowLink) - z1 = aLower->spr.pos.Z; + z1 = aLower->int_pos().Z; else z1 = getceilzofslopeptr(*pSector, *x, *y); if (z1 >= *z) @@ -309,11 +309,11 @@ int CheckLink(int* x, int* y, int* z, sectortype** pSector) aUpper = aLower->GetOwner(); assert(aUpper); *pSector = aUpper->sector(); - *x += aUpper->spr.pos.X - aLower->spr.pos.X; - *y += aUpper->spr.pos.Y - aLower->spr.pos.Y; + *x += aUpper->int_pos().X - aLower->int_pos().X; + *y += aUpper->int_pos().Y - aLower->int_pos().Y; int z2; if (aLower->spr.type == kMarkerUpLink) - z2 = aUpper->spr.pos.Z; + z2 = aUpper->int_pos().Z; else z2 = getflorzofslopeptr(*pSector, *x, *y); *z += z2 - z1; diff --git a/source/games/blood/src/weapon.cpp b/source/games/blood/src/weapon.cpp index 08966aa14..716cb84e9 100644 --- a/source/games/blood/src/weapon.cpp +++ b/source/games/blood/src/weapon.cpp @@ -247,7 +247,7 @@ static bool checkAmmo2(const PLAYER* pPlayer, int ammotype, int amount) void SpawnBulletEject(PLAYER* pPlayer, int a2, int a3) { POSTURE* pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture]; - pPlayer->zView = pPlayer->actor->spr.pos.Z - pPosture->eyeAboveZ; + pPlayer->zView = pPlayer->actor->int_pos().Z - pPosture->eyeAboveZ; int dz = pPlayer->zWeapon - (pPlayer->zWeapon - pPlayer->zView) / 2; fxSpawnEjectingBrass(pPlayer->actor, dz, a2, a3); } @@ -255,7 +255,7 @@ void SpawnBulletEject(PLAYER* pPlayer, int a2, int a3) void SpawnShellEject(PLAYER* pPlayer, int a2, int a3) { POSTURE* pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture]; - pPlayer->zView = pPlayer->actor->spr.pos.Z - pPosture->eyeAboveZ; + pPlayer->zView = pPlayer->actor->int_pos().Z - pPosture->eyeAboveZ; int t = pPlayer->zWeapon - pPlayer->zView; int dz = pPlayer->zWeapon - t + (t >> 2); fxSpawnEjectingShell(pPlayer->actor, dz, a2, a3); @@ -423,8 +423,8 @@ void UpdateAimVector(PLAYER* pPlayer) { assert(pPlayer != NULL); auto plActor = pPlayer->actor; - int x = plActor->spr.pos.X; - int y = plActor->spr.pos.Y; + int x = plActor->int_pos().X; + int y = plActor->int_pos().Y; int z = pPlayer->zWeapon; Aim aim; aim.dx = bcos(plActor->spr.ang); @@ -448,9 +448,9 @@ void UpdateAimVector(PLAYER* pPlayer) continue; if (!(actor->spr.flags & 8)) continue; - int x2 = actor->spr.pos.X; - int y2 = actor->spr.pos.Y; - int z2 = actor->spr.pos.Z; + int x2 = actor->int_pos().X; + int y2 = actor->int_pos().Y; + int z2 = actor->int_pos().Z; int nDist = approxDist(x2 - x, y2 - y); if (nDist == 0 || nDist > 51200) continue; @@ -502,9 +502,9 @@ void UpdateAimVector(PLAYER* pPlayer) continue; if (!(actor->spr.flags & 8)) continue; - int x2 = actor->spr.pos.X; - int y2 = actor->spr.pos.Y; - int z2 = actor->spr.pos.Z; + int x2 = actor->int_pos().X; + int y2 = actor->int_pos().Y; + int z2 = actor->int_pos().Z; int dx = x2 - x; int dy = y2 - y; int dz = z2 - z; @@ -522,7 +522,7 @@ void UpdateAimVector(PLAYER* pPlayer) int angle = getangle(dx, dy); if (abs(((angle - plActor->spr.ang + 1024) & 2047) - 1024) > pWeaponTrack->thingAngle) continue; - if (pPlayer->aimTargetsCount < 16 && cansee(x, y, z, plActor->sector(), actor->spr.pos.X, actor->spr.pos.Y, actor->spr.pos.Z, actor->sector())) + if (pPlayer->aimTargetsCount < 16 && cansee(x, y, z, plActor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector())) pPlayer->aimTargets[pPlayer->aimTargetsCount++] = actor; // Inlined? int dz2 = (lz - z2) >> 8; @@ -531,7 +531,7 @@ void UpdateAimVector(PLAYER* pPlayer) int nDist2 = ksqrt(dx2 * dx2 + dy2 * dy2 + dz2 * dz2); if (nDist2 >= nClosest) continue; - if (cansee(x, y, z, plActor->sector(), actor->spr.pos.X, actor->spr.pos.Y, actor->spr.pos.Z, actor->sector())) + if (cansee(x, y, z, plActor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector())) { nClosest = nDist2; aim.dx = bcos(angle); @@ -1163,7 +1163,7 @@ void FirePitchfork(int, PLAYER* pPlayer) int r2 = Random2(2000); int r3 = Random2(2000); for (int i = 0; i < 4; i++) - actFireVector(actor, (2 * i - 3) * 40, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, aim->dx + r1, aim->dy + r2, aim->dz + r3, kVectorTine); + actFireVector(actor, (2 * i - 3) * 40, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, aim->dx + r1, aim->dy + r2, aim->dz + r3, kVectorTine); } //--------------------------------------------------------------------------- @@ -1420,7 +1420,7 @@ void FireShotgun(int nTrigger, PLAYER* pPlayer) r3 = Random3(1500); nType = kVectorShellAP; } - actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, pPlayer->aim.dx + r1, pPlayer->aim.dy + r2, pPlayer->aim.dz + r3, nType); + actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, pPlayer->aim.dx + r1, pPlayer->aim.dy + r2, pPlayer->aim.dz + r3, nType); } UseAmmo(pPlayer, pPlayer->weaponAmmo, nTrigger); pPlayer->flashEffect = 1; @@ -1450,7 +1450,7 @@ void FireTommy(int nTrigger, PLAYER* pPlayer) int r1 = Random3(400); int r2 = Random3(1200); int r3 = Random3(1200); - actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, aim->dx + r3, aim->dy + r2, aim->dz + r1, kVectorTommyRegular); + actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, aim->dx + r3, aim->dy + r2, aim->dz + r1, kVectorTommyRegular); SpawnBulletEject(pPlayer, -15, -45); pPlayer->visibility = 20; break; @@ -1460,12 +1460,12 @@ void FireTommy(int nTrigger, PLAYER* pPlayer) int r1 = Random3(400); int r2 = Random3(1200); int r3 = Random3(1200); - actFireVector(actor, -120, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, aim->dx + r3, aim->dy + r2, aim->dz + r1, kVectorTommyRegular); + actFireVector(actor, -120, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, aim->dx + r3, aim->dy + r2, aim->dz + r1, kVectorTommyRegular); SpawnBulletEject(pPlayer, -140, -45); r1 = Random3(400); r2 = Random3(1200); r3 = Random3(1200); - actFireVector(actor, 120, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, aim->dx + r3, aim->dy + r2, aim->dz + r1, kVectorTommyRegular); + actFireVector(actor, 120, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, aim->dx + r3, aim->dy + r2, aim->dz + r1, kVectorTommyRegular); SpawnBulletEject(pPlayer, 140, 45); pPlayer->visibility = 30; break; @@ -1496,7 +1496,7 @@ void FireSpread(int nTrigger, PLAYER* pPlayer) r1 = Random3(300); r2 = Random3(600); r3 = Random3(600); - actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); + actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); r1 = Random2(90); r2 = Random2(30); SpawnBulletEject(pPlayer, r2, r1); @@ -1524,14 +1524,14 @@ void AltFireSpread(int nTrigger, PLAYER* pPlayer) r1 = Random3(300); r2 = Random3(600); r3 = Random3(600); - actFireVector(actor, -120, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); + actFireVector(actor, -120, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); r1 = Random2(45); r2 = Random2(120); SpawnBulletEject(pPlayer, r2, r1); r1 = Random3(300); r2 = Random3(600); r3 = Random3(600); - actFireVector(actor, 120, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); + actFireVector(actor, 120, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); r1 = Random2(-45); r2 = Random2(-120); SpawnBulletEject(pPlayer, r2, r1); @@ -1562,14 +1562,14 @@ void AltFireSpread2(int nTrigger, PLAYER* pPlayer) r1 = Random3(300); r2 = Random3(600); r3 = Random3(600); - actFireVector(actor, -120, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); + actFireVector(actor, -120, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); r1 = Random2(45); r2 = Random2(120); SpawnBulletEject(pPlayer, r2, r1); r1 = Random3(300); r2 = Random3(600); r3 = Random3(600); - actFireVector(actor, 120, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); + actFireVector(actor, 120, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); r1 = Random2(-45); r2 = Random2(-120); SpawnBulletEject(pPlayer, r2, r1); @@ -1583,7 +1583,7 @@ void AltFireSpread2(int nTrigger, PLAYER* pPlayer) r1 = Random3(300); r2 = Random3(600); r3 = Random3(600); - actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); + actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, dx + r3, dy + r2, aim->dz + r1, kVectorTommyAP); r1 = Random2(90); r2 = Random2(30); SpawnBulletEject(pPlayer, r2, r1); @@ -1738,7 +1738,7 @@ void AltFireVoodoo(int nTrigger, PLAYER* pPlayer) if (!targetactor) continue; if (!gGameOptions.bFriendlyFire && IsTargetTeammate(pPlayer, targetactor)) continue; - int nDist = approxDist(targetactor->spr.pos.X - pPlayer->actor->spr.pos.X, targetactor->spr.pos.Y - pPlayer->actor->spr.pos.Y); + int nDist = approxDist(targetactor->int_pos().X - pPlayer->actor->int_pos().X, targetactor->int_pos().Y - pPlayer->actor->int_pos().Y); if (nDist > 0 && nDist < 51200) { int vc = pPlayer->ammoCount[9] >> 3; @@ -1776,7 +1776,7 @@ void AltFireVoodoo(int nTrigger, PLAYER* pPlayer) continue; if (v4 > 0) v4--; - int nDist = approxDist(targetactor->spr.pos.X - pPlayer->actor->spr.pos.X, targetactor->spr.pos.Y - pPlayer->actor->spr.pos.Y); + int nDist = approxDist(targetactor->int_pos().X - pPlayer->actor->int_pos().X, targetactor->int_pos().Y - pPlayer->actor->int_pos().Y); if (nDist > 0 && nDist < 51200) { int vc = pPlayer->ammoCount[9] >> 3; @@ -2030,7 +2030,7 @@ void FireBeast(int, PLAYER* pPlayer) int r1 = Random2(2000); int r2 = Random2(2000); int r3 = Random2(2000); - actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->spr.pos.Z, pPlayer->aim.dx + r1, pPlayer->aim.dy + r2, pPlayer->aim.dz + r3, kVectorBeastSlash); + actFireVector(actor, 0, pPlayer->zWeapon - pPlayer->actor->int_pos().Z, pPlayer->aim.dx + r1, pPlayer->aim.dy + r2, pPlayer->aim.dz + r3, kVectorBeastSlash); } //--------------------------------------------------------------------------- @@ -2992,9 +2992,9 @@ void WeaponProcess(PLAYER* pPlayer) { void teslaHit(DBloodActor* missileactor, int a2) { - int x = missileactor->spr.pos.X; - int y = missileactor->spr.pos.Y; - int z = missileactor->spr.pos.Z; + int x = missileactor->int_pos().X; + int y = missileactor->int_pos().Y; + int z = missileactor->int_pos().Z; int nDist = 300; auto pSector = missileactor->sector(); auto owneractor = missileactor->GetOwner(); @@ -3014,8 +3014,8 @@ void teslaHit(DBloodActor* missileactor, int a2) continue; if (CheckSector(sectorMap, hitactor) && CheckProximity(hitactor, x, y, z, pSector, nDist)) { - int dx = missileactor->spr.pos.X - hitactor->spr.pos.X; - int dy = missileactor->spr.pos.Y - hitactor->spr.pos.Y; + int dx = missileactor->int_pos().X - hitactor->int_pos().X; + int dy = missileactor->int_pos().Y - hitactor->int_pos().Y; int nDamage = ClipLow((nDist - (ksqrt(dx * dx + dy * dy) >> 4) + 20) >> 1, 10); if (hitactor == owneractor) nDamage /= 2; @@ -3032,8 +3032,8 @@ void teslaHit(DBloodActor* missileactor, int a2) { if (!hitactor->xspr.locked) { - int dx = missileactor->spr.pos.X - hitactor->spr.pos.X; - int dy = missileactor->spr.pos.Y - hitactor->spr.pos.Y; + int dx = missileactor->int_pos().X - hitactor->int_pos().X; + int dy = missileactor->int_pos().Y - hitactor->int_pos().Y; int nDamage = ClipLow(nDist - (ksqrt(dx * dx + dy * dy) >> 4) + 20, 20); actDamageSprite(owneractor, hitactor, kDamageTesla, nDamage << 4); }