- first bunch of wrapping xvel.

This commit is contained in:
Christoph Oelckers 2022-09-01 16:45:28 +02:00
parent 0740ccbef1
commit ba044ac2f4
17 changed files with 60 additions and 60 deletions

View file

@ -225,8 +225,8 @@ int ssp(DDukeActor* const actor, unsigned int cliptype) //The set sprite functio
Collision c;
return movesprite_ex(actor,
MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14),
MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14), actor->int_zvel(),
MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14),
MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14), actor->int_zvel(),
cliptype, c) == kHitNone;
}
@ -1257,8 +1257,8 @@ void movecanwithsomething(DDukeActor* actor)
void bounce(DDukeActor* actor)
{
int xvect = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 10);
int yvect = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 10);
int xvect = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 10);
int yvect = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 10);
int zvect = actor->int_zvel();
auto sectp = actor->sector();
@ -1464,8 +1464,8 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball)
auto sect = actor->sector();
auto pos = actor->spr.pos;
int j = clipmove(pos, &sect,
(MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14) * TICSPERFRAME) << 11,
(MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14) * TICSPERFRAME) << 11,
(MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14) * TICSPERFRAME) << 11,
(MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14) * TICSPERFRAME) << 11,
24, (4 << 8), (4 << 8), CLIPMASK1, coll);
actor->spr.pos = pos;;
actor->setsector(sect);
@ -2219,7 +2219,7 @@ bool jibs(DDukeActor *actor, int JIBS6, bool timeout, bool callsetsprite, bool f
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 });
actor->add_int_pos({ MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14), MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14), 0 });
actor->spr.pos.Z += actor->float_zvel();
if (floorcheck && actor->spr.pos.Z >= actor->sector()->floorz)
@ -2494,7 +2494,7 @@ void scrap(DDukeActor* actor, int SCRAP1, int SCRAP6)
}
}
if (actor->float_zvel() < 16) 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->int_zvel()});
actor->add_int_pos({ MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14), MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14), actor->int_zvel()});
}
else
{
@ -2824,8 +2824,8 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6)
}
}
int m = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
x = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
int m = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
x = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
double mm = m * inttoworld;
double xx = x * inttoworld;
@ -2983,8 +2983,8 @@ void handle_se30(DDukeActor *actor, int JIBS6)
if (actor->spr.xvel)
{
int l = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
int x = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
int l = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
int x = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
if ((sc->floorz - sc->ceilingz) < 108)
if (ud.clipping == 0)
@ -3134,8 +3134,8 @@ void handle_se02(DDukeActor* actor)
else sc->setfloorslope(sc->getfloorslope() + (Sgn(actor->temp_data[5] - sc->getfloorslope()) << 4));
}
int m = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
int x = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
int m = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
int x = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
for (int p = connecthead; p >= 0; p = connectpoint2[p])
@ -4118,8 +4118,8 @@ void handle_se20(DDukeActor* actor)
if (actor->spr.xvel) //Moving
{
int x = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
int l = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
int x = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
int l = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
actor->temp_data[3] += actor->spr.xvel;

View file

@ -2598,8 +2598,8 @@ static void heavyhbomb(DDukeActor *actor)
Collision coll;
movesprite_ex(actor,
MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14),
MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14),
MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14),
MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14),
actor->int_zvel(), CLIPMASK0, coll);
if (actor->sector()->lotag == 1 && actor->float_zvel() == 0)

View file

