mirror of
https://github.com/DrBeef/Raze.git
synced 2025-04-07 00:01:57 +00:00
- set_int_xvel
This commit is contained in:
parent
fb1a9881e3
commit
ec88d1ea6c
39 changed files with 172 additions and 188 deletions
|
@ -496,7 +496,7 @@ void moveplayers(void)
|
|||
|
||||
if (act->spr.extra < 8)
|
||||
{
|
||||
act->spr.xvel = 128;
|
||||
act->set_int_xvel(128);
|
||||
act->spr.angle = p->angle.ang;
|
||||
act->spr.extra++;
|
||||
ssp(act, CLIPMASK0);
|
||||
|
@ -1000,7 +1000,7 @@ void movemasterswitch(DDukeActor *actor)
|
|||
|
||||
void movetrash(DDukeActor *actor)
|
||||
{
|
||||
if (actor->int_xvel() == 0) actor->spr.xvel = 1;
|
||||
if (actor->int_xvel() == 0) actor->set_int_xvel(1);
|
||||
if (ssp(actor, CLIPMASK0))
|
||||
{
|
||||
makeitfall(actor);
|
||||
|
@ -1286,7 +1286,7 @@ void bounce(DDukeActor* actor)
|
|||
}
|
||||
|
||||
actor->set_int_zvel(zvect);
|
||||
actor->spr.xvel = ksqrt(DMulScale(xvect, xvect, yvect, yvect, 8));
|
||||
actor->set_int_xvel(ksqrt(DMulScale(xvect, xvect, yvect, yvect, 8)));
|
||||
actor->spr.angle = VecToAngle(xvect, yvect);
|
||||
}
|
||||
|
||||
|
@ -1519,8 +1519,8 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball)
|
|||
if (act2 == nullptr)
|
||||
{
|
||||
if (actor->spr.pal == 12)
|
||||
actor->spr.xvel = 164;
|
||||
else actor->spr.xvel = 140;
|
||||
actor->set_int_xvel(164);
|
||||
else actor->set_int_xvel(140);
|
||||
actor->set_int_ang(ps[p].angle.ang.Buildang());
|
||||
ps[p].toggle_key_flag = 2;
|
||||
}
|
||||
|
@ -1530,7 +1530,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball)
|
|||
if (x < 512 && actor->sector() == ps[p].cursector)
|
||||
{
|
||||
actor->spr.angle = VecToAngle(actor->spr.pos.XY() - ps[p].pos.XY());
|
||||
actor->spr.xvel = 48;
|
||||
actor->set_int_xvel(48);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -1559,7 +1559,7 @@ void forcesphere(DDukeActor* actor, int forcesphere)
|
|||
k->spr.clipdist = 64;
|
||||
k->set_int_ang(j);
|
||||
k->set_int_zvel(bsin(l, -5));
|
||||
k->spr.xvel = bcos(l, -9);
|
||||
k->set_int_xvel(bcos(l, -9));
|
||||
k->SetOwner(actor);
|
||||
}
|
||||
}
|
||||
|
@ -1638,7 +1638,7 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p
|
|||
if ((actor->temp_data[2] & 3) == 0) spawn(actor, explosion);
|
||||
getglobalz(actor);
|
||||
actor->add_int_ang(96);
|
||||
actor->spr.xvel = 128;
|
||||
actor->set_int_xvel(128);
|
||||
int j = ssp(actor, CLIPMASK0);
|
||||
if (j != 1 || actor->spr.pos.Z > actor->floorz)
|
||||
{
|
||||
|
@ -2095,7 +2095,7 @@ bool money(DDukeActor* actor, int BLOODPOOL)
|
|||
{
|
||||
auto sectp = actor->sector();
|
||||
|
||||
actor->spr.xvel = (krand() & 7) + bsin(actor->temp_data[0], -9);
|
||||
actor->set_int_xvel((krand() & 7) + bsin(actor->temp_data[0], -9));
|
||||
actor->temp_data[0] += (krand() & 63);
|
||||
if ((actor->temp_data[0] & 2047) > 512 && (actor->temp_data[0] & 2047) < 1596)
|
||||
{
|
||||
|
@ -2646,7 +2646,7 @@ void handle_se00(DDukeActor* actor)
|
|||
else l = 1;
|
||||
if (actor->temp_data[3] == 0)
|
||||
actor->temp_data[3] = ldist(actor, Owner);
|
||||
actor->spr.xvel = actor->temp_data[3];
|
||||
actor->set_int_xvel(actor->temp_data[3]);
|
||||
actor->spr.pos.XY() = Owner->spr.pos.XY();
|
||||
actor->add_int_ang((l * q));
|
||||
actor->temp_data[2] += (l * q);
|
||||
|
@ -3112,7 +3112,7 @@ void handle_se02(DDukeActor* actor)
|
|||
{
|
||||
actor->temp_data[0]++;
|
||||
|
||||
actor->spr.xvel = 3;
|
||||
actor->set_int_xvel(3);
|
||||
|
||||
if (actor->temp_data[0] > 96)
|
||||
{
|
||||
|
@ -3329,7 +3329,7 @@ void handle_se05(DDukeActor* actor, int FIRELASER)
|
|||
return;
|
||||
|
||||
}
|
||||
else actor->spr.xvel = 256;
|
||||
else actor->set_int_xvel(256);
|
||||
|
||||
x = getangle(Owner->spr.pos.XY() - actor->spr.pos.XY());
|
||||
int q = getincangle(actor->int_ang(), x) >> 3;
|
||||
|
@ -3708,7 +3708,7 @@ void handle_se15(DDukeActor* actor)
|
|||
{
|
||||
if (actor->temp_data[4])
|
||||
{
|
||||
actor->spr.xvel = 16;
|
||||
actor->set_int_xvel(16);
|
||||
|
||||
if (actor->temp_data[4] == 1) //Opening
|
||||
{
|
||||
|
@ -4113,8 +4113,8 @@ void handle_se20(DDukeActor* actor)
|
|||
auto sc = actor->sector();
|
||||
|
||||
if (actor->temp_data[0] == 0) return;
|
||||
if (actor->temp_data[0] == 1) actor->spr.xvel = 8;
|
||||
else actor->spr.xvel = -8;
|
||||
if (actor->temp_data[0] == 1) actor->set_int_xvel(8);
|
||||
else actor->set_int_xvel(-8);
|
||||
|
||||
if(actor->float_xvel() != 0) //Moving
|
||||
{
|
||||
|
@ -4237,7 +4237,7 @@ void handle_se26(DDukeActor* actor)
|
|||
auto sc = actor->sector();
|
||||
double zvel = actor->float_zvel();
|
||||
|
||||
actor->spr.xvel = 32;
|
||||
actor->set_int_xvel(32);
|
||||
DVector2 vect = 2 * actor->spr.angle.ToVector(); // was: (32 * bsin) >> 14
|
||||
|
||||
actor->spr.shade++;
|
||||
|
@ -4515,7 +4515,7 @@ void handle_se35(DDukeActor *actor, int SMALLSMOKE, int EXPLOSION2)
|
|||
auto spawned = spawn(actor, SMALLSMOKE);
|
||||
if (spawned)
|
||||
{
|
||||
spawned->spr.xvel = 96 + (krand() & 127);
|
||||
spawned->set_int_xvel(96 + (krand() & 127));
|
||||
ssp(spawned, CLIPMASK0);
|
||||
SetActor(spawned, spawned->spr.pos);
|
||||
if (rnd(16))
|
||||
|
@ -4608,7 +4608,7 @@ void handle_se130(DDukeActor *actor, int countmax, int EXPLOSION2)
|
|||
k->spr.xrepeat = k->spr.yrepeat = 2 + (krand() & 7);
|
||||
k->set_int_z(sc->int_floorz() - (krand() % x));
|
||||
k->add_int_ang(256 - (krand() % 511));
|
||||
k->spr.xvel = krand() & 127;
|
||||
k->set_int_xvel(krand() & 127);
|
||||
ssp(k, CLIPMASK0);
|
||||
}
|
||||
}
|
||||
|
@ -4786,14 +4786,14 @@ void getglobalz(DDukeActor* actor)
|
|||
if( actor->spr.statnum != STAT_PROJECTILE)
|
||||
{
|
||||
actor->spr.cstat2 |= CSTAT2_SPRITE_NOSHADOW; // No shadows on actors
|
||||
actor->spr.xvel = -256;
|
||||
actor->set_int_xvel(-256);
|
||||
ssp(actor, CLIPMASK0);
|
||||
}
|
||||
}
|
||||
else if(lz.actor()->isPlayer() && badguy(actor) )
|
||||
{
|
||||
actor->spr.cstat2 |= CSTAT2_SPRITE_NOSHADOW; // No shadows on actors
|
||||
actor->spr.xvel = -256;
|
||||
actor->set_int_xvel(-256);
|
||||
ssp(actor, CLIPMASK0);
|
||||
}
|
||||
else if(actor->spr.statnum == STAT_PROJECTILE && lz.actor()->isPlayer() && actor->GetOwner() == actor)
|
||||
|
|
|
@ -749,7 +749,7 @@ void movefallers_d(void)
|
|||
act->spr.lotag-=3;
|
||||
if (act->spr.lotag <= 0)
|
||||
{
|
||||
act->spr.xvel = (32 + (krand() & 63));
|
||||
act->set_int_xvel((32 + (krand() & 63)));
|
||||
act->set_int_zvel(-(1024 + (krand() & 1023)));
|
||||
}
|
||||
}
|
||||
|
@ -832,7 +832,7 @@ static void movetripbomb(DDukeActor *actor)
|
|||
if (spawned)
|
||||
{
|
||||
spawned->spr.angle = actor->spr.angle;
|
||||
spawned->spr.xvel = 348;
|
||||
spawned->set_int_xvel(348);
|
||||
ssp(spawned, CLIPMASK0);
|
||||
}
|
||||
|
||||
|
@ -1313,7 +1313,7 @@ static bool movefireball(DDukeActor* actor)
|
|||
{
|
||||
actor->temp_actor = ball;
|
||||
|
||||
ball->spr.xvel = actor->int_xvel();
|
||||
ball->set_int_xvel(actor->int_xvel());
|
||||
ball->spr.yvel = actor->spr.yvel;
|
||||
ball->set_int_zvel(actor->int_zvel());
|
||||
if (actor->temp_data[0] > 1)
|
||||
|
@ -1322,7 +1322,7 @@ static bool movefireball(DDukeActor* actor)
|
|||
{
|
||||
FireProj* proj = &trail->fproj;
|
||||
ball->spr.pos = trail->temp_pos;
|
||||
ball->spr.xvel = proj->vel.X;
|
||||
ball->set_int_xvel(proj->vel.X);
|
||||
ball->spr.yvel = proj->vel.Y;
|
||||
ball->set_int_zvel(proj->vel.Z);
|
||||
}
|
||||
|
@ -1980,7 +1980,7 @@ void movetransports_d(void)
|
|||
auto k = spawn(act2, WATERSPLASH2);
|
||||
if (k && sectlotag == 1 && act2->spr.statnum == 4)
|
||||
{
|
||||
k->spr.xvel = act2->spr.xvel >> 1;
|
||||
k->set_int_xvel(act2->spr.xvel >> 1);
|
||||
k->spr.angle = act2->spr.angle;
|
||||
ssp(k, CLIPMASK0);
|
||||
}
|
||||
|
@ -2375,7 +2375,7 @@ static void greenslime(DDukeActor *actor)
|
|||
else
|
||||
{
|
||||
if (actor->int_xvel() < 32) actor->spr.xvel += 4;
|
||||
actor->spr.xvel = 64 - bcos(actor->temp_data[1], -9);
|
||||
actor->set_int_xvel(64 - bcos(actor->temp_data[1], -9));
|
||||
|
||||
actor->add_int_ang(getincangle(actor->int_ang(),
|
||||
getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 3);
|
||||
|
@ -3172,17 +3172,17 @@ void handle_se06_d(DDukeActor* actor)
|
|||
if (actor->temp_data[4] < ((k >> 1) - (k >> 3)))
|
||||
{
|
||||
actor->temp_data[4] = 0;
|
||||
actor->spr.xvel = k;
|
||||
actor->set_int_xvel(k);
|
||||
}
|
||||
}
|
||||
else actor->spr.xvel = k;
|
||||
else actor->set_int_xvel(k);
|
||||
|
||||
DukeStatIterator it(STAT_EFFECTOR);
|
||||
while (auto act2 = it.Next())
|
||||
{
|
||||
if ((act2->spr.lotag == 14) && (sh == act2->spr.hitag) && (act2->temp_data[0] == actor->temp_data[0]))
|
||||
{
|
||||
act2->spr.xvel = actor->int_xvel();
|
||||
act2->set_int_xvel(actor->int_xvel());
|
||||
//if( actor->temp_data[4] == 1 )
|
||||
{
|
||||
if (act2->temp_data[5] == 0)
|
||||
|
|
|
@ -667,7 +667,7 @@ void movefallers_r(void)
|
|||
if (act->spr.lotag > 0)
|
||||
{
|
||||
act->spr.lotag -= 3;
|
||||
act->spr.xvel = ((64 + krand()) & 127);
|
||||
act->set_int_xvel(((64 + krand()) & 127));
|
||||
act->set_int_zvel(-(1024 + (krand() & 1023)));
|
||||
}
|
||||
else
|
||||
|
@ -1657,7 +1657,7 @@ void movetransports_r(void)
|
|||
auto spawned = spawn(act2, WATERSPLASH2);
|
||||
if (spawned && sectlotag == 1 && act2->spr.statnum == 4)
|
||||
{
|
||||
spawned->spr.xvel = act2->spr.xvel >> 1;
|
||||
spawned->set_int_xvel(act2->spr.xvel >> 1);
|
||||
spawned->spr.angle = act2->spr.angle;
|
||||
ssp(spawned, CLIPMASK0);
|
||||
}
|
||||
|
@ -2583,7 +2583,7 @@ static int henstand(DDukeActor *actor)
|
|||
deletesprite(hitact);
|
||||
if (ns)
|
||||
{
|
||||
ns->spr.xvel = 32;
|
||||
ns->set_int_xvel(32);
|
||||
ns->spr.lotag = 40;
|
||||
ns->spr.angle = actor->spr.angle;
|
||||
}
|
||||
|
@ -3159,7 +3159,7 @@ void handle_se06_r(DDukeActor *actor)
|
|||
if (actor->temp_data[4] < ((k >> 1) - (k >> 3)))
|
||||
{
|
||||
actor->temp_data[4] = 0;
|
||||
actor->spr.xvel = k;
|
||||
actor->set_int_xvel(k);
|
||||
if ((!isRRRA() || lastlevel) && hulkspawn)
|
||||
{
|
||||
hulkspawn--;
|
||||
|
@ -3194,7 +3194,7 @@ void handle_se06_r(DDukeActor *actor)
|
|||
}
|
||||
else
|
||||
{
|
||||
actor->spr.xvel = k;
|
||||
actor->set_int_xvel(k);
|
||||
DukeSectIterator it(actor->sector());
|
||||
while (auto a2 = it.Next())
|
||||
{
|
||||
|
@ -3234,7 +3234,7 @@ void handle_se06_r(DDukeActor *actor)
|
|||
{
|
||||
if ((act2->spr.lotag == 14) && (sh == act2->spr.hitag) && (act2->temp_data[0] == actor->temp_data[0]))
|
||||
{
|
||||
act2->spr.xvel = actor->int_xvel();
|
||||
act2->set_int_xvel(actor->int_xvel());
|
||||
// if( actor->temp_data[4] == 1 )
|
||||
{
|
||||
if (act2->temp_data[5] == 0)
|
||||
|
|
|
@ -1237,7 +1237,7 @@ void DoActor(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor,
|
|||
else SetGameVarID(lVar2, act->spr.intowner, sActor, sPlayer);
|
||||
break;
|
||||
case ACTOR_XVEL:
|
||||
if (bSet) act->spr.xvel = lValue;
|
||||
if (bSet) act->set_int_xvel(lValue);
|
||||
else SetGameVarID(lVar2, act->int_xvel(), sActor, sPlayer);
|
||||
break;
|
||||
case ACTOR_YVEL:
|
||||
|
@ -1612,7 +1612,7 @@ int ParseState::parse(void)
|
|||
|
||||
case concmd_rndmove:
|
||||
g_ac->set_int_ang(krand() & 2047);
|
||||
g_ac->spr.xvel = 25;
|
||||
g_ac->set_int_xvel(25);
|
||||
insptr++;
|
||||
break;
|
||||
case concmd_mamatrigger:
|
||||
|
|
|
@ -1056,7 +1056,7 @@ void shootbloodsplat(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i
|
|||
auto spawned = spawn(actor, atwith);
|
||||
if (spawned)
|
||||
{
|
||||
spawned->spr.xvel = -12;
|
||||
spawned->set_int_xvel(-12);
|
||||
spawned->set_int_ang(getangle(-hit.hitWall->delta()) + 512); // note the '-' sign here!
|
||||
spawned->spr.pos = hit.hitpos;
|
||||
spawned->spr.cstat |= randomXFlip();
|
||||
|
|
|
@ -195,7 +195,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->set_int_xvel(vel * worldtoint);
|
||||
spawned->set_int_zvel(zvel * 256);
|
||||
}
|
||||
|
||||
|
@ -297,7 +297,7 @@ static void shootknee(DDukeActor* actor, int p, int sx, int sy, int sz, int sa)
|
|||
{
|
||||
splash->spr.pos.XY() = hit.hitpos.XY();
|
||||
splash->spr.angle = ps[p].angle.ang; // Total tweek
|
||||
splash->spr.xvel = 32;
|
||||
splash->set_int_xvel(32);
|
||||
ssp(actor, CLIPMASK0);
|
||||
splash->clear_xvel();
|
||||
}
|
||||
|
@ -442,7 +442,7 @@ static void shootweapon(DDukeActor *actor, int p, int sx, int sy, int sz, int sa
|
|||
if (jib)
|
||||
{
|
||||
jib->spr.pos.Z += 4;
|
||||
jib->spr.xvel = 16;
|
||||
jib->set_int_xvel(16);
|
||||
jib->spr.xrepeat = jib->spr.yrepeat = 24;
|
||||
jib->add_int_ang(64 - (krand() & 127));
|
||||
}
|
||||
|
@ -512,7 +512,7 @@ static void shootweapon(DDukeActor *actor, int p, int sx, int sy, int sz, int sa
|
|||
auto hole = spawn(spark, BULLETHOLE);
|
||||
if (hole)
|
||||
{
|
||||
hole->spr.xvel = -1;
|
||||
hole->set_int_xvel(-1);
|
||||
hole->set_int_ang(getangle(-hit.hitWall->delta()) + 512);
|
||||
ssp(hole, CLIPMASK0);
|
||||
hole->spr.cstat2 |= CSTAT2_SPRITE_DECAL;
|
||||
|
@ -648,9 +648,9 @@ static void shootstuff(DDukeActor* actor, int p, int sx, int sy, int sz, int sa,
|
|||
if (actor->spr.picnum == BOSS2)
|
||||
{
|
||||
l = spawned->spr.xvel;
|
||||
spawned->spr.xvel = 1024;
|
||||
spawned->set_int_xvel(1024);
|
||||
ssp(spawned, CLIPMASK0);
|
||||
spawned->spr.xvel = l;
|
||||
spawned->set_int_xvel(l);
|
||||
spawned->add_int_ang(128 - (krand() & 255));
|
||||
}
|
||||
}
|
||||
|
@ -885,7 +885,7 @@ static void shootlaser(DDukeActor* actor, int p, int sx, int sy, int sz, int sa)
|
|||
ud.bomb_tag = (ud.bomb_tag + 1) & 32767;
|
||||
bomb->spr.hitag = ud.bomb_tag;
|
||||
S_PlayActorSound(LASERTRIP_ONWALL, bomb);
|
||||
bomb->spr.xvel = -20;
|
||||
bomb->set_int_xvel(-20);
|
||||
ssp(bomb, CLIPMASK0);
|
||||
bomb->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL;
|
||||
auto delta = hit.hitWall->delta();
|
||||
|
@ -1064,7 +1064,7 @@ void shoot_d(DDukeActor* actor, int atwith)
|
|||
k->setsector(sect);
|
||||
k->spr.pos = spos;
|
||||
k->spr.angle = sang;
|
||||
k->spr.xvel = 500;
|
||||
k->set_int_xvel(500);
|
||||
k->clear_zvel();
|
||||
}
|
||||
return;
|
||||
|
@ -2862,7 +2862,7 @@ void processinput_d(int snum)
|
|||
|
||||
p->playerweaponsway(pact->spr.xvel);
|
||||
|
||||
pact->spr.xvel = int(clamp((p->pos.XY() - p->bobpos).Length(), 0., 32.) * worldtoint);
|
||||
pact->set_int_xvel(int(clamp((p->pos.XY() - p->bobpos).Length(), 0., 32.) * worldtoint));
|
||||
if (p->on_ground) p->bobcounter += p->GetActor()->spr.xvel >> 1;
|
||||
|
||||
p->backuppos(ud.clipping == 0 && ((p->insector() && p->cursector->floorpicnum == MIRROR) || !p->insector()));
|
||||
|
|
|
@ -187,7 +187,7 @@ static void shootmelee(DDukeActor *actor, int p, int sx, int sy, int sz, int sa,
|
|||
{
|
||||
splash->spr.pos.XY() = hit.hitpos.XY();
|
||||
splash->spr.angle = ps[p].angle.ang; // Total tweek
|
||||
splash->spr.xvel = 32;
|
||||
splash->set_int_xvel(32);
|
||||
ssp(actor, 0);
|
||||
splash->clear_xvel();
|
||||
}
|
||||
|
@ -335,7 +335,7 @@ static void shootweapon(DDukeActor* actor, int p, int sx, int sy, int sz, int sa
|
|||
if (l)
|
||||
{
|
||||
l->spr.pos.Z += 4;
|
||||
l->spr.xvel = 16;
|
||||
l->set_int_xvel(16);
|
||||
l->spr.xrepeat = l->spr.yrepeat = 24;
|
||||
l->add_int_ang(64 - (krand() & 127));
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ static void shootweapon(DDukeActor* actor, int p, int sx, int sy, int sz, int sa
|
|||
auto hole = spawn(spark, BULLETHOLE);
|
||||
if (hole)
|
||||
{
|
||||
hole->spr.xvel = -1;
|
||||
hole->set_int_xvel(-1);
|
||||
hole->set_int_ang(getangle(-hit.hitWall->delta()) + 512);
|
||||
ssp(hole, CLIPMASK0);
|
||||
hole->spr.cstat2 |= CSTAT2_SPRITE_DECAL;
|
||||
|
@ -891,7 +891,7 @@ void shoot_r(DDukeActor* actor, int atwith)
|
|||
auto j = spawn(actor, atwith);
|
||||
if (j)
|
||||
{
|
||||
j->spr.xvel = 32;
|
||||
j->set_int_xvel(32);
|
||||
j->spr.angle = actor->spr.angle;
|
||||
j->spr.pos.Z -= 5;
|
||||
}
|
||||
|
@ -902,7 +902,7 @@ void shoot_r(DDukeActor* actor, int atwith)
|
|||
auto j = spawn(actor, atwith);
|
||||
if (j)
|
||||
{
|
||||
j->spr.xvel = 250;
|
||||
j->set_int_xvel(250);
|
||||
j->spr.angle = actor->spr.angle;
|
||||
j->spr.pos.Z -= 15;
|
||||
}
|
||||
|
@ -3581,7 +3581,7 @@ void processinput_r(int snum)
|
|||
|
||||
p->playerweaponsway(pact->spr.xvel);
|
||||
|
||||
pact->spr.xvel = int(clamp((p->pos.XY() - p->bobpos).Length(), 0., 32.) * worldtoint);
|
||||
pact->set_int_xvel(int(clamp((p->pos.XY() - p->bobpos).Length(), 0., 32.) * worldtoint));
|
||||
if (p->on_ground) p->bobcounter += p->GetActor()->spr.xvel >> 1;
|
||||
|
||||
p->backuppos(ud.clipping == 0 && ((p->insector() && p->cursector->floorpicnum == MIRROR) || !p->insector()));
|
||||
|
|
|
@ -1040,7 +1040,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
case STRIPEBALL:
|
||||
if (proj->spr.picnum == QUEBALL || proj->spr.picnum == STRIPEBALL)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->set_int_xvel((targ->spr.xvel >> 1) + (targ->spr.xvel >> 2));
|
||||
proj->add_int_ang(-((targ->int_ang() << 1) + 1024));
|
||||
targ->set_int_ang(getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512);
|
||||
if (S_CheckSoundPlaying(POOLBALLHIT) < 2)
|
||||
|
@ -1050,7 +1050,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
{
|
||||
if (krand() & 3)
|
||||
{
|
||||
targ->spr.xvel = 164;
|
||||
targ->set_int_xvel(164);
|
||||
targ->spr.angle = proj->spr.angle;
|
||||
}
|
||||
else
|
||||
|
@ -1367,7 +1367,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
if (proj->spr.pal == 6)
|
||||
spawned->spr.pal = 6;
|
||||
spawned->spr.pos.Z += 4;
|
||||
spawned->spr.xvel = 16;
|
||||
spawned->set_int_xvel(16);
|
||||
spawned->spr.xrepeat = spawned->spr.yrepeat = 24;
|
||||
spawned->add_int_ang(32 - (krand() & 63));
|
||||
}
|
||||
|
@ -1388,7 +1388,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
{
|
||||
if ((targ->spr.cstat & CSTAT_SPRITE_ALIGNMENT_MASK) == 0)
|
||||
targ->set_int_ang((proj->int_ang() + 1024) & 2047);
|
||||
targ->spr.xvel = -(proj->spr.extra << 2);
|
||||
targ->set_int_xvel(-(proj->spr.extra << 2));
|
||||
auto sp = targ->sector();
|
||||
pushmove(targ, &sp, 128L, (4 << 8), (4 << 8), CLIPMASK0);
|
||||
if (sp != targ->sector() && sp != nullptr)
|
||||
|
|
|
@ -2063,7 +2063,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
EGS(targ->sector(), targ->int_pos().X, targ->int_pos().Y, targ->int_pos().Z - (8 << 8), SCRAP6 + (krand() & 15), -8, 48, 48, krand() & 2047, (krand() & 63) + 64, -(krand() & 4095) - (targ->int_zvel() >> 2), targ, 5);
|
||||
break;
|
||||
case BOWLINGBALL:
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->set_int_xvel((targ->spr.xvel >> 1) + (targ->spr.xvel >> 2));
|
||||
proj->add_int_ang(-(krand() & 16));
|
||||
S_PlayActorSound(355, targ);
|
||||
break;
|
||||
|
@ -2076,7 +2076,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
case HENSTAND + 1:
|
||||
if (proj->spr.picnum == QUEBALL || proj->spr.picnum == STRIPEBALL)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->set_int_xvel((targ->spr.xvel >> 1) + (targ->spr.xvel >> 2));
|
||||
proj->add_int_ang(-((targ->int_ang() << 1) + 1024));
|
||||
targ->set_int_ang(getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512);
|
||||
if (S_CheckSoundPlaying(POOLBALLHIT) < 2)
|
||||
|
@ -2084,14 +2084,14 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
}
|
||||
else if (proj->spr.picnum == BOWLINGPIN || proj->spr.picnum == BOWLINGPIN + 1)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->set_int_xvel((targ->spr.xvel >> 1) + (targ->spr.xvel >> 2));
|
||||
proj->add_int_ang(-(((targ->int_ang() << 1) + krand()) & 64));
|
||||
targ->set_int_ang((targ->int_ang() + krand()) & 16);
|
||||
S_PlayActorSound(355, targ);
|
||||
}
|
||||
else if (proj->spr.picnum == HENSTAND || proj->spr.picnum == HENSTAND + 1)
|
||||
{
|
||||
proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2);
|
||||
proj->set_int_xvel((targ->spr.xvel >> 1) + (targ->spr.xvel >> 2));
|
||||
proj->add_int_ang(-(((targ->int_ang() << 1) + krand()) & 16));
|
||||
targ->set_int_ang((targ->int_ang() + krand()) & 16);
|
||||
S_PlayActorSound(355, targ);
|
||||
|
@ -2100,7 +2100,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
{
|
||||
if (krand() & 3)
|
||||
{
|
||||
targ->spr.xvel = 164;
|
||||
targ->set_int_xvel(164);
|
||||
targ->spr.angle = proj->spr.angle;
|
||||
}
|
||||
}
|
||||
|
@ -2332,7 +2332,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
if (proj->spr.pal == 6)
|
||||
spawned->spr.pal = 6;
|
||||
spawned->spr.pos.Z += 4;
|
||||
spawned->spr.xvel = 16;
|
||||
spawned->set_int_xvel(16);
|
||||
spawned->spr.xrepeat = spawned->spr.yrepeat = 24;
|
||||
spawned->add_int_ang(32 - (krand() & 63));
|
||||
}
|
||||
|
|
|
@ -71,7 +71,7 @@ DDukeActor* CreateActor(sectortype* whatsectp, const DVector3& pos, int s_pn, in
|
|||
act->spr.pal = 0;
|
||||
|
||||
act->set_int_ang(s_a);
|
||||
act->spr.xvel = s_ve;
|
||||
act->set_int_xvel(s_ve);
|
||||
act->set_int_zvel(s_zv);
|
||||
act->spr.xoffset = 0;
|
||||
act->spr.yoffset = 0;
|
||||
|
@ -328,7 +328,7 @@ void spawntransporter(DDukeActor *actj, DDukeActor* act, bool beam)
|
|||
act->spr.cstat = CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
|
||||
act->spr.angle = actj->spr.angle;
|
||||
|
||||
act->spr.xvel = 128;
|
||||
act->set_int_xvel(128);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
ssp(act, CLIPMASK0);
|
||||
SetActor(act, act->spr.pos);
|
||||
|
@ -456,12 +456,12 @@ void initshell(DDukeActor* actj, DDukeActor* act, bool isshell)
|
|||
{
|
||||
// to the right, with feeling
|
||||
act->spr.angle = ang + DAngle90;
|
||||
act->spr.xvel = 30;
|
||||
act->set_int_xvel(30);
|
||||
}
|
||||
else
|
||||
{
|
||||
act->spr.angle = ang - DAngle90;
|
||||
act->spr.xvel = 20;
|
||||
act->set_int_xvel(20);
|
||||
}
|
||||
|
||||
act->spr.xrepeat = act->spr.yrepeat = isRR() && isshell? 2 : 4;
|
||||
|
@ -534,7 +534,7 @@ void initwaterdrip(DDukeActor* actj, DDukeActor* actor)
|
|||
}
|
||||
else actor->spr.pos.Z -= 13;
|
||||
actor->spr.angle = VecToAngle(ps[connecthead].pos.XY() - actor->spr.pos.XY());
|
||||
actor->spr.xvel = 48 - (krand() & 31);
|
||||
actor->set_int_xvel(48 - (krand() & 31));
|
||||
ssp(actor, CLIPMASK0);
|
||||
}
|
||||
else if (!actj)
|
||||
|
|
|
@ -204,7 +204,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.angle = actj->spr.angle;
|
||||
act->spr.pos.Z -= gs.playerheight;
|
||||
act->set_int_zvel(256 - (krand() & 511));
|
||||
act->spr.xvel = 64 - (krand() & 127);
|
||||
act->set_int_xvel(64 - (krand() & 127));
|
||||
ChangeActorStat(act, 4);
|
||||
break;
|
||||
case NATURALLIGHTNING:
|
||||
|
@ -336,7 +336,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
ud.bomb_tag = (ud.bomb_tag + 1) & 32767;
|
||||
act->spr.hitag = ud.bomb_tag;
|
||||
|
||||
act->spr.xvel = 16;
|
||||
act->set_int_xvel(16);
|
||||
ssp(act, CLIPMASK0);
|
||||
act->temp_data[0] = 17;
|
||||
act->temp_data[2] = 0;
|
||||
|
@ -515,10 +515,9 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
[[fallthrough]];
|
||||
case DUKECAR:
|
||||
case HELECOPT:
|
||||
// if(act->spr.picnum == HELECOPT || act->spr.picnum == DUKECAR) act->spr.xvel = 1024;
|
||||
act->spr.cstat = 0;
|
||||
act->spr.extra = 1;
|
||||
act->spr.xvel = 292;
|
||||
act->set_int_xvel(292);
|
||||
act->set_int_zvel(360);
|
||||
[[fallthrough]];
|
||||
case RESPAWNMARKERRED:
|
||||
|
@ -1108,7 +1107,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.angle = actj->spr.angle;
|
||||
act->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
|
||||
act->spr.xrepeat = act->spr.yrepeat = 1;
|
||||
act->spr.xvel = -8;
|
||||
act->set_int_xvel(-8);
|
||||
ssp(act, CLIPMASK0);
|
||||
}
|
||||
[[fallthrough]];
|
||||
|
@ -1163,7 +1162,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.pal = 0;
|
||||
act->SetOwner(act);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
act->spr.xvel = 8;
|
||||
act->set_int_xvel(8);
|
||||
ssp(act, CLIPMASK0);
|
||||
break;
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.angle = actj->spr.angle;
|
||||
act->spr.pos.Z -= gs.playerheight;
|
||||
act->set_int_zvel(256 - (krand() & 511));
|
||||
act->spr.xvel = 64 - (krand() & 127);
|
||||
act->set_int_xvel(64 - (krand() & 127));
|
||||
ChangeActorStat(act, 4);
|
||||
break;
|
||||
case TRANSPORTERSTAR:
|
||||
|
@ -487,7 +487,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.clipdist = 8;
|
||||
act->spr.xrepeat = 32;
|
||||
act->spr.yrepeat = 26;
|
||||
act->spr.xvel = 32;
|
||||
act->set_int_xvel(32);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3120:
|
||||
|
@ -495,7 +495,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.clipdist = 8;
|
||||
act->spr.xrepeat = 12;
|
||||
act->spr.yrepeat = 10;
|
||||
act->spr.xvel = 32;
|
||||
act->set_int_xvel(32);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3122:
|
||||
|
@ -503,7 +503,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.clipdist = 2;
|
||||
act->spr.xrepeat = 8;
|
||||
act->spr.yrepeat = 6;
|
||||
act->spr.xvel = 16;
|
||||
act->set_int_xvel(16);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3123:
|
||||
|
@ -511,7 +511,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.clipdist = 8;
|
||||
act->spr.xrepeat = 13;
|
||||
act->spr.yrepeat = 13;
|
||||
act->spr.xvel = 16;
|
||||
act->set_int_xvel(16);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3124:
|
||||
|
@ -519,7 +519,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.clipdist = 8;
|
||||
act->spr.xrepeat = 17;
|
||||
act->spr.yrepeat = 12;
|
||||
act->spr.xvel = 32;
|
||||
act->set_int_xvel(32);
|
||||
ChangeActorStat(act, 1);
|
||||
break;
|
||||
case RRTILE3132:
|
||||
|
@ -547,7 +547,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
}
|
||||
act->spr.cstat = 0;
|
||||
act->spr.extra = 1;
|
||||
act->spr.xvel = 292;
|
||||
act->set_int_xvel(292);
|
||||
act->set_int_zvel(360);
|
||||
[[fallthrough]];
|
||||
case RESPAWNMARKERRED:
|
||||
|
@ -1277,7 +1277,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.xrepeat = 11;
|
||||
act->spr.yrepeat = 11;
|
||||
act->spr.yvel = 4;
|
||||
act->spr.xvel = 32;
|
||||
act->set_int_xvel(32);
|
||||
break;
|
||||
case RPGSPRITE:
|
||||
act->spr.xrepeat = 16;
|
||||
|
@ -1358,7 +1358,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.angle = actj->spr.angle;
|
||||
act->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
|
||||
act->spr.xrepeat = act->spr.yrepeat = 1;
|
||||
act->spr.xvel = -8;
|
||||
act->set_int_xvel(-8);
|
||||
ssp(act, CLIPMASK0);
|
||||
}
|
||||
[[fallthrough]];
|
||||
|
@ -1400,7 +1400,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
act->spr.pal = 0;
|
||||
act->SetOwner(act);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
act->spr.xvel = 8;
|
||||
act->set_int_xvel(8);
|
||||
ssp(act, CLIPMASK0);
|
||||
break;
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ void AIAnubis::Tick(RunListEvent* ev)
|
|||
ap->nFrame = 0;
|
||||
ap->pTarget = pTarget;
|
||||
|
||||
ap->spr.xvel = bcos(ap->int_ang(), -2);
|
||||
ap->set_int_xvel(bcos(ap->int_ang(), -2));
|
||||
ap->spr.yvel = bsin(ap->int_ang(), -2);
|
||||
}
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ void AIAnubis::Tick(RunListEvent* ev)
|
|||
PlotCourseToSprite(ap, pTarget);
|
||||
|
||||
int nAngle = ap->int_ang() & 0xFFF8;
|
||||
ap->spr.xvel = bcos(nAngle, -2);
|
||||
ap->set_int_xvel(bcos(nAngle, -2));
|
||||
ap->spr.yvel = bsin(nAngle, -2);
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ void AIAnubis::Tick(RunListEvent* ev)
|
|||
case kHitWall:
|
||||
{
|
||||
ap->set_int_ang((ap->int_ang() + 256) & kAngleMask);
|
||||
ap->spr.xvel = bcos(ap->int_ang(), -2);
|
||||
ap->set_int_xvel(bcos(ap->int_ang(), -2));
|
||||
ap->spr.yvel = bsin(ap->int_ang(), -2);
|
||||
break;
|
||||
}
|
||||
|
@ -258,7 +258,7 @@ void AIAnubis::Tick(RunListEvent* ev)
|
|||
{
|
||||
ap->nAction = 1;
|
||||
|
||||
ap->spr.xvel = bcos(ap->int_ang(), -2);
|
||||
ap->set_int_xvel(bcos(ap->int_ang(), -2));
|
||||
ap->spr.yvel = bsin(ap->int_ang(), -2);
|
||||
ap->nFrame = 0;
|
||||
}
|
||||
|
|
|
@ -229,7 +229,7 @@ void BulletHitsSprite(Bullet *pBullet, DExhumedActor* pBulletActor, DExhumedActo
|
|||
{
|
||||
int nAngle = (pActor->int_ang() + 256) - RandomSize(9);
|
||||
|
||||
pHitActor->spr.xvel = bcos(nAngle, 1);
|
||||
pHitActor->set_int_xvel(bcos(nAngle, 1));
|
||||
pHitActor->spr.yvel = bsin(nAngle, 1);
|
||||
pHitActor->set_int_zvel((-(RandomSize(3) + 1)) << 8);
|
||||
}
|
||||
|
@ -238,12 +238,12 @@ void BulletHitsSprite(Bullet *pBullet, DExhumedActor* pBulletActor, DExhumedActo
|
|||
int xVel = pHitActor->int_xvel();
|
||||
int yVel = pHitActor->spr.yvel;
|
||||
|
||||
pHitActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pHitActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pHitActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
|
||||
MoveCreature(pHitActor);
|
||||
|
||||
pHitActor->spr.xvel = xVel;
|
||||
pHitActor->set_int_xvel(xVel);
|
||||
pHitActor->spr.yvel = yVel;
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ void BuildFishLimb(DExhumedActor* pActor, int anim)
|
|||
pChunkActor->spr.cstat = 0;
|
||||
pChunkActor->spr.shade = -12;
|
||||
pChunkActor->spr.pal = 0;
|
||||
pChunkActor->spr.xvel = (RandomSize(5) - 16) << 8;
|
||||
pChunkActor->set_int_xvel((RandomSize(5) - 16) << 8);
|
||||
pChunkActor->spr.yvel = (RandomSize(5) - 16) << 8;
|
||||
pChunkActor->spr.xrepeat = 64;
|
||||
pChunkActor->spr.yrepeat = 64;
|
||||
|
@ -187,7 +187,7 @@ void IdleFish(DExhumedActor* pActor, int edx)
|
|||
pActor->add_int_ang((256 - RandomSize(9)) + 1024);
|
||||
pActor->norm_ang();
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -8);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -8));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -8);
|
||||
|
||||
pActor->nAction = 0;
|
||||
|
@ -373,7 +373,7 @@ void AIFish::Tick(RunListEvent* ev)
|
|||
|
||||
if (z <= nHeight)
|
||||
{
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -5) - bcos(pActor->int_ang(), -7);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -5) - bcos(pActor->int_ang(), -7));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -5) - bsin(pActor->int_ang(), -7);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -45,7 +45,7 @@ DExhumedActor* BuildLavaLimb(DExhumedActor* pActor, int move, int ebx)
|
|||
pLimbActor->spr.cstat = 0;
|
||||
pLimbActor->spr.shade = -127;
|
||||
pLimbActor->spr.pal = 1;
|
||||
pLimbActor->spr.xvel = (RandomSize(5) - 16) << 8;
|
||||
pLimbActor->set_int_xvel((RandomSize(5) - 16) << 8);
|
||||
pLimbActor->spr.yvel = (RandomSize(5) - 16) << 8;
|
||||
pLimbActor->set_int_zvel(2560 - (RandomSize(5) << 8));
|
||||
pLimbActor->spr.xoffset = 0;
|
||||
|
@ -264,7 +264,7 @@ void AILavaDude::Tick(RunListEvent* ev)
|
|||
|
||||
PlotCourseToSprite(pActor, pTarget);
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
|
||||
if (pTarget && !RandomSize(1))
|
||||
|
@ -288,7 +288,7 @@ void AILavaDude::Tick(RunListEvent* ev)
|
|||
pActor->spr.pos = pos;
|
||||
|
||||
pActor->set_int_ang((pActor->int_ang() + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
break;
|
||||
}
|
||||
|
@ -300,7 +300,7 @@ void AILavaDude::Tick(RunListEvent* ev)
|
|||
if (coll.type == kHitWall)
|
||||
{
|
||||
pActor->set_int_ang((pActor->int_ang() + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -236,7 +236,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
pActor->nAction = 2;
|
||||
pActor->nFrame = 0;
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
pActor->pTarget = pTarget;
|
||||
return;
|
||||
|
@ -252,7 +252,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
if (RandomBit())
|
||||
{
|
||||
pActor->set_int_ang(RandomWord() & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
}
|
||||
else
|
||||
|
@ -278,12 +278,12 @@ void AILion::Tick(RunListEvent* ev)
|
|||
|
||||
if (pActor->spr.cstat & CSTAT_SPRITE_INVISIBLE)
|
||||
{
|
||||
pActor->spr.xvel = bcos(nAng, 1);
|
||||
pActor->set_int_xvel(bcos(nAng, 1));
|
||||
pActor->spr.yvel = bsin(nAng, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
pActor->spr.xvel = bcos(nAng, -1);
|
||||
pActor->set_int_xvel(bcos(nAng, -1));
|
||||
pActor->spr.yvel = bsin(nAng, -1);
|
||||
}
|
||||
}
|
||||
|
@ -292,7 +292,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
{
|
||||
// loc_378FA:
|
||||
pActor->set_int_ang((pActor->int_ang() + 256) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
break;
|
||||
}
|
||||
|
@ -323,7 +323,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
{
|
||||
// loc_378FA:
|
||||
pActor->set_int_ang((pActor->int_ang() + 256) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
break;
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
pActor->set_int_ang(nAngle);
|
||||
|
||||
pActor->nAction = 6;
|
||||
pActor->spr.xvel = bcos(pActor->int_ang()) - bcos(pActor->int_ang(), -3);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()) - bcos(pActor->int_ang(), -3));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang()) - bsin(pActor->int_ang(), -3);
|
||||
D3PlayFX(StaticSound[kSound24], pActor);
|
||||
}
|
||||
|
@ -448,7 +448,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
{
|
||||
// loc_378FA:
|
||||
pActor->set_int_ang((pActor->int_ang() + 256) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
break;
|
||||
}
|
||||
|
@ -476,7 +476,7 @@ void AILion::Tick(RunListEvent* ev)
|
|||
pActor->set_int_zvel(-1000);
|
||||
|
||||
pActor->nAction = 6;
|
||||
pActor->spr.xvel = bcos(pActor->int_ang()) - bcos(pActor->int_ang(), -3);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()) - bcos(pActor->int_ang(), -3));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang()) - bsin(pActor->int_ang(), -3);
|
||||
D3PlayFX(StaticSound[kSound24], pActor);
|
||||
}
|
||||
|
|
|
@ -638,7 +638,7 @@ Collision MoveCreatureWithCaution(DExhumedActor* pActor)
|
|||
ChangeActorSect(pActor, pSectorPre);
|
||||
|
||||
pActor->set_int_ang((pActor->int_ang() + 256) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
Collision c;
|
||||
c.setNone();
|
||||
|
@ -1314,7 +1314,7 @@ DExhumedActor* BuildCreatureChunk(DExhumedActor* pSrc, int nPic, bool bSpecial)
|
|||
pActor->spr.shade = -12;
|
||||
pActor->spr.pal = 0;
|
||||
|
||||
pActor->spr.xvel = (RandomSize(5) - 16) << 7;
|
||||
pActor->set_int_xvel((RandomSize(5) - 16) << 7);
|
||||
pActor->spr.yvel = (RandomSize(5) - 16) << 7;
|
||||
pActor->set_int_zvel((-(RandomSize(8) + 512)) << 3);
|
||||
|
||||
|
@ -1401,7 +1401,7 @@ void AICreatureChunk::Tick(RunListEvent* ev)
|
|||
int nSqrt = lsqrt(((pActor->spr.yvel >> 10) * (pActor->spr.yvel >> 10)
|
||||
+ (pActor->spr.xvel >> 10) * (pActor->spr.xvel >> 10)) >> 8);
|
||||
|
||||
pActor->spr.xvel = bcos(nAngle) * (nSqrt >> 1);
|
||||
pActor->set_int_xvel(bcos(nAngle) * (nSqrt >> 1));
|
||||
pActor->spr.yvel = bsin(nAngle) * (nSqrt >> 1);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -176,7 +176,7 @@ void AIMummy::Tick(RunListEvent* ev)
|
|||
pActor->nAction = 1;
|
||||
pActor->nCount = 90;
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
}
|
||||
}
|
||||
|
@ -218,7 +218,7 @@ void AIMummy::Tick(RunListEvent* ev)
|
|||
// loc_2B5A8
|
||||
if (!pActor->nFrame)
|
||||
{
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
}
|
||||
|
||||
|
@ -260,7 +260,7 @@ void AIMummy::Tick(RunListEvent* ev)
|
|||
case kHitWall:
|
||||
{
|
||||
pActor->set_int_ang((pActor->int_ang() + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1384,12 +1384,12 @@ DExhumedActor* BuildSpark(DExhumedActor* pActor, int nVal)
|
|||
|
||||
if (nVal)
|
||||
{
|
||||
pSpark->spr.xvel = bcos(nAngle, -5);
|
||||
pSpark->set_int_xvel(bcos(nAngle, -5));
|
||||
pSpark->spr.yvel = bsin(nAngle, -5);
|
||||
}
|
||||
else
|
||||
{
|
||||
pSpark->spr.xvel = bcos(nAngle, -6);
|
||||
pSpark->set_int_xvel(bcos(nAngle, -6));
|
||||
pSpark->spr.yvel = bsin(nAngle, -6);
|
||||
}
|
||||
|
||||
|
|
|
@ -747,7 +747,7 @@ void AIPlayer::Tick(RunListEvent* ev)
|
|||
PlayerList[nPlayer].horizon.resetadjustment();
|
||||
PlayerList[nPlayer].oeyelevel = PlayerList[nPlayer].eyelevel;
|
||||
|
||||
pPlayerActor->spr.xvel = sPlayerInput[nPlayer].xVel >> 14;
|
||||
pPlayerActor->set_int_xvel(sPlayerInput[nPlayer].xVel >> 14);
|
||||
pPlayerActor->spr.yvel = sPlayerInput[nPlayer].yVel >> 14;
|
||||
|
||||
if (sPlayerInput[nPlayer].nItem > -1)
|
||||
|
|
|
@ -280,7 +280,7 @@ void SetHeadVel(DExhumedActor* pActor)
|
|||
{
|
||||
int nAngle = pActor->int_ang();
|
||||
|
||||
pActor->spr.xvel = bcos(nAngle, nVelShift);
|
||||
pActor->set_int_xvel(bcos(nAngle, nVelShift));
|
||||
pActor->spr.yvel = bsin(nAngle, nVelShift);
|
||||
}
|
||||
|
||||
|
@ -444,7 +444,7 @@ void BuildQueenEgg(int nQueen, int nVal)
|
|||
{
|
||||
pActor2->spr.xrepeat = 30;
|
||||
pActor2->spr.yrepeat = 30;
|
||||
pActor2->spr.xvel = bcos(pActor2->int_ang());
|
||||
pActor2->set_int_xvel(bcos(pActor2->int_ang()));
|
||||
pActor2->spr.yvel = bsin(pActor2->int_ang());
|
||||
pActor2->set_int_zvel(-6000);
|
||||
pActor2->spr.cstat = 0;
|
||||
|
@ -571,7 +571,7 @@ void AIQueenEgg::Tick(RunListEvent* ev)
|
|||
}
|
||||
|
||||
pActor->set_int_ang(nAngle);
|
||||
pActor->spr.xvel = bcos(nAngle, -1);
|
||||
pActor->set_int_xvel(bcos(nAngle, -1));
|
||||
pActor->spr.yvel = bsin(nAngle, -1);
|
||||
}
|
||||
|
||||
|
@ -604,7 +604,7 @@ void AIQueenEgg::Tick(RunListEvent* ev)
|
|||
case kHitWall:
|
||||
pActor->set_int_ang((RandomSize(9) + 768));
|
||||
pActor->norm_ang();
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -3);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -3));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -3);
|
||||
pActor->set_int_zvel(-RandomSize(5));
|
||||
break;
|
||||
|
@ -1128,7 +1128,7 @@ void BuildQueen(DExhumedActor* pActor, const DVector3& pos, sectortype* pSector,
|
|||
|
||||
void SetQueenSpeed(DExhumedActor* pActor, int nSpeed)
|
||||
{
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -(2 - nSpeed));
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -(2 - nSpeed)));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -(2 - nSpeed));
|
||||
}
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ void InitRats()
|
|||
|
||||
void SetRatVel(DExhumedActor* pActor)
|
||||
{
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
}
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ void AIRex::Tick(RunListEvent* ev)
|
|||
pActor->nAction = 1;
|
||||
pActor->nFrame = 0;
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
|
||||
D3PlayFX(StaticSound[kSound48], pActor);
|
||||
|
@ -255,7 +255,7 @@ void AIRex::Tick(RunListEvent* ev)
|
|||
if (((PlotCourseToSprite(pActor, pTarget) >> 8) >= 60) || pActor->nCount > 0)
|
||||
{
|
||||
int nAngle = pActor->int_ang() & 0xFFF8;
|
||||
pActor->spr.xvel = bcos(nAngle, -2);
|
||||
pActor->set_int_xvel(bcos(nAngle, -2));
|
||||
pActor->spr.yvel = bsin(nAngle, -2);
|
||||
}
|
||||
else
|
||||
|
@ -287,7 +287,7 @@ void AIRex::Tick(RunListEvent* ev)
|
|||
case kHitWall:
|
||||
{
|
||||
pActor->set_int_ang((pActor->int_ang() + 256) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
pActor->nAction = 1;
|
||||
pActor->nFrame = 0;
|
||||
|
@ -306,7 +306,7 @@ void AIRex::Tick(RunListEvent* ev)
|
|||
{
|
||||
PlotCourseToSprite(pActor, pTarget);
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
|
||||
auto nMov = MoveCreatureWithCaution(pActor);
|
||||
|
@ -319,7 +319,7 @@ void AIRex::Tick(RunListEvent* ev)
|
|||
pActor->nCount = 60;
|
||||
|
||||
pActor->set_int_ang((pActor->int_ang() + 256) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -2);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -2));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -2);
|
||||
pActor->nAction = 1;
|
||||
pActor->nFrame = 0;
|
||||
|
|
|
@ -91,7 +91,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, const DVector3& pos, sectortyp
|
|||
|
||||
void GoRoach(DExhumedActor* pActor)
|
||||
{
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1) - bcos(pActor->int_ang(), -3);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1) - bcos(pActor->int_ang(), -3));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1) - bsin(pActor->int_ang(), -3);
|
||||
}
|
||||
|
||||
|
|
|
@ -217,7 +217,7 @@ void AIScorp::Tick(RunListEvent* ev)
|
|||
D3PlayFX(StaticSound[kSound41], pActor);
|
||||
|
||||
pActor->nFrame = 0;
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
|
||||
pActor->nAction = 1;
|
||||
|
@ -302,7 +302,7 @@ void AIScorp::Tick(RunListEvent* ev)
|
|||
{
|
||||
pActor->nAction = 1;
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
|
||||
pActor->nFrame = 0;
|
||||
|
@ -371,7 +371,7 @@ void AIScorp::Tick(RunListEvent* ev)
|
|||
|
||||
int nVel = RandomSize(5) + 1;
|
||||
|
||||
pSpiderActor->spr.xvel = bcos(pSpiderActor->int_ang(), -8) * nVel;
|
||||
pSpiderActor->set_int_xvel(bcos(pSpiderActor->int_ang(), -8) * nVel);
|
||||
pSpiderActor->spr.yvel = bsin(pSpiderActor->int_ang(), -8) * nVel;
|
||||
pSpiderActor->set_int_zvel((-(RandomSize(5) + 3)) << 8);
|
||||
}
|
||||
|
@ -410,7 +410,7 @@ void AIScorp::Effect(RunListEvent* ev, DExhumedActor* pTarget, int mode)
|
|||
pActor->add_int_ang(RandomSize(7) - 63);
|
||||
pActor->norm_ang();
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
}
|
||||
if (mode <= 1)
|
||||
|
|
|
@ -295,7 +295,7 @@ void AISet::Tick(RunListEvent* ev)
|
|||
pActor->nFrame = 0;
|
||||
pActor->pTarget = pTarget;
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
}
|
||||
}
|
||||
|
@ -389,7 +389,7 @@ void AISet::Tick(RunListEvent* ev)
|
|||
|
||||
// loc_338E2
|
||||
int nAngle = pActor->int_ang() & 0xFFF8;
|
||||
pActor->spr.xvel = bcos(nAngle, -1);
|
||||
pActor->set_int_xvel(bcos(nAngle, -1));
|
||||
pActor->spr.yvel = bsin(nAngle, -1);
|
||||
|
||||
if (pActor->nIndex2)
|
||||
|
@ -419,7 +419,7 @@ void AISet::Tick(RunListEvent* ev)
|
|||
}
|
||||
|
||||
pActor->set_int_ang((pActor->int_ang() + 256) & kAngleMask);
|
||||
pActor->spr.xvel = bcos(pActor->int_ang(), -1);
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang(), -1));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang(), -1);
|
||||
break;
|
||||
}
|
||||
|
@ -522,7 +522,7 @@ void AISet::Tick(RunListEvent* ev)
|
|||
pActor->nAction = 8;
|
||||
pActor->nFrame = 0;
|
||||
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
}
|
||||
return;
|
||||
|
|
|
@ -142,7 +142,7 @@ void AISpider::Tick(RunListEvent* ev)
|
|||
spp->nFrame = 0;
|
||||
spp->pTarget = pTarget;
|
||||
|
||||
spp->spr.xvel = bcos(spp->int_ang());
|
||||
spp->set_int_xvel(bcos(spp->int_ang()));
|
||||
spp->spr.yvel = bsin(spp->int_ang());
|
||||
return;
|
||||
}
|
||||
|
@ -193,7 +193,7 @@ void AISpider::Tick(RunListEvent* ev)
|
|||
|
||||
if (RandomSize(3))
|
||||
{
|
||||
spp->spr.xvel = bcos(spp->int_ang());
|
||||
spp->set_int_xvel(bcos(spp->int_ang()));
|
||||
spp->spr.yvel = bsin(spp->int_ang());
|
||||
}
|
||||
else
|
||||
|
@ -300,7 +300,7 @@ void AISpider::Tick(RunListEvent* ev)
|
|||
case kHitWall:
|
||||
{
|
||||
spp->set_int_ang((spp->int_ang() + 256) & 0x7EF);
|
||||
spp->spr.xvel = bcos(spp->int_ang());
|
||||
spp->set_int_xvel(bcos(spp->int_ang()));
|
||||
spp->spr.yvel = bsin(spp->int_ang());
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ static actionSeq WaspSeq[] = {
|
|||
|
||||
void SetWaspVel(DExhumedActor* pActor)
|
||||
{
|
||||
pActor->spr.xvel = bcos(pActor->int_ang());
|
||||
pActor->set_int_xvel(bcos(pActor->int_ang()));
|
||||
pActor->spr.yvel = bsin(pActor->int_ang());
|
||||
}
|
||||
|
||||
|
|
|
@ -155,7 +155,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath)
|
|||
ChangeState(actor, actor->user.StateEnd);
|
||||
actor->user.RotNum = 0;
|
||||
actor->user.ActorActionFunc = nullptr;
|
||||
actor->spr.xvel = 200 + RandomRange(200);
|
||||
actor->set_int_xvel(200 + RandomRange(200));
|
||||
actor->user.jump_speed = -200 - RandomRange(250);
|
||||
DoActorBeginJump(actor);
|
||||
actor->spr.angle = weapActor->spr.angle;
|
||||
|
@ -223,12 +223,12 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath)
|
|||
// Rippers still gotta jump or they fall off walls weird
|
||||
if (actor->user.ID == RIPPER_RUN_R0 || actor->user.ID == RIPPER2_RUN_R0)
|
||||
{
|
||||
actor->spr.xvel = 75 + RandomRange(100);
|
||||
actor->set_int_xvel(75 + RandomRange(100));
|
||||
actor->user.jump_speed = -100 - RandomRange(150);
|
||||
}
|
||||
else
|
||||
{
|
||||
actor->spr.xvel = 100 + RandomRange(200);
|
||||
actor->set_int_xvel(100 + RandomRange(200));
|
||||
actor->user.jump_speed = -100 - RandomRange(250);
|
||||
}
|
||||
DoActorBeginJump(actor);
|
||||
|
@ -256,7 +256,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath)
|
|||
ChangeState(actor, actor->user.StateEnd);
|
||||
actor->user.RotNum = 0;
|
||||
actor->user.ActorActionFunc = nullptr;
|
||||
actor->spr.xvel = 300 + RandomRange(400);
|
||||
actor->set_int_xvel(300 + RandomRange(400));
|
||||
actor->user.jump_speed = -300 - RandomRange(350);
|
||||
DoActorBeginJump(actor);
|
||||
actor->spr.angle = weapActor->spr.angle;
|
||||
|
|
|
@ -115,9 +115,9 @@ void DoActorSetSpeed(DSWActor* actor, uint8_t speed)
|
|||
actor->user.speed = speed;
|
||||
|
||||
if (ActorFlaming(actor))
|
||||
actor->spr.xvel = actor->user.Attrib->Speed[speed] + (actor->user.Attrib->Speed[speed] >> 1);
|
||||
actor->set_int_xvel(actor->user.Attrib->Speed[speed] + (actor->user.Attrib->Speed[speed] >> 1));
|
||||
else
|
||||
actor->spr.xvel = actor->user.Attrib->Speed[speed];
|
||||
actor->set_int_xvel(actor->user.Attrib->Speed[speed]);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1195,7 +1195,7 @@ DSWActor* BunnyHatch2(DSWActor* actor)
|
|||
{
|
||||
PickJumpMaxSpeed(actorNew, -600-RandomRange(600));
|
||||
actorNew->spr.xrepeat = actorNew->spr.yrepeat = 64;
|
||||
actorNew->spr.xvel = 150 + RandomRange(1000);
|
||||
actorNew->set_int_xvel(150 + RandomRange(1000));
|
||||
actorNew->user.Health = 1; // Easy to pop. Like shootn' skeet.
|
||||
actorNew->add_int_ang(-RandomRange(128));
|
||||
actorNew->add_int_ang(RandomRange(128));
|
||||
|
|
|
@ -413,7 +413,7 @@ int InitHornetCircle(DSWActor* actor)
|
|||
DoActorSetSpeed(actor, FAST_SPEED);
|
||||
|
||||
// set to really fast
|
||||
actor->spr.xvel = 400;
|
||||
actor->set_int_xvel(400);
|
||||
// angle adjuster
|
||||
actor->user.Counter2 = actor->spr.xvel/3;
|
||||
// random angle direction
|
||||
|
|
|
@ -1164,7 +1164,7 @@ int SpawnRadiationCloud(DSWActor* actor)
|
|||
//actorNew->spr.cstat |= (CSTAT_SPRITE_YFLIP);
|
||||
|
||||
actorNew->spr.angle = RANDOM_ANGLE();
|
||||
actorNew->spr.xvel = RANDOM_P2(32);
|
||||
actorNew->set_int_xvel(RANDOM_P2(32));
|
||||
|
||||
actorNew->user.Counter = 0;
|
||||
actorNew->user.Counter2 = 0;
|
||||
|
|
|
@ -2001,7 +2001,7 @@ void DoPlayerMove(PLAYER* pp)
|
|||
if (labs(pp->vect.X) < 12800 && labs(pp->vect.Y) < 12800)
|
||||
pp->vect.X = pp->vect.Y = 0;
|
||||
|
||||
actor->spr.xvel = FindDistance2D(pp->vect.X,pp->vect.Y)>>14;
|
||||
actor->set_int_xvel(FindDistance2D(pp->vect.X,pp->vect.Y)>>14);
|
||||
|
||||
if (pp->Flags & (PF_CLIP_CHEAT))
|
||||
{
|
||||
|
|
|
@ -456,7 +456,7 @@ int DoSkullWait(DSWActor* actor)
|
|||
if (dist < 8000)
|
||||
{
|
||||
actor->spr.angle = VecToAngle(actor->user.targetActor->spr.pos - actor->spr.pos);
|
||||
actor->spr.xvel = 128 + (RANDOM_P2(256<<8)>>8);
|
||||
actor->set_int_xvel(128 + (RANDOM_P2(256<<8)>>8));
|
||||
actor->user.jump_speed = -700;
|
||||
NewStateGroup(actor, sg_SkullJump);
|
||||
DoBeginJump(actor);
|
||||
|
@ -818,7 +818,7 @@ int DoBettyWait(DSWActor* actor)
|
|||
if (dist < 8000)
|
||||
{
|
||||
actor->spr.angle = VecToAngle(actor->user.targetActor->spr.pos - actor->spr.pos);
|
||||
actor->spr.xvel = 128 + (RANDOM_P2(256<<8)>>8);
|
||||
actor->set_int_xvel(128 + (RANDOM_P2(256<<8)>>8));
|
||||
actor->user.jump_speed = -700;
|
||||
NewStateGroup(actor, sg_BettyJump);
|
||||
DoBeginJump(actor);
|
||||
|
|
|
@ -894,7 +894,7 @@ DSWActor* SpawnActor(int stat, int id, STATE* state, sectortype* sect, const DVe
|
|||
spawnedActor->spr.xrepeat = 64;
|
||||
spawnedActor->spr.yrepeat = 64;
|
||||
spawnedActor->spr.angle = init_ang;
|
||||
spawnedActor->spr.xvel = vel;
|
||||
spawnedActor->set_int_xvel(vel);
|
||||
|
||||
return spawnedActor;
|
||||
}
|
||||
|
@ -1829,7 +1829,7 @@ void SpriteSetup(void)
|
|||
if (TEST_BOOL1(actor))
|
||||
actor->clear_xvel();
|
||||
else
|
||||
actor->spr.xvel = actor->spr.lotag;
|
||||
actor->set_int_xvel(actor->spr.lotag);
|
||||
|
||||
StartInterpolation(actor->sector(), Interp_Sect_FloorPanX);
|
||||
StartInterpolation(actor->sector(), Interp_Sect_FloorPanY);
|
||||
|
@ -1843,7 +1843,7 @@ void SpriteSetup(void)
|
|||
if (TEST_BOOL1(actor))
|
||||
actor->clear_xvel();
|
||||
else
|
||||
actor->spr.xvel = actor->spr.lotag;
|
||||
actor->set_int_xvel(actor->spr.lotag);
|
||||
StartInterpolation(actor->sector(), Interp_Sect_CeilingPanX);
|
||||
StartInterpolation(actor->sector(), Interp_Sect_CeilingPanY);
|
||||
change_actor_stat(actor, STAT_CEILING_PAN);
|
||||
|
@ -1869,7 +1869,7 @@ void SpriteSetup(void)
|
|||
if (TEST_BOOL1(actor))
|
||||
actor->clear_xvel();
|
||||
else
|
||||
actor->spr.xvel = actor->spr.lotag;
|
||||
actor->set_int_xvel(actor->spr.lotag);
|
||||
actor->set_int_ang(SP_TAG6(actor));
|
||||
// attach to the sector that contains the wall
|
||||
ChangeActorSect(actor, hit.hitSector);
|
||||
|
@ -2845,21 +2845,6 @@ KeyMain:
|
|||
|
||||
case FIRE_FLY0:
|
||||
|
||||
/*
|
||||
* SpawnUser(actor, FIRE_FLY0, nullptr);
|
||||
*
|
||||
* actor->user.State = actor->user.StateStart = &s_FireFly[0]; actor->user.RotNum = 0;
|
||||
*
|
||||
* actor->spr.angle = 0; actor->spr.xvel = 4;
|
||||
*
|
||||
* if (labs(actor->spr.z - actor->sector()->int_floorz()) < Z(32)) actor->spr.z =
|
||||
* actor->sector()->int_floorz() - Z(32);
|
||||
*
|
||||
* actor->user.sz = actor->spr.z;
|
||||
*
|
||||
* change_actor_stat(actor, STAT_MISC);
|
||||
*/
|
||||
|
||||
break;
|
||||
|
||||
case ICON_REPAIR_KIT:
|
||||
|
@ -3492,7 +3477,7 @@ void SetupItemForJump(DSWActor* spawner, DSWActor* actor)
|
|||
actor->user.floor_dist = (0);
|
||||
actor->user.Counter = 0;
|
||||
|
||||
actor->spr.xvel = (int)SP_TAG7(spawner)<<2;
|
||||
actor->set_int_xvel((int)SP_TAG7(spawner)<<2);
|
||||
actor->set_int_zvel(-(((int)SP_TAG8(spawner))<<5));
|
||||
|
||||
UpdateChange(actor);
|
||||
|
|
|
@ -3448,7 +3448,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics)
|
|||
}
|
||||
|
||||
// update the real velocity
|
||||
actor->spr.xvel = (actor->user.track_vel) >> 8;
|
||||
actor->set_int_xvel((actor->user.track_vel) >> 8);
|
||||
}
|
||||
else if (actor->user.Flags & (SPR_SLOW_DOWN))
|
||||
{
|
||||
|
@ -3458,7 +3458,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics)
|
|||
actor->user.Flags &= ~(SOBJ_SLOW_DOWN);
|
||||
}
|
||||
|
||||
actor->spr.xvel = (actor->user.track_vel) >> 8;
|
||||
actor->set_int_xvel((actor->user.track_vel) >> 8);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3765,7 +3765,7 @@ AutoShrap:
|
|||
|
||||
actor->spr.pal = actor->user.spal = uint8_t(shrap_pal);
|
||||
|
||||
actor->spr.xvel = p->min_vel*2;
|
||||
actor->set_int_xvel(p->min_vel*2);
|
||||
actor->spr.xvel += RandomRange(p->max_vel - p->min_vel);
|
||||
|
||||
actor->user.floor_dist = 2;
|
||||
|
@ -4129,7 +4129,7 @@ int SpawnBlood(DSWActor* actor, DSWActor* weapActor, DAngle hit_angle, const DVe
|
|||
|
||||
actorNew->spr.pal = actorNew->user.spal = uint8_t(shrap_pal);
|
||||
|
||||
actorNew->spr.xvel = p->min_vel;
|
||||
actorNew->set_int_xvel(p->min_vel);
|
||||
actorNew->spr.xvel += RandomRange(p->max_vel - p->min_vel);
|
||||
|
||||
// special case
|
||||
|
@ -10885,7 +10885,7 @@ bool MissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist)
|
|||
oldzvel = actor->int_zvel();
|
||||
|
||||
// make missile move in smaller increments
|
||||
actor->spr.xvel = short((dist * 6) / MISSILEMOVETICS);
|
||||
actor->set_int_xvel(short((dist * 6) / MISSILEMOVETICS));
|
||||
actor->set_int_zvel(short((actor->int_zvel() * 6) / MISSILEMOVETICS));
|
||||
|
||||
// some Weapon Animators use this
|
||||
|
@ -10898,7 +10898,7 @@ bool MissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist)
|
|||
|
||||
// reset values
|
||||
actor->user.change = oldc;
|
||||
actor->spr.xvel = oldvel;
|
||||
actor->set_int_xvel(oldvel);
|
||||
actor->set_int_zvel(oldzvel);
|
||||
|
||||
// update for interpolation
|
||||
|
@ -10918,7 +10918,7 @@ bool TestMissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist, int zvel)
|
|||
oldzvel = actor->int_zvel();
|
||||
|
||||
// make missile move in smaller increments
|
||||
actor->spr.xvel = short((dist * 6) / MISSILEMOVETICS);
|
||||
actor->set_int_xvel(short((dist * 6) / MISSILEMOVETICS));
|
||||
zvel = short((zvel*6) / MISSILEMOVETICS);
|
||||
|
||||
// some Weapon Animators use this
|
||||
|
@ -10932,7 +10932,7 @@ bool TestMissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist, int zvel)
|
|||
|
||||
// reset values
|
||||
actor->user.change = oldc;
|
||||
actor->spr.xvel = oldvel;
|
||||
actor->set_int_xvel(oldvel);
|
||||
actor->set_int_zvel(oldzvel);
|
||||
|
||||
// update for interpolation
|
||||
|
@ -11058,7 +11058,7 @@ void InitSpellRing(PLAYER* pp)
|
|||
auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, FIREBALL1, s_Ring, pp->cursector, pp->pos, DAngle::fromBuild(ang), 0);
|
||||
|
||||
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
||||
actorNew->spr.xvel = 500;
|
||||
actorNew->set_int_xvel(500);
|
||||
SetOwner(pp->actor, actorNew);
|
||||
actorNew->spr.shade = -40;
|
||||
actorNew->spr.xrepeat = 32;
|
||||
|
@ -11170,7 +11170,7 @@ int DoSerpRing(DSWActor* actor)
|
|||
extern STATE* sg_SkullJump[];
|
||||
actor->user.ID = SKULL_R0;
|
||||
actor->spr.angle = VecToAngle(actor->user.targetActor->spr.pos.XY() - actor->spr.pos.XY());
|
||||
actor->spr.xvel = dist>>5;
|
||||
actor->set_int_xvel(dist>>5);
|
||||
actor->spr.xvel += (actor->spr.xvel >> 1);
|
||||
actor->spr.xvel += (RANDOM_P2(128<<8)>>8);
|
||||
actor->user.jump_speed = -800;
|
||||
|
@ -11330,7 +11330,7 @@ int InitSerpRing(DSWActor* actor)
|
|||
{
|
||||
auto actorNew = SpawnActor(STAT_SKIP4, SKULL_SERP, &s_SkullRing[0][0], actor->sector(), actor->spr.pos, DAngle::fromBuild(ang), 0);
|
||||
|
||||
actorNew->spr.xvel = 500;
|
||||
actorNew->set_int_xvel(500);
|
||||
SetOwner(actor, actorNew);
|
||||
actorNew->spr.shade = -20;
|
||||
actorNew->spr.xrepeat = 64;
|
||||
|
@ -12031,7 +12031,7 @@ int InitSumoSkull(DSWActor* actor)
|
|||
|
||||
auto actorNew = SpawnActor(STAT_ENEMY, SKULL_R0, &s_SkullWait[0][0], actor->sector(), DVector3(actor->spr.pos, ActorZOfMiddle(actor)), actor->spr.angle, 0);
|
||||
|
||||
actorNew->spr.xvel = 500;
|
||||
actorNew->set_int_xvel(500);
|
||||
SetOwner(actor, actorNew);
|
||||
actorNew->spr.shade = -20;
|
||||
actorNew->spr.xrepeat = 64;
|
||||
|
@ -16079,7 +16079,7 @@ int HelpMissileLateral(DSWActor* actor, int dist)
|
|||
auto old_xvel = actor->int_xvel();
|
||||
auto old_clipdist = actor->spr.clipdist;
|
||||
|
||||
actor->spr.xvel = dist;
|
||||
actor->set_int_xvel(dist);
|
||||
|
||||
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
|
||||
|
||||
|
@ -16087,7 +16087,7 @@ int HelpMissileLateral(DSWActor* actor, int dist)
|
|||
|
||||
actor->user.coll = move_missile(actor, DVector3(vec, 0), 16, 16, 0, 1);
|
||||
|
||||
actor->spr.xvel = old_xvel;
|
||||
actor->set_int_xvel(old_xvel);
|
||||
actor->spr.clipdist = old_clipdist;
|
||||
|
||||
actor->backuppos();
|
||||
|
@ -16683,7 +16683,7 @@ int SpawnVehicleSmoke(DSWActor* actor)
|
|||
actorNew->spr.cstat |= (CSTAT_SPRITE_YFLIP);
|
||||
|
||||
actorNew->spr.angle = RANDOM_ANGLE();
|
||||
actorNew->spr.xvel = RANDOM_P2(32);
|
||||
actorNew->set_int_xvel(RANDOM_P2(32));
|
||||
UpdateChangeXY(actorNew);
|
||||
actorNew->set_int_zvel(Z(4) + RANDOM_P2(Z(4)));
|
||||
|
||||
|
@ -16707,7 +16707,7 @@ int SpawnSmokePuff(DSWActor* actor)
|
|||
actorNew->spr.cstat |= (CSTAT_SPRITE_YFLIP);
|
||||
|
||||
actorNew->spr.angle = RANDOM_ANGLE();
|
||||
actorNew->spr.xvel = RANDOM_P2(32);
|
||||
actorNew->set_int_xvel(RANDOM_P2(32));
|
||||
UpdateChangeXY(actorNew);
|
||||
actorNew->set_int_zvel(Z(1) + RANDOM_P2(Z(2)));
|
||||
|
||||
|
|
Loading…
Reference in a new issue