mirror of
https://github.com/ZDoom/Raze.git
synced 2025-03-13 20:42:11 +00:00
- add_int_zvel
This commit is contained in:
parent
6ddfd8e97a
commit
8bfedc327f
10 changed files with 42 additions and 37 deletions
|
@ -120,6 +120,11 @@ public:
|
|||
{
|
||||
spr. zvel = v;
|
||||
}
|
||||
|
||||
void add_int_zvel(int v)
|
||||
{
|
||||
spr.zvel += v;
|
||||
}
|
||||
// Same as above but with inverted y and z axes to match the renderer's coordinate system.
|
||||
|
||||
double interpolatedx(double const smoothratio, int const scale = 16)
|
||||
|
|
|
@ -1324,7 +1324,7 @@ void movetongue(DDukeActor *actor, int tongue, int jaw)
|
|||
auto q = EGS(actor->sector(),
|
||||
actor->int_pos().X + MulScale(k, bcos(actor->int_ang()), 9),
|
||||
actor->int_pos().Y + MulScale(k, bsin(actor->int_ang()), 9),
|
||||
actor->int_pos().Z + ((k * Sgn(actor->int_zvel())) * abs(actor->spr.zvel / 12)), tongue, -40 + (k << 1),
|
||||
actor->int_pos().Z + ((k * Sgn(actor->int_zvel())) * abs(actor->int_zvel() / 12)), tongue, -40 + (k << 1),
|
||||
8, 8, 0, 0, 0, actor, 5);
|
||||
if (q)
|
||||
{
|
||||
|
@ -1336,7 +1336,7 @@ void movetongue(DDukeActor *actor, int tongue, int jaw)
|
|||
auto spawned = EGS(actor->sector(),
|
||||
actor->int_pos().X + MulScale(k, bcos(actor->int_ang()), 9),
|
||||
actor->int_pos().Y + MulScale(k, bsin(actor->int_ang()), 9),
|
||||
actor->int_pos().Z + ((k * Sgn(actor->int_zvel())) * abs(actor->spr.zvel / 12)), jaw, -40,
|
||||
actor->int_pos().Z + ((k * Sgn(actor->int_zvel())) * abs(actor->int_zvel() / 12)), jaw, -40,
|
||||
32, 32, 0, 0, 0, actor, 5);
|
||||
if (spawned)
|
||||
{
|
||||
|
@ -1568,7 +1568,7 @@ void forcesphere(DDukeActor* actor, int forcesphere)
|
|||
if (actor->temp_data[3] > 0)
|
||||
{
|
||||
if (actor->int_zvel() < 6144)
|
||||
actor->spr.zvel += 192;
|
||||
actor->add_int_zvel( 192);
|
||||
actor->spr.pos.Z += actor->spr.zvel * inttoworld;
|
||||
if (actor->spr.pos.Z > sectp->floorz)
|
||||
actor->spr.pos.Z = sectp->floorz;
|
||||
|
@ -2102,11 +2102,11 @@ bool money(DDukeActor* actor, int BLOODPOOL)
|
|||
if (sectp->lotag == 2)
|
||||
{
|
||||
if (actor->int_zvel() < 64)
|
||||
actor->spr.zvel += (gs.gravity >> 5) + (krand() & 7);
|
||||
actor->add_int_zvel( (gs.gravity >> 5) + (krand() & 7));
|
||||
}
|
||||
else
|
||||
if (actor->int_zvel() < 144)
|
||||
actor->spr.zvel += (gs.gravity >> 5) + (krand() & 7);
|
||||
actor->add_int_zvel( (gs.gravity >> 5) + (krand() & 7));
|
||||
}
|
||||
|
||||
ssp(actor, CLIPMASK0);
|
||||
|
@ -2213,10 +2213,10 @@ bool jibs(DDukeActor *actor, int JIBS6, bool timeout, bool callsetsprite, bool f
|
|||
if (sectp->lotag == 2)
|
||||
{
|
||||
if (actor->int_zvel() < 1024)
|
||||
actor->spr.zvel += 48;
|
||||
actor->add_int_zvel( 48);
|
||||
else actor->set_int_zvel(1024);
|
||||
}
|
||||
else actor->spr.zvel += gs.gravity - 50;
|
||||
else actor->add_int_zvel( gs.gravity - 50);
|
||||
}
|
||||
|
||||
actor->add_int_pos({ MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14), MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14), 0 });
|
||||
|
@ -2381,7 +2381,7 @@ void shell(DDukeActor* actor, bool morecheck)
|
|||
actor->temp_data[0]++;
|
||||
actor->temp_data[0] &= 3;
|
||||
}
|
||||
if (actor->int_zvel() < 128) actor->spr.zvel += (gs.gravity / 13); // 8
|
||||
if (actor->int_zvel() < 128) actor->add_int_zvel( (gs.gravity / 13)); // 8
|
||||
else actor->spr.zvel -= 64;
|
||||
if (actor->spr.xvel > 0)
|
||||
actor->spr.xvel -= 4;
|
||||
|
@ -2396,7 +2396,7 @@ void shell(DDukeActor* actor, bool morecheck)
|
|||
actor->temp_data[0]++;
|
||||
actor->temp_data[0] &= 3;
|
||||
}
|
||||
if (actor->int_zvel() < 512) actor->spr.zvel += (gs.gravity / 3); // 52;
|
||||
if (actor->int_zvel() < 512) actor->add_int_zvel( (gs.gravity / 3)); // 52;
|
||||
if (actor->spr.xvel > 0)
|
||||
actor->spr.xvel--;
|
||||
else
|
||||
|
@ -2493,7 +2493,7 @@ void scrap(DDukeActor* actor, int SCRAP1, int SCRAP6)
|
|||
else actor->temp_data[0]++;
|
||||
}
|
||||
}
|
||||
if (actor->int_zvel() < 4096) actor->spr.zvel += gs.gravity - 50;
|
||||
if (actor->int_zvel() < 4096) actor->add_int_zvel( gs.gravity - 50);
|
||||
actor->add_int_pos({ MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14), MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14), actor->spr.zvel });
|
||||
}
|
||||
else
|
||||
|
@ -3352,7 +3352,7 @@ void handle_se05(DDukeActor* actor, int FIRELASER)
|
|||
actor->temp_data[3]++;
|
||||
if (actor->temp_data[3] == 5)
|
||||
{
|
||||
actor->spr.zvel += 1024;
|
||||
actor->add_int_zvel( 1024);
|
||||
FTA(7, &ps[myconnectindex]);
|
||||
}
|
||||
}
|
||||
|
@ -4235,7 +4235,7 @@ void handle_se22(DDukeActor* actor)
|
|||
void handle_se26(DDukeActor* actor)
|
||||
{
|
||||
auto sc = actor->sector();
|
||||
double zvel = actor->spr.zvel * zinttoworld;
|
||||
double zvel = actor->int_zvel() * zinttoworld;
|
||||
|
||||
actor->spr.xvel = 32;
|
||||
DVector2 vect = 2 * actor->spr.angle.ToVector(); // was: (32 * bsin) >> 14
|
||||
|
@ -4850,7 +4850,7 @@ void makeitfall(DDukeActor* actor)
|
|||
if( actor->sector()->lotag == 2 && actor->int_zvel() > 3122 )
|
||||
actor->set_int_zvel(3144);
|
||||
if(actor->int_zvel() < 6144)
|
||||
actor->spr.zvel += c;
|
||||
actor->add_int_zvel( c);
|
||||
else actor->set_int_zvel(6144);
|
||||
actor->add_int_z(actor->int_zvel());
|
||||
}
|
||||
|
@ -4985,7 +4985,7 @@ void alterang(int ang, DDukeActor* actor, int playernum)
|
|||
aang = actor->int_ang();
|
||||
|
||||
actor->spr.xvel += (*moveptr - actor->spr.xvel) / 5;
|
||||
if (actor->int_zvel() < 648) actor->spr.zvel += ((*(moveptr + 1) << 4) - actor->int_zvel()) / 5;
|
||||
if (actor->int_zvel() < 648) actor->add_int_zvel( ((*(moveptr + 1) << 4) - actor->int_zvel()) / 5);
|
||||
|
||||
if (isRRRA() && (ang & windang))
|
||||
actor->set_int_ang(WindDir);
|
||||
|
@ -5079,7 +5079,7 @@ void fall_common(DDukeActor *actor, int playernum, int JIBS6, int DRONE, int BLO
|
|||
|
||||
if (actor->spr.pos.Z < actor->floorz - FOURSLEIGHT_F)
|
||||
{
|
||||
actor->spr.zvel += c;
|
||||
actor->add_int_zvel( c);
|
||||
actor->add_int_z(actor->int_zvel());
|
||||
|
||||
if (actor->int_zvel() > 6144) actor->set_int_zvel(6144);
|
||||
|
|
|
@ -772,7 +772,7 @@ void movefallers_d(void)
|
|||
|
||||
if (act->spr.pos.Z < sectp->floorz - 1)
|
||||
{
|
||||
act->spr.zvel += x;
|
||||
act->add_int_zvel( x);
|
||||
if (act->int_zvel() > 6144)
|
||||
act->set_int_zvel(6144);
|
||||
act->add_int_z(act->int_zvel());
|
||||
|
@ -1340,7 +1340,7 @@ static bool movefireball(DDukeActor* actor)
|
|||
actor->temp_data[0]++;
|
||||
}
|
||||
if (actor->int_zvel() < 15000)
|
||||
actor->spr.zvel += 200;
|
||||
actor->add_int_zvel( 200);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1576,7 +1576,7 @@ static void weaponcommon_d(DDukeActor* proj)
|
|||
vec3_t offset = {
|
||||
MulScale(k, bcos(proj->int_ang()), 9),
|
||||
MulScale(k, bsin(proj->int_ang()), 9),
|
||||
(k * Sgn(proj->int_zvel())) * abs(proj->spr.zvel / 24)
|
||||
(k * Sgn(proj->int_zvel())) * abs(proj->int_zvel() / 24)
|
||||
};
|
||||
|
||||
auto spawned = EGS(proj->sector(),
|
||||
|
@ -1594,7 +1594,7 @@ static void weaponcommon_d(DDukeActor* proj)
|
|||
}
|
||||
}
|
||||
else if (proj->spr.picnum == SPIT) if (proj->int_zvel() < 6144)
|
||||
proj->spr.zvel += gs.gravity - 112;
|
||||
proj->add_int_zvel( gs.gravity - 112);
|
||||
|
||||
if (coll.type != 0)
|
||||
{
|
||||
|
@ -3552,7 +3552,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
|
|||
auto moveptr = &ScriptCode[actor->temp_data[1]];
|
||||
|
||||
if (a & geth) actor->spr.xvel += (*moveptr - actor->spr.xvel) >> 1;
|
||||
if (a & getv) actor->spr.zvel += ((*(moveptr + 1) << 4) - actor->int_zvel()) >> 1;
|
||||
if (a & getv) actor->add_int_zvel( ((*(moveptr + 1) << 4) - actor->int_zvel()) >> 1);
|
||||
|
||||
if (a & dodgebullet)
|
||||
dodge(actor);
|
||||
|
|
|
@ -690,7 +690,7 @@ void movefallers_r(void)
|
|||
|
||||
if (act->spr.pos.Z < sectp->floorz - 1)
|
||||
{
|
||||
act->spr.zvel += x;
|
||||
act->add_int_zvel( x);
|
||||
if (act->int_zvel() > 6144)
|
||||
act->set_int_zvel(6144);
|
||||
act->add_int_z(act->int_zvel());
|
||||
|
@ -956,7 +956,7 @@ static void chickenarrow(DDukeActor* actor)
|
|||
|
||||
if (actor->spr.hitag > 180)
|
||||
if (actor->spr.zvel <= 0)
|
||||
actor->spr.zvel += 200;
|
||||
actor->add_int_zvel( 200);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1264,7 +1264,7 @@ static void weaponcommon_r(DDukeActor *proj)
|
|||
auto x = EGS(proj->sector(),
|
||||
proj->int_pos().X + MulScale(k, bcos(proj->int_ang()), 9),
|
||||
proj->int_pos().Y + MulScale(k, bsin(proj->int_ang()), 9),
|
||||
proj->int_pos().Z + ((k * Sgn(proj->int_zvel())) * abs(proj->spr.zvel / 24)), FIRELASER, -40 + (k << 2),
|
||||
proj->int_pos().Z + ((k * Sgn(proj->int_zvel())) * abs(proj->int_zvel() / 24)), FIRELASER, -40 + (k << 2),
|
||||
proj->spr.xrepeat, proj->spr.yrepeat, 0, 0, 0, proj->GetOwner(), 5);
|
||||
|
||||
if (x)
|
||||
|
@ -1275,7 +1275,7 @@ static void weaponcommon_r(DDukeActor *proj)
|
|||
}
|
||||
}
|
||||
else if (proj->spr.picnum == SPIT) if (proj->int_zvel() < 6144)
|
||||
proj->spr.zvel += gs.gravity - 112;
|
||||
proj->add_int_zvel( gs.gravity - 112);
|
||||
|
||||
if (coll.type != 0)
|
||||
{
|
||||
|
@ -3621,7 +3621,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
|
|||
auto moveptr = &ScriptCode[actor->temp_data[1]];
|
||||
|
||||
if (a & geth) actor->spr.xvel += (*moveptr - actor->spr.xvel) >> 1;
|
||||
if (a & getv) actor->spr.zvel += ((*(moveptr + 1) << 4) - actor->int_zvel()) >> 1;
|
||||
if (a & getv) actor->add_int_zvel( ((*(moveptr + 1) << 4) - actor->int_zvel()) >> 1);
|
||||
|
||||
if (a & dodgebullet)
|
||||
dodge(actor);
|
||||
|
|
|
@ -805,7 +805,7 @@ static void shootrpg(DDukeActor *actor, int p, int sx, int sy, int sz, int sa, i
|
|||
{
|
||||
spawned->spr.extra >>= 2;
|
||||
spawned->add_int_ang(16 - (krand() & 31));
|
||||
spawned->spr.zvel += 256 - (krand() & 511);
|
||||
spawned->add_int_zvel( 256 - (krand() & 511));
|
||||
|
||||
if (ps[p].hbomb_hold_delay)
|
||||
{
|
||||
|
|
|
@ -716,7 +716,7 @@ static void shootrpg(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i
|
|||
{
|
||||
spawned->spr.extra >>= 2;
|
||||
spawned->add_int_ang(16 - (krand() & 31));
|
||||
spawned->spr.zvel += 256 - (krand() & 511);
|
||||
spawned->add_int_zvel( 256 - (krand() & 511));
|
||||
|
||||
if (ps[p].hbomb_hold_delay)
|
||||
{
|
||||
|
|
|
@ -575,7 +575,7 @@ void Gravity(DExhumedActor* pActor)
|
|||
if (pActor->spr.zvel <= 1024)
|
||||
{
|
||||
if (pActor->int_zvel() < 2048) {
|
||||
pActor->spr.zvel += 512;
|
||||
pActor->add_int_zvel( 512);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -594,7 +594,7 @@ void Gravity(DExhumedActor* pActor)
|
|||
}
|
||||
else if (pActor->int_zvel() < 0)
|
||||
{
|
||||
pActor->spr.zvel += 64;
|
||||
pActor->add_int_zvel( 64);
|
||||
if (pActor->int_zvel() > 0) {
|
||||
pActor->set_int_zvel(0);
|
||||
}
|
||||
|
@ -603,7 +603,7 @@ void Gravity(DExhumedActor* pActor)
|
|||
}
|
||||
else
|
||||
{
|
||||
pActor->spr.zvel += 512;
|
||||
pActor->add_int_zvel( 512);
|
||||
if (pActor->int_zvel() > 16384) {
|
||||
pActor->set_int_zvel(16384);
|
||||
}
|
||||
|
|
|
@ -1434,7 +1434,7 @@ void AISpark::Tick(RunListEvent* ev)
|
|||
return;
|
||||
}
|
||||
|
||||
pActor->spr.zvel += 128;
|
||||
pActor->add_int_zvel( 128);
|
||||
|
||||
auto nMov = movesprite(pActor, pActor->spr.xvel << 12, pActor->spr.yvel << 12, pActor->int_zvel(), 2560, -2560, CLIPMASK1);
|
||||
if (!nMov.type && !nMov.exbits) {
|
||||
|
|
|
@ -264,7 +264,7 @@ int DoWallBloodDrip(DSWActor* actor)
|
|||
// if you are between the ceiling and floor fall fast
|
||||
if (actor->spr.pos.Z > actor->user.pos.Y && actor->spr.pos.Z < actor->user.pos.Z)
|
||||
{
|
||||
actor->spr.zvel += 300;
|
||||
actor->add_int_zvel( 300);
|
||||
actor->add_int_z(actor->int_zvel());
|
||||
}
|
||||
else
|
||||
|
|
|
@ -9135,7 +9135,7 @@ int DoRail(DSWActor* actor)
|
|||
|
||||
actorNew->spr.xvel += (RandomRange(140)-RandomRange(140));
|
||||
actorNew->spr.yvel += (RandomRange(140)-RandomRange(140));
|
||||
actorNew->spr.zvel += (RandomRange(140)-RandomRange(140));
|
||||
actorNew->add_int_zvel( (RandomRange(140)-RandomRange(140)));
|
||||
|
||||
actorNew->user.RotNum = 5;
|
||||
NewStateGroup(actorNew, sg_RailPuff);
|
||||
|
@ -9292,7 +9292,7 @@ int SpawnExtraMicroMini(DSWActor* actor)
|
|||
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() + RandomRange(64) - 32));
|
||||
actorNew->set_int_zvel(actor->int_zvel());
|
||||
actorNew->spr.zvel += RandomRange(Z(16)) - Z(8);
|
||||
actorNew->add_int_zvel( RandomRange(Z(16)) - Z(8));
|
||||
|
||||
UpdateChange(actorNew);
|
||||
return 0;
|
||||
|
@ -13428,7 +13428,7 @@ int InitMicro(PLAYER* pp)
|
|||
actorNew->spr.clipdist = 64L>>2;
|
||||
|
||||
// randomize zvelocity
|
||||
actorNew->spr.zvel += RandomRange(Z(8)) - Z(5);
|
||||
actorNew->add_int_zvel( RandomRange(Z(8)) - Z(5));
|
||||
|
||||
actorNew->user.RotNum = 5;
|
||||
NewStateGroup(actorNew, &sg_Micro[0]);
|
||||
|
@ -14991,7 +14991,7 @@ int InitTurretMicro(DSWActor* actor, PLAYER* pp)
|
|||
actorNew->spr.clipdist = 64L>>2;
|
||||
|
||||
// randomize zvelocity
|
||||
actorNew->spr.zvel += RandomRange(Z(8)) - Z(5);
|
||||
actorNew->add_int_zvel( RandomRange(Z(8)) - Z(5));
|
||||
|
||||
actorNew->user.RotNum = 5;
|
||||
NewStateGroup(actorNew, &sg_Micro[0]);
|
||||
|
@ -16720,7 +16720,7 @@ int SpawnSmokePuff(DSWActor* actor)
|
|||
int DoBubble(DSWActor* actor)
|
||||
{
|
||||
actor->add_int_z(-actor->int_zvel());
|
||||
actor->spr.zvel += 32;
|
||||
actor->add_int_zvel( 32);
|
||||
|
||||
if (actor->int_zvel() > 768)
|
||||
actor->set_int_zvel(768);
|
||||
|
|
Loading…
Reference in a new issue