- mostly '>' comparisons with scale values.

This commit is contained in:
Christoph Oelckers 2022-10-06 17:30:01 +02:00
parent f5e1709c37
commit 8a8ef22e53
13 changed files with 38 additions and 38 deletions

View file

@ -350,9 +350,9 @@ static void ThrowThing(DBloodActor* actor, bool impact)
if (Chance(0x5000)) spawned->spr.cstat |= CSTAT_SPRITE_XFLIP; if (Chance(0x5000)) spawned->spr.cstat |= CSTAT_SPRITE_XFLIP;
if (Chance(0x5000)) spawned->spr.cstat |= CSTAT_SPRITE_YFLIP; if (Chance(0x5000)) spawned->spr.cstat |= CSTAT_SPRITE_YFLIP;
if (spawned->spr.xrepeat > 60) spawned->xspr.data1 = 43; if (spawned->spr.ScaleX() > 0.9375 ) spawned->xspr.data1 = 43;
else if (spawned->spr.xrepeat > 40) spawned->xspr.data1 = 33; else if (spawned->spr.ScaleX() > 0.625) spawned->xspr.data1 = 33;
else if (spawned->spr.xrepeat > 30) spawned->xspr.data1 = 23; else if (spawned->spr.ScaleX() > 0.46875) spawned->xspr.data1 = 23;
else spawned->xspr.data1 = 12; else spawned->xspr.data1 = 12;
return; return;
case kThingTNTBarrel: case kThingTNTBarrel:

View file