@ -2375,8 +2375,8 @@ static void heavyhbomb(DDukeActor *actor)
Collision coll;
movesprite_ex(actor,
MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14),
MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14),
MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14),
MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14),
actor->int_zvel(), CLIPMASK0, coll);
if (actor->sector()->lotag == 1 && actor->float_zvel() == 0)
@ -2563,8 +2563,8 @@ static int henstand(DDukeActor *actor)
makeitfall(actor);
Collision coll;
movesprite_ex(actor,
MulScale(bcos(actor->int_ang()), actor->spr.xvel, 14),
MulScale(bsin(actor->int_ang()), actor->spr.xvel, 14),
MulScale(bcos(actor->int_ang()), actor->int_xvel(), 14),
MulScale(bsin(actor->int_ang()), actor->int_xvel(), 14),
actor->int_zvel(), CLIPMASK0, coll);
if (coll.type)
{

View file

@ -216,7 +216,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat
case BURNING2:
if (OwnerAc && OwnerAc->spr.statnum == STAT_PLAYER)
{
if (display_mirror == 0 && OwnerAc->spr.yvel == screenpeek && ps[screenpeek].over_shoulder_on == 0)
if (display_mirror == 0 && OwnerAc->PlayerIndex() == screenpeek && ps[screenpeek].over_shoulder_on == 0)
t->xrepeat = 0;
else
{

View file

@ -773,8 +773,8 @@ int DoActorDeathMove(DSWActor* actor)
DoActorFall(actor);
}
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
actor->spr.clipdist = (128+64)>>2;
move_actor(actor, nx, ny, 0);

View file

@ -805,8 +805,8 @@ int DoActorMoveCloser(DSWActor* actor)
{
int nx, ny;
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
// if cannot move the sprite
if (!move_actor(actor, nx, ny, 0))
@ -1282,8 +1282,8 @@ int DoActorMoveJump(DSWActor* actor)
// Move while jumping
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
move_actor(actor, nx, ny, 0L);
@ -1590,8 +1590,8 @@ int DoActorReposition(DSWActor* actor)
{
int nx, ny;
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
// still might hit something and have to handle it.
if (!move_actor(actor, nx, ny, 0L))

View file

@ -866,8 +866,8 @@ int DoBunnyMoveJump(DSWActor* actor)
int nx, ny;
// Move while jumping
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
move_actor(actor, nx, ny, 0L);

View file

@ -706,8 +706,8 @@ int DoCoolgCircle(DSWActor* actor)
actor->set_int_ang(NORM_ANGLE(actor->int_ang() + actor->user.Counter2));
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
if (!move_actor(actor, nx, ny, 0L))
{

View file

@ -779,8 +779,8 @@ int GirlNinjaJumpActionFunc(DSWActor* actor)
int nx, ny;
// Move while jumping
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
// if cannot move the sprite
if (!move_actor(actor, nx, ny, 0L))

View file

@ -439,8 +439,8 @@ int DoHornetCircle(DSWActor* actor)
actor->set_int_ang(NORM_ANGLE(actor->int_ang() + actor->user.Counter2));
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
if (!move_actor(actor, nx, ny, 0L))
{
@ -449,8 +449,8 @@ int DoHornetCircle(DSWActor* actor)
// try moving in the opposite direction
actor->user.Counter2 = -actor->user.Counter2;
actor->spr.angle += DAngle180;
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
if (!move_actor(actor, nx, ny, 0))
{

View file

@ -2036,8 +2036,8 @@ int NinjaJumpActionFunc(DSWActor* actor)
int nx, ny;
// Move while jumping
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
// if cannot move the sprite
if (!move_actor(actor, nx, ny, 0L))

View file

@ -979,8 +979,8 @@ int DoRipperMoveHang(DSWActor* actor)
int nx, ny;
// Move while jumping
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
// if cannot move the sprite
if (!move_actor(actor, nx, ny, 0L))

View file

@ -993,8 +993,8 @@ int DoRipper2MoveHang(DSWActor* actor)
int nx, ny;
// Move while jumping
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 14);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 14);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 14);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 14);
// if cannot move the sprite
if (!move_actor(actor, nx, ny, 0L))

View file

@ -2602,8 +2602,8 @@ void DoPanning(void)
{
sectp = actor->sector();
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 20);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 20);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 20);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 20);
sectp->addfloorxpan((float)nx);
sectp->addfloorypan((float)ny);
@ -2614,8 +2614,8 @@ void DoPanning(void)
{
sectp = actor->sector();
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 20);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 20);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 20);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 20);
sectp->addceilingxpan((float)nx);
sectp->addceilingypan((float)ny);
@ -2626,8 +2626,8 @@ void DoPanning(void)
{
wallp = actor->tempwall;
nx = MulScale(actor->spr.xvel, bcos(actor->int_ang()), 20);
ny = MulScale(actor->spr.xvel, bsin(actor->int_ang()), 20);
nx = MulScale(actor->int_xvel(), bcos(actor->int_ang()), 20);
ny = MulScale(actor->int_xvel(), bsin(actor->int_ang()), 20);
wallp->addxpan((float)nx);
wallp->addypan((float)ny);

View file

@ -252,7 +252,7 @@ int SetupSkull(DSWActor* actor)
int DoSkullMove(DSWActor* actor)
{
auto vect = MOVExy(actor->spr.xvel, actor->spr.angle);
auto vect = MOVExy(actor->int_xvel(), actor->spr.angle);
double daz = actor->float_zvel();
actor->user.coll = move_missile(actor, DVector3(vect, daz), 16, 16, CLIPMASK_MISSILE, ACTORMOVETICS);

View file

@ -38,7 +38,7 @@ public:
inline void UpdateChangeXY(DSWActor* actor)
{
actor->user.change.XY() = MOVExy(actor->spr.xvel, actor->spr.angle);
actor->user.change.XY() = MOVExy(actor->int_xvel(), actor->spr.angle);
}
inline void UpdateChange(DSWActor* actor, double zfactor = 1.0)

View file

@ -7920,7 +7920,7 @@ int DoPlasma(DSWActor* actor)
auto oldv = actor->spr.pos;
DoBlurExtend(actor, 0, 4);
auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
double daz = actor->float_zvel();
actor->user.coll = move_missile(actor, DVector3(vec, daz), 16, 16, CLIPMASK_MISSILE, MISSILEMOVETICS);
@ -8849,7 +8849,7 @@ int DoBoltThinMan(DSWActor* actor)
{
DoBlurExtend(actor, 0, 4);
auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
double daz = actor->float_zvel();
actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
@ -9420,7 +9420,7 @@ int DoBoltSeeker(DSWActor* actor)
MissileSeek(actor, 30, 768/*, 4, 48, 6*/);
DoBlurExtend(actor, 0, 4);
auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
double daz = actor->float_zvel();
actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
@ -9459,7 +9459,7 @@ int DoElectro(DSWActor* actor)
if (actor->user.Counter > 0)
MissileSeek(actor, 30, 512/*, 3, 52, 2*/);
auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
double daz = actor->float_zvel();
actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
@ -16081,7 +16081,7 @@ int HelpMissileLateral(DSWActor* actor, int dist)
actor->spr.xvel = dist;
auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
auto vec = MOVExy(actor->int_xvel(), actor->spr.angle);
actor->spr.clipdist = 32L >> 2;