mirror of
https://github.com/ZDoom/Raze.git
synced 2025-01-31 04:20:42 +00:00
- wrapped more xvels
This commit is contained in:
parent
e3758d6adc
commit
193d20bb4d
5 changed files with 50 additions and 50 deletions
|
@ -213,7 +213,7 @@ public:
|
|||
|
||||
DVector3 fVel() const
|
||||
{
|
||||
return { FixedToFloat(__int_vel.X), FixedToFloat(__int_vel.Y), FixedToFloat(int_vel().Z) };
|
||||
return { FixedToFloat(int_vel().X), FixedToFloat(int_vel().Y), FixedToFloat(int_vel().Z) };
|
||||
}
|
||||
|
||||
vec3_t int_vel() const
|
||||
|
|
|
@ -4090,7 +4090,7 @@ static void actImpactMissile(DBloodActor* missileActor, int hitCode)
|
|||
|
||||
static void actKickObject(DBloodActor* kicker, DBloodActor* kicked)
|
||||
{
|
||||
int nSpeed = ClipLow(approxDist(kicker->__int_vel.X, kicker->__int_vel.Y) * 2, 0xaaaaa);
|
||||
int nSpeed = ClipLow(approxDist(kicker->int_vel().X, kicker->int_vel().Y) * 2, 0xaaaaa);
|
||||
kicked->__int_vel.X = MulScale(nSpeed, Cos(kicker->int_ang() + Random2(85)), 30);
|
||||
kicked->__int_vel.Y = MulScale(nSpeed, Sin(kicker->int_ang() + Random2(85)), 30);
|
||||
kicked->__int_vel.Z = MulScale(nSpeed, -0x2000, 14);
|
||||
|
@ -4272,7 +4272,7 @@ static void checkHit(DBloodActor* actor)
|
|||
{
|
||||
actKickObject(actor, actor2);
|
||||
sfxPlay3DSound(actor, 357, -1, 1);
|
||||
int dmg = (mass1 - mass2) + abs(FixedToInt(actor->__int_vel.X));
|
||||
int dmg = (mass1 - mass2) + abs(FixedToInt(actor->int_vel().X));
|
||||
if (dmg > 0) actDamageSprite(actor, actor2, (Chance(0x2000)) ? kDamageFall : kDamageBullet, dmg);
|
||||
}
|
||||
}
|
||||
|
@ -4501,9 +4501,9 @@ void actAirDrag(DBloodActor* actor, int a2)
|
|||
wind_y = MulScale(wind, Sin(pXSector->windAng), 30);
|
||||
}
|
||||
}
|
||||
actor->__int_vel.X += MulScale(wind_x - actor->__int_vel.X, a2, 16);
|
||||
actor->__int_vel.Y += MulScale(wind_y - actor->__int_vel.Y, a2, 16);
|
||||
actor->__int_vel.Z -= MulScale(actor->__int_vel.Z, a2, 16);
|
||||
actor->__int_vel.X += MulScale(wind_x - actor->int_vel().X, a2, 16);
|
||||
actor->__int_vel.Y += MulScale(wind_y - actor->int_vel().Y, a2, 16);
|
||||
actor->__int_vel.Z -= MulScale(actor->int_vel().Z, a2, 16);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -4525,7 +4525,7 @@ static Collision MoveThing(DBloodActor* actor)
|
|||
lhit.setNone();
|
||||
GetActorExtents(actor, &top, &bottom);
|
||||
const int bakCompat = enginecompatibility_mode;
|
||||
if (actor->__int_vel.X || actor->__int_vel.Y)
|
||||
if (actor->__int_vel.X || actor->int_vel().Y)
|
||||
{
|
||||
auto bakCstat = actor->spr.cstat;
|
||||
actor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL;
|
||||
|
@ -4663,9 +4663,9 @@ static Collision MoveThing(DBloodActor* actor)
|
|||
actor->add_int_z(ClipLow(ceilZ - top, 0));
|
||||
if (actor->__int_vel.Z < 0)
|
||||
{
|
||||
actor->__int_vel.X = MulScale(actor->__int_vel.X, 0xc000, 16);
|
||||
actor->__int_vel.Y = MulScale(actor->__int_vel.Y, 0xc000, 16);
|
||||
actor->__int_vel.Z = MulScale(-actor->__int_vel.Z, 0x4000, 16);
|
||||
actor->__int_vel.X = MulScale(actor->int_vel().X, 0xc000, 16);
|
||||
actor->__int_vel.Y = MulScale(actor->int_vel().Y, 0xc000, 16);
|
||||
actor->__int_vel.Z = MulScale(-actor->int_vel().Z, 0x4000, 16);
|
||||
|
||||
switch (actor->spr.type)
|
||||
{
|
||||
|
@ -4688,7 +4688,7 @@ static Collision MoveThing(DBloodActor* actor)
|
|||
|
||||
if (bottom >= floorZ)
|
||||
{
|
||||
int nVel = approxDist(actor->__int_vel.X, actor->__int_vel.Y);
|
||||
int nVel = approxDist(actor->int_vel().X, actor->int_vel().Y);
|
||||
int nVelClipped = ClipHigh(nVel, 0x11111);
|
||||
Collision& coll = floorColl;
|
||||
|
||||
|
@ -4705,12 +4705,12 @@ static Collision MoveThing(DBloodActor* actor)
|
|||
if (nVel > 0)
|
||||
{
|
||||
int t = DivScale(nVelClipped, nVel, 16);
|
||||
actor->__int_vel.X -= MulScale(t, actor->__int_vel.X, 16);
|
||||
actor->__int_vel.Y -= MulScale(t, actor->__int_vel.Y, 16);
|
||||
actor->__int_vel.X -= MulScale(t, actor->int_vel().X, 16);
|
||||
actor->__int_vel.Y -= MulScale(t, actor->int_vel().Y, 16);
|
||||
}
|
||||
}
|
||||
if (actor->__int_vel.X || actor->__int_vel.Y)
|
||||
actor->spr.angle = VecToAngle(actor->__int_vel.X, actor->__int_vel.Y);
|
||||
if (actor->__int_vel.X || actor->int_vel().Y)
|
||||
actor->spr.angle = VecToAngle(actor->int_vel().X, actor->int_vel().Y);
|
||||
return lhit;
|
||||
}
|
||||
|
||||
|
@ -4741,7 +4741,7 @@ void MoveDude(DBloodActor* actor)
|
|||
|
||||
assert(pSector);
|
||||
|
||||
if (actor->__int_vel.X || actor->__int_vel.Y)
|
||||
if (actor->__int_vel.X || actor->int_vel().Y)
|
||||
{
|
||||
if (pPlayer && gNoClip)
|
||||
{
|
||||
|
@ -5165,7 +5165,7 @@ void MoveDude(DBloodActor* actor)
|
|||
actor->add_int_z(ClipLow(ceilZ - top, 0));
|
||||
|
||||
if (actor->__int_vel.Z <= 0 && (actor->spr.flags & 4))
|
||||
actor->__int_vel.Z = MulScale(-actor->__int_vel.Z, 0x2000, 16);
|
||||
actor->__int_vel.Z = MulScale(-actor->int_vel().Z, 0x2000, 16);
|
||||
}
|
||||
else
|
||||
actor->hit.ceilhit.setNone();
|
||||
|
@ -5173,7 +5173,7 @@ void MoveDude(DBloodActor* actor)
|
|||
GetActorExtents(actor, &top, &bottom);
|
||||
|
||||
actor->xspr.height = ClipLow(floorZ - bottom, 0) >> 8;
|
||||
if (actor->__int_vel.X || actor->__int_vel.Y)
|
||||
if (actor->__int_vel.X || actor->int_vel().Y)
|
||||
{
|
||||
if (floorColl.type == kHitSprite)
|
||||
{
|
||||
|
@ -5192,10 +5192,10 @@ void MoveDude(DBloodActor* actor)
|
|||
int nDrag = gDudeDrag;
|
||||
if (actor->xspr.height > 0)
|
||||
nDrag -= Scale(gDudeDrag, actor->xspr.height, 0x100);
|
||||
actor->__int_vel.X -= mulscale16r(actor->__int_vel.X, nDrag);
|
||||
actor->__int_vel.Y -= mulscale16r(actor->__int_vel.Y, nDrag);
|
||||
actor->__int_vel.X -= mulscale16r(actor->int_vel().X, nDrag);
|
||||
actor->__int_vel.Y -= mulscale16r(actor->int_vel().Y, nDrag);
|
||||
|
||||
if (approxDist(actor->__int_vel.X, actor->__int_vel.Y) < 0x1000)
|
||||
if (approxDist(actor->int_vel().X, actor->int_vel().Y) < 0x1000)
|
||||
actor->__int_vel.X = actor->__int_vel.Y = 0;
|
||||
}
|
||||
}
|
||||
|
@ -6054,7 +6054,7 @@ static void actCheckDudes()
|
|||
else
|
||||
pPlayer->chokeEffect = 0;
|
||||
|
||||
if (actor->__int_vel.X || actor->__int_vel.Y)
|
||||
if (actor->__int_vel.X || actor->int_vel().Y)
|
||||
sfxPlay3DSound(actor, 709, 100, 2);
|
||||
|
||||
pPlayer->bubbleTime = ClipLow(pPlayer->bubbleTime - 4, 0);
|
||||
|
|
|
@ -87,7 +87,7 @@ void Remove(DBloodActor* actor, sectortype*) // 1
|
|||
void FlareBurst(DBloodActor* actor, sectortype*) // 2
|
||||
{
|
||||
if (!actor) return;
|
||||
int nAngle = getangle(actor->__int_vel.X, actor->__int_vel.Y);
|
||||
int nAngle = getangle(actor->int_vel().X, actor->int_vel().Y);
|
||||
int nRadius = 0x55555;
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
|
|
|
@ -1331,7 +1331,7 @@ void nnExtProcessSuperSprites()
|
|||
|
||||
if (pact && pact->hit.hit.type == kHitSprite && pact->hit.hit.actor() == debrisactor)
|
||||
{
|
||||
int nSpeed = approxDist(pact->__int_vel.X, pact->__int_vel.Y);
|
||||
int nSpeed = approxDist(pact->int_vel().X, pact->int_vel().Y);
|
||||
nSpeed = ClipLow(nSpeed - MulScale(nSpeed, mass, 6), 0x9000 - (mass << 3));
|
||||
|
||||
debrisactor->__int_vel.X += MulScale(nSpeed, Cos(pPlayer->actor->int_ang()), 30);
|
||||
|
@ -1346,8 +1346,8 @@ void nnExtProcessSuperSprites()
|
|||
if ((debrisactor->xspr.physAttr & kPhysFalling) || debrisactor->__int_vel.X || debrisactor->__int_vel.Y || debrisactor->__int_vel.Z || debrisactor->sector()->velFloor || debrisactor->sector()->velCeil)
|
||||
debrisMove(i);
|
||||
|
||||
if (debrisactor->__int_vel.X || debrisactor->__int_vel.Y)
|
||||
debrisactor->xspr.goalAng = getangle(debrisactor->__int_vel.X, debrisactor->__int_vel.Y) & 2047;
|
||||
if (debrisactor->__int_vel.X || debrisactor->int_vel().Y)
|
||||
debrisactor->xspr.goalAng = getangle(debrisactor->int_vel().X, debrisactor->int_vel().Y) & 2047;
|
||||
|
||||
int ang = debrisactor->int_ang() & 2047;
|
||||
if ((uwater = spriteIsUnderwater(debrisactor)) == false) evKillActor(debrisactor, kCallbackEnemeyBubble);
|
||||
|
@ -1361,7 +1361,7 @@ void nnExtProcessSuperSprites()
|
|||
}
|
||||
}
|
||||
|
||||
int angStep = ClipLow(mulscale8(1, ((abs(debrisactor->__int_vel.X) + abs(debrisactor->__int_vel.Y)) >> 5)), (uwater) ? 1 : 0);
|
||||
int angStep = ClipLow(mulscale8(1, ((abs(debrisactor->int_vel().X) + abs(debrisactor->int_vel().Y)) >> 5)), (uwater) ? 1 : 0);
|
||||
if (ang < debrisactor->xspr.goalAng) debrisactor->set_int_ang(ClipHigh(ang + angStep, debrisactor->xspr.goalAng));
|
||||
else if (ang > debrisactor->xspr.goalAng) debrisactor->set_int_ang(ClipLow(ang - angStep, debrisactor->xspr.goalAng));
|
||||
|
||||
|
@ -1662,7 +1662,7 @@ void debrisMove(int listIndex)
|
|||
uwater = true;
|
||||
}
|
||||
|
||||
if (actor->__int_vel.X || actor->__int_vel.Y)
|
||||
if (actor->__int_vel.X || actor->int_vel().Y)
|
||||
{
|
||||
|
||||
auto oldcstat = actor->spr.cstat;
|
||||
|
@ -1832,7 +1832,7 @@ void debrisMove(int listIndex)
|
|||
actor->hit.ceilhit = moveHit = ceilColl;
|
||||
actor->add_int_z(ClipLow(ceilZ - top, 0));
|
||||
if (actor->__int_vel.Z <= 0 && (actor->xspr.physAttr & kPhysFalling))
|
||||
actor->__int_vel.Z = MulScale(-actor->__int_vel.Z, 0x2000, 16);
|
||||
actor->__int_vel.Z = MulScale(-actor->int_vel().Z, 0x2000, 16);
|
||||
|
||||
}
|
||||
else
|
||||
|
@ -1848,7 +1848,7 @@ void debrisMove(int listIndex)
|
|||
trTriggerSprite(actor, kCmdToggle, actor);
|
||||
}
|
||||
|
||||
if (!actor->__int_vel.X && !actor->__int_vel.Y) return;
|
||||
if (!actor->__int_vel.X && !actor->int_vel().Y) return;
|
||||
else if (floorColl.type == kHitSprite)
|
||||
{
|
||||
|
||||
|
@ -1868,9 +1868,9 @@ void debrisMove(int listIndex)
|
|||
if (actor->xspr.height > 0)
|
||||
nDrag -= Scale(nDrag, actor->xspr.height, 0x100);
|
||||
|
||||
actor->__int_vel.X -= mulscale16r(actor->__int_vel.X, nDrag);
|
||||
actor->__int_vel.Y -= mulscale16r(actor->__int_vel.Y, nDrag);
|
||||
if (approxDist(actor->__int_vel.X, actor->__int_vel.Y) < 0x1000)
|
||||
actor->__int_vel.X -= mulscale16r(actor->int_vel().X, nDrag);
|
||||
actor->__int_vel.Y -= mulscale16r(actor->int_vel().Y, nDrag);
|
||||
if (approxDist(actor->int_vel().X, actor->int_vel().Y) < 0x1000)
|
||||
actor->__int_vel.X = actor->__int_vel.Y = 0;
|
||||
}
|
||||
|
||||
|
@ -4609,17 +4609,17 @@ bool condCheckSprite(DBloodActor* aCond, int cmpOp, bool PUSH)
|
|||
{
|
||||
if (arg1 == 0)
|
||||
{
|
||||
if ((var = condCmp(objActor->__int_vel.X, arg1, arg2, cmpOp)) == true) return var;
|
||||
if ((var = condCmp(objActor->__int_vel.Y, arg1, arg2, cmpOp)) == true) return var;
|
||||
if ((var = condCmp(objActor->__int_vel.Z, arg1, arg2, cmpOp)) == true) return var;
|
||||
if ((var = condCmp(objActor->int_vel().X, arg1, arg2, cmpOp)) == true) return var;
|
||||
if ((var = condCmp(objActor->int_vel().Y, arg1, arg2, cmpOp)) == true) return var;
|
||||
if ((var = condCmp(objActor->int_vel().Z, arg1, arg2, cmpOp)) == true) return var;
|
||||
}
|
||||
else if (arg1 == 1) return condCmp(objActor->__int_vel.X, arg1, arg2, cmpOp);
|
||||
else if (arg1 == 2) return condCmp(objActor->__int_vel.Y, arg1, arg2, cmpOp);
|
||||
else if (arg1 == 3) return condCmp(objActor->__int_vel.Z, arg1, arg2, cmpOp);
|
||||
else if (arg1 == 1) return condCmp(objActor->int_vel().X, arg1, arg2, cmpOp);
|
||||
else if (arg1 == 2) return condCmp(objActor->int_vel().Y, arg1, arg2, cmpOp);
|
||||
else if (arg1 == 3) return condCmp(objActor->int_vel().Z, arg1, arg2, cmpOp);
|
||||
}
|
||||
else if (arg1 == 0) return (objActor->__int_vel.X || objActor->__int_vel.Y || objActor->int_vel().Z);
|
||||
else if (arg1 == 1) return (objActor->__int_vel.X);
|
||||
else if (arg1 == 2) return (objActor->__int_vel.Y);
|
||||
else if (arg1 == 1) return (objActor->int_vel().X);
|
||||
else if (arg1 == 2) return (objActor->int_vel().Y);
|
||||
else if (arg1 == 3) return (objActor->int_vel().Z);
|
||||
break;
|
||||
case 30:
|
||||
|
@ -7724,7 +7724,7 @@ void nnExtAiSetDirection(DBloodActor* actor, int a3)
|
|||
assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax);
|
||||
|
||||
int vc = getincangle(actor->int_ang(), a3);
|
||||
int t1 = DMulScale(actor->__int_vel.X, Cos(actor->int_ang()), actor->__int_vel.Y, Sin(actor->int_ang()), 30);
|
||||
int t1 = DMulScale(actor->int_vel().X, Cos(actor->int_ang()), actor->int_vel().Y, Sin(actor->int_ang()), 30);
|
||||
int vsi = ((t1 * 15) >> 12) / 2;
|
||||
int v8 = 341;
|
||||
|
||||
|
@ -8205,7 +8205,7 @@ void aiPatrolMove(DBloodActor* actor)
|
|||
if (hitactor->hasX() && hitactor->xspr.health)
|
||||
{
|
||||
hitactor->xspr.dodgeDir = (actor->xspr.dodgeDir > 0) ? -1 : 1;
|
||||
if (hitactor->__int_vel.X || hitactor->__int_vel.Y)
|
||||
if (hitactor->__int_vel.X || hitactor->int_vel().Y)
|
||||
aiMoveDodge(hitactor);
|
||||
}
|
||||
}
|
||||
|
@ -8228,8 +8228,8 @@ void aiPatrolMove(DBloodActor* actor)
|
|||
}
|
||||
|
||||
vel = MulScale(vel, approxDist(dx, dy) << 6, 16);
|
||||
actor->__int_vel.X = ClipRange(actor->__int_vel.X, -vel, vel);
|
||||
actor->__int_vel.Y = ClipRange(actor->__int_vel.Y, -vel, vel);
|
||||
actor->__int_vel.X = ClipRange(actor->int_vel().X, -vel, vel);
|
||||
actor->__int_vel.Y = ClipRange(actor->int_vel().Y, -vel, vel);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -8576,7 +8576,7 @@ DBloodActor* aiPatrolSearchTargets(DBloodActor* actor)
|
|||
DBloodActor* act = pPlayer->actor;
|
||||
itCanHear = (!deaf && (nDist < hearDist || hearChance > 0));
|
||||
if (act && itCanHear && nDist < feelDist && (act->__int_vel.X || act->__int_vel.Y || act->int_vel().Z))
|
||||
hearChance += ClipLow(mulscale8(1, ClipLow(((feelDist - nDist) + (abs(act->__int_vel.X) + abs(act->__int_vel.Y) + abs(act->int_vel().Z))) >> 6, 0)), 0);
|
||||
hearChance += ClipLow(mulscale8(1, ClipLow(((feelDist - nDist) + (abs(act->int_vel().X) + abs(act->int_vel().Y) + abs(act->int_vel().Z))) >> 6, 0)), 0);
|
||||
}
|
||||
|
||||
if (seeDist)
|
||||
|
@ -9192,7 +9192,7 @@ void callbackUniMissileBurst(DBloodActor* actor, sectortype*) // 22
|
|||
{
|
||||
if (!actor) return;
|
||||
if (actor->spr.statnum != kStatProjectile) return;
|
||||
int nAngle = getangle(actor->__int_vel.X, actor->__int_vel.Y);
|
||||
int nAngle = getangle(actor->int_vel().X, actor->int_vel().Y);
|
||||
int nRadius = 0x55555;
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
|
|
|
@ -1862,15 +1862,15 @@ void playerProcess(PLAYER* pPlayer)
|
|||
}
|
||||
}
|
||||
ProcessInput(pPlayer);
|
||||
int nSpeed = approxDist(actor->__int_vel.X, actor->__int_vel.Y);
|
||||
pPlayer->zViewVel = interpolatedvalue(pPlayer->zViewVel, actor->__int_vel.Z, 0x7000);
|
||||
int nSpeed = approxDist(actor->int_vel().X, actor->int_vel().Y);
|
||||
pPlayer->zViewVel = interpolatedvalue(pPlayer->zViewVel, actor->int_vel().Z, 0x7000);
|
||||
int dz = pPlayer->actor->int_pos().Z - pPosture->eyeAboveZ - pPlayer->zView;
|
||||
if (dz > 0)
|
||||
pPlayer->zViewVel += MulScale(dz << 8, 0xa000, 16);
|
||||
else
|
||||
pPlayer->zViewVel += MulScale(dz << 8, 0x1800, 16);
|
||||
pPlayer->zView += pPlayer->zViewVel >> 8;
|
||||
pPlayer->zWeaponVel = interpolatedvalue(pPlayer->zWeaponVel, actor->__int_vel.Z, 0x5000);
|
||||
pPlayer->zWeaponVel = interpolatedvalue(pPlayer->zWeaponVel, actor->int_vel().Z, 0x5000);
|
||||
dz = pPlayer->actor->int_pos().Z - pPosture->weaponAboveZ - pPlayer->zWeapon;
|
||||
if (dz > 0)
|
||||
pPlayer->zWeaponVel += MulScale(dz << 8, 0x8000, 16);
|
||||
|
|
Loading…
Reference in a new issue