@ -421,7 +421,7 @@ void moveplayers(void)
auto psp = ps[otherp].GetActor(); auto psp = ps[otherp].GetActor();
if (psp->spr.extra > 0) if (psp->spr.extra > 0)
{ {
if (act->spr.yrepeat > 32 && psp->spr.ScaleY() < 0.5) if (act->spr.ScaleY() > 0.5 && psp->spr.ScaleY() < 0.5)
{ {
if (other < 1400/16. && p->knee_incs == 0) if (other < 1400/16. && p->knee_incs == 0)
{ {
@ -1195,7 +1195,7 @@ void moveooz(DDukeActor* actor, int seenine, int seeninedead, int ooz, int explo
} }
else else
{ {
if (actor->spr.xrepeat > 0) if (actor->spr.ScaleX() > 0)
{ {
actor->temp_data[2]++; actor->temp_data[2]++;
if (actor->temp_data[2] == 3) if (actor->temp_data[2] == 3)
@ -2305,7 +2305,7 @@ bool bloodpool(DDukeActor* actor, bool puke)
} }
} }
if (xx < 844 / 16. && actor->spr.xrepeat > 6 && actor->spr.yrepeat > 6) if (xx < 844 / 16. && actor->spr.ScaleX() > 0.09375 && actor->spr.yrepeat > 6)
{ {
if (actor->spr.pal == 0 && (krand() & 255) < 16 && !puke) if (actor->spr.pal == 0 && (krand() & 255) < 16 && !puke)
{ {

View file

@ -454,7 +454,7 @@ int movesprite_ex_d(DDukeActor* actor, const DVector3& change, unsigned int clip
if (bg) if (bg)
{ {
if (actor->spr.xrepeat > 60) if (actor->spr.ScaleX() > 0.9375 )
clipmove(ppos, &dasectp, change * 0.5, 64., 4., 4., cliptype, result); clipmove(ppos, &dasectp, change * 0.5, 64., 4., 4., cliptype, result);
else else
{ {
@ -1481,9 +1481,9 @@ static bool weaponhitsector(DDukeActor* proj, const DVector3& oldpos, bool fireb
bounce(proj); bounce(proj);
ssp(proj, CLIPMASK1); ssp(proj, CLIPMASK1);
proj->spr.extra >>= 1; proj->spr.extra >>= 1;
if (proj->spr.xrepeat > 8) if (proj->spr.ScaleX() > 0.125 )
proj->spr.xrepeat -= 2; proj->spr.xrepeat -= 2;
if (proj->spr.yrepeat > 8) if (proj->spr.ScaleY() > 0.125 )
proj->spr.yrepeat -= 2; proj->spr.yrepeat -= 2;
proj->spr.yint--; proj->spr.yint--;
return true; return true;
@ -2276,8 +2276,8 @@ static void greenslime(DDukeActor *actor)
actor->spr.cstat &= ~CSTAT_SPRITE_YFLIP; actor->spr.cstat &= ~CSTAT_SPRITE_YFLIP;
actor->spr.picnum = GREENSLIME + 4; actor->spr.picnum = GREENSLIME + 4;
if (actor->spr.xrepeat > 32) actor->spr.xrepeat -= krand() & 7; if (actor->spr.ScaleX() > 0.5 ) actor->spr.xrepeat -= krand() & 7;
if (actor->spr.yrepeat > 16) actor->spr.yrepeat -= krand() & 7; if (actor->spr.ScaleY() > 0.25 ) actor->spr.yrepeat -= krand() & 7;
else else
{ {
actor->spr.SetScale(0.625, 0.25); actor->spr.SetScale(0.625, 0.25);
@ -2395,7 +2395,7 @@ static void greenslime(DDukeActor *actor)
{ {
actor->spr.picnum = GREENSLIME; actor->spr.picnum = GREENSLIME;
if (actor->spr.yrepeat < 40) actor->spr.yrepeat += 8; if (actor->spr.yrepeat < 40) actor->spr.yrepeat += 8;
if (actor->spr.xrepeat > 8) actor->spr.xrepeat -= 4; if (actor->spr.ScaleX() > 0.125 ) actor->spr.xrepeat -= 4;
if (actor->vel.Z > -12) if (actor->vel.Z > -12)
actor->vel.Z -= 348 / 256.; actor->vel.Z -= 348 / 256.;
actor->spr.pos.Z += actor->vel.Z; actor->spr.pos.Z += actor->vel.Z;
@ -2421,7 +2421,7 @@ static void greenslime(DDukeActor *actor)
else else
{ {
if (actor->spr.yrepeat < (40 - 4)) actor->spr.yrepeat += 8; if (actor->spr.yrepeat < (40 - 4)) actor->spr.yrepeat += 8;
if (actor->spr.xrepeat > 8) actor->spr.xrepeat -= 4; if (actor->spr.ScaleX() > 0.125 ) actor->spr.xrepeat -= 4;
} }
if (actor->spr.pos.Z > actor->floorz - 8) if (actor->spr.pos.Z > actor->floorz - 8)
@ -3618,7 +3618,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
if (a && actor->spr.picnum != ROTATEGUN) if (a && actor->spr.picnum != ROTATEGUN)
{ {
if (xvel < 960 && actor->spr.xrepeat > 16) if (xvel < 960 && actor->spr.ScaleX() > 0.25 )
{ {
daxvel = -(1024 - xvel) * maptoworld; daxvel = -(1024 - xvel) * maptoworld;

View file

@ -382,7 +382,7 @@ int movesprite_ex_r(DDukeActor* actor, const DVector3& change, unsigned int clip
if (bg) if (bg)
{ {
if (actor->spr.xrepeat > 60) if (actor->spr.ScaleX() > 0.9375 )
clipmove(ppos, &dasectp, change * 0.5, 64., 4., 4., cliptype, result); clipmove(ppos, &dasectp, change * 0.5, 64., 4., 4., cliptype, result);
else else
{ {
@ -1054,9 +1054,9 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3& oldpo
if (wal->overpicnum != MIRROR && wal->picnum != MIRROR) if (wal->overpicnum != MIRROR && wal->picnum != MIRROR)
{ {
proj->spr.extra >>= 1; proj->spr.extra >>= 1;
if (proj->spr.xrepeat > 8) if (proj->spr.ScaleX() > 0.125 )
proj->spr.xrepeat -= 2; proj->spr.xrepeat -= 2;
if (proj->spr.yrepeat > 8) if (proj->spr.ScaleY() > 0.125 )
proj->spr.yrepeat -= 2; proj->spr.yrepeat -= 2;
proj->spr.yint--; proj->spr.yint--;
} }
@ -1138,9 +1138,9 @@ bool weaponhitsector(DDukeActor *proj, const DVector3& oldpos)
bounce(proj); bounce(proj);
ssp(proj, CLIPMASK1); ssp(proj, CLIPMASK1);
proj->spr.extra >>= 1; proj->spr.extra >>= 1;
if (proj->spr.xrepeat > 8) if (proj->spr.ScaleX() > 0.125 )
proj->spr.xrepeat -= 2; proj->spr.xrepeat -= 2;
if (proj->spr.yrepeat > 8) if (proj->spr.ScaleY() > 0.125 )
proj->spr.yrepeat -= 2; proj->spr.yrepeat -= 2;
proj->spr.yint--; proj->spr.yint--;
return true; return true;
@ -3619,7 +3619,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
if (a) if (a)
{ {
if (xvel < 960 && actor->spr.xrepeat > 16) if (xvel < 960 && actor->spr.ScaleX() > 0.25 )
{ {
daxvel = -(1024 - xvel) * maptoworld; daxvel = -(1024 - xvel) * maptoworld;

View file

@ -390,7 +390,7 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
if (ps[p].on_crane == nullptr && (h->sector()->lotag & 0x7ff) != 1) if (ps[p].on_crane == nullptr && (h->sector()->lotag & 0x7ff) != 1)
{ {
double v = h->spr.pos.Z - ps[p].GetActor()->floorz + 3; double v = h->spr.pos.Z - ps[p].GetActor()->floorz + 3;
if (v > 4 && h->spr.yrepeat > 32 && h->spr.extra > 0) if (v > 4 && h->spr.ScaleY() > 0.5 && h->spr.extra > 0)
h->spr.yoffset = (int8_t)(v / h->spr.ScaleY()); h->spr.yoffset = (int8_t)(v / h->spr.ScaleY());
else h->spr.yoffset = 0; else h->spr.yoffset = 0;
} }

View file

@ -431,7 +431,7 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
if (ps[p].on_crane == nullptr && (h->sector()->lotag & 0x7ff) != 1) if (ps[p].on_crane == nullptr && (h->sector()->lotag & 0x7ff) != 1)
{ {
double v = h->spr.pos.Z - ps[p].GetActor()->floorz + 3; double v = h->spr.pos.Z - ps[p].GetActor()->floorz + 3;
if (v > 4 && h->spr.yrepeat > 32 && h->spr.extra > 0) if (v > 4 && h->spr.ScaleY() > 0.5 && h->spr.extra > 0)
h->spr.yoffset = (int8_t)(v / h->spr.ScaleY()); h->spr.yoffset = (int8_t)(v / h->spr.ScaleY());
else h->spr.yoffset = 0; else h->spr.yoffset = 0;
} }

View file

@ -1386,7 +1386,7 @@ static int ifcanshoottarget(DDukeActor *actor, int g_p, int g_x)
double sclip; double sclip;
DAngle angdif; DAngle angdif;
if (badguy(actor) && actor->spr.xrepeat > 56) if (badguy(actor) && actor->spr.ScaleX() > 0.875)
{ {
sclip = 3084 / 16.; sclip = 3084 / 16.;
angdif = DAngle22_5 * 3 / 8; angdif = DAngle22_5 * 3 / 8;
@ -2419,7 +2419,7 @@ int ParseState::parse(void)
j = 1; j = 1;
else if( (l& ponground) && ps[g_p].on_ground) else if( (l& ponground) && ps[g_p].on_ground)
j = 1; j = 1;
else if( (l& palive) && ps[g_p].GetActor()->spr.xrepeat > (isRR() ? 8 : 32) && ps[g_p].GetActor()->spr.extra > 0 && ps[g_p].timebeforeexit == 0 ) else if( (l& palive) && ps[g_p].GetActor()->spr.ScaleX() > (isRR() ? 0.125 : 0.5) && ps[g_p].GetActor()->spr.extra > 0 && ps[g_p].timebeforeexit == 0)
j = 1; j = 1;
else if( (l& pdead) && ps[g_p].GetActor()->spr.extra <= 0) else if( (l& pdead) && ps[g_p].GetActor()->spr.extra <= 0)
j = 1; j = 1;
@ -3680,7 +3680,7 @@ void LoadActor(DDukeActor *actor, int p, int x)
{ {
if (badguy(actor)) if (badguy(actor))
{ {
if (actor->spr.xrepeat > 60) return; if (actor->spr.ScaleX() > 0.9375 ) return;
if (ud.respawn_monsters == 1 && actor->spr.extra <= 0) return; if (ud.respawn_monsters == 1 && actor->spr.extra <= 0) return;
} }
else if (ud.respawn_items == 1 && (actor->spr.cstat & CSTAT_SPRITE_INVISIBLE)) return; else if (ud.respawn_items == 1 && (actor->spr.cstat & CSTAT_SPRITE_INVISIBLE)) return;
@ -3763,7 +3763,7 @@ void execute(DDukeActor *actor,int p,double xx)
{ {
if (badguy(actor)) if (badguy(actor))
{ {
if (actor->spr.xrepeat > 60) goto quit; if (actor->spr.ScaleX() > 0.9375 ) goto quit;
if (ud.respawn_monsters == 1 && actor->spr.extra <= 0) goto quit; if (ud.respawn_monsters == 1 && actor->spr.extra <= 0) goto quit;
} }
else if (ud.respawn_items == 1 && (actor->spr.cstat & CSTAT_SPRITE_INVISIBLE)) goto quit; else if (ud.respawn_items == 1 && (actor->spr.cstat & CSTAT_SPRITE_INVISIBLE)) goto quit;

View file

@ -311,7 +311,7 @@ DDukeActor* aim(DDukeActor* actor, int abase)
DukeStatIterator it(aimstats[k]); DukeStatIterator it(aimstats[k]);
while (auto act = it.Next()) while (auto act = it.Next())
{ {
if (act->spr.xrepeat > 0 && act->spr.extra >= 0 && (act->spr.cstat & (CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_INVISIBLE)) == CSTAT_SPRITE_BLOCK_ALL) if (act->spr.ScaleX() > 0 && act->spr.extra >= 0 && (act->spr.cstat & (CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_INVISIBLE)) == CSTAT_SPRITE_BLOCK_ALL)
if (badguy(act) || k < 2) if (badguy(act) || k < 2)
{ {
if (badguy(act) || act->isPlayer()) if (badguy(act) || act->isPlayer())

View file

@ -1213,7 +1213,7 @@ void selectweapon_d(int snum, int weap) // playernum, weaponnum
{ {
int i, j, k; int i, j, k;
auto p = &ps[snum]; auto p = &ps[snum];
if (p->last_pissed_time <= (26 * 218) && p->show_empty_weapon == 0 && p->kickback_pic == 0 && p->quick_kick == 0 && p->GetActor()->spr.xrepeat > 32 && p->access_incs == 0 && p->knee_incs == 0) if (p->last_pissed_time <= (26 * 218) && p->show_empty_weapon == 0 && p->kickback_pic == 0 && p->quick_kick == 0 && p->GetActor()->spr.ScaleX() > 0.5 && p->access_incs == 0 && p->knee_incs == 0)
{ {
if ((p->weapon_pos == 0 || (p->holster_weapon && p->weapon_pos == -9))) if ((p->weapon_pos == 0 || (p->holster_weapon && p->weapon_pos == -9)))
{ {
@ -2806,7 +2806,7 @@ void processinput_d(int snum)
p->footprintcount = 0; p->footprintcount = 0;
p->spritebridge = 1; p->spritebridge = 1;
} }
else if (badguy(clz.actor()) && clz.actor()->spr.xrepeat > 24 && abs(pact->spr.pos.Z - clz.actor()->spr.pos.Z) < 84) else if (badguy(clz.actor()) && clz.actor()->spr.ScaleX() > 0.375 && abs(pact->spr.pos.Z - clz.actor()->spr.pos.Z) < 84)
{ {
auto ang = (clz.actor()->spr.pos - p->pos).Angle(); auto ang = (clz.actor()->spr.pos - p->pos).Angle();
p->vel.XY() -= ang.ToVector(); p->vel.XY() -= ang.ToVector();

View file

@ -977,7 +977,7 @@ void selectweapon_r(int snum, int weap)
{ {
int i, j, k; int i, j, k;
auto p = &ps[snum]; auto p = &ps[snum];
if (p->last_pissed_time <= (26 * 218) && p->show_empty_weapon == 0 && p->kickback_pic == 0 && p->quick_kick == 0 && p->GetActor()->spr.xrepeat > 8 && p->access_incs == 0 && p->knee_incs == 0) if (p->last_pissed_time <= (26 * 218) && p->show_empty_weapon == 0 && p->kickback_pic == 0 && p->quick_kick == 0 && p->GetActor()->spr.ScaleX() > 0.125 && p->access_incs == 0 && p->knee_incs == 0)
{ {
if ((p->weapon_pos == 0 || (p->holster_weapon && p->weapon_pos == -9))) if ((p->weapon_pos == 0 || (p->holster_weapon && p->weapon_pos == -9)))
{ {
@ -3464,7 +3464,7 @@ void processinput_r(int snum)
{ {
doVehicleHit(); doVehicleHit();
} }
else if (badguy(clz.actor()) && clz.actor()->spr.xrepeat > 24 && abs(pact->spr.pos.Z - clz.actor()->spr.pos.Z) < 84) else if (badguy(clz.actor()) && clz.actor()->spr.ScaleX() > 0.375 && abs(pact->spr.pos.Z - clz.actor()->spr.pos.Z) < 84)
{ {
auto ang = (clz.actor()->spr.pos - p->pos).Angle(); auto ang = (clz.actor()->spr.pos - p->pos).Angle();
p->vel.XY() -= ang.ToVector(); p->vel.XY() -= ang.ToVector();

View file

@ -121,7 +121,7 @@ void fakedomovethings(void)
psectlotag = psect->lotag; psectlotag = psect->lotag;
spritebridge = 0; spritebridge = 0;
shrunk = (p->GetActor()->s.yrepeat < (isRR()? 8 : 32)); shrunk = (p->GetActor()->s.y_repeat < (isRR()? 8 : 32));
if( ud.clipping == 0 && ( psect->floorpicnum == MIRROR || psect == nullptr) ) if( ud.clipping == 0 && ( psect->floorpicnum == MIRROR || psect == nullptr) )
{ {
@ -178,7 +178,7 @@ void fakedomovethings(void)
psectlotag = 0; psectlotag = 0;
spritebridge = 1; spritebridge = 1;
} }
if(badguy(chz.actor) && chz.actor()->s.xrepeat > 24 && abs(p->GetActor()->s.z- chz.actor()->s.z) < (84<<8) ) if(badguy(chz.actor) && chz.actor()->s.ScaleX() > 0.375 && abs(p->GetActor()->s.z- chz.actor()->s.z) < (84<<8) )
{ {
j = g etangle(chz.actor()->s.x-myx, chz.actor()->s.y-myy); j = g etangle(chz.actor()->s.x-myx, chz.actor()->s.y-myy);
myxvel -= b cos(j, 4); myxvel -= b cos(j, 4);

View file

@ -885,7 +885,7 @@ int DoCoolgMove(DSWActor* actor)
actor->spr.hitag = 0; actor->spr.hitag = 0;
actor->spr.xrepeat++; actor->spr.xrepeat++;
actor->spr.shade--; actor->spr.shade--;
if (actor->spr.xrepeat > 42) actor->spr.xrepeat = 42; if (actor->spr.ScaleX() > 0.65625) actor->spr.xrepeat = 42;
if (actor->spr.shade < -10) actor->spr.shade = -10; if (actor->spr.shade < -10) actor->spr.shade = -10;
} }
else if (actor->user.FlagOwner == 0) else if (actor->user.FlagOwner == 0)

View file

@ -11319,7 +11319,7 @@ int DoSerpMeteor(DSWActor* actor)
auto oldv = actor->spr.pos; auto oldv = actor->spr.pos;
actor->spr.xrepeat += MISSILEMOVETICS * 2; actor->spr.xrepeat += MISSILEMOVETICS * 2;
if (actor->spr.xrepeat > 80) if (actor->spr.ScaleX() > 1.25)
actor->spr.xrepeat = 80; actor->spr.xrepeat = 80;
actor->user.coll = move_missile(actor, actor->user.change, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_MISSILE, MISSILEMOVETICS); actor->user.coll = move_missile(actor, actor->user.change, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_MISSILE, MISSILEMOVETICS);
@ -11364,7 +11364,7 @@ int DoSerpMeteor(DSWActor* actor)
int DoMirvMissile(DSWActor* actor) int DoMirvMissile(DSWActor* actor)
{ {
actor->spr.xrepeat += MISSILEMOVETICS * 2; actor->spr.xrepeat += MISSILEMOVETICS * 2;
if (actor->spr.xrepeat > 80) if (actor->spr.ScaleX() > 1.25)
actor->spr.xrepeat = 80; actor->spr.xrepeat = 80;
actor->user.coll = move_missile(actor, actor->user.change, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_MISSILE, MISSILEMOVETICS); actor->user.coll = move_missile(actor, actor->user.change, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_MISSILE, MISSILEMOVETICS);
@ -18325,7 +18325,7 @@ int DoFloorBlood(DSWActor* actor)
} }
// See if any players stepped in blood // See if any players stepped in blood
if (actor->spr.xrepeat != 4 && actor->spr.yrepeat > 4) if (actor->spr.xrepeat != 4 && actor->spr.ScaleY() > 0.0625)
{ {
TRAVERSE_CONNECT(pnum) TRAVERSE_CONNECT(pnum)
{ {
@ -18342,7 +18342,7 @@ int DoFloorBlood(DSWActor* actor)
} }
// If blood has already grown to max size, we can shrink it // If blood has already grown to max size, we can shrink it
if (actor->spr.xrepeat == 40 && actor->spr.yrepeat > 10) if (actor->spr.xrepeat == 40 && actor->spr.ScaleY() > 0.15625)
{ {
actor->spr.yrepeat -= 10; actor->spr.yrepeat -= 10;
if (actor->spr.yrepeat <= 10) // Shrink it down and don't use it anymore if (actor->spr.yrepeat <= 10) // Shrink it down and don't use it anymore