diff --git a/source/core/maptypes.h b/source/core/maptypes.h index 72144c97d..797a952bc 100644 --- a/source/core/maptypes.h +++ b/source/core/maptypes.h @@ -380,7 +380,6 @@ struct walltype vec2_t wall_int_pos() const { return vec2_t(pos.X * worldtoint, pos.Y * worldtoint); }; vec2_t int_delta() const { return point2Wall()->wall_int_pos() - wall_int_pos(); } - vec2_t int_center() const { return(point2Wall()->wall_int_pos() + wall_int_pos()) / 2; } void setPosFromMap(int x, int y) { pos = { x * maptoworld, y * maptoworld }; } diff --git a/source/games/blood/src/gameutil.cpp b/source/games/blood/src/gameutil.cpp index 9eccdc934..e580a9aa6 100644 --- a/source/games/blood/src/gameutil.cpp +++ b/source/games/blood/src/gameutil.cpp @@ -236,8 +236,7 @@ bool CheckProximityWall(walltype* pWall, int x, int y, int nDist) int GetWallAngle(walltype* pWall) { - auto delta = pWall->int_delta(); - return getangle(delta.X, delta.Y); + return getangle(pWall->delta()); } void GetWallNormal(walltype* pWall, int* pX, int* pY) diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index d43432d71..ab88a9a1d 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -1263,7 +1263,7 @@ void bounce(DDukeActor* actor) auto sectp = actor->sector(); - int daang = getangle(sectp->firstWall()->int_delta()); + int daang = getangle(sectp->firstWall()->delta()); int k, l; if (actor->spr.pos.Z < (actor->floorz + actor->ceilingz) * 0.5) @@ -1472,7 +1472,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball) if (j == kHitWall) { - int k = getangle(coll.hitWall->int_delta()); + int k = getangle(coll.hitWall->delta()); actor->set_int_ang(((k << 1) - actor->int_ang()) & 2047); } else if (j == kHitSprite) diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index 956196cf3..89265a4f1 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -1418,7 +1418,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3 &oldpo (!isWorldTour() || proj->spr.picnum != FIREBALL) && (wal->overpicnum == MIRROR || wal->picnum == MIRROR)) { - int k = getangle(wal->int_delta()); + int k = getangle(wal->delta()); proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047); proj->SetOwner(proj); spawn(proj, TRANSPORTERSTAR); @@ -1437,7 +1437,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3 &oldpo proj->spr.yvel--; } - int k = getangle(wal->int_delta()); + int k = getangle(wal->delta()); proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047); return true; } @@ -2641,7 +2641,7 @@ static void heavyhbomb(DDukeActor *actor) auto wal = coll.hitWall; fi.checkhitwall(actor, wal, actor->spr.pos, actor->spr.picnum); - int k = getangle(wal->int_delta()); + int k = getangle(wal->delta()); actor->set_int_ang(((k << 1) - actor->int_ang()) & 2047); actor->spr.xvel >>= 1; diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 678800012..7925445e0 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -1051,7 +1051,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3& oldpo if (proj->spr.picnum != RPG && (!isRRRA() || proj->spr.picnum != RPG2) && proj->spr.picnum != FREEZEBLAST && proj->spr.picnum != SPIT && proj->spr.picnum != SHRINKSPARK && (wal->overpicnum == MIRROR || wal->picnum == MIRROR)) { - int k = getangle(wal->int_delta()); + int k = getangle(wal->delta()); proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047); proj->SetOwner(proj); spawn(proj, TRANSPORTERSTAR); @@ -1074,7 +1074,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3& oldpo proj->spr.yvel--; } - int k = getangle(wal->int_delta()); + int k = getangle(wal->delta()); proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047); return true; } @@ -1109,7 +1109,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const DVector3& oldpo proj->spr.yvel--; } - int k = getangle(wal->int_delta()); + int k = getangle(wal->delta()); proj->set_int_ang(((k << 1) - proj->int_ang()) & 2047); return true; } @@ -2430,7 +2430,7 @@ static void heavyhbomb(DDukeActor *actor) auto wal = coll.hitWall; fi.checkhitwall(actor, wal, actor->spr.pos, actor->spr.picnum); - int k = getangle(wal->int_delta()); + int k = getangle(wal->delta()); if (actor->spr.picnum == CHEERBOMB) { @@ -2570,7 +2570,7 @@ static int henstand(DDukeActor *actor) { if (coll.type == kHitWall) { - int k = getangle(coll.hitWall->int_delta()); + int k = getangle(coll.hitWall->delta()); actor->set_int_ang(((k << 1) - actor->int_ang()) & 2047); } else if (coll.type == kHitSprite) diff --git a/source/games/duke/src/player.cpp b/source/games/duke/src/player.cpp index 2bd645d69..ca4335925 100644 --- a/source/games/duke/src/player.cpp +++ b/source/games/duke/src/player.cpp @@ -1057,8 +1057,7 @@ void shootbloodsplat(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i if (spawned) { spawned->spr.xvel = -12; - auto delta = hit.hitWall->int_delta(); - spawned->set_int_ang(getangle(-delta.X, -delta.Y) + 512); // note the '-' sign here! + spawned->set_int_ang(getangle(-hit.hitWall->delta()) + 512); // note the '-' sign here! spawned->spr.pos = hit.hitpos; spawned->spr.cstat |= randomXFlip(); ssp(spawned, CLIPMASK0); diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 8deded2de..6ea44a3db 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -513,8 +513,7 @@ static void shootweapon(DDukeActor *actor, int p, int sx, int sy, int sz, int sa if (hole) { hole->spr.xvel = -1; - auto delta = hit.hitWall->int_delta(); - hole->set_int_ang(getangle(-delta.X, -delta.Y) + 512); + hole->set_int_ang(getangle(-hit.hitWall->delta()) + 512); ssp(hole, CLIPMASK0); hole->spr.cstat2 |= CSTAT2_SPRITE_DECAL; } diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index ce580ca1b..48bf3b688 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -410,8 +410,7 @@ static void shootweapon(DDukeActor* actor, int p, int sx, int sy, int sz, int sa if (hole) { hole->spr.xvel = -1; - auto delta = hit.hitWall->int_delta(); - hole->set_int_ang(getangle(-delta.X, -delta.Y) + 512); + hole->set_int_ang(getangle(-hit.hitWall->delta()) + 512); ssp(hole, CLIPMASK0); hole->spr.cstat2 |= CSTAT2_SPRITE_DECAL; } @@ -2368,7 +2367,7 @@ void onMotorcycleMove(int snum, walltype* wal) { auto p = &ps[snum]; auto pact = p->GetActor(); - int angleDelta = abs(p->angle.ang.Buildang() - getangle(wal->int_delta())); + int angleDelta = abs(p->angle.ang.Buildang() - getangle(wal->delta())); double damageAmount = p->MotoSpeed * p->MotoSpeed; p->angle.addadjustment(DAngle::fromBuildf(p->MotoSpeed / (krand() & 1 ? -2 : 2))); @@ -2422,8 +2421,7 @@ void onBoatMove(int snum, int psectlotag, walltype* wal) { auto p = &ps[snum]; auto pact = p->GetActor(); - auto delta = wal->int_delta(); - int angleDelta = abs(p->angle.ang.Buildang() - getangle(wal->int_delta())); + int angleDelta = abs(p->angle.ang.Buildang() - getangle(wal->delta())); p->angle.addadjustment(DAngle::fromBuildf(p->MotoSpeed / (krand() & 1 ? -4 : 4))); diff --git a/source/games/duke/src/sectors_d.cpp b/source/games/duke/src/sectors_d.cpp index fabf10c23..f5f5a8ba5 100644 --- a/source/games/duke/src/sectors_d.cpp +++ b/source/games/duke/src/sectors_d.cpp @@ -681,8 +681,7 @@ void checkhitwall_d(DDukeActor* spr, walltype* wal, const DVector3& pos, int atw if (spawned) { spawned->spr.cstat |= CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER; - auto delta = wal->int_delta(); - spawned->set_int_ang(getangle(-delta.X, -delta.Y) - 512); + spawned->set_int_ang(getangle(-wal->delta()) - 512); S_PlayActorSound(SOMETHINGHITFORCE, spawned); } diff --git a/source/games/exhumed/src/lighting.cpp b/source/games/exhumed/src/lighting.cpp index 82cf6a7dc..3f887892f 100644 --- a/source/games/exhumed/src/lighting.cpp +++ b/source/games/exhumed/src/lighting.cpp @@ -244,8 +244,6 @@ void AddFlash(sectortype* pSector, const DVector3& pos, int val) for (auto& wal : wallsofsector(pSector)) { - auto average = wal.int_center(); - sectortype *pNextSector = NULL; if (wal.twoSided()) pNextSector = wal.nextSector(); diff --git a/source/games/exhumed/src/move.cpp b/source/games/exhumed/src/move.cpp index 852d34fb3..9f7a8afeb 100644 --- a/source/games/exhumed/src/move.cpp +++ b/source/games/exhumed/src/move.cpp @@ -1180,9 +1180,7 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int int GetWallNormal(walltype* pWall) { - auto delta = pWall->int_delta(); - - int nAngle = getangle(delta.X, delta.Y); + int nAngle = getangle(pWall->delta()); return (nAngle + 512) & kAngleMask; } diff --git a/source/games/sw/src/break.cpp b/source/games/sw/src/break.cpp index 77e1f5f8a..9adc37709 100644 --- a/source/games/sw/src/break.cpp +++ b/source/games/sw/src/break.cpp @@ -729,7 +729,7 @@ int WallBreakPosition(walltype* wp, sectortype** sectp, int *x, int *y, int *z, int nx,ny; int wall_ang; - wall_ang = NORM_ANGLE(getangle(wp->int_delta())+512); + wall_ang = NORM_ANGLE(getangle(wp->delta())+512); *sectp = wp->sectorp(); ASSERT(*sectp); diff --git a/source/games/sw/src/draw.cpp b/source/games/sw/src/draw.cpp index e68349820..c4c3c4af9 100644 --- a/source/games/sw/src/draw.cpp +++ b/source/games/sw/src/draw.cpp @@ -959,7 +959,7 @@ void CircleCamera(int *nx, int *ny, int *nz, sectortype** vsect, DAngle *nang, f { *vsect = hit.hitSector; - daang = getangle(hit.hitWall->int_delta()); + daang = getangle(hit.hitWall->delta()); i = vx * bsin(daang) + vy * -bcos(daang); if (abs(vx) > abs(vy)) diff --git a/source/games/sw/src/jweapon.cpp b/source/games/sw/src/jweapon.cpp index a6880c989..216341d05 100644 --- a/source/games/sw/src/jweapon.cpp +++ b/source/games/sw/src/jweapon.cpp @@ -424,7 +424,7 @@ int DoBloodSpray(DSWActor* actor) break; } - wall_ang = NORM_ANGLE(getangle(wph->int_delta()) + 512); + wall_ang = NORM_ANGLE(getangle(wph->delta()) + 512); SpawnMidSplash(actor); auto bldActor = QueueWallBlood(actor, NORM_ANGLE(wall_ang+1024)); @@ -618,7 +618,7 @@ int DoPhosphorus(DSWActor* actor) break; } - wall_ang = NORM_ANGLE(getangle(wph->int_delta()) + 512); + wall_ang = NORM_ANGLE(getangle(wph->delta()) + 512); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); @@ -823,7 +823,7 @@ int DoChemBomb(DSWActor* actor) if (!(actor->spr.cstat & CSTAT_SPRITE_INVISIBLE)) PlaySound(DIGI_CHEMBOUNCE, actor, v3df_dontpan); - int wall_ang = NORM_ANGLE(getangle(wph->int_delta()) + 512); + int wall_ang = NORM_ANGLE(getangle(wph->delta()) + 512); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); @@ -1037,7 +1037,7 @@ int DoCaltrops(DSWActor* actor) PlaySound(DIGI_CALTROPS, actor, v3df_dontpan); - int wall_ang = NORM_ANGLE(getangle(wph->int_delta()) + 512); + int wall_ang = NORM_ANGLE(getangle(wph->delta()) + 512); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 1000); diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index 90b465853..b9e690bf3 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -1567,7 +1567,7 @@ void SlipSlope(PLAYER* pp) if (!(sectu->flags & SECTFU_SLIDE_SECTOR) || !(pp->cursector->floorstat & CSTAT_SECTOR_SLOPE)) return; - ang = getangle(pp->cursector->firstWall()->int_delta()); + ang = getangle(pp->cursector->firstWall()->delta()); ang = NORM_ANGLE(ang + 512); @@ -5835,7 +5835,7 @@ void DoPlayerDeathMoveHead(PLAYER* pp) } case kHitWall: { - int wall_ang = NORM_ANGLE(getangle(plActor->user.coll.hitWall->int_delta())-512); + int wall_ang = NORM_ANGLE(getangle(plActor->user.coll.hitWall->delta())-512); int dang = getincangle(wall_ang, plActor->user.slide_ang); plActor->user.slide_ang = NORM_ANGLE(wall_ang + 1024 - dang); diff --git a/source/games/sw/src/ripper.cpp b/source/games/sw/src/ripper.cpp index 9fb8cf07e..b18798fdf 100644 --- a/source/games/sw/src/ripper.cpp +++ b/source/games/sw/src/ripper.cpp @@ -1001,7 +1001,7 @@ int DoRipperMoveHang(DSWActor* actor) actor->user.WaitTics = 2 + ((RANDOM_P2(4 << 8) >> 8) * 120); // hang flush with the wall - actor->set_int_ang(NORM_ANGLE(getangle(actor->user.coll.hitWall->int_delta()) - 512)); + actor->set_int_ang(NORM_ANGLE(getangle(actor->user.coll.hitWall->delta()) - 512)); return 0; } diff --git a/source/games/sw/src/ripper2.cpp b/source/games/sw/src/ripper2.cpp index 2082dd2a2..b3e603f74 100644 --- a/source/games/sw/src/ripper2.cpp +++ b/source/games/sw/src/ripper2.cpp @@ -1021,7 +1021,7 @@ int DoRipper2MoveHang(DSWActor* actor) actor->user.WaitTics = 0; // Double jump // hang flush with the wall - actor->set_int_ang(NORM_ANGLE(getangle(actor->user.coll.hitWall->int_delta()) - 512)); + actor->set_int_ang(NORM_ANGLE(getangle(actor->user.coll.hitWall->delta()) - 512)); return 0; } diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index 8e39ddc2f..c32ba9f1a 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -7472,7 +7472,7 @@ int DoStar(DSWActor* actor) if (RANDOM_P2(1024) < STAR_BOUNCE_RNUM) break; - wall_ang = NORM_ANGLE(getangle(wph->int_delta())+512); + wall_ang = NORM_ANGLE(getangle(wph->delta())+512); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 36000); @@ -8168,7 +8168,7 @@ bool SlopeBounce(DSWActor* actor, bool *hit_wall) // get angle of the first wall of the sector auto wallp = hit_sector->firstWall(); - daang = getangle(wallp->int_delta()); + daang = getangle(wallp->delta()); // k is now the slope of the ceiling or floor @@ -8285,7 +8285,7 @@ int DoGrenade(DSWActor* actor) PlaySound(DIGI_40MMBNCE, actor, v3df_dontpan); - wall_ang = NORM_ANGLE(getangle(wph->int_delta())+512); + wall_ang = NORM_ANGLE(getangle(wph->delta())+512); //actor->spr.angle = NORM_ANGLE(actor->spr.angle + 1); WallBounce(actor, wall_ang); @@ -8483,7 +8483,7 @@ int DoVulcanBoulder(DSWActor* actor) break; } - wall_ang = NORM_ANGLE(getangle(wph->int_delta())+512); + wall_ang = NORM_ANGLE(getangle(wph->delta())+512); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 40000); @@ -14970,7 +14970,7 @@ bool HitscanSpriteAdjust(DSWActor* actor, walltype* hit_wall) if (hit_wall) { - int16_t const wall_ang = NORM_ANGLE(getangle(hit_wall->int_delta())); + int16_t const wall_ang = NORM_ANGLE(getangle(hit_wall->delta())); actor->set_int_ang(NORM_ANGLE(wall_ang + 512)); } ang = actor->int_ang(); @@ -17259,7 +17259,7 @@ void QueueHole(sectortype* hit_sect, walltype* hit_wall, const DVector3& pos) spawnedActor->spr.cstat |= (CSTAT_SPRITE_ONE_SIDE); spawnedActor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); - wall_ang = NORM_ANGLE(getangle(hit_wall->int_delta())+512); + wall_ang = NORM_ANGLE(getangle(hit_wall->delta())+512); spawnedActor->set_int_ang(wall_ang); // move it back some @@ -17570,7 +17570,7 @@ DSWActor* QueueWallBlood(DSWActor* actor, short ang) spawnedActor->spr.cstat |= (CSTAT_SPRITE_YCENTER); spawnedActor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); - wall_ang = NORM_ANGLE(getangle(hit.hitWall->int_delta()) + 512); + wall_ang = NORM_ANGLE(getangle(hit.hitWall->delta()) + 512); spawnedActor->set_int_ang(wall_ang); // move it back some @@ -17802,7 +17802,7 @@ int DoShrapVelocity(DSWActor* actor) case kHitWall: { - int wall_ang = NORM_ANGLE(getangle(actor->user.coll.hitWall->int_delta())+512); + int wall_ang = NORM_ANGLE(getangle(actor->user.coll.hitWall->delta())+512); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); @@ -18118,7 +18118,7 @@ int DoItemFly(DSWActor* actor) case kHitWall: { - int wall_ang = NORM_ANGLE(getangle(actor->user.coll.hitWall->int_delta())+512); + int wall_ang = NORM_ANGLE(getangle(actor->user.coll.hitWall->delta())+512); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); break;