mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-20 18:52:43 +00:00
- set_int_zvel
This commit is contained in:
parent
81fc066a5e
commit
6ddfd8e97a
33 changed files with 172 additions and 184 deletions
|
@ -1285,7 +1285,7 @@ void bounce(DDukeActor* actor)
|
|||
zvect -= MulScale(daz, k, 16);
|
||||
}
|
||||
|
||||
actor->spr.zvel = zvect;
|
||||
actor->set_int_zvel(zvect);
|
||||
actor->spr.xvel = ksqrt(DMulScale(xvect, xvect, yvect, yvect, 8));
|
||||
actor->spr.angle = VecToAngle(xvect, yvect);
|
||||
}
|
||||
|
@ -1558,7 +1558,7 @@ void forcesphere(DDukeActor* actor, int forcesphere)
|
|||
k->spr.cstat = CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_YCENTER;
|
||||
k->spr.clipdist = 64;
|
||||
k->set_int_ang(j);
|
||||
k->spr.zvel = bsin(l, -5);
|
||||
k->set_int_zvel(bsin(l, -5));
|
||||
k->spr.xvel = bcos(l, -9);
|
||||
k->SetOwner(actor);
|
||||
}
|
||||
|
@ -2214,7 +2214,7 @@ bool jibs(DDukeActor *actor, int JIBS6, bool timeout, bool callsetsprite, bool f
|
|||
{
|
||||
if (actor->int_zvel() < 1024)
|
||||
actor->spr.zvel += 48;
|
||||
else actor->spr.zvel = 1024;
|
||||
else actor->set_int_zvel(1024);
|
||||
}
|
||||
else actor->spr.zvel += gs.gravity - 50;
|
||||
}
|
||||
|
@ -2418,7 +2418,7 @@ void glasspieces(DDukeActor* actor)
|
|||
|
||||
makeitfall(actor);
|
||||
|
||||
if (actor->int_zvel() > 4096) actor->spr.zvel = 4096;
|
||||
if (actor->int_zvel() > 4096) actor->set_int_zvel(4096);
|
||||
if (!actor->insector())
|
||||
{
|
||||
deletesprite(actor);
|
||||
|
@ -2427,7 +2427,7 @@ void glasspieces(DDukeActor* actor)
|
|||
|
||||
if (actor->spr.pos.Z == actor->floorz - FOURSLEIGHT_F && actor->temp_data[0] < 3)
|
||||
{
|
||||
actor->spr.zvel = -((3 - actor->temp_data[0]) << 8) - (krand() & 511);
|
||||
actor->set_int_zvel(-((3 - actor->temp_data[0]) << 8) - (krand() & 511));
|
||||
if (sectp->lotag == 2)
|
||||
actor->spr.zvel >>= 1;
|
||||
actor->spr.xrepeat >>= 1;
|
||||
|
@ -3316,7 +3316,7 @@ void handle_se05(DDukeActor* actor, int FIRELASER)
|
|||
|
||||
actor->SetOwner(Owner);
|
||||
if (!Owner) return; // Undefined case - was not checked.
|
||||
actor->spr.zvel = Sgn(Owner->spr.pos.Z - actor->spr.pos.Z) << 4;
|
||||
actor->set_int_zvel(Sgn(Owner->spr.pos.Z - actor->spr.pos.Z) << 4);
|
||||
}
|
||||
|
||||
if (ldist(Owner, actor) < 1024)
|
||||
|
@ -4186,7 +4186,7 @@ void handle_se21(DDukeActor* actor)
|
|||
|
||||
if (actor->temp_data[0] == 1) //Decide if the sector should go up or down
|
||||
{
|
||||
actor->spr.zvel = Sgn(actor->int_pos().Z - lp) * (actor->spr.yvel << 4);
|
||||
actor->set_int_zvel(Sgn(actor->int_pos().Z - lp) * (actor->spr.yvel << 4));
|
||||
actor->temp_data[0]++;
|
||||
}
|
||||
|
||||
|
@ -4848,10 +4848,10 @@ void makeitfall(DDukeActor* actor)
|
|||
if( actor->spr.pos.Z < actor->floorz - FOURSLEIGHT_F)
|
||||
{
|
||||
if( actor->sector()->lotag == 2 && actor->int_zvel() > 3122 )
|
||||
actor->spr.zvel = 3144;
|
||||
actor->set_int_zvel(3144);
|
||||
if(actor->int_zvel() < 6144)
|
||||
actor->spr.zvel += c;
|
||||
else actor->spr.zvel = 6144;
|
||||
else actor->set_int_zvel(6144);
|
||||
actor->add_int_z(actor->int_zvel());
|
||||
}
|
||||
if (actor->spr.pos.Z >= actor->floorz - FOURSLEIGHT_F)
|
||||
|
@ -5082,7 +5082,7 @@ void fall_common(DDukeActor *actor, int playernum, int JIBS6, int DRONE, int BLO
|
|||
actor->spr.zvel += c;
|
||||
actor->add_int_z(actor->int_zvel());
|
||||
|
||||
if (actor->int_zvel() > 6144) actor->spr.zvel = 6144;
|
||||
if (actor->int_zvel() > 6144) actor->set_int_zvel(6144);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -750,7 +750,7 @@ void movefallers_d(void)
|
|||
if (act->spr.lotag <= 0)
|
||||
{
|
||||
act->spr.xvel = (32 + (krand() & 63));
|
||||
act->spr.zvel = -(1024 + (krand() & 1023));
|
||||
act->set_int_zvel(-(1024 + (krand() & 1023)));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -774,7 +774,7 @@ void movefallers_d(void)
|
|||
{
|
||||
act->spr.zvel += x;
|
||||
if (act->int_zvel() > 6144)
|
||||
act->spr.zvel = 6144;
|
||||
act->set_int_zvel(6144);
|
||||
act->add_int_z(act->int_zvel());
|
||||
}
|
||||
if ((sectp->floorz - act->spr.pos.Z) < 16)
|
||||
|
@ -1315,7 +1315,7 @@ static bool movefireball(DDukeActor* actor)
|
|||
|
||||
ball->spr.xvel = actor->spr.xvel;
|
||||
ball->spr.yvel = actor->spr.yvel;
|
||||
ball->spr.zvel = actor->int_zvel();
|
||||
ball->set_int_zvel(actor->int_zvel());
|
||||
if (actor->temp_data[0] > 1)
|
||||
{
|
||||
if (trail)
|
||||
|
@ -1324,7 +1324,7 @@ static bool movefireball(DDukeActor* actor)
|
|||
ball->spr.pos = trail->temp_pos;
|
||||
ball->spr.xvel = proj->vel.X;
|
||||
ball->spr.yvel = proj->vel.Y;
|
||||
ball->spr.zvel = proj->vel.Z;
|
||||
ball->set_int_zvel(proj->vel.Z);
|
||||
}
|
||||
}
|
||||
ball->spr.yrepeat = ball->spr.xrepeat = (uint8_t)(actor->spr.xrepeat * siz);
|
||||
|
@ -1557,7 +1557,7 @@ static void weaponcommon_d(DDukeActor* proj)
|
|||
if (proj->spr.pos.Z < proj->ceilingz)
|
||||
{
|
||||
coll.setSector(proj->sector());
|
||||
proj->spr.zvel = -1;
|
||||
proj->set_int_zvel(-1);
|
||||
}
|
||||
else
|
||||
if ((proj->spr.pos.Z > proj->floorz && proj->sector()->lotag != 1) ||
|
||||
|
@ -1565,7 +1565,7 @@ static void weaponcommon_d(DDukeActor* proj)
|
|||
{
|
||||
coll.setSector(proj->sector());
|
||||
if (proj->sector()->lotag != 1)
|
||||
proj->spr.zvel = 1;
|
||||
proj->set_int_zvel(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2489,14 +2489,14 @@ static void flamethrowerflame(DDukeActor *actor)
|
|||
if (actor->spr.pos.Z < actor->ceilingz)
|
||||
{
|
||||
coll.setSector(actor->sector());
|
||||
actor->spr.zvel = -1;
|
||||
actor->set_int_zvel(-1);
|
||||
}
|
||||
else if ((actor->spr.pos.Z > actor->floorz && actor->sector()->lotag != 1)
|
||||
|| (actor->spr.pos.Z > actor->floorz + 16 && actor->sector()->lotag == 1))
|
||||
{
|
||||
coll.setSector(actor->sector());
|
||||
if (actor->sector()->lotag != 1)
|
||||
actor->spr.zvel = 1;
|
||||
actor->set_int_zvel(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2584,7 +2584,7 @@ static void heavyhbomb(DDukeActor *actor)
|
|||
{
|
||||
if (actor->spr.yvel > 0 || (actor->spr.yvel == 0 && actor->floorz == sectp->floorz))
|
||||
S_PlayActorSound(PIPEBOMB_BOUNCE, actor);
|
||||
actor->spr.zvel = -((4 - actor->spr.yvel) << 8);
|
||||
actor->set_int_zvel(-((4 - actor->spr.yvel) << 8));
|
||||
if (actor->sector()->lotag == 2)
|
||||
actor->spr.zvel >>= 2;
|
||||
actor->spr.yvel++;
|
||||
|
@ -3069,7 +3069,7 @@ void moveexplosions_d(void) // STATNUM 5
|
|||
case MONEY + 1:
|
||||
case MAIL + 1:
|
||||
case PAPER + 1:
|
||||
act->spr.zvel = act->floorz = getflorzofslopeptrf(act->sector(), act->spr.pos.X, act->spr.pos.Y);
|
||||
act->set_int_zvel(act->floorz = getflorzofslopeptrf(act->sector(), act->spr.pos.X, act->spr.pos.Y));
|
||||
break;
|
||||
case MONEY:
|
||||
case MAIL:
|
||||
|
|
|
@ -668,7 +668,7 @@ void movefallers_r(void)
|
|||
{
|
||||
act->spr.lotag -= 3;
|
||||
act->spr.xvel = ((64 + krand()) & 127);
|
||||
act->spr.zvel = -(1024 + (krand() & 1023));
|
||||
act->set_int_zvel(-(1024 + (krand() & 1023)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -692,7 +692,7 @@ void movefallers_r(void)
|
|||
{
|
||||
act->spr.zvel += x;
|
||||
if (act->int_zvel() > 6144)
|
||||
act->spr.zvel = 6144;
|
||||
act->set_int_zvel(6144);
|
||||
act->add_int_z(act->int_zvel());
|
||||
}
|
||||
if ((sectp->floorz - act->spr.pos.Z) < 16)
|
||||
|
@ -1213,7 +1213,7 @@ static void weaponcommon_r(DDukeActor *proj)
|
|||
if (!isRRRA()) break;
|
||||
if (proj->spr.extra)
|
||||
{
|
||||
proj->spr.zvel = -(proj->spr.extra * 250);
|
||||
proj->set_int_zvel(-(proj->spr.extra * 250));
|
||||
proj->spr.extra--;
|
||||
}
|
||||
else
|
||||
|
@ -1246,14 +1246,14 @@ static void weaponcommon_r(DDukeActor *proj)
|
|||
if (proj->spr.pos.Z < proj->ceilingz)
|
||||
{
|
||||
coll.setSector(proj->sector());
|
||||
proj->spr.zvel = -1;
|
||||
proj->set_int_zvel(-1);
|
||||
}
|
||||
else
|
||||
if (proj->spr.pos.Z > proj->floorz)
|
||||
{
|
||||
coll.setSector(proj->sector());
|
||||
if (proj->sector()->lotag != 1)
|
||||
proj->spr.zvel = 1;
|
||||
proj->set_int_zvel(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2362,7 +2362,7 @@ static void heavyhbomb(DDukeActor *actor)
|
|||
goto DETONATEB;
|
||||
}
|
||||
}
|
||||
actor->spr.zvel = -((4 - actor->spr.yvel) << 8);
|
||||
actor->set_int_zvel(-((4 - actor->spr.yvel) << 8));
|
||||
if (actor->sector()->lotag == 2)
|
||||
actor->spr.zvel >>= 2;
|
||||
actor->spr.yvel++;
|
||||
|
@ -3838,7 +3838,7 @@ static int fallspecial(DDukeActor *actor, int playernum)
|
|||
if (actor->spr.picnum != APLAYER && (badguy(actor) || actor->spr.picnum == HEN || actor->spr.picnum == COW || actor->spr.picnum == PIG || actor->spr.picnum == DOGRUN || actor->spr.picnum == RABBIT) && (!isRRRA() || actor->spriteextra < 128))
|
||||
{
|
||||
actor->spr.pos.Z = actor->floorz - FOURSLEIGHT_F;
|
||||
actor->spr.zvel = 8000;
|
||||
actor->set_int_zvel(8000);
|
||||
actor->spr.extra = 0;
|
||||
actor->spriteextra++;
|
||||
sphit = 1;
|
||||
|
|
|
@ -1245,7 +1245,7 @@ void DoActor(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor,
|
|||
else SetGameVarID(lVar2, act->spr.yvel, sActor, sPlayer);
|
||||
break;
|
||||
case ACTOR_ZVEL:
|
||||
if (bSet) act->spr.zvel = lValue;
|
||||
if (bSet) act->set_int_zvel(lValue);
|
||||
else SetGameVarID(lVar2, act->int_zvel(), sActor, sPlayer);
|
||||
break;
|
||||
case ACTOR_LOTAG:
|
||||
|
|
|
@ -618,7 +618,7 @@ void playerisdead(int snum, int psectlotag, int fz, int cz)
|
|||
else
|
||||
{
|
||||
actor->spr.pos.Z -= 2;
|
||||
actor->spr.zvel = -348;
|
||||
actor->set_int_zvel(-348);
|
||||
}
|
||||
|
||||
Collision coll;
|
||||
|
|
|
@ -196,7 +196,7 @@ static void shootflamethrowerflame(DDukeActor* actor, int p, DVector3 spos, DAng
|
|||
spawned = spawn(actor, FLAMETHROWERFLAME);
|
||||
if (!spawned) return;
|
||||
spawned->spr.xvel = (short)(vel * worldtoint);
|
||||
spawned->spr.zvel = (short)(zvel * zworldtoint);
|
||||
spawned->set_int_zvel(zvel * 256);
|
||||
}
|
||||
|
||||
spawned->spr.pos = spos + (sang + DAngle::fromBuild(112)).ToVector() * 7;
|
||||
|
|
|
@ -677,7 +677,7 @@ static void shootrpg(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i
|
|||
if (atwith == RRTILE1790)
|
||||
{
|
||||
spawned->spr.extra = 10;
|
||||
spawned->spr.zvel = -(10 << 8);
|
||||
spawned->set_int_zvel(-(10 << 8));
|
||||
}
|
||||
else if (atwith == RPG2)
|
||||
{
|
||||
|
|
|
@ -72,7 +72,7 @@ DDukeActor* CreateActor(sectortype* whatsectp, const DVector3& pos, int s_pn, in
|
|||
|
||||
act->set_int_ang(s_a);
|
||||
act->spr.xvel = s_ve;
|
||||
act->spr.zvel = s_zv;
|
||||
act->set_int_zvel(s_zv);
|
||||
act->spr.xoffset = 0;
|
||||
act->spr.yoffset = 0;
|
||||
act->spr.yvel = 0;
|
||||
|
@ -440,7 +440,7 @@ void initshell(DDukeActor* actj, DDukeActor* act, bool isshell)
|
|||
|
||||
act->temp_data[0] = krand() & 1;
|
||||
act->spr.pos.Z = 3 + ps[snum].pos.Z + ps[snum].pyoff - (ps[snum].horizon.sum().asbuildf() * (1/16.)) + (!isshell ? 3 : 0);
|
||||
act->spr.zvel = -(krand() & 255);
|
||||
act->set_int_zvel(-(krand() & 255));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1005,9 +1005,9 @@ void spawneffector(DDukeActor* actor, TArray<DDukeActor*>* actors)
|
|||
{
|
||||
actor->temp_pos.XY() = actor->spr.pos.XY();
|
||||
if (actor->spr.shade == sectp->floorshade) //UP
|
||||
actor->spr.zvel = -256;
|
||||
actor->set_int_zvel(-256);
|
||||
else
|
||||
actor->spr.zvel = 256;
|
||||
actor->set_int_zvel(256);
|
||||
|
||||
actor->spr.shade = 0;
|
||||
}
|
||||
|
|
|
@ -203,7 +203,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
if (actj)
|
||||
act->spr.angle = actj->spr.angle;
|
||||
act->spr.pos.Z -= gs.playerheight;
|
||||
act->spr.zvel = 256 - (krand() & 511);
|
||||
act->set_int_zvel(256 - (krand() & 511));
|
||||
act->spr.xvel = 64 - (krand() & 127);
|
||||
ChangeActorStat(act, 4);
|
||||
break;
|
||||
|
@ -519,7 +519,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.cstat = 0;
|
||||
act->spr.extra = 1;
|
||||
act->spr.xvel = 292;
|
||||
act->spr.zvel = 360;
|
||||
act->set_int_zvel(360);
|
||||
[[fallthrough]];
|
||||
case RESPAWNMARKERRED:
|
||||
case BLIMP:
|
||||
|
@ -658,7 +658,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
{
|
||||
act->spr.xrepeat = actj->spr.xrepeat;
|
||||
act->spr.yrepeat = actj->spr.yrepeat;
|
||||
act->spr.zvel = 128;
|
||||
act->set_int_zvel(128);
|
||||
if (act->sector()->lotag != 2)
|
||||
act->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
}
|
||||
|
@ -1001,7 +1001,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
{
|
||||
act->spr.lotag = 0;
|
||||
act->spr.pos.Z -= 32;
|
||||
act->spr.zvel = -1024;
|
||||
act->set_int_zvel(-1024);
|
||||
ssp(act, CLIPMASK0);
|
||||
if (krand() & 4) act->spr.cstat |= CSTAT_SPRITE_XFLIP;
|
||||
}
|
||||
|
|
|
@ -285,7 +285,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
if (actj)
|
||||
act->spr.angle = actj->spr.angle;
|
||||
act->spr.pos.Z -= gs.playerheight;
|
||||
act->spr.zvel = 256 - (krand() & 511);
|
||||
act->set_int_zvel(256 - (krand() & 511));
|
||||
act->spr.xvel = 64 - (krand() & 127);
|
||||
ChangeActorStat(act, 4);
|
||||
break;
|
||||
|
@ -548,7 +548,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.cstat = 0;
|
||||
act->spr.extra = 1;
|
||||
act->spr.xvel = 292;
|
||||
act->spr.zvel = 360;
|
||||
act->set_int_zvel(360);
|
||||
[[fallthrough]];
|
||||
case RESPAWNMARKERRED:
|
||||
if (act->spr.picnum == RESPAWNMARKERRED)
|
||||
|
@ -663,7 +663,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
{
|
||||
act->spr.xrepeat = actj->spr.xrepeat;
|
||||
act->spr.yrepeat = actj->spr.yrepeat;
|
||||
act->spr.zvel = 128;
|
||||
act->set_int_zvel(128);
|
||||
if (act->sector()->lotag != 2)
|
||||
act->spr.cstat |= CSTAT_SPRITE_INVISIBLE;
|
||||
}
|
||||
|
@ -1156,7 +1156,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
if (act->spr.picnum != BOWLINGBALLSPRITE)
|
||||
{
|
||||
act->spr.pos.Z -= 32;
|
||||
act->spr.zvel = -(4 << 8);
|
||||
act->set_int_zvel(-(4 << 8));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -55,7 +55,7 @@ DExhumedActor* BuildBubble(const DVector3& pos, sectortype* pSector)
|
|||
pActor->set_int_ang(inita);
|
||||
pActor->spr.xvel = 0;
|
||||
pActor->spr.yvel = 0;
|
||||
pActor->spr.zvel = -1200;
|
||||
pActor->set_int_zvel(-1200);
|
||||
pActor->spr.hitag = -1;
|
||||
pActor->spr.extra = -1;
|
||||
pActor->spr.lotag = runlist_HeadRun() + 1;
|
||||
|
|
|
@ -231,7 +231,7 @@ void BulletHitsSprite(Bullet *pBullet, DExhumedActor* pBulletActor, DExhumedActo
|
|||
|
||||
pHitActor->spr.xvel = bcos(nAngle, 1);
|
||||
pHitActor->spr.yvel = bsin(nAngle, 1);
|
||||
pHitActor->spr.zvel = (-(RandomSize(3) + 1)) << 8;
|
||||
pHitActor->set_int_zvel((-(RandomSize(3) + 1)) << 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -57,7 +57,7 @@ void BuildFishLimb(DExhumedActor* pActor, int anim)
|
|||
pChunkActor->spr.yrepeat = 64;
|
||||
pChunkActor->spr.xoffset = 0;
|
||||
pChunkActor->spr.yoffset = 0;
|
||||
pChunkActor->spr.zvel = (-(RandomByte() + 512)) * 2;
|
||||
pChunkActor->set_int_zvel((-(RandomByte() + 512)) * 2);
|
||||
|
||||
seq_GetSeqPicnum(kSeqFish, pChunkActor->nCount, 0);
|
||||
|
||||
|
@ -114,7 +114,7 @@ void AIFishLimb::Tick(RunListEvent* ev)
|
|||
}
|
||||
else if ((pActor->spr.pos.Z - FloorZ) > 0)
|
||||
{
|
||||
pActor->spr.zvel = 1024;
|
||||
pActor->set_int_zvel(1024);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -193,17 +193,17 @@ void IdleFish(DExhumedActor* pActor, int edx)
|
|||
pActor->nAction = 0;
|
||||
pActor->nFrame = 0;
|
||||
|
||||
pActor->spr.zvel = RandomSize(9);
|
||||
pActor->set_int_zvel(RandomSize(9));
|
||||
|
||||
if (!edx)
|
||||
{
|
||||
if (RandomBit()) {
|
||||
pActor->spr.zvel = -pActor->int_zvel();
|
||||
pActor->set_int_zvel(-pActor->int_zvel());
|
||||
}
|
||||
}
|
||||
else if (edx < 0)
|
||||
{
|
||||
pActor->spr.zvel = -pActor->int_zvel();
|
||||
pActor->set_int_zvel(-pActor->int_zvel());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -340,7 +340,7 @@ void AIFish::Tick(RunListEvent* ev)
|
|||
pActor->nFrame = 0;
|
||||
|
||||
int nAngle = getangle(pTargetActor->spr.pos - pActor->spr.pos);
|
||||
pActor->spr.zvel = bsin(nAngle, -5);
|
||||
pActor->set_int_zvel(bsin(nAngle, -5));
|
||||
|
||||
pActor->nCount = RandomSize(6) + 90;
|
||||
}
|
||||
|
@ -382,7 +382,7 @@ void AIFish::Tick(RunListEvent* ev)
|
|||
pActor->spr.yvel = 0;
|
||||
}
|
||||
|
||||
pActor->spr.zvel = int((pTargetActor->spr.pos.Z - pActor->spr.pos.Z) * zworldtoint / 8);
|
||||
pActor->set_int_zvel(int((pTargetActor->spr.pos.Z - pActor->spr.pos.Z) * zworldtoint / 8));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ void ThrowGrenade(int nPlayer, int, int, int ecx, int push1)
|
|||
int nVel = PlayerList[nPlayer].totalvel << 5;
|
||||
|
||||
pActor->nTurn = ((90 - pActor->nIndex2) * (90 - pActor->nIndex2)) + nVel;
|
||||
pActor->spr.zvel = (-64 * push1) - 4352;
|
||||
pActor->set_int_zvel((-64 * push1) - 4352);
|
||||
|
||||
auto nMov = movesprite(pActor, bcos(nAngle) * (pPlayerActor->spr.clipdist << 3), bsin(nAngle) * (pPlayerActor->spr.clipdist << 3), ecx, 0, 0, CLIPMASK1);
|
||||
if (nMov.type == kHitWall)
|
||||
|
@ -85,7 +85,7 @@ void ThrowGrenade(int nPlayer, int, int, int ecx, int push1)
|
|||
else
|
||||
{
|
||||
pActor->nTurn = 0;
|
||||
pActor->spr.zvel = pPlayerActor->int_zvel();
|
||||
pActor->set_int_zvel(pPlayerActor->int_zvel());
|
||||
}
|
||||
|
||||
pActor->x = bcos(nAngle, -4) * pActor->nTurn;
|
||||
|
@ -299,7 +299,7 @@ void AIGrenade::Tick(RunListEvent* ev)
|
|||
|
||||
D3PlayFX(StaticSound[kSound3], pActor);
|
||||
|
||||
pActor->spr.zvel = -(zVel >> 1);
|
||||
pActor->set_int_zvel(-(zVel >> 1));
|
||||
|
||||
if (pActor->int_zvel() > -1280)
|
||||
{
|
||||
|
|
|
@ -365,7 +365,7 @@ void StartRegenerate(DExhumedActor* pActor)
|
|||
{
|
||||
// ?? CHECKME
|
||||
pActor->spr.xvel = pActor->spr.xrepeat;
|
||||
pActor->spr.zvel = pActor->spr.shade;
|
||||
pActor->set_int_zvel(pActor->spr.shade);
|
||||
pActor->spr.yvel = pActor->spr.pal;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -47,7 +47,7 @@ DExhumedActor* BuildLavaLimb(DExhumedActor* pActor, int move, int ebx)
|
|||
pLimbActor->spr.pal = 1;
|
||||
pLimbActor->spr.xvel = (RandomSize(5) - 16) << 8;
|
||||
pLimbActor->spr.yvel = (RandomSize(5) - 16) << 8;
|
||||
pLimbActor->spr.zvel = 2560 - (RandomSize(5) << 8);
|
||||
pLimbActor->set_int_zvel(2560 - (RandomSize(5) << 8));
|
||||
pLimbActor->spr.xoffset = 0;
|
||||
pLimbActor->spr.yoffset = 0;
|
||||
pLimbActor->spr.xrepeat = 90;
|
||||
|
|
|
@ -376,7 +376,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
pActor->nCount--;
|
||||
if (pActor->nCount <= 0)
|
||||
{
|
||||
pActor->spr.zvel = -4000;
|
||||
pActor->set_int_zvel(-4000);
|
||||
pActor->nCount = 0;
|
||||
|
||||
int nCheckDist = 0x7FFFFFFF;
|
||||
|
@ -473,7 +473,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
pActor->set_int_ang((RandomSize(9) + (pActor->int_ang() + 768)) & kAngleMask);
|
||||
}
|
||||
|
||||
pActor->spr.zvel = -1000;
|
||||
pActor->set_int_zvel(-1000);
|
||||
|
||||
pActor->nAction = 6;
|
||||
pActor->spr.xvel = bcos(pActor->int_ang()) - bcos(pActor->int_ang(), -3);
|
||||
|
|
|
@ -399,7 +399,7 @@ Collision movespritez(DExhumedActor* pActor, int z, int height, int, int clipdis
|
|||
runlist_DamageEnemy(loHit.actor(), pActor, nDamage << 1);
|
||||
}
|
||||
|
||||
pActor->spr.zvel = -z;
|
||||
pActor->set_int_zvel(-z);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -605,7 +605,7 @@ void Gravity(DExhumedActor* pActor)
|
|||
{
|
||||
pActor->spr.zvel += 512;
|
||||
if (pActor->int_zvel() > 16384) {
|
||||
pActor->spr.zvel = 16384;
|
||||
pActor->set_int_zvel(16384);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1152,7 +1152,7 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int
|
|||
nAngle = (nAngDelta + pActor->int_ang()) & kAngleMask;
|
||||
int nAngDeltaD = AngleDelta(pActor->int_zvel(), var_18, 24);
|
||||
|
||||
pActor->spr.zvel = (pActor->int_zvel() + nAngDeltaD) & kAngleMask;
|
||||
pActor->set_int_zvel((pActor->int_zvel() + nAngDeltaD) & kAngleMask);
|
||||
}
|
||||
|
||||
pActor->set_int_ang(nAngle);
|
||||
|
@ -1316,7 +1316,7 @@ DExhumedActor* BuildCreatureChunk(DExhumedActor* pSrc, int nPic, bool bSpecial)
|
|||
|
||||
pActor->spr.xvel = (RandomSize(5) - 16) << 7;
|
||||
pActor->spr.yvel = (RandomSize(5) - 16) << 7;
|
||||
pActor->spr.zvel = (-(RandomSize(8) + 512)) << 3;
|
||||
pActor->set_int_zvel((-(RandomSize(8) + 512)) << 3);
|
||||
|
||||
if (bSpecial)
|
||||
{
|
||||
|
@ -1381,7 +1381,7 @@ void AICreatureChunk::Tick(RunListEvent* ev)
|
|||
{
|
||||
pActor->spr.xvel >>= 1;
|
||||
pActor->spr.yvel >>= 1;
|
||||
pActor->spr.zvel = -pActor->int_zvel();
|
||||
pActor->set_int_zvel(-pActor->int_zvel());
|
||||
return;
|
||||
}
|
||||
else if (nVal.type == kHitSprite)
|
||||
|
|
|
@ -1393,7 +1393,7 @@ DExhumedActor* BuildSpark(DExhumedActor* pActor, int nVal)
|
|||
pSpark->spr.yvel = bsin(nAngle, -6);
|
||||
}
|
||||
|
||||
pSpark->spr.zvel = -(RandomSize(4) << 7);
|
||||
pSpark->set_int_zvel(-(RandomSize(4) << 7));
|
||||
pSpark->spr.picnum = kTile985 + nVal;
|
||||
}
|
||||
|
||||
|
|
|
@ -851,7 +851,7 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
int z = (pPlayerActor->spr.zvel * 4) >> 2;
|
||||
|
||||
if (pPlayerActor->int_zvel() > 8192)
|
||||
pPlayerActor->spr.zvel = 8192;
|
||||
pPlayerActor->set_int_zvel(8192);
|
||||
|
||||
if (PlayerList[nPlayer].bIsMummified)
|
||||
{
|
||||
|
@ -896,7 +896,7 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
pPlayerActor->spr.pos.XY() = spr_pos.XY();
|
||||
|
||||
if (zVel < pPlayerActor->int_zvel()) {
|
||||
pPlayerActor->spr.zvel = zVel;
|
||||
pPlayerActor->set_int_zvel(zVel);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2252,14 +2252,14 @@ sectdone:
|
|||
{
|
||||
if (bUnderwater)
|
||||
{
|
||||
pPlayerActor->spr.zvel = -2048;
|
||||
pPlayerActor->set_int_zvel(-2048);
|
||||
nActionB = 10;
|
||||
}
|
||||
else if (bTouchFloor)
|
||||
{
|
||||
if (nAction < 6 || nAction > 8)
|
||||
{
|
||||
pPlayerActor->spr.zvel = -3584;
|
||||
pPlayerActor->set_int_zvel(-3584);
|
||||
nActionB = 3;
|
||||
}
|
||||
}
|
||||
|
@ -2270,7 +2270,7 @@ sectdone:
|
|||
{
|
||||
if (bUnderwater)
|
||||
{
|
||||
pPlayerActor->spr.zvel = 2048;
|
||||
pPlayerActor->set_int_zvel(2048);
|
||||
nActionB = 10;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -325,7 +325,7 @@ Collision QueenAngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int val
|
|||
|
||||
nAngle = (nAngDelta + pActor->int_ang()) & kAngleMask;
|
||||
|
||||
pActor->spr.zvel = (AngleDelta(pActor->int_zvel(), var_14, 24) + pActor->int_zvel()) & kAngleMask;
|
||||
pActor->set_int_zvel((AngleDelta(pActor->int_zvel(), var_14, 24) + pActor->int_zvel()) & kAngleMask); // not really avelocity
|
||||
}
|
||||
|
||||
pActor->set_int_ang(nAngle);
|
||||
|
@ -446,7 +446,7 @@ void BuildQueenEgg(int nQueen, int nVal)
|
|||
pActor2->spr.yrepeat = 30;
|
||||
pActor2->spr.xvel = bcos(pActor2->int_ang());
|
||||
pActor2->spr.yvel = bsin(pActor2->int_ang());
|
||||
pActor2->spr.zvel = -6000;
|
||||
pActor2->set_int_zvel(-6000);
|
||||
pActor2->spr.cstat = 0;
|
||||
}
|
||||
else
|
||||
|
@ -455,7 +455,7 @@ void BuildQueenEgg(int nQueen, int nVal)
|
|||
pActor2->spr.yrepeat = 60;
|
||||
pActor2->spr.xvel = 0;
|
||||
pActor2->spr.yvel = 0;
|
||||
pActor2->spr.zvel = -2000;
|
||||
pActor2->set_int_zvel(-2000);
|
||||
pActor2->spr.cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
}
|
||||
|
||||
|
@ -606,7 +606,7 @@ void AIQueenEgg::Tick(RunListEvent* ev)
|
|||
pActor->norm_ang();
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -3);
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -3);
|
||||
pActor->spr.zvel = -RandomSize(5);
|
||||
pActor->set_int_zvel(-RandomSize(5));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -619,7 +619,7 @@ void AIQueenEgg::Tick(RunListEvent* ev)
|
|||
|
||||
if (nMov.exbits & kHitAux2)
|
||||
{
|
||||
pActor->spr.zvel = -(pActor->spr.zvel - 256);
|
||||
pActor->set_int_zvel(-(pActor->spr.zvel - 256));
|
||||
if (pActor->int_zvel() < -512)
|
||||
{
|
||||
pActor->set_int_zvel(0);
|
||||
|
@ -701,7 +701,7 @@ void BuildQueenHead(int nQueen)
|
|||
nVelShift = 2;
|
||||
SetHeadVel(pActor2);
|
||||
|
||||
pActor2->spr.zvel = -8192;
|
||||
pActor2->set_int_zvel(-8192);
|
||||
pActor2->spr.lotag = runlist_HeadRun() + 1;
|
||||
pActor2->spr.hitag = 0;
|
||||
pActor2->spr.extra = -1;
|
||||
|
@ -797,7 +797,7 @@ void AIQueenHead::Tick(RunListEvent* ev)
|
|||
}
|
||||
else if (nMov.exbits == kHitAux2)
|
||||
{
|
||||
pActor->spr.zvel = -(pActor->int_zvel() >> 1);
|
||||
pActor->set_int_zvel(-(pActor->int_zvel() >> 1));
|
||||
|
||||
if (pActor->int_zvel() > -256)
|
||||
{
|
||||
|
@ -885,7 +885,7 @@ void AIQueenHead::Tick(RunListEvent* ev)
|
|||
pActor->add_int_ang(RandomSize(9) + 768);
|
||||
pActor->norm_ang();
|
||||
|
||||
pActor->spr.zvel = (-20) - RandomSize(6);
|
||||
pActor->set_int_zvel((-20) - RandomSize(6));
|
||||
|
||||
SetHeadVel(pActor);
|
||||
}
|
||||
|
|
|
@ -347,13 +347,13 @@ void AIRex::Tick(RunListEvent* ev)
|
|||
auto nPlayer = GetPlayerFromActor(nMov.actor());
|
||||
PlayerList[nPlayer].nDamage.X += (xVel << 4);
|
||||
PlayerList[nPlayer].nDamage.Y += (yVel << 4);
|
||||
pHitActor->spr.zvel = -3584;
|
||||
pHitActor->set_int_zvel(-3584);
|
||||
}
|
||||
else
|
||||
{
|
||||
pHitActor->spr.xvel += (xVel >> 3);
|
||||
pHitActor->spr.yvel += (yVel >> 3);
|
||||
pHitActor->spr.zvel = -2880;
|
||||
pHitActor->set_int_zvel(-2880);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1660,7 +1660,7 @@ int runlist_CheckRadialDamage(DExhumedActor* pActor)
|
|||
pActor->spr.zvel -= edi * 24;
|
||||
|
||||
if (pActor->int_zvel() < -3584) {
|
||||
pActor->spr.zvel = -3584;
|
||||
pActor->set_int_zvel(-3584);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -373,7 +373,7 @@ void AIScorp::Tick(RunListEvent* ev)
|
|||
|
||||
pSpiderActor->spr.xvel = bcos(pSpiderActor->int_ang(), -8) * nVel;
|
||||
pSpiderActor->spr.yvel = bsin(pSpiderActor->int_ang(), -8) * nVel;
|
||||
pSpiderActor->spr.zvel = (-(RandomSize(5) + 3)) << 8;
|
||||
pSpiderActor->set_int_zvel((-(RandomSize(5) + 3)) << 8);
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
|
@ -107,7 +107,7 @@ void BuildSoul(DExhumedActor* pSet)
|
|||
pActor->set_int_ang(RandomSize(11));
|
||||
pActor->spr.xvel = 0;
|
||||
pActor->spr.yvel = 0;
|
||||
pActor->spr.zvel = (-256) - RandomSize(10);
|
||||
pActor->set_int_zvel((-256) - RandomSize(10));
|
||||
pActor->spr.pos = DVector3(pSet->spr.pos.XY(), RandomSize(8) + 32 + pActor->sector()->ceilingz - GetActorHeightF(pActor));
|
||||
|
||||
//pActor->spr.hitag = nSet;
|
||||
|
@ -512,11 +512,11 @@ void AISet::Tick(RunListEvent* ev)
|
|||
{
|
||||
if (pActor->nIndex)
|
||||
{
|
||||
pActor->spr.zvel = -10000;
|
||||
pActor->set_int_zvel(-10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
pActor->spr.zvel = -(PlotCourseToSprite(pActor, pTarget));
|
||||
pActor->set_int_zvel(-(PlotCourseToSprite(pActor, pTarget)));
|
||||
}
|
||||
|
||||
pActor->nAction = 8;
|
||||
|
|
|
@ -180,7 +180,7 @@ void AISpider::Tick(RunListEvent* ev)
|
|||
if (pSector->ceilingstat & CSTAT_SECTOR_SKY)
|
||||
{
|
||||
spp->spr.cstat ^= CSTAT_SPRITE_YFLIP;
|
||||
spp->spr.zvel = 1;
|
||||
spp->set_int_zvel(1);
|
||||
|
||||
spp->nAction = 3;
|
||||
spp->nFrame = 0;
|
||||
|
@ -207,12 +207,12 @@ void AISpider::Tick(RunListEvent* ev)
|
|||
if (spp->spr.cstat & CSTAT_SPRITE_YFLIP)
|
||||
{
|
||||
spp->spr.cstat ^= CSTAT_SPRITE_YFLIP;
|
||||
spp->spr.zvel = 1;
|
||||
spp->set_int_zvel(1);
|
||||
spp->spr.pos.Z = spp->sector()->ceilingz+ GetActorHeightF(spp);
|
||||
}
|
||||
else
|
||||
{
|
||||
spp->spr.zvel = -5120;
|
||||
spp->set_int_zvel(-5120);
|
||||
}
|
||||
|
||||
spp->nAction = 3;
|
||||
|
|
|
@ -161,7 +161,7 @@ void AIWasp::Damage(RunListEvent* ev)
|
|||
|
||||
pActor->nVel = 3000;
|
||||
|
||||
pActor->spr.zvel = (-20) - RandomSize(6);
|
||||
pActor->set_int_zvel((-20) - RandomSize(6));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -174,7 +174,7 @@ void AIWasp::Damage(RunListEvent* ev)
|
|||
|
||||
SetWaspVel(pActor);
|
||||
|
||||
pActor->spr.zvel = 512;
|
||||
pActor->set_int_zvel(512);
|
||||
|
||||
nCreaturesKilled++;
|
||||
}
|
||||
|
@ -226,7 +226,7 @@ void AIWasp::Tick(RunListEvent* ev)
|
|||
|
||||
case 0:
|
||||
{
|
||||
pActor->spr.zvel = bsin(pActor->nAngle, -4);
|
||||
pActor->set_int_zvel(bsin(pActor->nAngle, -4));
|
||||
|
||||
pActor->nAngle += pActor->nAngle2;
|
||||
pActor->nAngle &= kAngleMask;
|
||||
|
@ -306,7 +306,7 @@ void AIWasp::Tick(RunListEvent* ev)
|
|||
{
|
||||
pActor->add_int_ang(RandomSize(9) + 768);
|
||||
pActor->norm_ang();
|
||||
pActor->spr.zvel = (-20) - RandomSize(6);
|
||||
pActor->set_int_zvel((-20) - RandomSize(6));
|
||||
|
||||
pActor->nAction = 1;
|
||||
pActor->nVel = 3000;
|
||||
|
@ -321,7 +321,7 @@ void AIWasp::Tick(RunListEvent* ev)
|
|||
{
|
||||
pActor->spr.xvel = 0;
|
||||
pActor->spr.yvel = 0;
|
||||
pActor->spr.zvel = 1024;
|
||||
pActor->set_int_zvel(1024);
|
||||
pActor->nAction = 5;
|
||||
pActor->nFrame = 0;
|
||||
}
|
||||
|
|
|
@ -522,7 +522,7 @@ DSWActor* CopySprite(sprt const* tsp, sectortype* newsector)
|
|||
actorNew->spr.angle = tsp->angle;
|
||||
actorNew->spr.xvel = tsp->xvel;
|
||||
actorNew->spr.yvel = tsp->yvel;
|
||||
actorNew->spr.zvel = tsp->zvel;
|
||||
actorNew->spr.inittype = tsp->inittype;
|
||||
actorNew->spr.shade = tsp->shade;
|
||||
|
||||
actorNew->spr.cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
|
||||
|
|
|
@ -269,13 +269,13 @@ int DoWallBloodDrip(DSWActor* actor)
|
|||
}
|
||||
else
|
||||
{
|
||||
actor->spr.zvel = (300+RandomRange(2300)) >> 1;
|
||||
actor->set_int_zvel((300+RandomRange(2300)) >> 1);
|
||||
actor->add_int_z(actor->int_zvel());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
actor->spr.zvel = (300+RandomRange(2300)) >> 1;
|
||||
actor->set_int_zvel((300+RandomRange(2300)) >> 1);
|
||||
actor->add_int_z(actor->int_zvel());
|
||||
}
|
||||
|
||||
|
@ -1173,12 +1173,12 @@ int SpawnRadiationCloud(DSWActor* actor)
|
|||
{
|
||||
actorNew->user.Radius = 2000;
|
||||
actorNew->user.change.XY() = MOVExy(actorNew->spr.xvel >> 2, actorNew->spr.angle);
|
||||
actorNew->spr.zvel = Z(1) + RANDOM_P2(Z(2));
|
||||
actorNew->set_int_zvel(Z(1) + RANDOM_P2(Z(2)));
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateChangeXY(actorNew);
|
||||
actorNew->spr.zvel = Z(4) + RANDOM_P2(Z(4));
|
||||
actorNew->set_int_zvel(Z(4) + RANDOM_P2(Z(4)));
|
||||
actorNew->user.Radius = 4000;
|
||||
}
|
||||
|
||||
|
@ -1248,7 +1248,7 @@ int PlayerInitChemBomb(PLAYER* pp)
|
|||
if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew))
|
||||
actorNew->user.Flags |= (SPR_UNDERWATER);
|
||||
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
|
||||
oclipdist = plActor->spr.clipdist;
|
||||
plActor->spr.clipdist = 0;
|
||||
|
@ -1294,7 +1294,7 @@ int InitSpriteChemBomb(DSWActor* actor)
|
|||
actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER);
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_BLOCK);
|
||||
|
||||
actorNew->spr.zvel = short(-RandomRange(100) * HORIZ_MULT);
|
||||
actorNew->set_int_zvel(short(-RandomRange(100) * HORIZ_MULT));
|
||||
|
||||
actorNew->spr.clipdist = 80L >> 2;
|
||||
|
||||
|
@ -1330,7 +1330,7 @@ int InitChemBomb(DSWActor* actor)
|
|||
if (SpriteInUnderwaterArea(actorNew))
|
||||
actorNew->user.Flags |= (SPR_UNDERWATER);
|
||||
|
||||
actorNew->spr.zvel = short(-RandomRange(100) * HORIZ_MULT);
|
||||
actorNew->set_int_zvel(short(-RandomRange(100) * HORIZ_MULT));
|
||||
actorNew->spr.clipdist = 0;
|
||||
|
||||
if (actor->user.ID == MUSHROOM_CLOUD || actor->user.ID == 3121 || actor->user.ID == SUMO_RUN_R0) // 3121 == GRENADE_EXP
|
||||
|
@ -1600,7 +1600,7 @@ int PlayerInitCaltrops(PLAYER* pp)
|
|||
// They go out at different angles
|
||||
// spawnedActor->spr.ang = NORM_ANGLE(pp->angle.ang.Buildang() + (RandomRange(50) - 25));
|
||||
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
|
||||
oclipdist = plActor->spr.clipdist;
|
||||
plActor->spr.clipdist = 0;
|
||||
|
@ -1644,7 +1644,7 @@ int InitCaltrops(DSWActor* actor)
|
|||
actorNew->user.floor_dist = (3);
|
||||
actorNew->user.Counter = 0;
|
||||
|
||||
actorNew->spr.zvel = short(-RandomRange(100) * HORIZ_MULT);
|
||||
actorNew->set_int_zvel(short(-RandomRange(100) * HORIZ_MULT));
|
||||
|
||||
// spawnedActor->spr.clipdist = 80L>>2;
|
||||
|
||||
|
@ -1684,7 +1684,7 @@ int InitPhosphorus(DSWActor* actor)
|
|||
actorNew->user.floor_dist = (3);
|
||||
actorNew->user.Counter = 0;
|
||||
|
||||
actorNew->spr.zvel = short(-RandomRange(100) * HORIZ_MULT);
|
||||
actorNew->set_int_zvel(short(-RandomRange(100) * HORIZ_MULT));
|
||||
|
||||
UpdateChange(actorNew, 0.5);
|
||||
|
||||
|
@ -1749,7 +1749,7 @@ int InitBloodSpray(DSWActor* actor, bool dogib, short velocity)
|
|||
actorNew->user.floor_dist = (3);
|
||||
actorNew->user.Counter = 0;
|
||||
|
||||
actorNew->spr.zvel = short((-10 - RandomRange(50)) * HORIZ_MULT);
|
||||
actorNew->set_int_zvel(short((-10 - RandomRange(50)) * HORIZ_MULT));
|
||||
|
||||
UpdateChange(actorNew, 0.5);
|
||||
|
||||
|
@ -2098,7 +2098,7 @@ int SpawnShell(DSWActor* actor, int ShellNum)
|
|||
|
||||
auto actorNew = SpawnActor(STAT_SKIP4, id, p, actor->sector(), ActorVectOfMiddle(actor), actor->spr.angle, 64);
|
||||
|
||||
actorNew->spr.zvel = -(velocity);
|
||||
actorNew->set_int_zvel(-(velocity));
|
||||
|
||||
if (actor->user.PlayerP)
|
||||
{
|
||||
|
|
|
@ -353,8 +353,7 @@ int SetupWashGirl(DSWActor* actor)
|
|||
|
||||
actor->spr.xrepeat = 28;
|
||||
actor->spr.yrepeat = 24;
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_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;
|
||||
|
@ -421,8 +420,7 @@ int DoWashGirl(DSWActor* actor)
|
|||
|
||||
// take damage from environment
|
||||
DoActorSectorDamage(actor);
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.xvel = actor->spr.yvel = 0; actor->set_int_zvel(0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -549,8 +547,7 @@ int SetupTrashCan(DSWActor* actor)
|
|||
|
||||
actor->spr.xrepeat = 46;
|
||||
actor->spr.yrepeat = 42;
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.xvel = actor->spr.yvel = 0; actor->set_int_zvel(0);
|
||||
actor->user.ID = TRASHCAN;
|
||||
|
||||
actor->user.Flags &= ~(SPR_XFLIP_TOGGLE);
|
||||
|
@ -570,8 +567,7 @@ int DoTrashCan(DSWActor* actor)
|
|||
KeepActorOnFloor(actor);
|
||||
}
|
||||
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.xvel = actor->spr.yvel = 0; actor->set_int_zvel(0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -642,8 +638,7 @@ int SetupPachinkoLight(DSWActor* actor)
|
|||
actor->user.RotNum = 0;
|
||||
actor->user.ID = PACHINKOLIGHT_R0;
|
||||
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_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;
|
||||
|
@ -1041,6 +1036,7 @@ int SetupPachinko4(DSWActor* actor)
|
|||
actor->user.RotNum = 0;
|
||||
actor->user.ID = PACHINKO4;
|
||||
|
||||
actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.lotag = PACHINKO4;
|
||||
|
||||
|
@ -1148,8 +1144,7 @@ int SetupCarGirl(DSWActor* actor)
|
|||
|
||||
actor->spr.xrepeat = 29;
|
||||
actor->spr.yrepeat = 25;
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_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;
|
||||
|
@ -1199,8 +1194,7 @@ int DoCarGirl(DSWActor* actor)
|
|||
|
||||
// take damage from environment
|
||||
DoActorSectorDamage(actor);
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.xvel = actor->spr.yvel = 0; actor->set_int_zvel(0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1351,8 +1345,7 @@ int SetupMechanicGirl(DSWActor* actor)
|
|||
|
||||
actor->spr.xrepeat = 27;
|
||||
actor->spr.yrepeat = 26;
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_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;
|
||||
|
@ -1401,8 +1394,7 @@ int DoMechanicGirl(DSWActor* actor)
|
|||
|
||||
// take damage from environment
|
||||
DoActorSectorDamage(actor);
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.xvel = actor->spr.yvel = 0; actor->set_int_zvel(0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1553,8 +1545,7 @@ int SetupSailorGirl(DSWActor* actor)
|
|||
|
||||
actor->spr.xrepeat = 28;
|
||||
actor->spr.yrepeat = 26;
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_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;
|
||||
|
@ -1608,8 +1599,7 @@ int DoSailorGirl(DSWActor* actor)
|
|||
|
||||
// take damage from environment
|
||||
DoActorSectorDamage(actor);
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.xvel = actor->spr.yvel = 0; actor->set_int_zvel(0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1749,8 +1739,7 @@ int SetupPruneGirl(DSWActor* actor)
|
|||
|
||||
actor->spr.xrepeat = 33;
|
||||
actor->spr.yrepeat = 28;
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_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;
|
||||
|
@ -1815,8 +1804,7 @@ int DoPruneGirl(DSWActor* actor)
|
|||
|
||||
// take damage from environment
|
||||
DoActorSectorDamage(actor);
|
||||
actor->spr.xvel = actor->spr.yvel = 0;
|
||||
actor->set_int_zvel(0);
|
||||
actor->spr.xvel = actor->spr.yvel = 0; actor->set_int_zvel(0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -2403,7 +2403,8 @@ void SpriteSetup(void)
|
|||
break;
|
||||
|
||||
case DEMO_CAMERA:
|
||||
actor->spr.yvel = actor->spr.zvel = 100; //attempt horiz control
|
||||
actor->spr.yvel = 100;
|
||||
actor->set_int_zvel(100); //attempt horiz control
|
||||
change_actor_stat(actor, STAT_DEMO_CAMERA);
|
||||
break;
|
||||
|
||||
|
@ -3493,7 +3494,7 @@ void SetupItemForJump(DSWActor* spawner, DSWActor* actor)
|
|||
actor->user.Counter = 0;
|
||||
|
||||
actor->spr.xvel = (int)SP_TAG7(spawner)<<2;
|
||||
actor->spr.zvel = -(((int)SP_TAG8(spawner))<<5);
|
||||
actor->set_int_zvel(-(((int)SP_TAG8(spawner))<<5));
|
||||
|
||||
UpdateChange(actor);
|
||||
}
|
||||
|
|
|
@ -3332,7 +3332,7 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor)
|
|||
actor->user.Flags |= (SPR_CLIMBING);
|
||||
NewStateGroup(actor, actor->user.ActorActionSet->Climb);
|
||||
|
||||
actor->spr.zvel = -Z(1);
|
||||
actor->set_int_zvel(-Z(1));
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -3433,7 +3433,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics)
|
|||
|
||||
// (velocity * difference between the target and the object) /
|
||||
// distance
|
||||
actor->spr.zvel = (int) -((actor->spr.xvel * (actor->spr.pos.Z - tpoint->pos.Z)) / dist);
|
||||
actor->set_int_zvel((int) -((actor->spr.xvel * (actor->spr.pos.Z - tpoint->pos.Z)) / dist));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -7675,7 +7675,7 @@ int MissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*, int1
|
|||
double zh = ActorZOfTop(actor) + (ActorSizeZ(actor) * 0.25);
|
||||
auto vel = clamp((zh - actor->spr.pos.Z)* 0.5, -16., 16.);
|
||||
|
||||
actor->spr.zvel = vel * zworldtoint;
|
||||
actor->set_int_zvel(vel * zworldtoint);
|
||||
|
||||
UpdateChange(actor);
|
||||
}
|
||||
|
@ -9291,7 +9291,7 @@ int SpawnExtraMicroMini(DSWActor* actor)
|
|||
actorNew->spr.cstat = actor->spr.cstat;
|
||||
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() + RandomRange(64) - 32));
|
||||
actorNew->spr.zvel = actor->int_zvel();
|
||||
actorNew->set_int_zvel(actor->int_zvel());
|
||||
actorNew->spr.zvel += RandomRange(Z(16)) - Z(8);
|
||||
|
||||
UpdateChange(actorNew);
|
||||
|
@ -9319,7 +9319,7 @@ int DoMicro(DSWActor* actor)
|
|||
actorNew->spr.xrepeat = 20;
|
||||
actorNew->spr.yrepeat = 20;
|
||||
actorNew->opos = actor->opos;
|
||||
actorNew->spr.zvel = actor->int_zvel();
|
||||
actorNew->set_int_zvel(actor->int_zvel());
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER);
|
||||
actorNew->spr.cstat &= ~(CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
|
||||
|
||||
|
@ -10887,8 +10887,7 @@ bool MissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist)
|
|||
|
||||
// make missile move in smaller increments
|
||||
actor->spr.xvel = short((dist * 6) / MISSILEMOVETICS);
|
||||
//actor->spr.zvel = (actor->spr.zvel*4) / MISSILEMOVETICS;
|
||||
actor->spr.zvel = short((actor->spr.zvel*6) / MISSILEMOVETICS);
|
||||
actor->set_int_zvel(short((actor->spr.zvel*6) / MISSILEMOVETICS));
|
||||
|
||||
// some Weapon Animators use this
|
||||
UpdateChange(actor);
|
||||
|
@ -10901,7 +10900,7 @@ bool MissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist)
|
|||
// reset values
|
||||
actor->user.change = oldc;
|
||||
actor->spr.xvel = oldvel;
|
||||
actor->spr.zvel = oldzvel;
|
||||
actor->set_int_zvel(oldzvel);
|
||||
|
||||
// update for interpolation
|
||||
actor->backuppos();
|
||||
|
@ -10921,7 +10920,6 @@ bool TestMissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist, int zvel)
|
|||
|
||||
// make missile move in smaller increments
|
||||
actor->spr.xvel = short((dist * 6) / MISSILEMOVETICS);
|
||||
//actor->spr.zvel = (actor->spr.zvel*4) / MISSILEMOVETICS;
|
||||
zvel = short((zvel*6) / MISSILEMOVETICS);
|
||||
|
||||
// some Weapon Animators use this
|
||||
|
@ -10936,7 +10934,7 @@ bool TestMissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist, int zvel)
|
|||
// reset values
|
||||
actor->user.change = oldc;
|
||||
actor->spr.xvel = oldvel;
|
||||
actor->spr.zvel = oldzvel;
|
||||
actor->set_int_zvel(oldzvel);
|
||||
|
||||
// update for interpolation
|
||||
actor->backuppos();
|
||||
|
@ -11203,7 +11201,7 @@ void SetZVelFromTarget(DSWActor* actorNew, DSWActor* actor, bool setchange = fal
|
|||
{
|
||||
double zdist = (ActorUpperZ(actor->user.targetActor) - actorNew->spr.pos.Z - offset) / dist;
|
||||
double change = zdist * actorNew->spr.xvel * inttoworld;
|
||||
actorNew->spr.zvel = (change * zworldtoint);
|
||||
actorNew->set_int_zvel((change * zworldtoint));
|
||||
if (setchange) actorNew->user.change.Z = change;
|
||||
}
|
||||
}
|
||||
|
@ -11339,7 +11337,7 @@ int InitSerpRing(DSWActor* actor)
|
|||
actorNew->spr.xrepeat = 64;
|
||||
actorNew->spr.yrepeat = 64;
|
||||
actorNew->spr.yvel = 2*RINGMOVETICS;
|
||||
actorNew->spr.zvel = Z(3);
|
||||
actorNew->set_int_zvel(Z(3));
|
||||
actorNew->spr.pal = 0;
|
||||
|
||||
actorNew->spr.pos.Z = ActorZOfTop(actor) - 20;
|
||||
|
@ -11417,7 +11415,7 @@ void InitSpellNapalm(PLAYER* pp)
|
|||
actor->spr.xrepeat = 32;
|
||||
actor->spr.yrepeat = 32;
|
||||
actor->spr.clipdist = 0;
|
||||
actor->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actor->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
actor->spr.cstat |= (CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_YCENTER);
|
||||
actor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
|
||||
actor->user.Flags2 |= (SPR2_BLUR_TAPER_FAST);
|
||||
|
@ -11537,7 +11535,7 @@ int InitSpellMirv(PLAYER* pp)
|
|||
actorNew->spr.xrepeat = 72;
|
||||
actorNew->spr.yrepeat = 72;
|
||||
actorNew->spr.clipdist = 32 >> 2;
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_YCENTER);
|
||||
actorNew->spr.cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
|
||||
|
||||
|
@ -12178,7 +12176,7 @@ int WeaponAutoAim(DSWActor* actor, DSWActor* mislActor, short ang, bool test)
|
|||
else
|
||||
zh = tos + (siz * 0.25);
|
||||
|
||||
mislActor->spr.zvel = int((mislActor->spr.xvel * (zh - mislActor->spr.pos.Z)) / dist) * (zworldtoint / worldtoint);
|
||||
mislActor->set_int_zvel(int((mislActor->spr.xvel * (zh - mislActor->spr.pos.Z)) / dist) * (zworldtoint / worldtoint));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -12397,7 +12395,7 @@ int InitStar(PLAYER* pp)
|
|||
// zvel had to be tweaked alot for this weapon
|
||||
// MissileSetPos seemed to be pushing the sprite too far up or down when
|
||||
// the horizon was tilted. Never figured out why.
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (MissileSetPos(actorNew, DoStar, 1000))
|
||||
{
|
||||
KillActor(actorNew);
|
||||
|
@ -12437,7 +12435,7 @@ int InitStar(PLAYER* pp)
|
|||
actorNew2->user.Flags |= SPR_UNDERWATER;
|
||||
|
||||
zvel = -MulScale(pp->horizon.horiz.asq16(), HORIZ_MULT+STAR_HORIZ_ADJ, 16);
|
||||
actorNew2->spr.zvel = zvel >> 1;
|
||||
actorNew2->set_int_zvel(zvel >> 1);
|
||||
|
||||
if (MissileSetPos(actorNew2, DoStar, 1000))
|
||||
{
|
||||
|
@ -12480,7 +12478,7 @@ void InitHeartAttack(PLAYER* pp)
|
|||
actorNew->spr.xrepeat = 52;
|
||||
actorNew->spr.yrepeat = 52;
|
||||
actorNew->spr.clipdist = 0;
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
actorNew->spr.cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
|
||||
actorNew->user.Flags2 |= (SPR2_DONT_TARGET_OWNER);
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_INVISIBLE);
|
||||
|
@ -12782,7 +12780,7 @@ int InitLaser(PLAYER* pp)
|
|||
actorNew->spr.clipdist = 64L>>2;
|
||||
|
||||
// the slower the missile travels the less of a zvel it needs
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 11;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 11);
|
||||
|
||||
actorNew->user.WeaponNum = actor->user.WeaponNum;
|
||||
actorNew->user.Radius = 200;
|
||||
|
@ -12913,7 +12911,7 @@ int InitRail(PLAYER* pp)
|
|||
|
||||
actor->spr.clipdist = oclipdist;
|
||||
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1)
|
||||
{
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() - 4));
|
||||
|
@ -12981,7 +12979,7 @@ int InitZillaRail(DSWActor* actor)
|
|||
|
||||
actor->spr.clipdist = oclipdist;
|
||||
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (WeaponAutoAim(actor, actorNew, 32, false) == -1)
|
||||
{
|
||||
actorNew->spr.angle -= DAngle::fromBuild(4);
|
||||
|
@ -13090,7 +13088,7 @@ int InitRocket(PLAYER* pp)
|
|||
|
||||
actor->spr.clipdist = oclipdist;
|
||||
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1)
|
||||
{
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() - 5));
|
||||
|
@ -13194,7 +13192,7 @@ int InitBunnyRocket(PLAYER* pp)
|
|||
|
||||
actor->spr.clipdist = oclipdist;
|
||||
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1)
|
||||
{
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() - 5));
|
||||
|
@ -13286,7 +13284,7 @@ int InitNuke(PLAYER* pp)
|
|||
|
||||
actor->spr.clipdist = oclipdist;
|
||||
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1)
|
||||
{
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() - 5));
|
||||
|
@ -13362,7 +13360,7 @@ int InitEnemyNuke(DSWActor* actor)
|
|||
// enable smoke trail
|
||||
actorNew->user.Counter = 0;
|
||||
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (WeaponAutoAim(actor, actorNew, 32, false) == -1)
|
||||
{
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() - 5));
|
||||
|
@ -13426,7 +13424,7 @@ int InitMicro(PLAYER* pp)
|
|||
actorNew->spr.yrepeat = 24;
|
||||
actorNew->spr.xrepeat = 24;
|
||||
actorNew->spr.shade = -15;
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
actorNew->spr.clipdist = 64L>>2;
|
||||
|
||||
// randomize zvelocity
|
||||
|
@ -13479,7 +13477,7 @@ int InitMicro(PLAYER* pp)
|
|||
if (dist != 0)
|
||||
{
|
||||
double zh = ActorZOfTop(picked) + (ActorSizeZ(picked) * 0.25);
|
||||
actorNew->spr.zvel = (actorNew->spr.xvel * (zh - actorNew->spr.pos.Z) * zworldtoint) / dist;
|
||||
actorNew->set_int_zvel((actorNew->spr.xvel * (zh - actorNew->spr.pos.Z) * zworldtoint) / dist);
|
||||
}
|
||||
|
||||
actorNew->user.WpnGoalActor = ts->actor;
|
||||
|
@ -14470,7 +14468,6 @@ int InitTracerUzi(PLAYER* pp)
|
|||
actorNew->spr.xrepeat = 10;
|
||||
actorNew->spr.shade = -40;
|
||||
actorNew->set_int_zvel(0);
|
||||
//actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->spr.clipdist = 32 >> 2;
|
||||
|
||||
actorNew->user.WeaponNum = actor->user.WeaponNum;
|
||||
|
@ -14498,7 +14495,7 @@ int InitTracerUzi(PLAYER* pp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
actorNew->spr.zvel = int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.));
|
||||
actorNew->set_int_zvel(int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.)));
|
||||
|
||||
plActor->spr.clipdist = oclipdist;
|
||||
|
||||
|
@ -14539,7 +14536,7 @@ int InitTracerTurret(DSWActor* actor, DSWActor* Operator, fixed_t q16horiz)
|
|||
actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER);
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_INVISIBLE);
|
||||
|
||||
actorNew->spr.zvel = int(-MulScaleF(q16horiz, actorNew->spr.xvel * (1. / 8.), 16));
|
||||
actorNew->set_int_zvel(int(-MulScaleF(q16horiz, actorNew->spr.xvel * (1. / 8.), 16)));
|
||||
|
||||
WeaponAutoAim(actor, actorNew, 32, false);
|
||||
|
||||
|
@ -14924,7 +14921,7 @@ int InitTankShell(DSWActor* actor, PLAYER* pp)
|
|||
actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER);
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_INVISIBLE);
|
||||
|
||||
actorNew->spr.zvel = int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.));
|
||||
actorNew->set_int_zvel(int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.)));
|
||||
|
||||
WeaponAutoAim(actor, actorNew, 64, false);
|
||||
// a bit of randomness
|
||||
|
@ -14990,7 +14987,7 @@ int InitTurretMicro(DSWActor* actor, PLAYER* pp)
|
|||
actorNew->spr.yrepeat = 24;
|
||||
actorNew->spr.xrepeat = 24;
|
||||
actorNew->spr.shade = -15;
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
actorNew->spr.clipdist = 64L>>2;
|
||||
|
||||
// randomize zvelocity
|
||||
|
@ -15017,7 +15014,7 @@ int InitTurretMicro(DSWActor* actor, PLAYER* pp)
|
|||
if (dist != 0)
|
||||
{
|
||||
double zh = ActorZOfTop(picked) + (ActorSizeZ(picked) * 0.25);
|
||||
actorNew->spr.zvel = (actorNew->spr.xvel * (zh - actorNew->spr.pos.Z) * zworldtoint) / dist;
|
||||
actorNew->set_int_zvel((actorNew->spr.xvel * (zh - actorNew->spr.pos.Z) * zworldtoint) / dist);
|
||||
}
|
||||
|
||||
actorNew->user.WpnGoalActor = ts->actor;
|
||||
|
@ -15056,7 +15053,7 @@ int InitTurretRocket(DSWActor* actor, PLAYER* pp)
|
|||
actorNew->user.Flags2 |= (SPR2_SO_MISSILE);
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER);
|
||||
|
||||
actorNew->spr.zvel = int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.));
|
||||
actorNew->set_int_zvel(int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.)));
|
||||
|
||||
WeaponAutoAim(actor, actorNew, 64, false);
|
||||
// a bit of randomness
|
||||
|
@ -15090,7 +15087,7 @@ int InitTurretFireball(DSWActor* actor, PLAYER* pp)
|
|||
actorNew->user.Flags2 |= (SPR2_SO_MISSILE);
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER);
|
||||
|
||||
actorNew->spr.zvel = int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.));
|
||||
actorNew->set_int_zvel(int(-pp->horizon.horiz.asbuildf() * actorNew->spr.xvel * (1. / 8.)));
|
||||
|
||||
WeaponAutoAim(actor, actorNew, 64, false);
|
||||
// a bit of randomness
|
||||
|
@ -15122,7 +15119,7 @@ int InitTurretRail(DSWActor* actor, PLAYER* pp)
|
|||
actorNew->spr.yrepeat = 52;
|
||||
actorNew->spr.xrepeat = 52;
|
||||
actorNew->spr.shade = -15;
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
|
||||
actorNew->user.RotNum = 5;
|
||||
NewStateGroup(actorNew, &sg_Rail[0]);
|
||||
|
@ -15164,7 +15161,7 @@ int InitTurretLaser(DSWActor* actor, PLAYER* pp)
|
|||
actorNew->spr.shade = -15;
|
||||
|
||||
// the slower the missile travels the less of a zvel it needs
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 11;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 11);
|
||||
|
||||
actorNew->user.Radius = 200;
|
||||
actorNew->user.ceiling_dist = (1);
|
||||
|
@ -15894,7 +15891,7 @@ int InitGrenade(PLAYER* pp)
|
|||
if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew))
|
||||
actorNew->user.Flags |= (SPR_UNDERWATER);
|
||||
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
|
||||
auto oclipdist = actor->spr.clipdist;
|
||||
actor->spr.clipdist = 0;
|
||||
|
@ -15915,7 +15912,7 @@ int InitGrenade(PLAYER* pp)
|
|||
{
|
||||
auto_aim = true;
|
||||
}
|
||||
actorNew->spr.zvel = zvel;
|
||||
actorNew->set_int_zvel(zvel);
|
||||
|
||||
UpdateChange(actorNew);
|
||||
|
||||
|
@ -15962,8 +15959,7 @@ int InitSpriteGrenade(DSWActor* actor)
|
|||
actorNew->spr.cstat |= (CSTAT_SPRITE_BLOCK);
|
||||
|
||||
|
||||
//actorNew->spr.zvel = (-RandomRange(100) * HORIZ_MULT);
|
||||
actorNew->spr.zvel = -2000;
|
||||
actorNew->set_int_zvel(-2000);
|
||||
|
||||
UpdateChange(actorNew);
|
||||
|
||||
|
@ -16007,7 +16003,7 @@ int InitMine(PLAYER* pp)
|
|||
actorNew->spr.xrepeat = 32;
|
||||
actorNew->spr.shade = -15;
|
||||
actorNew->spr.clipdist = 128L>>2;
|
||||
actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9;
|
||||
actorNew->set_int_zvel(-pp->horizon.horiz.asq16() >> 9);
|
||||
actorNew->user.WeaponNum = actor->user.WeaponNum;
|
||||
actorNew->user.Radius = 200;
|
||||
actorNew->user.ceiling_dist = (5);
|
||||
|
@ -16158,7 +16154,7 @@ int InitFireball(PLAYER* pp)
|
|||
|
||||
actor->spr.clipdist = oclipdist;
|
||||
|
||||
actorNew->spr.zvel = zvel >> 1;
|
||||
actorNew->set_int_zvel(zvel >> 1);
|
||||
if (WeaponAutoAimZvel(pp->actor, actorNew, &zvel, 32, false) == -1)
|
||||
{
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() - 9));
|
||||
|
@ -16230,15 +16226,18 @@ int InitEnemyFireball(DSWActor* actor)
|
|||
// (velocity * difference between the target and the throwing star) /
|
||||
// distance
|
||||
if (dist != 0)
|
||||
actorNew->user.set_int_change_z(actorNew->spr.zvel = (GORO_FIREBALL_VELOCITY * (targ_z - actorNew->int_pos().Z)) / dist);
|
||||
|
||||
{
|
||||
actorNew->set_int_zvel((GORO_FIREBALL_VELOCITY * (targ_z - actorNew->int_pos().Z)) / dist);
|
||||
actorNew->user.set_int_change_z(actorNew->int_zvel());
|
||||
}
|
||||
// back up first one
|
||||
lastvel = actorNew->int_zvel();
|
||||
}
|
||||
else
|
||||
{
|
||||
// use the first calculations so the balls stay together
|
||||
actorNew->user.set_int_change_z(actorNew->spr.zvel = lastvel);
|
||||
actorNew->user.set_int_change_z(lastvel);
|
||||
actorNew->set_int_zvel(lastvel);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16644,7 +16643,7 @@ DSWActor* SpawnBubble(DSWActor* actor)
|
|||
actorNew->user.floor_dist = 1;
|
||||
actorNew->spr.shade = actor->sector()->floorshade - 10;
|
||||
actorNew->user.WaitTics = 120 * 120;
|
||||
actorNew->spr.zvel = 512;
|
||||
actorNew->set_int_zvel(512);
|
||||
actorNew->spr.clipdist = 12 >> 2;
|
||||
actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER);
|
||||
actorNew->user.Flags |= (SPR_UNDERWATER);
|
||||
|
@ -16688,7 +16687,7 @@ int SpawnVehicleSmoke(DSWActor* actor)
|
|||
actorNew->spr.angle = RANDOM_ANGLE();
|
||||
actorNew->spr.xvel = RANDOM_P2(32);
|
||||
UpdateChangeXY(actorNew);
|
||||
actorNew->spr.zvel = Z(4) + RANDOM_P2(Z(4));
|
||||
actorNew->set_int_zvel(Z(4) + RANDOM_P2(Z(4)));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -16712,7 +16711,7 @@ int SpawnSmokePuff(DSWActor* actor)
|
|||
actorNew->spr.angle = RANDOM_ANGLE();
|
||||
actorNew->spr.xvel = RANDOM_P2(32);
|
||||
UpdateChangeXY(actorNew);
|
||||
actorNew->spr.zvel = Z(1) + RANDOM_P2(Z(2));
|
||||
actorNew->set_int_zvel(Z(1) + RANDOM_P2(Z(2)));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -16724,7 +16723,7 @@ int DoBubble(DSWActor* actor)
|
|||
actor->spr.zvel += 32;
|
||||
|
||||
if (actor->int_zvel() > 768)
|
||||
actor->spr.zvel = 768;
|
||||
actor->set_int_zvel(768);
|
||||
|
||||
// notreallypos
|
||||
actor->user.pos.X += 1;
|
||||
|
|
Loading…
Reference in a new issue