diff --git a/source/core/coreactor.h b/source/core/coreactor.h index 17e1bee79..6df662343 100644 --- a/source/core/coreactor.h +++ b/source/core/coreactor.h @@ -116,6 +116,10 @@ public: return spr. zvel; } + void set_int_zvel(int v) + { + spr. zvel = v; + } // Same as above but with inverted y and z axes to match the renderer's coordinate system. double interpolatedx(double const smoothratio, int const scale = 16) diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 4adb1ac3b..6f7b5a5bf 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -784,7 +784,7 @@ void movecrane(DDukeActor *actor, int crane) Owner->opos = actor->spr.pos; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } else if (actor->IsActiveCrane()) { @@ -4857,7 +4857,7 @@ void makeitfall(DDukeActor* actor) if (actor->spr.pos.Z >= actor->floorz - FOURSLEIGHT_F) { actor->spr.pos.Z = actor->floorz - FOURSLEIGHT_F; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } } @@ -5114,7 +5114,7 @@ void fall_common(DDukeActor *actor, int playernum, int JIBS6, int DRONE, int BLO actor->attackertype = SHOTSPARK1; actor->hitextra = 1; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } else if (actor->int_zvel() > 2048 && actor->sector()->lotag != 1) { @@ -5129,7 +5129,7 @@ void fall_common(DDukeActor *actor, int playernum, int JIBS6, int DRONE, int BLO } if (actor->sector()->lotag == 1) actor->add_int_z(gs.actorinfo[actor->spr.picnum].falladjustz); - else actor->spr.zvel = 0; + else actor->set_int_zvel(0); } } } diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index 36a0ffa75..2026b4703 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -1605,7 +1605,7 @@ static void weaponcommon_d(DDukeActor* proj) return; } proj->spr.xvel = 0; - proj->spr.zvel = 0; + proj->set_int_zvel(0); } bool fireball = (isWorldTour() && proj->spr.picnum == FIREBALL && (!proj->GetOwner() || proj->GetOwner()->spr.picnum != FIREBALL)); @@ -2349,7 +2349,7 @@ static void greenslime(DDukeActor *actor) if (actor->temp_data[0] == 2) { - actor->spr.zvel = 0; + actor->set_int_zvel(0); actor->spr.cstat &= ~CSTAT_SPRITE_YFLIP; if ((sectp->ceilingstat & CSTAT_SECTOR_SKY) || (actor->ceilingz + 24) < actor->spr.pos.Z) @@ -2388,7 +2388,7 @@ static void greenslime(DDukeActor *actor) if (rnd(4) && (sectp->ceilingstat & CSTAT_SECTOR_SKY) == 0 && fabs(actor->floorz - actor->ceilingz) < 192) { - actor->spr.zvel = 0; + actor->set_int_zvel(0); actor->temp_data[0]++; } @@ -2501,7 +2501,8 @@ static void flamethrowerflame(DDukeActor *actor) } if (coll.type != 0) { - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); if (coll.type == kHitSprite) { fi.checkhitsprite(coll.actor(), actor); @@ -2591,7 +2592,7 @@ static void heavyhbomb(DDukeActor *actor) if (actor->spr.pos.Z < actor->ceilingz) // && sectp->lotag != 2 ) { actor->spr.pos.Z = actor->ceilingz + 3; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } } @@ -3579,13 +3580,13 @@ void move_d(DDukeActor *actor, int playernum, int xvel) if (actor->spr.pos.Z > f - 8) { actor->spr.pos.Z = f - 8; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } if (actor->spr.pos.Z < c + 80) { actor->spr.pos.Z = c + 80; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } } else @@ -3604,7 +3605,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel) if (actor->spr.pos.Z < c + 50) { actor->spr.pos.Z = c + 50; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } } } diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 1946cf4eb..c106b61f3 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -2370,7 +2370,7 @@ static void heavyhbomb(DDukeActor *actor) if (actor->spr.picnum != CHEERBOMB && actor->spr.pos.Z < actor->ceilingz + 16 && sectp->lotag != 2) { actor->spr.pos.Z = actor->ceilingz + 16; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } Collision coll; @@ -3654,7 +3654,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel) if (actor->spr.pos.Z < c + 50) { actor->spr.pos.Z = c + 50; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } } } diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 15e9c3c60..255bd9493 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -1065,7 +1065,7 @@ void shoot_d(DDukeActor* actor, int atwith) k->spr.pos = spos; k->spr.angle = sang; k->spr.xvel = 500; - k->spr.zvel = 0; + k->set_int_zvel(0); } return; } diff --git a/source/games/duke/src/spawn_d.cpp b/source/games/duke/src/spawn_d.cpp index 495b53aa4..8a96260ed 100644 --- a/source/games/duke/src/spawn_d.cpp +++ b/source/games/duke/src/spawn_d.cpp @@ -900,7 +900,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* } if (act->spr.picnum == ROTATEGUN) - act->spr.zvel = 0; + act->set_int_zvel(0); break; diff --git a/source/games/duke/src/spawn_r.cpp b/source/games/duke/src/spawn_r.cpp index 47673cd3c..2c5cf92c9 100644 --- a/source/games/duke/src/spawn_r.cpp +++ b/source/games/duke/src/spawn_r.cpp @@ -1160,7 +1160,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* } else { - act->spr.zvel = 0; + act->set_int_zvel(0); } ssp(act, CLIPMASK0); act->spr.cstat = randomXFlip(); diff --git a/source/games/exhumed/src/anims.cpp b/source/games/exhumed/src/anims.cpp index 838e2cae6..f8b01683c 100644 --- a/source/games/exhumed/src/anims.cpp +++ b/source/games/exhumed/src/anims.cpp @@ -88,7 +88,7 @@ DExhumedActor* BuildAnim(DExhumedActor* pActor, int val, int val2, const DVector pActor->spr.yoffset = 0; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->backuppos(); // CHECKME - where is hitag set otherwise? diff --git a/source/games/exhumed/src/anubis.cpp b/source/games/exhumed/src/anubis.cpp index f60ae27ce..740f3c31f 100644 --- a/source/games/exhumed/src/anubis.cpp +++ b/source/games/exhumed/src/anubis.cpp @@ -70,7 +70,7 @@ void BuildAnubis(DExhumedActor* ap, const DVector3& pos, sectortype* pSector, in ap->spr.yrepeat = 40; ap->spr.xvel = 0; ap->spr.yvel = 0; - ap->spr.zvel = 0; + ap->set_int_zvel(0); ap->spr.hitag = 0; ap->spr.lotag = runlist_HeadRun() + 1; ap->spr.extra = -1; @@ -415,7 +415,7 @@ void AIAnubis::Damage(RunListEvent* ev) // he ded. ap->spr.xvel = 0; ap->spr.yvel = 0; - ap->spr.zvel = 0; + ap->set_int_zvel(0); ap->spr.pos.Z = ap->sector()->floorz; ap->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; diff --git a/source/games/exhumed/src/bullet.cpp b/source/games/exhumed/src/bullet.cpp index 4056a7085..472c7ed95 100644 --- a/source/games/exhumed/src/bullet.cpp +++ b/source/games/exhumed/src/bullet.cpp @@ -620,7 +620,7 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n pBulletActor->set_int_ang(nAngle); pBulletActor->spr.xvel = 0; pBulletActor->spr.yvel = 0; - pBulletActor->spr.zvel = 0; + pBulletActor->set_int_zvel(0); pBulletActor->spr.lotag = runlist_HeadRun() + 1; pBulletActor->spr.extra = -1; pBulletActor->spr.hitag = 0; diff --git a/source/games/exhumed/src/fish.cpp b/source/games/exhumed/src/fish.cpp index 6922bc448..7a47c04bc 100644 --- a/source/games/exhumed/src/fish.cpp +++ b/source/games/exhumed/src/fish.cpp @@ -106,7 +106,7 @@ void AIFishLimb::Tick(RunListEvent* ev) if ((pActor->spr.pos.Z - FloorZ) > 100) { - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); runlist_DoSubRunRec(pActor->spr.intowner); runlist_FreeRun(pActor->spr.lotag - 1); runlist_SubRunRec(pActor->spr.hitag); @@ -162,7 +162,7 @@ void BuildFish(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, pActor->spr.picnum = seq_GetSeqPicnum(kSeqFish, FishSeq[0].a, 0); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->set_int_ang(nAngle); pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.hitag = 0; diff --git a/source/games/exhumed/src/grenade.cpp b/source/games/exhumed/src/grenade.cpp index 3a5c520c2..0d2929fd1 100644 --- a/source/games/exhumed/src/grenade.cpp +++ b/source/games/exhumed/src/grenade.cpp @@ -116,7 +116,7 @@ void BuildGrenade(int nPlayer) pActor->spr.intowner = nPlayer; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.hitag = 0; pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.extra = -1; @@ -306,7 +306,7 @@ void AIGrenade::Tick(RunListEvent* ev) D3PlayFX(StaticSound[kSound5], pActor); pActor->nCount = 0; pActor->nHealth = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->nIndex = 1; } } diff --git a/source/games/exhumed/src/items.cpp b/source/games/exhumed/src/items.cpp index db5fee32f..6ce2c90b5 100644 --- a/source/games/exhumed/src/items.cpp +++ b/source/games/exhumed/src/items.cpp @@ -416,7 +416,7 @@ void DoRegenerates() } } - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.yrepeat = (uint8_t)pActor->spr.xvel; pActor->spr.xrepeat = (uint8_t)pActor->spr.xvel; pActor->spr.pal = (uint8_t)pActor->spr.yvel; diff --git a/source/games/exhumed/src/lavadude.cpp b/source/games/exhumed/src/lavadude.cpp index d8f850c38..c46fcfb13 100644 --- a/source/games/exhumed/src/lavadude.cpp +++ b/source/games/exhumed/src/lavadude.cpp @@ -79,7 +79,7 @@ void AILavaDudeLimb::Tick(RunListEvent* ev) { pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); runlist_DoSubRunRec(pActor->spr.intowner); runlist_FreeRun(pActor->spr.lotag - 1); @@ -124,7 +124,7 @@ void BuildLava(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, pActor->spr.picnum = seq_GetSeqPicnum(kSeqLavag, LavadudeSeq[3].a, 0); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->set_int_ang(nAngle); pActor->spr.hitag = 0; pActor->spr.lotag = runlist_HeadRun() + 1; diff --git a/source/games/exhumed/src/lion.cpp b/source/games/exhumed/src/lion.cpp index 2785e9f52..4044b455e 100644 --- a/source/games/exhumed/src/lion.cpp +++ b/source/games/exhumed/src/lion.cpp @@ -67,7 +67,7 @@ void BuildLion(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, pActor->set_int_ang(nAngle); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.hitag = 0; pActor->spr.extra = -1; @@ -121,7 +121,7 @@ void AILion::Damage(RunListEvent* ev) // R.I.P. pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; pActor->nHealth = 0; diff --git a/source/games/exhumed/src/move.cpp b/source/games/exhumed/src/move.cpp index 400e9fd88..4a383d848 100644 --- a/source/games/exhumed/src/move.cpp +++ b/source/games/exhumed/src/move.cpp @@ -295,7 +295,7 @@ int BelowNear(DExhumedActor* pActor, double walldist) { pActor->set_int_z(z2); overridesect = pSector; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); bTouchFloor = true; @@ -412,7 +412,7 @@ Collision movespritez(DExhumedActor* pActor, int z, int height, int, int clipdis nRet = loHit; } - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); } } else @@ -438,7 +438,7 @@ Collision movespritez(DExhumedActor* pActor, int z, int height, int, int clipdis } } - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); } } } @@ -589,14 +589,14 @@ void Gravity(DExhumedActor* pActor) { pActor->spr.zvel -= 64; if (pActor->int_zvel() < 0) { - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); } } else if (pActor->int_zvel() < 0) { pActor->spr.zvel += 64; if (pActor->int_zvel() > 0) { - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); } } } @@ -1111,7 +1111,7 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int if (pActor2 == nullptr) { - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); nAngle = pActor->int_ang(); } else @@ -1361,7 +1361,7 @@ void AICreatureChunk::Tick(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.pos.Z = pSector->floorz; } else diff --git a/source/games/exhumed/src/mummy.cpp b/source/games/exhumed/src/mummy.cpp index 989669260..2157beac9 100644 --- a/source/games/exhumed/src/mummy.cpp +++ b/source/games/exhumed/src/mummy.cpp @@ -55,7 +55,7 @@ void BuildMummy(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, pActor->spr.clipdist = 32; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.xrepeat = 42; pActor->spr.yrepeat = 42; pActor->spr.pal = pActor->sector()->ceilingpal; @@ -442,7 +442,7 @@ void AIMummy::Damage(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.pos.Z = pActor->sector()->floorz; } else diff --git a/source/games/exhumed/src/object.cpp b/source/games/exhumed/src/object.cpp index fcbfa7e89..6b8c3027a 100644 --- a/source/games/exhumed/src/object.cpp +++ b/source/games/exhumed/src/object.cpp @@ -1204,7 +1204,7 @@ int BuildTrap(DExhumedActor* pActor, int edx, int ebx, int ecx) pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.extra = -1; pActor->spr.lotag = runlist_HeadRun() + 1; @@ -1448,7 +1448,7 @@ void AISpark::Tick(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); if (pActor->spr.picnum > kTile3000) { nSmokeSparks--; @@ -1585,7 +1585,7 @@ DExhumedActor* BuildEnergyBlock(sectortype* pSector) pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.extra = -1; pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.hitag = 0; @@ -1786,7 +1786,7 @@ DExhumedActor* BuildObject(DExhumedActor* pActor, int nOjectType, int nHitag) pActor->spr.cstat = (pActor->spr.cstat | CSTAT_SPRITE_BLOCK_ALL) & ~(CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_INVISIBLE); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.extra = -1; pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.hitag = 0; @@ -2033,7 +2033,7 @@ void AIObject::RadialDamage(RunListEvent* ev) { pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); } else if (pActor->spr.statnum != kStatAnubisDrum) { diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index 21830edf5..c44fb72b1 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -302,7 +302,7 @@ void RestartPlayer(int nPlayer) int nHeight = GetActorHeight(pActor); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); nStandHeight = nHeight; @@ -925,7 +925,7 @@ void AIPlayer::Tick(RunListEvent* ev) pPlayerActor->spr.xvel = 0; pPlayerActor->spr.yvel = 0; - pPlayerActor->spr.zvel = 0; + pPlayerActor->set_int_zvel(0); if (nFreeze < 1) { diff --git a/source/games/exhumed/src/queen.cpp b/source/games/exhumed/src/queen.cpp index e02411900..4bbafe0db 100644 --- a/source/games/exhumed/src/queen.cpp +++ b/source/games/exhumed/src/queen.cpp @@ -290,7 +290,7 @@ Collision QueenAngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int val if (pActor2 == nullptr) { - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); nAngle = pActor->int_ang(); } else @@ -622,7 +622,7 @@ void AIQueenEgg::Tick(RunListEvent* ev) pActor->spr.zvel = -(pActor->spr.zvel - 256); if (pActor->int_zvel() < -512) { - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); } } @@ -802,7 +802,7 @@ void AIQueenHead::Tick(RunListEvent* ev) if (pActor->int_zvel() > -256) { nVelShift = 100; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); } } @@ -1100,7 +1100,7 @@ void BuildQueen(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, pActor->set_int_ang(nAngle); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.extra = -1; pActor->spr.hitag = 0; @@ -1421,7 +1421,7 @@ void AIQueen::Damage(RunListEvent* ev) { pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); QueenList[nQueen].nAction2++; diff --git a/source/games/exhumed/src/ra.cpp b/source/games/exhumed/src/ra.cpp index 1d766f0f6..2c6bcb676 100644 --- a/source/games/exhumed/src/ra.cpp +++ b/source/games/exhumed/src/ra.cpp @@ -92,7 +92,7 @@ void BuildRa(int nPlayer) pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.extra = -1; pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.hitag = 0; diff --git a/source/games/exhumed/src/rat.cpp b/source/games/exhumed/src/rat.cpp index fef45e96d..1ad08fc6c 100644 --- a/source/games/exhumed/src/rat.cpp +++ b/source/games/exhumed/src/rat.cpp @@ -99,7 +99,7 @@ void BuildRat(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i pActor->spr.yrepeat = 50; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.hitag = 0; pActor->spr.extra = -1; diff --git a/source/games/exhumed/src/rex.cpp b/source/games/exhumed/src/rex.cpp index 4543de956..bc3f2795b 100644 --- a/source/games/exhumed/src/rex.cpp +++ b/source/games/exhumed/src/rex.cpp @@ -63,7 +63,7 @@ void BuildRex(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i pActor->set_int_ang(nAngle); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.extra = -1; pActor->spr.hitag = 0; @@ -124,7 +124,7 @@ void AIRex::Damage(RunListEvent* ev) { pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; pActor->nHealth = 0; diff --git a/source/games/exhumed/src/roach.cpp b/source/games/exhumed/src/roach.cpp index fdff70c0d..658204659 100644 --- a/source/games/exhumed/src/roach.cpp +++ b/source/games/exhumed/src/roach.cpp @@ -61,7 +61,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, const DVector3& pos, sectortyp pActor->spr.yrepeat = 40; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.hitag = 0; pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.extra = -1; @@ -132,7 +132,7 @@ void AIRoach::Damage(RunListEvent* ev) { pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; pActor->nHealth = 0; diff --git a/source/games/exhumed/src/scorp.cpp b/source/games/exhumed/src/scorp.cpp index c5c97721a..cb3459efe 100644 --- a/source/games/exhumed/src/scorp.cpp +++ b/source/games/exhumed/src/scorp.cpp @@ -64,7 +64,7 @@ void BuildScorp(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, pActor->set_int_ang(nAngle); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.extra = -1; pActor->spr.hitag = 0; @@ -129,7 +129,7 @@ void AIScorp::Damage(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; nCreaturesKilled++; diff --git a/source/games/exhumed/src/set.cpp b/source/games/exhumed/src/set.cpp index 9a36b1d39..94abb74d3 100644 --- a/source/games/exhumed/src/set.cpp +++ b/source/games/exhumed/src/set.cpp @@ -58,7 +58,7 @@ void BuildSet(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector, i pActor->spr.clipdist = 110; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.xrepeat = 87; pActor->spr.yrepeat = 96; pActor->spr.pal = pActor->sector()->ceilingpal; @@ -187,7 +187,7 @@ void AISet::Damage(RunListEvent* ev) { pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; pActor->nHealth = 0; diff --git a/source/games/exhumed/src/snake.cpp b/source/games/exhumed/src/snake.cpp index fb9a86fd5..99a2fbe28 100644 --- a/source/games/exhumed/src/snake.cpp +++ b/source/games/exhumed/src/snake.cpp @@ -217,7 +217,7 @@ void BuildSnake(int nPlayer, int zVal) pActor->spr.angle = pPlayerActor->spr.angle; pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.hitag = 0; pActor->spr.extra = -1; pActor->spr.lotag = runlist_HeadRun() + 1; diff --git a/source/games/exhumed/src/spider.cpp b/source/games/exhumed/src/spider.cpp index 4ba6f414d..96bc3db86 100644 --- a/source/games/exhumed/src/spider.cpp +++ b/source/games/exhumed/src/spider.cpp @@ -56,7 +56,7 @@ DExhumedActor* BuildSpider(DExhumedActor* spp, const DVector3& pos, sectortype* spp->spr.clipdist = 15; spp->spr.xvel = 0; spp->spr.yvel = 0; - spp->spr.zvel = 0; + spp->set_int_zvel(0); spp->spr.xrepeat = 40; spp->spr.yrepeat = 40; spp->spr.pal = spp->sector()->ceilingpal; @@ -174,7 +174,7 @@ void AISpider::Tick(RunListEvent* ev) if (spp->spr.cstat & CSTAT_SPRITE_YFLIP) { - spp->spr.zvel = 0; + spp->set_int_zvel(0); spp->spr.pos.Z = pSector->ceilingz + (tileHeight(spp->spr.picnum) / 8.); // was << 5 in Build coordinates if (pSector->ceilingstat & CSTAT_SECTOR_SKY) @@ -287,7 +287,7 @@ void AISpider::Tick(RunListEvent* ev) { spp->spr.cstat |= CSTAT_SPRITE_YFLIP; spp->spr.pos.Z = spp->sector()->ceilingz + GetActorHeightF(spp); - spp->spr.zvel = 0; + spp->set_int_zvel(0); spp->nAction = 1; spp->nFrame = 0; diff --git a/source/games/exhumed/src/wasp.cpp b/source/games/exhumed/src/wasp.cpp index dadc844b5..fda6fcd5c 100644 --- a/source/games/exhumed/src/wasp.cpp +++ b/source/games/exhumed/src/wasp.cpp @@ -76,7 +76,7 @@ DExhumedActor* BuildWasp(DExhumedActor* pActor, const DVector3& pos, sectortype* pActor->set_int_ang(nAngle); pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->spr.hitag = 0; pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.extra = -1; @@ -242,7 +242,7 @@ void AIWasp::Tick(RunListEvent* ev) } else { - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->nAction = 1; pActor->nFrame = 0; pActor->nVel = 1500; @@ -344,7 +344,7 @@ void AIWasp::Tick(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.zvel = 0; + pActor->set_int_zvel(0); pActor->nAction = 6; pActor->nFrame = 0; runlist_SubRunRec(pActor->nRun); diff --git a/source/games/sw/src/jweapon.cpp b/source/games/sw/src/jweapon.cpp index b5750d39b..cc13ecac8 100644 --- a/source/games/sw/src/jweapon.cpp +++ b/source/games/sw/src/jweapon.cpp @@ -1336,7 +1336,8 @@ int InitChemBomb(DSWActor* actor) if (actor->user.ID == MUSHROOM_CLOUD || actor->user.ID == 3121 || actor->user.ID == SUMO_RUN_R0) // 3121 == GRENADE_EXP { actor->user.change.Zero(); - actorNew->spr.xvel = actorNew->spr.yvel = actorNew->spr.zvel = 0; + actorNew->spr.xvel = actorNew->spr.yvel = 0; + actorNew->set_int_zvel(0); // Smoke will come out for this many seconds actorNew->user.WaitTics = 40*120; } diff --git a/source/games/sw/src/miscactr.cpp b/source/games/sw/src/miscactr.cpp index efc62f86b..e4ac3988f 100644 --- a/source/games/sw/src/miscactr.cpp +++ b/source/games/sw/src/miscactr.cpp @@ -131,7 +131,8 @@ int SetupToiletGirl(DSWActor* actor) actor->spr.xrepeat = 38; actor->spr.yrepeat = 32; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = TOILETGIRL_R0; actor->user.FlagOwner = 0; actor->user.ID = TOILETGIRL_R0; @@ -189,7 +190,8 @@ int DoToiletGirl(DSWActor* actor) // take damage from environment DoActorSectorDamage(actor); - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); return 0; } @@ -351,7 +353,8 @@ int SetupWashGirl(DSWActor* actor) actor->spr.xrepeat = 28; actor->spr.yrepeat = 24; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = WASHGIRL_R0; actor->user.FlagOwner = 0; actor->user.ID = WASHGIRL_R0; @@ -418,7 +421,8 @@ int DoWashGirl(DSWActor* actor) // take damage from environment DoActorSectorDamage(actor); - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); return 0; } @@ -545,7 +549,8 @@ int SetupTrashCan(DSWActor* actor) actor->spr.xrepeat = 46; actor->spr.yrepeat = 42; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->user.ID = TRASHCAN; actor->user.Flags &= ~(SPR_XFLIP_TOGGLE); @@ -565,7 +570,8 @@ int DoTrashCan(DSWActor* actor) KeepActorOnFloor(actor); } - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); return 0; } @@ -636,7 +642,8 @@ int SetupPachinkoLight(DSWActor* actor) actor->user.RotNum = 0; actor->user.ID = PACHINKOLIGHT_R0; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = TAG_PACHINKOLIGHT; actor->spr.shade = -2; actor->user.spal = actor->spr.pal; @@ -726,7 +733,8 @@ int SetupPachinko1(DSWActor* actor) actor->user.RotNum = 0; actor->user.ID = PACHINKO1; - actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = PACHINKO1; actor->user.Flags &= ~(SPR_XFLIP_TOGGLE); @@ -878,7 +886,8 @@ int SetupPachinko2(DSWActor* actor) actor->user.RotNum = 0; actor->user.ID = PACHINKO2; - actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = PACHINKO2; actor->user.Flags &= ~(SPR_XFLIP_TOGGLE); @@ -954,7 +963,8 @@ int SetupPachinko3(DSWActor* actor) actor->user.RotNum = 0; actor->user.ID = PACHINKO3; - actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = PACHINKO3; actor->user.Flags &= ~(SPR_XFLIP_TOGGLE); @@ -1031,7 +1041,7 @@ int SetupPachinko4(DSWActor* actor) actor->user.RotNum = 0; actor->user.ID = PACHINKO4; - actor->spr.yvel = actor->spr.zvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = PACHINKO4; actor->user.Flags &= ~(SPR_XFLIP_TOGGLE); @@ -1138,7 +1148,8 @@ int SetupCarGirl(DSWActor* actor) actor->spr.xrepeat = 29; actor->spr.yrepeat = 25; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = CARGIRL_R0; actor->user.FlagOwner = 0; actor->user.ID = CARGIRL_R0; @@ -1188,7 +1199,8 @@ int DoCarGirl(DSWActor* actor) // take damage from environment DoActorSectorDamage(actor); - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); return 0; } @@ -1339,7 +1351,8 @@ int SetupMechanicGirl(DSWActor* actor) actor->spr.xrepeat = 27; actor->spr.yrepeat = 26; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = MECHANICGIRL_R0; actor->user.FlagOwner = 0; actor->user.ID = MECHANICGIRL_R0; @@ -1388,7 +1401,8 @@ int DoMechanicGirl(DSWActor* actor) // take damage from environment DoActorSectorDamage(actor); - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); return 0; } @@ -1539,7 +1553,8 @@ int SetupSailorGirl(DSWActor* actor) actor->spr.xrepeat = 28; actor->spr.yrepeat = 26; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = SAILORGIRL_R0; actor->user.FlagOwner = 0; actor->user.ID = SAILORGIRL_R0; @@ -1593,7 +1608,8 @@ int DoSailorGirl(DSWActor* actor) // take damage from environment DoActorSectorDamage(actor); - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); return 0; } @@ -1733,7 +1749,8 @@ int SetupPruneGirl(DSWActor* actor) actor->spr.xrepeat = 33; actor->spr.yrepeat = 28; - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); actor->spr.lotag = PRUNEGIRL_R0; actor->user.FlagOwner = 0; actor->user.ID = PRUNEGIRL_R0; @@ -1798,7 +1815,8 @@ int DoPruneGirl(DSWActor* actor) // take damage from environment DoActorSectorDamage(actor); - actor->spr.xvel = actor->spr.yvel = actor->spr.zvel = 0; + actor->spr.xvel = actor->spr.yvel = 0; + actor->set_int_zvel(0); return 0; } diff --git a/source/games/sw/src/track.cpp b/source/games/sw/src/track.cpp index ede152c28..15fea3a4b 100644 --- a/source/games/sw/src/track.cpp +++ b/source/games/sw/src/track.cpp @@ -3250,7 +3250,7 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) { actor->user.Flags &= ~(SPR_ZDIFF_MODE); actor->spr.pos.Z = actor->sector()->floorz; - actor->spr.zvel = 0; + actor->set_int_zvel(0); } else { @@ -3468,7 +3468,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics) { actor->user.Flags &= ~(SPR_CLIMBING); - actor->spr.zvel = 0; + actor->set_int_zvel(0); actor->spr.angle = VecToAngle(tpoint->pos - actor->spr.pos); diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index 5bc1b81cb..f4b0a7790 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -10849,7 +10849,7 @@ int DoMirv(DSWActor* actor) actorNew->spr.xrepeat = 40; actorNew->spr.yrepeat = 40; actorNew->spr.clipdist = 32L >> 2; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); actorNew->user.ceiling_dist = (16); @@ -11066,7 +11066,7 @@ void InitSpellRing(PLAYER* pp) actorNew->spr.shade = -40; actorNew->spr.xrepeat = 32; actorNew->spr.yrepeat = 32; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->user.pos.Z = 20; actorNew->user.Dist = RING_INNER_DIST; @@ -11226,7 +11226,7 @@ int InitLavaThrow(DSWActor* actor) actorNew->spr.yrepeat = 72; actorNew->spr.xrepeat = 72; actorNew->spr.shade = -15; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.angle = actor->spr.angle; if (RANDOM_P2(1024) > 512) @@ -13800,7 +13800,7 @@ int InitSerpSpell(DSWActor* actor) actorNew->spr.xrepeat = 64; actorNew->spr.yrepeat = 64; actorNew->spr.clipdist = 32L >> 2; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); actorNew->user.ceiling_dist = (16); @@ -13891,7 +13891,7 @@ int InitSerpMonstSpell(DSWActor* actor) actorNew->spr.xrepeat = 122; actorNew->spr.yrepeat = 116; actorNew->spr.clipdist = 32L >> 2; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); actorNew->user.ceiling_dist = (16); @@ -13957,7 +13957,7 @@ int InitEnemyRocket(DSWActor* actor) actorNew->spr.yrepeat = 28; actorNew->spr.xrepeat = 28; actorNew->spr.shade = -15; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.angle = actor->spr.angle; actorNew->spr.clipdist = 64L>>2; @@ -14026,7 +14026,7 @@ int InitEnemyRail(DSWActor* actor) actorNew->spr.yrepeat = 52; actorNew->spr.xrepeat = 52; actorNew->spr.shade = -15; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->user.RotNum = 5; NewStateGroup(actorNew, &sg_Rail[0]); @@ -14085,7 +14085,7 @@ int InitZillaRocket(DSWActor* actor) actorNew->spr.yrepeat = 28; actorNew->spr.xrepeat = 28; actorNew->spr.shade = -15; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.angle = actor->spr.angle; actorNew->spr.clipdist = 64 >>2; @@ -14136,7 +14136,7 @@ int InitEnemyStar(DSWActor* actor) actorNew->spr.yrepeat = 16; actorNew->spr.xrepeat = 16; actorNew->spr.shade = -25; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.angle = actor->spr.angle; actorNew->spr.clipdist = 64L>>2; @@ -14166,7 +14166,7 @@ int InitEnemyCrossbow(DSWActor* actor) actorNew->spr.xrepeat = 16; actorNew->spr.yrepeat = 26; actorNew->spr.shade = -25; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.angle = actor->spr.angle; actorNew->spr.clipdist = 64>>2; @@ -14203,7 +14203,7 @@ int InitSkelSpell(DSWActor* actor) actorNew->spr.xrepeat -= 20; actorNew->spr.yrepeat -= 20; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.angle = actor->spr.angle; actorNew->spr.clipdist = 64L>>2; actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); @@ -14238,7 +14238,7 @@ int InitCoolgFire(DSWActor* actor) actorNew->spr.yrepeat = 18; actorNew->spr.xrepeat = 18; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.angle = actor->spr.angle; actorNew->spr.clipdist = 32>>2; actorNew->user.ceiling_dist = (4); @@ -14286,7 +14286,7 @@ int InitCoolgDrip(DSWActor* actor) SetOwner(actor, actorNew); actorNew->spr.yrepeat = actorNew->spr.xrepeat = 20; actorNew->spr.shade = -5; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 16L>>2; actorNew->user.ceiling_dist = (4); actorNew->user.floor_dist = (4); @@ -14319,7 +14319,7 @@ int GenerateDrips(DSWActor* actor) SetOwner(actor, actorNew); actorNew->spr.yrepeat = actorNew->spr.xrepeat = 20; actorNew->spr.shade = -10; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 16L>>2; actorNew->user.ceiling_dist = (4); actorNew->user.floor_dist = (4); @@ -14381,7 +14381,7 @@ void InitFireballTrap(DSWActor* actor) actorNew->spr.yrepeat -= 20; actorNew->spr.shade = -40; actorNew->spr.clipdist = 32>>2; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); actorNew->user.WeaponNum = WPN_HOTHEAD; @@ -14401,7 +14401,7 @@ void InitBoltTrap(DSWActor* actor) actorNew->spr.yrepeat = 32; actorNew->spr.xrepeat = 32; actorNew->spr.shade = -15; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); actorNew->user.RotNum = 5; @@ -14469,7 +14469,7 @@ int InitTracerUzi(PLAYER* pp) actorNew->spr.yrepeat = 10; actorNew->spr.xrepeat = 10; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); //actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9; actorNew->spr.clipdist = 32 >> 2; @@ -14529,7 +14529,7 @@ int InitTracerTurret(DSWActor* actor, DSWActor* Operator, fixed_t q16horiz) actorNew->spr.yrepeat = 10; actorNew->spr.xrepeat = 10; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 8 >> 2; actorNew->user.WeaponNum = actor->user.WeaponNum; @@ -14565,7 +14565,7 @@ int InitTracerAutoTurret(DSWActor* actor, int xchange, int ychange, int zchange) actorNew->spr.yrepeat = 10; actorNew->spr.xrepeat = 10; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 8 >> 2; actorNew->user.WeaponNum = actor->user.WeaponNum; @@ -14913,7 +14913,7 @@ int InitTankShell(DSWActor* actor, PLAYER* pp) actorNew->spr.yrepeat = 8; actorNew->spr.xrepeat = 8; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 32 >> 2; actorNew->user.WeaponNum = actor->user.WeaponNum; @@ -15046,7 +15046,7 @@ int InitTurretRocket(DSWActor* actor, PLAYER* pp) actorNew->spr.yrepeat = 40; actorNew->spr.xrepeat = 40; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 32 >> 2; actorNew->user.WeaponNum = actor->user.WeaponNum; @@ -15080,7 +15080,7 @@ int InitTurretFireball(DSWActor* actor, PLAYER* pp) actorNew->spr.yrepeat = 40; actorNew->spr.xrepeat = 40; actorNew->spr.shade = -40; - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 32 >> 2; actorNew->user.WeaponNum = actor->user.WeaponNum; @@ -16207,7 +16207,7 @@ int InitEnemyFireball(DSWActor* actor) actorNew->spr.shade = -40; SetOwner(actor, actorNew); - actorNew->spr.zvel = 0; + actorNew->set_int_zvel(0); actorNew->spr.clipdist = 16>>2; actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() + lat_ang[i]));