From 87894a564064e02390c54b5bde0b0054a27d2a76 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 23 Dec 2021 10:49:15 +0100 Subject: [PATCH] - deleted PLAYER::pSprite. --- source/games/blood/src/player.cpp | 4 +--- source/games/blood/src/player.h | 1 - source/games/blood/src/triggers.cpp | 8 ++++---- source/games/blood/src/view.cpp | 6 +++--- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/source/games/blood/src/player.cpp b/source/games/blood/src/player.cpp index 56260869c..a06dc1025 100644 --- a/source/games/blood/src/player.cpp +++ b/source/games/blood/src/player.cpp @@ -660,7 +660,6 @@ void playerStart(int nPlayer, int bNewLevel) auto actor = actSpawnSprite(pStartZone->sector, pStartZone->x, pStartZone->y, pStartZone->z, 6, 1); assert(actor->hasX()); XSPRITE *pXSprite = &actor->x(); - pPlayer->pSprite = &actor->spr; pPlayer->pXSprite = pXSprite; pPlayer->actor = actor; DUDEINFO *pDudeInfo = &dudeInfo[kDudePlayer1 + nPlayer - kDudeBase]; @@ -2360,9 +2359,8 @@ void SerializePlayers(FSerializer& arc) { for (int i = 0; i < gNetPlayers; i++) { - gPlayer[i].pSprite = &gPlayer[i].actor->s(); gPlayer[i].pXSprite = &gPlayer[i].actor->x(); - gPlayer[i].pDudeInfo = &dudeInfo[gPlayer[i].pSprite->type - kDudeBase]; + gPlayer[i].pDudeInfo = &dudeInfo[gPlayer[i].actor->spr.type - kDudeBase]; #ifdef NOONE_EXTENSIONS // load qav scene diff --git a/source/games/blood/src/player.h b/source/games/blood/src/player.h index e8f279274..d4126e53c 100644 --- a/source/games/blood/src/player.h +++ b/source/games/blood/src/player.h @@ -81,7 +81,6 @@ extern POSTURE gPostureDefaults[kModeMax][kPostureMax]; struct PLAYER { TObjPtr actor; - spritetype* pSprite; XSPRITE* pXSprite; DUDEINFO* pDudeInfo; InputPacket input; diff --git a/source/games/blood/src/triggers.cpp b/source/games/blood/src/triggers.cpp index ab90857b9..55b3db66f 100644 --- a/source/games/blood/src/triggers.cpp +++ b/source/games/blood/src/triggers.cpp @@ -471,10 +471,10 @@ void OperateSprite(DBloodActor* actor, EVENT event) pXSprite->isTriggered = 1; SetSpriteState(actor, 1); for (int p = connecthead; p >= 0; p = connectpoint2[p]) { - spritetype *pPlayerSprite = gPlayer[p].pSprite; - int dx = (actor->spr.pos.X - pPlayerSprite->pos.X)>>4; - int dy = (actor->spr.pos.Y - pPlayerSprite->pos.Y)>>4; - int dz = (actor->spr.pos.Z - pPlayerSprite->pos.Z)>>8; + auto vec = actor->spr.pos - gPlayer[p].actor->spr.pos; + int dx = (vec.X)>>4; + int dy = (vec.Y)>>4; + int dz = (vec.Z)>>8; int nDist = dx*dx+dy*dy+dz*dz+0x40000; gPlayer[p].quakeEffect = DivScale(pXSprite->data1, nDist, 16); } diff --git a/source/games/blood/src/view.cpp b/source/games/blood/src/view.cpp index f54b0877f..cb779ac06 100644 --- a/source/games/blood/src/view.cpp +++ b/source/games/blood/src/view.cpp @@ -475,7 +475,7 @@ void SetupView(int &cX, int& cY, int& cZ, binangle& cA, fixedhoriz& cH, sectorty } else { - calcChaseCamPos((int*)&cX, (int*)&cY, (int*)&cZ, gView->pSprite, &pSector, cA, cH, gInterpolate); + calcChaseCamPos((int*)&cX, (int*)&cY, (int*)&cZ, &gView->actor->spr, &pSector, cA, cH, gInterpolate); } CheckLink((int*)&cX, (int*)&cY, (int*)&cZ, &pSector); } @@ -526,7 +526,7 @@ void renderCrystalBall() vd4 += QRandom2(nValue >> 4); vd0 += QRandom2(nValue); } - CalcOtherPosition(pOther->pSprite, &vd8, &vd4, &vd0, &vcc, v50, 0, (int)gInterpolate); + CalcOtherPosition(pOther->actor, &vd8, &vd4, &vd0, &vcc, v50, 0, (int)gInterpolate); CheckLink(&vd8, &vd4, &vd0, &vcc); uint8_t v14 = 0; if (IsUnderwaterSector(vcc)) @@ -711,7 +711,7 @@ void viewDrawScreen(bool sceneonly) UpdateDacs(0, true); // keep the view palette active only for the actual 3D view and its overlays. if (automapMode != am_off) { - DrawMap (gView->pSprite); + DrawMap (&gView->actor->spr); } UpdateStatusBar(); int zn = ((gView->zWeapon-gView->zView-(12<<8))>>7)+220;