mirror of
https://github.com/DrBeef/Raze.git
synced 2025-01-19 15:40:58 +00:00
- cleaned out most MOVEx/y calls and the last remaining wrappers in player.cpp.
This commit is contained in:
parent
64e906d8fc
commit
f9f26bbfe2
8 changed files with 31 additions and 44 deletions
|
@ -346,6 +346,16 @@ void DoShadows(tspriteArray& tsprites, tspritetype* tsp, int viewz, int camang)
|
|||
//DoVoxelShadow(New);
|
||||
}
|
||||
|
||||
inline int MOVEx(int vel, int ang)
|
||||
{
|
||||
return (MulScale(vel, bcos(ang), 14));
|
||||
}
|
||||
|
||||
inline int MOVEy(int vel, int ang)
|
||||
{
|
||||
return (MulScale(vel, bsin(ang), 14));
|
||||
}
|
||||
|
||||
void DoMotionBlur(tspriteArray& tsprites, tspritetype const * const tsp)
|
||||
{
|
||||
auto ownerActor = static_cast<DSWActor*>(tsp->ownerActor);
|
||||
|
@ -756,8 +766,7 @@ static void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int vie
|
|||
{
|
||||
// move sprite forward some so he looks like he's
|
||||
// climbing
|
||||
pos.X = pp->si.X + MOVEx(128 + 80, tsp->angle);
|
||||
pos.Y = pp->si.Y + MOVEy(128 + 80, tsp->angle);
|
||||
pos.XY() = pp->si.XY() + tsp->angle.ToVector() * 13;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -202,31 +202,11 @@ constexpr int NORM_ANGLE(int ang) { return ((ang) & 2047); }
|
|||
int StdRandomRange(int range);
|
||||
|
||||
|
||||
inline int MOVEx(int vel, int ang)
|
||||
{
|
||||
return (MulScale(vel, bcos(ang), 14));
|
||||
}
|
||||
|
||||
inline int MOVEy(int vel, int ang)
|
||||
{
|
||||
return (MulScale(vel, bsin(ang), 14));
|
||||
}
|
||||
|
||||
inline DVector2 MOVExy(int vel, DAngle ang)
|
||||
{
|
||||
return ang.ToVector() * vel * inttoworld;
|
||||
}
|
||||
|
||||
inline double MOVEx(int vel, DAngle ang)
|
||||
{
|
||||
return vel * ang.Cos() * inttoworld;
|
||||
}
|
||||
|
||||
inline double MOVEy(int vel, DAngle ang)
|
||||
{
|
||||
return vel * ang.Sin() * inttoworld;
|
||||
}
|
||||
|
||||
inline int SQ(int val)
|
||||
{
|
||||
return val * val;
|
||||
|
|
|
@ -1343,7 +1343,7 @@ void DoPlayerTeleportToOffset(PLAYER* pp)
|
|||
void DoSpawnTeleporterEffect(DSWActor* actor)
|
||||
{
|
||||
extern STATE s_TeleportEffect[];
|
||||
DVector2 vect = MOVExy(512, actor->spr.angle);
|
||||
DVector2 vect = actor->spr.angle.ToVector() * 32;
|
||||
|
||||
auto effectActor = SpawnActor(STAT_MISSILE, 0, s_TeleportEffect, actor->sector(),
|
||||
ActorVectOfTop(actor).plusZ(16) + vect, actor->spr.angle, 0);
|
||||
|
@ -2741,7 +2741,7 @@ void DoPlayerMoveVehicle(PLAYER* pp)
|
|||
DVector3 hitpos((pos[0] + pos[1]) * 0.5, pp->cursector->floorz - 10);
|
||||
|
||||
hitscan(hitpos, pp->cursector,
|
||||
DVector3(MOVEx(256, pp->angle.ang), MOVEy(256, pp->angle.ang), 0),
|
||||
DVector3(pp->angle.ang.ToVector() * 16, 0),
|
||||
hit, CLIPMASK_PLAYER);
|
||||
|
||||
if ((hit.hitpos.XY() - hitpos.XY()).LengthSquared() < 50 * 50)
|
||||
|
@ -4786,7 +4786,7 @@ void DoPlayerDive(PLAYER* pp)
|
|||
if (bubble != nullptr)
|
||||
{
|
||||
// back it up a bit to get it out of your face
|
||||
auto vec = MOVExy((128+64), bubble->spr.angle + DAngle180);
|
||||
auto vec = (bubble->spr.angle + DAngle180).ToVector() * 12;
|
||||
|
||||
move_sprite(bubble, DVector3(vec, 0), plActor->user.ceiling_dist, plActor->user.floor_dist, 0, synctics);
|
||||
}
|
||||
|
|
|
@ -860,7 +860,7 @@ void SectorExp(DSWActor* actor, sectortype* sectp, double zh)
|
|||
|
||||
exp->spr.xrepeat += (RANDOM_P2(32<<8)>>8) - 16;
|
||||
exp->spr.yrepeat += (RANDOM_P2(32<<8)>>8) - 16;
|
||||
exp->user.change.XY() = MOVExy(92, exp->spr.angle);
|
||||
exp->user.change.XY() = exp->spr.angle.ToVector(5.75);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -252,7 +252,7 @@ int SetupSkull(DSWActor* actor)
|
|||
|
||||
int DoSkullMove(DSWActor* actor)
|
||||
{
|
||||
auto vect = MOVExy(actor->int_xvel(), actor->spr.angle);
|
||||
auto vect = actor->spr.angle.ToVector() * actor->vel.X;
|
||||
double daz = actor->vel.Z;
|
||||
|
||||
actor->user.coll = move_missile(actor, DVector3(vect, daz), 16, 16, CLIPMASK_MISSILE, ACTORMOVETICS);
|
||||
|
|
|
@ -2486,10 +2486,10 @@ void SpriteSetup(void)
|
|||
actorNew->spr.cstat = 0;
|
||||
actorNew->spr.extra = 0;
|
||||
actorNew->spr.pos = actor->spr.pos;
|
||||
actorNew->set_int_ang(NORM_ANGLE(actor->int_ang() + 1024));
|
||||
actorNew->spr.angle += DAngle180;
|
||||
actorNew->spr.picnum = actor->spr.picnum;
|
||||
|
||||
actorNew->spr.pos += DVector2(MOVEx(256 + 128, actor->spr.angle), MOVEy(256 + 128, actor->spr.angle));
|
||||
actorNew->spr.pos += actor->spr.angle.ToVector() * 24;
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -4547,7 +4547,7 @@ bool ActorDrop(DSWActor* actor, const DVector3& pos, sectortype* new_sector, dou
|
|||
// Primarily used in ai.c for now - need to get rid of
|
||||
bool DropAhead(DSWActor* actor, double min_height)
|
||||
{
|
||||
auto vect = actor->spr.pos + MOVExy(256, actor->spr.angle);
|
||||
auto vect = actor->spr.pos + actor->spr.angle.ToVector() * 16;
|
||||
|
||||
auto newsector = actor->sector();
|
||||
updatesector(vect, &newsector);
|
||||
|
|
|
@ -7895,7 +7895,7 @@ int DoPlasma(DSWActor* actor)
|
|||
auto oldv = actor->spr.pos;
|
||||
DoBlurExtend(actor, 0, 4);
|
||||
|
||||
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
|
||||
auto vec = actor->spr.angle.ToVector() * actor->vel.X;
|
||||
double daz = actor->vel.Z;
|
||||
|
||||
actor->user.coll = move_missile(actor, DVector3(vec, daz), 16, 16, CLIPMASK_MISSILE, MISSILEMOVETICS);
|
||||
|
@ -8824,7 +8824,7 @@ int DoBoltThinMan(DSWActor* actor)
|
|||
{
|
||||
DoBlurExtend(actor, 0, 4);
|
||||
|
||||
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
|
||||
auto vec = actor->spr.angle.ToVector() * actor->vel.X;
|
||||
double daz = actor->vel.Z;
|
||||
|
||||
actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
|
||||
|
@ -9337,7 +9337,7 @@ int DoUziBullet(DSWActor* actor)
|
|||
// otherwize the moves are in too big an increment
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
auto vec = MOVExy((actor->int_xvel() >> 1), actor->spr.angle);
|
||||
auto vec = actor->spr.angle.ToVector() * actor->vel.X * 0.5;
|
||||
double daz = (actor->int_zvel() >> 1) * zinttoworld;
|
||||
|
||||
auto spos = actor->spr.pos.XY();
|
||||
|
@ -9391,7 +9391,7 @@ int DoBoltSeeker(DSWActor* actor)
|
|||
MissileSeek(actor, 30, 768/*, 4, 48, 6*/);
|
||||
DoBlurExtend(actor, 0, 4);
|
||||
|
||||
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
|
||||
auto vec = actor->spr.angle.ToVector() * actor->vel.X;
|
||||
double daz = actor->vel.Z;
|
||||
|
||||
actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
|
||||
|
@ -9430,7 +9430,7 @@ int DoElectro(DSWActor* actor)
|
|||
if (actor->user.Counter > 0)
|
||||
MissileSeek(actor, 30, 512/*, 3, 52, 2*/);
|
||||
|
||||
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
|
||||
auto vec = actor->spr.angle.ToVector() * actor->vel.X;
|
||||
double daz = actor->vel.Z;
|
||||
|
||||
actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
|
||||
|
@ -16006,7 +16006,7 @@ int HelpMissileLateral(DSWActor* actor, int dist)
|
|||
|
||||
actor->set_int_xvel(dist);
|
||||
|
||||
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
|
||||
auto vec = actor->spr.angle.ToVector() * actor->vel.X;
|
||||
|
||||
actor->spr.clipdist = 32L >> 2;
|
||||
|
||||
|
@ -16089,7 +16089,7 @@ int InitEnemyFireball(DSWActor* actor)
|
|||
{
|
||||
int nz, dist;
|
||||
int size_z;
|
||||
int i, targ_z, xchange, ychange;
|
||||
int i, targ_z;
|
||||
|
||||
static short lat_ang[] =
|
||||
{
|
||||
|
@ -16107,14 +16107,13 @@ int InitEnemyFireball(DSWActor* actor)
|
|||
size_z = Z(ActorSizeY(actor));
|
||||
nz = actor->int_pos().Z - size_z + (size_z >> 2) + (size_z >> 3) + Z(4);
|
||||
|
||||
xchange = MOVEx(GORO_FIREBALL_VELOCITY, actor->int_ang());
|
||||
ychange = MOVEy(GORO_FIREBALL_VELOCITY, actor->int_ang());
|
||||
auto change = actor->spr.angle.ToVector() * GORO_FIREBALL_VELOCITY;;
|
||||
|
||||
int lastvel = 0;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
auto actorNew = SpawnActor(STAT_MISSILE, GORO_FIREBALL, s_Fireball, actor->sector(),
|
||||
actor->int_pos().X, actor->int_pos().Y, nz, actor->int_ang(), GORO_FIREBALL_VELOCITY);
|
||||
actor->int_pos().X, actor->int_pos().Y, nz, actor->int_ang(), int(GORO_FIREBALL_VELOCITY * worldtoint));
|
||||
|
||||
actorNew->spr.hitag = LUMINOUS; //Always full brightness
|
||||
actorNew->spr.xrepeat = 20;
|
||||
|
@ -16129,8 +16128,7 @@ int InitEnemyFireball(DSWActor* actor)
|
|||
HelpMissileLateral(actorNew, 500);
|
||||
actorNew->set_int_ang(NORM_ANGLE(actorNew->int_ang() - lat_ang[i]));
|
||||
|
||||
actorNew->user.set_int_change_x(xchange);
|
||||
actorNew->user.set_int_change_y(ychange);
|
||||
actorNew->user.change.XY() = change;
|
||||
|
||||
MissileSetPos(actorNew, DoFireball, 700);
|
||||
|
||||
|
@ -16146,7 +16144,7 @@ int InitEnemyFireball(DSWActor* actor)
|
|||
// distance
|
||||
if (dist != 0)
|
||||
{
|
||||
actorNew->set_int_zvel((GORO_FIREBALL_VELOCITY * (targ_z - actorNew->int_pos().Z)) / dist);
|
||||
actorNew->set_int_zvel((GORO_FIREBALL_VELOCITY * worldtoint * (targ_z - actorNew->int_pos().Z)) / dist);
|
||||
actorNew->user.change.Z = actorNew->vel.Z;
|
||||
}
|
||||
// back up first one
|
||||
|
|
|
@ -139,7 +139,7 @@ const char *DeathString(DSWActor*);
|
|||
// NPC Missile Speeds
|
||||
#define NINJA_STAR_VELOCITY (1800)
|
||||
#define NINJA_BOLT_VELOCITY (500)
|
||||
#define GORO_FIREBALL_VELOCITY (800)
|
||||
constexpr int GORO_FIREBALL_VELOCITY = 50;
|
||||
#define SKEL_ELECTRO_VELOCITY (850)
|
||||
#define COOLG_FIRE_VELOCITY (400)
|
||||
|
||||
|
|
Loading…
Reference in a new issue