From 735b9a8fed0bcec7eb51ea0f5c0d5dd3d01dde1c Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 16 Aug 2022 23:15:16 +0200 Subject: [PATCH] - renamed ang to __int_angle --- source/build/src/clip.cpp | 32 +- source/core/actorlist.cpp | 2 +- source/core/coreactor.h | 15 +- source/core/gamefuncs.cpp | 12 +- source/core/gamefuncs.h | 2 +- source/core/maploader.cpp | 6 +- source/core/maptypes.h | 13 +- .../core/rendering/scene/hw_bunchdrawer.cpp | 2 +- source/core/rendering/scene/hw_drawinfo.cpp | 8 +- source/core/rendering/scene/hw_sprites.cpp | 2 +- source/core/rendering/scene/hw_walls.cpp | 6 +- source/core/savegamehelp.cpp | 2 +- source/core/thingdef_properties.cpp | 2 +- source/core/vmexports.cpp | 2 +- source/games/blood/src/actor.cpp | 74 +- source/games/blood/src/ai.cpp | 62 +- source/games/blood/src/aibat.cpp | 58 +- source/games/blood/src/aibeast.cpp | 54 +- source/games/blood/src/aiboneel.cpp | 54 +- source/games/blood/src/aiburn.cpp | 4 +- source/games/blood/src/aicaleb.cpp | 42 +- source/games/blood/src/aicerber.cpp | 30 +- source/games/blood/src/aicult.cpp | 16 +- source/games/blood/src/aigarg.cpp | 76 +- source/games/blood/src/aighost.cpp | 76 +- source/games/blood/src/aigilbst.cpp | 42 +- source/games/blood/src/aihand.cpp | 4 +- source/games/blood/src/aihound.cpp | 10 +- source/games/blood/src/aiinnoc.cpp | 4 +- source/games/blood/src/aipod.cpp | 4 +- source/games/blood/src/airat.cpp | 8 +- source/games/blood/src/aispid.cpp | 18 +- source/games/blood/src/aitchern.cpp | 26 +- source/games/blood/src/aiunicult.cpp | 90 +- source/games/blood/src/aizomba.cpp | 10 +- source/games/blood/src/aizombf.cpp | 8 +- source/games/blood/src/animatesprite.cpp | 32 +- source/games/blood/src/callback.cpp | 22 +- source/games/blood/src/db.cpp | 2 +- source/games/blood/src/fx.cpp | 28 +- source/games/blood/src/gameutil.cpp | 12 +- source/games/blood/src/nnexts.cpp | 140 +-- source/games/blood/src/player.cpp | 26 +- source/games/blood/src/sfx.cpp | 2 +- source/games/blood/src/triggers.cpp | 48 +- source/games/blood/src/view.cpp | 4 +- source/games/blood/src/warp.cpp | 8 +- source/games/blood/src/weapon.cpp | 22 +- source/games/duke/src/actors.cpp | 232 ++--- source/games/duke/src/actors_d.cpp | 78 +- source/games/duke/src/actors_r.cpp | 130 +-- source/games/duke/src/animatesprites_d.cpp | 32 +- source/games/duke/src/animatesprites_r.cpp | 46 +- source/games/duke/src/bowling.cpp | 2 +- source/games/duke/src/ccmds.cpp | 2 +- source/games/duke/src/game_misc.cpp | 10 +- source/games/duke/src/gameexec.cpp | 44 +- source/games/duke/src/input.cpp | 2 +- source/games/duke/src/player.cpp | 10 +- source/games/duke/src/player_d.cpp | 38 +- source/games/duke/src/player_r.cpp | 46 +- source/games/duke/src/player_w.cpp | 10 +- source/games/duke/src/premap.cpp | 6 +- source/games/duke/src/premap_r.cpp | 2 +- source/games/duke/src/render.cpp | 2 +- source/games/duke/src/sectors.cpp | 2 +- source/games/duke/src/sectors_d.cpp | 34 +- source/games/duke/src/sectors_r.cpp | 26 +- source/games/duke/src/sounds.cpp | 2 +- source/games/duke/src/spawn.cpp | 38 +- source/games/duke/src/spawn_d.cpp | 18 +- source/games/duke/src/spawn_r.cpp | 14 +- source/games/exhumed/src/anims.cpp | 2 +- source/games/exhumed/src/anubis.cpp | 26 +- source/games/exhumed/src/bubbles.cpp | 2 +- source/games/exhumed/src/bullet.cpp | 16 +- source/games/exhumed/src/fish.cpp | 18 +- source/games/exhumed/src/grenade.cpp | 12 +- source/games/exhumed/src/gun.cpp | 10 +- source/games/exhumed/src/init.cpp | 6 +- source/games/exhumed/src/items.cpp | 2 +- source/games/exhumed/src/lavadude.cpp | 24 +- source/games/exhumed/src/lion.cpp | 58 +- source/games/exhumed/src/move.cpp | 24 +- source/games/exhumed/src/mummy.cpp | 22 +- source/games/exhumed/src/object.cpp | 12 +- source/games/exhumed/src/player.cpp | 24 +- source/games/exhumed/src/queen.cpp | 64 +- source/games/exhumed/src/rat.cpp | 10 +- source/games/exhumed/src/rex.cpp | 32 +- source/games/exhumed/src/roach.cpp | 18 +- source/games/exhumed/src/scorp.cpp | 34 +- source/games/exhumed/src/sequence.cpp | 6 +- source/games/exhumed/src/set.cpp | 28 +- source/games/exhumed/src/snake.cpp | 14 +- source/games/exhumed/src/sound.cpp | 2 +- source/games/exhumed/src/spider.cpp | 20 +- source/games/exhumed/src/view.cpp | 8 +- source/games/exhumed/src/wasp.cpp | 18 +- source/games/sw/src/actor.cpp | 38 +- source/games/sw/src/ai.cpp | 50 +- source/games/sw/src/break.cpp | 2 +- source/games/sw/src/bunny.cpp | 30 +- source/games/sw/src/coolg.cpp | 12 +- source/games/sw/src/draw.cpp | 30 +- source/games/sw/src/eel.cpp | 4 +- source/games/sw/src/game.h | 6 +- source/games/sw/src/girlninj.cpp | 4 +- source/games/sw/src/hornet.cpp | 16 +- source/games/sw/src/interpso.cpp | 10 +- source/games/sw/src/jsector.cpp | 10 +- source/games/sw/src/jweapon.cpp | 118 +-- source/games/sw/src/ninja.cpp | 4 +- source/games/sw/src/player.cpp | 66 +- source/games/sw/src/ripper.cpp | 18 +- source/games/sw/src/ripper2.cpp | 18 +- source/games/sw/src/rooms.cpp | 2 +- source/games/sw/src/sector.cpp | 20 +- source/games/sw/src/skull.cpp | 36 +- source/games/sw/src/sounds.cpp | 2 +- source/games/sw/src/sprite.cpp | 122 +-- source/games/sw/src/track.cpp | 78 +- source/games/sw/src/weapon.cpp | 822 +++++++++--------- source/games/sw/src/zombie.cpp | 6 +- 124 files changed, 2053 insertions(+), 2031 deletions(-) diff --git a/source/build/src/clip.cpp b/source/build/src/clip.cpp index f3666bf52..d8197ae96 100644 --- a/source/build/src/clip.cpp +++ b/source/build/src/clip.cpp @@ -41,7 +41,7 @@ static inline void get_wallspr_points(DCoreActor* actor, int32_t *x1, int32_t *x //These lines get the 2 points of the rotated sprite //Given: (x1, y1) starts out as the center point - const int32_t tilenum=actor->spr.picnum, ang=actor->spr.ang; + const int32_t tilenum=actor->spr.picnum, ang=actor->spr.__int_angle; const int32_t xrepeat = actor->spr.xrepeat; int32_t xoff = tileLeftOffset(tilenum) + actor->spr.xoffset; int32_t k, l, dax, day; @@ -69,8 +69,8 @@ static inline void get_floorspr_points(DCoreActor *spr, int32_t px, int32_t py, int32_t *y1, int32_t *y2, int32_t *y3, int32_t *y4, int heinum = 0) { const int32_t tilenum = spr->spr.picnum; - const int32_t cosang = bcos(spr->spr.ang); - const int32_t sinang = bsin(spr->spr.ang); + const int32_t cosang = bcos(spr->spr.__int_angle); + const int32_t sinang = bsin(spr->spr.__int_angle); vec2_t const span = { tileWidth(tilenum), tileHeight(tilenum)}; vec2_t const repeat = { spr->spr.xrepeat, spr->spr.yrepeat }; @@ -141,7 +141,7 @@ static int32_t spriteGetZOfSlope(DCoreActor* actor, int32_t dax, int32_t day) if (heinum == 0) return actor->int_pos().Z; - int const j = DMulScale(bsin(actor->spr.ang + 1024), day - actor->int_pos().Y, -bsin(actor->spr.ang + 512), dax - actor->int_pos().X, 4); + int const j = DMulScale(bsin(actor->spr.__int_angle + 1024), day - actor->int_pos().Y, -bsin(actor->spr.__int_angle + 512), dax - actor->int_pos().X, 4); return actor->int_pos().Z + MulScale(heinum, j, 18); } @@ -642,8 +642,8 @@ CollisionBase clipmove_(vec3_t * const pos, int * const sectnum, int32_t xvect, if (clipinsideboxline(cent.X, cent.Y, p1.X, p1.Y, p2.X, p2.Y, rad) != 0) { - vec2_t v = { MulScale(bcos(actor->spr.ang + 256), walldist, 14), - MulScale(bsin(actor->spr.ang + 256), walldist, 14) }; + vec2_t v = { MulScale(bcos(actor->spr.__int_angle + 256), walldist, 14), + MulScale(bsin(actor->spr.__int_angle + 256), walldist, 14) }; if ((p1.X-pos->X) * (p2.Y-pos->Y) >= (p2.X-pos->X) * (p1.Y-pos->Y)) // Front addclipline(p1.X+v.X, p1.Y+v.Y, p2.X+v.Y, p2.Y-v.X, obj, false); @@ -692,8 +692,8 @@ CollisionBase clipmove_(vec3_t * const pos, int * const sectnum, int32_t xvect, get_floorspr_points(actor, 0, 0, &rxi[0], &rxi[1], &rxi[2], &rxi[3], &ryi[0], &ryi[1], &ryi[2], &ryi[3], heinum); - vec2_t v = { MulScale(bcos(actor->spr.ang - 256), walldist, 14), - MulScale(bsin(actor->spr.ang - 256), walldist, 14) }; + vec2_t v = { MulScale(bcos(actor->spr.__int_angle - 256), walldist, 14), + MulScale(bsin(actor->spr.__int_angle - 256), walldist, 14) }; if ((rxi[0]-pos->X) * (ryi[1]-pos->Y) < (rxi[1]-pos->X) * (ryi[0]-pos->Y)) { @@ -723,8 +723,8 @@ CollisionBase clipmove_(vec3_t * const pos, int * const sectnum, int32_t xvect, // the rest is for slope sprites only. const int32_t tilenum = actor->spr.picnum; - const int32_t cosang = bcos(actor->spr.ang); - const int32_t sinang = bsin(actor->spr.ang); + const int32_t cosang = bcos(actor->spr.__int_angle); + const int32_t sinang = bsin(actor->spr.__int_angle); vec2_t const span = { tileWidth(tilenum), tileHeight(tilenum) }; vec2_t const repeat = { actor->spr.xrepeat, actor->spr.yrepeat }; vec2_t adjofs = { tileLeftOffset(tilenum), tileTopOffset(tilenum) }; @@ -752,8 +752,8 @@ CollisionBase clipmove_(vec3_t * const pos, int * const sectnum, int32_t xvect, int32_t x2 = x1 - MulScale(sinang, rspanx, 16); int32_t y2 = y1 + MulScale(cosang, rspanx, 16); - vec2_t const v = { MulScale(bcos(actor->spr.ang - 256), walldist, 14), - MulScale(bsin(actor->spr.ang - 256), walldist, 14) }; + vec2_t const v = { MulScale(bcos(actor->spr.__int_angle - 256), walldist, 14), + MulScale(bsin(actor->spr.__int_angle - 256), walldist, 14) }; if (clipinsideboxline(cent.X, cent.Y, x1, y1, x2, y2, rad) != 0) { @@ -1202,8 +1202,8 @@ void getzrange(const vec3_t& pos, sectortype* sect, int32_t* ceilz, CollisionBas get_floorspr_points(actor, pos.X, pos.Y, &v1.X, &v2.X, &v3.X, &v4.X, &v1.Y, &v2.Y, &v3.Y, &v4.Y, spriteGetSlope(actor)); - vec2_t const da = { MulScale(bcos(actor->spr.ang - 256), walldist + 4, 14), - MulScale(bsin(actor->spr.ang - 256), walldist + 4, 14) }; + vec2_t const da = { MulScale(bcos(actor->spr.__int_angle - 256), walldist + 4, 14), + MulScale(bsin(actor->spr.__int_angle - 256), walldist + 4, 14) }; v1.X += da.X; v2.X -= da.Y; v3.X -= da.X; v4.X += da.Y; v1.Y += da.Y; v2.Y += da.X; v3.Y -= da.Y; v4.Y -= da.X; @@ -1512,8 +1512,8 @@ int hitscan(const vec3_t& start, const sectortype* startsect, const vec3_t& dire { int32_t x3, y3, x4, y4; int32_t const heinum = spriteGetSlope(actor); - int32_t const dax = (heinum * sintable[(actor->spr.ang + 1024) & 2047]) << 1; - int32_t const day = (heinum * sintable[(actor->spr.ang + 512) & 2047]) << 1; + int32_t const dax = (heinum * sintable[(actor->spr.__int_angle + 1024) & 2047]) << 1; + int32_t const day = (heinum * sintable[(actor->spr.__int_angle + 512) & 2047]) << 1; int32_t const j = (vz << 8) - DMulScale(dax, vy, -day, vx, 15); if (j == 0) continue; if ((cstat & 64) != 0) diff --git a/source/core/actorlist.cpp b/source/core/actorlist.cpp index 0f85b3eb8..a9036441f 100644 --- a/source/core/actorlist.cpp +++ b/source/core/actorlist.cpp @@ -495,7 +495,7 @@ DEFINE_FIELD_NAMED(DCoreActor, spr.cstat, cstat) DEFINE_FIELD_NAMED(DCoreActor, spr.cstat2, cstat2) DEFINE_FIELD_NAMED(DCoreActor, spr.picnum, picnum) DEFINE_FIELD_NAMED(DCoreActor, spr.statnum, statnum) -DEFINE_FIELD_NAMED(DCoreActor, spr.ang, ang) +DEFINE_FIELD_NAMED(DCoreActor, spr.__int_angle, ang) DEFINE_FIELD_NAMED(DCoreActor, spr.pos, pos) DEFINE_FIELD_NAMED(DCoreActor, spr.xvel, xvel) DEFINE_FIELD_NAMED(DCoreActor, spr.yvel, yvel) diff --git a/source/core/coreactor.h b/source/core/coreactor.h index 56f27fc5e..b3647cfa2 100644 --- a/source/core/coreactor.h +++ b/source/core/coreactor.h @@ -107,6 +107,17 @@ public: spr.pos.Y = y * inttoworld; } + const int16_t int_ang() const + { + return spr.__int_angle; + } + + void set_int_ang(int a) + { + spr.__int_angle = int16_t(a); + } + + // Same as above but with invertex y and z axes to match the renderer's coordinate system. DVector3 render_pos() const { @@ -174,7 +185,7 @@ public: int16_t interpolatedang(double const smoothratio) { - return interpolatedangle(oang, spr.ang, smoothratio, 16); + return interpolatedangle(oang, spr.__int_angle, smoothratio, 16); } void backupx() @@ -205,7 +216,7 @@ public: void backupang() { - oang = spr.ang; + oang = spr.__int_angle; } void backuploc() diff --git a/source/core/gamefuncs.cpp b/source/core/gamefuncs.cpp index acb8dde5b..0382150c0 100644 --- a/source/core/gamefuncs.cpp +++ b/source/core/gamefuncs.cpp @@ -104,7 +104,7 @@ bool calcChaseCamPos(int* px, int* py, int* pz, DCoreActor* act, sectortype** ps else { // same as wall calculation. - daang = buildang(act->spr.ang - 512); + daang = buildang(act->spr.__int_angle - 512); newdist = nx * daang.bsin() + ny * -daang.bcos(); if (abs(nx) > abs(ny)) @@ -305,8 +305,8 @@ void GetWallSpritePosition(const tspritetype* spr, vec2_t pos, vec2_t* out, bool leftofs = ((int)tex->GetDisplayLeftOffset() + spr->xoffset); } - int x = bsin(spr->ang) * spr->xrepeat; - int y = -bcos(spr->ang) * spr->xrepeat; + int x = bsin(spr->__int_angle) * spr->xrepeat; + int y = -bcos(spr->__int_angle) * spr->xrepeat; int xoff = leftofs; if (spr->cstat & CSTAT_SPRITE_XFLIP) xoff = -xoff; @@ -356,8 +356,8 @@ void TGetFlatSpritePosition(const spritetypebase* spr, vec2_t pos, vec2_t* out, int sprcenterx = (width >> 1) + leftofs; int sprcentery = (height >> 1) + topofs; - int cosang = bcos(spr->ang); - int sinang = bsin(spr->ang); + int cosang = bcos(spr->__int_angle); + int sinang = bsin(spr->__int_angle); int cosangslope = DivScale(cosang, ratio, 12); int sinangslope = DivScale(sinang, ratio, 12); @@ -571,7 +571,7 @@ tspritetype* renderAddTsprite(tspriteArray& tsprites, DCoreActor* actor) tspr->yoffset = actor->spr.yoffset; tspr->sectp = actor->spr.sectp; tspr->statnum = actor->spr.statnum; - tspr->ang = actor->spr.ang; + tspr->__int_angle = actor->spr.__int_angle; tspr->xvel = actor->spr.xvel; tspr->yvel = actor->spr.yvel; tspr->zvel = actor->spr.zvel; diff --git a/source/core/gamefuncs.h b/source/core/gamefuncs.h index 2cbc63bc2..e59794e41 100644 --- a/source/core/gamefuncs.h +++ b/source/core/gamefuncs.h @@ -339,7 +339,7 @@ inline int32_t tspriteGetZOfSlope(const tspritetype* tspr, int dax, int day) int heinum = tspriteGetSlope(tspr); if (heinum == 0) return tspr->int_pos().Z; - int const j = DMulScale(bsin(tspr->ang + 1024), day - tspr->int_pos().Y, -bsin(tspr->ang + 512), dax - tspr->int_pos().X, 4); + int const j = DMulScale(bsin(tspr->__int_angle + 1024), day - tspr->int_pos().Y, -bsin(tspr->__int_angle + 512), dax - tspr->int_pos().X, 4); return tspr->int_pos().Z + MulScale(heinum, j, 18); } diff --git a/source/core/maploader.cpp b/source/core/maploader.cpp index cfc40b330..aa2be88ac 100644 --- a/source/core/maploader.cpp +++ b/source/core/maploader.cpp @@ -313,7 +313,7 @@ static void ReadSpriteV7(FileReader& fr, spritetype& spr, int& secno) spr.yoffset = fr.ReadInt8(); secno = fr.ReadInt16(); spr.statnum = fr.ReadInt16(); - spr.ang = fr.ReadInt16(); + spr.__int_angle = fr.ReadInt16(); spr.intowner = fr.ReadInt16(); spr.xvel = fr.ReadInt16(); spr.yvel = fr.ReadInt16(); @@ -339,7 +339,7 @@ static void ReadSpriteV6(FileReader& fr, spritetype& spr, int& secno) spr.xoffset = fr.ReadInt8(); spr.yoffset = fr.ReadInt8(); spr.picnum = fr.ReadInt16(); - spr.ang = fr.ReadInt16(); + spr.__int_angle = fr.ReadInt16(); spr.xvel = fr.ReadInt16(); spr.yvel = fr.ReadInt16(); spr.zvel = fr.ReadInt16(); @@ -366,7 +366,7 @@ static void ReadSpriteV5(FileReader& fr, spritetype& spr, int& secno) spr.xrepeat = fr.ReadUInt8(); spr.yrepeat = fr.ReadUInt8(); spr.picnum = fr.ReadInt16(); - spr.ang = fr.ReadInt16(); + spr.__int_angle = fr.ReadInt16(); spr.xvel = fr.ReadInt16(); spr.yvel = fr.ReadInt16(); spr.zvel = fr.ReadInt16(); diff --git a/source/core/maptypes.h b/source/core/maptypes.h index 5a6cf0aa3..e1cf39d3c 100644 --- a/source/core/maptypes.h +++ b/source/core/maptypes.h @@ -464,7 +464,7 @@ struct spritetypebase ESpriteFlags cstat; int16_t picnum; int16_t statnum; - int16_t ang; + int16_t __int_angle; int16_t xvel; int16_t yvel; union { int16_t zvel, inittype; }; // inittype, type and flags are for Blood. @@ -492,6 +492,17 @@ struct spritetypebase { return { int(pos.X * worldtoint), int(pos.Y * worldtoint), int(pos.Z * zworldtoint) }; } + + const int16_t int_ang() const + { + return __int_angle; + } + + void set_int_ang(int a) + { + __int_angle = int16_t(a); + } + }; diff --git a/source/core/rendering/scene/hw_bunchdrawer.cpp b/source/core/rendering/scene/hw_bunchdrawer.cpp index a22c4c452..2fcb47047 100644 --- a/source/core/rendering/scene/hw_bunchdrawer.cpp +++ b/source/core/rendering/scene/hw_bunchdrawer.cpp @@ -684,7 +684,7 @@ void BunchDrawer::ProcessSection(int sectionnum, bool portal) if ((actor->spr.cstat & (CSTAT_SPRITE_ONE_SIDE | CSTAT_SPRITE_ALIGNMENT_MASK)) != (CSTAT_SPRITE_ONE_SIDE | CSTAT_SPRITE_ALIGNMENT_WALL) || (r_voxels && tiletovox[actor->spr.picnum] >= 0 && voxmodels[tiletovox[actor->spr.picnum]]) || (r_voxels && gi->Voxelize(actor->spr.picnum) > -1) || - DMulScale(bcos(actor->spr.ang), -sx, bsin(actor->spr.ang), -sy, 6) > 0) + DMulScale(bcos(actor->spr.__int_angle), -sx, bsin(actor->spr.__int_angle), -sy, 6) > 0) if (!renderAddTsprite(di->tsprites, actor)) break; } diff --git a/source/core/rendering/scene/hw_drawinfo.cpp b/source/core/rendering/scene/hw_drawinfo.cpp index f648f686a..20e99d1d1 100644 --- a/source/core/rendering/scene/hw_drawinfo.cpp +++ b/source/core/rendering/scene/hw_drawinfo.cpp @@ -318,13 +318,13 @@ void HWDrawInfo::DispatchSprites() if (actor->sprext.renderflags & SPREXT_AWAY1) { - tspr->add_int_x(bcos(tspr->ang, -13)); - tspr->add_int_y(bsin(tspr->ang, -13)); + tspr->add_int_x(bcos(tspr->__int_angle, -13)); + tspr->add_int_y(bsin(tspr->__int_angle, -13)); } else if (actor->sprext.renderflags & SPREXT_AWAY2) { - tspr->add_int_x(-bcos(tspr->ang, -13)); - tspr->add_int_y(-bsin(tspr->ang, -13)); + tspr->add_int_x(-bcos(tspr->__int_angle, -13)); + tspr->add_int_y(-bsin(tspr->__int_angle, -13)); } switch (tspr->cstat & CSTAT_SPRITE_ALIGNMENT_MASK) diff --git a/source/core/rendering/scene/hw_sprites.cpp b/source/core/rendering/scene/hw_sprites.cpp index 00a4d3b0f..309c39a95 100644 --- a/source/core/rendering/scene/hw_sprites.cpp +++ b/source/core/rendering/scene/hw_sprites.cpp @@ -459,7 +459,7 @@ bool HWSprite::ProcessVoxel(HWDrawInfo* di, voxmodel_t* vox, tspritetype* spr, s visibility = sectorVisibility(sector); voxel = vox; - auto ang = spr->ang + ownerActor->sprext.angoff; + auto ang = spr->__int_angle + ownerActor->sprext.angoff; if ((spr->clipdist & TSPR_MDLROTATE) || rotate) { int myclock = (PlayClock << 3) + MulScale(4 << 3, (int)di->Viewpoint.TicFrac, 16); diff --git a/source/core/rendering/scene/hw_walls.cpp b/source/core/rendering/scene/hw_walls.cpp index f6b9658c5..5d1ac7e79 100644 --- a/source/core/rendering/scene/hw_walls.cpp +++ b/source/core/rendering/scene/hw_walls.cpp @@ -63,13 +63,13 @@ static walltype* IsOnWall(tspritetype* tspr, int height, DVector2& outpos) // Intentionally include two sided walls. Even on them the sprite should be projected onto the wall for better results. auto d = wal.delta(); int walang = getangle(d.X, d.Y); - int deltaang = abs((((walang - tspr->ang) & 2047) << 21) >> 21); + int deltaang = abs((((walang - tspr->__int_angle) & 2047) << 21) >> 21); const int maxangdelta = 1; // angle of the sprite must either be the wall's normal or the negative wall's normal to be aligned. if (deltaang >= 512 - maxangdelta && deltaang <= 512 + maxangdelta) { - if (!((tspr->ang) & 510)) + if (!((tspr->__int_angle) & 510)) { // orthogonal lines do not check the actual position so that certain off-sector sprites get handled properly. // In Wanton Destruction's airplane level there's such a sprite assigned to the wrong sector. @@ -1102,7 +1102,7 @@ void HWWall::Process(HWDrawInfo* di, walltype* wal, sectortype* frontsector, sec int HWWall::CheckWallSprite(tspritetype* spr, tspritetype* last) { // If the position changed we need to recalculate everything. - if (spr->pos.XY() != last->pos.XY() || spr->sectp != last->sectp || spr->ang != last->ang) return 3; + if (spr->pos.XY() != last->pos.XY() || spr->sectp != last->sectp || spr->__int_angle != last->__int_angle) return 3; // if the horizontal orientation changes we need to recalculate the walls this attaches to, but not the positioning. if (spr->xrepeat != last->xrepeat || spr->xoffset != last->xoffset || spr->picnum != last->picnum || ((spr->cstat ^ last->cstat) & CSTAT_SPRITE_XFLIP)) return 2; diff --git a/source/core/savegamehelp.cpp b/source/core/savegamehelp.cpp index 1d4c5d0b7..68fa2ad2d 100644 --- a/source/core/savegamehelp.cpp +++ b/source/core/savegamehelp.cpp @@ -461,7 +461,7 @@ FSerializer &Serialize(FSerializer &arc, const char *key, spritetype &c, spritet ("yoffset", c.yoffset, def->yoffset) ("statnum", c.statnum) ("sectnum", c.sectp) - ("ang", c.ang, def->ang) + ("ang", c.__int_angle, def->__int_angle) ("owner", c.intowner, def->intowner) ("xvel", c.xvel, def->xvel) ("yvel", c.yvel, def->yvel) diff --git a/source/core/thingdef_properties.cpp b/source/core/thingdef_properties.cpp index aab822ee8..3731000d1 100644 --- a/source/core/thingdef_properties.cpp +++ b/source/core/thingdef_properties.cpp @@ -337,7 +337,7 @@ DEFINE_PROPERTY(statnum, I, CoreActor) DEFINE_PROPERTY(angle, I, CoreActor) { PROP_INT_PARM(i, 0); - bag.Info->ActorInfo()->defsprite.ang = i; + bag.Info->ActorInfo()->defsprite.__int_angle = i; bag.Info->ActorInfo()->DefaultFlags |= DEFF_ANG; } diff --git a/source/core/vmexports.cpp b/source/core/vmexports.cpp index 9aab6a652..d6ad644d7 100644 --- a/source/core/vmexports.cpp +++ b/source/core/vmexports.cpp @@ -84,7 +84,7 @@ DEFINE_FIELD_X(walltype, walltype, yrepeat) DEFINE_FIELD_NAMED_X(tspritetype, tspritetype, sectp, sector) DEFINE_FIELD_X(tspritetype, tspritetype, cstat) DEFINE_FIELD_X(tspritetype, tspritetype, statnum) -DEFINE_FIELD_X(tspritetype, tspritetype, ang) +DEFINE_FIELD_NAMED_X(tspritetype, tspritetype, __int_angle, ang) DEFINE_FIELD_X(tspritetype, tspritetype, xvel) DEFINE_FIELD_X(tspritetype, tspritetype, yvel) DEFINE_FIELD_X(tspritetype, tspritetype, zvel) diff --git a/source/games/blood/src/actor.cpp b/source/games/blood/src/actor.cpp index 321cf739c..3715c578b 100644 --- a/source/games/blood/src/actor.cpp +++ b/source/games/blood/src/actor.cpp @@ -2724,7 +2724,7 @@ static void actNapalmMove(DBloodActor* actor) int spawnparam[2]; spawnparam[0] = actor->xspr.data4 >> 1; spawnparam[1] = actor->xspr.data4 - spawnparam[0]; - int ang = actor->spr.ang; + int ang = actor->spr.__int_angle; actor->vel.X = 0; actor->vel.Y = 0; actor->vel.Z = 0; @@ -2732,7 +2732,7 @@ static void actNapalmMove(DBloodActor* actor) { int t1 = Random(0x33333) + 0x33333; int rndang = Random2(0x71); - actor->spr.ang = (rndang + ang + 2048) & 2047; + actor->spr.__int_angle = (rndang + ang + 2048) & 2047; auto spawned = actFireThing(actor, 0, 0, -0x93d0, kThingNapalmBall, t1); spawned->SetOwner(actor->GetOwner()); seqSpawn(61, spawned, nNapalmClient); @@ -2968,7 +2968,7 @@ static bool actKillModernDude(DBloodActor* actor, DAMAGE_TYPE damageType) else { seqKill(actor); - DBloodActor* pEffect = gFX.fxSpawnActor((FX_ID)52, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang); + DBloodActor* pEffect = gFX.fxSpawnActor((FX_ID)52, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle); if (pEffect != nullptr) { pEffect->spr.cstat = CSTAT_SPRITE_ALIGNMENT_FACING; @@ -3862,7 +3862,7 @@ static void actImpactMissile(DBloodActor* missileActor, int hitCode) if (missileActor->hasX()) { actPostSprite(missileActor, kStatDecoration); - if (missileActor->spr.ang == 1024) sfxPlay3DSound(missileActor, 307, -1, 0); + if (missileActor->spr.__int_angle == 1024) sfxPlay3DSound(missileActor, 307, -1, 0); missileActor->spr.type = kSpriteDecoration; seqSpawn(9, missileActor, -1); } @@ -3881,7 +3881,7 @@ static void actImpactMissile(DBloodActor* missileActor, int hitCode) if (pWallHit) { auto pFX = gFX.fxSpawnActor(FX_52, missileActor->sector(), missileActor->int_pos().X, missileActor->int_pos().Y, missileActor->int_pos().Z, 0); - if (pFX) pFX->spr.ang = (GetWallAngle(pWallHit) + 512) & 2047; + if (pFX) pFX->spr.__int_angle = (GetWallAngle(pWallHit) + 512) & 2047; } break; } @@ -3974,7 +3974,7 @@ static void actImpactMissile(DBloodActor* missileActor, int hitCode) missileActor->spr.picnum = 2123; missileActor->SetTarget(actorHit); missileActor->xspr.TargetPos.Z = missileActor->int_pos().Z - actorHit->int_pos().Z; - missileActor->xspr.goalAng = getangle(missileActor->int_pos().X - actorHit->int_pos().X, missileActor->int_pos().Y - actorHit->int_pos().Y) - actorHit->spr.ang; + missileActor->xspr.goalAng = getangle(missileActor->int_pos().X - actorHit->int_pos().X, missileActor->int_pos().Y - actorHit->int_pos().Y) - actorHit->spr.__int_angle; missileActor->xspr.state = 1; actPostSprite(missileActor, kStatFlare); missileActor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; @@ -4101,8 +4101,8 @@ static void actImpactMissile(DBloodActor* missileActor, int hitCode) static void actKickObject(DBloodActor* kicker, DBloodActor* kicked) { int nSpeed = ClipLow(approxDist(kicker->vel.X, kicker->vel.Y) * 2, 0xaaaaa); - kicked->vel.X = MulScale(nSpeed, Cos(kicker->spr.ang + Random2(85)), 30); - kicked->vel.Y = MulScale(nSpeed, Sin(kicker->spr.ang + Random2(85)), 30); + kicked->vel.X = MulScale(nSpeed, Cos(kicker->spr.__int_angle + Random2(85)), 30); + kicked->vel.Y = MulScale(nSpeed, Sin(kicker->spr.__int_angle + Random2(85)), 30); kicked->vel.Z = MulScale(nSpeed, -0x2000, 14); kicked->spr.flags = 7; } @@ -4720,7 +4720,7 @@ static Collision MoveThing(DBloodActor* actor) } } if (actor->vel.X || actor->vel.Y) - actor->spr.ang = getangle(actor->vel.X, actor->vel.Y); + actor->spr.__int_angle = getangle(actor->vel.X, actor->vel.Y); return lhit; } @@ -5953,8 +5953,8 @@ static void actCheckTraps() int y = actor->int_pos().Y; int z = actor->int_pos().Z; int t = (actor->xspr.data1 << 23) / 120; - int dx = MulScale(t, Cos(actor->spr.ang), 30); - int dy = MulScale(t, Sin(actor->spr.ang), 30); + int dx = MulScale(t, Cos(actor->spr.__int_angle), 30); + int dy = MulScale(t, Sin(actor->spr.__int_angle), 30); for (int i = 0; i < 2; i++) { auto pFX = gFX.fxSpawnActor(FX_32, actor->sector(), x, y, z, 0); @@ -5967,8 +5967,8 @@ static void actCheckTraps() x += (dx / 2) >> 12; y += (dy / 2) >> 12; } - dy = bsin(actor->spr.ang); - dx = bcos(actor->spr.ang); + dy = bsin(actor->spr.__int_angle); + dx = bcos(actor->spr.__int_angle); gVectorData[kVectorTchernobogBurn].maxDist = actor->xspr.data1 << 9; actFireVector(actor, 0, 0, dx, dy, Random2(0x8888), kVectorTchernobogBurn); } @@ -6150,8 +6150,8 @@ void actCheckFlares() } if (target->hasX() && target->xspr.health > 0) { - int x = target->int_pos().X + mulscale30r(Cos(actor->xspr.goalAng + target->spr.ang), target->spr.clipdist * 2); - int y = target->int_pos().Y + mulscale30r(Sin(actor->xspr.goalAng + target->spr.ang), target->spr.clipdist * 2); + int x = target->int_pos().X + mulscale30r(Cos(actor->xspr.goalAng + target->spr.__int_angle), target->spr.clipdist * 2); + int y = target->int_pos().Y + mulscale30r(Sin(actor->xspr.goalAng + target->spr.__int_angle), target->spr.clipdist * 2); int z = target->int_pos().Z + actor->xspr.TargetPos.Z; vec3_t pos = { x, y, z }; SetActor(actor, &pos); @@ -6243,7 +6243,7 @@ DBloodActor* actSpawnDude(DBloodActor* source, int nType, int a3, int a4) { auto spawned = actSpawnSprite(source, kStatDude); if (!spawned) return nullptr; - int angle = source->spr.ang; + int angle = source->spr.__int_angle; int nDude = nType - kDudeBase; int x, y, z; z = a4 + source->int_pos().Z; @@ -6260,7 +6260,7 @@ DBloodActor* actSpawnDude(DBloodActor* source, int nType, int a3, int a4) spawned->spr.type = nType; if (!VanillaMode()) spawned->spr.inittype = nType; - spawned->spr.ang = angle; + spawned->spr.__int_angle = angle; vec3_t pos = { x, y, z }; SetActor(spawned, &pos); spawned->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_BLOOD_BIT1; @@ -6407,21 +6407,21 @@ DBloodActor* actSpawnThing(sectortype* pSector, int x, int y, int z, int nThingT DBloodActor* actFireThing(DBloodActor* actor, int a2, int a3, int a4, int thingType, int a6) { assert(thingType >= kThingBase && thingType < kThingMax); - int x = actor->int_pos().X + MulScale(a2, Cos(actor->spr.ang + 512), 30); - int y = actor->int_pos().Y + MulScale(a2, Sin(actor->spr.ang + 512), 30); + int x = actor->int_pos().X + MulScale(a2, Cos(actor->spr.__int_angle + 512), 30); + int y = actor->int_pos().Y + MulScale(a2, Sin(actor->spr.__int_angle + 512), 30); int z = actor->int_pos().Z + a3; - x += MulScale(actor->spr.clipdist, Cos(actor->spr.ang), 28); - y += MulScale(actor->spr.clipdist, Sin(actor->spr.ang), 28); + x += MulScale(actor->spr.clipdist, Cos(actor->spr.__int_angle), 28); + y += MulScale(actor->spr.clipdist, Sin(actor->spr.__int_angle), 28); if (HitScan(actor, z, x - actor->int_pos().X, y - actor->int_pos().Y, 0, CLIPMASK0, actor->spr.clipdist) != -1) { - x = gHitInfo.hitpos.X - MulScale(actor->spr.clipdist << 1, Cos(actor->spr.ang), 28); - y = gHitInfo.hitpos.Y - MulScale(actor->spr.clipdist << 1, Sin(actor->spr.ang), 28); + x = gHitInfo.hitpos.X - MulScale(actor->spr.clipdist << 1, Cos(actor->spr.__int_angle), 28); + y = gHitInfo.hitpos.Y - MulScale(actor->spr.clipdist << 1, Sin(actor->spr.__int_angle), 28); } auto fired = actSpawnThing(actor->sector(), x, y, z, thingType); fired->SetOwner(actor); - fired->spr.ang = actor->spr.ang; - fired->vel.X = MulScale(a6, Cos(fired->spr.ang), 30); - fired->vel.Y = MulScale(a6, Sin(fired->spr.ang), 30); + fired->spr.__int_angle = actor->spr.__int_angle; + fired->vel.X = MulScale(a6, Cos(fired->spr.__int_angle), 30); + fired->vel.Y = MulScale(a6, Sin(fired->spr.__int_angle), 30); fired->vel.Z = MulScale(a6, a4, 14); fired->vel.X += actor->vel.X / 2; fired->vel.Y += actor->vel.Y / 2; @@ -6519,25 +6519,25 @@ DBloodActor* actFireMissile(DBloodActor* actor, int a2, int a3, int a4, int a5, assert(nType >= kMissileBase && nType < kMissileMax); bool impact = false; const MissileType* pMissileInfo = &missileInfo[nType - kMissileBase]; - int x = actor->int_pos().X + MulScale(a2, Cos(actor->spr.ang + 512), 30); - int y = actor->int_pos().Y + MulScale(a2, Sin(actor->spr.ang + 512), 30); + int x = actor->int_pos().X + MulScale(a2, Cos(actor->spr.__int_angle + 512), 30); + int y = actor->int_pos().Y + MulScale(a2, Sin(actor->spr.__int_angle + 512), 30); int z = actor->int_pos().Z + a3; int clipdist = pMissileInfo->clipDist + actor->spr.clipdist; - x += MulScale(clipdist, Cos(actor->spr.ang), 28); - y += MulScale(clipdist, Sin(actor->spr.ang), 28); + x += MulScale(clipdist, Cos(actor->spr.__int_angle), 28); + y += MulScale(clipdist, Sin(actor->spr.__int_angle), 28); int hit = HitScan(actor, z, x - actor->int_pos().X, y - actor->int_pos().Y, 0, CLIPMASK0, clipdist); if (hit != -1) { if (hit == 3 || hit == 0) { impact = true; - x = gHitInfo.hitpos.X - MulScale(Cos(actor->spr.ang), 16, 30); - y = gHitInfo.hitpos.Y - MulScale(Sin(actor->spr.ang), 16, 30); + x = gHitInfo.hitpos.X - MulScale(Cos(actor->spr.__int_angle), 16, 30); + y = gHitInfo.hitpos.Y - MulScale(Sin(actor->spr.__int_angle), 16, 30); } else { - x = gHitInfo.hitpos.X - MulScale(pMissileInfo->clipDist << 1, Cos(actor->spr.ang), 28); - y = gHitInfo.hitpos.Y - MulScale(pMissileInfo->clipDist << 1, Sin(actor->spr.ang), 28); + x = gHitInfo.hitpos.X - MulScale(pMissileInfo->clipDist << 1, Cos(actor->spr.__int_angle), 28); + y = gHitInfo.hitpos.Y - MulScale(pMissileInfo->clipDist << 1, Sin(actor->spr.__int_angle), 28); } } auto spawned = actSpawnSprite(actor->sector(), x, y, z, 5, 1); @@ -6551,7 +6551,7 @@ DBloodActor* actFireMissile(DBloodActor* actor, int a2, int a3, int a4, int a5, spawned->spr.xrepeat = pMissileInfo->xrepeat; spawned->spr.yrepeat = pMissileInfo->yrepeat; spawned->spr.picnum = pMissileInfo->picnum; - spawned->spr.ang = (actor->spr.ang + pMissileInfo->angleOfs) & 2047; + spawned->spr.__int_angle = (actor->spr.__int_angle + pMissileInfo->angleOfs) & 2047; spawned->vel.X = MulScale(pMissileInfo->velocity, a4, 14); spawned->vel.Y = MulScale(pMissileInfo->velocity, a5, 14); spawned->vel.Z = MulScale(pMissileInfo->velocity, a6, 14); @@ -6751,7 +6751,7 @@ void actFireVector(DBloodActor* shooter, int a2, int a3, int a4, int a5, int a6, auto pFX = gFX.fxSpawnActor(pVectorData->surfHit[nnSurf].fx1, pSector, xx, yy, zz, 0); if (pFX) { - pFX->spr.ang = (GetWallAngle(pWall) + 512) & 2047; + pFX->spr.__int_angle = (GetWallAngle(pWall) + 512) & 2047; pFX->spr.cstat |= CSTAT_SPRITE_ALIGNMENT_WALL; } } @@ -6855,7 +6855,7 @@ void actFireVector(DBloodActor* shooter, int a2, int a3, int a4, int a5, int a6, if (pFX) { pFX->vel.Z = 0x2222; - pFX->spr.ang = (GetWallAngle(pWall) + 512) & 2047; + pFX->spr.__int_angle = (GetWallAngle(pWall) + 512) & 2047; pFX->spr.cstat |= CSTAT_SPRITE_ALIGNMENT_WALL; } } diff --git a/source/games/blood/src/ai.cpp b/source/games/blood/src/ai.cpp index 8ffe9d8ca..0ea911cf1 100644 --- a/source/games/blood/src/ai.cpp +++ b/source/games/blood/src/ai.cpp @@ -250,9 +250,9 @@ bool CanMove(DBloodActor* actor, DBloodActor* target, int nAngle, int nRange) void aiChooseDirection(DBloodActor* actor, int a3) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); - int vc = ((a3 + 1024 - actor->spr.ang) & 2047) - 1024; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int vc = ((a3 + 1024 - actor->spr.__int_angle) & 2047) - 1024; + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -260,30 +260,30 @@ void aiChooseDirection(DBloodActor* actor, int a3) int v8 = 341; if (vc < 0) v8 = -341; - if (CanMove(actor, actor->GetTarget(), actor->spr.ang + vc, vsi)) - actor->xspr.goalAng = actor->spr.ang + vc; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang + vc / 2, vsi)) - actor->xspr.goalAng = actor->spr.ang + vc / 2; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang - vc / 2, vsi)) - actor->xspr.goalAng = actor->spr.ang - vc / 2; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang + v8, vsi)) - actor->xspr.goalAng = actor->spr.ang + v8; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang, vsi)) - actor->xspr.goalAng = actor->spr.ang; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang - v8, vsi)) - actor->xspr.goalAng = actor->spr.ang - v8; + if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + vc, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + vc; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + vc / 2, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + vc / 2; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle - vc / 2, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle - vc / 2; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + v8, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + v8; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle - v8, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle - v8; //else if (actor->spr.flags&2) - //actor->xspr.goalAng = actor->spr.ang+341; + //actor->xspr.goalAng = actor->spr.__int_angle+341; else // Weird.. - actor->xspr.goalAng = actor->spr.ang + 341; + actor->xspr.goalAng = actor->spr.__int_angle + 341; if (Chance(0x8000)) actor->xspr.dodgeDir = 1; else actor->xspr.dodgeDir = -1; - if (!CanMove(actor, actor->GetTarget(), actor->spr.ang + actor->xspr.dodgeDir * 512, 512)) + if (!CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + actor->xspr.dodgeDir * 512, 512)) { actor->xspr.dodgeDir = -actor->xspr.dodgeDir; - if (!CanMove(actor, actor->GetTarget(), actor->spr.ang + actor->xspr.dodgeDir * 512, 512)) + if (!CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + actor->xspr.dodgeDir * 512, 512)) actor->xspr.dodgeDir = 0; } } @@ -298,13 +298,13 @@ void aiMoveForward(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (abs(nAng) > 341) return; - actor->vel.X += MulScale(pDudeInfo->frontSpeed, Cos(actor->spr.ang), 30); - actor->vel.Y += MulScale(pDudeInfo->frontSpeed, Sin(actor->spr.ang), 30); + actor->vel.X += MulScale(pDudeInfo->frontSpeed, Cos(actor->spr.__int_angle), 30); + actor->vel.Y += MulScale(pDudeInfo->frontSpeed, Sin(actor->spr.__int_angle), 30); } //--------------------------------------------------------------------------- @@ -317,9 +317,9 @@ void aiMoveTurn(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; } //--------------------------------------------------------------------------- @@ -332,13 +332,13 @@ void aiMoveDodge(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (actor->xspr.dodgeDir) { - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -1520,7 +1520,7 @@ void aiThinkTarget(DBloodActor* actor) if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { aiSetTarget(actor, pPlayer->actor); @@ -1565,7 +1565,7 @@ void aiLookForTarget(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { aiSetTarget(actor, pPlayer->actor); diff --git a/source/games/blood/src/aibat.cpp b/source/games/blood/src/aibat.cpp index 8f3d5f8f4..9cb7565d3 100644 --- a/source/games/blood/src/aibat.cpp +++ b/source/games/blood/src/aibat.cpp @@ -65,8 +65,8 @@ void batBiteSeqCallback(int, DBloodActor* actor) { if (!actor->ValidateTarget(__FUNCTION__)) return; auto pTarget = actor->GetTarget(); - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); DUDEINFO* pDudeInfoT = getDudeInfo(pTarget->spr.type); @@ -108,7 +108,7 @@ static void batThinkTarget(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { aiSetTarget(actor, pPlayer->actor); @@ -141,7 +141,7 @@ static void batThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &batSearch); batThinkTarget(actor); } @@ -168,7 +168,7 @@ static void batThinkPonder(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; int height2 = (getDudeInfo(pTarget->spr.type)->eyeHeight * pTarget->spr.yrepeat) << 2; int top, bottom; @@ -203,11 +203,11 @@ static void batMoveDodgeUp(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -226,13 +226,13 @@ static void batMoveDodgeDown(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (actor->xspr.dodgeDir == 0) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -274,7 +274,7 @@ static void batThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; // Should be dudeInfo[pTarget->spr.type-kDudeBase] int height2 = (pDudeInfo->eyeHeight * pTarget->spr.yrepeat) << 2; @@ -310,21 +310,21 @@ static void batMoveForward(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if ((unsigned int)Random(64) < 32 && nDist <= 0x200) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -341,13 +341,13 @@ static void batMoveSwoop(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -355,8 +355,8 @@ static void batMoveSwoop(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x200) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -371,13 +371,13 @@ static void batMoveFly(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.ang = (actor->spr.ang + 512) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -385,8 +385,8 @@ static void batMoveFly(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x4000) && nDist <= 0x200) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); diff --git a/source/games/blood/src/aibeast.cpp b/source/games/blood/src/aibeast.cpp index 44f16a58a..b2e086a8a 100644 --- a/source/games/blood/src/aibeast.cpp +++ b/source/games/blood/src/aibeast.cpp @@ -66,8 +66,8 @@ void SlashSeqCallback(int, DBloodActor* actor) { if (!actor->ValidateTarget(__FUNCTION__)) return; auto target = actor->GetTarget(); - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); // Correct ? int dz = actor->int_pos().Z - target->int_pos().Z; dx += Random3(4000 - 700 * gGameOptions.nDifficulty); @@ -80,8 +80,8 @@ void SlashSeqCallback(int, DBloodActor* actor) void StompSeqCallback(int, DBloodActor* actor) { - int angx = bcos(actor->spr.ang); - int angy = bsin(actor->spr.ang); + int angx = bcos(actor->spr.__int_angle); + int angy = bsin(actor->spr.__int_angle); int x = actor->int_pos().X; int y = actor->int_pos().Y; int z = actor->int_pos().Z; @@ -184,7 +184,7 @@ static void beastThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) { if (pXSector && pXSector->Underwater) aiNewState(actor, &beastSwimSearch); @@ -238,7 +238,7 @@ static void beastThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { @@ -335,7 +335,7 @@ static void beastThinkSwimGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &beastSwimSearch); aiThinkTarget(actor); } @@ -368,7 +368,7 @@ static void beastThinkSwimChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = pDudeInfo->eyeHeight + actor->int_pos().Z; int top, bottom; GetActorExtents(actor, &top, &bottom); @@ -398,9 +398,9 @@ static void beastMoveForward(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (abs(nAng) > 341) return; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -408,29 +408,29 @@ static void beastMoveForward(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= 0x400 && Random(64) < 32) return; - actor->vel.X += MulScale(pDudeInfo->frontSpeed, Cos(actor->spr.ang), 30); - actor->vel.Y += MulScale(pDudeInfo->frontSpeed, Sin(actor->spr.ang), 30); + actor->vel.X += MulScale(pDudeInfo->frontSpeed, Cos(actor->spr.__int_angle), 30); + actor->vel.Y += MulScale(pDudeInfo->frontSpeed, Sin(actor->spr.__int_angle), 30); } static void sub_628A0(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if (Random(64) < 32 && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -451,13 +451,13 @@ static void sub_62AE0(DBloodActor* actor) auto target = actor->GetTarget(); int z = actor->int_pos().Z + getDudeInfo(actor->spr.type)->eyeHeight; int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -466,8 +466,8 @@ static void sub_62AE0(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -486,13 +486,13 @@ static void sub_62D7C(DBloodActor* actor) auto target = actor->GetTarget(); int z = actor->int_pos().Z + getDudeInfo(actor->spr.type)->eyeHeight; int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.ang = (actor->spr.ang + 512) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -501,8 +501,8 @@ static void sub_62D7C(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x4000) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); diff --git a/source/games/blood/src/aiboneel.cpp b/source/games/blood/src/aiboneel.cpp index 7b65a1199..ed4a5ecdf 100644 --- a/source/games/blood/src/aiboneel.cpp +++ b/source/games/blood/src/aiboneel.cpp @@ -77,8 +77,8 @@ void eelBiteSeqCallback(int, DBloodActor* actor) } auto target = actor->GetTarget(); - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); DUDEINFO* pDudeInfoT = getDudeInfo(target->spr.type); @@ -120,7 +120,7 @@ static void eelThinkTarget(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { pDudeExtraE->thinkTime = 0; @@ -155,7 +155,7 @@ static void eelThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &eelSearch); eelThinkTarget(actor); } @@ -182,7 +182,7 @@ static void eelThinkPonder(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; int height2 = (getDudeInfo(target->spr.type)->eyeHeight * target->spr.yrepeat) << 2; int top, bottom; @@ -217,11 +217,11 @@ static void eelMoveDodgeUp(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -240,13 +240,13 @@ static void eelMoveDodgeDown(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (actor->xspr.dodgeDir == 0) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -288,7 +288,7 @@ static void eelThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; int top, bottom; GetActorExtents(actor, &top, &bottom); @@ -320,21 +320,21 @@ static void eelMoveForward(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 26) / 120) / 120) << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if (nDist <= 0x399) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -351,9 +351,9 @@ static void eelMoveSwoop(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 26) / 120) / 120) << 2; if (abs(nAng) > 341) return; @@ -362,8 +362,8 @@ static void eelMoveSwoop(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x8000) && nDist <= 0x399) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -378,9 +378,9 @@ static void eelMoveAscend(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 26) / 120) / 120) << 2; if (abs(nAng) > 341) return; @@ -389,8 +389,8 @@ static void eelMoveAscend(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x4000) && nDist <= 0x399) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); diff --git a/source/games/blood/src/aiburn.cpp b/source/games/blood/src/aiburn.cpp index 7746a69fb..fcfffb2d0 100644 --- a/source/games/blood/src/aiburn.cpp +++ b/source/games/blood/src/aiburn.cpp @@ -89,7 +89,7 @@ static void burnThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) { switch (actor->spr.type) { @@ -193,7 +193,7 @@ static void burnThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aicaleb.cpp b/source/games/blood/src/aicaleb.cpp index de6d514df..0de0176e3 100644 --- a/source/games/blood/src/aicaleb.cpp +++ b/source/games/blood/src/aicaleb.cpp @@ -59,8 +59,8 @@ AISTATE tinycaleb139698 = { kAiStateOther, 8, -1, 120, NULL, aiMoveTurn, NULL, & void SeqAttackCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int dz = actor->dudeSlope; dx += Random2(1500); dy += Random2(1500); @@ -99,7 +99,7 @@ static void calebThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) { if (pXSector && pXSector->Underwater) aiNewState(actor, &tinycalebSwimSearch); @@ -151,7 +151,7 @@ static void calebThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { @@ -217,7 +217,7 @@ static void calebThinkSwimGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &tinycalebSwimSearch); aiThinkTarget(actor); } @@ -249,7 +249,7 @@ static void calebThinkSwimChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = pDudeInfo->eyeHeight + actor->int_pos().Z; int top, bottom; GetActorExtents(actor, &top, &bottom); @@ -276,21 +276,21 @@ static void sub_65D04(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if (Random(64) < 32 && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -312,13 +312,13 @@ static void sub_65F44(DBloodActor* actor) auto target = actor->GetTarget(); int z = actor->int_pos().Z + getDudeInfo(actor->spr.type)->eyeHeight; int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -327,8 +327,8 @@ static void sub_65F44(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -348,13 +348,13 @@ static void sub_661E0(DBloodActor* actor) auto target = actor->GetTarget(); int z = actor->int_pos().Z + getDudeInfo(actor->spr.type)->eyeHeight; int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.ang = (actor->spr.ang + 512) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -363,8 +363,8 @@ static void sub_661E0(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x4000) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); diff --git a/source/games/blood/src/aicerber.cpp b/source/games/blood/src/aicerber.cpp index e80831519..a4716b960 100644 --- a/source/games/blood/src/aicerber.cpp +++ b/source/games/blood/src/aicerber.cpp @@ -57,8 +57,8 @@ AISTATE cerberus1398AC = { kAiStateOther, 7, -1, 120, NULL, aiMoveTurn, NULL, &c void cerberusBiteSeqCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); if (!(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax)) { Printf(PRINT_HIGH, "actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax"); return; @@ -82,8 +82,8 @@ void cerberusBurnSeqCallback(int, DBloodActor* actor) int z = height; // ??? TARGETTRACK tt1 = { 0x10000, 0x10000, 0x100, 0x55, 0x1aaaaa }; Aim aim; - aim.dx = bcos(actor->spr.ang); - aim.dy = bsin(actor->spr.ang); + aim.dx = bcos(actor->spr.__int_angle); + aim.dy = bsin(actor->spr.__int_angle); aim.dz = actor->dudeSlope; int nClosest = 0x7fffffff; BloodStatIterator it(kStatDude); @@ -104,8 +104,8 @@ void cerberusBurnSeqCallback(int, DBloodActor* actor) y2 += (actor2->vel.Y * t) >> 12; z2 += (actor2->vel.Z * t) >> 8; } - int tx = x + MulScale(Cos(actor->spr.ang), nDist, 30); - int ty = y + MulScale(Sin(actor->spr.ang), nDist, 30); + int tx = x + MulScale(Cos(actor->spr.__int_angle), nDist, 30); + int ty = y + MulScale(Sin(actor->spr.__int_angle), nDist, 30); int tz = z + MulScale(actor->dudeSlope, nDist, 10); int tsr = MulScale(9460, nDist, 10); int top, bottom; @@ -119,7 +119,7 @@ void cerberusBurnSeqCallback(int, DBloodActor* actor) if (nDist2 < nClosest) { int nAngle = getangle(x2 - x, y2 - y); - int nDeltaAngle = ((nAngle - actor->spr.ang + 1024) & 2047) - 1024; + int nDeltaAngle = ((nAngle - actor->spr.__int_angle + 1024) & 2047) - 1024; if (abs(nDeltaAngle) <= tt1.at8) { int tz1 = actor2->int_pos().Z - actor->int_pos().Z; @@ -158,8 +158,8 @@ void cerberusBurnSeqCallback2(int, DBloodActor* actor) TARGETTRACK tt1 = { 0x10000, 0x10000, 0x100, 0x55, 0x1aaaaa }; Aim aim; int ax, ay, az; - aim.dx = ax = bcos(actor->spr.ang); - aim.dy = ay = bsin(actor->spr.ang); + aim.dx = ax = bcos(actor->spr.__int_angle); + aim.dy = ay = bsin(actor->spr.__int_angle); aim.dz = actor->dudeSlope; az = 0; int nClosest = 0x7fffffff; @@ -181,8 +181,8 @@ void cerberusBurnSeqCallback2(int, DBloodActor* actor) y2 += (actor->vel.Y * t) >> 12; z2 += (actor->vel.Z * t) >> 8; } - int tx = x + MulScale(Cos(actor->spr.ang), nDist, 30); - int ty = y + MulScale(Sin(actor->spr.ang), nDist, 30); + int tx = x + MulScale(Cos(actor->spr.__int_angle), nDist, 30); + int ty = y + MulScale(Sin(actor->spr.__int_angle), nDist, 30); int tz = z + MulScale(actor->dudeSlope, nDist, 10); int tsr = MulScale(9460, nDist, 10); int top, bottom; @@ -196,7 +196,7 @@ void cerberusBurnSeqCallback2(int, DBloodActor* actor) if (nDist2 < nClosest) { int nAngle = getangle(x2 - x, y2 - y); - int nDeltaAngle = ((nAngle - actor->spr.ang + 1024) & 2047) - 1024; + int nDeltaAngle = ((nAngle - actor->spr.__int_angle + 1024) & 2047) - 1024; if (abs(nDeltaAngle) <= tt1.at8) { DUDEINFO* pDudeInfo2 = getDudeInfo(actor2->spr.type); @@ -269,7 +269,7 @@ static void cerberusThinkTarget(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { pDudeExtraE->thinkTime = 0; @@ -301,7 +301,7 @@ static void cerberusThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) { switch (actor->spr.type) { case kDudeCerberusTwoHead: @@ -371,7 +371,7 @@ static void cerberusThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aicult.cpp b/source/games/blood/src/aicult.cpp index fb8d37fb3..cc2a9e5b0 100644 --- a/source/games/blood/src/aicult.cpp +++ b/source/games/blood/src/aicult.cpp @@ -75,8 +75,8 @@ AISTATE cultistSwimRecoil = { kAiStateRecoil, 5, -1, 0, NULL, NULL, NULL, &culti void TommySeqCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int dz = actor->dudeSlope; dx += Random3((5 - gGameOptions.nDifficulty) * 1000); dy += Random3((5 - gGameOptions.nDifficulty) * 1000); @@ -89,8 +89,8 @@ void TeslaSeqCallback(int, DBloodActor* actor) { if (Chance(gCultTeslaFireChance[gGameOptions.nDifficulty])) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int dz = actor->dudeSlope; dx += Random3((5 - gGameOptions.nDifficulty) * 1000); dy += Random3((5 - gGameOptions.nDifficulty) * 1000); @@ -102,8 +102,8 @@ void TeslaSeqCallback(int, DBloodActor* actor) void ShotSeqCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int dz = actor->dudeSlope; dx += Random2((5 - gGameOptions.nDifficulty) * 1000 - 500); dy += Random2((5 - gGameOptions.nDifficulty) * 1000 - 500); @@ -199,7 +199,7 @@ static void cultThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 5120 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 5120 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) { switch (actor->xspr.medium) { @@ -273,7 +273,7 @@ static void cultThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist > 0 && nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aigarg.cpp b/source/games/blood/src/aigarg.cpp index fcc57c2ba..884279702 100644 --- a/source/games/blood/src/aigarg.cpp +++ b/source/games/blood/src/aigarg.cpp @@ -84,8 +84,8 @@ void SlashFSeqCallback(int, DBloodActor* actor) int height = (actor->spr.yrepeat * pDudeInfo->eyeHeight) << 2; int height2 = (target->spr.yrepeat * pDudeInfoT->eyeHeight) << 2; int dz = height - height2; - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); actFireVector(actor, 0, 0, dx, dy, dz, kVectorGargSlash); int r1 = Random(50); int r2 = Random(50); @@ -111,8 +111,8 @@ void BlastSSeqCallback(int, DBloodActor* actor) int z = height; TARGETTRACK tt = { 0x10000, 0x10000, 0x100, 0x55, 0x1aaaaa }; Aim aim; - aim.dx = bcos(actor->spr.ang); - aim.dy = bsin(actor->spr.ang); + aim.dx = bcos(actor->spr.__int_angle); + aim.dy = bsin(actor->spr.__int_angle); aim.dz = actor->dudeSlope; int nClosest = 0x7fffffff; BloodStatIterator it(kStatDude); @@ -133,8 +133,8 @@ void BlastSSeqCallback(int, DBloodActor* actor) y2 += (actor->vel.Y * t) >> 12; z2 += (actor->vel.Z * t) >> 8; } - int tx = x + MulScale(Cos(actor->spr.ang), nDist, 30); - int ty = y + MulScale(Sin(actor->spr.ang), nDist, 30); + int tx = x + MulScale(Cos(actor->spr.__int_angle), nDist, 30); + int ty = y + MulScale(Sin(actor->spr.__int_angle), nDist, 30); int tz = z + MulScale(actor->dudeSlope, nDist, 10); int tsr = MulScale(9460, nDist, 10); int top, bottom; @@ -148,7 +148,7 @@ void BlastSSeqCallback(int, DBloodActor* actor) if (nDist2 < nClosest) { int nAngle = getangle(x2 - x, y2 - y); - int nDeltaAngle = ((nAngle - actor->spr.ang + 1024) & 2047) - 1024; + int nDeltaAngle = ((nAngle - actor->spr.__int_angle + 1024) & 2047) - 1024; if (abs(nDeltaAngle) <= tt.at8) { int tz1 = actor2->int_pos().Z - actor->int_pos().Z; @@ -229,7 +229,7 @@ static void gargThinkTarget(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { pDudeExtraE->thinkTime = 0; @@ -267,7 +267,7 @@ static void gargThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &gargoyleFSearch); aiThinkTarget(actor); } @@ -279,11 +279,11 @@ static void gargMoveDodgeUp(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -305,13 +305,13 @@ static void gargMoveDodgeDown(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (actor->xspr.dodgeDir == 0) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -357,7 +357,7 @@ static void gargThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; // Should be dudeInfo[target->spr.type-kDudeBase] int height2 = (pDudeInfo->eyeHeight * target->spr.yrepeat) << 2; @@ -523,21 +523,21 @@ static void gargMoveForward(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if ((unsigned int)Random(64) < 32 && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -557,13 +557,13 @@ static void gargMoveSlow(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -571,8 +571,8 @@ static void gargMoveSlow(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -598,13 +598,13 @@ static void gargMoveSwoop(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -612,8 +612,8 @@ static void gargMoveSwoop(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -638,13 +638,13 @@ static void gargMoveFly(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.ang = (actor->spr.ang + 512) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -652,8 +652,8 @@ static void gargMoveFly(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x4000) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); diff --git a/source/games/blood/src/aighost.cpp b/source/games/blood/src/aighost.cpp index d02daaaf3..5baeb2ebb 100644 --- a/source/games/blood/src/aighost.cpp +++ b/source/games/blood/src/aighost.cpp @@ -69,8 +69,8 @@ void ghostSlashSeqCallback(int, DBloodActor* actor) int height = (actor->spr.yrepeat * pDudeInfo->eyeHeight) << 2; int height2 = (target->spr.yrepeat * pDudeInfoT->eyeHeight) << 2; int dz = height - height2; - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); sfxPlay3DSound(actor, 1406, 0, 0); actFireVector(actor, 0, 0, dx, dy, dz, kVectorGhost); int r1 = Random(50); @@ -97,8 +97,8 @@ void ghostBlastSeqCallback(int, DBloodActor* actor) int z = height; TARGETTRACK tt = { 0x10000, 0x10000, 0x100, 0x55, 0x1aaaaa }; Aim aim; - aim.dx = bcos(actor->spr.ang); - aim.dy = bsin(actor->spr.ang); + aim.dx = bcos(actor->spr.__int_angle); + aim.dy = bsin(actor->spr.__int_angle); aim.dz = actor->dudeSlope; int nClosest = 0x7fffffff; BloodStatIterator it(kStatDude); @@ -119,8 +119,8 @@ void ghostBlastSeqCallback(int, DBloodActor* actor) y2 += (actor->vel.Y * t) >> 12; z2 += (actor->vel.Z * t) >> 8; } - int tx = x + MulScale(Cos(actor->spr.ang), nDist, 30); - int ty = y + MulScale(Sin(actor->spr.ang), nDist, 30); + int tx = x + MulScale(Cos(actor->spr.__int_angle), nDist, 30); + int ty = y + MulScale(Sin(actor->spr.__int_angle), nDist, 30); int tz = z + MulScale(actor->dudeSlope, nDist, 10); int tsr = MulScale(9460, nDist, 10); int top, bottom; @@ -134,7 +134,7 @@ void ghostBlastSeqCallback(int, DBloodActor* actor) if (nDist2 < nClosest) { int nAngle = getangle(x2 - x, y2 - y); - int nDeltaAngle = ((nAngle - actor->spr.ang + 1024) & 2047) - 1024; + int nDeltaAngle = ((nAngle - actor->spr.__int_angle + 1024) & 2047) - 1024; if (abs(nDeltaAngle) <= tt.at8) { int tz1 = actor2->int_pos().Z - actor->int_pos().Z; @@ -209,7 +209,7 @@ static void ghostThinkTarget(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { pDudeExtraE->thinkTime = 0; @@ -246,7 +246,7 @@ static void ghostThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &ghostSearch); aiThinkTarget(actor); } @@ -258,11 +258,11 @@ static void ghostMoveDodgeUp(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -284,13 +284,13 @@ static void ghostMoveDodgeDown(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (actor->xspr.dodgeDir == 0) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int dx = actor->vel.X; int dy = actor->vel.Y; int t1 = DMulScale(dx, nCos, dy, nSin, 30); @@ -336,7 +336,7 @@ static void ghostThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; // Should be dudeInfo[target->spr.type-kDudeBase] int height2 = (pDudeInfo->eyeHeight * target->spr.yrepeat) << 2; @@ -419,21 +419,21 @@ static void ghostMoveForward(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if ((unsigned int)Random(64) < 32 && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -453,13 +453,13 @@ static void ghostMoveSlow(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -467,8 +467,8 @@ static void ghostMoveSlow(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -491,13 +491,13 @@ static void ghostMoveSwoop(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -505,8 +505,8 @@ static void ghostMoveSwoop(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -528,13 +528,13 @@ static void ghostMoveFly(DBloodActor* actor) return; } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) { - actor->spr.ang = (actor->spr.ang + 512) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -542,8 +542,8 @@ static void ghostMoveFly(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x4000) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); diff --git a/source/games/blood/src/aigilbst.cpp b/source/games/blood/src/aigilbst.cpp index 18311cb9b..9df62d138 100644 --- a/source/games/blood/src/aigilbst.cpp +++ b/source/games/blood/src/aigilbst.cpp @@ -61,8 +61,8 @@ void GillBiteSeqCallback(int, DBloodActor* actor) { if (!actor->ValidateTarget(__FUNCTION__)) return; auto target = actor->GetTarget(); - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int dz = actor->int_pos().Z - target->int_pos().Z; dx += Random3(2000); dy += Random3(2000); @@ -90,7 +90,7 @@ static void gillThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) { if (pXSector && pXSector->Underwater) aiNewState(actor, &gillBeastSwimSearch); @@ -139,7 +139,7 @@ static void gillThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { @@ -204,7 +204,7 @@ static void gillThinkSwimGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &gillBeastSwimSearch); aiThinkTarget(actor); } @@ -236,7 +236,7 @@ static void gillThinkSwimChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = pDudeInfo->eyeHeight + actor->int_pos().Z; int top, bottom; GetActorExtents(actor, &top, &bottom); @@ -266,21 +266,21 @@ static void sub_6CB00(DBloodActor* actor) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 27) / 120) / 120) << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if (Random(64) < 32 && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -301,13 +301,13 @@ static void sub_6CD74(DBloodActor* actor) auto target = actor->GetTarget(); int z = actor->int_pos().Z + getDudeInfo(actor->spr.type)->eyeHeight; int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 27) / 120) / 120) << 2; if (abs(nAng) > 341) { - actor->xspr.goalAng = (actor->spr.ang + 512) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -316,8 +316,8 @@ static void sub_6CD74(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x600) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -336,13 +336,13 @@ static void sub_6D03C(DBloodActor* actor) auto target = actor->GetTarget(); int z = actor->int_pos().Z + getDudeInfo(actor->spr.type)->eyeHeight; int z2 = target->int_pos().Z + getDudeInfo(target->spr.type)->eyeHeight; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = (pDudeInfo->frontSpeed - (((4 - gGameOptions.nDifficulty) << 27) / 120) / 120) << 2; if (abs(nAng) > 341) { - actor->spr.ang = (actor->spr.ang + 512) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 512) & 2047; return; } int dx = actor->xspr.TargetPos.X - actor->int_pos().X; @@ -351,8 +351,8 @@ static void sub_6D03C(DBloodActor* actor) int nDist = approxDist(dx, dy); if (Chance(0x4000) && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); diff --git a/source/games/blood/src/aihand.cpp b/source/games/blood/src/aihand.cpp index 5da4f996a..c1f42e98b 100644 --- a/source/games/blood/src/aihand.cpp +++ b/source/games/blood/src/aihand.cpp @@ -71,7 +71,7 @@ static void handThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &handSearch); aiThinkTarget(actor); } @@ -104,7 +104,7 @@ static void handThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aihound.cpp b/source/games/blood/src/aihound.cpp index 75d073699..f635994c8 100644 --- a/source/games/blood/src/aihound.cpp +++ b/source/games/blood/src/aihound.cpp @@ -44,8 +44,8 @@ AISTATE houndBurn = { kAiStateChase, 7, nHoundBurnClient, 60, NULL, NULL, NULL, void houndBiteSeqCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); if (!(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax)) { Printf(PRINT_HIGH, "actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax"); return; @@ -64,7 +64,7 @@ void houndBiteSeqCallback(int, DBloodActor* actor) void houndBurnSeqCallback(int, DBloodActor* actor) { - actFireMissile(actor, 0, 0, bcos(actor->spr.ang), bsin(actor->spr.ang), 0, kMissileFlameHound); + actFireMissile(actor, 0, 0, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), 0, kMissileFlameHound); } static void houndThinkSearch(DBloodActor* actor) @@ -86,7 +86,7 @@ static void houndThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &houndSearch); aiThinkTarget(actor); } @@ -121,7 +121,7 @@ static void houndThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aiinnoc.cpp b/source/games/blood/src/aiinnoc.cpp index e9d480f4a..45fbd75be 100644 --- a/source/games/blood/src/aiinnoc.cpp +++ b/source/games/blood/src/aiinnoc.cpp @@ -55,7 +55,7 @@ static void innocThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &innocentSearch); aiThinkTarget(actor); } @@ -88,7 +88,7 @@ static void innocThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aipod.cpp b/source/games/blood/src/aipod.cpp index e879b69b3..d0eda0faa 100644 --- a/source/games/blood/src/aipod.cpp +++ b/source/games/blood/src/aipod.cpp @@ -144,7 +144,7 @@ static void aiPodMove(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) { + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) { switch (actor->spr.type) { case kDudePodGreen: case kDudePodFire: @@ -201,7 +201,7 @@ static void aiPodChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/airat.cpp b/source/games/blood/src/airat.cpp index b808acfb5..8f7d3d5f5 100644 --- a/source/games/blood/src/airat.cpp +++ b/source/games/blood/src/airat.cpp @@ -43,8 +43,8 @@ AISTATE ratBite = { kAiStateChase, 6, nRatBiteClient, 120, NULL, NULL, NULL, &ra void ratBiteSeqCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); if (!actor->ValidateTarget(__FUNCTION__)) return; auto target = actor->GetTarget(); @@ -67,7 +67,7 @@ static void ratThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &ratSearch); aiThinkTarget(actor); } @@ -99,7 +99,7 @@ static void ratThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aispid.cpp b/source/games/blood/src/aispid.cpp index 2177f095d..b5d1e8325 100644 --- a/source/games/blood/src/aispid.cpp +++ b/source/games/blood/src/aispid.cpp @@ -59,8 +59,8 @@ static void spidBlindEffect(DBloodActor* actor, int nBlind, int max) void SpidBiteSeqCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); dx += Random2(2000); dy += Random2(2000); int dz = Random2(2000); @@ -107,8 +107,8 @@ void SpidBiteSeqCallback(int, DBloodActor* actor) void SpidJumpSeqCallback(int, DBloodActor* actor) { - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); dx += Random2(200); dy += Random2(200); int dz = Random2(200); @@ -144,11 +144,11 @@ void SpidBirthSeqCallback(int, DBloodActor* actor) DBloodActor* spawned = nullptr; if (target->IsPlayerActor() && pDudeExtraE->birthCounter < 10) { - if (nDist < 0x1a00 && nDist > 0x1400 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 0x1a00 && nDist > 0x1400 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) spawned = actSpawnDude(actor, kDudeSpiderRed, actor->spr.clipdist, 0); - else if (nDist < 0x1400 && nDist > 0xc00 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + else if (nDist < 0x1400 && nDist > 0xc00 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) spawned = actSpawnDude(actor, kDudeSpiderBrown, actor->spr.clipdist, 0); - else if (nDist < 0xc00 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + else if (nDist < 0xc00 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) spawned = actSpawnDude(actor, kDudeSpiderBrown, actor->spr.clipdist, 0); if (spawned) @@ -176,7 +176,7 @@ static void spidThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &spidSearch); aiThinkTarget(actor); } @@ -207,7 +207,7 @@ static void spidThinkChase(DBloodActor* actor) } int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aitchern.cpp b/source/games/blood/src/aitchern.cpp index 8fce6b6dd..6c56d42ba 100644 --- a/source/games/blood/src/aitchern.cpp +++ b/source/games/blood/src/aitchern.cpp @@ -66,8 +66,8 @@ void sub_71BD4(int, DBloodActor* actor) int z = height; TARGETTRACK tt = { 0x10000, 0x10000, 0x100, 0x55, 0x100000 }; Aim aim; - aim.dx = bcos(actor->spr.ang); - aim.dy = bsin(actor->spr.ang); + aim.dx = bcos(actor->spr.__int_angle); + aim.dy = bsin(actor->spr.__int_angle); aim.dz = actor->dudeSlope; int nClosest = 0x7fffffff; BloodStatIterator it(kStatDude); @@ -88,8 +88,8 @@ void sub_71BD4(int, DBloodActor* actor) y2 += (actor->vel.Y * t) >> 12; z2 += (actor->vel.Z * t) >> 8; } - int tx = x + MulScale(Cos(actor->spr.ang), nDist, 30); - int ty = y + MulScale(Sin(actor->spr.ang), nDist, 30); + int tx = x + MulScale(Cos(actor->spr.__int_angle), nDist, 30); + int ty = y + MulScale(Sin(actor->spr.__int_angle), nDist, 30); int tz = z + MulScale(actor->dudeSlope, nDist, 10); int tsr = MulScale(9460, nDist, 10); int top, bottom; @@ -103,7 +103,7 @@ void sub_71BD4(int, DBloodActor* actor) if (nDist2 < nClosest) { int nAngle = getangle(x2 - x, y2 - y); - int nDeltaAngle = ((nAngle - actor->spr.ang + 1024) & 2047) - 1024; + int nDeltaAngle = ((nAngle - actor->spr.__int_angle + 1024) & 2047) - 1024; if (abs(nDeltaAngle) <= tt.at8) { int tz1 = actor2->int_pos().Z - actor->int_pos().Z; @@ -130,8 +130,8 @@ void sub_720AC(int, DBloodActor* actor) DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); int height = actor->spr.yrepeat * pDudeInfo->eyeHeight; int ax, ay, az; - ax = bcos(actor->spr.ang); - ay = bsin(actor->spr.ang); + ax = bcos(actor->spr.__int_angle); + ay = bsin(actor->spr.__int_angle); int x = actor->int_pos().X; int y = actor->int_pos().Y; int z = height; @@ -160,8 +160,8 @@ void sub_720AC(int, DBloodActor* actor) y2 += (actor->vel.Y * t) >> 12; z2 += (actor->vel.Z * t) >> 8; } - int tx = x + MulScale(Cos(actor->spr.ang), nDist, 30); - int ty = y + MulScale(Sin(actor->spr.ang), nDist, 30); + int tx = x + MulScale(Cos(actor->spr.__int_angle), nDist, 30); + int ty = y + MulScale(Sin(actor->spr.__int_angle), nDist, 30); int tz = z + MulScale(actor->dudeSlope, nDist, 10); int tsr = MulScale(9460, nDist, 10); int top, bottom; @@ -175,7 +175,7 @@ void sub_720AC(int, DBloodActor* actor) if (nDist2 < nClosest) { int nAngle = getangle(x2 - x, y2 - y); - int nDeltaAngle = ((nAngle - actor->spr.ang + 1024) & 2047) - 1024; + int nDeltaAngle = ((nAngle - actor->spr.__int_angle + 1024) & 2047) - 1024; if (abs(nDeltaAngle) <= tt.at8) { int tz1 = actor2->int_pos().Z - actor->int_pos().Z; @@ -236,7 +236,7 @@ static void sub_725A4(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { pDudeExtraE->thinkTime = 0; @@ -268,7 +268,7 @@ static void sub_72850(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &tchernobogSearch); aiThinkTarget(actor); } @@ -304,7 +304,7 @@ static void sub_72934(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/aiunicult.cpp b/source/games/blood/src/aiunicult.cpp index 68c1efde8..6bdfd7086 100644 --- a/source/games/blood/src/aiunicult.cpp +++ b/source/games/blood/src/aiunicult.cpp @@ -139,7 +139,7 @@ static bool genDudeAdjustSlope(DBloodActor* actor, int dist, int weaponType, int for (int i = -8191; i < 8192; i += by) { - HitScan(actor, actor->int_pos().Z, bcos(actor->spr.ang), bsin(actor->spr.ang), i, clipMask, dist); + HitScan(actor, actor->int_pos().Z, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), i, clipMask, dist); if (!fStart && actor->GetTarget() == gHitInfo.actor()) fStart = i; else if (fStart && actor->GetTarget() != gHitInfo.actor()) { @@ -198,8 +198,8 @@ void punchCallback(int, DBloodActor* actor) if (target->IsDudeActor()) nZOffset2 = getDudeInfo(target->spr.type)->eyeHeight * target->spr.yrepeat << 2; - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int dz = nZOffset1 - nZOffset2; if (!playGenDudeSound(actor, kGenDudeSndAttackMelee)) @@ -229,7 +229,7 @@ void genDudeAttack1(int, DBloodActor* actor) if (pExtra->weaponType == kGenDudeWeaponHitscan) { - dx = bcos(actor->spr.ang); dy = bsin(actor->spr.ang); dz = actor->dudeSlope; + dx = bcos(actor->spr.__int_angle); dy = bsin(actor->spr.__int_angle); dz = actor->dudeSlope; // dispersal modifiers here in case if non-melee enemy if (!dudeIsMelee(actor)) { @@ -266,7 +266,7 @@ void genDudeAttack1(int, DBloodActor* actor) } else if (pExtra->weaponType == kGenDudeWeaponMissile) { - dx = bcos(actor->spr.ang); dy = bsin(actor->spr.ang); dz = actor->dudeSlope; + dx = bcos(actor->spr.__int_angle); dy = bsin(actor->spr.__int_angle); dz = actor->dudeSlope; // dispersal modifiers here dx += Random3(dispersion); dy += Random3(dispersion); dz += Random3(dispersion >> 1); @@ -426,7 +426,7 @@ static void unicultThinkGoto(DBloodActor* actor) aiChooseDirection(actor, nAngle); // if reached target, change to search mode - if (approxDist(dx, dy) < 5120 && abs(actor->spr.ang - nAngle) < getDudeInfo(actor->spr.type)->periphery) + if (approxDist(dx, dy) < 5120 && abs(actor->spr.__int_angle - nAngle) < getDudeInfo(actor->spr.type)->periphery) { if (spriteIsUnderwater(actor, false)) aiGenDudeNewState(actor, &genDudeSearchW); else aiGenDudeNewState(actor, &genDudeSearchL); @@ -516,7 +516,7 @@ static void unicultThinkChase(DBloodActor* actor) } DUDEINFO* pDudeInfo = getDudeInfo(actor->spr.type); - int losAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int losAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int eyeAboveZ = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (dist > pDudeInfo->seeDist || !cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), @@ -744,9 +744,9 @@ static void unicultThinkChase(DBloodActor* actor) { int objDist = -1; int targetDist = -1; int hit = -1; if (weaponType == kGenDudeWeaponHitscan) - hit = HitScan(actor, actor->int_pos().Z, bcos(actor->spr.ang), bsin(actor->spr.ang), actor->dudeSlope, CLIPMASK1, dist); + hit = HitScan(actor, actor->int_pos().Z, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), actor->dudeSlope, CLIPMASK1, dist); else if (weaponType == kGenDudeWeaponMissile) - hit = HitScan(actor, actor->int_pos().Z, bcos(actor->spr.ang), bsin(actor->spr.ang), actor->dudeSlope, CLIPMASK0, dist); + hit = HitScan(actor, actor->int_pos().Z, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), actor->dudeSlope, CLIPMASK0, dist); if (hit >= 0) { @@ -859,7 +859,7 @@ static void unicultThinkChase(DBloodActor* actor) else if (weaponType == kGenDudeWeaponHitscan && hscn) { if (genDudeAdjustSlope(actor, dist, weaponType)) break; - VectorScan(actor, 0, 0, bcos(actor->spr.ang), bsin(actor->spr.ang), actor->dudeSlope, dist, 1); + VectorScan(actor, 0, 0, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), actor->dudeSlope, dist, 1); if (actor == gHitInfo.actor()) break; bool immune = nnExtIsImmune(hitactor, gVectorData[curWeapon].dmgType); @@ -919,7 +919,7 @@ static void unicultThinkChase(DBloodActor* actor) if (hit == 4 && weaponType == kGenDudeWeaponHitscan && hscn) { bool masked = (pHWall->cstat & CSTAT_WALL_MASKED); - if (masked) VectorScan(actor, 0, 0, bcos(actor->spr.ang), bsin(actor->spr.ang), actor->dudeSlope, dist, 1); + if (masked) VectorScan(actor, 0, 0, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), actor->dudeSlope, dist, 1); if ((actor != gHitInfo.actor()) && (pHWall->type != kWallGib || !masked || pXHWall == NULL || !pXHWall->triggerVector || pXHWall->locked)) { @@ -1114,21 +1114,21 @@ void aiGenDudeMoveForward(DBloodActor* actor) if (pExtra->canFly) { - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; int nAccel = pDudeInfo->frontSpeed << 2; if (abs(nAng) > 341) return; if (actor->GetTarget() == nullptr) - actor->spr.ang = (actor->spr.ang + 256) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + 256) & 2047; int dx = actor->xspr.TargetPos.X - actor->int_pos().X; int dy = actor->xspr.TargetPos.Y - actor->int_pos().Y; int nDist = approxDist(dx, dy); if ((unsigned int)Random(64) < 32 && nDist <= 0x400) return; - int nCos = Cos(actor->spr.ang); - int nSin = Sin(actor->spr.ang); + int nCos = Cos(actor->spr.__int_angle); + int nSin = Sin(actor->spr.__int_angle); int vx = actor->vel.X; int vy = actor->vel.Y; int t1 = DMulScale(vx, nCos, vy, nSin, 30); @@ -1142,15 +1142,15 @@ void aiGenDudeMoveForward(DBloodActor* actor) } else { - int dang = ((kAng180 + actor->xspr.goalAng - actor->spr.ang) & 2047) - kAng180; - actor->spr.ang = ((actor->spr.ang + ClipRange(dang, -maxTurn, maxTurn)) & 2047); + int dang = ((kAng180 + actor->xspr.goalAng - actor->spr.__int_angle) & 2047) - kAng180; + actor->spr.__int_angle = ((actor->spr.__int_angle + ClipRange(dang, -maxTurn, maxTurn)) & 2047); // don't move forward if trying to turn around if (abs(dang) > kAng60) return; - int sin = Sin(actor->spr.ang); - int cos = Cos(actor->spr.ang); + int sin = Sin(actor->spr.__int_angle); + int cos = Cos(actor->spr.__int_angle); int frontSpeed = actor->genDudeExtra.moveSpeed; actor->vel.X += MulScale(cos, frontSpeed, 30); @@ -1174,31 +1174,31 @@ void aiGenDudeChooseDirection(DBloodActor* actor, int a3, int xvel, int yvel) // TO-DO: Take in account if sprite is flip-x, so enemy select correct angle - int vc = ((a3 + 1024 - actor->spr.ang) & 2047) - 1024; - int t1 = DMulScale(xvel, Cos(actor->spr.ang), yvel, Sin(actor->spr.ang), 30); + int vc = ((a3 + 1024 - actor->spr.__int_angle) & 2047) - 1024; + int t1 = DMulScale(xvel, Cos(actor->spr.__int_angle), yvel, Sin(actor->spr.__int_angle), 30); int vsi = ((t1 * 15) >> 12) / 2; int v8 = (vc >= 0) ? 341 : -341; - if (CanMove(actor, actor->GetTarget(), actor->spr.ang + vc, vsi)) - actor->xspr.goalAng = actor->spr.ang + vc; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang + vc / 2, vsi)) - actor->xspr.goalAng = actor->spr.ang + vc / 2; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang - vc / 2, vsi)) - actor->xspr.goalAng = actor->spr.ang - vc / 2; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang + v8, vsi)) - actor->xspr.goalAng = actor->spr.ang + v8; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang, vsi)) - actor->xspr.goalAng = actor->spr.ang; - else if (CanMove(actor, actor->GetTarget(), actor->spr.ang - v8, vsi)) - actor->xspr.goalAng = actor->spr.ang - v8; + if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + vc, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + vc; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + vc / 2, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + vc / 2; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle - vc / 2, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle - vc / 2; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + v8, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + v8; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle; + else if (CanMove(actor, actor->GetTarget(), actor->spr.__int_angle - v8, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle - v8; else - actor->xspr.goalAng = actor->spr.ang + 341; + actor->xspr.goalAng = actor->spr.__int_angle + 341; actor->xspr.dodgeDir = (Chance(0x8000)) ? 1 : -1; - if (!CanMove(actor, actor->GetTarget(), actor->spr.ang + actor->xspr.dodgeDir * 512, 512)) + if (!CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + actor->xspr.dodgeDir * 512, 512)) { actor->xspr.dodgeDir = -actor->xspr.dodgeDir; - if (!CanMove(actor, actor->GetTarget(), actor->spr.ang + actor->xspr.dodgeDir * 512, 512)) + if (!CanMove(actor, actor->GetTarget(), actor->spr.__int_angle + actor->xspr.dodgeDir * 512, 512)) actor->xspr.dodgeDir = 0; } } @@ -1404,7 +1404,7 @@ void removeLeech(DBloodActor* actLeech, bool delSprite) { if (actLeech != nullptr) { - auto effectactor = gFX.fxSpawnActor((FX_ID)52, actLeech->sector(), actLeech->int_pos().X, actLeech->int_pos().Y, actLeech->int_pos().Z, actLeech->spr.ang); + auto effectactor = gFX.fxSpawnActor((FX_ID)52, actLeech->sector(), actLeech->int_pos().X, actLeech->int_pos().Y, actLeech->int_pos().Z, actLeech->spr.__int_angle); if (effectactor != nullptr) { effectactor->spr.cstat = CSTAT_SPRITE_ALIGNMENT_FACING; @@ -1800,10 +1800,10 @@ void dudeLeechOperate(DBloodActor* actor, const EVENT& event) int t = DivScale(nDist, 0x1aaaaa, 12); x += (actTarget->vel.X * t) >> 12; y += (actTarget->vel.Y * t) >> 12; - int angBak = actor->spr.ang; - actor->spr.ang = getangle(x - actor->int_pos().X, y - actor->int_pos().Y); - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int angBak = actor->spr.__int_angle; + actor->spr.__int_angle = getangle(x - actor->int_pos().X, y - actor->int_pos().Y); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int tz = actTarget->int_pos().Z - (actTarget->spr.yrepeat * pDudeInfo->aimHeight) * 4; int dz = DivScale(tz - top - 256, nDist, 10); int nMissileType = kMissileLifeLeechAltNormal + (actor->xspr.data3 ? 1 : 0); @@ -1820,7 +1820,7 @@ void dudeLeechOperate(DBloodActor* actor, const EVENT& event) evPostActor(actor, t2, kCallbackLeechStateTimer); actor->xspr.data3 = ClipLow(actor->xspr.data3 - 1, 0); } - actor->spr.ang = angBak; + actor->spr.__int_angle = angBak; } } @@ -1875,7 +1875,7 @@ bool doExplosion(DBloodActor* actor, int nType) DBloodActor* genDudeSpawn(DBloodActor* source, DBloodActor* actor, int nDist) { auto spawned = actSpawnSprite(actor, kStatDude); - int x, y, z = actor->int_pos().Z, nAngle = actor->spr.ang, nType = kDudeModernCustom; + int x, y, z = actor->int_pos().Z, nAngle = actor->spr.__int_angle, nType = kDudeModernCustom; if (nDist > 0) { @@ -1891,7 +1891,7 @@ DBloodActor* genDudeSpawn(DBloodActor* source, DBloodActor* actor, int nDist) } - spawned->spr.type = nType; spawned->spr.ang = nAngle; + spawned->spr.type = nType; spawned->spr.__int_angle = nAngle; vec3_t pos = { x, y, z }; SetActor(spawned, &pos); spawned->spr.cstat |= CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_BLOOD_BIT1; diff --git a/source/games/blood/src/aizomba.cpp b/source/games/blood/src/aizomba.cpp index da84c0ac5..bcca6ef6a 100644 --- a/source/games/blood/src/aizomba.cpp +++ b/source/games/blood/src/aizomba.cpp @@ -96,7 +96,7 @@ static void zombaThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 921 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 921 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &zombieASearch); aiThinkTarget(actor); } @@ -133,7 +133,7 @@ static void zombaThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { @@ -179,7 +179,7 @@ static void zombaThinkPonder(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { @@ -223,7 +223,7 @@ static void myThinkTarget(DBloodActor* actor) continue; if (!cansee(x, y, z, pSector, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ((pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2), actor->sector())) continue; - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; if (nDist < pDudeInfo->seeDist && abs(nDeltaAngle) <= pDudeInfo->periphery) { aiSetTarget(actor, pPlayer->actor); @@ -266,7 +266,7 @@ static void entryAIdle(DBloodActor* actor) static void entryEStand(DBloodActor* actor) { sfxPlay3DSound(actor, 1100, -1, 0); - actor->spr.ang = getangle(actor->xspr.TargetPos.X - actor->int_pos().X, actor->xspr.TargetPos.Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(actor->xspr.TargetPos.X - actor->int_pos().X, actor->xspr.TargetPos.Y - actor->int_pos().Y); } END_BLD_NS diff --git a/source/games/blood/src/aizombf.cpp b/source/games/blood/src/aizombf.cpp index 9606f52d4..ec91a5e06 100644 --- a/source/games/blood/src/aizombf.cpp +++ b/source/games/blood/src/aizombf.cpp @@ -55,7 +55,7 @@ void zombfHackSeqCallback(int, DBloodActor* actor) int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat); DUDEINFO* pDudeInfoT = getDudeInfo(target->spr.type); int height2 = (pDudeInfoT->eyeHeight * target->spr.yrepeat); - actFireVector(actor, 0, 0, bcos(actor->spr.ang), bsin(actor->spr.ang), height - height2, kVectorCleaver); + actFireVector(actor, 0, 0, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), height - height2, kVectorCleaver); } void PukeSeqCallback(int, DBloodActor* actor) @@ -77,7 +77,7 @@ void PukeSeqCallback(int, DBloodActor* actor) void ThrowSeqCallback(int, DBloodActor* actor) { - actFireMissile(actor, 0, -getDudeInfo(actor->spr.type)->eyeHeight, bcos(actor->spr.ang), bsin(actor->spr.ang), 0, kMissileButcherKnife); + actFireMissile(actor, 0, -getDudeInfo(actor->spr.type)->eyeHeight, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), 0, kMissileButcherKnife); } static void zombfThinkSearch(DBloodActor* actor) @@ -95,7 +95,7 @@ static void zombfThinkGoto(DBloodActor* actor) int nAngle = getangle(dx, dy); int nDist = approxDist(dx, dy); aiChooseDirection(actor, nAngle); - if (nDist < 512 && abs(actor->spr.ang - nAngle) < pDudeInfo->periphery) + if (nDist < 512 && abs(actor->spr.__int_angle - nAngle) < pDudeInfo->periphery) aiNewState(actor, &zombieFSearch); aiThinkTarget(actor); } @@ -128,7 +128,7 @@ static void zombfThinkChase(DBloodActor* actor) int nDist = approxDist(dx, dy); if (nDist <= pDudeInfo->seeDist) { - int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024; + int nDeltaAngle = ((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024; int height = (pDudeInfo->eyeHeight * actor->spr.yrepeat) << 2; if (cansee(target->int_pos().X, target->int_pos().Y, target->int_pos().Z, target->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - height, actor->sector())) { diff --git a/source/games/blood/src/animatesprite.cpp b/source/games/blood/src/animatesprite.cpp index d7b499498..309d81d07 100644 --- a/source/games/blood/src/animatesprite.cpp +++ b/source/games/blood/src/animatesprite.cpp @@ -101,7 +101,7 @@ tspritetype* viewInsertTSprite(tspriteArray& tsprites, sectortype* pSector, int { pos = parentTSprite->pos; pTSprite->ownerActor = parentTSprite->ownerActor; - pTSprite->ang = parentTSprite->ang; + pTSprite->__int_angle = parentTSprite->__int_angle; } pos.X += gCameraAng.fcos() * 2; pos.Y += gCameraAng.fsin() * 2; @@ -272,7 +272,7 @@ static tspritetype* viewAddEffect(tspriteArray& tsprites, int nTSprite, VIEW_EFF } case kViewEffectTrail: { - int nAng = pTSprite->ang; + int nAng = pTSprite->__int_angle; if (pTSprite->cstat & CSTAT_SPRITE_ALIGNMENT_WALL) { nAng = (nAng + 512) & 2047; @@ -451,7 +451,7 @@ static tspritetype* viewAddEffect(tspriteArray& tsprites, int nTSprite, VIEW_EFF pNSprite->pal = 2; pNSprite->xrepeat = pNSprite->yrepeat = 64; pNSprite->cstat |= CSTAT_SPRITE_ONE_SIDE | CSTAT_SPRITE_ALIGNMENT_FLOOR | CSTAT_SPRITE_YFLIP | CSTAT_SPRITE_TRANSLUCENT; - pNSprite->ang = pTSprite->ang; + pNSprite->__int_angle = pTSprite->__int_angle; pNSprite->ownerActor = pTSprite->ownerActor; break; } @@ -469,7 +469,7 @@ static tspritetype* viewAddEffect(tspriteArray& tsprites, int nTSprite, VIEW_EFF pNSprite->pal = 2; pNSprite->xrepeat = pNSprite->yrepeat = nShade; pNSprite->cstat |= CSTAT_SPRITE_ONE_SIDE | CSTAT_SPRITE_ALIGNMENT_FLOOR | CSTAT_SPRITE_TRANSLUCENT; - pNSprite->ang = pTSprite->ang; + pNSprite->__int_angle = pTSprite->__int_angle; pNSprite->ownerActor = pTSprite->ownerActor; break; } @@ -507,17 +507,17 @@ static tspritetype* viewAddEffect(tspriteArray& tsprites, int nTSprite, VIEW_EFF auto& nVoxel = voxelIndex[nTile]; if (cl_showweapon == 2 && r_voxels && nVoxel != -1) { - pNSprite->ang = (gView->actor->spr.ang + 512) & 2047; // always face viewer + pNSprite->__int_angle = (gView->actor->spr.__int_angle + 512) & 2047; // always face viewer pNSprite->cstat |= CSTAT_SPRITE_ALIGNMENT_SLAB; pNSprite->cstat &= ~CSTAT_SPRITE_YFLIP; pNSprite->picnum = nVoxel; if (pPlayer->curWeapon == kWeapLifeLeech) // position lifeleech behind player { - pNSprite->add_int_x(MulScale(128, Cos(gView->actor->spr.ang), 30)); - pNSprite->add_int_y(MulScale(128, Sin(gView->actor->spr.ang), 30)); + pNSprite->add_int_x(MulScale(128, Cos(gView->actor->spr.__int_angle), 30)); + pNSprite->add_int_y(MulScale(128, Sin(gView->actor->spr.__int_angle), 30)); } if ((pPlayer->curWeapon == kWeapLifeLeech) || (pPlayer->curWeapon == kWeapVoodooDoll)) // make lifeleech/voodoo doll always face viewer like sprite - pNSprite->ang = (pNSprite->ang + 512) & 2047; // offset angle 90 degrees + pNSprite->__int_angle = (pNSprite->__int_angle + 512) & 2047; // offset angle 90 degrees } break; } @@ -579,7 +579,7 @@ void viewProcessSprites(tspriteArray& tsprites, int32_t cX, int32_t cY, int32_t if (cl_interpolate && owneractor->interpolated && !(pTSprite->flags & 512)) { pTSprite->pos = owneractor->interpolatedvec3(gInterpolate); - pTSprite->ang = owneractor->interpolatedang(gInterpolate); + pTSprite->__int_angle = owneractor->interpolatedang(gInterpolate); } int nAnim = 0; switch (picanm[nTile].extra & 7) { @@ -610,7 +610,7 @@ void viewProcessSprites(tspriteArray& tsprites, int32_t cX, int32_t cY, int32_t } int dX = cX - pTSprite->int_pos().X; int dY = cY - pTSprite->int_pos().Y; - RotateVector(&dX, &dY, 128 - pTSprite->ang); + RotateVector(&dX, &dY, 128 - pTSprite->__int_angle); nAnim = GetOctant(dX, dY); if (nAnim <= 4) { @@ -632,7 +632,7 @@ void viewProcessSprites(tspriteArray& tsprites, int32_t cX, int32_t cY, int32_t } int dX = cX - pTSprite->int_pos().X; int dY = cY - pTSprite->int_pos().Y; - RotateVector(&dX, &dY, 128 - pTSprite->ang); + RotateVector(&dX, &dY, 128 - pTSprite->__int_angle); nAnim = GetOctant(dX, dY); break; } @@ -669,7 +669,7 @@ void viewProcessSprites(tspriteArray& tsprites, int32_t cX, int32_t cY, int32_t pTSprite->picnum = voxelIndex[pTSprite->picnum]; if ((picanm[nTile].extra & 7) == 7) { - pTSprite->ang = myclock & 2047; + pTSprite->__int_angle = myclock & 2047; } } } @@ -902,8 +902,8 @@ void viewProcessSprites(tspriteArray& tsprites, int32_t cX, int32_t cY, int32_t auto pNTSprite = viewAddEffect(tsprites, nTSprite, kViewEffectShoot); if (pNTSprite) { POSTURE* pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture]; - pNTSprite->add_int_x(MulScale(pPosture->zOffset, Cos(pTSprite->ang), 28)); - pNTSprite->add_int_y(MulScale(pPosture->zOffset, Sin(pTSprite->ang), 28)); + pNTSprite->add_int_x(MulScale(pPosture->zOffset, Cos(pTSprite->__int_angle), 28)); + pNTSprite->add_int_y(MulScale(pPosture->zOffset, Sin(pTSprite->__int_angle), 28)); pNTSprite->set_int_z(pPlayer->actor->int_pos().Z - pPosture->xOffset); } } @@ -979,7 +979,7 @@ void viewProcessSprites(tspriteArray& tsprites, int32_t cX, int32_t cY, int32_t { int dX = cX - pTSprite->int_pos().X; int dY = cY - pTSprite->int_pos().Y; - RotateVector(&dX, &dY, 128 - pTSprite->ang); + RotateVector(&dX, &dY, 128 - pTSprite->__int_angle); nAnim = GetOctant(dX, dY); if (nAnim <= 4) { @@ -996,7 +996,7 @@ void viewProcessSprites(tspriteArray& tsprites, int32_t cX, int32_t cY, int32_t { int dX = cX - pTSprite->int_pos().X; int dY = cY - pTSprite->int_pos().Y; - RotateVector(&dX, &dY, 128 - pTSprite->ang); + RotateVector(&dX, &dY, 128 - pTSprite->__int_angle); nAnim = GetOctant(dX, dY); break; } diff --git a/source/games/blood/src/callback.cpp b/source/games/blood/src/callback.cpp index 19d79d428..6163673fc 100644 --- a/source/games/blood/src/callback.cpp +++ b/source/games/blood/src/callback.cpp @@ -198,7 +198,7 @@ void fxBloodSpurt(DBloodActor* actor, sectortype*) // 6 auto pFX = gFX.fxSpawnActor(FX_27, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (pFX) { - pFX->spr.ang = 0; + pFX->spr.__int_angle = 0; pFX->vel.X = actor->vel.X >> 8; pFX->vel.Y = actor->vel.Y >> 8; pFX->vel.Z = actor->vel.Z >> 8; @@ -237,8 +237,8 @@ void fxDynPuff(DBloodActor* actor, sectortype*) // 8 if (actor->vel.Z) { int nDist = (actor->spr.xrepeat * (tileWidth(actor->spr.picnum) / 2)) >> 2; - int x = actor->int_pos().X + MulScale(nDist, Cos(actor->spr.ang - 512), 30); - int y = actor->int_pos().Y + MulScale(nDist, Sin(actor->spr.ang - 512), 30); + int x = actor->int_pos().X + MulScale(nDist, Cos(actor->spr.__int_angle - 512), 30); + int y = actor->int_pos().Y + MulScale(nDist, Sin(actor->spr.__int_angle - 512), 30); int z = actor->int_pos().Z; auto pFX = gFX.fxSpawnActor(FX_7, actor->sector(), x, y, z, 0); if (pFX) @@ -467,7 +467,7 @@ void fxBloodBits(DBloodActor* actor, sectortype*) // 14 int x = actor->int_pos().X + MulScale(nDist, Cos(nAngle), 28); int y = actor->int_pos().Y + MulScale(nDist, Sin(nAngle), 28); gFX.fxSpawnActor(FX_48, actor->sector(), x, y, actor->int_pos().Z, 0); - if (actor->spr.ang == 1024) + if (actor->spr.__int_angle == 1024) { int nChannel = 28 + (actor->GetIndex() & 2); // this is a little stupid... sfxPlay3DSound(actor, 385, nChannel, 1); @@ -476,7 +476,7 @@ void fxBloodBits(DBloodActor* actor, sectortype*) // 14 { auto pFX = gFX.fxSpawnActor(FX_36, actor->sector(), x, y, floorZ - 64, 0); if (pFX) - pFX->spr.ang = nAngle; + pFX->spr.__int_angle = nAngle; } gFX.remove(actor); } @@ -625,7 +625,7 @@ void fxPodBloodSpray(DBloodActor* actor, sectortype*) // 18 pFX = gFX.fxSpawnActor(FX_54, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (pFX) { - pFX->spr.ang = 0; + pFX->spr.__int_angle = 0; pFX->vel.X = actor->vel.X >> 8; pFX->vel.Y = actor->vel.Y >> 8; pFX->vel.Z = actor->vel.Z >> 8; @@ -653,7 +653,7 @@ void fxPodBloodSplat(DBloodActor* actor, sectortype*) // 19 int nDist = Random(16) << 4; int x = actor->int_pos().X + MulScale(nDist, Cos(nAngle), 28); int y = actor->int_pos().Y + MulScale(nDist, Sin(nAngle), 28); - if (actor->spr.ang == 1024 && actor->spr.type == 53) + if (actor->spr.__int_angle == 1024 && actor->spr.type == 53) { int nChannel = 28 + (actor->GetIndex() & 2); assert(nChannel < 32); @@ -665,13 +665,13 @@ void fxPodBloodSplat(DBloodActor* actor, sectortype*) // 19 if (Chance(0x500) || actor->spr.type == kThingPodGreenBall) pFX = gFX.fxSpawnActor(FX_55, actor->sector(), x, y, floorZ - 64, 0); if (pFX) - pFX->spr.ang = nAngle; + pFX->spr.__int_angle = nAngle; } else { pFX = gFX.fxSpawnActor(FX_32, actor->sector(), x, y, floorZ - 64, 0); if (pFX) - pFX->spr.ang = nAngle; + pFX->spr.__int_angle = nAngle; } gFX.remove(actor); } @@ -709,7 +709,7 @@ void sub_76A08(DBloodActor* actor, DBloodActor* actor2, PLAYER* pPlayer) // ??? int top, bottom; GetActorExtents(actor, &top, &bottom); actor->set_int_pos({ actor2->int_pos().X, actor2->int_pos().Y, actor2->sector()->int_floorz() - (bottom - actor->int_pos().Z) }); - actor->spr.ang = actor2->spr.ang; + actor->spr.__int_angle = actor2->spr.__int_angle; ChangeActorSect(actor, actor2->sector()); sfxPlay3DSound(actor2, 201, -1, 0); actor->vel.X = actor->vel.Y = actor->vel.Z = 0; @@ -746,7 +746,7 @@ void DropVoodooCb(DBloodActor* actor, sectortype*) // unused evPostActor(actor, 0, kCallbackRemove); return; } - actor->spr.ang = getangle(Owner->int_pos().X - actor->int_pos().X, Owner->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(Owner->int_pos().X - actor->int_pos().X, Owner->int_pos().Y - actor->int_pos().Y); if (actor->hasX()) { if (actor->xspr.data1 == 0) diff --git a/source/games/blood/src/db.cpp b/source/games/blood/src/db.cpp index 167c67223..9e4f50de2 100644 --- a/source/games/blood/src/db.cpp +++ b/source/games/blood/src/db.cpp @@ -477,7 +477,7 @@ void dbLoadMap(const char* pPath, int* pX, int* pY, int* pZ, short* pAngle, int* pSprite->picnum = LittleShort(load.picnum); int secno = LittleShort(load.sectnum); pSprite->statnum = LittleShort(load.statnum); - pSprite->ang = LittleShort(load.ang); + pSprite->__int_angle = LittleShort(load.ang); pSprite->intowner = LittleShort(load.owner); pSprite->xvel = LittleShort(load.index); pSprite->yvel = LittleShort(load.yvel); diff --git a/source/games/blood/src/fx.cpp b/source/games/blood/src/fx.cpp index d457509e6..5f094866c 100644 --- a/source/games/blood/src/fx.cpp +++ b/source/games/blood/src/fx.cpp @@ -276,7 +276,7 @@ void fxSpawnBlood(DBloodActor* actor, int) auto bloodactor = gFX.fxSpawnActor(FX_27, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (bloodactor) { - bloodactor->spr.ang = 1024; + bloodactor->spr.__int_angle = 1024; bloodactor->vel.X = Random2(0x6aaaa); bloodactor->vel.Y = Random2(0x6aaaa); bloodactor->vel.Z = -(int)Random(0x10aaaa) - 100; @@ -306,7 +306,7 @@ void fxSpawnPodStuff(DBloodActor* actor, int) spawnactor = gFX.fxSpawnActor(FX_54, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, 0); if (spawnactor) { - spawnactor->spr.ang = 1024; + spawnactor->spr.__int_angle = 1024; spawnactor->vel.X = Random2(0x6aaaa); spawnactor->vel.Y = Random2(0x6aaaa); spawnactor->vel.Z = -(int)Random(0x10aaaa) - 100; @@ -322,17 +322,17 @@ void fxSpawnPodStuff(DBloodActor* actor, int) void fxSpawnEjectingBrass(DBloodActor* actor, int z, int a3, int a4) { - int x = actor->int_pos().X + MulScale(actor->spr.clipdist - 4, Cos(actor->spr.ang), 28); - int y = actor->int_pos().Y + MulScale(actor->spr.clipdist - 4, Sin(actor->spr.ang), 28); - x += MulScale(a3, Cos(actor->spr.ang + 512), 30); - y += MulScale(a3, Sin(actor->spr.ang + 512), 30); + int x = actor->int_pos().X + MulScale(actor->spr.clipdist - 4, Cos(actor->spr.__int_angle), 28); + int y = actor->int_pos().Y + MulScale(actor->spr.clipdist - 4, Sin(actor->spr.__int_angle), 28); + x += MulScale(a3, Cos(actor->spr.__int_angle + 512), 30); + y += MulScale(a3, Sin(actor->spr.__int_angle + 512), 30); auto pBrass = gFX.fxSpawnActor((FX_ID)(FX_37 + Random(3)), actor->sector(), x, y, z, 0); if (pBrass) { if (!VanillaMode()) - pBrass->spr.ang = Random(2047); + pBrass->spr.__int_angle = Random(2047); int nDist = (a4 << 18) / 120 + Random2(((a4 / 4) << 18) / 120); - int nAngle = actor->spr.ang + Random2(56) + 512; + int nAngle = actor->spr.__int_angle + Random2(56) + 512; pBrass->vel.X = MulScale(nDist, Cos(nAngle), 30); pBrass->vel.Y = MulScale(nDist, Sin(nAngle), 30); pBrass->vel.Z = actor->vel.Z - (0x20000 + (Random2(40) << 18) / 120); @@ -347,17 +347,17 @@ void fxSpawnEjectingBrass(DBloodActor* actor, int z, int a3, int a4) void fxSpawnEjectingShell(DBloodActor* actor, int z, int a3, int a4) { - int x = actor->int_pos().X + MulScale(actor->spr.clipdist - 4, Cos(actor->spr.ang), 28); - int y = actor->int_pos().Y + MulScale(actor->spr.clipdist - 4, Sin(actor->spr.ang), 28); - x += MulScale(a3, Cos(actor->spr.ang + 512), 30); - y += MulScale(a3, Sin(actor->spr.ang + 512), 30); + int x = actor->int_pos().X + MulScale(actor->spr.clipdist - 4, Cos(actor->spr.__int_angle), 28); + int y = actor->int_pos().Y + MulScale(actor->spr.clipdist - 4, Sin(actor->spr.__int_angle), 28); + x += MulScale(a3, Cos(actor->spr.__int_angle + 512), 30); + y += MulScale(a3, Sin(actor->spr.__int_angle + 512), 30); auto pShell = gFX.fxSpawnActor((FX_ID)(FX_40 + Random(3)), actor->sector(), x, y, z, 0); if (pShell) { if (!VanillaMode()) - pShell->spr.ang = Random(2047); + pShell->spr.__int_angle = Random(2047); int nDist = (a4 << 18) / 120 + Random2(((a4 / 4) << 18) / 120); - int nAngle = actor->spr.ang + Random2(56) + 512; + int nAngle = actor->spr.__int_angle + Random2(56) + 512; pShell->vel.X = MulScale(nDist, Cos(nAngle), 30); pShell->vel.Y = MulScale(nDist, Sin(nAngle), 30); pShell->vel.Z = actor->vel.Z - (0x20000 + (Random2(20) << 18) / 120); diff --git a/source/games/blood/src/gameutil.cpp b/source/games/blood/src/gameutil.cpp index 4e69e0400..815a4c2e0 100644 --- a/source/games/blood/src/gameutil.cpp +++ b/source/games/blood/src/gameutil.cpp @@ -393,8 +393,8 @@ int HitScan(DBloodActor* actor, int z, int dx, int dy, int dz, unsigned int nMas actor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_HITSCAN; if (nRange) { - hitscangoal.X = x + MulScale(nRange << 4, Cos(actor->spr.ang), 30); - hitscangoal.Y = y + MulScale(nRange << 4, Sin(actor->spr.ang), 30); + hitscangoal.X = x + MulScale(nRange << 4, Cos(actor->spr.__int_angle), 30); + hitscangoal.Y = y + MulScale(nRange << 4, Sin(actor->spr.__int_angle), 30); } else { @@ -435,15 +435,15 @@ int VectorScan(DBloodActor* actor, int nOffset, int nZOffset, int dx, int dy, in int nNum = 256; gHitInfo.clearObj(); - int x1 = actor->int_pos().X + MulScale(nOffset, Cos(actor->spr.ang + 512), 30); - int y1 = actor->int_pos().Y + MulScale(nOffset, Sin(actor->spr.ang + 512), 30); + int x1 = actor->int_pos().X + MulScale(nOffset, Cos(actor->spr.__int_angle + 512), 30); + int y1 = actor->int_pos().Y + MulScale(nOffset, Sin(actor->spr.__int_angle + 512), 30); int z1 = actor->int_pos().Z + nZOffset; auto bakCstat = actor->spr.cstat; actor->spr.cstat &= ~CSTAT_SPRITE_BLOCK_HITSCAN; if (nRange) { - hitscangoal.X = x1 + MulScale(nRange << 4, Cos(actor->spr.ang), 30); - hitscangoal.Y = y1 + MulScale(nRange << 4, Sin(actor->spr.ang), 30); + hitscangoal.X = x1 + MulScale(nRange << 4, Cos(actor->spr.__int_angle), 30); + hitscangoal.Y = y1 + MulScale(nRange << 4, Sin(actor->spr.__int_angle), 30); } else { diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp index d186b34f8..afd41bf15 100644 --- a/source/games/blood/src/nnexts.cpp +++ b/source/games/blood/src/nnexts.cpp @@ -262,7 +262,7 @@ static DBloodActor* nnExtSpawnDude(DBloodActor* sourceactor, DBloodActor* origin if (nType < kDudeBase || nType >= kDudeMax || (pDudeActor = actSpawnSprite(origin, kStatDude)) == NULL) return NULL; - int angle = origin->spr.ang; + int angle = origin->spr.__int_angle; int x, y, z = a4 + origin->int_pos().Z; if (a3 < 0) { @@ -279,7 +279,7 @@ static DBloodActor* nnExtSpawnDude(DBloodActor* sourceactor, DBloodActor* origin SetActor(pDudeActor, &pos); pDudeActor->spr.type = nType; - pDudeActor->spr.ang = angle; + pDudeActor->spr.__int_angle = angle; pDudeActor->spr.cstat |= CSTAT_SPRITE_BLOOD_BIT1 | CSTAT_SPRITE_BLOCK_ALL; pDudeActor->spr.clipdist = getDudeInfo(nType)->clipdist; @@ -1342,8 +1342,8 @@ void nnExtProcessSuperSprites() int nSpeed = approxDist(pact->vel.X, pact->vel.Y); nSpeed = ClipLow(nSpeed - MulScale(nSpeed, mass, 6), 0x9000 - (mass << 3)); - debrisactor->vel.X += MulScale(nSpeed, Cos(pPlayer->actor->spr.ang), 30); - debrisactor->vel.Y += MulScale(nSpeed, Sin(pPlayer->actor->spr.ang), 30); + debrisactor->vel.X += MulScale(nSpeed, Cos(pPlayer->actor->spr.__int_angle), 30); + debrisactor->vel.Y += MulScale(nSpeed, Sin(pPlayer->actor->spr.__int_angle), 30); debrisactor->hit.hit.setSprite(pPlayer->actor); } @@ -1357,21 +1357,21 @@ void nnExtProcessSuperSprites() if (debrisactor->vel.X || debrisactor->vel.Y) debrisactor->xspr.goalAng = getangle(debrisactor->vel.X, debrisactor->vel.Y) & 2047; - int ang = debrisactor->spr.ang & 2047; + int ang = debrisactor->spr.__int_angle & 2047; if ((uwater = spriteIsUnderwater(debrisactor)) == false) evKillActor(debrisactor, kCallbackEnemeyBubble); else if (Chance(0x1000 - mass)) { if (debrisactor->vel.Z > 0x100) debrisBubble(debrisactor); if (ang == debrisactor->xspr.goalAng) { - debrisactor->xspr.goalAng = (debrisactor->spr.ang + Random3(kAng60)) & 2047; + debrisactor->xspr.goalAng = (debrisactor->spr.__int_angle + Random3(kAng60)) & 2047; debrisBubble(debrisactor); } } int angStep = ClipLow(mulscale8(1, ((abs(debrisactor->vel.X) + abs(debrisactor->vel.Y)) >> 5)), (uwater) ? 1 : 0); - if (ang < debrisactor->xspr.goalAng) debrisactor->spr.ang = ClipHigh(ang + angStep, debrisactor->xspr.goalAng); - else if (ang > debrisactor->xspr.goalAng) debrisactor->spr.ang = ClipLow(ang - angStep, debrisactor->xspr.goalAng); + if (ang < debrisactor->xspr.goalAng) debrisactor->spr.__int_angle = ClipHigh(ang + angStep, debrisactor->xspr.goalAng); + else if (ang > debrisactor->xspr.goalAng) debrisactor->spr.__int_angle = ClipLow(ang - angStep, debrisactor->xspr.goalAng); auto pSector = debrisactor->sector(); int cz = getceilzofslopeptr(pSector, debrisactor->int_pos().X, debrisactor->int_pos().Y); @@ -2791,7 +2791,7 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe // set random goal ang for swimming so they start turning if ((flags & kPhysDebrisSwim) && !targetactor->vel.X && !targetactor->vel.Y && !targetactor->vel.Z) - targetactor->xspr.goalAng = (targetactor->spr.ang + Random3(kAng45)) & 2047; + targetactor->xspr.goalAng = (targetactor->spr.__int_angle + Random3(kAng45)) & 2047; if (targetactor->xspr.physAttr & kPhysDebrisVector) targetactor->spr.cstat |= CSTAT_SPRITE_BLOCK_HITSCAN; @@ -3065,9 +3065,9 @@ void useVelocityChanger(DBloodActor* actor, sectortype* sect, DBloodActor* initi } else { - if (toEvnAng) nAng = initiator->spr.ang; - else if (toSrcAng) nAng = actor->spr.ang; - else nAng = pSprite->spr.ang; + if (toEvnAng) nAng = initiator->spr.__int_angle; + else if (toSrcAng) nAng = actor->spr.__int_angle; + else nAng = pSprite->spr.__int_angle; nAng = nAng & 2047; @@ -3281,11 +3281,11 @@ void useTeleportTarget(DBloodActor* sourceactor, DBloodActor* actor) { if (pPlayer) { - pPlayer->angle.settarget(buildang(sourceactor->spr.ang)); + pPlayer->angle.settarget(buildang(sourceactor->spr.__int_angle)); pPlayer->angle.lockinput(); } - else if (isDude) sourceactor->xspr.goalAng = actor->spr.ang = sourceactor->spr.ang; - else actor->spr.ang = sourceactor->spr.ang; + else if (isDude) sourceactor->xspr.goalAng = actor->spr.__int_angle = sourceactor->spr.__int_angle; + else actor->spr.__int_angle = sourceactor->spr.__int_angle; } #endif @@ -3299,7 +3299,7 @@ void useTeleportTarget(DBloodActor* sourceactor, DBloodActor* actor) if (sourceactor->xspr.data3 & kModernTypeFlag2) { int vAng = getVelocityAngle(actor); - RotatePoint(&actor->vel.X, &actor->vel.Y, (sourceactor->spr.ang - vAng) & 2047, actor->int_pos().X, actor->int_pos().Y); + RotatePoint(&actor->vel.X, &actor->vel.Y, (sourceactor->spr.__int_angle - vAng) & 2047, actor->int_pos().X, actor->int_pos().Y); } if (sourceactor->xspr.data3 & kModernTypeFlag4) @@ -3307,7 +3307,7 @@ void useTeleportTarget(DBloodActor* sourceactor, DBloodActor* actor) } if (sourceactor->xspr.data2 == 1) - changeSpriteAngle(actor, sourceactor->spr.ang); + changeSpriteAngle(actor, sourceactor->spr.__int_angle); viewBackupSpriteLoc(actor); @@ -3402,7 +3402,7 @@ void useEffectGen(DBloodActor* sourceactor, DBloodActor* actor) if (sourceactor->spr.flags & kModernTypeFlag4) { - pEffect->spr.ang = sourceactor->spr.ang; + pEffect->spr.__int_angle = sourceactor->spr.__int_angle; } if (pEffect->spr.cstat & CSTAT_SPRITE_ONE_SIDE) @@ -3453,29 +3453,29 @@ void useSectorWindGen(DBloodActor* sourceactor, sectortype* pSector) if ((sourceactor->spr.flags & kModernTypeFlag1)) pXSector->panAlways = pXSector->windAlways = 1; - int ang = sourceactor->spr.ang; + int ang = sourceactor->spr.__int_angle; if (sourceactor->xspr.data4 <= 0) { if ((sourceactor->xspr.data1 & 0x0002)) { - while (sourceactor->spr.ang == ang) - sourceactor->spr.ang = nnExtRandom(-kAng360, kAng360) & 2047; + while (sourceactor->spr.__int_angle == ang) + sourceactor->spr.__int_angle = nnExtRandom(-kAng360, kAng360) & 2047; } } - else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_FORWARD) sourceactor->spr.ang += sourceactor->xspr.data4; - else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) sourceactor->spr.ang -= sourceactor->xspr.data4; + else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_FORWARD) sourceactor->spr.__int_angle += sourceactor->xspr.data4; + else if (sourceactor->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) sourceactor->spr.__int_angle -= sourceactor->xspr.data4; else if (sourceactor->xspr.sysData1 == 0) { if ((ang += sourceactor->xspr.data4) >= kAng180) sourceactor->xspr.sysData1 = 1; - sourceactor->spr.ang = ClipHigh(ang, kAng180); + sourceactor->spr.__int_angle = ClipHigh(ang, kAng180); } else { if ((ang -= sourceactor->xspr.data4) <= -kAng180) sourceactor->xspr.sysData1 = 0; - sourceactor->spr.ang = ClipLow(ang, -kAng180); + sourceactor->spr.__int_angle = ClipLow(ang, -kAng180); } - pXSector->windAng = sourceactor->spr.ang; + pXSector->windAng = sourceactor->spr.__int_angle; if (sourceactor->xspr.data3 > 0 && sourceactor->xspr.data3 < 4) { @@ -3835,7 +3835,7 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector if (sourceactor->spr.flags & kModernTypeFlag4) { - spawned->spr.ang = sourceactor->spr.ang; + spawned->spr.__int_angle = sourceactor->spr.__int_angle; } // should be: the more is seqs, the shorter is timer @@ -4481,7 +4481,7 @@ bool condCheckDude(DBloodActor* aCond, int cmpOp, bool PUSH) var = cansee(objActor->int_pos().X, objActor->int_pos().Y, objActor->int_pos().Z, objActor->sector(), targ->int_pos().X, targ->int_pos().Y, targ->int_pos().Z - eyeAboveZ, targ->sector()); if (cond == 4 && var > 0) { - var = ((1024 + getangle(dx, dy) - objActor->spr.ang) & 2047) - 1024; + var = ((1024 + getangle(dx, dy) - objActor->spr.__int_angle) & 2047) - 1024; var = (abs(var) < ((arg1 <= 0) ? pInfo->periphery : ClipHigh(arg1, 2048))); } break; @@ -4604,7 +4604,7 @@ bool condCheckSprite(DBloodActor* aCond, int cmpOp, bool PUSH) switch (cond) { default: break; - case 0: return condCmp((arg3 == 0) ? (objActor->spr.ang & 2047) : objActor->spr.ang, arg1, arg2, cmpOp); + case 0: return condCmp((arg3 == 0) ? (objActor->spr.__int_angle & 2047) : objActor->spr.__int_angle, arg1, arg2, cmpOp); case 5: return condCmp(objActor->spr.statnum, arg1, arg2, cmpOp); case 6: return ((objActor->spr.flags & kHitagRespawn) || objActor->spr.statnum == kStatRespawn); case 7: return condCmp(spriteGetSlope(objActor), arg1, arg2, cmpOp); @@ -4665,15 +4665,15 @@ bool condCheckSprite(DBloodActor* aCond, int cmpOp, bool PUSH) if ((pPlayer = getPlayerById(objActor->spr.type)) != NULL) var = HitScan(objActor, pPlayer->zWeapon, pPlayer->aim.dx, pPlayer->aim.dy, pPlayer->aim.dz, arg1, arg3 << 1); else if (objActor->IsDudeActor()) - var = HitScan(objActor, objActor->int_pos().Z, bcos(objActor->spr.ang), bsin(objActor->spr.ang), (!objActor->hasX()) ? 0 : objActor->dudeSlope, arg1, arg3 << 1); + var = HitScan(objActor, objActor->int_pos().Z, bcos(objActor->spr.__int_angle), bsin(objActor->spr.__int_angle), (!objActor->hasX()) ? 0 : objActor->dudeSlope, arg1, arg3 << 1); else if ((objActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_MASK) == CSTAT_SPRITE_ALIGNMENT_FLOOR) { var3 = (objActor->spr.cstat & CSTAT_SPRITE_YFLIP) ? 0x10000 << 1 : -(0x10000 << 1); - var = HitScan(objActor, objActor->int_pos().Z, Cos(objActor->spr.ang) >> 16, Sin(objActor->spr.ang) >> 16, var3, arg1, arg3 << 1); + var = HitScan(objActor, objActor->int_pos().Z, Cos(objActor->spr.__int_angle) >> 16, Sin(objActor->spr.__int_angle) >> 16, var3, arg1, arg3 << 1); } else { - var = HitScan(objActor, objActor->int_pos().Z, bcos(objActor->spr.ang), bsin(objActor->spr.ang), 0, arg1, arg3 << 1); + var = HitScan(objActor, objActor->int_pos().Z, bcos(objActor->spr.__int_angle), bsin(objActor->spr.__int_angle), 0, arg1, arg3 << 1); } if (var < 0) @@ -5189,7 +5189,7 @@ bool aiFightDudeCanSeeTarget(DBloodActor* dudeactor, DUDEINFO* pDudeInfo, DBlood if (cansee(dudeactor->int_pos().X, dudeactor->int_pos().Y, dudeactor->int_pos().Z, dudeactor->sector(), targetactor->int_pos().X, targetactor->int_pos().Y, targetactor->int_pos().Z - eyeAboveZ, targetactor->sector())) { /*int nAngle = getangle(dx, dy); - int losAngle = ((1024 + nAngle - dudeactor->spr.ang) & 2047) - 1024; + int losAngle = ((1024 + nAngle - dudeactor->spr.__int_angle) & 2047) - 1024; // is the target visible? if (abs(losAngle) < 2048) // 360 deg periphery here*/ @@ -6099,7 +6099,7 @@ bool modernTypeOperateSprite(DBloodActor* actor, EVENT& event) if (actor->xspr.data4 != 0) break; else if (actor->spr.flags & kModernTypeFlag1) { - pPlayer->angle.settarget(buildang(actor->spr.ang)); + pPlayer->angle.settarget(buildang(actor->spr.__int_angle)); pPlayer->angle.lockinput(); } else if (valueIsBetween(actor->xspr.data2, -kAng360, kAng360)) @@ -6537,8 +6537,8 @@ void useUniMissileGen(DBloodActor* sourceactor, DBloodActor* actor) } else { - dx = bcos(actor->spr.ang); - dy = bsin(actor->spr.ang); + dx = bcos(actor->spr.__int_angle); + dy = bsin(actor->spr.__int_angle); dz = sourceactor->xspr.data3 << 6; // add slope controlling if (dz > 0x10000) dz = 0x10000; else if (dz < -0x10000) dz = -0x10000; @@ -7742,35 +7742,35 @@ void nnExtAiSetDirection(DBloodActor* actor, int a3) { assert(actor->spr.type >= kDudeBase && actor->spr.type < kDudeMax); - int vc = ((a3 + 1024 - actor->spr.ang) & 2047) - 1024; - int t1 = DMulScale(actor->vel.X, Cos(actor->spr.ang), actor->vel.Y, Sin(actor->spr.ang), 30); + int vc = ((a3 + 1024 - actor->spr.__int_angle) & 2047) - 1024; + int t1 = DMulScale(actor->vel.X, Cos(actor->spr.__int_angle), actor->vel.Y, Sin(actor->spr.__int_angle), 30); int vsi = ((t1 * 15) >> 12) / 2; int v8 = 341; if (vc < 0) v8 = -341; - if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang + vc, vsi)) - actor->xspr.goalAng = actor->spr.ang + vc; - else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang + vc / 2, vsi)) - actor->xspr.goalAng = actor->spr.ang + vc / 2; - else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang - vc / 2, vsi)) - actor->xspr.goalAng = actor->spr.ang - vc / 2; - else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang + v8, vsi)) - actor->xspr.goalAng = actor->spr.ang + v8; - else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang, vsi)) - actor->xspr.goalAng = actor->spr.ang; - else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang - v8, vsi)) - actor->xspr.goalAng = actor->spr.ang - v8; + if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle + vc, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + vc; + else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle + vc / 2, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + vc / 2; + else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle - vc / 2, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle - vc / 2; + else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle + v8, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle + v8; + else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle; + else if (nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle - v8, vsi)) + actor->xspr.goalAng = actor->spr.__int_angle - v8; else - actor->xspr.goalAng = actor->spr.ang + 341; + actor->xspr.goalAng = actor->spr.__int_angle + 341; if (actor->xspr.dodgeDir) { - if (!nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang + actor->xspr.dodgeDir * 512, 512)) + if (!nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle + actor->xspr.dodgeDir * 512, 512)) { actor->xspr.dodgeDir = -actor->xspr.dodgeDir; - if (!nnExtCanMove(actor, actor->GetTarget(), actor->spr.ang + actor->xspr.dodgeDir * 512, 512)) + if (!nnExtCanMove(actor, actor->GetTarget(), actor->spr.__int_angle + actor->xspr.dodgeDir * 512, 512)) actor->xspr.dodgeDir = 0; } } @@ -8098,7 +8098,7 @@ void aiPatrolStop(DBloodActor* actor, DBloodActor* targetactor, bool alarm) if (mytarget && mytarget->spr.type == kMarkerPath) { - if (targetactor == nullptr) actor->spr.ang = mytarget->spr.ang & 2047; + if (targetactor == nullptr) actor->spr.__int_angle = mytarget->spr.__int_angle & 2047; actor->SetTarget(nullptr); } @@ -8144,7 +8144,7 @@ void aiPatrolRandGoalAng(DBloodActor* actor) if (Chance(0x8000)) goal = -goal; - actor->xspr.goalAng = (actor->spr.ang + goal) & 2047; + actor->xspr.goalAng = (actor->spr.__int_angle + goal) & 2047; } //--------------------------------------------------------------------------- @@ -8156,8 +8156,8 @@ void aiPatrolRandGoalAng(DBloodActor* actor) void aiPatrolTurn(DBloodActor* actor) { int nTurnRange = (getDudeInfo(actor->spr.type)->angSpeed << 1) >> 4; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; } @@ -8204,8 +8204,8 @@ void aiPatrolMove(DBloodActor* actor) } int nTurnRange = (pDudeInfo->angSpeed << 2) >> 4; - int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.ang) & 2047) - 1024; - actor->spr.ang = (actor->spr.ang + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; + int nAng = ((actor->xspr.goalAng + 1024 - actor->spr.__int_angle) & 2047) - 1024; + actor->spr.__int_angle = (actor->spr.__int_angle + ClipRange(nAng, -nTurnRange, nTurnRange)) & 2047; if (abs(nAng) > goalAng || ((targetactor->xspr.waitTime > 0 || targetactor->xspr.data1 == targetactor->xspr.data2) && aiPatrolMarkerReached(actor))) { @@ -8241,8 +8241,8 @@ void aiPatrolMove(DBloodActor* actor) } frontSpeed = aiPatrolGetVelocity(pDudeInfo->frontSpeed, targetactor->xspr.busyTime); - actor->vel.X += MulScale(frontSpeed, Cos(actor->spr.ang), 30); - actor->vel.Y += MulScale(frontSpeed, Sin(actor->spr.ang), 30); + actor->vel.X += MulScale(frontSpeed, Cos(actor->spr.__int_angle), 30); + actor->vel.Y += MulScale(frontSpeed, Sin(actor->spr.__int_angle), 30); } vel = MulScale(vel, approxDist(dx, dy) << 6, 16); @@ -8411,7 +8411,7 @@ bool readyForCrit(DBloodActor* hunter, DBloodActor* victim) if (approxDist(dx, dy) >= (7000 / ClipLow(gGameOptions.nDifficulty >> 1, 1))) return false; - return (abs(((getangle(dx, dy) + 1024 - victim->spr.ang) & 2047) - 1024) <= kAng45); + return (abs(((getangle(dx, dy) + 1024 - victim->spr.__int_angle) & 2047) - 1024) <= kAng45); } //--------------------------------------------------------------------------- @@ -8600,7 +8600,7 @@ DBloodActor* aiPatrolSearchTargets(DBloodActor* actor) if (seeDist) { int periphery = ClipLow(pDudeInfo->periphery, kAng60); - int nDeltaAngle = abs(((getangle(dx, dy) + 1024 - actor->spr.ang) & 2047) - 1024); + int nDeltaAngle = abs(((getangle(dx, dy) + 1024 - actor->spr.__int_angle) & 2047) - 1024); if ((itCanSee = (!blind && nDist < seeDist && nDeltaAngle < periphery)) == true) { int base = 100 + ((20 * gGameOptions.nDifficulty) - (nDeltaAngle / 5)); @@ -8886,7 +8886,7 @@ void aiPatrolThink(DBloodActor* actor) else if (aiPatrolTurning(actor->xspr.aiState)) { //viewSetSystemMessage("TURN"); - if ((int)actor->spr.ang == (int)actor->xspr.goalAng) + if ((int)actor->spr.__int_angle == (int)actor->xspr.goalAng) { // save imer for waiting stateTimer = actor->xspr.stateTimer; @@ -8917,8 +8917,8 @@ void aiPatrolThink(DBloodActor* actor) // take marker's angle if (!(markeractor->spr.flags & kModernTypeFlag4)) { - actor->xspr.goalAng = ((!(markeractor->spr.flags & kModernTypeFlag8) && actor->xspr.unused2) ? markeractor->spr.ang + kAng180 : markeractor->spr.ang) & 2047; - if ((int)actor->spr.ang != (int)actor->xspr.goalAng) // let the enemy play move animation while turning + actor->xspr.goalAng = ((!(markeractor->spr.flags & kModernTypeFlag8) && actor->xspr.unused2) ? markeractor->spr.__int_angle + kAng180 : markeractor->spr.__int_angle) & 2047; + if ((int)actor->spr.__int_angle != (int)actor->xspr.goalAng) // let the enemy play move animation while turning return; } @@ -9235,7 +9235,7 @@ void callbackUniMissileBurst(DBloodActor* actor, sectortype*) // 22 burstactor->spr.flags = actor->spr.flags; burstactor->spr.xrepeat = actor->spr.xrepeat / 2; burstactor->spr.yrepeat = actor->spr.yrepeat / 2; - burstactor->spr.ang = ((actor->spr.ang + missileInfo[actor->spr.type - kMissileBase].angleOfs) & 2047); + burstactor->spr.__int_angle = ((actor->spr.__int_angle + missileInfo[actor->spr.type - kMissileBase].angleOfs) & 2047); burstactor->SetOwner(actor); actBuildMissile(burstactor, actor); @@ -9334,7 +9334,7 @@ void triggerTouchWall(DBloodActor* actor, walltype* pHWall) void changeSpriteAngle(DBloodActor* pSpr, int nAng) { if (!pSpr->IsDudeActor()) - pSpr->spr.ang = nAng; + pSpr->spr.__int_angle = nAng; else { PLAYER* pPlayer = getPlayerById(pSpr->spr.type); @@ -9342,9 +9342,9 @@ void changeSpriteAngle(DBloodActor* pSpr, int nAng) pPlayer->angle.ang = buildang(nAng); else { - pSpr->spr.ang = nAng; + pSpr->spr.__int_angle = nAng; if (pSpr->hasX()) - pSpr->xspr.goalAng = pSpr->spr.ang; + pSpr->xspr.goalAng = pSpr->spr.__int_angle; } } } diff --git a/source/games/blood/src/player.cpp b/source/games/blood/src/player.cpp index 5e0a0a3f1..fcf61bb6b 100644 --- a/source/games/blood/src/player.cpp +++ b/source/games/blood/src/player.cpp @@ -809,8 +809,8 @@ void playerStart(int nPlayer, int bNewLevel) GetActorExtents(actor, &top, &bottom); actor->add_int_z(-(bottom - actor->int_pos().Z)); actor->spr.pal = 11 + (pPlayer->teamId & 3); - actor->spr.ang = pStartZone->ang; - pPlayer->angle.ang = buildang(actor->spr.ang); + actor->spr.__int_angle = pStartZone->ang; + pPlayer->angle.ang = buildang(actor->spr.__int_angle); actor->spr.type = kDudePlayer1 + nPlayer; actor->spr.clipdist = pDudeInfo->clipdist; actor->spr.flags = 15; @@ -1421,8 +1421,8 @@ int ActionScan(PLAYER* pPlayer, HitInfo* out) { auto plActor = pPlayer->actor; *out = {}; - int x = bcos(plActor->spr.ang); - int y = bsin(plActor->spr.ang); + int x = bcos(plActor->spr.__int_angle); + int y = bsin(plActor->spr.__int_angle); int z = pPlayer->slope; int hit = HitScan(pPlayer->actor, pPlayer->zView, x, y, z, 0x10000040, 128); int hitDist = approxDist(plActor->int_pos().X - gHitInfo.hitpos.X, plActor->int_pos().Y - gHitInfo.hitpos.Y) >> 4; @@ -1504,7 +1504,7 @@ int ActionScan(PLAYER* pPlayer, HitInfo* out) void UpdatePlayerSpriteAngle(PLAYER* pPlayer) { - pPlayer->actor->spr.ang = pPlayer->angle.ang.asbuild(); + pPlayer->actor->spr.__int_angle = pPlayer->angle.ang.asbuild(); } //--------------------------------------------------------------------------- @@ -1518,7 +1518,7 @@ void doslopetilting(PLAYER* pPlayer, double const scaleAdjust = 1) auto plActor = pPlayer->actor; int const florhit = pPlayer->actor->hit.florhit.type; bool const va = plActor->xspr.height < 16 && (florhit == kHitSector || florhit == 0) ? 1 : 0; - pPlayer->horizon.calcviewpitch(plActor->int_pos().vec2, buildang(plActor->spr.ang), va, plActor->sector()->floorstat & CSTAT_SECTOR_SLOPE, plActor->sector(), scaleAdjust); + pPlayer->horizon.calcviewpitch(plActor->int_pos().vec2, buildang(plActor->spr.__int_angle), va, plActor->sector()->floorstat & CSTAT_SECTOR_SLOPE, plActor->sector(), scaleAdjust); } //--------------------------------------------------------------------------- @@ -1593,8 +1593,8 @@ void ProcessInput(PLAYER* pPlayer) } if (pPlayer->posture == 1) { - int x = Cos(actor->spr.ang); - int y = Sin(actor->spr.ang); + int x = Cos(actor->spr.__int_angle); + int y = Sin(actor->spr.__int_angle); if (pInput->fvel) { int forward = pInput->fvel; @@ -1618,8 +1618,8 @@ void ProcessInput(PLAYER* pPlayer) int speed = 0x10000; if (actor->xspr.height > 0) speed -= DivScale(actor->xspr.height, 256, 16); - int x = Cos(actor->spr.ang); - int y = Sin(actor->spr.ang); + int x = Cos(actor->spr.__int_angle); + int y = Sin(actor->spr.__int_angle); if (pInput->fvel) { int forward = pInput->fvel; @@ -1763,9 +1763,9 @@ void ProcessInput(PLAYER* pPlayer) auto spawned = actSpawnDude(pactor, kDudeHand, pPlayer->actor->spr.clipdist << 1, 0); if (spawned) { - spawned->spr.ang = (pPlayer->actor->spr.ang + 1024) & 2047; - int x = bcos(pPlayer->actor->spr.ang); - int y = bsin(pPlayer->actor->spr.ang); + spawned->spr.__int_angle = (pPlayer->actor->spr.__int_angle + 1024) & 2047; + int x = bcos(pPlayer->actor->spr.__int_angle); + int y = bsin(pPlayer->actor->spr.__int_angle); spawned->vel.X = pPlayer->actor->vel.X + MulScale(0x155555, x, 14); spawned->vel.Y = pPlayer->actor->vel.Y + MulScale(0x155555, y, 14); spawned->vel.Z = pPlayer->actor->vel.Z; diff --git a/source/games/blood/src/sfx.cpp b/source/games/blood/src/sfx.cpp index 32b1b2c86..c4dbed39d 100644 --- a/source/games/blood/src/sfx.cpp +++ b/source/games/blood/src/sfx.cpp @@ -118,7 +118,7 @@ void GameInterface::UpdateSounds() if (gMe->actor) { - listener.angle = -gMe->actor->spr.ang * float(BAngRadian); // Build uses a period of 2048. + listener.angle = -gMe->actor->spr.__int_angle * float(BAngRadian); // Build uses a period of 2048. listener.velocity.Zero(); listener.position = GetSoundPos(gMe->actor->int_pos()); listener.valid = true; diff --git a/source/games/blood/src/triggers.cpp b/source/games/blood/src/triggers.cpp index 8e2b7a4d9..14d5ad2e4 100644 --- a/source/games/blood/src/triggers.cpp +++ b/source/games/blood/src/triggers.cpp @@ -276,10 +276,10 @@ void LifeLeechOperate(DBloodActor* actor, EVENT event) int t = DivScale(nDist, 0x1aaaaa, 12); x += (target->vel.X * t) >> 12; y += (target->vel.Y * t) >> 12; - int angBak = actor->spr.ang; - actor->spr.ang = getangle(x - actor->int_pos().X, y - actor->int_pos().Y); - int dx = bcos(actor->spr.ang); - int dy = bsin(actor->spr.ang); + int angBak = actor->spr.__int_angle; + actor->spr.__int_angle = getangle(x - actor->int_pos().X, y - actor->int_pos().Y); + int dx = bcos(actor->spr.__int_angle); + int dy = bsin(actor->spr.__int_angle); int tz = target->int_pos().Z - (target->spr.yrepeat * pDudeInfo->aimHeight) * 4; int dz = DivScale(tz - top - 256, nDist, 10); int nMissileType = kMissileLifeLeechAltNormal + (actor->xspr.data3 ? 1 : 0); @@ -298,7 +298,7 @@ void LifeLeechOperate(DBloodActor* actor, EVENT event) if (!VanillaMode()) // disable collisions so lifeleech doesn't do that weird bobbing missile->spr.cstat &= ~CSTAT_SPRITE_BLOCK_ALL; } - actor->spr.ang = angBak; + actor->spr.__int_angle = angBak; } } } @@ -936,7 +936,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint(&x, &y, ang, a4, a5); viewBackupSpriteLoc(actor); - actor->spr.ang = (actor->spr.ang + v14) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + v14) & 2047; actor->set_int_xy(x + vc - a4, y + v8 - a5); } else if (actor->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) @@ -944,7 +944,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint((int*)&x, (int*)&y, -ang, a4, sprDy); viewBackupSpriteLoc(actor); - actor->spr.ang = (actor->spr.ang - v14) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle - v14) & 2047; actor->set_int_xy(x - vc + a4, y - v8 + a5); } else if (pXSector->Drag) @@ -961,7 +961,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 RotatePoint(&pos.X, &pos.Y, v14, v20, v24); actor->set_int_pos(pos); } - actor->spr.ang = (actor->spr.ang + v14) & 2047; + actor->spr.__int_angle = (actor->spr.__int_angle + v14) & 2047; actor->add_int_pos({ v28, v2c, 0 }); } } @@ -988,7 +988,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint(&x, &y, ang, a4, a5); viewBackupSpriteLoc(ac); - ac->spr.ang = (ac->spr.ang + v14) & 2047; + ac->spr.__int_angle = (ac->spr.__int_angle + v14) & 2047; ac->set_int_xy(x + vc - a4, y + v8 - a5); } else if (ac->spr.cstat & CSTAT_SPRITE_MOVE_REVERSE) @@ -996,7 +996,7 @@ void TranslateSector(sectortype* pSector, int a2, int a3, int a4, int a5, int a6 if (ang) RotatePoint(&x, &y, -ang, a4, sprDy); viewBackupSpriteLoc(ac); - ac->spr.ang = (ac->spr.ang - v14) & 2047; + ac->spr.__int_angle = (ac->spr.__int_angle - v14) & 2047; ac->set_int_xy(x + vc - a4, y + v8 - a5); } } @@ -1388,7 +1388,7 @@ int HDoorBusy(sectortype* pSector, unsigned int a2, DBloodActor* initiator) if (!pXSector->marker0 || !pXSector->marker1) return 0; auto marker0 = pXSector->marker0; auto marker1 = pXSector->marker1; - TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.ang, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.ang, pSector->type == kSectorSlide); + TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.__int_angle, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.__int_angle, pSector->type == kSectorSlide); ZTranslateSector(pSector, pXSector, a2, nWave); pXSector->busy = a2; if (pXSector->command == kCmdLink && pXSector->txID) @@ -1419,7 +1419,7 @@ int RDoorBusy(sectortype* pSector, unsigned int a2, DBloodActor* initiator) nWave = pXSector->busyWaveB; if (!pXSector->marker0) return 0; auto marker0 = pXSector->marker0; - TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, 0, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.ang, pSector->type == kSectorRotate); + TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, 0, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.__int_angle, pSector->type == kSectorRotate); ZTranslateSector(pSector, pXSector, a2, nWave); pXSector->busy = a2; if (pXSector->command == kCmdLink && pXSector->txID) @@ -1448,13 +1448,13 @@ int StepRotateBusy(sectortype* pSector, unsigned int a2, DBloodActor* initiator) int vbp; if (pXSector->busy < a2) { - vbp = pXSector->data + marker0->spr.ang; + vbp = pXSector->data + marker0->spr.__int_angle; int nWave = pXSector->busyWaveA; TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, pXSector->data, marker0->int_pos().X, marker0->int_pos().Y, vbp, 1); } else { - vbp = pXSector->data - marker0->spr.ang; + vbp = pXSector->data - marker0->spr.__int_angle; int nWave = pXSector->busyWaveB; TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, vbp, marker0->int_pos().X, marker0->int_pos().Y, pXSector->data, 1); } @@ -1510,7 +1510,7 @@ int PathBusy(sectortype* pSector, unsigned int a2, DBloodActor* initiator) if (!basepath || !marker0 || !marker1) return 0; int nWave = marker0->xspr.wave; - TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), basepath->int_pos().X, basepath->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.ang, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.ang, 1); + TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), basepath->int_pos().X, basepath->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.__int_angle, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.__int_angle, 1); ZTranslateSector(pSector, pXSector, a2, nWave); pXSector->busy = a2; if ((a2 & 0xffff) == 0) @@ -1636,7 +1636,7 @@ void OperateTeleport(sectortype* pSector) } actor->set_int_xy(destactor->int_pos().X, destactor->int_pos().Y); actor->add_int_z(destactor->sector()->int_floorz() - pSector->int_floorz()); - actor->spr.ang = destactor->spr.ang; + actor->spr.__int_angle = destactor->spr.__int_angle; ChangeActorSect(actor, destactor->sector()); sfxPlay3DSound(destactor, 201, -1, 0); actor->vel.X = actor->vel.Y = actor->vel.Z = 0; @@ -1646,7 +1646,7 @@ void OperateTeleport(sectortype* pSector) { playerResetInertia(pPlayer); pPlayer->zViewVel = pPlayer->zWeaponVel = 0; - pPlayer->angle.settarget(buildang(actor->spr.ang), true); + pPlayer->angle.settarget(buildang(actor->spr.__int_angle), true); } } } @@ -2352,9 +2352,9 @@ void trInit(TArray& actors) { auto marker0 = pXSector->marker0; auto marker1 = pXSector->marker1; - TranslateSector(pSector, 0, -65536, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.ang, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.ang, pSector->type == kSectorSlide); + TranslateSector(pSector, 0, -65536, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.__int_angle, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.__int_angle, pSector->type == kSectorSlide); UpdateBasePoints(pSector); - TranslateSector(pSector, 0, pXSector->busy, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.ang, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.ang, pSector->type == kSectorSlide); + TranslateSector(pSector, 0, pXSector->busy, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.__int_angle, marker1->int_pos().X, marker1->int_pos().Y, marker1->spr.__int_angle, pSector->type == kSectorSlide); ZTranslateSector(pSector, pXSector, pXSector->busy, 1); break; } @@ -2362,9 +2362,9 @@ void trInit(TArray& actors) case kSectorRotate: { auto marker0 = pXSector->marker0; - TranslateSector(pSector, 0, -65536, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, 0, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.ang, pSector->type == kSectorRotate); + TranslateSector(pSector, 0, -65536, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, 0, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.__int_angle, pSector->type == kSectorRotate); UpdateBasePoints(pSector); - TranslateSector(pSector, 0, pXSector->busy, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, 0, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.ang, pSector->type == kSectorRotate); + TranslateSector(pSector, 0, pXSector->busy, marker0->int_pos().X, marker0->int_pos().Y, marker0->int_pos().X, marker0->int_pos().Y, 0, marker0->int_pos().X, marker0->int_pos().Y, marker0->spr.__int_angle, pSector->type == kSectorRotate); ZTranslateSector(pSector, pXSector, pXSector->busy, 1); break; } @@ -2543,7 +2543,7 @@ void FireballTrapSeqCallback(int, DBloodActor* actor) if (actor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_FLOOR) actFireMissile(actor, 0, 0, 0, 0, (actor->spr.cstat & CSTAT_SPRITE_YFLIP) ? 0x4000 : -0x4000, kMissileFireball); else - actFireMissile(actor, 0, 0, bcos(actor->spr.ang), bsin(actor->spr.ang), 0, kMissileFireball); + actFireMissile(actor, 0, 0, bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), 0, kMissileFireball); } @@ -2563,8 +2563,8 @@ void MGunFireSeqCallback(int, DBloodActor* actor) if (actor->xspr.data2 == 0) evPostActor(actor, 1, kCmdOff, actor); } - int dx = bcos(actor->spr.ang) + Random2(1000); - int dy = bsin(actor->spr.ang) + Random2(1000); + int dx = bcos(actor->spr.__int_angle) + Random2(1000); + int dy = bsin(actor->spr.__int_angle) + Random2(1000); int dz = Random2(1000); actFireVector(actor, 0, 0, dx, dy, dz, kVectorBullet); sfxPlay3DSound(actor, 359, -1, 0); diff --git a/source/games/blood/src/view.cpp b/source/games/blood/src/view.cpp index cc81d12d1..ede8a2dc2 100644 --- a/source/games/blood/src/view.cpp +++ b/source/games/blood/src/view.cpp @@ -601,7 +601,7 @@ void renderCrystalBall() int vd4 = pOther->actor->spr.y; int vd0 = pOther->zView; int vcc = pOther->actor->spr.sectnum; - int v50 = pOther->actor->spr.ang; + int v50 = pOther->actor->spr.__int_angle; int v54 = 0; if (pOther->flickerEffect) { @@ -854,7 +854,7 @@ FString GameInterface::GetCoordString() FString out; out.Format("pos= %d, %d, %d - angle = %2.3f", - gMe->actor->int_pos().X, gMe->actor->int_pos().Y, gMe->actor->int_pos().Z, gMe->actor->spr.ang * BAngToDegree); + gMe->actor->int_pos().X, gMe->actor->int_pos().Y, gMe->actor->int_pos().Z, gMe->actor->spr.__int_angle * BAngToDegree); return out; } diff --git a/source/games/blood/src/warp.cpp b/source/games/blood/src/warp.cpp index a96af974e..d522098e8 100644 --- a/source/games/blood/src/warp.cpp +++ b/source/games/blood/src/warp.cpp @@ -87,7 +87,7 @@ void warpInit(TArray& actors) pZone->y = actor->int_pos().Y; pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); - pZone->ang = actor->spr.ang; + pZone->ang = actor->spr.__int_angle; } DeleteSprite(actor); break; @@ -100,7 +100,7 @@ void warpInit(TArray& actors) pZone->y = actor->int_pos().Y; pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); - pZone->ang = actor->spr.ang; + pZone->ang = actor->spr.__int_angle; #ifdef NOONE_EXTENSIONS // fill player spawn position according team of player in TEAMS mode. @@ -111,7 +111,7 @@ void warpInit(TArray& actors) pZone->y = actor->int_pos().Y; pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); - pZone->ang = actor->spr.ang; + pZone->ang = actor->spr.__int_angle; team1++; } @@ -121,7 +121,7 @@ void warpInit(TArray& actors) pZone->y = actor->int_pos().Y; pZone->z = actor->int_pos().Z; pZone->sector = actor->sector(); - pZone->ang = actor->spr.ang; + pZone->ang = actor->spr.__int_angle; team2++; } } diff --git a/source/games/blood/src/weapon.cpp b/source/games/blood/src/weapon.cpp index 716cb84e9..ec7789765 100644 --- a/source/games/blood/src/weapon.cpp +++ b/source/games/blood/src/weapon.cpp @@ -427,8 +427,8 @@ void UpdateAimVector(PLAYER* pPlayer) int y = plActor->int_pos().Y; int z = pPlayer->zWeapon; Aim aim; - aim.dx = bcos(plActor->spr.ang); - aim.dy = bsin(plActor->spr.ang); + aim.dx = bcos(plActor->spr.__int_angle); + aim.dy = bsin(plActor->spr.__int_angle); aim.dz = pPlayer->slope; WEAPONTRACK* pWeaponTrack = &gWeaponTrack[pPlayer->curWeapon]; DBloodActor* targetactor = nullptr; @@ -461,8 +461,8 @@ void UpdateAimVector(PLAYER* pPlayer) y2 += (actor->vel.Y * t) >> 12; z2 += (actor->vel.Z * t) >> 8; } - int lx = x + MulScale(Cos(plActor->spr.ang), nDist, 30); - int ly = y + MulScale(Sin(plActor->spr.ang), nDist, 30); + int lx = x + MulScale(Cos(plActor->spr.__int_angle), nDist, 30); + int ly = y + MulScale(Sin(plActor->spr.__int_angle), nDist, 30); int lz = z + MulScale(pPlayer->slope, nDist, 10); int zRange = MulScale(9460, nDist, 10); int top, bottom; @@ -470,7 +470,7 @@ void UpdateAimVector(PLAYER* pPlayer) if (lz - zRange > bottom || lz + zRange < top) continue; int angle = getangle(x2 - x, y2 - y); - if (abs(((angle - plActor->spr.ang + 1024) & 2047) - 1024) > pWeaponTrack->angleRange) + if (abs(((angle - plActor->spr.__int_angle + 1024) & 2047) - 1024) > pWeaponTrack->angleRange) continue; if (pPlayer->aimTargetsCount < 16 && cansee(x, y, z, plActor->sector(), x2, y2, z2, actor->sector())) pPlayer->aimTargets[pPlayer->aimTargetsCount++] = actor; @@ -511,8 +511,8 @@ void UpdateAimVector(PLAYER* pPlayer) int nDist = approxDist(dx, dy); if (nDist == 0 || nDist > 51200) continue; - int lx = x + MulScale(Cos(plActor->spr.ang), nDist, 30); - int ly = y + MulScale(Sin(plActor->spr.ang), nDist, 30); + int lx = x + MulScale(Cos(plActor->spr.__int_angle), nDist, 30); + int ly = y + MulScale(Sin(plActor->spr.__int_angle), nDist, 30); int lz = z + MulScale(pPlayer->slope, nDist, 10); int zRange = MulScale(9460, nDist, 10); int top, bottom; @@ -520,7 +520,7 @@ void UpdateAimVector(PLAYER* pPlayer) if (lz - zRange > bottom || lz + zRange < top) continue; int angle = getangle(dx, dy); - if (abs(((angle - plActor->spr.ang + 1024) & 2047) - 1024) > pWeaponTrack->thingAngle) + if (abs(((angle - plActor->spr.__int_angle + 1024) & 2047) - 1024) > pWeaponTrack->thingAngle) continue; if (pPlayer->aimTargetsCount < 16 && cansee(x, y, z, plActor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector())) pPlayer->aimTargets[pPlayer->aimTargetsCount++] = actor; @@ -544,13 +544,13 @@ void UpdateAimVector(PLAYER* pPlayer) } Aim aim2; aim2 = aim; - RotateVector((int*)&aim2.dx, (int*)&aim2.dy, -plActor->spr.ang); + RotateVector((int*)&aim2.dx, (int*)&aim2.dy, -plActor->spr.__int_angle); aim2.dz -= pPlayer->slope; pPlayer->relAim.dx = interpolatedvalue(pPlayer->relAim.dx, aim2.dx, pWeaponTrack->aimSpeedHorz); pPlayer->relAim.dy = interpolatedvalue(pPlayer->relAim.dy, aim2.dy, pWeaponTrack->aimSpeedHorz); pPlayer->relAim.dz = interpolatedvalue(pPlayer->relAim.dz, aim2.dz, pWeaponTrack->aimSpeedVert); pPlayer->aim = pPlayer->relAim; - RotateVector((int*)&pPlayer->aim.dx, (int*)&pPlayer->aim.dy, plActor->spr.ang); + RotateVector((int*)&pPlayer->aim.dx, (int*)&pPlayer->aim.dy, plActor->spr.__int_angle); pPlayer->aim.dz += pPlayer->slope; pPlayer->aimTarget = targetactor; } @@ -1970,7 +1970,7 @@ void FireLifeLeech(int nTrigger, PLAYER* pPlayer) if (missileActor) { missileActor->SetTarget(pPlayer->aimTarget); - missileActor->spr.ang = (nTrigger == 2) ? 1024 : 0; + missileActor->spr.__int_angle = (nTrigger == 2) ? 1024 : 0; } if (checkAmmo2(pPlayer, 8, 1)) UseAmmo(pPlayer, 8, 1); diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 5aa146093..7b1156178 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -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->spr.ang), 14), - MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14), actor->spr.zvel, + MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14), + MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14), actor->spr.zvel, cliptype, c) == kHitNone; } @@ -278,8 +278,8 @@ void lotsofstuff(DDukeActor* actor, int n, int spawntype) void ms(DDukeActor* const actor) { //T1,T2 and T3 are used for all the sector moving stuff!!! - actor->spr.pos.X += actor->spr.xvel * buildang(actor->spr.ang).fcos() * inttoworld; - actor->spr.pos.Y += actor->spr.xvel * buildang(actor->spr.ang).fsin() * inttoworld; + actor->spr.pos.X += actor->spr.xvel * buildang(actor->spr.__int_angle).fcos() * inttoworld; + actor->spr.pos.Y += actor->spr.xvel * buildang(actor->spr.__int_angle).fsin() * inttoworld; int j = actor->temp_data[1]; int k = actor->temp_data[2]; @@ -360,7 +360,7 @@ void movedummyplayers(void) { act->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; act->set_int_z(act->sector()->int_ceilingz() + (27 << 8)); - act->spr.ang = ps[p].angle.ang.asbuild(); + act->spr.__int_angle = ps[p].angle.ang.asbuild(); if (act->temp_data[0] == 8) act->temp_data[0] = 0; else act->temp_data[0]++; @@ -400,7 +400,7 @@ void moveplayers(void) { act->spr.pos = p->opos.plusZ(gs.playerheight); act->backupz(); - act->spr.ang = p->angle.oang.asbuild(); + act->spr.__int_angle = p->angle.oang.asbuild(); SetActor(act, act->spr.pos); } else @@ -464,7 +464,7 @@ void moveplayers(void) p->angle.addadjustment(getincanglebam(p->angle.ang, bvectangbam(p->wackedbyactor->spr.pos.X - p->pos.X, p->wackedbyactor->spr.pos.Y - p->pos.Y)) >> 1); } } - act->spr.ang = p->angle.ang.asbuild(); + act->spr.__int_angle = p->angle.ang.asbuild(); } } else @@ -497,13 +497,13 @@ void moveplayers(void) if (act->spr.extra < 8) { act->spr.xvel = 128; - act->spr.ang = p->angle.ang.asbuild(); + act->spr.__int_angle = p->angle.ang.asbuild(); act->spr.extra++; ssp(act, CLIPMASK0); } else { - act->spr.ang = 2047 - (p->angle.ang.asbuild()); + act->spr.__int_angle = 2047 - (p->angle.ang.asbuild()); SetActor(act, act->spr.pos); } } @@ -641,7 +641,7 @@ void movecrane(DDukeActor *actor, int crane) case STAT_ZOMBIEACTOR: case STAT_STANDABLE: case STAT_PLAYER: - actor->spr.ang = getangle(cpt.pole - actor->spr.pos.XY()); + actor->spr.__int_angle = getangle(cpt.pole - actor->spr.pos.XY()); SetActor(a2, DVector3( cpt.pole.X, cpt.pole.Y, a2->spr.pos.Z )); actor->temp_data[0]++; return; @@ -704,7 +704,7 @@ void movecrane(DDukeActor *actor, int crane) actor->SetActiveCrane(true); ps[p].on_crane = actor; S_PlayActorSound(isRR() ? 390 : DUKE_GRUNT, ps[p].GetActor()); - ps[p].angle.settarget(buildang(actor->spr.ang + 1024)); + ps[p].angle.settarget(buildang(actor->spr.__int_angle + 1024)); } else { @@ -750,7 +750,7 @@ void movecrane(DDukeActor *actor, int crane) { if (actor->spr.xvel < 192) actor->spr.xvel += 8; - actor->spr.ang = getangle(cpt.pos.XY() - actor->spr.pos.XY()); + actor->spr.__int_angle = getangle(cpt.pos.XY() - actor->spr.pos.XY()); ssp(actor, CLIPMASK0); if (((actor->spr.pos.X - cpt.pos.X) * (actor->spr.pos.X - cpt.pos.X) + (actor->spr.pos.Y - cpt.pos.Y) * (actor->spr.pos.Y - cpt.pos.Y)) < (8 * 8)) actor->temp_data[0]++; @@ -1120,7 +1120,7 @@ void movetouchplate(DDukeActor* actor, int plate) if (actor->temp_data[5] == 1) return; p = checkcursectnums(actor->sector()); - if (p >= 0 && (ps[p].on_ground || actor->spr.ang == 512)) + if (p >= 0 && (ps[p].on_ground || actor->spr.__int_angle == 512)) { if (actor->temp_data[0] == 0 && !check_activator_motion(actor->spr.lotag)) { @@ -1258,8 +1258,8 @@ void movecanwithsomething(DDukeActor* actor) void bounce(DDukeActor* actor) { - int xvect = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 10); - int yvect = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 10); + int xvect = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 10); + int yvect = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 10); int zvect = actor->spr.zvel; auto sectp = actor->sector(); @@ -1288,7 +1288,7 @@ void bounce(DDukeActor* actor) actor->spr.zvel = zvect; actor->spr.xvel = ksqrt(DMulScale(xvect, xvect, yvect, yvect, 8)); - actor->spr.ang = getangle(xvect, yvect); + actor->spr.__int_angle = getangle(xvect, yvect); } //--------------------------------------------------------------------------- @@ -1317,14 +1317,14 @@ void movetongue(DDukeActor *actor, int tongue, int jaw) return; } - actor->spr.ang = Owner->spr.ang; + actor->spr.__int_angle = Owner->spr.__int_angle; actor->spr.pos = Owner->spr.pos.plusZ(Owner->isPlayer() ? -34 : 0); for (int k = 0; k < actor->temp_data[0]; k++) { auto q = EGS(actor->sector(), - actor->int_pos().X + MulScale(k, bcos(actor->spr.ang), 9), - actor->int_pos().Y + MulScale(k, bsin(actor->spr.ang), 9), + actor->int_pos().X + MulScale(k, bcos(actor->spr.__int_angle), 9), + actor->int_pos().Y + MulScale(k, bsin(actor->spr.__int_angle), 9), actor->int_pos().Z + ((k * Sgn(actor->spr.zvel)) * abs(actor->spr.zvel / 12)), tongue, -40 + (k << 1), 8, 8, 0, 0, 0, actor, 5); if (q) @@ -1335,8 +1335,8 @@ void movetongue(DDukeActor *actor, int tongue, int jaw) } int k = actor->temp_data[0]; // do not depend on the above loop counter. auto spawned = EGS(actor->sector(), - actor->int_pos().X + MulScale(k, bcos(actor->spr.ang), 9), - actor->int_pos().Y + MulScale(k, bsin(actor->spr.ang), 9), + actor->int_pos().X + MulScale(k, bcos(actor->spr.__int_angle), 9), + actor->int_pos().Y + MulScale(k, bsin(actor->spr.__int_angle), 9), actor->int_pos().Z + ((k * Sgn(actor->spr.zvel)) * abs(actor->spr.zvel / 12)), jaw, -40, 32, 32, 0, 0, 0, actor, 5); if (spawned) @@ -1423,7 +1423,7 @@ bool rat(DDukeActor* actor, bool makesound) if (ssp(actor, CLIPMASK0)) { if (makesound && (krand() & 255) == 0) S_PlayActorSound(RATTY, actor); - actor->spr.ang += (krand() & 31) - 15 + bsin(actor->temp_data[0] << 8, -11); + actor->spr.__int_angle += (krand() & 31) - 15 + bsin(actor->temp_data[0] << 8, -11); } else { @@ -1433,11 +1433,11 @@ bool rat(DDukeActor* actor, bool makesound) deletesprite(actor); return false; } - else actor->spr.ang = (krand() & 2047); + else actor->spr.__int_angle = (krand() & 2047); } if (actor->spr.xvel < 128) actor->spr.xvel += 2; - actor->spr.ang += (krand() & 3) - 6; + actor->spr.__int_angle += (krand() & 3) - 6; return true; } @@ -1465,8 +1465,8 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball) auto sect = actor->sector(); auto pos = actor->int_pos(); int j = clipmove(pos, §, - (MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14) * TICSPERFRAME) << 11, - (MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14) * TICSPERFRAME) << 11, + (MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14) * TICSPERFRAME) << 11, + (MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14) * TICSPERFRAME) << 11, 24L, (4 << 8), (4 << 8), CLIPMASK1, coll); actor->set_int_pos(pos); actor->setsector(sect); @@ -1474,7 +1474,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball) if (j == kHitWall) { int k = getangle(coll.hitWall->delta()); - actor->spr.ang = ((k << 1) - actor->spr.ang) & 2047; + actor->spr.__int_angle = ((k << 1) - actor->spr.__int_angle) & 2047; } else if (j == kHitSprite) { @@ -1522,7 +1522,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball) if (actor->spr.pal == 12) actor->spr.xvel = 164; else actor->spr.xvel = 140; - actor->spr.ang = ps[p].angle.ang.asbuild(); + actor->spr.__int_angle = ps[p].angle.ang.asbuild(); ps[p].toggle_key_flag = 2; } } @@ -1530,7 +1530,7 @@ bool queball(DDukeActor *actor, int pocket, int queball, int stripeball) } if (x < 512 && actor->sector() == ps[p].cursector) { - actor->spr.ang = getangle(actor->spr.pos.XY() - ps[p].pos.XY()); + actor->spr.__int_angle = getangle(actor->spr.pos.XY() - ps[p].pos.XY()); actor->spr.xvel = 48; } } @@ -1558,7 +1558,7 @@ void forcesphere(DDukeActor* actor, int forcesphere) { k->spr.cstat = CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_YCENTER; k->spr.clipdist = 64; - k->spr.ang = j; + k->spr.__int_angle = j; k->spr.zvel = bsin(l, -5); k->spr.xvel = bcos(l, -9); k->SetOwner(actor); @@ -1638,7 +1638,7 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p actor->temp_data[2]++; if ((actor->temp_data[2] & 3) == 0) spawn(actor, explosion); getglobalz(actor); - actor->spr.ang += 96; + actor->spr.__int_angle += 96; actor->spr.xvel = 128; int j = ssp(actor, CLIPMASK0); if (j != 1 || actor->spr.pos.Z > actor->floorz) @@ -1670,11 +1670,11 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p actor->temp_data[2]++; if ((actor->temp_data[2] & 15) == 0) { - a = actor->spr.ang; - actor->spr.ang = actor->tempang; + a = actor->spr.__int_angle; + actor->spr.__int_angle = actor->tempang; if (attacksnd >= 0) S_PlayActorSound(attacksnd, actor); fi.shoot(actor, firelaser); - actor->spr.ang = a; + actor->spr.__int_angle = a; } if (actor->temp_data[2] > (26 * 3) || !cansee(actor->spr.pos.plusZ(-16), actor->sector(), ps[p].pos, ps[p].cursector)) { @@ -1710,7 +1710,7 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p fi.shoot(actor, firelaser); } } - actor->spr.ang += getincangle(actor->spr.ang, getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 2; + actor->spr.__int_angle += getincangle(actor->spr.__int_angle, getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 2; } if (actor->temp_data[0] != 2 && actor->temp_data[0] != 3 && Owner) @@ -1718,7 +1718,7 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p int l = ldist(Owner, actor); if (l <= 1524) { - a = actor->spr.ang; + a = actor->spr.__int_angle; actor->spr.xvel >>= 1; } else a = getangle(Owner->spr.pos.XY() - actor->spr.pos.XY()); @@ -1745,7 +1745,7 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p { actor->temp_data[0] = 2 + (krand() & 2); actor->temp_data[2] = 0; - actor->tempang = actor->spr.ang; + actor->tempang = actor->spr.__int_angle; } } @@ -1769,8 +1769,8 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p actor->SetOwner(NewOwner); } - actor->temp_data[3] = getincangle(actor->spr.ang, a); - actor->spr.ang += actor->temp_data[3] >> 3; + actor->temp_data[3] = getincangle(actor->spr.__int_angle, a); + actor->spr.__int_angle += actor->temp_data[3] >> 3; if (actor->spr.pos.Z < Owner->spr.pos.Z - 2) actor->spr.pos.Z += 2; @@ -1975,28 +1975,28 @@ void camera(DDukeActor *actor) if (setupflag != 1) { increment = 8; - minimum = actor->spr.ang - actor->spr.hitag - increment; - maximum = actor->spr.ang + actor->spr.hitag - increment; + minimum = actor->spr.__int_angle - actor->spr.hitag - increment; + maximum = actor->spr.__int_angle + actor->spr.hitag - increment; setupflag = 1; } // update angle accordingly. - if (actor->spr.ang == minimum || actor->spr.ang == maximum) + if (actor->spr.__int_angle == minimum || actor->spr.__int_angle == maximum) { increment = -increment; - actor->spr.ang += increment; + actor->spr.__int_angle += increment; } - else if (actor->spr.ang + increment < minimum) + else if (actor->spr.__int_angle + increment < minimum) { - actor->spr.ang = minimum; + actor->spr.__int_angle = minimum; } - else if (actor->spr.ang + increment > maximum) + else if (actor->spr.__int_angle + increment > maximum) { - actor->spr.ang = maximum; + actor->spr.__int_angle = maximum; } else { - actor->spr.ang += increment; + actor->spr.__int_angle += increment; } } } @@ -2038,7 +2038,7 @@ void forcesphereexplode(DDukeActor *actor) } actor->spr.pos = Owner->spr.pos;; - actor->spr.ang += Owner->temp_data[0]; + actor->spr.__int_angle += Owner->temp_data[0]; if (l > 64) l = 64; else if (l < 1) l = 1; @@ -2239,7 +2239,7 @@ bool jibs(DDukeActor *actor, int JIBS6, bool timeout, bool callsetsprite, bool f else actor->spr.zvel += gs.gravity - 50; } - actor->add_int_pos({ MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14), MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14), 0 }); + actor->add_int_pos({ MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14), MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14), 0 }); actor->add_int_z(actor->spr.zvel); if (floorcheck && actor->spr.pos.Z >= actor->sector()->floorz) @@ -2514,7 +2514,7 @@ void scrap(DDukeActor* actor, int SCRAP1, int SCRAP6) } } if (actor->spr.zvel < 4096) actor->spr.zvel += gs.gravity - 50; - actor->add_int_pos({ MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14), MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14), actor->spr.zvel }); + actor->add_int_pos({ MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14), MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14), actor->spr.zvel }); } else { @@ -2649,7 +2649,7 @@ void handle_se00(DDukeActor* actor) } } - actor->spr.ang += (l * q); + actor->spr.__int_angle += (l * q); actor->temp_data[2] += (l * q); } else @@ -2661,14 +2661,14 @@ void handle_se00(DDukeActor* actor) return; } - if (Owner->spr.ang > 1024) + if (Owner->spr.__int_angle > 1024) l = -1; else l = 1; if (actor->temp_data[3] == 0) actor->temp_data[3] = ldist(actor, Owner); actor->spr.xvel = actor->temp_data[3]; actor->copyXY(Owner); - actor->spr.ang += (l * q); + actor->spr.__int_angle += (l * q); actor->temp_data[2] += (l * q); } @@ -2708,8 +2708,8 @@ void handle_se00(DDukeActor* actor) continue; } - act2->spr.ang += (l * q); - act2->spr.ang &= 2047; + act2->spr.__int_angle += (l * q); + act2->spr.__int_angle &= 2047; act2->add_int_z(zchange); @@ -2792,10 +2792,10 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6) if (actor->spr.xvel) { int x = getangle(Owner->spr.pos.XY() - actor->spr.pos.XY()); - int q = getincangle(actor->spr.ang, x) >> 3; + int q = getincangle(actor->spr.__int_angle, x) >> 3; actor->temp_data[2] += q; - actor->spr.ang += q; + actor->spr.__int_angle += q; bool statstate = (!checkstat || ((sc->floorstat & CSTAT_SECTOR_SKY) == 0 && (sc->ceilingstat & CSTAT_SECTOR_SKY) == 0)); if (actor->spr.xvel == sc->extra) @@ -2810,10 +2810,10 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6) int p = findplayer(actor, &x); if (x < 20480) { - j = actor->spr.ang; - actor->spr.ang = getangle(actor->spr.pos.XY() - ps[p].pos.XY()); + j = actor->spr.__int_angle; + actor->spr.__int_angle = getangle(actor->spr.pos.XY() - ps[p].pos.XY()); fi.shoot(actor, RPG); - actor->spr.ang = j; + actor->spr.__int_angle = j; } } } @@ -2843,8 +2843,8 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6) } } - int m = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - x = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + int m = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + x = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); double mm = m * inttoworld; double xx = x * inttoworld; @@ -2897,7 +2897,7 @@ void handle_se14(DDukeActor* actor, bool checkstat, int RPG, int JIBS6) pos.Y += x; a2->set_int_pos(pos); - a2->spr.ang += q; + a2->spr.__int_angle += q; if (numplayers > 1) { @@ -2999,7 +2999,7 @@ void handle_se30(DDukeActor *actor, int JIBS6) actor->spr.xvel = 0; operateactivators(actor->spr.hitag + (short)actor->temp_data[3], -1); actor->SetOwner(nullptr); - actor->spr.ang += 1024; + actor->spr.__int_angle += 1024; actor->temp_data[4] = 0; fi.operateforcefields(actor, actor->spr.hitag); } @@ -3008,8 +3008,8 @@ void handle_se30(DDukeActor *actor, int JIBS6) if (actor->spr.xvel) { - int l = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - int x = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + int l = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + int x = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); if ((sc->int_floorz() - sc->int_ceilingz()) < (108 << 8)) if (ud.clipping == 0) @@ -3159,8 +3159,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->spr.ang), 14); - int x = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + int m = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + int x = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); for (int p = connecthead; p >= 0; p = connectpoint2[p]) @@ -3316,10 +3316,10 @@ void handle_se05(DDukeActor* actor, int FIRELASER) int x, p = findplayer(actor, &x); if (x < 8192) { - j = actor->spr.ang; - actor->spr.ang = getangle(actor->spr.pos.XY() - ps[p].pos); + j = actor->spr.__int_angle; + actor->spr.__int_angle = getangle(actor->spr.pos.XY() - ps[p].pos); fi.shoot(actor, FIRELASER); - actor->spr.ang = j; + actor->spr.__int_angle = j; } auto Owner = actor->GetOwner(); @@ -3350,9 +3350,9 @@ void handle_se05(DDukeActor* actor, int FIRELASER) if (ldist(Owner, actor) < 1024) { - auto ta = actor->spr.ang; - actor->spr.ang = getangle(ps[p].pos.XY() - actor->spr.pos.XY()); - actor->spr.ang = ta; + auto ta = actor->spr.__int_angle; + actor->spr.__int_angle = getangle(ps[p].pos.XY() - actor->spr.pos.XY()); + actor->spr.__int_angle = ta; actor->SetOwner(nullptr); return; @@ -3360,8 +3360,8 @@ void handle_se05(DDukeActor* actor, int FIRELASER) else actor->spr.xvel = 256; x = getangle(Owner->spr.pos.XY() - actor->spr.pos.XY()); - int q = getincangle(actor->spr.ang, x) >> 3; - actor->spr.ang += q; + int q = getincangle(actor->spr.__int_angle, x) >> 3; + actor->spr.__int_angle += q; if (rnd(32)) { @@ -3667,7 +3667,7 @@ void handle_se13(DDukeActor* actor) { int j = (actor->spr.yvel << 5) | 1; - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { if (actor->spriteextra) { @@ -3699,7 +3699,7 @@ void handle_se13(DDukeActor* actor) actor->temp_data[3]++; sc->ceilingstat ^= CSTAT_SECTOR_SKY; - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { for (auto& wal : wallsofsector(sc)) wal.shade = actor->spr.shade; @@ -3722,7 +3722,7 @@ void handle_se13(DDukeActor* actor) } - if (actor->temp_data[2] == 4 && actor->spr.ang != 512) + if (actor->temp_data[2] == 4 && actor->spr.__int_angle != 512) for (int x = 0; x < 7; x++) RANDOMSCRAP(actor); } @@ -3931,7 +3931,7 @@ void handle_se18(DDukeActor *actor, bool morecheck) double extra = sc->extra * zmaptoworld; if (actor->spr.pal) { - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { sc->add_int_ceilingz(-sc->extra); if (sc->int_ceilingz() <= actor->temp_data[1]) @@ -3968,7 +3968,7 @@ void handle_se18(DDukeActor *actor, bool morecheck) } else { - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { sc->add_int_ceilingz(sc->extra); if (sc->int_ceilingz() >= actor->int_pos().Z) @@ -4141,8 +4141,8 @@ void handle_se20(DDukeActor* actor) if (actor->spr.xvel) //Moving { - int x = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - int l = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + int x = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + int l = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); actor->temp_data[3] += actor->spr.xvel; @@ -4202,7 +4202,7 @@ void handle_se21(DDukeActor* actor) if (actor->temp_data[0] == 0) return; - if (actor->spr.ang == 1536) + if (actor->spr.__int_angle == 1536) lp = sc->int_ceilingz(); else lp = sc->int_floorz(); @@ -4223,7 +4223,7 @@ void handle_se21(DDukeActor* actor) deletesprite(actor); } - if (actor->spr.ang == 1536) + if (actor->spr.__int_angle == 1536) sc->set_int_ceilingz(lp); else sc->set_int_floorz(lp); @@ -4261,8 +4261,8 @@ void handle_se26(DDukeActor* actor) int x, l; actor->spr.xvel = 32; - l = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - x = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + l = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + x = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); actor->spr.shade++; if (actor->spr.shade > 7) @@ -4309,7 +4309,7 @@ void handle_se27(DDukeActor* actor) if (ud.recstat == 0) return; - actor->tempang = actor->spr.ang; + actor->tempang = actor->spr.__int_angle; p = findplayer(actor, &x); if (ps[p].GetActor()->spr.extra > 0 && myconnectindex == screenpeek) @@ -4327,7 +4327,7 @@ void handle_se27(DDukeActor* actor) { ud.cameraactor = actor; actor->temp_data[0] = 999; - actor->spr.ang += getincangle(actor->spr.ang, getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 3; + actor->spr.__int_angle += getincangle(actor->spr.__int_angle, getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 3; actor->spr.yvel = 100 + int((actor->spr.pos.Z - ps[p].pos.Z) * (256. / 257.)); } @@ -4342,7 +4342,7 @@ void handle_se27(DDukeActor* actor) } else { - actor->spr.ang = getangle(ps[p].pos.XY() - actor->spr.pos.XY()); + actor->spr.__int_angle = getangle(ps[p].pos.XY() - actor->spr.pos.XY()); if (actor->temp_data[0] == 999) { @@ -4366,8 +4366,8 @@ void handle_se24(DDukeActor *actor, bool scroll, int shift) { if (actor->temp_data[4]) return; - int x = MulScale(actor->spr.yvel, bcos(actor->spr.ang), 18); - int y = MulScale(actor->spr.yvel, bsin(actor->spr.ang), 18); + int x = MulScale(actor->spr.yvel, bcos(actor->spr.__int_angle), 18); + int y = MulScale(actor->spr.yvel, bsin(actor->spr.__int_angle), 18); DukeSectIterator it(actor->sector()); while (auto a2 = it.Next()) @@ -4472,7 +4472,7 @@ void handle_se32(DDukeActor *actor) if (actor->temp_data[2] == 1) // Retract { - if (actor->spr.ang != 1536) + if (actor->spr.__int_angle != 1536) { if (abs(sc->int_ceilingz() - actor->int_pos().Z) < (actor->spr.yvel << 1)) { @@ -4497,7 +4497,7 @@ void handle_se32(DDukeActor *actor) return; } - if ((actor->spr.ang & 2047) == 1536) + if ((actor->spr.__int_angle & 2047) == 1536) { if (abs(sc->int_ceilingz() - actor->int_pos().Z) < (actor->spr.yvel << 1)) { @@ -4535,7 +4535,7 @@ void handle_se35(DDukeActor *actor, int SMALLSMOKE, int EXPLOSION2) if (sc->int_ceilingz() > actor->int_pos().Z) for (int j = 0; j < 8; j++) { - actor->spr.ang += krand() & 511; + actor->spr.__int_angle += krand() & 511; auto spawned = spawn(actor, SMALLSMOKE); if (spawned) { @@ -4631,7 +4631,7 @@ void handle_se130(DDukeActor *actor, int countmax, int EXPLOSION2) { k->spr.xrepeat = k->spr.yrepeat = 2 + (krand() & 7); k->set_int_z(sc->int_floorz() - (krand() % x)); - k->spr.ang += 256 - (krand() % 511); + k->spr.__int_angle += 256 - (krand() % 511); k->spr.xvel = krand() & 127; ssp(k, CLIPMASK0); } @@ -4660,7 +4660,7 @@ void handle_se31(DDukeActor* actor, bool choosedir) if (actor->temp_data[2] == 1) // Retract { - if (actor->spr.ang != 1536) + if (actor->spr.__int_angle != 1536) { if (abs(sec->int_floorz() - actor->int_pos().Z) < actor->spr.yvel) { @@ -4721,7 +4721,7 @@ void handle_se31(DDukeActor* actor, bool choosedir) return; } - if ((actor->spr.ang & 2047) == 1536) + if ((actor->spr.__int_angle & 2047) == 1536) { if (abs(actor->int_pos().Z - sec->int_floorz()) < actor->spr.yvel) { @@ -4906,16 +4906,16 @@ int dodge(DDukeActor* actor) bx = ac->int_pos().X - mx; by = ac->int_pos().Y - my; - bxvect = bcos(ac->spr.ang); - byvect = bsin(ac->spr.ang); + bxvect = bcos(ac->spr.__int_angle); + byvect = bsin(ac->spr.__int_angle); - if (bcos(actor->spr.ang) * bx + bsin(actor->spr.ang) * by >= 0) + if (bcos(actor->spr.__int_angle) * bx + bsin(actor->spr.__int_angle) * by >= 0) if (bxvect * bx + byvect * by < 0) { d = bxvect * by - byvect * bx; if (abs(d) < 65536 * 64) { - actor->spr.ang -= 512 + (krand() & 1024); + actor->spr.__int_angle -= 512 + (krand() & 1024); return 1; } } @@ -4939,9 +4939,9 @@ int furthestangle(DDukeActor *actor, int angs) angincs = 2048 / angs; if (!actor->isPlayer()) - if ((actor->temp_data[0] & 63) > 2) return(actor->spr.ang + 1024); + if ((actor->temp_data[0] & 63) > 2) return(actor->spr.__int_angle + 1024); - for (j = actor->spr.ang; j < (2048 + actor->spr.ang); j += angincs) + for (j = actor->spr.__int_angle; j < (2048 + actor->spr.__int_angle); j += angincs) { hitscan({ actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - (8 << 8) }, actor->sector(), { bcos(j), bsin(j), 0 }, hit, CLIPMASK1); @@ -4974,7 +4974,7 @@ int furthestcanseepoint(DDukeActor *actor, DDukeActor* tosee, int* dax, int* day angincs = 2048 / 2; else angincs = 2048 / (1 + (krand() & 1)); - for (j = tosee->spr.ang; j < (2048 + tosee->spr.ang); j += (angincs - (krand() & 511))) + for (j = tosee->spr.__int_angle; j < (2048 + tosee->spr.__int_angle); j += (angincs - (krand() & 511))) { hitscan({ tosee->int_pos().X, tosee->int_pos().Y, tosee->int_pos().Z - (16 << 8) }, tosee->sector(), { bcos(j), bsin(j), 16384 - (krand() & 32767) }, hit, CLIPMASK1); @@ -5007,13 +5007,13 @@ void alterang(int ang, DDukeActor* actor, int playernum) ticselapsed = (actor->temp_data[0]) & 31; - aang = actor->spr.ang; + aang = actor->spr.__int_angle; actor->spr.xvel += (*moveptr - actor->spr.xvel) / 5; if (actor->spr.zvel < 648) actor->spr.zvel += ((*(moveptr + 1) << 4) - actor->spr.zvel) / 5; if (isRRRA() && (ang & windang)) - actor->spr.ang = WindDir; + actor->spr.__int_angle = WindDir; else if (ang & seekplayer) { DDukeActor* holoduke = !isRR()? ps[playernum].holoduke_on.Get() : nullptr; @@ -5039,18 +5039,18 @@ void alterang(int ang, DDukeActor* actor, int playernum) if (abs(angdif) < 256) { j = 128 - (krand() & 256); - actor->spr.ang += j; + actor->spr.__int_angle += j; if (hits(actor) < 844) - actor->spr.ang -= j; + actor->spr.__int_angle -= j; } } else if (ticselapsed > 18 && ticselapsed < 26) // choose { - if (abs(angdif >> 2) < 128) actor->spr.ang = goalang; - else actor->spr.ang += angdif >> 2; + if (abs(angdif >> 2) < 128) actor->spr.__int_angle = goalang; + else actor->spr.__int_angle += angdif >> 2; } } - else actor->spr.ang = goalang; + else actor->spr.__int_angle = goalang; } if (ticselapsed < 1) @@ -5059,14 +5059,14 @@ void alterang(int ang, DDukeActor* actor, int playernum) if (ang & furthestdir) { goalang = furthestangle(actor, j); - actor->spr.ang = goalang; + actor->spr.__int_angle = goalang; actor->SetOwner(ps[playernum].GetActor()); } if (ang & fleeenemy) { goalang = furthestangle(actor, j); - actor->spr.ang = goalang; // += angdif; // = getincangle(aang,goalang)>>1; + actor->spr.__int_angle = goalang; // += angdif; // = getincangle(aang,goalang)>>1; } } } @@ -5244,7 +5244,7 @@ void movefta(void) // SFLAG_MOVEFTA_CHECKSEE is set for all actors in Duke. if (act->spr.pal == 33 || actorflag(act, SFLAG_MOVEFTA_CHECKSEE) || (actorflag(act, SFLAG_MOVEFTA_CHECKSEEWITHPAL8) && act->spr.pal == 8) || - (bcos(act->spr.ang) * (px - sx) + bsin(act->spr.ang) * (py - sy) >= 0)) + (bcos(act->spr.__int_angle) * (px - sx) + bsin(act->spr.__int_angle) * (py - sy) >= 0)) { double r1 = zrand(32); double r2 = zrand(52); diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index e74e36d71..f3fd59e25 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -478,14 +478,14 @@ int movesprite_ex_d(DDukeActor* actor, int xchange, int ychange, int zchange, un ) { if (dasectp && dasectp->lotag == ST_1_ABOVE_WATER && actor->spr.picnum == LIZMAN) - actor->spr.ang = (krand()&2047); + actor->spr.__int_angle = (krand()&2047); else if ((actor->temp_data[0]&3) == 1 && actor->spr.picnum != COMMANDER) - actor->spr.ang = (krand()&2047); + actor->spr.__int_angle = (krand()&2047); SetActor(actor,actor->int_pos()); if (dasectp == nullptr) dasectp = §or[0]; return result.setSector(dasectp); } - if ((result.type == kHitWall || result.type == kHitSprite) && (actor->cgg == 0)) actor->spr.ang += 768; + if ((result.type == kHitWall || result.type == kHitSprite) && (actor->cgg == 0)) actor->spr.__int_angle += 768; } else { @@ -710,7 +710,7 @@ void movefallers_d(void) if (act->temp_data[0] == 0) { act->spr.pos.Z -= 16; - act->temp_data[1] = act->spr.ang; + act->temp_data[1] = act->spr.__int_angle; x = act->spr.extra; j = fi.ifhitbyweapon(act); if (j >= 0) @@ -739,7 +739,7 @@ void movefallers_d(void) act->spr.extra = x; } } - act->spr.ang = act->temp_data[1]; + act->spr.__int_angle = act->temp_data[1]; act->add_int_z(+(16 << 8)); } else if (act->temp_data[0] == 1) @@ -831,7 +831,7 @@ static void movetripbomb(DDukeActor *actor) auto spawned = spawn(actor, EXPLOSION2); if (spawned) { - spawned->spr.ang = actor->spr.ang; + spawned->spr.__int_angle = actor->spr.__int_angle; spawned->spr.xvel = 348; ssp(spawned, CLIPMASK0); } @@ -850,14 +850,14 @@ static void movetripbomb(DDukeActor *actor) { x = actor->spr.extra; actor->spr.extra = 1; - int16_t l = actor->spr.ang; + int16_t l = actor->spr.__int_angle; j = fi.ifhitbyweapon(actor); if (j >= 0) { actor->temp_data[2] = 16; } actor->spr.extra = x; - actor->spr.ang = l; + actor->spr.__int_angle = l; } if (actor->temp_data[0] < 32) @@ -868,8 +868,8 @@ static void movetripbomb(DDukeActor *actor) } if (actor->temp_data[0] == 32) { - int16_t l = actor->spr.ang; - actor->spr.ang = actor->temp_data[5]; + int16_t l = actor->spr.__int_angle; + actor->spr.__int_angle = actor->temp_data[5]; actor->temp_data[3] = actor->int_pos().X; actor->temp_data[4] = actor->int_pos().Y; actor->add_int_pos({ bcos(actor->temp_data[5], -9), bsin(actor->temp_data[5], -9), -(3 << 8) }); @@ -886,7 +886,7 @@ static void movetripbomb(DDukeActor *actor) actor->ovel.X = x; - actor->spr.ang = l; + actor->spr.__int_angle = l; if (lTripBombControl & TRIPBOMB_TRIPWIRE) { @@ -968,7 +968,7 @@ static void movecrack(DDukeActor* actor) if (actor->spr.hitag > 0) { actor->temp_data[0] = actor->spr.cstat; - actor->temp_data[1] = actor->spr.ang; + actor->temp_data[1] = actor->spr.__int_angle; int j = fi.ifhitbyweapon(actor); if (gs.actorinfo[j].flags2 & SFLAG2_EXPLOSIVE) { @@ -984,7 +984,7 @@ static void movecrack(DDukeActor* actor) else { actor->spr.cstat = ESpriteFlags::FromInt(actor->temp_data[0]); - actor->spr.ang = actor->temp_data[1]; + actor->spr.__int_angle = actor->temp_data[1]; actor->spr.extra = 0; } } @@ -1417,7 +1417,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t &oldpos) (wal->overpicnum == MIRROR || wal->picnum == MIRROR)) { int k = getangle(wal->delta()); - proj->spr.ang = ((k << 1) - proj->spr.ang) & 2047; + proj->spr.__int_angle = ((k << 1) - proj->spr.__int_angle) & 2047; proj->SetOwner(proj); spawn(proj, TRANSPORTERSTAR); return true; @@ -1436,7 +1436,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t &oldpos) } int k = getangle(wal->delta()); - proj->spr.ang = ((k << 1) - proj->spr.ang) & 2047; + proj->spr.__int_angle = ((k << 1) - proj->spr.__int_angle) & 2047; return true; } } @@ -1537,8 +1537,8 @@ static void weaponcommon_d(DDukeActor* proj) Collision coll; movesprite_ex(proj, - MulScale(k, bcos(proj->spr.ang), 14), - MulScale(k, bsin(proj->spr.ang), 14), ll, CLIPMASK1, coll); + MulScale(k, bcos(proj->spr.__int_angle), 14), + MulScale(k, bsin(proj->spr.__int_angle), 14), ll, CLIPMASK1, coll); if (proj->spr.picnum == RPG && proj->temp_actor != nullptr) if (FindDistance2D(proj->int_pos().vec2 - proj->temp_actor->int_pos().vec2) < 256) @@ -1572,8 +1572,8 @@ static void weaponcommon_d(DDukeActor* proj) for (k = -3; k < 2; k++) { vec3_t offset = { - MulScale(k, bcos(proj->spr.ang), 9), - MulScale(k, bsin(proj->spr.ang), 9), + MulScale(k, bcos(proj->spr.__int_angle), 9), + MulScale(k, bsin(proj->spr.__int_angle), 9), (k * Sgn(proj->spr.zvel)) * abs(proj->spr.zvel / 24) }; @@ -1797,7 +1797,7 @@ void movetransports_d(void) ps[k].GetActor()->spr.extra = 0; } - ps[p].angle.ang = buildang(Owner->spr.ang); + ps[p].angle.ang = buildang(Owner->spr.__int_angle); if (Owner->GetOwner() != Owner) { @@ -1979,7 +1979,7 @@ void movetransports_d(void) if (k && sectlotag == 1 && act2->spr.statnum == 4) { k->spr.xvel = act2->spr.xvel >> 1; - k->spr.ang = act2->spr.ang; + k->spr.__int_angle = act2->spr.__int_angle; ssp(k, CLIPMASK0); } } @@ -1992,7 +1992,7 @@ void movetransports_d(void) if (act2->spr.statnum == STAT_PROJECTILE || (checkcursectnums(act->sector()) == -1 && checkcursectnums(Owner->sector()) == -1)) { act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X),(Owner->int_pos().Y - act->int_pos().Y), -(act->int_pos().Z - Owner->sector()->int_floorz()) }); - act2->spr.ang = Owner->spr.ang; + act2->spr.__int_angle = Owner->spr.__int_angle; act2->backupang(); @@ -2148,7 +2148,7 @@ static void greenslime(DDukeActor *actor) SetActor(actor, actor->spr.pos); - actor->spr.ang = ps[p].angle.ang.asbuild(); + actor->spr.__int_angle = ps[p].angle.ang.asbuild(); if ((PlayerInput(p, SB_FIRE) || (ps[p].quick_kick > 0)) && ps[p].GetActor()->spr.extra > 0) if (ps[p].quick_kick > 0 || (ps[p].curr_weapon != HANDREMOTE_WEAPON && ps[p].curr_weapon != HANDBOMB_WEAPON && ps[p].curr_weapon != TRIPBOMB_WEAPON && ps[p].ammo_amount[ps[p].curr_weapon] >= 0)) @@ -2301,7 +2301,7 @@ static void greenslime(DDukeActor *actor) { s5->spr.xvel = 0; - int l = s5->spr.ang; + int l = s5->spr.__int_angle; actor->set_int_pos({ s5->int_pos().X + bcos(l, -11), s5->int_pos().Y + bsin(l, -11), s5->int_pos().Z }); @@ -2382,7 +2382,7 @@ static void greenslime(DDukeActor *actor) if (actor->spr.xvel < 32) actor->spr.xvel += 4; actor->spr.xvel = 64 - bcos(actor->temp_data[1], -9); - actor->spr.ang += getincangle(actor->spr.ang, + actor->spr.__int_angle += getincangle(actor->spr.__int_angle, getangle(ps[p].pos.XY() - actor->spr.pos.XY())) >> 3; // TJR } @@ -2482,8 +2482,8 @@ static void flamethrowerflame(DDukeActor *actor) } Collision coll; - movesprite_ex(actor, MulScale(xvel, bcos(actor->spr.ang), 14), - MulScale(xvel, bsin(actor->spr.ang), 14), actor->spr.zvel, CLIPMASK1, coll); + movesprite_ex(actor, MulScale(xvel, bcos(actor->spr.__int_angle), 14), + MulScale(xvel, bsin(actor->spr.__int_angle), 14), actor->spr.zvel, CLIPMASK1, coll); if (!actor->insector()) { @@ -2604,8 +2604,8 @@ static void heavyhbomb(DDukeActor *actor) Collision coll; movesprite_ex(actor, - MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14), - MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14), + MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14), + MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14), actor->spr.zvel, CLIPMASK0, coll); if (actor->sector()->lotag == 1 && actor->spr.zvel == 0) @@ -2650,7 +2650,7 @@ static void heavyhbomb(DDukeActor *actor) int k = getangle(wal->delta()); - actor->spr.ang = ((k << 1) - actor->spr.ang) & 2047; + actor->spr.__int_angle = ((k << 1) - actor->spr.__int_angle) & 2047; actor->spr.xvel >>= 1; } @@ -3511,26 +3511,26 @@ void move_d(DDukeActor *actor, int playernum, int xvel) if (ps[playernum].newOwner != nullptr) goalang = getangle(ps[playernum].opos.XY() - actor->spr.pos.XY()); else goalang = getangle(ps[playernum].pos.XY() - actor->spr.pos.XY()); - angdif = getincangle(actor->spr.ang, goalang) >> 2; + angdif = getincangle(actor->spr.__int_angle, goalang) >> 2; if (angdif > -8 && angdif < 0) angdif = 0; - actor->spr.ang += angdif; + actor->spr.__int_angle += angdif; } if (a & spin) - actor->spr.ang += bsin(actor->temp_data[0] << 3, -6); + actor->spr.__int_angle += bsin(actor->temp_data[0] << 3, -6); if (a & face_player_slow) { if (ps[playernum].newOwner != nullptr) goalang = getangle(ps[playernum].opos.XY() - actor->spr.pos.XY()); else goalang = getangle(ps[playernum].pos.XY() - actor->spr.pos.XY()); - angdif = Sgn(getincangle(actor->spr.ang, goalang)) << 5; + angdif = Sgn(getincangle(actor->spr.__int_angle, goalang)) << 5; if (angdif > -32 && angdif < 0) { angdif = 0; - actor->spr.ang = goalang; + actor->spr.__int_angle = goalang; } - actor->spr.ang += angdif; + actor->spr.__int_angle += angdif; } @@ -3545,9 +3545,9 @@ void move_d(DDukeActor *actor, int playernum, int xvel) double newx = ps[playernum].pos.X + (ps[playernum].vel.X / 768) * inttoworld; double newy = ps[playernum].pos.Y + (ps[playernum].vel.Y / 768) * inttoworld; goalang = getangle(newx - actor->spr.pos.X, newy - actor->spr.pos.Y); - angdif = getincangle(actor->spr.ang, goalang) >> 2; + angdif = getincangle(actor->spr.__int_angle, goalang) >> 2; if (angdif > -8 && angdif < 0) angdif = 0; - actor->spr.ang += angdif; + actor->spr.__int_angle += angdif; } if (actor->temp_data[1] == 0 || a == 0) @@ -3641,7 +3641,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel) actor->spr.pos.Z = actor->ceilingz + 32; daxvel = actor->spr.xvel; - angdif = actor->spr.ang; + angdif = actor->spr.__int_angle; if (a && actor->spr.picnum != ROTATEGUN) { diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 381e4034b..37b2fd782 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -394,14 +394,14 @@ int movesprite_ex_r(DDukeActor* actor, int xchange, int ychange, int zchange, un if (dasectp == nullptr || (dasectp != nullptr && actor->actorstayput != nullptr && actor->actorstayput != dasectp)) { if (dasectp && dasectp->lotag == ST_1_ABOVE_WATER) - actor->spr.ang = (krand() & 2047); + actor->spr.__int_angle = (krand() & 2047); else if ((actor->temp_data[0] & 3) == 1) - actor->spr.ang = (krand() & 2047); + actor->spr.__int_angle = (krand() & 2047); SetActor(actor, actor->spr.pos); if (dasectp == nullptr) dasectp = §or[0]; return result.setSector(dasectp); } - if ((result.type == kHitWall || result.type == kHitSprite) && (actor->cgg == 0)) actor->spr.ang += 768; + if ((result.type == kHitWall || result.type == kHitSprite) && (actor->cgg == 0)) actor->spr.__int_angle += 768; } else { @@ -631,7 +631,7 @@ void movefallers_r(void) if (act->temp_data[0] == 0) { act->spr.pos.Z -= 16; - act->temp_data[1] = act->spr.ang; + act->temp_data[1] = act->spr.__int_angle; int x = act->spr.extra; int j = fi.ifhitbyweapon(act); if (j >= 0) @@ -660,7 +660,7 @@ void movefallers_r(void) act->spr.extra = x; } } - act->spr.ang = act->temp_data[1]; + act->spr.__int_angle = act->temp_data[1]; act->spr.pos.Z += 16; } else if (act->temp_data[0] == 1) @@ -724,7 +724,7 @@ static void movecrack(DDukeActor* actor) if (actor->spr.hitag > 0) { actor->temp_data[0] = actor->spr.cstat; - actor->temp_data[1] = actor->spr.ang; + actor->temp_data[1] = actor->spr.__int_angle; int j = fi.ifhitbyweapon(actor); if (gs.actorinfo[j].flags2 & SFLAG2_EXPLOSIVE) { @@ -740,7 +740,7 @@ static void movecrack(DDukeActor* actor) else { actor->spr.cstat = ESpriteFlags::FromInt(actor->temp_data[0]); - actor->spr.ang = actor->temp_data[1]; + actor->spr.__int_angle = actor->temp_data[1]; actor->spr.extra = 0; } } @@ -936,24 +936,24 @@ static void chickenarrow(DDukeActor* actor) { int ang, ang2, ang3; ang = getangle(ts->int_pos().X - actor->int_pos().X, ts->int_pos().Y - actor->int_pos().Y); - ang2 = ang - actor->spr.ang; + ang2 = ang - actor->spr.__int_angle; ang3 = abs(ang2); if (ang2 < 100) { if (ang3 > 1023) - actor->spr.ang += 51; + actor->spr.__int_angle += 51; else - actor->spr.ang -= 51; + actor->spr.__int_angle -= 51; } else if (ang2 > 100) { if (ang3 > 1023) - actor->spr.ang -= 51; + actor->spr.__int_angle -= 51; else - actor->spr.ang += 51; + actor->spr.__int_angle += 51; } else - actor->spr.ang = ang; + actor->spr.__int_angle = ang; if (actor->spr.hitag > 180) if (actor->spr.zvel <= 0) @@ -1053,7 +1053,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t& oldpos) 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->delta()); - proj->spr.ang = ((k << 1) - proj->spr.ang) & 2047; + proj->spr.__int_angle = ((k << 1) - proj->spr.__int_angle) & 2047; proj->SetOwner(proj); spawn(proj, TRANSPORTERSTAR); return true; @@ -1076,7 +1076,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t& oldpos) } int k = getangle(wal->delta()); - proj->spr.ang = ((k << 1) - proj->spr.ang) & 2047; + proj->spr.__int_angle = ((k << 1) - proj->spr.__int_angle) & 2047; return true; } if (proj->spr.picnum == SHRINKSPARK) @@ -1087,7 +1087,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t& oldpos) } if (proj->spr.extra <= 0) { - proj->add_int_pos({ bcos(proj->spr.ang, -7), bsin(proj->spr.ang, -7), 0 }); + proj->add_int_pos({ bcos(proj->spr.__int_angle, -7), bsin(proj->spr.__int_angle, -7), 0 }); auto Owner = proj->GetOwner(); if (!isRRRA() || !Owner || (Owner->spr.picnum != CHEER && Owner->spr.picnum != CHEERSTAYPUT)) { @@ -1097,7 +1097,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t& oldpos) j->spr.xrepeat = 8; j->spr.yrepeat = 8; j->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL; - j->spr.ang = (j->spr.ang + 512) & 2047; + j->spr.__int_angle = (j->spr.__int_angle + 512) & 2047; j->spr.clipdist = MulScale(proj->spr.xrepeat, tileWidth(proj->spr.picnum), 7); } } @@ -1111,7 +1111,7 @@ static bool weaponhitwall(DDukeActor *proj, walltype* wal, const vec3_t& oldpos) } int k = getangle(wal->delta()); - proj->spr.ang = ((k << 1) - proj->spr.ang) & 2047; + proj->spr.__int_angle = ((k << 1) - proj->spr.__int_angle) & 2047; return true; } } @@ -1229,8 +1229,8 @@ static void weaponcommon_r(DDukeActor *proj) Collision coll; movesprite_ex(proj, - MulScale(k, bcos(proj->spr.ang), 14), - MulScale(k, bsin(proj->spr.ang), 14), ll, CLIPMASK1, coll); + MulScale(k, bcos(proj->spr.__int_angle), 14), + MulScale(k, bsin(proj->spr.__int_angle), 14), ll, CLIPMASK1, coll); if ((proj->spr.picnum == RPG || (isRRRA() && isIn(proj->spr.picnum, RPG2, RRTILE1790))) && proj->temp_actor != nullptr) if (FindDistance2D(proj->int_pos().vec2 - proj->temp_actor->int_pos().vec2) < 256) @@ -1263,8 +1263,8 @@ static void weaponcommon_r(DDukeActor *proj) for (k = -3; k < 2; k++) { auto x = EGS(proj->sector(), - proj->int_pos().X + MulScale(k, bcos(proj->spr.ang), 9), - proj->int_pos().Y + MulScale(k, bsin(proj->spr.ang), 9), + proj->int_pos().X + MulScale(k, bcos(proj->spr.__int_angle), 9), + proj->int_pos().Y + MulScale(k, bsin(proj->spr.__int_angle), 9), proj->int_pos().Z + ((k * Sgn(proj->spr.zvel)) * abs(proj->spr.zvel / 24)), FIRELASER, -40 + (k << 2), proj->spr.xrepeat, proj->spr.yrepeat, 0, 0, 0, proj->GetOwner(), 5); @@ -1447,7 +1447,7 @@ void movetransports_r(void) ps[k].GetActor()->spr.extra = 0; } - ps[p].angle.ang = buildang(Owner->spr.ang); + ps[p].angle.ang = buildang(Owner->spr.__int_angle); if (Owner->GetOwner() != Owner) { @@ -1658,7 +1658,7 @@ void movetransports_r(void) if (spawned && sectlotag == 1 && act2->spr.statnum == 4) { spawned->spr.xvel = act2->spr.xvel >> 1; - spawned->spr.ang = act2->spr.ang; + spawned->spr.__int_angle = act2->spr.__int_angle; ssp(spawned, CLIPMASK0); } } @@ -1671,7 +1671,7 @@ void movetransports_r(void) if (checkcursectnums(act->sector()) == -1 && checkcursectnums(Owner->sector()) == -1) { act2->add_int_pos({ (Owner->int_pos().X - act->int_pos().X), (Owner->int_pos().Y - act->int_pos().Y), -(act->int_pos().Z - Owner->sector()->int_floorz()) }); - act2->spr.ang = Owner->spr.ang; + act2->spr.__int_angle = Owner->spr.__int_angle; act2->backupang(); @@ -1728,8 +1728,8 @@ void movetransports_r(void) ChangeActorSect(act2, Owner->sector()); - movesprite_ex(act2, MulScale(act2->spr.xvel, bcos(act2->spr.ang), 14), - MulScale(act2->spr.xvel, bsin(act2->spr.ang), 14), 0, CLIPMASK1, coll); + movesprite_ex(act2, MulScale(act2->spr.xvel, bcos(act2->spr.__int_angle), 14), + MulScale(act2->spr.xvel, bsin(act2->spr.__int_angle), 14), 0, CLIPMASK1, coll); break; case 161: @@ -1740,8 +1740,8 @@ void movetransports_r(void) ChangeActorSect(act2, Owner->sector()); - movesprite_ex(act2, MulScale(act2->spr.xvel, bcos(act2->spr.ang), 14), - MulScale(act2->spr.xvel, bsin(act2->spr.ang), 14), 0, CLIPMASK1, coll); + movesprite_ex(act2, MulScale(act2->spr.xvel, bcos(act2->spr.__int_angle), 14), + MulScale(act2->spr.xvel, bsin(act2->spr.__int_angle), 14), 0, CLIPMASK1, coll); break; } @@ -1947,8 +1947,8 @@ static void rrra_specialstats() S_PlaySound(183); act->spr.extra--; int j = movesprite_ex(act, - MulScale(act->spr.hitag, bcos(act->spr.ang), 14), - MulScale(act->spr.hitag, bsin(act->spr.ang), 14), + MulScale(act->spr.hitag, bcos(act->spr.__int_angle), 14), + MulScale(act->spr.hitag, bsin(act->spr.__int_angle), 14), act->spr.hitag << 1, CLIPMASK0, coll); if (j > 0) { @@ -2175,7 +2175,7 @@ void rr_specialstats() act->spr.lotag--; if (act->spr.lotag < 0) { - spawn(act, RRTILE3190)->spr.ang = act->spr.ang; + spawn(act, RRTILE3190)->spr.__int_angle = act->spr.__int_angle; act->spr.lotag = 128; } break; @@ -2183,7 +2183,7 @@ void rr_specialstats() act->spr.lotag--; if (act->spr.lotag < 0) { - spawn(act, RRTILE3192)->spr.ang = act->spr.ang; + spawn(act, RRTILE3192)->spr.__int_angle = act->spr.__int_angle; act->spr.lotag = 256; } break; @@ -2208,7 +2208,7 @@ void rr_specialstats() act->spr.lotag--; if (act->spr.lotag < 0) { - spawn(act, RRTILE3120)->spr.ang = act->spr.ang; + spawn(act, RRTILE3120)->spr.__int_angle = act->spr.__int_angle; act->spr.lotag = 448; } break; @@ -2216,7 +2216,7 @@ void rr_specialstats() act->spr.lotag--; if (act->spr.lotag < 0) { - spawn(act, RRTILE3122)->spr.ang = act->spr.ang; + spawn(act, RRTILE3122)->spr.__int_angle = act->spr.__int_angle; act->spr.lotag = 64; } break; @@ -2224,7 +2224,7 @@ void rr_specialstats() act->spr.lotag--; if (act->spr.lotag < 0) { - spawn(act, RRTILE3123)->spr.ang = act->spr.ang; + spawn(act, RRTILE3123)->spr.__int_angle = act->spr.__int_angle; act->spr.lotag = 512; } break; @@ -2232,7 +2232,7 @@ void rr_specialstats() act->spr.lotag--; if (act->spr.lotag < 0) { - spawn(act, RRTILE3124)->spr.ang = act->spr.ang; + spawn(act, RRTILE3124)->spr.__int_angle = act->spr.__int_angle; act->spr.lotag = 224; } break; @@ -2292,7 +2292,7 @@ void rr_specialstats() { if (act2->spr.picnum == RRTILE297) { - ps[p].angle.ang = buildang(act2->spr.ang); + ps[p].angle.ang = buildang(act2->spr.__int_angle); ps[p].getposfromactor(act2, -36); ps[p].backupxyz(); ps[p].setbobpos(); @@ -2379,8 +2379,8 @@ static void heavyhbomb(DDukeActor *actor) Collision coll; movesprite_ex(actor, - MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14), - MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14), + MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14), + MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14), actor->spr.zvel, CLIPMASK0, coll); if (actor->sector()->lotag == 1 && actor->spr.zvel == 0) @@ -2444,7 +2444,7 @@ static void heavyhbomb(DDukeActor *actor) actor->spr.xvel = 0; goto DETONATEB; } - actor->spr.ang = ((k << 1) - actor->spr.ang) & 2047; + actor->spr.__int_angle = ((k << 1) - actor->spr.__int_angle) & 2047; actor->spr.xvel >>= 1; } @@ -2567,15 +2567,15 @@ static int henstand(DDukeActor *actor) makeitfall(actor); Collision coll; movesprite_ex(actor, - MulScale(bcos(actor->spr.ang), actor->spr.xvel, 14), - MulScale(bsin(actor->spr.ang), actor->spr.xvel, 14), + MulScale(bcos(actor->spr.__int_angle), actor->spr.xvel, 14), + MulScale(bsin(actor->spr.__int_angle), actor->spr.xvel, 14), actor->spr.zvel, CLIPMASK0, coll); if (coll.type) { if (coll.type == kHitWall) { int k = getangle(coll.hitWall->delta()); - actor->spr.ang = ((k << 1) - actor->spr.ang) & 2047; + actor->spr.__int_angle = ((k << 1) - actor->spr.__int_angle) & 2047; } else if (coll.type == kHitSprite) { @@ -2589,7 +2589,7 @@ static int henstand(DDukeActor *actor) { ns->spr.xvel = 32; ns->spr.lotag = 40; - ns->spr.ang = actor->spr.ang; + ns->spr.__int_angle = actor->spr.__int_angle; } } } @@ -2683,8 +2683,8 @@ void moveactors_r(void) if (sectp->lotag == 903) makeitfall(act); movesprite_ex(act, - MulScale(act->spr.xvel, bcos(act->spr.ang), 14), - MulScale(act->spr.xvel, bsin(act->spr.ang), 14), + MulScale(act->spr.xvel, bcos(act->spr.__int_angle), 14), + MulScale(act->spr.xvel, bsin(act->spr.__int_angle), 14), act->spr.zvel,CLIPMASK0, coll); switch (sectp->lotag) { @@ -2724,8 +2724,8 @@ void moveactors_r(void) } makeitfall(act); movesprite_ex(act, - MulScale(act->spr.xvel, bcos(act->spr.ang), 14), - MulScale(act->spr.xvel, bsin(act->spr.ang), 14), + MulScale(act->spr.xvel, bcos(act->spr.__int_angle), 14), + MulScale(act->spr.xvel, bsin(act->spr.__int_angle), 14), act->spr.zvel,CLIPMASK0, coll); if (coll.type > kHitSector) { @@ -2755,8 +2755,8 @@ void moveactors_r(void) } makeitfall(act); movesprite_ex(act, - MulScale(act->spr.xvel, bcos(act->spr.ang), 14), - MulScale(act->spr.xvel, bsin(act->spr.ang), 14), + MulScale(act->spr.xvel, bcos(act->spr.__int_angle), 14), + MulScale(act->spr.xvel, bsin(act->spr.__int_angle), 14), act->spr.zvel,CLIPMASK0, coll); if (act->int_pos().Z >= sectp->int_floorz() - (8<<8)) { @@ -2854,8 +2854,8 @@ void moveactors_r(void) if (act->spr.xvel) { movesprite_ex(act, - MulScale(act->spr.xvel, bcos(act->spr.ang), 14), - MulScale(act->spr.xvel, bsin(act->spr.ang), 14), + MulScale(act->spr.xvel, bcos(act->spr.__int_angle), 14), + MulScale(act->spr.xvel, bsin(act->spr.__int_angle), 14), act->spr.zvel,CLIPMASK0, coll); act->spr.xvel--; } @@ -3494,26 +3494,26 @@ void move_r(DDukeActor *actor, int pnum, int xvel) if (ps[pnum].newOwner != nullptr) goalang = getangle(ps[pnum].opos.XY() - actor->spr.pos.XY()); else goalang = getangle(ps[pnum].pos.XY() - actor->spr.pos.XY()); - angdif = getincangle(actor->spr.ang, goalang) >> 2; + angdif = getincangle(actor->spr.__int_angle, goalang) >> 2; if (angdif > -8 && angdif < 0) angdif = 0; - actor->spr.ang += angdif; + actor->spr.__int_angle += angdif; } if (a & spin) - actor->spr.ang += bsin(actor->temp_data[0] << 3, -6); + actor->spr.__int_angle += bsin(actor->temp_data[0] << 3, -6); if (a & face_player_slow) { if (ps[pnum].newOwner != nullptr) goalang = getangle(ps[pnum].opos.XY() - actor->spr.pos.XY()); else goalang = getangle(ps[pnum].pos.XY() - actor->spr.pos.XY()); - angdif = Sgn(getincangle(actor->spr.ang, goalang)) << 5; + angdif = Sgn(getincangle(actor->spr.__int_angle, goalang)) << 5; if (angdif > -32 && angdif < 0) { angdif = 0; - actor->spr.ang = goalang; + actor->spr.__int_angle = goalang; } - actor->spr.ang += angdif; + actor->spr.__int_angle += angdif; } if (isRRRA()) @@ -3523,13 +3523,13 @@ void move_r(DDukeActor *actor, int pnum, int xvel) if (ps[pnum].newOwner != nullptr) goalang = (getangle(ps[pnum].opos.XY() - actor->spr.pos.XY()) + 1024) & 2047; else goalang = (getangle(ps[pnum].pos.XY() - actor->spr.pos.XY()) + 1024) & 2047; - angdif = Sgn(getincangle(actor->spr.ang, goalang)) << 5; + angdif = Sgn(getincangle(actor->spr.__int_angle, goalang)) << 5; if (angdif > -32 && angdif < 0) { angdif = 0; - actor->spr.ang = goalang; + actor->spr.__int_angle = goalang; } - actor->spr.ang += angdif; + actor->spr.__int_angle += angdif; } if ((a & jumptoplayer) == jumptoplayer) @@ -3589,9 +3589,9 @@ void move_r(DDukeActor *actor, int pnum, int xvel) double newx = ps[pnum].pos.X + (ps[pnum].vel.X / 768) * inttoworld; double newy = ps[pnum].pos.Y + (ps[pnum].vel.Y / 768) * inttoworld; goalang = getangle(newx - actor->spr.pos.X, newy - actor->spr.pos.Y); - angdif = getincangle(actor->spr.ang, goalang) >> 2; + angdif = getincangle(actor->spr.__int_angle, goalang) >> 2; if (angdif > -8 && angdif < 0) angdif = 0; - actor->spr.ang += angdif; + actor->spr.__int_angle += angdif; } if (actor->temp_data[1] == 0 || a == 0) @@ -3679,7 +3679,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel) actor->spr.pos.Z = actor->ceilingz + 32; daxvel = actor->spr.xvel; - angdif = actor->spr.ang; + angdif = actor->spr.__int_angle; if (a) { diff --git a/source/games/duke/src/animatesprites_d.cpp b/source/games/duke/src/animatesprites_d.cpp index 826048e11..d505b5238 100644 --- a/source/games/duke/src/animatesprites_d.cpp +++ b/source/games/duke/src/animatesprites_d.cpp @@ -84,7 +84,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat break; } - k = (((t->ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((t->__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -219,9 +219,9 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat t->xrepeat = 0; else { - t->ang = getangle(x - t->int_pos().X, y - t->int_pos().Y); - t->pos.X = OwnerAc->spr.pos.X + buildang(t->ang).fcos(); - t->pos.Y = OwnerAc->spr.pos.Y + buildang(t->ang).fsin(); + t->__int_angle = getangle(x - t->int_pos().X, y - t->int_pos().Y); + t->pos.X = OwnerAc->spr.pos.X + buildang(t->__int_angle).fcos(); + t->pos.Y = OwnerAc->spr.pos.Y + buildang(t->__int_angle).fsin(); } } break; @@ -261,7 +261,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat } k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -280,8 +280,8 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat k = getangle(h->int_pos().X - x, h->int_pos().Y - y); if (h->temp_data[0] < 4) - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); - else k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); + else k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { @@ -372,7 +372,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat } else { - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -495,12 +495,12 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat else switch (l) { case 2: - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 8) & 1; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 8) & 1; break; case 3: case 4: - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 7) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 7) & 7; if (k > 3) { t->cstat |= CSTAT_SPRITE_XFLIP; @@ -511,7 +511,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat case 5: k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -521,7 +521,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat break; case 7: k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -530,7 +530,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat else t->cstat &= ~CSTAT_SPRITE_XFLIP; break; case 8: - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; t->cstat &= ~CSTAT_SPRITE_XFLIP; break; default: @@ -662,7 +662,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat } else { - k = (((t->ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((t->__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -705,7 +705,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat t->picnum = OwnerAc->dispicnum; t->pal = OwnerAc->spr.pal; t->shade = OwnerAc->spr.shade; - t->ang = OwnerAc->spr.ang; + t->__int_angle = OwnerAc->spr.__int_angle; t->cstat = CSTAT_SPRITE_TRANSLUCENT | OwnerAc->spr.cstat; } } @@ -719,7 +719,7 @@ void animatesprites_d(tspriteArray& tsprites, int x, int y, int a, int smoothrat break; } - k = (((t->ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((t->__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; diff --git a/source/games/duke/src/animatesprites_r.cpp b/source/games/duke/src/animatesprites_r.cpp index aded4f1f3..41045435d 100644 --- a/source/games/duke/src/animatesprites_r.cpp +++ b/source/games/duke/src/animatesprites_r.cpp @@ -62,7 +62,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat break; case CHAIR3: - k = (((t->ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((t->__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -213,9 +213,9 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat t->xrepeat = 0; else { - t->ang = getangle(x - t->int_pos().X, y - t->int_pos().Y); - t->pos.X = OwnerAc->spr.pos.X + buildang(t->ang).fcos(); - t->pos.Y = OwnerAc->spr.pos.Y + buildang(t->ang).fsin(); + t->__int_angle = getangle(x - t->int_pos().X, y - t->int_pos().Y); + t->pos.X = OwnerAc->spr.pos.X + buildang(t->__int_angle).fcos(); + t->pos.Y = OwnerAc->spr.pos.Y + buildang(t->__int_angle).fsin(); } } break; @@ -255,7 +255,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat else if (OwnerAc->spr.picnum == MAMA) { k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -273,7 +273,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat case EMPTYBIKE: if (!isRRRA()) goto default_case; k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -285,7 +285,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat case EMPTYBOAT: if (!isRRRA()) goto default_case; k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -296,7 +296,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat break; case RPG: k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -308,7 +308,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat case RPG2: if (!isRRRA()) goto default_case; k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -322,8 +322,8 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat k = getangle(h->int_pos().X - x, h->int_pos().Y - y); if (h->temp_data[0] < 4) - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); - else k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); + else k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { @@ -416,7 +416,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat t->cstat &= ~CSTAT_SPRITE_XFLIP; } else { - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -479,7 +479,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat } else if (ps[p].OnMotorcycle) { - k = (((h->spr.ang + 3072 + 128 - a) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -505,7 +505,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat } else if (ps[p].OnBoat) { - k = (((h->spr.ang + 3072 + 128 - a) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -627,12 +627,12 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat else switch (l) { case 2: - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 8) & 1; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 8) & 1; break; case 3: case 4: - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 7) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 7) & 7; if (k > 3) { t->cstat |= CSTAT_SPRITE_XFLIP; @@ -643,7 +643,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat case 5: k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -653,7 +653,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat break; case 7: k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) / 170); + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) / 170); if (k > 6) { k = 12 - k; @@ -662,7 +662,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat else t->cstat &= ~CSTAT_SPRITE_XFLIP; break; case 8: - k = (((h->spr.ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; t->cstat &= ~CSTAT_SPRITE_XFLIP; break; default: @@ -670,7 +670,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat if (bg && h->spr.statnum == 2 && h->spr.extra > 0) { k = getangle(h->int_pos().X - x, h->int_pos().Y - y); - k = (((h->spr.ang + 3072 + 128 - k) & 2047) >> 8) & 7; + k = (((h->spr.__int_angle + 3072 + 128 - k) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -892,7 +892,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat break; case PLAYERONWATER: - k = (((t->ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((t->__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; @@ -938,7 +938,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat t->picnum = OwnerAc->dispicnum; t->pal = OwnerAc->spr.pal; t->shade = OwnerAc->spr.shade; - t->ang = OwnerAc->spr.ang; + t->__int_angle = OwnerAc->spr.__int_angle; t->cstat = CSTAT_SPRITE_TRANSLUCENT | OwnerAc->spr.cstat; } } @@ -946,7 +946,7 @@ void animatesprites_r(tspriteArray& tsprites, int x, int y, int a, int smoothrat case CAMERA1: case RAT: - k = (((t->ang + 3072 + 128 - a) & 2047) >> 8) & 7; + k = (((t->__int_angle + 3072 + 128 - a) & 2047) >> 8) & 7; if (k > 4) { k = 8 - k; diff --git a/source/games/duke/src/bowling.cpp b/source/games/duke/src/bowling.cpp index 178c7055e..bf49d2141 100644 --- a/source/games/duke/src/bowling.cpp +++ b/source/games/duke/src/bowling.cpp @@ -190,7 +190,7 @@ void resetpins(sectortype* sect) { spawned->spr.clipdist = (1 + (krand() % 1)) * 16 + 32; } - spawned->spr.ang -= ((krand() & 32) - (krand() & 64)) & 2047; + spawned->spr.__int_angle -= ((krand() & 32) - (krand() & 64)) & 2047; } } if (a2->spr.picnum == 280) diff --git a/source/games/duke/src/ccmds.cpp b/source/games/duke/src/ccmds.cpp index 595d7df4c..7f0671ed1 100644 --- a/source/games/duke/src/ccmds.cpp +++ b/source/games/duke/src/ccmds.cpp @@ -98,7 +98,7 @@ static int ccmd_spawn(CCmdFuncPtr parm) { if (set & 1) spawned->spr.pal = (uint8_t)pal; if (set & 2) spawned->spr.cstat = ESpriteFlags::FromInt(cstat); - if (set & 4) spawned->spr.ang = ang; + if (set & 4) spawned->spr.__int_angle = ang; if (set & 8) SetActor(spawned, DVector3( x, y, z )); if (spawned->sector() == nullptr) diff --git a/source/games/duke/src/game_misc.cpp b/source/games/duke/src/game_misc.cpp index 5fefa7f0f..30489d6b4 100644 --- a/source/games/duke/src/game_misc.cpp +++ b/source/games/duke/src/game_misc.cpp @@ -433,8 +433,8 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int x1 = DMulScale(ox, xvect, -oy, yvect, 16); y1 = DMulScale(oy, xvect, ox, yvect, 16); - ox = bcos(act->spr.ang, -7); - oy = bsin(act->spr.ang, -7); + ox = bcos(act->spr.__int_angle, -7); + oy = bsin(act->spr.__int_angle, -7); x2 = DMulScale(ox, xvect, -oy, yvect, 16); y2 = DMulScale(oy, xvect, ox, yvect, 16); @@ -454,7 +454,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int tilenum = act->spr.picnum; xoff = tileLeftOffset(tilenum) + act->spr.xoffset; if ((act->spr.cstat & CSTAT_SPRITE_XFLIP) > 0) xoff = -xoff; - k = act->spr.ang; + k = act->spr.__int_angle; l = act->spr.xrepeat; dax = bsin(k) * l; day = -bcos(k) * l; @@ -495,7 +495,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int if ((act->spr.cstat & CSTAT_SPRITE_XFLIP) > 0) xoff = -xoff; if ((act->spr.cstat & CSTAT_SPRITE_YFLIP) > 0) yoff = -yoff; - k = act->spr.ang; + k = act->spr.__int_angle; cosang = bcos(k); sinang = bsin(k); xspan = tileWidth(tilenum); @@ -567,7 +567,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int int xx = twod->GetWidth() / 2. + x1 / 4096.; int yy = twod->GetHeight() / 2. + y1 / 4096.; - daang = ((!SyncInput() ? act->spr.ang : act->interpolatedang(smoothratio)) - cang) & 2047; + daang = ((!SyncInput() ? act->spr.__int_angle : act->interpolatedang(smoothratio)) - cang) & 2047; if (p == screenpeek || ud.coop == 1) { diff --git a/source/games/duke/src/gameexec.cpp b/source/games/duke/src/gameexec.cpp index 3c057f3a8..7b94ddb47 100644 --- a/source/games/duke/src/gameexec.cpp +++ b/source/games/duke/src/gameexec.cpp @@ -1232,8 +1232,8 @@ void DoActor(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor, else*/ SetGameVarID(lVar2, act->spr.statnum, sActor, sPlayer); break; case ACTOR_ANG: - if (bSet) act->spr.ang = lValue; - else SetGameVarID(lVar2, act->spr.ang, sActor, sPlayer); + if (bSet) act->spr.__int_angle = lValue; + else SetGameVarID(lVar2, act->spr.__int_angle, sActor, sPlayer); break; case ACTOR_OWNER: // there is no way to handle this well because we do not know whether this is an actor or not. Pity. @@ -1416,14 +1416,14 @@ static int ifcanshoottarget(DDukeActor *actor, int g_p, int g_x) j = 0; else { - actor->spr.ang += angdif; j = hitasprite(actor, &hit); actor->spr.ang -= angdif; + actor->spr.__int_angle += angdif; j = hitasprite(actor, &hit); actor->spr.__int_angle -= angdif; if (j > sclip) { if (hit != nullptr && hit->spr.picnum == actor->spr.picnum) j = 0; else { - actor->spr.ang -= angdif; j = hitasprite(actor, &hit); actor->spr.ang += angdif; + actor->spr.__int_angle -= angdif; j = hitasprite(actor, &hit); actor->spr.__int_angle += angdif; if (j > 768) { if (hit != nullptr && hit->spr.picnum == actor->spr.picnum) @@ -1561,7 +1561,7 @@ int ParseState::parse(void) g_ac->spr.hitag = ScriptCode[g_t[5] + 2]; // Ai g_t[0] = g_t[2] = g_t[3] = 0; if (g_ac->spr.hitag & random_angle) - g_ac->spr.ang = krand() & 2047; + g_ac->spr.__int_angle = krand() & 2047; insptr++; break; case concmd_action: @@ -1601,10 +1601,10 @@ int ParseState::parse(void) switch (krand() & 1) { case 0: - g_ac->spr.ang = (+512 + g_ac->spr.ang + (krand() & 511)) & 2047; + g_ac->spr.__int_angle = (+512 + g_ac->spr.__int_angle + (krand() & 511)) & 2047; break; case 1: - g_ac->spr.ang = (-512 + g_ac->spr.ang - (krand() & 511)) & 2047; + g_ac->spr.__int_angle = (-512 + g_ac->spr.__int_angle - (krand() & 511)) & 2047; break; } insptr++; @@ -1615,7 +1615,7 @@ int ParseState::parse(void) break; case concmd_rndmove: - g_ac->spr.ang = krand() & 2047; + g_ac->spr.__int_angle = krand() & 2047; g_ac->spr.xvel = 25; insptr++; break; @@ -1761,23 +1761,23 @@ int ParseState::parse(void) break; case concmd_ifsoundid: insptr++; - parseifelse((short)*insptr == ambientlotag[g_ac->spr.ang]); + parseifelse((short)*insptr == ambientlotag[g_ac->spr.__int_angle]); break; case concmd_ifsounddist: insptr++; if (*insptr == 0) - parseifelse(ambienthitag[g_ac->spr.ang] > g_x); + parseifelse(ambienthitag[g_ac->spr.__int_angle] > g_x); else if (*insptr == 1) - parseifelse(ambienthitag[g_ac->spr.ang] < g_x); + parseifelse(ambienthitag[g_ac->spr.__int_angle] < g_x); break; case concmd_soundtag: insptr++; - S_PlayActorSound(ambientlotag[g_ac->spr.ang], g_ac); + S_PlayActorSound(ambientlotag[g_ac->spr.__int_angle], g_ac); break; case concmd_soundtagonce: insptr++; - if (!S_CheckActorSoundPlaying(g_ac, ambientlotag[g_ac->spr.ang])) - S_PlayActorSound(ambientlotag[g_ac->spr.ang], g_ac); + if (!S_CheckActorSoundPlaying(g_ac, ambientlotag[g_ac->spr.__int_angle])) + S_PlayActorSound(ambientlotag[g_ac->spr.__int_angle], g_ac); break; case concmd_soundonce: insptr++; @@ -1973,11 +1973,11 @@ int ParseState::parse(void) break; case concmd_strafeleft: insptr++; - movesprite_ex(g_ac, -bsin(g_ac->spr.ang, -10), bcos(g_ac->spr.ang, -10), g_ac->spr.zvel, CLIPMASK0, coll); + movesprite_ex(g_ac, -bsin(g_ac->spr.__int_angle, -10), bcos(g_ac->spr.__int_angle, -10), g_ac->spr.zvel, CLIPMASK0, coll); break; case concmd_straferight: insptr++; - movesprite_ex(g_ac, bsin(g_ac->spr.ang, -10), -bcos(g_ac->spr.ang, -10), g_ac->spr.zvel, CLIPMASK0, coll); + movesprite_ex(g_ac, bsin(g_ac->spr.__int_angle, -10), -bcos(g_ac->spr.__int_angle, -10), g_ac->spr.zvel, CLIPMASK0, coll); break; case concmd_larrybird: insptr++; @@ -2122,7 +2122,7 @@ int ParseState::parse(void) g_ac->spr.hitag = *insptr; insptr++; if(g_ac->spr.hitag&random_angle) - g_ac->spr.ang = krand()&2047; + g_ac->spr.__int_angle = krand()&2047; break; case concmd_spawn: insptr++; @@ -2484,7 +2484,7 @@ int ParseState::parse(void) if( g_ac->sector()->lotag == 0 ) { HitInfo hit{}; - neartag({ g_ac->int_pos().X, g_ac->int_pos().Y, g_ac->int_pos().Z - (32 << 8) }, g_ac->sector(), g_ac->spr.ang, hit, 768, 1); + neartag({ g_ac->int_pos().X, g_ac->int_pos().Y, g_ac->int_pos().Z - (32 << 8) }, g_ac->sector(), g_ac->spr.__int_angle, hit, 768, 1); auto sectp = hit.hitSector; if (sectp) { @@ -2846,7 +2846,7 @@ int ParseState::parse(void) case concmd_ifangdiffl: insptr++; - j = abs(getincangle(ps[g_p].angle.ang.asbuild(),g_ac->spr.ang)); + j = abs(getincangle(ps[g_p].angle.ang.asbuild(),g_ac->spr.__int_angle)); parseifelse( j <= *insptr); break; @@ -3162,7 +3162,7 @@ int ParseState::parse(void) int i; insptr++; i = *(insptr++); // ID of def - SetGameVarID(i, g_ac->spr.ang, g_ac, g_p); + SetGameVarID(i, g_ac->spr.__int_angle, g_ac, g_p); break; } case concmd_setactorangle: @@ -3170,8 +3170,8 @@ int ParseState::parse(void) int i; insptr++; i = *(insptr++); // ID of def - g_ac->spr.ang = GetGameVarID(i, g_ac, g_p).safeValue(); - g_ac->spr.ang &= 2047; + g_ac->spr.__int_angle = GetGameVarID(i, g_ac, g_p).safeValue(); + g_ac->spr.__int_angle &= 2047; break; } case concmd_randvar: diff --git a/source/games/duke/src/input.cpp b/source/games/duke/src/input.cpp index bd7da1e31..2b26b832b 100644 --- a/source/games/duke/src/input.cpp +++ b/source/games/duke/src/input.cpp @@ -846,7 +846,7 @@ void GameInterface::GetInput(ControlInfo* const hidInput, double const scaleAdju p->angle.processhelpers(scaleAdjust); p->horizon.processhelpers(scaleAdjust); - p->GetActor()->spr.ang = p->angle.ang.asbuild(); + p->GetActor()->spr.__int_angle = p->angle.ang.asbuild(); } if (packet) diff --git a/source/games/duke/src/player.cpp b/source/games/duke/src/player.cpp index f4e8c8ac2..ae773caac 100644 --- a/source/games/duke/src/player.cpp +++ b/source/games/duke/src/player.cpp @@ -175,7 +175,7 @@ int hits(DDukeActor* actor) else zoff = 0; auto pos = actor->int_pos(); - hitscan(pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK1); + hitscan(pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), 0 }, hit, CLIPMASK1); return (FindDistance2D(hit.hitpos.vec2 - actor->int_pos().vec2)); } @@ -196,7 +196,7 @@ int hitasprite(DDukeActor* actor, DDukeActor** hitsp) else zoff = 0; auto pos = actor->int_pos(); - hitscan(pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK1); + hitscan(pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), 0 }, hit, CLIPMASK1); if (hitsp) *hitsp = hit.actor(); if (hit.hitWall != nullptr && (hit.hitWall->cstat & CSTAT_WALL_MASKED) && badguy(actor)) @@ -236,7 +236,7 @@ DDukeActor* aim(DDukeActor* actor, int aang) int dx1, dy1, dx2, dy2, dx3, dy3, smax, sdist; int xv, yv; - a = actor->spr.ang; + a = actor->spr.__int_angle; // Autoaim from DukeGDX. if (actor->isPlayer()) @@ -252,7 +252,7 @@ DDukeActor* aim(DDukeActor* actor, int aang) int zvel = -plr->horizon.sum().asq16() >> 5; HitInfo hit{}; - hitscan(plr->player_int_pos().withZOffset(1024), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), zvel }, hit, CLIPMASK1); + hitscan(plr->player_int_pos().withZOffset(1024), actor->sector(), { bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), zvel }, hit, CLIPMASK1); if (hit.actor() != nullptr) { @@ -1058,7 +1058,7 @@ void shootbloodsplat(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i { spawned->spr.xvel = -12; auto delta = hit.hitWall->delta(); - spawned->spr.ang = getangle(-delta.X, -delta.Y) + 512; // note the '-' sign here! + spawned->spr.__int_angle = getangle(-delta.X, -delta.Y) + 512; // note the '-' sign here! spawned->set_int_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 2f56542f4..69f53d4c9 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -174,7 +174,7 @@ static void shootflamethrowerflame(DDukeActor* actor, int p, int sx, int sy, int zvel = ((ps[j].player_int_opos().Z - sz) * vel) / l; if (badguy(actor) && (actor->spr.hitag & face_player_smart) != 0) - sa = (short)(actor->spr.ang + (krand() & 31) - 16); + sa = (short)(actor->spr.__int_angle + (krand() & 31) - 16); if (actor->sector()->lotag == 2 && (krand() % 5) == 0) spawned = spawn(actor, WATERBUBBLE); @@ -201,7 +201,7 @@ static void shootflamethrowerflame(DDukeActor* actor, int p, int sx, int sy, int spawned->set_int_pos({ sx + bsin(sa + 630) / 448, sy + bsin(sa + 112) / 448, sz - 256 }); spawned->setsector(actor->sector()); spawned->spr.cstat = CSTAT_SPRITE_YCENTER; - spawned->spr.ang = sa; + spawned->spr.__int_angle = sa; spawned->spr.xrepeat = 2; spawned->spr.yrepeat = 2; spawned->spr.clipdist = 40; @@ -294,7 +294,7 @@ static void shootknee(DDukeActor* actor, int p, int sx, int sy, int sz, int sa) if (splash) { splash->set_int_xy(hit.hitpos.X, hit.hitpos.Y); - splash->spr.ang = ps[p].angle.ang.asbuild(); // Total tweek + splash->spr.__int_angle = ps[p].angle.ang.asbuild(); // Total tweek splash->spr.xvel = 32; ssp(actor, CLIPMASK0); splash->spr.xvel = 0; @@ -442,7 +442,7 @@ static void shootweapon(DDukeActor *actor, int p, int sx, int sy, int sz, int sa jib->spr.pos.Z += 4; jib->spr.xvel = 16; jib->spr.xrepeat = jib->spr.yrepeat = 24; - jib->spr.ang += 64 - (krand() & 127); + jib->spr.__int_angle += 64 - (krand() & 127); } } else spawn(spark, SMALLSMOKE); @@ -512,7 +512,7 @@ static void shootweapon(DDukeActor *actor, int p, int sx, int sy, int sz, int sa { hole->spr.xvel = -1; auto delta = hit.hitWall->delta(); - hole->spr.ang = getangle(-delta.X, -delta.Y) + 512; + hole->spr.__int_angle = getangle(-delta.X, -delta.Y) + 512; ssp(hole, CLIPMASK0); hole->spr.cstat2 |= CSTAT2_SPRITE_DECAL; } @@ -651,14 +651,14 @@ static void shootstuff(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, spawned->spr.xvel = 1024; ssp(spawned, CLIPMASK0); spawned->spr.xvel = l; - spawned->spr.ang += 128 - (krand() & 255); + spawned->spr.__int_angle += 128 - (krand() & 255); } } spawned->spr.cstat = CSTAT_SPRITE_YCENTER; spawned->spr.clipdist = 4; - sa = actor->spr.ang + 32 - (krand() & 63); + sa = actor->spr.__int_angle + 32 - (krand() & 63); zvel = oldzvel + 512 - (krand() & 1023); scount--; @@ -724,7 +724,7 @@ static void shootrpg(DDukeActor *actor, int p, int sx, int sy, int sz, int sa, i zvel = ((ps[j].player_int_opos().Z - sz) * vel) / l; if (badguy(actor) && (actor->spr.hitag & face_player_smart)) - sa = actor->spr.ang + (krand() & 31) - 16; + sa = actor->spr.__int_angle + (krand() & 31) - 16; } if (p < 0) aimed = nullptr; @@ -770,7 +770,7 @@ static void shootrpg(DDukeActor *actor, int p, int sx, int sy, int sz, int sa, i } spawned->add_int_pos({ xoffs, yoffs, 0 }); - spawned->spr.ang += aoffs; + spawned->spr.__int_angle += aoffs; spawned->spr.xrepeat = 42; spawned->spr.yrepeat = 42; @@ -789,7 +789,7 @@ static void shootrpg(DDukeActor *actor, int p, int sx, int sy, int sz, int sa, i } spawned->add_int_pos({ -xoffs, -yoffs, 0 }); - spawned->spr.ang -= aoffs; + spawned->spr.__int_angle -= aoffs; spawned->spr.xrepeat = 24; spawned->spr.yrepeat = 24; @@ -804,7 +804,7 @@ static void shootrpg(DDukeActor *actor, int p, int sx, int sy, int sz, int sa, i else if ((isWW2GI() && aplWeaponWorksLike(ps[p].curr_weapon, p) == DEVISTATOR_WEAPON) || (!isWW2GI() && ps[p].curr_weapon == DEVISTATOR_WEAPON)) { spawned->spr.extra >>= 2; - spawned->spr.ang += 16 - (krand() & 31); + spawned->spr.__int_angle += 16 - (krand() & 31); spawned->spr.zvel += 256 - (krand() & 511); if (ps[p].hbomb_hold_delay) @@ -889,7 +889,7 @@ static void shootlaser(DDukeActor* actor, int p, int sx, int sy, int sz, int sa) ssp(bomb, CLIPMASK0); bomb->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL; auto delta = hit.hitWall->delta(); - bomb->temp_data[5] = bomb->spr.ang = getangle(-delta.X, -delta.Y) - 512; + bomb->temp_data[5] = bomb->spr.__int_angle = getangle(-delta.X, -delta.Y) - 512; if (p >= 0) ps[p].ammo_amount[TRIPBOMB_WEAPON]--; @@ -1026,7 +1026,7 @@ void shoot_d(DDukeActor* actor, int atwith) } else { - sa = actor->spr.ang; + sa = actor->spr.__int_angle; sx = actor->int_pos().X; sy = actor->int_pos().Y; sz = actor->int_pos().Z - (actor->spr.yrepeat * tileHeight(actor->spr.picnum) << 1) + (4 << 8); @@ -1060,7 +1060,7 @@ void shoot_d(DDukeActor* actor, int atwith) { k->setsector(sect); k->set_int_pos({ sx, sy, sz }); - k->spr.ang = sa; + k->spr.__int_angle = sa; k->spr.xvel = 500; k->spr.zvel = 0; } @@ -2218,7 +2218,7 @@ static void operateweapon(int snum, ESyncBits actions) k = hits(pact); if (k < 512) { - spawned->spr.ang += 1024; + spawned->spr.__int_angle += 1024; spawned->spr.zvel /= 3; spawned->spr.xvel /= 3; } @@ -2346,9 +2346,9 @@ static void operateweapon(int snum, ESyncBits actions) auto j = spawn(pact, SHOTGUNSHELL); if (j) { - j->spr.ang += 1024; + j->spr.__int_angle += 1024; ssp(j, CLIPMASK0); - j->spr.ang += 1024; + j->spr.__int_angle += 1024; } p->kickback_pic++; break; @@ -2374,8 +2374,8 @@ static void operateweapon(int snum, ESyncBits actions) auto j = spawn(pact, SHELL); if (j) { - j->spr.ang += 1024; - j->spr.ang &= 2047; + j->spr.__int_angle += 1024; + j->spr.__int_angle &= 2047; j->spr.xvel += 32; j->spr.pos.Z += 3; ssp(j, CLIPMASK0); diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index 219cb1482..5f63a9ded 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -186,7 +186,7 @@ static void shootmelee(DDukeActor *actor, int p, int sx, int sy, int sz, int sa, if (splash) { splash->set_int_xy(hit.hitpos.X, hit.hitpos.Y); - splash->spr.ang = ps[p].angle.ang.asbuild(); // Total tweek + splash->spr.__int_angle = ps[p].angle.ang.asbuild(); // Total tweek splash->spr.xvel = 32; ssp(actor, 0); splash->spr.xvel = 0; @@ -337,7 +337,7 @@ static void shootweapon(DDukeActor* actor, int p, int sx, int sy, int sz, int sa l->spr.pos.Z += 4; l->spr.xvel = 16; l->spr.xrepeat = l->spr.yrepeat = 24; - l->spr.ang += 64 - (krand() & 127); + l->spr.__int_angle += 64 - (krand() & 127); } } else spawn(spark, SMALLSMOKE); @@ -411,7 +411,7 @@ static void shootweapon(DDukeActor* actor, int p, int sx, int sy, int sz, int sa { hole->spr.xvel = -1; auto delta = hit.hitWall->delta(); - hole->spr.ang = getangle(-delta.X, -delta.Y) + 512; + hole->spr.__int_angle = getangle(-delta.X, -delta.Y) + 512; ssp(hole, CLIPMASK0); hole->spr.cstat2 |= CSTAT2_SPRITE_DECAL; } @@ -489,8 +489,8 @@ static void shootstuff(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, sz -= (4 << 7); if (actor->spr.picnum == 4649) { - sx += bcos(actor->spr.ang + 256, -6); - sy += bsin(actor->spr.ang + 256, -6); + sx += bcos(actor->spr.__int_angle + 256, -6); + sy += bsin(actor->spr.__int_angle + 256, -6); sz += (12 << 8); } if (actor->spr.picnum == VIXEN) @@ -503,8 +503,8 @@ static void shootstuff(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, { auto aimed = aim(actor, AUTO_AIM_ANGLE); - sx += bcos(actor->spr.ang + 160, -7); - sy += bsin(actor->spr.ang + 160, -7); + sx += bcos(actor->spr.__int_angle + 160, -7); + sy += bsin(actor->spr.__int_angle + 160, -7); if (aimed) { @@ -578,7 +578,7 @@ static void shootstuff(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, j->spr.cstat = CSTAT_SPRITE_YCENTER; j->spr.clipdist = 4; - sa = actor->spr.ang + 32 - (krand() & 63); + sa = actor->spr.__int_angle + 32 - (krand() & 63); zvel = oldzvel + 512 - (krand() & 1023); if (atwith == FIRELASER) @@ -657,7 +657,7 @@ static void shootrpg(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i zvel = ((ps[j].player_int_opos().Z - sz) * vel) / l; if (badguy(actor) && (actor->spr.hitag & face_player_smart)) - sa = actor->spr.ang + (krand() & 31) - 16; + sa = actor->spr.__int_angle + (krand() & 31) - 16; } if (p < 0) aimed = nullptr; @@ -717,7 +717,7 @@ static void shootrpg(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i else if (ps[p].curr_weapon == TIT_WEAPON) { spawned->spr.extra >>= 2; - spawned->spr.ang += 16 - (krand() & 31); + spawned->spr.__int_angle += 16 - (krand() & 31); spawned->spr.zvel += 256 - (krand() & 511); if (ps[p].hbomb_hold_delay) @@ -809,7 +809,7 @@ static void shootwhip(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, j->spr.cstat = CSTAT_SPRITE_YCENTER; j->spr.clipdist = 4; - sa = actor->spr.ang + 32 - (krand() & 63); + sa = actor->spr.__int_angle + 32 - (krand() & 63); zvel = oldzvel + 512 - (krand() & 1023); scount--; @@ -845,7 +845,7 @@ void shoot_r(DDukeActor* actor, int atwith) else { p = -1; - sa = actor->spr.ang; + sa = actor->spr.__int_angle; sx = actor->int_pos().X; sy = actor->int_pos().Y; sz = actor->int_pos().Z - ((actor->spr.yrepeat * tileHeight(actor->spr.picnum)) << 1) + (4 << 8); @@ -894,7 +894,7 @@ void shoot_r(DDukeActor* actor, int atwith) if (j) { j->spr.xvel = 32; - j->spr.ang = actor->spr.ang; + j->spr.__int_angle = actor->spr.__int_angle; j->add_int_z(-(5 << 8)); } break; @@ -905,7 +905,7 @@ void shoot_r(DDukeActor* actor, int atwith) if (j) { j->spr.xvel = 250; - j->spr.ang = actor->spr.ang; + j->spr.__int_angle = actor->spr.__int_angle; j->add_int_z(-(15 << 8)); } break; @@ -1506,7 +1506,7 @@ void checkweapons_r(player_struct* p) auto j = spawn(p->GetActor(), 7220); if (j) { - j->spr.ang = p->angle.ang.asbuild(); + j->spr.__int_angle = p->angle.ang.asbuild(); j->saved_ammo = p->ammo_amount[MOTORCYCLE_WEAPON]; } p->OnMotorcycle = 0; @@ -1525,7 +1525,7 @@ void checkweapons_r(player_struct* p) auto j = spawn(p->GetActor(), 7233); if (j) { - j->spr.ang = p->angle.ang.asbuild(); + j->spr.__int_angle = p->angle.ang.asbuild(); j->saved_ammo = p->ammo_amount[BOAT_WEAPON]; } p->OnBoat = 0; @@ -2761,7 +2761,7 @@ static void operateweapon(int snum, ESyncBits actions, sectortype* psectp) k = hits(p->GetActor()); if (k < 512) { - spawned->spr.ang += 1024; + spawned->spr.__int_angle += 1024; spawned->spr.zvel /= 3; spawned->spr.xvel /= 3; } @@ -2977,8 +2977,8 @@ static void operateweapon(int snum, ESyncBits actions, sectortype* psectp) if (j) { - j->spr.ang += 1024; - j->spr.ang &= 2047; + j->spr.__int_angle += 1024; + j->spr.__int_angle &= 2047; j->spr.xvel += 32; j->spr.pos.Z += 3; ssp(j, CLIPMASK0); @@ -4048,7 +4048,7 @@ void OnMotorcycle(player_struct *p, DDukeActor* motosprite) { p->pos.X = motosprite->spr.pos.X; p->pos.Y = motosprite->spr.pos.Y; - p->angle.ang = buildang(motosprite->spr.ang); + p->angle.ang = buildang(motosprite->spr.__int_angle); p->ammo_amount[MOTORCYCLE_WEAPON] = motosprite->saved_ammo; deletesprite(motosprite); } @@ -4106,7 +4106,7 @@ void OffMotorcycle(player_struct *p) auto spawned = spawn(p->GetActor(), EMPTYBIKE); if (spawned) { - spawned->spr.ang = p->angle.ang.asbuild(); + spawned->spr.__int_angle = p->angle.ang.asbuild(); spawned->spr.xvel += p->angle.ang.bcos(7); spawned->spr.yvel += p->angle.ang.bsin(7); spawned->saved_ammo = p->ammo_amount[MOTORCYCLE_WEAPON]; @@ -4128,7 +4128,7 @@ void OnBoat(player_struct *p, DDukeActor* boat) { p->pos.X = boat->spr.pos.X; p->pos.Y = boat->spr.pos.Y; - p->angle.ang = buildang(boat->spr.ang); + p->angle.ang = buildang(boat->spr.__int_angle); p->ammo_amount[BOAT_WEAPON] = boat->saved_ammo; deletesprite(boat); } @@ -4173,7 +4173,7 @@ void OffBoat(player_struct *p) auto spawned = spawn(p->GetActor(), EMPTYBOAT); if (spawned) { - spawned->spr.ang = p->angle.ang.asbuild(); + spawned->spr.__int_angle = p->angle.ang.asbuild(); spawned->spr.xvel += p->angle.ang.bcos(7); spawned->spr.yvel += p->angle.ang.bsin(7); spawned->saved_ammo = p->ammo_amount[BOAT_WEAPON]; diff --git a/source/games/duke/src/player_w.cpp b/source/games/duke/src/player_w.cpp index 801fb9616..a1cdc16de 100644 --- a/source/games/duke/src/player_w.cpp +++ b/source/games/duke/src/player_w.cpp @@ -117,16 +117,16 @@ void DoSpawn(player_struct *p, int snum) if((aplWeaponFlags(p->curr_weapon, snum) & WEAPON_FLAG_SPAWNTYPE2 ) ) { // like shotgun shells - j->spr.ang += 1024; + j->spr.__int_angle += 1024; ssp(j,CLIPMASK0); - j->spr.ang += 1024; + j->spr.__int_angle += 1024; // p->kickback_pic++; } else if((aplWeaponFlags(p->curr_weapon, snum) & WEAPON_FLAG_SPAWNTYPE3 ) ) { // like chaingun shells - j->spr.ang += 1024; - j->spr.ang &= 2047; + j->spr.__int_angle += 1024; + j->spr.__int_angle &= 2047; j->spr.xvel += 32; j->add_int_z(3<<8); ssp(j,CLIPMASK0); @@ -367,7 +367,7 @@ void operateweapon_ww(int snum, ESyncBits actions) k = hits(p->GetActor()); if (k < 512) { - j->spr.ang += 1024; + j->spr.__int_angle += 1024; j->spr.zvel /= 3; j->spr.xvel /= 3; } diff --git a/source/games/duke/src/premap.cpp b/source/games/duke/src/premap.cpp index 9970cffca..b8c6bfcc7 100644 --- a/source/games/duke/src/premap.cpp +++ b/source/games/duke/src/premap.cpp @@ -71,7 +71,7 @@ void premapcontroller(DDukeActor* ac) cyclers[numcyclers].shade1 = ac->spr.shade; cyclers[numcyclers].shade2 = ac->sector()->floorshade; cyclers[numcyclers].hitag = ac->spr.hitag; - cyclers[numcyclers].state = (ac->spr.ang == 1536); + cyclers[numcyclers].state = (ac->spr.__int_angle == 1536); numcyclers++; deletesprite(ac); break; @@ -616,7 +616,7 @@ void resetpspritevars(int g) } po[numplayersprites].opos = act->spr.pos; - po[numplayersprites].oa = act->spr.ang; + po[numplayersprites].oa = act->spr.__int_angle; po[numplayersprites].os = act->sector(); numplayersprites++; @@ -661,7 +661,7 @@ void resetpspritevars(int g) ps[j].backupxyz(); ps[j].setbobpos(); act->backuppos(); - ps[j].angle.oang = ps[j].angle.ang = buildang(act->spr.ang); + ps[j].angle.oang = ps[j].angle.ang = buildang(act->spr.__int_angle); updatesector(act->int_pos().X, act->int_pos().Y, &ps[j].cursector); diff --git a/source/games/duke/src/premap_r.cpp b/source/games/duke/src/premap_r.cpp index 623734eec..9c3da9496 100644 --- a/source/games/duke/src/premap_r.cpp +++ b/source/games/duke/src/premap_r.cpp @@ -574,7 +574,7 @@ void prelevel_r(int g, TArray& actors) { ambienthitag[ambientfx] = ac->spr.hitag; ambientlotag[ambientfx] = ac->spr.lotag; - ac->spr.ang = ambientfx; + ac->spr.__int_angle = ambientfx; ambientfx++; ac->spr.lotag = 0; ac->spr.hitag = 0; diff --git a/source/games/duke/src/render.cpp b/source/games/duke/src/render.cpp index 1df081d2a..2d5616d87 100644 --- a/source/games/duke/src/render.cpp +++ b/source/games/duke/src/render.cpp @@ -259,7 +259,7 @@ void displayrooms(int snum, double smoothratio, bool sceneonly) if (act->spr.yvel < 0) act->spr.yvel = -100; else if (act->spr.yvel > 199) act->spr.yvel = 300; - cang = buildang(interpolatedangle(ud.cameraactor->tempang, act->spr.ang, smoothratio)); + cang = buildang(interpolatedangle(ud.cameraactor->tempang, act->spr.__int_angle, smoothratio)); auto bh = buildhoriz(act->spr.yvel); auto cstat = act->spr.cstat; diff --git a/source/games/duke/src/sectors.cpp b/source/games/duke/src/sectors.cpp index f5d9719a2..b4f5823b7 100644 --- a/source/games/duke/src/sectors.cpp +++ b/source/games/duke/src/sectors.cpp @@ -927,7 +927,7 @@ static void handle_st25(sectortype* sptr, DDukeActor* actor) if (act3->spr.lotag == 15) { act3->sector()->lotag ^= 0x8000; // Toggle the open or close - act3->spr.ang += 1024; + act3->spr.__int_angle += 1024; if (act3->temp_data[4]) callsound(act3->sector(), act3); callsound(act3->sector(), act3); if (act3->sector()->lotag & 0x8000) act3->temp_data[4] = 1; diff --git a/source/games/duke/src/sectors_d.cpp b/source/games/duke/src/sectors_d.cpp index afe05433f..8aed40229 100644 --- a/source/games/duke/src/sectors_d.cpp +++ b/source/games/duke/src/sectors_d.cpp @@ -682,7 +682,7 @@ void checkhitwall_d(DDukeActor* spr, walltype* wal, int x, int y, int z, int atw { spawned->spr.cstat |= CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER; auto delta = wal->delta(); - spawned->spr.ang = getangle(-delta.X, -delta.Y) - 512; + spawned->spr.__int_angle = getangle(-delta.X, -delta.Y) - 512; S_PlayActorSound(SOMETHINGHITFORCE, spawned); } @@ -1049,8 +1049,8 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) if (proj->spr.picnum == QUEBALL || proj->spr.picnum == STRIPEBALL) { proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2); - proj->spr.ang -= (targ->spr.ang << 1) + 1024; - targ->spr.ang = getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512; + proj->spr.__int_angle -= (targ->spr.__int_angle << 1) + 1024; + targ->spr.__int_angle = getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512; if (S_CheckSoundPlaying(POOLBALLHIT) < 2) S_PlayActorSound(POOLBALLHIT, targ); } @@ -1059,7 +1059,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) if (krand() & 3) { targ->spr.xvel = 164; - targ->spr.ang = proj->spr.ang; + targ->spr.__int_angle = proj->spr.__int_angle; } else { @@ -1177,7 +1177,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) lotsofglass(targ, nullptr, 40); S_PlayActorSound(GLASS_BREAKING, targ); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; lotsofglass(targ, nullptr, 8); deletesprite(targ); break; @@ -1190,7 +1190,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) for (j = 0; j < 48; j++) { fi.shoot(targ, BLOODSPLAT1); - targ->spr.ang += 333; + targ->spr.__int_angle += 333; } S_PlayActorSound(GLASS_HEAVYBREAK, targ); S_PlayActorSound(SQUISHED, targ); @@ -1303,21 +1303,21 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) { targ->spr.extra -= proj->spr.extra; if (targ->spr.extra > 0) break; - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT1); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT2); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT3); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT4); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT1); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT2); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT3); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; fi.shoot(targ, BLOODSPLAT4); fi.guts(targ, JIBS1, 1, myconnectindex); fi.guts(targ, JIBS2, 2, myconnectindex); @@ -1377,7 +1377,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) spawned->spr.pos.Z += 4; spawned->spr.xvel = 16; spawned->spr.xrepeat = spawned->spr.yrepeat = 24; - spawned->spr.ang += 32 - (krand() & 63); + spawned->spr.__int_angle += 32 - (krand() & 63); } } @@ -1395,7 +1395,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) if (targ->spr.picnum != TANK && !bossguy(targ) && targ->spr.picnum != RECON && targ->spr.picnum != ROTATEGUN) { if ((targ->spr.cstat & CSTAT_SPRITE_ALIGNMENT_MASK) == 0) - targ->spr.ang = (proj->spr.ang + 1024) & 2047; + targ->spr.__int_angle = (proj->spr.__int_angle + 1024) & 2047; targ->spr.xvel = -(proj->spr.extra << 2); auto sp = targ->sector(); pushmove(targ, &sp, 128L, (4 << 8), (4 << 8), CLIPMASK0); @@ -1431,7 +1431,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) targ->attackertype = hitpic; targ->hitextra += proj->spr.extra; - targ->hitang = proj->spr.ang; + targ->hitang = proj->spr.__int_angle; targ->SetHitOwner(Owner); } diff --git a/source/games/duke/src/sectors_r.cpp b/source/games/duke/src/sectors_r.cpp index d4ac5fd93..9bfc498c7 100644 --- a/source/games/duke/src/sectors_r.cpp +++ b/source/games/duke/src/sectors_r.cpp @@ -938,7 +938,7 @@ static void lotsofpopcorn(DDukeActor *actor, walltype* wal, int n) { for (j = n - 1; j >= 0; j--) { - a = actor->spr.ang - 256 + (krand() & 511) + 1024; + a = actor->spr.__int_angle - 256 + (krand() & 511) + 1024; EGS(actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, POPCORN, -32, 36, 36, a, 32 + (krand() & 63), 1024 - (krand() & 1023), actor, 5); } return; @@ -968,7 +968,7 @@ static void lotsofpopcorn(DDukeActor *actor, walltype* wal, int n) z = sect->int_floorz() - (krand() & (abs(sect->int_ceilingz() - sect->int_floorz()))); if (z < -(32 << 8) || z >(32 << 8)) z = actor->int_pos().Z - (32 << 8) + (krand() & ((64 << 8) - 1)); - a = actor->spr.ang - 1024; + a = actor->spr.__int_angle - 1024; EGS(actor->sector(), x1, y1, z, POPCORN, -32, 36, 36, a, 32 + (krand() & 63), -(krand() & 1023), actor, 5); } } @@ -2063,7 +2063,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj) break; case BOWLINGBALL: proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2); - proj->spr.ang -= (krand() & 16); + proj->spr.__int_angle -= (krand() & 16); S_PlayActorSound(355, targ); break; @@ -2076,23 +2076,23 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj) if (proj->spr.picnum == QUEBALL || proj->spr.picnum == STRIPEBALL) { proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2); - proj->spr.ang -= (targ->spr.ang << 1) + 1024; - targ->spr.ang = getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512; + proj->spr.__int_angle -= (targ->spr.__int_angle << 1) + 1024; + targ->spr.__int_angle = getangle(targ->int_pos().X - proj->int_pos().X, targ->int_pos().Y - proj->int_pos().Y) - 512; if (S_CheckSoundPlaying(POOLBALLHIT) < 2) S_PlayActorSound(POOLBALLHIT, targ); } else if (proj->spr.picnum == BOWLINGPIN || proj->spr.picnum == BOWLINGPIN + 1) { proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2); - proj->spr.ang -= ((targ->spr.ang << 1) + krand()) & 64; - targ->spr.ang = (targ->spr.ang + krand()) & 16; + proj->spr.__int_angle -= ((targ->spr.__int_angle << 1) + krand()) & 64; + targ->spr.__int_angle = (targ->spr.__int_angle + krand()) & 16; S_PlayActorSound(355, targ); } else if (proj->spr.picnum == HENSTAND || proj->spr.picnum == HENSTAND + 1) { proj->spr.xvel = (targ->spr.xvel >> 1) + (targ->spr.xvel >> 2); - proj->spr.ang -= ((targ->spr.ang << 1) + krand()) & 16; - targ->spr.ang = (targ->spr.ang + krand()) & 16; + proj->spr.__int_angle -= ((targ->spr.__int_angle << 1) + krand()) & 16; + targ->spr.__int_angle = (targ->spr.__int_angle + krand()) & 16; S_PlayActorSound(355, targ); } else @@ -2100,7 +2100,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj) if (krand() & 3) { targ->spr.xvel = 164; - targ->spr.ang = proj->spr.ang; + targ->spr.__int_angle = proj->spr.__int_angle; } } break; @@ -2205,7 +2205,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj) lotsofglass(targ, nullptr, 40); S_PlayActorSound(GLASS_BREAKING, targ); - targ->spr.ang = krand() & 2047; + targ->spr.__int_angle = krand() & 2047; lotsofglass(targ, nullptr, 8); deletesprite(targ); break; @@ -2333,7 +2333,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj) spawned->spr.pos.Z += 4; spawned->spr.xvel = 16; spawned->spr.xrepeat = spawned->spr.yrepeat = 24; - spawned->spr.ang += 32 - (krand() & 63); + spawned->spr.__int_angle += 32 - (krand() & 63); } } @@ -2363,7 +2363,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj) targ->attackertype = proj->spr.picnum; targ->hitextra += proj->spr.extra; if (targ->spr.picnum != COW) - targ->hitang = proj->spr.ang; + targ->hitang = proj->spr.__int_angle; targ->SetHitOwner(proj->GetOwner()); } diff --git a/source/games/duke/src/sounds.cpp b/source/games/duke/src/sounds.cpp index 28a0378d6..04b1d119a 100644 --- a/source/games/duke/src/sounds.cpp +++ b/source/games/duke/src/sounds.cpp @@ -325,7 +325,7 @@ void S_GetCamera(vec3_t* c, int32_t* ca, sectortype** cs) { if (c) *c = ud.cameraactor->int_pos(); if (cs) *cs = ud.cameraactor->sector(); - if (ca) *ca = ud.cameraactor->spr.ang; + if (ca) *ca = ud.cameraactor->spr.__int_angle; } } diff --git a/source/games/duke/src/spawn.cpp b/source/games/duke/src/spawn.cpp index b1c5d8885..41aec5832 100644 --- a/source/games/duke/src/spawn.cpp +++ b/source/games/duke/src/spawn.cpp @@ -70,7 +70,7 @@ DDukeActor* CreateActor(sectortype* whatsectp, const DVector3& pos, int s_pn, in act->spr.yrepeat = s_yr; act->spr.pal = 0; - act->spr.ang = s_a; + act->spr.__int_angle = s_a; act->spr.xvel = s_ve; act->spr.zvel = s_zv; act->spr.xoffset = 0; @@ -287,7 +287,7 @@ void spawninitdefault(DDukeActor* actj, DDukeActor *act) act->timetosleep = 0; if (actj) - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; } } @@ -324,7 +324,7 @@ void spawntransporter(DDukeActor *actj, DDukeActor* act, bool beam) act->spr.shade = -127; act->spr.cstat = CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT; - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.xvel = 128; ChangeActorStat(act, STAT_MISC); @@ -407,7 +407,7 @@ void initfootprint(DDukeActor* actj, DDukeActor* act) act->spr.cstat = CSTAT_SPRITE_ALIGNMENT_FLOOR; if ((ps[actj->spr.yvel].footprintcount & 1)) act->spr.cstat |= CSTAT_SPRITE_XFLIP; - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; } act->set_int_z(sect->int_floorz()); @@ -441,7 +441,7 @@ void initshell(DDukeActor* actj, DDukeActor* act, bool isshell) } else { - a = act->spr.ang; + a = act->spr.__int_angle; act->spr.pos.Z = actj->spr.pos.Z - gs.playerheight + 3; } @@ -452,12 +452,12 @@ void initshell(DDukeActor* actj, DDukeActor* act, bool isshell) if (isNamWW2GI()) { // to the right, with feeling - act->spr.ang = a + 512; + act->spr.__int_angle = a + 512; act->spr.xvel = 30; } else { - act->spr.ang = a - 512; + act->spr.__int_angle = a - 512; act->spr.xvel = 20; } @@ -530,7 +530,7 @@ void initwaterdrip(DDukeActor* actj, DDukeActor* actor) actor->add_int_z(-(18 << 8)); } else actor->add_int_z(-(13 << 8)); - actor->spr.ang = getangle(ps[connecthead].player_int_pos().X - actor->int_pos().X, ps[connecthead].player_int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(ps[connecthead].player_int_pos().X - actor->int_pos().X, ps[connecthead].player_int_pos().Y - actor->int_pos().Y); actor->spr.xvel = 48 - (krand() & 31); ssp(actor, CLIPMASK0); } @@ -638,7 +638,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) break; case SE_18_INCREMENTAL_SECTOR_RISE_FALL: - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { actor->temp_data[1] = sectp->int_ceilingz(); if (actor->spr.pal) @@ -697,7 +697,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) bool ceiling = (abs(actor->temp_data[0] - actor->int_pos().Z) < abs(actor->temp_data[1] - actor->int_pos().Z)); actor->spriteextra = ceiling; - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { if (ceiling) sectp->setceilingz(actor->spr.pos.Z); @@ -715,7 +715,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) sectp->ceilingstat ^= CSTAT_SECTOR_SKY; actor->temp_data[3] = 1; - if (!ceiling && actor->spr.ang == 512) + if (!ceiling && actor->spr.__int_angle == 512) { sectp->ceilingstat ^= CSTAT_SECTOR_SKY; actor->temp_data[3] = 0; @@ -724,7 +724,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) sectp->ceilingshade = sectp->floorshade; - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { for (auto& wl : wallsofsector(sectp)) { @@ -833,7 +833,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) case SE_31_FLOOR_RISE_FALL: actor->temp_data[1] = sectp->int_floorz(); // actor->temp_data[2] = actor->spr.hitag; - if (actor->spr.ang != 1536) sectp->setfloorz(actor->spr.pos.Z); + if (actor->spr.__int_angle != 1536) sectp->setfloorz(actor->spr.pos.Z); for (auto& wal : wallsofsector(sectp)) if (wal.hitag == 0) wal.hitag = 9999; @@ -844,7 +844,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) case SE_32_CEILING_RISE_FALL: actor->temp_data[1] = sectp->int_ceilingz(); actor->temp_data[2] = actor->spr.hitag; - if (actor->spr.ang != 1536) sectp->setceilingz(actor->spr.pos.Z); + if (actor->spr.__int_angle != 1536) sectp->setceilingz(actor->spr.pos.Z); for (auto& wal : wallsofsector(sectp)) if (wal.hitag == 0) wal.hitag = 9999; @@ -899,7 +899,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) break; case SE_11_SWINGING_DOOR://Pivitor rotater - if (actor->spr.ang > 1024) actor->temp_data[3] = 2; + if (actor->spr.__int_angle > 1024) actor->temp_data[3] = 2; else actor->temp_data[3] = -2; [[fallthrough]]; case SE_0_ROTATING_SECTOR: @@ -931,7 +931,7 @@ void spawneffector(DDukeActor* actor, TArray* actors) act2->spr.lotag == SE_1_PIVOT && act2->spr.hitag == actor->spr.hitag) { - if (actor->spr.ang == 512) + if (actor->spr.__int_angle == 512) { actor->copyXY(act2); } @@ -1088,7 +1088,7 @@ void lotsofglass(DDukeActor *actor, walltype* wal, int n) { for (j = n - 1; j >= 0; j--) { - a = actor->spr.ang - 256 + (krand() & 511) + 1024; + a = actor->spr.__int_angle - 256 + (krand() & 511) + 1024; EGS(actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, TILE_GLASSPIECES + (j % 3), -32, 36, 36, a, 32 + (krand() & 63), 1024 - (krand() & 1023), actor, 5); } return; @@ -1113,7 +1113,7 @@ void lotsofglass(DDukeActor *actor, walltype* wal, int n) z = sect->int_floorz() - (krand() & (abs(sect->int_ceilingz() - sect->int_floorz()))); if (z < -(32 << 8) || z >(32 << 8)) z = actor->int_pos().Z - (32 << 8) + (krand() & ((64 << 8) - 1)); - a = actor->spr.ang - 1024; + a = actor->spr.__int_angle - 1024; EGS(actor->sector(), x1, y1, z, TILE_GLASSPIECES + (j % 3), -32, 36, 36, a, 32 + (krand() & 63), -(krand() & 1023), actor, 5); } } @@ -1202,7 +1202,7 @@ void lotsofcolourglass(DDukeActor* actor, walltype* wal, int n) z = sect->int_floorz() - (krand() & (abs(sect->int_ceilingz() - sect->int_floorz()))); if (z < -(32 << 8) || z >(32 << 8)) z = actor->int_pos().Z - (32 << 8) + (krand() & ((64 << 8) - 1)); - a = actor->spr.ang - 1024; + a = actor->spr.__int_angle - 1024; auto k = EGS(actor->sector(), x1, y1, z, TILE_GLASSPIECES + (j % 3), -32, 36, 36, a, 32 + (krand() & 63), -(krand() & 2047), actor, 5); if (k) k->spr.pal = krand() & 7; } diff --git a/source/games/duke/src/spawn_d.cpp b/source/games/duke/src/spawn_d.cpp index 1a482660f..7c28b647c 100644 --- a/source/games/duke/src/spawn_d.cpp +++ b/source/games/duke/src/spawn_d.cpp @@ -201,7 +201,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* break; case TONGUE: if (actj) - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.pos.Z -= gs.playerheight; act->spr.zvel = 256 - (krand() & 511); act->spr.xvel = 64 - (krand() & 127); @@ -243,7 +243,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* act->spr.yrepeat = 0; } - if (actj) act->spr.ang = actj->temp_data[5] + 512; + if (actj) act->spr.__int_angle = actj->temp_data[5] + 512; ChangeActorStat(act, STAT_MISC); break; @@ -340,7 +340,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* ssp(act, CLIPMASK0); act->temp_data[0] = 17; act->temp_data[2] = 0; - act->temp_data[5] = act->spr.ang; + act->temp_data[5] = act->spr.__int_angle; [[fallthrough]]; case SPACEMARINE: @@ -560,7 +560,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* act->temp_data[0] = krand() & 2047; act->spr.cstat = randomFlip(); act->spr.xrepeat = act->spr.yrepeat = 8; - act->spr.ang = krand() & 2047; + act->spr.__int_angle = krand() & 2047; } ChangeActorStat(act, STAT_MISC); break; @@ -607,7 +607,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* if (actj) { - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.shade = -64; act->spr.cstat = CSTAT_SPRITE_YCENTER | randomXFlip(); } @@ -683,7 +683,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* if (act->spr.picnum == WATERBUBBLE) { if (actj) - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.xrepeat = act->spr.yrepeat = 4; } else act->spr.xrepeat = act->spr.yrepeat = 32; @@ -701,7 +701,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* case TRASH: if (act->spr.picnum != WATERDRIP) - act->spr.ang = krand() & 2047; + act->spr.__int_angle = krand() & 2047; [[fallthrough]]; case WATERDRIPSPLASH: @@ -876,7 +876,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* if (act->spr.picnum == RAT) { - act->spr.ang = krand() & 2047; + act->spr.__int_angle = krand() & 2047; act->spr.xrepeat = act->spr.yrepeat = 48; act->spr.cstat = 0; } @@ -1105,7 +1105,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray* case STEAM: if (actj) { - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT; act->spr.xrepeat = act->spr.yrepeat = 1; act->spr.xvel = -8; diff --git a/source/games/duke/src/spawn_r.cpp b/source/games/duke/src/spawn_r.cpp index 60565a49d..0ecc9bdc4 100644 --- a/source/games/duke/src/spawn_r.cpp +++ b/source/games/duke/src/spawn_r.cpp @@ -283,7 +283,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* break; case TONGUE: if (actj) - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.pos.Z -= gs.playerheight; act->spr.zvel = 256 - (krand() & 511); act->spr.xvel = 64 - (krand() & 127); @@ -583,7 +583,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* act->temp_data[0] = krand() & 2047; act->spr.cstat = randomFlip(); act->spr.xrepeat = act->spr.yrepeat = 8; - act->spr.ang = krand() & 2047; + act->spr.__int_angle = krand() & 2047; } ChangeActorStat(act, STAT_MISC); break; @@ -617,7 +617,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* case SMALLSMOKE: if (actj) { - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.shade = -64; act->spr.cstat = CSTAT_SPRITE_YCENTER | randomXFlip(); } @@ -688,7 +688,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* if (act->spr.picnum == WATERBUBBLE) { if (actj) - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.xrepeat = act->spr.yrepeat = 1 + (krand() & 7); } else @@ -703,7 +703,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* break; case TRASH: - if (act->spr.picnum != WATERDRIP) act->spr.ang = krand() & 2047; + if (act->spr.picnum != WATERDRIP) act->spr.__int_angle = krand() & 2047; act->spr.xrepeat = 24; act->spr.yrepeat = 24; @@ -1034,7 +1034,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* if (act->spr.picnum == RAT) { - act->spr.ang = krand() & 2047; + act->spr.__int_angle = krand() & 2047; act->spr.xrepeat = act->spr.yrepeat = 48; act->spr.cstat = 0; } @@ -1355,7 +1355,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray* case STEAM: if (actj) { - act->spr.ang = actj->spr.ang; + act->spr.__int_angle = actj->spr.__int_angle; act->spr.cstat = CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT; act->spr.xrepeat = act->spr.yrepeat = 1; act->spr.xvel = -8; diff --git a/source/games/exhumed/src/anims.cpp b/source/games/exhumed/src/anims.cpp index cc29acb39..3d82c3978 100644 --- a/source/games/exhumed/src/anims.cpp +++ b/source/games/exhumed/src/anims.cpp @@ -83,7 +83,7 @@ DExhumedActor* BuildAnim(DExhumedActor* pActor, int val, int val2, int x, int y, pActor->spr.xrepeat = nRepeat; pActor->spr.yrepeat = nRepeat; pActor->spr.picnum = 1; - pActor->spr.ang = 0; + pActor->spr.__int_angle = 0; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; pActor->spr.xvel = 0; diff --git a/source/games/exhumed/src/anubis.cpp b/source/games/exhumed/src/anubis.cpp index fc086dcc2..d263c09b8 100644 --- a/source/games/exhumed/src/anubis.cpp +++ b/source/games/exhumed/src/anubis.cpp @@ -56,7 +56,7 @@ void BuildAnubis(DExhumedActor* ap, int x, int y, int z, sectortype* pSector, in x = ap->int_pos().X; y = ap->int_pos().Y; z = ap->sector()->int_floorz(); - nAngle = ap->spr.ang; + nAngle = ap->spr.__int_angle; } ap->set_int_pos({ x, y, z }); @@ -67,7 +67,7 @@ void BuildAnubis(DExhumedActor* ap, int x, int y, int z, sectortype* pSector, in ap->spr.picnum = 1; ap->spr.pal = ap->sector()->ceilingpal; ap->spr.clipdist = 60; - ap->spr.ang = nAngle; + ap->spr.__int_angle = nAngle; ap->spr.xrepeat = 40; ap->spr.yrepeat = 40; ap->spr.xvel = 0; @@ -159,8 +159,8 @@ void AIAnubis::Tick(RunListEvent* ev) ap->nFrame = 0; ap->pTarget = pTarget; - ap->spr.xvel = bcos(ap->spr.ang, -2); - ap->spr.yvel = bsin(ap->spr.ang, -2); + ap->spr.xvel = bcos(ap->spr.__int_angle, -2); + ap->spr.yvel = bsin(ap->spr.__int_angle, -2); } } return; @@ -171,7 +171,7 @@ void AIAnubis::Tick(RunListEvent* ev) { PlotCourseToSprite(ap, pTarget); - int nAngle = ap->spr.ang & 0xFFF8; + int nAngle = ap->spr.__int_angle & 0xFFF8; ap->spr.xvel = bcos(nAngle, -2); ap->spr.yvel = bsin(nAngle, -2); } @@ -183,7 +183,7 @@ void AIAnubis::Tick(RunListEvent* ev) if (move.actor() == pTarget) { int nAng = getangle(pTarget->int_pos().X - ap->int_pos().X, pTarget->int_pos().Y - ap->int_pos().Y); - int nAngDiff = AngleDiff(ap->spr.ang, nAng); + int nAngDiff = AngleDiff(ap->spr.__int_angle, nAng); if (nAngDiff < 64) { @@ -197,9 +197,9 @@ void AIAnubis::Tick(RunListEvent* ev) } case kHitWall: { - ap->spr.ang = (ap->spr.ang + 256) & kAngleMask; - ap->spr.xvel = bcos(ap->spr.ang, -2); - ap->spr.yvel = bsin(ap->spr.ang, -2); + ap->spr.__int_angle = (ap->spr.__int_angle + 256) & kAngleMask; + ap->spr.xvel = bcos(ap->spr.__int_angle, -2); + ap->spr.yvel = bsin(ap->spr.__int_angle, -2); break; } @@ -220,7 +220,7 @@ void AIAnubis::Tick(RunListEvent* ev) { ap->spr.xvel = 0; ap->spr.yvel = 0; - ap->spr.ang = GetMyAngle(pTarget->int_pos().X - ap->int_pos().X, pTarget->int_pos().Y - ap->int_pos().Y); + ap->spr.__int_angle = GetMyAngle(pTarget->int_pos().X - ap->int_pos().X, pTarget->int_pos().Y - ap->int_pos().Y); ap->nAction = 3; ap->nFrame = 0; @@ -262,8 +262,8 @@ void AIAnubis::Tick(RunListEvent* ev) { ap->nAction = 1; - ap->spr.xvel = bcos(ap->spr.ang, -2); - ap->spr.yvel = bsin(ap->spr.ang, -2); + ap->spr.xvel = bcos(ap->spr.__int_angle, -2); + ap->spr.yvel = bsin(ap->spr.__int_angle, -2); ap->nFrame = 0; } else @@ -271,7 +271,7 @@ void AIAnubis::Tick(RunListEvent* ev) // loc_25718: if (nFlag & 0x80) { - BuildBullet(ap, 8, -1, ap->spr.ang, pTarget, 1); + BuildBullet(ap, 8, -1, ap->spr.__int_angle, pTarget, 1); } } diff --git a/source/games/exhumed/src/bubbles.cpp b/source/games/exhumed/src/bubbles.cpp index 876bed15f..e5515d13d 100644 --- a/source/games/exhumed/src/bubbles.cpp +++ b/source/games/exhumed/src/bubbles.cpp @@ -52,7 +52,7 @@ DExhumedActor* BuildBubble(vec3_t pos, sectortype* pSector) pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; pActor->spr.picnum = 1; - pActor->spr.ang = inita; + pActor->spr.__int_angle = inita; pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = -1200; diff --git a/source/games/exhumed/src/bullet.cpp b/source/games/exhumed/src/bullet.cpp index 01bc6d66b..0768754c2 100644 --- a/source/games/exhumed/src/bullet.cpp +++ b/source/games/exhumed/src/bullet.cpp @@ -229,7 +229,7 @@ void BulletHitsSprite(Bullet *pBullet, DExhumedActor* pBulletActor, DExhumedActo if (nStat == kStatAnubisDrum) { - int nAngle = (pActor->spr.ang + 256) - RandomSize(9); + int nAngle = (pActor->spr.__int_angle + 256) - RandomSize(9); pHitActor->spr.xvel = bcos(nAngle, 1); pHitActor->spr.yvel = bsin(nAngle, 1); @@ -240,8 +240,8 @@ void BulletHitsSprite(Bullet *pBullet, DExhumedActor* pBulletActor, DExhumedActo int xVel = pHitActor->spr.xvel; int yVel = pHitActor->spr.yvel; - pHitActor->spr.xvel = bcos(pActor->spr.ang, -2); - pHitActor->spr.yvel = bsin(pActor->spr.ang, -2); + pHitActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pHitActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); MoveCreature(pHitActor); @@ -433,7 +433,7 @@ MOVEEND: dz = -bsin(pBullet->nPitch, 3); else dz = -pBullet->nPitch * 512; - hitscan(startPos, pActor->sector(), { bcos(pActor->spr.ang), bsin(pActor->spr.ang), dz }, hit, CLIPMASK1); + hitscan(startPos, pActor->sector(), { bcos(pActor->spr.__int_angle), bsin(pActor->spr.__int_angle), dz }, hit, CLIPMASK1); x2 = hit.hitpos.X; y2 = hit.hitpos.Y; z2 = hit.hitpos.Z; @@ -501,7 +501,7 @@ HITSPRITE: { if (pHitWall != nullptr) { - BackUpBullet(&x2, &y2, pActor->spr.ang); + BackUpBullet(&x2, &y2, pActor->spr.__int_angle); if (nType != 3 || RandomSize(2) == 0) { @@ -563,7 +563,7 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n sBullet.nDoubleDamage = nDoubleDamage; sBullet.pActor = insertActor(pActor->sector(), 200); - sBullet.pActor->spr.ang = nAngle; + sBullet.pActor->spr.__int_angle = nAngle; int nHeight = GetActorHeight(pTarget); @@ -631,7 +631,7 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n pBulletActor->spr.yrepeat = (uint8_t)nRepeat; pBulletActor->spr.xoffset = 0; pBulletActor->spr.yoffset = 0; - pBulletActor->spr.ang = nAngle; + pBulletActor->spr.__int_angle = nAngle; pBulletActor->spr.xvel = 0; pBulletActor->spr.yvel = 0; pBulletActor->spr.zvel = 0; @@ -744,7 +744,7 @@ DExhumedActor* BuildBullet(DExhumedActor* pActor, int nType, int nZOffset, int n y -= pBulletActor->int_pos().Y; nAngle = GetMyAngle(x, y); - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; } else { diff --git a/source/games/exhumed/src/fish.cpp b/source/games/exhumed/src/fish.cpp index 0ce0e03a2..6e9d98f55 100644 --- a/source/games/exhumed/src/fish.cpp +++ b/source/games/exhumed/src/fish.cpp @@ -149,7 +149,7 @@ void BuildFish(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->int_pos().Z; - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; ChangeActorStat(pActor, 103); } @@ -166,7 +166,7 @@ void BuildFish(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.lotag = runlist_HeadRun() + 1; pActor->spr.hitag = 0; pActor->spr.extra = -1; @@ -187,11 +187,11 @@ void BuildFish(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, void IdleFish(DExhumedActor* pActor, int edx) { - pActor->spr.ang += (256 - RandomSize(9)) + 1024; - pActor->spr.ang &= kAngleMask; + pActor->spr.__int_angle += (256 - RandomSize(9)) + 1024; + pActor->spr.__int_angle &= kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -8); - pActor->spr.yvel = bsin(pActor->spr.ang, -8); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -8); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -8); pActor->nAction = 0; pActor->nFrame = 0; @@ -377,8 +377,8 @@ void AIFish::Tick(RunListEvent* ev) if (z <= nHeight) { - pActor->spr.xvel = bcos(pActor->spr.ang, -5) - bcos(pActor->spr.ang, -7); - pActor->spr.yvel = bsin(pActor->spr.ang, -5) - bsin(pActor->spr.ang, -7); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -5) - bcos(pActor->spr.__int_angle, -7); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -5) - bsin(pActor->spr.__int_angle, -7); } else { @@ -460,7 +460,7 @@ void AIFish::Tick(RunListEvent* ev) if (pHitAct->spr.statnum == 100) { pActor->pTarget = coll.actor(); - pActor->spr.ang = GetMyAngle(pHitAct->int_pos().X - pActor->int_pos().X, pHitAct->int_pos().Y - pActor->int_pos().Y); + pActor->spr.__int_angle = GetMyAngle(pHitAct->int_pos().X - pActor->int_pos().X, pHitAct->int_pos().Y - pActor->int_pos().Y); if (nAction != 3) { diff --git a/source/games/exhumed/src/grenade.cpp b/source/games/exhumed/src/grenade.cpp index ea7f82de6..8f5c320cb 100644 --- a/source/games/exhumed/src/grenade.cpp +++ b/source/games/exhumed/src/grenade.cpp @@ -55,18 +55,18 @@ void ThrowGrenade(int nPlayer, int, int, int ecx, int push1) DExhumedActor* pActor = PlayerList[nPlayer].pPlayerGrenade; auto pPlayerActor = PlayerList[nPlayer].pActor; - int nAngle = pPlayerActor->spr.ang; + int nAngle = pPlayerActor->spr.__int_angle; ChangeActorSect(pActor, PlayerList[nPlayer].pPlayerViewSect); pActor->set_int_pos(pPlayerActor->int_pos()); if (nAngle < 0) { - nAngle = pPlayerActor->spr.ang; + nAngle = pPlayerActor->spr.__int_angle; } pActor->spr.cstat &= ~CSTAT_SPRITE_INVISIBLE; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; if (push1 >= -3000) { @@ -112,7 +112,7 @@ void BuildGrenade(int nPlayer) pActor->spr.clipdist = 30; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; - pActor->spr.ang = pPlayerActor->spr.ang; + pActor->spr.__int_angle = pPlayerActor->spr.__int_angle; pActor->spr.intowner = nPlayer; pActor->spr.xvel = 0; pActor->spr.yvel = 0; @@ -171,7 +171,7 @@ void ExplodeGrenade(DExhumedActor* pActor) if (pActor->nTurn < 0) { auto pPlayerActor = PlayerList[nPlayer].pActor; - int nAngle = pPlayerActor->spr.ang; + int nAngle = pPlayerActor->spr.__int_angle; pActor->set_int_pos({ bcos(nAngle, -5) + pPlayerActor->int_pos().X, bsin(nAngle, -5) + pPlayerActor->int_pos().Y, pPlayerActor->int_pos().Z }); @@ -322,7 +322,7 @@ void AIGrenade::Tick(RunListEvent* ev) } else if (nMov.type == kHitSprite) { - BounceGrenade(pActor, nMov.actor()->spr.ang); + BounceGrenade(pActor, nMov.actor()->spr.__int_angle); } pActor->nHealth = 0; diff --git a/source/games/exhumed/src/gun.cpp b/source/games/exhumed/src/gun.cpp index 0415390b7..4102cdc53 100644 --- a/source/games/exhumed/src/gun.cpp +++ b/source/games/exhumed/src/gun.cpp @@ -245,7 +245,7 @@ Collision CheckCloseRange(int nPlayer, int *x, int *y, int *z, sectortype* *ppSe { auto pActor = PlayerList[nPlayer].pActor; - int ang = pActor->spr.ang; + int ang = pActor->spr.__int_angle; int xVect = bcos(ang); int yVect = bsin(ang); @@ -647,7 +647,7 @@ loc_flag: } int nAmmoType = WeaponInfo[nWeapon].nAmmoType; - int nAngle = pPlayerActor->spr.ang; + int nAngle = pPlayerActor->spr.__int_angle; int theX = pPlayerActor->int_pos().X; int theY = pPlayerActor->int_pos().Y; int theZ = pPlayerActor->int_pos().Z; @@ -809,7 +809,7 @@ loc_flag: // only autoaim if target is in front of the player. assert(t->sector()); int angletotarget = bvectangbam(t->int_pos().X - pPlayerActor->int_pos().X, t->int_pos().Y - pPlayerActor->int_pos().Y).asbuild(); - int anglediff = (pPlayerActor->spr.ang - angletotarget) & 2047; + int anglediff = (pPlayerActor->spr.__int_angle - angletotarget) & 2047; if (anglediff < 512 || anglediff > 1536) { target = t; @@ -831,8 +831,8 @@ loc_flag: BuildSnake(nPlayer, nHeight); nQuake[nPlayer] = 512; - PlayerList[nPlayer].nDamage.X -= bcos(pPlayerActor->spr.ang, 9); - PlayerList[nPlayer].nDamage.Y -= bsin(pPlayerActor->spr.ang, 9); + PlayerList[nPlayer].nDamage.X -= bcos(pPlayerActor->spr.__int_angle, 9); + PlayerList[nPlayer].nDamage.Y -= bsin(pPlayerActor->spr.__int_angle, 9); break; } case kWeaponRing: diff --git a/source/games/exhumed/src/init.cpp b/source/games/exhumed/src/init.cpp index d9469cea4..b90e211df 100644 --- a/source/games/exhumed/src/init.cpp +++ b/source/games/exhumed/src/init.cpp @@ -628,14 +628,14 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag) { auto pSector = pActor->sector(); pSector->Speed = nSpeed; - pSector->Flag |= pActor->spr.ang; + pSector->Flag |= pActor->spr.__int_angle; DeleteActor(pActor); return; } case 88: { - AddFlow(pActor->sector(), nSpeed, 0, pActor->spr.ang); + AddFlow(pActor->sector(), nSpeed, 0, pActor->spr.__int_angle); DeleteActor(pActor); return; @@ -650,7 +650,7 @@ void ProcessSpriteTag(DExhumedActor* pActor, int nLotag, int nHitag) } case 78: { - AddFlow(pActor->sector(), nSpeed, 1, pActor->spr.ang); + AddFlow(pActor->sector(), nSpeed, 1, pActor->spr.__int_angle); auto pSector = pActor->sector(); pSector->Flag |= 0x8000; diff --git a/source/games/exhumed/src/items.cpp b/source/games/exhumed/src/items.cpp index a9ae214c2..154050f25 100644 --- a/source/games/exhumed/src/items.cpp +++ b/source/games/exhumed/src/items.cpp @@ -379,7 +379,7 @@ void StartRegenerate(DExhumedActor* pActor) if (!(currentLevel->gameflags & LEVEL_EX_MULTI)) { - pActor->spr.ang /= 5; + pActor->spr.__int_angle /= 5; } pActor->spr.cstat = CSTAT_SPRITE_INVISIBLE; diff --git a/source/games/exhumed/src/lavadude.cpp b/source/games/exhumed/src/lavadude.cpp index 4a6fca2c1..ab77ede28 100644 --- a/source/games/exhumed/src/lavadude.cpp +++ b/source/games/exhumed/src/lavadude.cpp @@ -106,7 +106,7 @@ void BuildLava(DExhumedActor* pActor, int x, int y, int, sectortype* pSector, in else { pSector = pActor->sector(); - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; x = pActor->int_pos().X; y = pActor->int_pos().Y; @@ -126,7 +126,7 @@ void BuildLava(DExhumedActor* pActor, int x, int y, int, sectortype* pSector, in pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.hitag = 0; pActor->spr.lotag = runlist_HeadRun() + 1; @@ -265,8 +265,8 @@ void AILavaDude::Tick(RunListEvent* ev) PlotCourseToSprite(pActor, pTarget); - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); if (pTarget && !RandomSize(1)) { @@ -290,9 +290,9 @@ void AILavaDude::Tick(RunListEvent* ev) ChangeActorSect(pActor, pSector); pActor->set_int_pos({ x, y, z }); - pActor->spr.ang = (pActor->spr.ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.__int_angle = (pActor->spr.__int_angle + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); break; } @@ -302,9 +302,9 @@ void AILavaDude::Tick(RunListEvent* ev) if (coll.type == kHitWall) { - pActor->spr.ang = (pActor->spr.ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.__int_angle = (pActor->spr.__int_angle + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); break; } else if (coll.type == kHitSprite) @@ -312,7 +312,7 @@ void AILavaDude::Tick(RunListEvent* ev) if (coll.actor() == pTarget) { int nAng = getangle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); - if (AngleDiff(pActor->spr.ang, nAng) < 64) + if (AngleDiff(pActor->spr.__int_angle, nAng) < 64) { pActor->nAction = 2; pActor->nFrame = 0; @@ -353,7 +353,7 @@ void AILavaDude::Tick(RunListEvent* ev) int nHeight = GetActorHeight(pActor); GetUpAngle(pActor, -64000, pTarget, (-(nHeight >> 1))); - BuildBullet(pActor, 10, -1, pActor->spr.ang, pTarget, 1); + BuildBullet(pActor, 10, -1, pActor->spr.__int_angle, pTarget, 1); } else if (var_1C) { diff --git a/source/games/exhumed/src/lion.cpp b/source/games/exhumed/src/lion.cpp index 164dbbd51..b8cd35bd3 100644 --- a/source/games/exhumed/src/lion.cpp +++ b/source/games/exhumed/src/lion.cpp @@ -53,7 +53,7 @@ void BuildLion(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->sector()->int_floorz(); - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; } pActor->set_int_pos({ x, y, z }); @@ -66,7 +66,7 @@ void BuildLion(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, pActor->spr.pal = pActor->sector()->ceilingpal; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; @@ -170,7 +170,7 @@ void AILion::Damage(RunListEvent* ev) PlotCourseToSprite(pActor, pTarget); pActor->nAction = 5; pActor->nCount = RandomSize(3); - pActor->spr.ang = (pActor->spr.ang - (RandomSize(1) << 8)) + (RandomSize(1) << 8); // NOTE: no angle mask in original code + pActor->spr.__int_angle = (pActor->spr.__int_angle - (RandomSize(1) << 8)) + (RandomSize(1) << 8); // NOTE: no angle mask in original code } else { @@ -238,8 +238,8 @@ void AILion::Tick(RunListEvent* ev) pActor->nAction = 2; pActor->nFrame = 0; - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); pActor->pTarget = pTarget; return; } @@ -253,9 +253,9 @@ void AILion::Tick(RunListEvent* ev) { if (RandomBit()) { - pActor->spr.ang = RandomWord() & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.__int_angle = RandomWord() & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); } else { @@ -276,7 +276,7 @@ void AILion::Tick(RunListEvent* ev) { PlotCourseToSprite(pActor, pTarget); - int nAng = pActor->spr.ang & 0xFFF8; + int nAng = pActor->spr.__int_angle & 0xFFF8; if (pActor->spr.cstat & CSTAT_SPRITE_INVISIBLE) { @@ -293,9 +293,9 @@ void AILion::Tick(RunListEvent* ev) if (nMov.type == kHitWall) { // loc_378FA: - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); break; } else if (nMov.type == kHitSprite) @@ -313,7 +313,7 @@ void AILion::Tick(RunListEvent* ev) { int nAng = getangle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); - if (AngleDiff(pActor->spr.ang, nAng) < 64) + if (AngleDiff(pActor->spr.__int_angle, nAng) < 64) { pActor->nAction = 3; } @@ -325,9 +325,9 @@ void AILion::Tick(RunListEvent* ev) else { // loc_378FA: - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); break; } } @@ -388,8 +388,8 @@ void AILion::Tick(RunListEvent* ev) int nCheckDist = 0x7FFFFFFF; - int nAngle = pActor->spr.ang; - int nScanAngle = (pActor->spr.ang - 512) & kAngleMask; + int nAngle = pActor->spr.__int_angle; + int nScanAngle = (pActor->spr.__int_angle - 512) & kAngleMask; for (int i = 0; i < 5; i++) { @@ -413,11 +413,11 @@ void AILion::Tick(RunListEvent* ev) nScanAngle &= kAngleMask; } - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->nAction = 6; - pActor->spr.xvel = bcos(pActor->spr.ang) - bcos(pActor->spr.ang, -3); - pActor->spr.yvel = bsin(pActor->spr.ang) - bsin(pActor->spr.ang, -3); + pActor->spr.xvel = bcos(pActor->spr.__int_angle) - bcos(pActor->spr.__int_angle, -3); + pActor->spr.yvel = bsin(pActor->spr.__int_angle) - bsin(pActor->spr.__int_angle, -3); D3PlayFX(StaticSound[kSound24], pActor); } @@ -436,7 +436,7 @@ void AILion::Tick(RunListEvent* ev) if (nMov.type == kHitWall) { pActor->nAction = 7; - pActor->spr.ang = (GetWallNormal(nMov.hitWall) + 1024) & kAngleMask; + pActor->spr.__int_angle = (GetWallNormal(nMov.hitWall) + 1024) & kAngleMask; pActor->nCount = RandomSize(4); return; } @@ -445,7 +445,7 @@ void AILion::Tick(RunListEvent* ev) if (nMov.actor() == pTarget) { int nAng = getangle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); - if (AngleDiff(pActor->spr.ang, nAng) < 64) + if (AngleDiff(pActor->spr.__int_angle, nAng) < 64) { pActor->nAction = 3; pActor->nFrame = 0; @@ -454,9 +454,9 @@ void AILion::Tick(RunListEvent* ev) else { // loc_378FA: - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); break; } } @@ -477,14 +477,14 @@ void AILion::Tick(RunListEvent* ev) } else { - pActor->spr.ang = (RandomSize(9) + (pActor->spr.ang + 768)) & kAngleMask; + pActor->spr.__int_angle = (RandomSize(9) + (pActor->spr.__int_angle + 768)) & kAngleMask; } pActor->spr.zvel = -1000; pActor->nAction = 6; - pActor->spr.xvel = bcos(pActor->spr.ang) - bcos(pActor->spr.ang, -3); - pActor->spr.yvel = bsin(pActor->spr.ang) - bsin(pActor->spr.ang, -3); + pActor->spr.xvel = bcos(pActor->spr.__int_angle) - bcos(pActor->spr.__int_angle, -3); + pActor->spr.yvel = bsin(pActor->spr.__int_angle) - bsin(pActor->spr.__int_angle, -3); D3PlayFX(StaticSound[kSound24], pActor); } diff --git a/source/games/exhumed/src/move.cpp b/source/games/exhumed/src/move.cpp index af24f19ff..1fdd87e7b 100644 --- a/source/games/exhumed/src/move.cpp +++ b/source/games/exhumed/src/move.cpp @@ -644,9 +644,9 @@ Collision MoveCreatureWithCaution(DExhumedActor* pActor) ChangeActorSect(pActor, pSectorPre); - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -2); - pActor->spr.yvel = bsin(pActor->spr.ang, -2); + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); Collision c; c.setNone(); return c; @@ -672,7 +672,7 @@ int PlotCourseToSprite(DExhumedActor* pActor1, DExhumedActor* pActor2) int x = pActor2->int_pos().X - pActor1->int_pos().X; int y = pActor2->int_pos().Y - pActor1->int_pos().Y; - pActor1->spr.ang = GetMyAngle(x, y); + pActor1->spr.__int_angle = GetMyAngle(x, y); uint32_t x2 = abs(x); uint32_t y2 = abs(y); @@ -1079,7 +1079,7 @@ void MoveSector(sectortype* pSector, int nAngle, int *nXVel, int *nYVel) initx = pActor->int_pos().X; inity = pActor->int_pos().Y; initz = pActor->int_pos().Z; - inita = pActor->spr.ang; + inita = pActor->spr.__int_angle; initsectp = pActor->sector(); } @@ -1149,7 +1149,7 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int if (pActor2 == nullptr) { pActor->spr.zvel = 0; - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; } else { @@ -1172,7 +1172,7 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int int var_18 = GetMyAngle(nSqrt, ((pActor2->int_pos().Z - nHeight) - pActor->int_pos().Z) >> 8); - int nAngDelta = AngleDelta(pActor->spr.ang, nMyAngle, 1024); + int nAngDelta = AngleDelta(pActor->spr.__int_angle, nMyAngle, 1024); int nAngDelta2 = abs(nAngDelta); if (nAngDelta2 > 63) @@ -1196,13 +1196,13 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int nAngDelta = -push1; } - nAngle = (nAngDelta + pActor->spr.ang) & kAngleMask; + nAngle = (nAngDelta + pActor->spr.__int_angle) & kAngleMask; int nAngDeltaD = AngleDelta(pActor->spr.zvel, var_18, 24); pActor->spr.zvel = (pActor->spr.zvel + nAngDeltaD) & kAngleMask; } - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; int eax = abs(bcos(pActor->spr.zvel)); @@ -1244,8 +1244,8 @@ void WheresMyMouth(int nPlayer, vec3_t* pos, sectortype **sectnum) Collision scratch; clipmove(*pos, sectnum, - bcos(pActor->spr.ang, 7), - bsin(pActor->spr.ang, 7), + bcos(pActor->spr.__int_angle, 7), + bsin(pActor->spr.__int_angle, 7), 5120, 1280, 1280, CLIPMASK1, scratch); } @@ -1435,7 +1435,7 @@ void AICreatureChunk::Tick(RunListEvent* ev) } else if (nVal.type == kHitSprite) { - nAngle = nVal.actor()->spr.ang; + nAngle = nVal.actor()->spr.__int_angle; } else if (nVal.type == kHitWall) { diff --git a/source/games/exhumed/src/mummy.cpp b/source/games/exhumed/src/mummy.cpp index 7737d90e2..631869fd9 100644 --- a/source/games/exhumed/src/mummy.cpp +++ b/source/games/exhumed/src/mummy.cpp @@ -48,7 +48,7 @@ void BuildMummy(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->int_pos().Z; - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; ChangeActorStat(pActor, 102); } @@ -65,7 +65,7 @@ void BuildMummy(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, pActor->spr.pal = pActor->sector()->ceilingpal; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.picnum = 1; pActor->spr.hitag = 0; pActor->spr.lotag = runlist_HeadRun() + 1; @@ -181,8 +181,8 @@ void AIMummy::Tick(RunListEvent* ev) pActor->nAction = 1; pActor->nCount = 90; - pActor->spr.xvel = bcos(pActor->spr.ang, -2); - pActor->spr.yvel = bsin(pActor->spr.ang, -2); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); } } } @@ -223,8 +223,8 @@ void AIMummy::Tick(RunListEvent* ev) // loc_2B5A8 if (!pActor->nFrame) { - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); } if (pActor->spr.xvel || pActor->spr.yvel) @@ -264,9 +264,9 @@ void AIMummy::Tick(RunListEvent* ev) { case kHitWall: { - pActor->spr.ang = (pActor->spr.ang + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -2); - pActor->spr.yvel = bsin(pActor->spr.ang, -2); + pActor->spr.__int_angle = (pActor->spr.__int_angle + ((RandomWord() & 0x3FF) + 1024)) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); return; } @@ -275,7 +275,7 @@ void AIMummy::Tick(RunListEvent* ev) if (nMov.actor() == pTarget) { int nAngle = getangle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); - if (AngleDiff(pActor->spr.ang, nAngle) < 64) + if (AngleDiff(pActor->spr.__int_angle, nAngle) < 64) { pActor->nAction = 2; pActor->nFrame = 0; @@ -328,7 +328,7 @@ void AIMummy::Tick(RunListEvent* ev) SetQuake(pActor, 100); // low 16 bits of returned var contains the sprite index, the high 16 the bullet number - auto pBullet = BuildBullet(pActor, 9, -15360, pActor->spr.ang, pTarget, 1); + auto pBullet = BuildBullet(pActor, 9, -15360, pActor->spr.__int_angle, pTarget, 1); CheckMummyRevive(pActor); if (pBullet) diff --git a/source/games/exhumed/src/object.cpp b/source/games/exhumed/src/object.cpp index d2b644aa8..74bd7c3b6 100644 --- a/source/games/exhumed/src/object.cpp +++ b/source/games/exhumed/src/object.cpp @@ -1310,12 +1310,12 @@ void AITrap::Tick(RunListEvent* ev) return; } - auto pBullet = BuildBullet(pActor, nType, 0, pActor->spr.ang, nullptr, 1); + auto pBullet = BuildBullet(pActor, nType, 0, pActor->spr.__int_angle, nullptr, 1); if (pBullet) { if (nType == 15) { - pBullet->spr.ang = (pBullet->spr.ang - 512) & kAngleMask; + pBullet->spr.__int_angle = (pBullet->spr.__int_angle - 512) & kAngleMask; D3PlayFX(StaticSound[kSound32], pBullet); } else @@ -1382,7 +1382,7 @@ DExhumedActor* BuildSpark(DExhumedActor* pActor, int nVal) } else { - int nAngle = (pActor->spr.ang + 256) - RandomSize(9); + int nAngle = (pActor->spr.__int_angle + 256) - RandomSize(9); if (nVal) { @@ -1502,7 +1502,7 @@ void DoFinale() if (!(dword_96788 & 2)) { int nAng = RandomSize(11); - pFinaleSpr->spr.ang = nAng; + pFinaleSpr->spr.__int_angle = nAng; BuildSpark(pFinaleSpr, 1); } @@ -1675,7 +1675,7 @@ void ExplodeEnergyBlock(DExhumedActor* pActor) for (int i = 0; i < 20; i++) { - pActor->spr.ang = RandomSize(11); + pActor->spr.__int_angle = RandomSize(11); BuildSpark(pActor, 1); // shoot out blue orbs } @@ -1741,7 +1741,7 @@ void AIEnergyBlock::Damage(RunListEvent* ev) auto pActor2 = insertActor(lasthitsect, 0); - pActor2->spr.ang = ev->nParam; + pActor2->spr.__int_angle = ev->nParam; pActor2->set_int_pos({ lasthitx, lasthity, lasthitz }); BuildSpark(pActor2, 0); // shoot out blue orb when damaged diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index a6dc36355..4537b2091 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -265,8 +265,8 @@ void RestartPlayer(int nPlayer) pActor->set_int_pos(nNStartSprite->int_pos()); ChangeActorSect(pActor, nNStartSprite->sector()); - plr->angle.ang = buildang(nNStartSprite->spr.ang&kAngleMask); - pActor->spr.ang = plr->angle.ang.asbuild(); + plr->angle.ang = buildang(nNStartSprite->spr.__int_angle&kAngleMask); + pActor->spr.__int_angle = plr->angle.ang.asbuild(); floorsprt = insertActor(pActor->sector(), 0); @@ -280,7 +280,7 @@ void RestartPlayer(int nPlayer) { pActor->set_int_pos({ plr->sPlayerSave.x, plr->sPlayerSave.y, plr->sPlayerSave.pSector->int_floorz() }); plr->angle.ang = buildang(plr->sPlayerSave.nAngle&kAngleMask); - pActor->spr.ang = plr->angle.ang.asbuild(); + pActor->spr.__int_angle = plr->angle.ang.asbuild(); floorsprt = nullptr; } @@ -317,7 +317,7 @@ void RestartPlayer(int nPlayer) pDActor->spr.xoffset = 0; pDActor->spr.yoffset = 0; pDActor->spr.shade = pActor->spr.shade; - pDActor->spr.ang = pActor->spr.ang; + pDActor->spr.__int_angle = pActor->spr.__int_angle; pDActor->spr.cstat = pActor->spr.cstat; pDActor->spr.lotag = runlist_HeadRun() + 1; @@ -593,7 +593,7 @@ static void pickupMessage(int no) void UpdatePlayerSpriteAngle(Player* pPlayer) { inita = pPlayer->angle.ang.asbuild(); - if (pPlayer->pActor) pPlayer->pActor->spr.ang = inita; + if (pPlayer->pActor) pPlayer->pActor->spr.__int_angle = inita; } void AIPlayer::Draw(RunListEvent* ev) @@ -924,7 +924,7 @@ void AIPlayer::Tick(RunListEvent* ev) { auto ang = GetAngleToSprite(pPlayerActor, pSpiritSprite) & kAngleMask; PlayerList[nPlayer].angle.settarget(buildang(ang), true); - pPlayerActor->spr.ang = ang; + pPlayerActor->spr.__int_angle = ang; PlayerList[nPlayer].horizon.settarget(buildhoriz(0), true); @@ -1017,7 +1017,7 @@ void AIPlayer::Tick(RunListEvent* ev) { if ((sect->hitag == 45) && bTouchFloor) { - int nDiff = AngleDiff(nNormal, (pPlayerActor->spr.ang + 1024) & kAngleMask); + int nDiff = AngleDiff(nNormal, (pPlayerActor->spr.__int_angle + 1024) & kAngleMask); if (nDiff < 0) { nDiff = -nDiff; @@ -1284,7 +1284,7 @@ sectdone: HitInfo near; // neartag finds the nearest sector, wall, and sprite which has its hitag and/or lotag set to a value. - neartag(pPlayerActor->int_pos(), pPlayerActor->sector(), pPlayerActor->spr.ang, near, 1024, 2); + neartag(pPlayerActor->int_pos(), pPlayerActor->sector(), pPlayerActor->spr.__int_angle, near, 1024, 2); DExhumedActor* pActorB; feebtag(pPlayerActor->int_pos().X, pPlayerActor->int_pos().Y, pPlayerActor->int_pos().Z, pPlayerActor->sector(), &pActorB, var_30, 768); @@ -2182,7 +2182,7 @@ sectdone: ChangeActorStat(pActorB, 899); } - SetSavePoint(nPlayer, pPlayerActor->int_pos().X, pPlayerActor->int_pos().Y, pPlayerActor->int_pos().Z, pPlayerActor->sector(), pPlayerActor->spr.ang); + SetSavePoint(nPlayer, pPlayerActor->int_pos().X, pPlayerActor->int_pos().Y, pPlayerActor->int_pos().Z, pPlayerActor->sector(), pPlayerActor->spr.__int_angle); break; } @@ -2530,7 +2530,7 @@ sectdone: inity = pPlayerActor->int_pos().Y; initz = pPlayerActor->int_pos().Z; initsectp = pPlayerActor->sector(); - inita = pPlayerActor->spr.ang; + inita = pPlayerActor->spr.__int_angle; } if (!PlayerList[nPlayer].nHealth) @@ -2576,7 +2576,7 @@ sectdone: if (pPlayerActor->sector()->pAbove != nullptr) { - pDopple->spr.ang = pPlayerActor->spr.ang; + pDopple->spr.__int_angle = pPlayerActor->spr.__int_angle; ChangeActorSect(pDopple, pPlayerActor->sector()->pAbove); pDopple->spr.cstat = CSTAT_SPRITE_BLOCK_ALL; } @@ -2737,7 +2737,7 @@ DEFINE_ACTION_FUNCTION(_ExhumedPlayer, IsUnderwater) DEFINE_ACTION_FUNCTION(_ExhumedPlayer, GetAngle) { PARAM_SELF_STRUCT_PROLOGUE(Player); - ACTION_RETURN_INT(self->pActor->spr.ang); + ACTION_RETURN_INT(self->pActor->spr.__int_angle); } diff --git a/source/games/exhumed/src/queen.cpp b/source/games/exhumed/src/queen.cpp index 18359655f..a50ece08b 100644 --- a/source/games/exhumed/src/queen.cpp +++ b/source/games/exhumed/src/queen.cpp @@ -282,7 +282,7 @@ void DestroyAllEggs() void SetHeadVel(DExhumedActor* pActor) { - int nAngle = pActor->spr.ang; + int nAngle = pActor->spr.__int_angle; pActor->spr.xvel = bcos(nAngle, nVelShift); pActor->spr.yvel = bsin(nAngle, nVelShift); @@ -295,7 +295,7 @@ Collision QueenAngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int val if (pActor2 == nullptr) { pActor->spr.zvel = 0; - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; } else { @@ -320,7 +320,7 @@ Collision QueenAngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int val int var_14 = GetMyAngle(nSqrt, edx); - int nAngDelta = AngleDelta(pActor->spr.ang, nMyAngle, 1024); + int nAngDelta = AngleDelta(pActor->spr.__int_angle, nMyAngle, 1024); if (abs(nAngDelta) > 127) { @@ -337,12 +337,12 @@ Collision QueenAngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int val nAngDelta = val2; } - nAngle = (nAngDelta + pActor->spr.ang) & kAngleMask; + nAngle = (nAngDelta + pActor->spr.__int_angle) & kAngleMask; pActor->spr.zvel = (AngleDelta(pActor->spr.zvel, var_14, 24) + pActor->spr.zvel) & kAngleMask; } - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; int da = pActor->spr.zvel; int x = abs(bcos(da)); @@ -448,7 +448,7 @@ void BuildQueenEgg(int nQueen, int nVal) int y = pActor->int_pos().Y; auto pSector =pActor->sector(); int nFloorZ = pSector->int_floorz(); - int nAngle = pActor->spr.ang; + int nAngle = pActor->spr.__int_angle; auto pActor2 = insertActor(pSector, 121); @@ -459,15 +459,15 @@ void BuildQueenEgg(int nQueen, int nVal) pActor2->spr.yoffset = 0; pActor2->spr.shade = -12; pActor2->spr.picnum = 1; - pActor2->spr.ang = (RandomSize(9) + (nAngle - 256)) & kAngleMask; + pActor2->spr.__int_angle = (RandomSize(9) + (nAngle - 256)) & kAngleMask; pActor2->backuppos(); if (!nVal) { pActor2->spr.xrepeat = 30; pActor2->spr.yrepeat = 30; - pActor2->spr.xvel = bcos(pActor2->spr.ang); - pActor2->spr.yvel = bsin(pActor2->spr.ang); + pActor2->spr.xvel = bcos(pActor2->spr.__int_angle); + pActor2->spr.yvel = bsin(pActor2->spr.__int_angle); pActor2->spr.zvel = -6000; pActor2->spr.cstat = 0; } @@ -588,11 +588,11 @@ void AIQueenEgg::Tick(RunListEvent* ev) nAngle = GetWallNormal(nMov.hitWall); break; case kHitSprite: - nAngle = nMov.actor()->spr.ang; + nAngle = nMov.actor()->spr.__int_angle; break; } - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.xvel = bcos(nAngle, -1); pActor->spr.yvel = bsin(nAngle, -1); } @@ -624,10 +624,10 @@ void AIQueenEgg::Tick(RunListEvent* ev) } [[fallthrough]]; case kHitWall: - pActor->spr.ang += (RandomSize(9) + 768); - pActor->spr.ang &= kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -3); - pActor->spr.yvel = bsin(pActor->spr.ang, -3); + pActor->spr.__int_angle += (RandomSize(9) + 768); + pActor->spr.__int_angle &= kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -3); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -3); pActor->spr.zvel = -RandomSize(5); break; } @@ -651,7 +651,7 @@ void AIQueenEgg::Tick(RunListEvent* ev) pEgg->nCounter--; if (pEgg->nCounter <= 0) { - auto pWaspSprite = BuildWasp(nullptr, pActor->int_pos().X, pActor->int_pos().Y, pActor->int_pos().Z, pActor->sector(), pActor->spr.ang, true); + auto pWaspSprite = BuildWasp(nullptr, pActor->int_pos().X, pActor->int_pos().Y, pActor->int_pos().Z, pActor->sector(), pActor->spr.__int_angle, true); pActor->set_int_z(pWaspSprite->int_pos().Z); DestroyEgg(nEgg); @@ -704,7 +704,7 @@ void BuildQueenHead(int nQueen) int x = pActor->int_pos().X; int y = pActor->int_pos().Y; - int nAngle = pActor->spr.ang; + int nAngle = pActor->spr.__int_angle; auto pSector = pActor->sector(); int z = pSector->int_floorz(); @@ -720,7 +720,7 @@ void BuildQueenHead(int nQueen) pActor2->spr.pal = 0; pActor2->spr.xoffset = 0; pActor2->spr.yoffset = 0; - pActor2->spr.ang = nAngle; + pActor2->spr.__int_angle = nAngle; nVelShift = 2; SetHeadVel(pActor2); @@ -812,11 +812,11 @@ void AIQueenHead::Tick(RunListEvent* ev) auto nMov = MoveCreature(pActor); // original BUG - this line doesn't exist in original code? - int nNewAng = pActor->spr.ang; + int nNewAng = pActor->spr.__int_angle; if (nMov.exbits == 0) { - if (nMov.type == kHitSprite) nNewAng = nMov.actor()->spr.ang; + if (nMov.type == kHitSprite) nNewAng = nMov.actor()->spr.__int_angle; else if (nMov.type == kHitWall) nNewAng = GetWallNormal(nMov.hitWall); } else if (nMov.exbits == kHitAux2) @@ -831,7 +831,7 @@ void AIQueenHead::Tick(RunListEvent* ev) } // original BUG - var_18 isn't being set if the check above == 0x20000 ? - pActor->spr.ang = nNewAng; + pActor->spr.__int_angle = nNewAng; nVelShift++; if (nVelShift < 5) @@ -906,8 +906,8 @@ void AIQueenHead::Tick(RunListEvent* ev) runlist_DamageEnemy(pTarget, pActor, 10); D3PlayFX(StaticSound[kSoundQTail] | 0x2000, pActor); - pActor->spr.ang += RandomSize(9) + 768; - pActor->spr.ang &= kAngleMask; + pActor->spr.__int_angle += RandomSize(9) + 768; + pActor->spr.__int_angle &= kAngleMask; pActor->spr.zvel = (-20) - RandomSize(6); @@ -923,7 +923,7 @@ void AIQueenHead::Tick(RunListEvent* ev) MoveQZ[nQHead] = pActor->int_pos().Z; assert(pActor->sector()); MoveQS[nQHead] = pActor->sector(); - MoveQA[nQHead] = pActor->spr.ang; + MoveQA[nQHead] = pActor->spr.__int_angle; nHd = nQHead; @@ -946,7 +946,7 @@ void AIQueenHead::Tick(RunListEvent* ev) } pTActor->set_int_pos({ MoveQX[nHd], MoveQY[nHd], MoveQZ[nHd] }); - pTActor->spr.ang = MoveQA[nHd]; + pTActor->spr.__int_angle = MoveQA[nHd]; } } @@ -1114,7 +1114,7 @@ void BuildQueen(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->sector()->int_floorz(); - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; } pActor->set_int_pos({ x, y, z }); @@ -1127,7 +1127,7 @@ void BuildQueen(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; pActor->spr.picnum = 1; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; @@ -1158,8 +1158,8 @@ void BuildQueen(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, void SetQueenSpeed(DExhumedActor* pActor, int nSpeed) { - pActor->spr.xvel = bcos(pActor->spr.ang, -(2 - nSpeed)); - pActor->spr.yvel = bsin(pActor->spr.ang, -(2 - nSpeed)); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -(2 - nSpeed)); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -(2 - nSpeed)); } void AIQueen::Tick(RunListEvent* ev) @@ -1303,8 +1303,8 @@ void AIQueen::Tick(RunListEvent* ev) } [[fallthrough]]; case 0x8000: - pActor->spr.ang += 256; - pActor->spr.ang &= kAngleMask; + pActor->spr.__int_angle += 256; + pActor->spr.__int_angle &= kAngleMask; SetQueenSpeed(pActor, si); break; @@ -1346,7 +1346,7 @@ void AIQueen::Tick(RunListEvent* ev) if (!si) { - BuildBullet(pActor, 12, -1, pActor->spr.ang, pTarget, 1); + BuildBullet(pActor, 12, -1, pActor->spr.__int_angle, pTarget, 1); } else { diff --git a/source/games/exhumed/src/rat.cpp b/source/games/exhumed/src/rat.cpp index 125a57caa..b8f370e8b 100644 --- a/source/games/exhumed/src/rat.cpp +++ b/source/games/exhumed/src/rat.cpp @@ -69,8 +69,8 @@ void InitRats() void SetRatVel(DExhumedActor* pActor) { - pActor->spr.xvel = bcos(pActor->spr.ang, -2); - pActor->spr.yvel = bsin(pActor->spr.ang, -2); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); } void BuildRat(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, int nAngle) @@ -84,7 +84,7 @@ void BuildRat(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->int_pos().Z; - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; ChangeActorStat(pActor, 108); } @@ -97,7 +97,7 @@ void BuildRat(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i pActor->spr.picnum = 1; pActor->spr.pal = pActor->sector()->ceilingpal; pActor->spr.clipdist = 30; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.xrepeat = 50; pActor->spr.yrepeat = 50; pActor->spr.xvel = 0; @@ -332,7 +332,7 @@ void AIRat::Tick(RunListEvent* ev) return; } - pActor->spr.ang = RandomSize(11); + pActor->spr.__int_angle = RandomSize(11); SetRatVel(pActor); return; } diff --git a/source/games/exhumed/src/rex.cpp b/source/games/exhumed/src/rex.cpp index 3596e9d34..f2f916caf 100644 --- a/source/games/exhumed/src/rex.cpp +++ b/source/games/exhumed/src/rex.cpp @@ -48,7 +48,7 @@ void BuildRex(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->sector()->int_floorz(); - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; ChangeActorStat(pActor, 119); } @@ -63,7 +63,7 @@ void BuildRex(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i pActor->spr.pal = pActor->sector()->ceilingpal; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; @@ -206,9 +206,9 @@ void AIRex::Tick(RunListEvent* ev) { if (pTarget == nullptr) { - auto nAngle = pActor->spr.ang; // make backup of this variable + auto nAngle = pActor->spr.__int_angle; // make backup of this variable pActor->pTarget = FindPlayer(pActor, 60); - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; } else { @@ -224,8 +224,8 @@ void AIRex::Tick(RunListEvent* ev) pActor->nAction = 1; pActor->nFrame = 0; - pActor->spr.xvel = bcos(pActor->spr.ang, -2); - pActor->spr.yvel = bsin(pActor->spr.ang, -2); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); D3PlayFX(StaticSound[kSound48], pActor); @@ -257,7 +257,7 @@ void AIRex::Tick(RunListEvent* ev) { if (((PlotCourseToSprite(pActor, pTarget) >> 8) >= 60) || pActor->nCount > 0) { - int nAngle = pActor->spr.ang & 0xFFF8; + int nAngle = pActor->spr.__int_angle & 0xFFF8; pActor->spr.xvel = bcos(nAngle, -2); pActor->spr.yvel = bsin(nAngle, -2); } @@ -289,9 +289,9 @@ void AIRex::Tick(RunListEvent* ev) } case kHitWall: { - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -2); - pActor->spr.yvel = bsin(pActor->spr.ang, -2); + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); pActor->nAction = 1; pActor->nFrame = 0; nAction = 1; @@ -309,8 +309,8 @@ void AIRex::Tick(RunListEvent* ev) { PlotCourseToSprite(pActor, pTarget); - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); auto nMov = MoveCreatureWithCaution(pActor); @@ -321,9 +321,9 @@ void AIRex::Tick(RunListEvent* ev) SetQuake(pActor, 25); pActor->nCount = 60; - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -2); - pActor->spr.yvel = bsin(pActor->spr.ang, -2); + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -2); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -2); pActor->nAction = 1; pActor->nFrame = 0; nAction = 1; @@ -338,7 +338,7 @@ void AIRex::Tick(RunListEvent* ev) if (pHitActor->spr.statnum && pHitActor->spr.statnum < 107) { - int nAngle = pActor->spr.ang; + int nAngle = pActor->spr.__int_angle; runlist_DamageEnemy(nMov.actor(), pActor, 15); diff --git a/source/games/exhumed/src/roach.cpp b/source/games/exhumed/src/roach.cpp index 8a96ed61e..a294f1970 100644 --- a/source/games/exhumed/src/roach.cpp +++ b/source/games/exhumed/src/roach.cpp @@ -47,7 +47,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, int x, int y, int z, sectortyp x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->sector()->int_floorz(); - angle = pActor->spr.ang; + angle = pActor->spr.__int_angle; } pActor->set_int_pos({ x, y, z }); @@ -58,7 +58,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, int x, int y, int z, sectortyp pActor->spr.picnum = 1; pActor->spr.pal = pActor->sector()->ceilingpal; pActor->spr.clipdist = 60; - pActor->spr.ang = angle; + pActor->spr.__int_angle = angle; pActor->spr.xrepeat = 40; pActor->spr.yrepeat = 40; pActor->spr.xvel = 0; @@ -93,8 +93,8 @@ void BuildRoach(int nType, DExhumedActor* pActor, int x, int y, int z, sectortyp void GoRoach(DExhumedActor* pActor) { - pActor->spr.xvel = bcos(pActor->spr.ang, -1) - bcos(pActor->spr.ang, -3); - pActor->spr.yvel = bsin(pActor->spr.ang, -1) - bsin(pActor->spr.ang, -3); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1) - bcos(pActor->spr.__int_angle, -3); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1) - bsin(pActor->spr.__int_angle, -3); } void AIRoach::Draw(RunListEvent* ev) @@ -275,19 +275,19 @@ void AIRoach::Tick(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.ang = GetMyAngle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); + pActor->spr.__int_angle = GetMyAngle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); pActor->nFrame = 0; } else { - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; GoRoach(pActor); } } else if (nMov.type == kHitWall) { - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; GoRoach(pActor); } else @@ -304,7 +304,7 @@ void AIRoach::Tick(RunListEvent* ev) pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.ang = GetMyAngle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); + pActor->spr.__int_angle = GetMyAngle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); pActor->nFrame = 0; } @@ -340,7 +340,7 @@ void AIRoach::Tick(RunListEvent* ev) { if (nFlag & 0x80) { - BuildBullet(pActor, 13, -1, pActor->spr.ang, pTarget, 1); + BuildBullet(pActor, 13, -1, pActor->spr.__int_angle, pTarget, 1); } } diff --git a/source/games/exhumed/src/scorp.cpp b/source/games/exhumed/src/scorp.cpp index bfb59a2be..25736b0ef 100644 --- a/source/games/exhumed/src/scorp.cpp +++ b/source/games/exhumed/src/scorp.cpp @@ -51,7 +51,7 @@ void BuildScorp(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->sector()->int_floorz(); - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; } pActor->set_int_pos({ x, y, z }); @@ -64,7 +64,7 @@ void BuildScorp(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, pActor->spr.pal = pActor->sector()->ceilingpal; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; @@ -220,8 +220,8 @@ void AIScorp::Tick(RunListEvent* ev) D3PlayFX(StaticSound[kSound41], pActor); pActor->nFrame = 0; - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); pActor->nAction = 1; pActor->pTarget = pTarget; @@ -249,7 +249,7 @@ void AIScorp::Tick(RunListEvent* ev) if (pTarget == nMov.actor()) { int nAngle = getangle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); - if (AngleDiff(pActor->spr.ang, nAngle) < 64) + if (AngleDiff(pActor->spr.__int_angle, nAngle) < 64) { pActor->nAction = 2; pActor->nFrame = 0; @@ -305,8 +305,8 @@ void AIScorp::Tick(RunListEvent* ev) { pActor->nAction = 1; - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); pActor->nFrame = 0; return; @@ -317,7 +317,7 @@ void AIScorp::Tick(RunListEvent* ev) return; } - auto nBulletSprite = BuildBullet(pActor, 16, -1, pActor->spr.ang, pTarget, 1); + auto nBulletSprite = BuildBullet(pActor, 16, -1, pActor->spr.__int_angle, pTarget, 1); if (nBulletSprite) { PlotCourseToSprite(nBulletSprite, pTarget); @@ -367,15 +367,15 @@ void AIScorp::Tick(RunListEvent* ev) return; } - auto pSpiderActor = BuildSpider(nullptr, pActor->int_pos().X, pActor->int_pos().Y, pActor->int_pos().Z, pActor->sector(), pActor->spr.ang); + auto pSpiderActor = BuildSpider(nullptr, pActor->int_pos().X, pActor->int_pos().Y, pActor->int_pos().Z, pActor->sector(), pActor->spr.__int_angle); if (pSpiderActor) { - pSpiderActor->spr.ang = RandomSize(11); + pSpiderActor->spr.__int_angle = RandomSize(11); int nVel = RandomSize(5) + 1; - pSpiderActor->spr.xvel = bcos(pSpiderActor->spr.ang, -8) * nVel; - pSpiderActor->spr.yvel = bsin(pSpiderActor->spr.ang, -8) * nVel; + pSpiderActor->spr.xvel = bcos(pSpiderActor->spr.__int_angle, -8) * nVel; + pSpiderActor->spr.yvel = bsin(pSpiderActor->spr.__int_angle, -8) * nVel; pSpiderActor->spr.zvel = (-(RandomSize(5) + 3)) << 8; } @@ -410,11 +410,11 @@ void AIScorp::Effect(RunListEvent* ev, DExhumedActor* pTarget, int mode) if (mode == 0) { PlotCourseToSprite(pActor, pTarget); - pActor->spr.ang += RandomSize(7) - 63; - pActor->spr.ang &= kAngleMask; + pActor->spr.__int_angle += RandomSize(7) - 63; + pActor->spr.__int_angle &= kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); } if (mode <= 1) { @@ -431,7 +431,7 @@ void AIScorp::Effect(RunListEvent* ev, DExhumedActor* pTarget, int mode) { pActor->spr.xvel = 0; pActor->spr.yvel = 0; - pActor->spr.ang = GetMyAngle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); + pActor->spr.__int_angle = GetMyAngle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); pActor->nIndex = RandomSize(2) + RandomSize(3); diff --git a/source/games/exhumed/src/sequence.cpp b/source/games/exhumed/src/sequence.cpp index 03dfee257..4cc5e1230 100644 --- a/source/games/exhumed/src/sequence.cpp +++ b/source/games/exhumed/src/sequence.cpp @@ -481,7 +481,7 @@ int seq_PlotArrowSequence(int nSprite, int16_t nSeq, int nVal) tspritetype* pTSprite = mytspriteArray->get(nSprite); int nAngle = GetMyAngle(nCamerax - pTSprite->int_pos().X, nCameray - pTSprite->int_pos().Y); - int nSeqOffset = ((((pTSprite->ang + 512) - nAngle) + 128) & kAngleMask) >> 8; + int nSeqOffset = ((((pTSprite->__int_angle + 512) - nAngle) + 128) & kAngleMask) >> 8; int16_t nFrame = SeqBase[nSeqOffset + nSeq] + nVal; @@ -538,7 +538,7 @@ int seq_PlotSequence(int nSprite, int16_t edx, int16_t nFrame, int16_t ecx) } else { - val = (((pTSprite->ang - nAngle) + 128) & kAngleMask) >> 8; + val = (((pTSprite->__int_angle - nAngle) + 128) & kAngleMask) >> 8; } int eax = SeqBase[edx] + nFrame; @@ -587,7 +587,7 @@ int seq_PlotSequence(int nSprite, int16_t edx, int16_t nFrame, int16_t ecx) tsp->pal = pTSprite->pal; tsp->xrepeat = pTSprite->xrepeat; tsp->yrepeat = pTSprite->yrepeat; - tsp->ang = pTSprite->ang; + tsp->__int_angle = pTSprite->__int_angle; tsp->ownerActor = pTSprite->ownerActor; tsp->sectp = pTSprite->sectp; tsp->cstat = pTSprite->cstat |= CSTAT_SPRITE_YCENTER; diff --git a/source/games/exhumed/src/set.cpp b/source/games/exhumed/src/set.cpp index 8c270d803..626dfa92c 100644 --- a/source/games/exhumed/src/set.cpp +++ b/source/games/exhumed/src/set.cpp @@ -51,7 +51,7 @@ void BuildSet(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i x = pActor->int_pos().X; y = pActor->int_pos().Y; z = pActor->sector()->int_floorz(); - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; } pActor->set_int_pos({ x, y, z }); @@ -66,7 +66,7 @@ void BuildSet(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, i pActor->spr.pal = pActor->sector()->ceilingpal; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.picnum = 1; pActor->spr.hitag = 0; pActor->spr.lotag = runlist_HeadRun() + 1; @@ -106,7 +106,7 @@ void BuildSoul(DExhumedActor* pSet) pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; pActor->spr.picnum = seq_GetSeqPicnum(kSeqSet, 75, 0); - pActor->spr.ang = RandomSize(11); + pActor->spr.__int_angle = RandomSize(11); pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = (-256) - RandomSize(10); @@ -141,7 +141,7 @@ void AISoul::Tick(RunListEvent* ev) int nVel = bcos(pActor->spr.extra, -7); - auto coll = movesprite(pActor, bcos(pActor->spr.ang) * nVel, bsin(pActor->spr.ang) * nVel, pActor->spr.zvel, 5120, 0, CLIPMASK0); + auto coll = movesprite(pActor, bcos(pActor->spr.__int_angle) * nVel, bsin(pActor->spr.__int_angle) * nVel, pActor->spr.zvel, 5120, 0, CLIPMASK0); if (coll.exbits & 0x10000) { DExhumedActor* pSet = pActor->pTarget; @@ -297,8 +297,8 @@ void AISet::Tick(RunListEvent* ev) pActor->nFrame = 0; pActor->pTarget = pTarget; - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); } } @@ -390,7 +390,7 @@ void AISet::Tick(RunListEvent* ev) } // loc_338E2 - int nAngle = pActor->spr.ang & 0xFFF8; + int nAngle = pActor->spr.__int_angle & 0xFFF8; pActor->spr.xvel = bcos(nAngle, -1); pActor->spr.yvel = bsin(nAngle, -1); @@ -420,9 +420,9 @@ void AISet::Tick(RunListEvent* ev) } } - pActor->spr.ang = (pActor->spr.ang + 256) & kAngleMask; - pActor->spr.xvel = bcos(pActor->spr.ang, -1); - pActor->spr.yvel = bsin(pActor->spr.ang, -1); + pActor->spr.__int_angle = (pActor->spr.__int_angle + 256) & kAngleMask; + pActor->spr.xvel = bcos(pActor->spr.__int_angle, -1); + pActor->spr.yvel = bsin(pActor->spr.__int_angle, -1); break; } else if (nMov.type == kHitSprite) @@ -430,7 +430,7 @@ void AISet::Tick(RunListEvent* ev) if (pTarget == nMov.actor()) { int nAng = getangle(pTarget->int_pos().X - pActor->int_pos().X, pTarget->int_pos().Y - pActor->int_pos().Y); - if (AngleDiff(pActor->spr.ang, nAng) < 64) + if (AngleDiff(pActor->spr.__int_angle, nAng) < 64) { pActor->nAction = 4; pActor->nFrame = 0; @@ -494,7 +494,7 @@ void AISet::Tick(RunListEvent* ev) { if (nFlag & 0x80) { - auto pBullet = BuildBullet(pActor, 11, -1, pActor->spr.ang, pTarget, 1); + auto pBullet = BuildBullet(pActor, 11, -1, pActor->spr.__int_angle, pTarget, 1); if (pBullet) SetBulletEnemy(pBullet->nPhase, pTarget); @@ -524,8 +524,8 @@ void AISet::Tick(RunListEvent* ev) pActor->nAction = 8; pActor->nFrame = 0; - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); } return; } diff --git a/source/games/exhumed/src/snake.cpp b/source/games/exhumed/src/snake.cpp index a74d665c0..70585bb89 100644 --- a/source/games/exhumed/src/snake.cpp +++ b/source/games/exhumed/src/snake.cpp @@ -136,7 +136,7 @@ void BuildSnake(int nPlayer, int zVal) int x = pPlayerActor->int_pos().X; int y = pPlayerActor->int_pos().Y; int z = (pPlayerActor->int_pos().Z + zVal) - 2560; - int nAngle = pPlayerActor->spr.ang; + int nAngle = pPlayerActor->spr.__int_angle; HitInfo hit{}; hitscan({ x, y, z }, pPlayerActor->sector(), { bcos(nAngle), bsin(nAngle), 0 }, hit, CLIPMASK1); @@ -212,7 +212,7 @@ void BuildSnake(int nPlayer, int zVal) pActor->spr.pal = 0; pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; - pActor->spr.ang = pPlayerActor->spr.ang; + pActor->spr.__int_angle = pPlayerActor->spr.__int_angle; pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; @@ -259,7 +259,7 @@ DExhumedActor* FindSnakeEnemy(int nSnake) DExhumedActor* pActor = SnakeList[nSnake].pSprites[0]; // CHECKME if (!pActor) return nullptr; - int nAngle = pActor->spr.ang; + int nAngle = pActor->spr.__int_angle; auto pSector =pActor->sector(); int esi = 2048; @@ -320,8 +320,8 @@ void AISnake::Tick(RunListEvent* ev) { SEARCH_ENEMY: nMov = movesprite(pActor, - 600 * bcos(pActor->spr.ang), - 600 * bsin(pActor->spr.ang), + 600 * bcos(pActor->spr.__int_angle), + 600 * bsin(pActor->spr.__int_angle), bsin(SnakeList[nSnake].nAngle, -5), 0, 0, CLIPMASK1); @@ -356,7 +356,7 @@ void AISnake::Tick(RunListEvent* ev) } else { - int nAngle = pActor->spr.ang; + int nAngle = pActor->spr.__int_angle; int var_30 = -bcos(nAngle, 6); int var_34 = -bsin(nAngle, 6); @@ -376,7 +376,7 @@ void AISnake::Tick(RunListEvent* ev) DExhumedActor* pActor2 = SnakeList[nSnake].pSprites[i]; if (!pActor2) continue; - pActor2->spr.ang = nAngle; + pActor2->spr.__int_angle = nAngle; pActor2->set_int_pos({ x, y, z }); ChangeActorSect(pActor2, pSector); diff --git a/source/games/exhumed/src/sound.cpp b/source/games/exhumed/src/sound.cpp index 83080e82e..38031f301 100644 --- a/source/games/exhumed/src/sound.cpp +++ b/source/games/exhumed/src/sound.cpp @@ -504,7 +504,7 @@ void GameInterface::UpdateSounds() { Snake *pSnake = &SnakeList[nSnakeCam]; pos = pSnake->pSprites[0]->int_pos(); - ang = pSnake->pSprites[0]->spr.ang; + ang = pSnake->pSprites[0]->spr.__int_angle; } else { diff --git a/source/games/exhumed/src/spider.cpp b/source/games/exhumed/src/spider.cpp index 342501710..b0f5ce7f1 100644 --- a/source/games/exhumed/src/spider.cpp +++ b/source/games/exhumed/src/spider.cpp @@ -49,7 +49,7 @@ DExhumedActor* BuildSpider(DExhumedActor* spp, int x, int y, int z, sectortype* x = spp->int_pos().X; y = spp->int_pos().Y; z = spp->sector()->int_floorz(); - nAngle = spp->spr.ang; + nAngle = spp->spr.__int_angle; } spp->set_int_pos({ x, y, z }); @@ -64,7 +64,7 @@ DExhumedActor* BuildSpider(DExhumedActor* spp, int x, int y, int z, sectortype* spp->spr.pal = spp->sector()->ceilingpal; spp->spr.xoffset = 0; spp->spr.yoffset = 0; - spp->spr.ang = nAngle; + spp->spr.__int_angle = nAngle; spp->spr.picnum = 1; spp->spr.hitag = 0; spp->spr.lotag = runlist_HeadRun() + 1; @@ -144,8 +144,8 @@ void AISpider::Tick(RunListEvent* ev) spp->nFrame = 0; spp->pTarget = pTarget; - spp->spr.xvel = bcos(spp->spr.ang); - spp->spr.yvel = bsin(spp->spr.ang); + spp->spr.xvel = bcos(spp->spr.__int_angle); + spp->spr.yvel = bsin(spp->spr.__int_angle); return; } } @@ -195,8 +195,8 @@ void AISpider::Tick(RunListEvent* ev) if (RandomSize(3)) { - spp->spr.xvel = bcos(spp->spr.ang); - spp->spr.yvel = bsin(spp->spr.ang); + spp->spr.xvel = bcos(spp->spr.__int_angle); + spp->spr.yvel = bsin(spp->spr.__int_angle); } else { @@ -301,9 +301,9 @@ void AISpider::Tick(RunListEvent* ev) { case kHitWall: { - spp->spr.ang = (spp->spr.ang + 256) & 0x7EF; - spp->spr.xvel = bcos(spp->spr.ang); - spp->spr.yvel = bsin(spp->spr.ang); + spp->spr.__int_angle = (spp->spr.__int_angle + 256) & 0x7EF; + spp->spr.xvel = bcos(spp->spr.__int_angle); + spp->spr.yvel = bsin(spp->spr.__int_angle); return; } case kHitSprite: @@ -311,7 +311,7 @@ void AISpider::Tick(RunListEvent* ev) if (nMov.actor() == pTarget) { int nAng = getangle(pTarget->int_pos().X - spp->int_pos().X, pTarget->int_pos().Y - spp->int_pos().Y); - if (AngleDiff(spp->spr.ang, nAng) < 64) + if (AngleDiff(spp->spr.__int_angle, nAng) < 64) { spp->nAction = 2; spp->nFrame = 0; diff --git a/source/games/exhumed/src/view.cpp b/source/games/exhumed/src/view.cpp index 497c0f856..e30df46de 100644 --- a/source/games/exhumed/src/view.cpp +++ b/source/games/exhumed/src/view.cpp @@ -74,7 +74,7 @@ static void analyzesprites(tspriteArray& tsprites, int x, int y, int z, double c { // interpolate sprite position pTSprite->pos = pTSprite->ownerActor->interpolatedvec3(smoothratio); - pTSprite->ang = pTSprite->ownerActor->interpolatedang(smoothratio); + pTSprite->__int_angle = pTSprite->ownerActor->interpolatedang(smoothratio); } } @@ -88,7 +88,7 @@ static void analyzesprites(tspriteArray& tsprites, int x, int y, int z, double c auto pSector =pPlayerActor->sector(); - int nAngle = (2048 - pPlayerActor->spr.ang) & kAngleMask; + int nAngle = (2048 - pPlayerActor->spr.__int_angle) & kAngleMask; for (int nTSprite = int(tsprites.Size()-1); nTSprite >= 0; nTSprite--) { @@ -211,7 +211,7 @@ void DrawView(double smoothRatio, bool sceneonly) playerY = pActor->int_pos().Y; playerZ = pActor->int_pos().Z; pSector = pActor->sector(); - nAngle = buildang(pActor->spr.ang); + nAngle = buildang(pActor->spr.__int_angle); rotscrnang = buildang(0); SetGreenPal(); @@ -374,7 +374,7 @@ void DrawView(double smoothRatio, bool sceneonly) pPlayerActor->spr.cstat |= CSTAT_SPRITE_INVISIBLE; - int ang2 = nCameraa.asbuild() - pPlayerActor->spr.ang; + int ang2 = nCameraa.asbuild() - pPlayerActor->spr.__int_angle; if (ang2 < 0) ang2 = -ang2; diff --git a/source/games/exhumed/src/wasp.cpp b/source/games/exhumed/src/wasp.cpp index b368abcb3..b5069402e 100644 --- a/source/games/exhumed/src/wasp.cpp +++ b/source/games/exhumed/src/wasp.cpp @@ -36,8 +36,8 @@ static actionSeq WaspSeq[] = { void SetWaspVel(DExhumedActor* pActor) { - pActor->spr.xvel = bcos(pActor->spr.ang); - pActor->spr.yvel = bsin(pActor->spr.ang); + pActor->spr.xvel = bcos(pActor->spr.__int_angle); + pActor->spr.yvel = bsin(pActor->spr.__int_angle); } DExhumedActor* BuildWasp(DExhumedActor* pActor, int x, int y, int z, sectortype* pSector, int nAngle, bool bEggWasp) @@ -50,7 +50,7 @@ DExhumedActor* BuildWasp(DExhumedActor* pActor, int x, int y, int z, sectortype* } else { - nAngle = pActor->spr.ang; + nAngle = pActor->spr.__int_angle; ChangeActorStat(pActor, 107); } @@ -73,7 +73,7 @@ DExhumedActor* BuildWasp(DExhumedActor* pActor, int x, int y, int z, sectortype* pActor->spr.xoffset = 0; pActor->spr.yoffset = 0; pActor->spr.picnum = 1; - pActor->spr.ang = nAngle; + pActor->spr.__int_angle = nAngle; pActor->spr.xvel = 0; pActor->spr.yvel = 0; pActor->spr.zvel = 0; @@ -156,8 +156,8 @@ void AIWasp::Damage(RunListEvent* ev) } pActor->nAction = 1; - pActor->spr.ang += RandomSize(9) + 768; - pActor->spr.ang &= kAngleMask; + pActor->spr.__int_angle += RandomSize(9) + 768; + pActor->spr.__int_angle &= kAngleMask; pActor->nVel = 3000; @@ -170,7 +170,7 @@ void AIWasp::Damage(RunListEvent* ev) pActor->nFrame = 0; pActor->spr.cstat = 0; - pActor->spr.ang = (pActor->spr.ang + 1024) & kAngleMask; + pActor->spr.__int_angle = (pActor->spr.__int_angle + 1024) & kAngleMask; SetWaspVel(pActor); @@ -304,8 +304,8 @@ void AIWasp::Tick(RunListEvent* ev) { if (bVal) { - pActor->spr.ang += RandomSize(9) + 768; - pActor->spr.ang &= kAngleMask; + pActor->spr.__int_angle += RandomSize(9) + 768; + pActor->spr.__int_angle &= kAngleMask; pActor->spr.zvel = (-20) - RandomSize(6); pActor->nAction = 1; diff --git a/source/games/sw/src/actor.cpp b/source/games/sw/src/actor.cpp index 7384c6f77..f7a778f5c 100644 --- a/source/games/sw/src/actor.cpp +++ b/source/games/sw/src/actor.cpp @@ -127,7 +127,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath) actor->user.RotNum = 0; actor->spr.xvel <<= 1; actor->user.ActorActionFunc = nullptr; - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); break; case NINJA_RUN_R0: @@ -158,7 +158,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath) actor->spr.xvel = 200 + RandomRange(200); actor->user.jump_speed = -200 - RandomRange(250); DoActorBeginJump(actor); - actor->spr.ang = weapActor->spr.ang; + actor->spr.__int_angle = weapActor->spr.__int_angle; } } else @@ -177,7 +177,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath) actor->user.ActorActionFunc = nullptr; //actor->user.ActorActionFunc = NullAnimator; if (!sw_ninjahack) - actor->spr.ang = weapActor->spr.ang; + actor->spr.__int_angle = weapActor->spr.__int_angle; break; case COOLG_RUN_R0: @@ -211,7 +211,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath) } actor->user.ActorActionFunc = nullptr; // Get angle to player - actor->spr.ang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y) + 1024); + actor->spr.__int_angle = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y) + 1024); break; case UZI_SMOKE+1: // Shotgun @@ -234,7 +234,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath) DoActorBeginJump(actor); actor->user.ActorActionFunc = nullptr; // Get angle to player - actor->spr.ang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y) + 1024); + actor->spr.__int_angle = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y) + 1024); break; default: @@ -259,7 +259,7 @@ int DoActorDie(DSWActor* actor, DSWActor* weapActor, int meansofdeath) actor->spr.xvel = 300 + RandomRange(400); actor->user.jump_speed = -300 - RandomRange(350); DoActorBeginJump(actor); - actor->spr.ang = weapActor->spr.ang; + actor->spr.__int_angle = weapActor->spr.__int_angle; break; } break; @@ -413,16 +413,16 @@ int DoActorDebris(DSWActor* actor) } else { - //nx = actor->spr.xvel * ACTORMOVETICS * bcos(actor->spr.ang) >> 14; - //ny = actor->spr.xvel * ACTORMOVETICS * bsin(actor->spr.ang) >> 14; - nx = MulScale(ACTORMOVETICS, bcos(actor->spr.ang), 14); - ny = MulScale(ACTORMOVETICS, bsin(actor->spr.ang), 14); + //nx = actor->spr.xvel * ACTORMOVETICS * bcos(actor->spr.__int_angle) >> 14; + //ny = actor->spr.xvel * ACTORMOVETICS * bsin(actor->spr.__int_angle) >> 14; + nx = MulScale(ACTORMOVETICS, bcos(actor->spr.__int_angle), 14); + ny = MulScale(ACTORMOVETICS, bsin(actor->spr.__int_angle), 14); //actor->spr.clipdist = (256+128)>>2; if (!move_debris(actor, nx, ny, 0L)) { - actor->spr.ang = RANDOM_P2(2048); + actor->spr.__int_angle = RANDOM_P2(2048); } } @@ -445,13 +445,13 @@ int DoFireFly(DSWActor* actor) { int nx, ny; - nx = 4 * ACTORMOVETICS * bcos(actor->spr.ang) >> 14; - ny = 4 * ACTORMOVETICS * bsin(actor->spr.ang) >> 14; + nx = 4 * ACTORMOVETICS * bcos(actor->spr.__int_angle) >> 14; + ny = 4 * ACTORMOVETICS * bsin(actor->spr.__int_angle) >> 14; actor->spr.clipdist = 256>>2; if (!move_actor(actor, nx, ny, 0L)) { - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); } actor->user.WaitTics = (actor->user.WaitTics + (ACTORMOVETICS << 1)) & 2047; @@ -476,7 +476,7 @@ int DoGenerateSewerDebris(DSWActor* actor) { actor->user.Tics = actor->user.WaitTics; - auto spawned = SpawnActor(STAT_DEAD_ACTOR, 0, Debris[RANDOM_P2(4<<8)>>8], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 200); + auto spawned = SpawnActor(STAT_DEAD_ACTOR, 0, Debris[RANDOM_P2(4<<8)>>8], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 200); SetOwner(actor, spawned); } @@ -737,8 +737,8 @@ int DoActorStopFall(DSWActor* actor) // don't stand on face or wall sprites - jump again if (actor->user.lowActor && !(actor->user.lowActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_FLOOR)) { - //actor->spr.ang = NORM_ANGLE(actor->spr.ang + (RANDOM_P2(64<<8)>>8) - 32); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024 + (RANDOM_P2(512<<8)>>8)); + //actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (RANDOM_P2(64<<8)>>8) - 32); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024 + (RANDOM_P2(512<<8)>>8)); actor->user.jump_speed = -350; DoActorBeginJump(actor); @@ -782,8 +782,8 @@ int DoActorDeathMove(DSWActor* actor) DoActorFall(actor); } - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); actor->spr.clipdist = (128+64)>>2; move_actor(actor, nx, ny, 0); diff --git a/source/games/sw/src/ai.cpp b/source/games/sw/src/ai.cpp index 8400b7e8d..ea445d3fe 100644 --- a/source/games/sw/src/ai.cpp +++ b/source/games/sw/src/ai.cpp @@ -438,7 +438,7 @@ int DoActorOperate(DSWActor* actor) for (i = 0; i < SIZ(z); i++) { - neartag({ actor->int_pos().X, actor->int_pos().Y, z[i] }, actor->sector(), actor->spr.ang, near, 1024, NTAG_SEARCH_LO_HI); + neartag({ actor->int_pos().X, actor->int_pos().Y, z[i] }, actor->sector(), actor->spr.__int_angle, near, 1024, NTAG_SEARCH_LO_HI); } if (near.hitSector != nullptr && near.hitpos.X < 1024) @@ -816,7 +816,7 @@ int DoActorCantMoveCloser(DSWActor* actor) if (actor->user.track >= 0) { - actor->spr.ang = getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y); + actor->spr.__int_angle = getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y); DoActorSetSpeed(actor, MID_SPEED); actor->user.Flags |= (SPR_FIND_PLAYER); @@ -836,8 +836,8 @@ int DoActorMoveCloser(DSWActor* actor) { int nx, ny; - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); // if cannot move the sprite if (!move_actor(actor, nx, ny, 0)) @@ -867,7 +867,7 @@ int DoActorMoveCloser(DSWActor* actor) else { // turn to face player - actor->spr.ang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); } } @@ -1048,7 +1048,7 @@ int InitActorRunAway(DSWActor* actor) if (actor->user.track >= 0) { - actor->spr.ang = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); + actor->spr.__int_angle = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); DoActorSetSpeed(actor, FAST_SPEED); actor->user.Flags |= (SPR_RUN_AWAY); } @@ -1128,7 +1128,7 @@ int InitActorAttack(DSWActor* actor) //NewStateGroup(actor, actor->user.ActorActionSet->Stand); // face player when attacking - actor->spr.ang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); + actor->spr.__int_angle = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); // If it's your own kind, lay off! if (actor->user.ID == actor->user.targetActor->user.ID && !actor->user.targetActor->user.PlayerP) @@ -1208,7 +1208,7 @@ int InitActorEvade(DSWActor* actor) if (actor->user.track >= 0) { - actor->spr.ang = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); + actor->spr.__int_angle = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); DoActorSetSpeed(actor, FAST_SPEED); // NOT doing a RUN_AWAY actor->user.Flags &= ~(SPR_RUN_AWAY); @@ -1228,7 +1228,7 @@ int InitActorWanderAround(DSWActor* actor) if (actor->user.track >= 0) { - actor->spr.ang = getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y); + actor->spr.__int_angle = getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y); DoActorSetSpeed(actor, NORM_SPEED); } @@ -1244,7 +1244,7 @@ int InitActorFindPlayer(DSWActor* actor) if (actor->user.track >= 0) { - actor->spr.ang = getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y); + actor->spr.__int_angle = getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y); DoActorSetSpeed(actor, MID_SPEED); actor->user.Flags |= (SPR_FIND_PLAYER); @@ -1309,8 +1309,8 @@ int DoActorMoveJump(DSWActor* actor) // Move while jumping - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); move_actor(actor, nx, ny, 0L); @@ -1341,7 +1341,7 @@ Collision move_scan(DSWActor* actor, int ang, int dist, int *stopx, int *stopy, x = actor->int_pos().X; y = actor->int_pos().Y; z = actor->int_pos().Z; - sang = actor->spr.ang; + sang = actor->spr.__int_angle; loz = actor->user.loz; hiz = actor->user.hiz; lowActor = actor->user.lowActor; @@ -1351,9 +1351,9 @@ Collision move_scan(DSWActor* actor, int ang, int dist, int *stopx, int *stopy, ssp = actor->sector(); // do the move - actor->spr.ang = ang; - nx = MulScale(dist, bcos(actor->spr.ang), 14); - ny = MulScale(dist, bsin(actor->spr.ang), 14); + actor->spr.__int_angle = ang; + nx = MulScale(dist, bcos(actor->spr.__int_angle), 14); + ny = MulScale(dist, bsin(actor->spr.__int_angle), 14); Collision ret = move_sprite(actor, nx, ny, 0, actor->user.ceiling_dist, actor->user.floor_dist, cliptype, 1); // move_sprite DOES do a getzrange point? @@ -1367,7 +1367,7 @@ Collision move_scan(DSWActor* actor, int ang, int dist, int *stopx, int *stopy, // reset position information actor->set_int_pos({ x, y, z }); - actor->spr.ang = sang; + actor->spr.__int_angle = sang; actor->user.loz = loz; actor->user.hiz = hiz; actor->user.lowActor = lowActor; @@ -1452,13 +1452,13 @@ int FindNewAngle(DSWActor* actor, int dir, int DistToMove) // look directly ahead for a ledge if (!(actor->user.Flags & (SPR_NO_SCAREDZ | SPR_JUMPING | SPR_FALLING | SPR_SWIMMING | SPR_DEAD))) { - actor->spr.ang = new_ang; + actor->spr.__int_angle = new_ang; if (DropAhead(actor, actor->user.lo_step)) { - actor->spr.ang = oang; + actor->spr.__int_angle = oang; continue; } - actor->spr.ang = oang; + actor->spr.__int_angle = oang; } #endif @@ -1497,7 +1497,7 @@ int FindNewAngle(DSWActor* actor, int dir, int DistToMove) if (actor->user.TargetDist > 4000) actor->user.TargetDist -= 3500; - actor->spr.ang = save_ang; + actor->spr.__int_angle = save_ang; return save_ang; } @@ -1576,7 +1576,7 @@ int InitActorReposition(DSWActor* actor) return 0; } - actor->spr.ang = ang; + actor->spr.__int_angle = ang; DoActorSetSpeed(actor, FAST_SPEED); actor->user.Flags &= ~(SPR_RUN_AWAY); } @@ -1606,7 +1606,7 @@ int InitActorReposition(DSWActor* actor) DoActorSetSpeed(actor, MID_SPEED); } - actor->spr.ang = ang; + actor->spr.__int_angle = ang; } @@ -1623,8 +1623,8 @@ int DoActorReposition(DSWActor* actor) { int nx, ny; - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); // still might hit something and have to handle it. if (!move_actor(actor, nx, ny, 0L)) diff --git a/source/games/sw/src/break.cpp b/source/games/sw/src/break.cpp index c31daf943..368242ff8 100644 --- a/source/games/sw/src/break.cpp +++ b/source/games/sw/src/break.cpp @@ -589,7 +589,7 @@ int AutoBreakWall(walltype* wallp, int hit_x, int hit_y, int hit_z, int ang, int auto breakActor = insertActor(0, STAT_DEFAULT); breakActor->spr.cstat = 0; breakActor->spr.extra = 0; - breakActor->spr.ang = ang; + breakActor->spr.__int_angle = ang; breakActor->spr.picnum = ST1; breakActor->spr.xrepeat = breakActor->spr.yrepeat = 64; SetActorZ(breakActor, &hit_pos); diff --git a/source/games/sw/src/bunny.cpp b/source/games/sw/src/bunny.cpp index 96b4518b3..1bfc32daf 100644 --- a/source/games/sw/src/bunny.cpp +++ b/source/games/sw/src/bunny.cpp @@ -838,9 +838,9 @@ int DoBunnyBeginJumpAttack(DSWActor* actor) 0L, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_ACTOR, ACTORMOVETICS); if (coll.type != kHitNone) - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024) + (RANDOM_NEG(256, 6) >> 6); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024) + (RANDOM_NEG(256, 6) >> 6); else - actor->spr.ang = NORM_ANGLE(tang + (RANDOM_NEG(256, 6) >> 6)); + actor->spr.__int_angle = NORM_ANGLE(tang + (RANDOM_NEG(256, 6) >> 6)); DoActorSetSpeed(actor, FAST_SPEED); @@ -868,8 +868,8 @@ int DoBunnyMoveJump(DSWActor* actor) int nx, ny; // Move while jumping - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); move_actor(actor, nx, ny, 0L); @@ -1025,12 +1025,12 @@ int DoBunnyQuickJump(DSWActor* actor) } actor->copyXY(hitActor); - actor->spr.ang = hitActor->spr.ang; - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = hitActor->spr.__int_angle; + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); HelpMissileLateral(actor, 2000); - actor->spr.ang = hitActor->spr.ang; - actor->user.Vis = actor->spr.ang; // Remember angles for later - hitActor->user.Vis = hitActor->spr.ang; + actor->spr.__int_angle = hitActor->spr.__int_angle; + actor->user.Vis = actor->spr.__int_angle; // Remember angles for later + hitActor->user.Vis = hitActor->spr.__int_angle; NewStateGroup(actor, sg_BunnyScrew); NewStateGroup(hitActor, sg_BunnyScrew); @@ -1084,7 +1084,7 @@ int DoBunnyRipHeart(DSWActor* actor) actor->user.WaitTics = 6 * 120; // player face bunny - target->spr.ang = getangle(actor->int_pos().X - target->int_pos().X, actor->int_pos().Y - target->int_pos().Y); + target->spr.__int_angle = getangle(actor->int_pos().X - target->int_pos().X, actor->int_pos().Y - target->int_pos().Y); return 0; } @@ -1115,7 +1115,7 @@ void BunnyHatch(DSWActor* actor) actorNew->spr.pos = actor->spr.pos; actorNew->spr.xrepeat = 30; // Baby size actorNew->spr.yrepeat = 24; - actorNew->spr.ang = rip_ang[i]; + actorNew->spr.__int_angle = rip_ang[i]; actorNew->spr.pal = 0; SetupBunny(actorNew); actorNew->spr.shade = actor->spr.shade; @@ -1171,7 +1171,7 @@ DSWActor* BunnyHatch2(DSWActor* actor) actorNew->spr.pos = actor->spr.pos; actorNew->spr.xrepeat = 30; // Baby size actorNew->spr.yrepeat = 24; - actorNew->spr.ang = RANDOM_P2(2048); + actorNew->spr.__int_angle = RANDOM_P2(2048); actorNew->spr.pal = 0; SetupBunny(actorNew); actorNew->spr.shade = actor->spr.shade; @@ -1200,8 +1200,8 @@ DSWActor* BunnyHatch2(DSWActor* actor) actorNew->spr.xrepeat = actorNew->spr.yrepeat = 64; actorNew->spr.xvel = 150 + RandomRange(1000); actorNew->user.Health = 1; // Easy to pop. Like shootn' skeet. - actorNew->spr.ang -= RandomRange(128); - actorNew->spr.ang += RandomRange(128); + actorNew->spr.__int_angle -= RandomRange(128); + actorNew->spr.__int_angle += RandomRange(128); } else PickJumpMaxSpeed(actorNew, -600); @@ -1282,7 +1282,7 @@ int DoBunnyMove(DSWActor* actor) NewStateGroup(actor,sg_BunnyStand); break; default: - actor->spr.ang = NORM_ANGLE(RandomRange(2048 << 6) >> 6); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048 << 6) >> 6); actor->user.jump_speed = -350; DoActorBeginJump(actor); actor->user.ActorActionFunc = DoActorMoveJump; diff --git a/source/games/sw/src/coolg.cpp b/source/games/sw/src/coolg.cpp index 9d660bbe9..d97325076 100644 --- a/source/games/sw/src/coolg.cpp +++ b/source/games/sw/src/coolg.cpp @@ -541,7 +541,7 @@ int NewCoolg(DSWActor* actor) { ANIMATOR DoActorDecide; - auto actorNew = SpawnActor(STAT_ENEMY, COOLG_RUN_R0, &s_CoolgBirth[0], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 50); + auto actorNew = SpawnActor(STAT_ENEMY, COOLG_RUN_R0, &s_CoolgBirth[0], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 50); ChangeState(actorNew, &s_CoolgBirth[0]); actorNew->user.StateEnd = s_CoolgDie; @@ -707,10 +707,10 @@ int DoCoolgCircle(DSWActor* actor) { int nx,ny,bound; - actor->spr.ang = NORM_ANGLE(actor->spr.ang + actor->user.Counter2); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + actor->user.Counter2); - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); if (!move_actor(actor, nx, ny, 0L)) { @@ -766,8 +766,8 @@ int DoCoolgDeath(DSWActor* actor) DoActorSlide(actor); // slide while falling - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); actor->user.coll = move_sprite(actor, nx, ny, 0L, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_MISSILE, ACTORMOVETICS); DoFindGroundPoint(actor); diff --git a/source/games/sw/src/draw.cpp b/source/games/sw/src/draw.cpp index 710763d3a..9b456e382 100644 --- a/source/games/sw/src/draw.cpp +++ b/source/games/sw/src/draw.cpp @@ -104,7 +104,7 @@ int GetRotation(tspriteArray& tsprites, int tSpriteNum, int viewx, int viewy) // Get which of the 8 angles of the sprite to draw (0-7) // rotation ranges from 0-7 angle2 = getangle(tsp->int_pos().X - viewx, tsp->int_pos().Y - viewy); - rotation = ((tsp->ang + 3072 + 128 - angle2) & 2047); + rotation = ((tsp->__int_angle + 3072 + 128 - angle2) & 2047); rotation = (rotation >> 8) & 7; if (ownerActor->user.RotNum == 5) @@ -353,7 +353,7 @@ void DoMotionBlur(tspriteArray& tsprites, tspritetype const * const tsp) int xrepeat, yrepeat, repeat_adj = 0; int z_amt_per_pixel; - ang = NORM_ANGLE(tsp->ang + 1024); + ang = NORM_ANGLE(tsp->__int_angle + 1024); if (!ownerActor->hasU() || tsp->xvel == 0) { @@ -526,7 +526,7 @@ DSWActor* CopySprite(sprt const* tsp, sectortype* newsector) actorNew->spr.yrepeat = tsp->yrepeat; actorNew->spr.xoffset = tsp->xoffset; actorNew->spr.yoffset = tsp->yoffset; - actorNew->spr.ang = tsp->ang; + actorNew->spr.__int_angle = tsp->__int_angle; actorNew->spr.xvel = tsp->xvel; actorNew->spr.yvel = tsp->yvel; actorNew->spr.zvel = tsp->zvel; @@ -669,7 +669,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int { tsp->picnum = DART_PIC; - tsp->ang = NORM_ANGLE(tsp->ang - 512 - 24); + tsp->__int_angle = NORM_ANGLE(tsp->__int_angle - 512 - 24); tsp->xrepeat = tsp->yrepeat = DART_REPEAT; tsp->cstat |= (CSTAT_SPRITE_ALIGNMENT_WALL); } @@ -733,7 +733,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int if (tsp->statnum == STAT_STAR_QUEUE) { tsp->picnum = DART_PIC; - tsp->ang = NORM_ANGLE(tsp->ang - 512); + tsp->__int_angle = NORM_ANGLE(tsp->__int_angle - 512); tsp->xrepeat = tsp->yrepeat = DART_REPEAT; tsp->cstat |= (CSTAT_SPRITE_ALIGNMENT_WALL); } @@ -764,8 +764,8 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int { // move sprite forward some so he looks like he's // climbing - pos.X = pp->si.X + MOVEx(128 + 80, tsp->ang); - pos.Y = pp->si.Y + MOVEy(128 + 80, tsp->ang); + pos.X = pp->si.X + MOVEx(128 + 80, tsp->__int_angle); + pos.Y = pp->si.Y + MOVEy(128 + 80, tsp->__int_angle); } else { @@ -775,7 +775,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int pos.Z = tsp->int_pos().Z + pp->si.Z; tsp->set_int_pos(pos); - tsp->ang = pp->siang; + tsp->__int_angle = pp->siang; //continue; } else @@ -792,7 +792,7 @@ void analyzesprites(tspriteArray& tsprites, int viewx, int viewy, int viewz, int tsp->add_int_x(-MulScale(pp->pos.X - pp->opos.X, sr, 16)); tsp->add_int_y(-MulScale(pp->pos.Y - pp->opos.Y, sr, 16)); tsp->add_int_z(-MulScale(pp->pos.Z - pp->opos.Z, sr, 16)); - tsp->ang -= MulScale(pp->angle.ang.asbuild() - pp->angle.oang.asbuild(), sr, 16); + tsp->__int_angle -= MulScale(pp->angle.ang.asbuild() - pp->angle.oang.asbuild(), sr, 16); } } @@ -1073,7 +1073,7 @@ void PrintSpriteInfo(PLAYER* pp) Printf("POSX:%d, ", actor->int_pos().X); Printf("POSY:%d, ", actor->int_pos().Y); Printf("POSZ:%d,", actor->int_pos().Z); - Printf("ANG:%d\n", actor->spr.ang); + Printf("ANG:%d\n", actor->spr.__int_angle); } } } @@ -1101,7 +1101,7 @@ void CameraView(PLAYER* pp, int *tx, int *ty, int *tz, sectortype** tsect, binan while (auto actor = it.Next()) { ang = bvectangbam(*tx - actor->int_pos().X, *ty - actor->int_pos().Y); - ang_test = getincangle(ang.asbuild(), actor->spr.ang) < actor->spr.lotag; + ang_test = getincangle(ang.asbuild(), actor->spr.__int_angle) < actor->spr.lotag; FAFcansee_test = (FAFcansee(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->sector(), *tx, *ty, *tz, pp->cursector) || @@ -1448,7 +1448,7 @@ void drawscreen(PLAYER* pp, double smoothratio, bool sceneonly) { DSWActor* ractor = pp->remoteActor; if (TEST_BOOL1(ractor)) - tang = buildang(ractor->spr.ang); + tang = buildang(ractor->spr.__int_angle); else tang = bvectangbam(pp->sop_remote->pmid.X - tx, pp->sop_remote->pmid.Y - ty); } @@ -1654,7 +1654,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int if (czoom > 192) { - daang = ((!SyncInput() ? actor->spr.ang : actor->interpolatedang(smoothratio)) - cang) & 2047; + daang = ((!SyncInput() ? actor->spr.__int_angle : actor->interpolatedang(smoothratio)) - cang) & 2047; // Special case tiles if (actor->spr.picnum == 3123) break; @@ -1684,7 +1684,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int xoff = (int)tileLeftOffset(tilenum) + (int)actor->spr.xoffset; if ((actor->spr.cstat & CSTAT_SPRITE_XFLIP) > 0) xoff = -xoff; - k = actor->spr.ang; + k = actor->spr.__int_angle; l = actor->spr.xrepeat; dax = bsin(k) * l; day = -bcos(k) * l; @@ -1719,7 +1719,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int if ((actor->spr.cstat & CSTAT_SPRITE_YFLIP) > 0) yoff = -yoff; - k = actor->spr.ang; + k = actor->spr.__int_angle; cosang = bcos(k); sinang = bsin(k); xspan = tileWidth(tilenum); diff --git a/source/games/sw/src/eel.cpp b/source/games/sw/src/eel.cpp index e91ab9501..beda73444 100644 --- a/source/games/sw/src/eel.cpp +++ b/source/games/sw/src/eel.cpp @@ -527,8 +527,8 @@ int DoEelDeath(DSWActor* actor) DoActorSlide(actor); // slide while falling - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); actor->user.coll = move_sprite(actor, nx, ny, 0L, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_MISSILE, ACTORMOVETICS); DoFindGroundPoint(actor); diff --git a/source/games/sw/src/game.h b/source/games/sw/src/game.h index 51020000c..a7c29c230 100644 --- a/source/games/sw/src/game.h +++ b/source/games/sw/src/game.h @@ -1959,7 +1959,7 @@ inline bool PlayerFacingRange(PLAYER* pp, DSWActor* a, int range) inline bool FacingRange(DSWActor* a1, DSWActor* a2, int range) { - return (abs(getincangle(getangle(a1->int_pos().X - a2->int_pos().X, a1->int_pos().Y - a2->int_pos().Y), a2->spr.ang)) < (range)); + return (abs(getincangle(getangle(a1->int_pos().X - a2->int_pos().X, a1->int_pos().Y - a2->int_pos().Y), a2->spr.__int_angle)) < (range)); } inline void SET_BOOL1(DSWActor* sp) { sp->spr.extra |= SPRX_BOOL1; } inline void SET_BOOL2(DSWActor* sp) { sp->spr.extra |= SPRX_BOOL2; } @@ -2001,7 +2001,7 @@ inline int TEST_BOOL11(DSWActor* sp) { return sp->spr.extra & SPRX_BOOL11; } inline int16_t SP_TAG1(DSWActor* actor) { return actor->spr.hitag; } inline int16_t& SP_TAG2(DSWActor* actor) { return actor->spr.lotag; } inline uint8_t& SP_TAG3(DSWActor* actor) { return actor->spr.clipdist; } -inline int16_t& SP_TAG4(DSWActor* actor) { return actor->spr. ang; } // this may not be transitioned to a real angular type +inline int16_t& SP_TAG4(DSWActor* actor) { return actor->spr. __int_angle; } // this may not be transitioned to a real angular type inline int16_t& SP_TAG5(DSWActor* actor) { return actor->spr.xvel; } inline int16_t& SP_TAG6(DSWActor* actor) { return actor->spr.yvel; } inline uint8_t& SP_TAG7(DSWActor* actor) { return MSB_VAR(actor->spr.zvel); } @@ -2067,7 +2067,7 @@ inline int ActorSizeY(DSWActor* sp) inline bool Facing(DSWActor* actor1, DSWActor* actor2) { - return (abs(getincangle(getangle(actor1->int_pos().X - actor2->int_pos().X, actor1->int_pos().Y - actor2->int_pos().Y), actor2->spr.ang)) < 512); + return (abs(getincangle(getangle(actor1->int_pos().X - actor2->int_pos().X, actor1->int_pos().Y - actor2->int_pos().Y), actor2->spr.__int_angle)) < 512); } // Given a z height and sprite return the correct y repeat value diff --git a/source/games/sw/src/girlninj.cpp b/source/games/sw/src/girlninj.cpp index d8533f639..b3f46193a 100644 --- a/source/games/sw/src/girlninj.cpp +++ b/source/games/sw/src/girlninj.cpp @@ -779,8 +779,8 @@ int GirlNinjaJumpActionFunc(DSWActor* actor) int nx, ny; // Move while jumping - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); // if cannot move the sprite if (!move_actor(actor, nx, ny, 0L)) diff --git a/source/games/sw/src/hornet.cpp b/source/games/sw/src/hornet.cpp index c2f123ff2..b5bf27cd1 100644 --- a/source/games/sw/src/hornet.cpp +++ b/source/games/sw/src/hornet.cpp @@ -438,10 +438,10 @@ int DoHornetCircle(DSWActor* actor) { int nx,ny,bound; - actor->spr.ang = NORM_ANGLE(actor->spr.ang + actor->user.Counter2); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + actor->user.Counter2); - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); if (!move_actor(actor, nx, ny, 0L)) { @@ -449,9 +449,9 @@ int DoHornetCircle(DSWActor* actor) // try moving in the opposite direction actor->user.Counter2 = -actor->user.Counter2; - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); if (!move_actor(actor, nx, ny, 0L)) { @@ -507,8 +507,8 @@ int DoHornetDeath(DSWActor* actor) DoActorSlide(actor); // slide while falling - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); actor->user.coll = move_sprite(actor, nx, ny, 0L, actor->user.ceiling_dist, actor->user.floor_dist, 1, ACTORMOVETICS); diff --git a/source/games/sw/src/interpso.cpp b/source/games/sw/src/interpso.cpp index ee7288d4e..b9aba4d34 100644 --- a/source/games/sw/src/interpso.cpp +++ b/source/games/sw/src/interpso.cpp @@ -208,7 +208,7 @@ static void so_setspriteanginterpolation(so_interp *interp, DSWActor* actor) data->curelement = soi_sprang; data->oldipos = data->lastipos = - data->lastoldipos = actor->spr.ang; + data->lastoldipos = actor->spr.__int_angle; data->lastangdiff = 0; data->actorofang = actor; } @@ -336,7 +336,7 @@ void so_updateinterpolations(void) // Stick at beginning of domovethings actorofang->user.oangdiff = 0; if (!interpolating) data->lastangdiff = 0; - data->oldipos = actorofang->spr.ang; + data->oldipos = actorofang->spr.__int_angle; } } else @@ -376,7 +376,7 @@ void so_dointerpolations(int32_t smoothratio) // Stick at b continue; // target went poof. interp->data[i].bakipos = (interp->data[i].curelement == soi_sprang) ? - (double)actorofang->spr.ang : + (double)actorofang->spr.__int_angle : getvalue(interp->data[i]); } if (interp->tic == 0) // Only if the SO has just moved @@ -443,7 +443,7 @@ void so_dointerpolations(int32_t smoothratio) // Stick at b { DSWActor* actor = data->actorofang; if (!actor) continue; - actor->spr.ang = NORM_ANGLE(data->lastoldipos + MulScale(data->lastangdiff, ratio, 16)); + actor->spr.__int_angle = NORM_ANGLE(data->lastoldipos + MulScale(data->lastangdiff, ratio, 16)); } else { @@ -472,7 +472,7 @@ void so_restoreinterpolations(void) // Stick at end of drawscree if (data->curelement == soi_sprang) { auto actorofang = interp->data[i].actorofang; - if (actorofang) actorofang->spr.ang = data->bakipos; + if (actorofang) actorofang->spr.__int_angle = data->bakipos; } else { diff --git a/source/games/sw/src/jsector.cpp b/source/games/sw/src/jsector.cpp index c5cab7976..c1d5b6ff1 100644 --- a/source/games/sw/src/jsector.cpp +++ b/source/games/sw/src/jsector.cpp @@ -309,7 +309,7 @@ void JS_InitMirrors(void) { mirror[mirrorcnt].cameraActor = itActor; // Set up camera variables - SP_TAG5(itActor) = itActor->spr.ang; // Set current angle to + SP_TAG5(itActor) = itActor->spr.__int_angle; // Set current angle to // sprite angle Found_Cam = true; } @@ -323,7 +323,7 @@ void JS_InitMirrors(void) { mirror[mirrorcnt].cameraActor = itActor; // Set up camera variables - SP_TAG5(itActor) = itActor->spr.ang; // Set current angle to + SP_TAG5(itActor) = itActor->spr.__int_angle; // Set current angle to // sprite angle Found_Cam = true; } @@ -580,7 +580,7 @@ void JS_DrawCameras(PLAYER* pp, int tx, int ty, int tz, double smoothratio) SP_TAG5(camactor) = NORM_ANGLE((SP_TAG5(camactor) + oscilation_delta)); // TAG6 = Turn radius - if (abs(getincangle(camactor->spr.ang, SP_TAG5(camactor))) >= SP_TAG6(camactor)) + if (abs(getincangle(camactor->spr.__int_angle, SP_TAG5(camactor))) >= SP_TAG6(camactor)) { SP_TAG5(camactor) = NORM_ANGLE((SP_TAG5(camactor) - oscilation_delta)); RESET_BOOL3(camactor); // Reverse turn @@ -593,7 +593,7 @@ void JS_DrawCameras(PLAYER* pp, int tx, int ty, int tz, double smoothratio) SP_TAG5(camactor) = NORM_ANGLE((SP_TAG5(camactor) - oscilation_delta)); // TAG6 = Turn radius - if (abs(getincangle(camactor->spr.ang, SP_TAG5(camactor))) >= SP_TAG6(camactor)) + if (abs(getincangle(camactor->spr.__int_angle, SP_TAG5(camactor))) >= SP_TAG6(camactor)) { SP_TAG5(camactor) = NORM_ANGLE((SP_TAG5(camactor) + oscilation_delta)); SET_BOOL3(camactor); // Reverse turn @@ -603,7 +603,7 @@ void JS_DrawCameras(PLAYER* pp, int tx, int ty, int tz, double smoothratio) } else if (!TEST_BOOL2(camactor)) { - SP_TAG5(camactor) = camactor->spr.ang; // Copy sprite angle to + SP_TAG5(camactor) = camactor->spr.__int_angle; // Copy sprite angle to // tag5 } diff --git a/source/games/sw/src/jweapon.cpp b/source/games/sw/src/jweapon.cpp index 6316504b3..633e8b2f4 100644 --- a/source/games/sw/src/jweapon.cpp +++ b/source/games/sw/src/jweapon.cpp @@ -293,7 +293,7 @@ int DoWallBloodDrip(DSWActor* actor) void SpawnMidSplash(DSWActor* actor) { auto actorNew = SpawnActor(STAT_MISSILE, GOREDrip, s_GoreSplash, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor), actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor), actor->spr.__int_angle, 0); actorNew->spr.shade = -12; actorNew->spr.xrepeat = 70-RandomRange(20); @@ -316,7 +316,7 @@ void SpawnMidSplash(DSWActor* actor) void SpawnFloorSplash(DSWActor* actor) { auto actorNew = SpawnActor(STAT_MISSILE, GOREDrip, s_GoreFloorSplash, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.shade = -12; actorNew->spr.xrepeat = 70-RandomRange(20); @@ -391,9 +391,9 @@ int DoBloodSpray(DSWActor* actor) if ((hitActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { - wall_ang = NORM_ANGLE(hitActor->spr.ang); + wall_ang = NORM_ANGLE(hitActor->spr.__int_angle); SpawnMidSplash(actor); - QueueWallBlood(actor, hitActor->spr.ang); + QueueWallBlood(actor, hitActor->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); } @@ -401,7 +401,7 @@ int DoBloodSpray(DSWActor* actor) { actor->user.change.X = actor->user.change.Y = 0; SpawnMidSplash(actor); - QueueWallBlood(actor, hitActor->spr.ang); + QueueWallBlood(actor, hitActor->spr.__int_angle); KillActor(actor); return true; } @@ -420,7 +420,7 @@ int DoBloodSpray(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -516,7 +516,7 @@ int DoBloodSpray(DSWActor* actor) { auto actorNew = SpawnActor(STAT_MISSILE, GOREDrip, s_BloodSpray, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 100); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 100); SetOwner(actor, actorNew); actorNew->spr.shade = -12; @@ -582,7 +582,7 @@ int DoPhosphorus(DSWActor* actor) if ((hitActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { - wall_ang = NORM_ANGLE(hitActor->spr.ang); + wall_ang = NORM_ANGLE(hitActor->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); } @@ -615,7 +615,7 @@ int DoPhosphorus(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -718,7 +718,7 @@ int DoPhosphorus(DSWActor* actor) { auto actorNew = SpawnActor(STAT_SKIP4, PUFF, s_PhosphorExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 100); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 100); actorNew->spr.hitag = LUMINOUS; // Always full brightness SetOwner(actor, actorNew); @@ -789,7 +789,7 @@ int DoChemBomb(DSWActor* actor) if ((hitActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { - wall_ang = NORM_ANGLE(hitActor->spr.ang); + wall_ang = NORM_ANGLE(hitActor->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); } @@ -818,7 +818,7 @@ int DoChemBomb(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -941,7 +941,7 @@ int DoChemBomb(DSWActor* actor) if (!(actor->user.Flags & (SPR_BOUNCE | SPR_UNDERWATER)) && !(actor->spr.cstat & CSTAT_SPRITE_INVISIBLE)) { auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 100); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 100); SetOwner(actor, actorNew); actorNew->spr.shade = -40; @@ -1014,7 +1014,7 @@ int DoCaltrops(DSWActor* actor) if ((hitActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { - wall_ang = NORM_ANGLE(hitActor->spr.ang); + wall_ang = NORM_ANGLE(hitActor->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 10000); } @@ -1034,7 +1034,7 @@ int DoCaltrops(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -1170,7 +1170,7 @@ int SpawnRadiationCloud(DSWActor* actor) return -1; auto actorNew = SpawnActor(STAT_MISSILE, RADIATION_CLOUD, s_RadiationCloud, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - RANDOM_P2(Z(8)), actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - RANDOM_P2(Z(8)), actor->spr.__int_angle, 0); SetOwner(GetOwner(actor), actorNew); actorNew->user.WaitTics = 1 * 120; @@ -1189,7 +1189,7 @@ int SpawnRadiationCloud(DSWActor* actor) //if (RANDOM_P2(1024) < 512) //actorNew->spr.cstat |= (CSTAT_SPRITE_YFLIP); - actorNew->spr.ang = RANDOM_P2(2048); + actorNew->spr.__int_angle = RANDOM_P2(2048); actorNew->spr.xvel = RANDOM_P2(32); actorNew->user.Counter = 0; @@ -1198,14 +1198,14 @@ int SpawnRadiationCloud(DSWActor* actor) if (actor->user.ID == MUSHROOM_CLOUD || actor->user.ID == 3121) { actorNew->user.Radius = 2000; - actorNew->user.change.X = (MOVEx(actorNew->spr.xvel>>2, actorNew->spr.ang)); - actorNew->user.change.Y = (MOVEy(actorNew->spr.xvel>>2, actorNew->spr.ang)); + actorNew->user.change.X = (MOVEx(actorNew->spr.xvel>>2, actorNew->spr.__int_angle)); + actorNew->user.change.Y = (MOVEy(actorNew->spr.xvel>>2, actorNew->spr.__int_angle)); actorNew->spr.zvel = Z(1) + RANDOM_P2(Z(2)); } else { - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->spr.zvel = Z(4) + RANDOM_P2(Z(4)); actorNew->user.Radius = 4000; } @@ -1286,8 +1286,8 @@ int PlayerInitChemBomb(PLAYER* pp) plActor->spr.clipdist = uint8_t(oclipdist); actorNew->spr.clipdist = 80L >> 2; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel >> 1; // adjust xvel according to player velocity @@ -1313,7 +1313,7 @@ int InitSpriteChemBomb(DSWActor* actor) // Spawn a shot // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, CHEMBOMB, s_ChemBomb, actor->sector(), - nx, ny, nz, actor->spr.ang, CHEMBOMB_VELOCITY); + nx, ny, nz, actor->spr.__int_angle, CHEMBOMB_VELOCITY); actorNew->user.Flags |= (SPR_XFLIP_TOGGLE); @@ -1333,8 +1333,8 @@ int InitSpriteChemBomb(DSWActor* actor) actorNew->spr.clipdist = 80L >> 2; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel >> 1; // Smoke will come out for this many seconds @@ -1355,7 +1355,7 @@ int InitChemBomb(DSWActor* actor) // Spawn a shot // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, MUSHROOM_CLOUD, s_ChemBomb, actor->sector(), - nx, ny, nz, actor->spr.ang, CHEMBOMB_VELOCITY); + nx, ny, nz, actor->spr.__int_angle, CHEMBOMB_VELOCITY); actorNew->user.Flags |= (SPR_XFLIP_TOGGLE); @@ -1388,8 +1388,8 @@ int InitChemBomb(DSWActor* actor) } else { - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel >> 1; // Smoke will come out for this many seconds actorNew->user.WaitTics = 3*120; @@ -1569,7 +1569,7 @@ void SpawnFlashBombOnActor(DSWActor* actor) } auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES, s_FireballFlames, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); if (actor != nullptr) actor->user.flameActor = actorNew; @@ -1645,7 +1645,7 @@ int PlayerInitCaltrops(PLAYER* pp) actorNew->user.Flags |= (SPR_UNDERWATER); // They go out at different angles -// spawnedActor->spr.ang = NORM_ANGLE(pp->angle.ang.asbuild() + (RandomRange(50) - 25)); +// spawnedActor->spr.__int_angle = NORM_ANGLE(pp->angle.ang.asbuild() + (RandomRange(50) - 25)); actorNew->spr.zvel = -pp->horizon.horiz.asq16() >> 9; @@ -1658,8 +1658,8 @@ int PlayerInitCaltrops(PLAYER* pp) plActor->spr.clipdist = uint8_t(oclipdist); actorNew->spr.clipdist = 80L >> 2; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel >> 1; // adjust xvel according to player velocity @@ -1683,7 +1683,7 @@ int InitCaltrops(DSWActor* actor) // Spawn a shot // Inserting and setting up variables auto actorNew = SpawnActor(STAT_DEAD_ACTOR, CALTROPS, s_Caltrops, actor->sector(), - nx, ny, nz, actor->spr.ang, CHEMBOMB_VELOCITY / 2); + nx, ny, nz, actor->spr.__int_angle, CHEMBOMB_VELOCITY / 2); actorNew->user.Flags |= (SPR_XFLIP_TOGGLE); @@ -1703,8 +1703,8 @@ int InitCaltrops(DSWActor* actor) // spawnedActor->spr.clipdist = 80L>>2; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel >> 1; SetupSpriteForBreak(actorNew); // Put Caltrops in the break queue @@ -1752,8 +1752,8 @@ int InitPhosphorus(DSWActor* actor) actorNew->spr.zvel = short(-RandomRange(100) * HORIZ_MULT); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = (actorNew->spr.zvel >> 1); return 0; @@ -1781,7 +1781,7 @@ int InitBloodSpray(DSWActor* actor, bool dogib, short velocity) PlaySound(DIGI_GIBS3, actor, v3df_none); // } - ang = actor->spr.ang; + ang = actor->spr.__int_angle; vel = velocity; for (i=0; ispr.zvel = short((-10 - RandomRange(50)) * HORIZ_MULT); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel >> 1; if (!GlobalSkipZrange) @@ -1920,7 +1920,7 @@ int DoCarryFlag(DSWActor* actor) { vec3_t pos = { attached->int_pos().X, attached->int_pos().Y, ActorZOfMiddle(attached) }; SetActorZ(actor, &pos); - actor->spr.ang = NORM_ANGLE(attached->spr.ang + 1536); + actor->spr.__int_angle = NORM_ANGLE(attached->spr.__int_angle + 1536); } // not activated yet @@ -2069,7 +2069,7 @@ int DoCarryFlagNoDet(DSWActor* actor) { vec3_t pos = { attached->int_pos().X, attached->int_pos().Y, ActorZOfMiddle(attached) }; SetActorZ(actor, &pos); - actor->spr.ang = NORM_ANGLE(attached->spr.ang + 1536); + actor->spr.__int_angle = NORM_ANGLE(attached->spr.__int_angle + 1536); actor->set_int_z(attached->int_pos().Z - (ActorSizeZ(attached) >> 1)); } @@ -2179,7 +2179,7 @@ int SpawnShell(DSWActor* actor, int ShellNum) break; } - auto actorNew = SpawnActor(STAT_SKIP4, id, p, actor->sector(), nx, ny, nz, actor->spr.ang, 64); + auto actorNew = SpawnActor(STAT_SKIP4, id, p, actor->sector(), nx, ny, nz, actor->spr.__int_angle, 64); actorNew->spr.zvel = -(velocity); @@ -2195,22 +2195,22 @@ int SpawnShell(DSWActor* actor, int ShellNum) if (ShellNum == -3) { - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; HelpMissileLateral(actorNew,2500); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang-512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle-512); HelpMissileLateral(actorNew,1000); // Was 1500 - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang+712); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle+712); } else { - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; HelpMissileLateral(actorNew,2500); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang+512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle+512); HelpMissileLateral(actorNew,1500); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang-128); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle-128); } - actorNew->spr.ang += (RANDOM_P2(128<<5)>>5) - (128 / 2); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle += (RANDOM_P2(128<<5)>>5) - (128 / 2); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); // Set the shell number actorNew->user.ShellNum = ShellCount; @@ -2218,13 +2218,13 @@ int SpawnShell(DSWActor* actor, int ShellNum) break; case SHOT_SHELL: actorNew->add_int_z(-Z(13)); - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; HelpMissileLateral(actorNew,2500); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang+512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle+512); HelpMissileLateral(actorNew,1300); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang-128-64); - actorNew->spr.ang += (RANDOM_P2(128<<5)>>5) - (128 / 2); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle-128-64); + actorNew->spr.__int_angle += (RANDOM_P2(128<<5)>>5) - (128 / 2); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); // Set the shell number actorNew->user.ShellNum = ShellCount; @@ -2241,8 +2241,8 @@ int SpawnShell(DSWActor* actor, int ShellNum) actorNew->spr.cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN); actorNew->user.Flags &= ~(SPR_BOUNCE|SPR_UNDERWATER); // Make em' bounce - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; actorNew->user.jump_speed = 200; diff --git a/source/games/sw/src/ninja.cpp b/source/games/sw/src/ninja.cpp index aeeb26b13..86933c039 100644 --- a/source/games/sw/src/ninja.cpp +++ b/source/games/sw/src/ninja.cpp @@ -2038,8 +2038,8 @@ int NinjaJumpActionFunc(DSWActor* actor) int nx, ny; // Move while jumping - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); // if cannot move the sprite if (!move_actor(actor, nx, ny, 0L)) diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index 278ac1efd..7f854b835 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -1179,7 +1179,7 @@ DSWActor* DoPickTarget(DSWActor* actor, uint32_t max_delta_ang, int skip_targets // Get the angle difference // delta_ang = labs(pp->angle.ang.asbuild() - angle2); - delta_ang = short(abs(getincangle(angle2, actor->spr.ang))); + delta_ang = short(abs(getincangle(angle2, actor->spr.__int_angle))); // If delta_ang not in the range skip this one if (delta_ang > (int)max_delta_ang) @@ -1297,15 +1297,15 @@ void DoSpawnTeleporterEffect(DSWActor* actor) extern STATE s_TeleportEffect[]; int nx, ny; - nx = MOVEx(512, actor->spr.ang); - ny = MOVEy(512, actor->spr.ang); + nx = MOVEx(512, actor->spr.__int_angle); + ny = MOVEy(512, actor->spr.__int_angle); nx += actor->int_pos().X; ny += actor->int_pos().Y; auto effectActor = SpawnActor(STAT_MISSILE, 0, s_TeleportEffect, actor->sector(), nx, ny, ActorZOfTop(actor) + Z(16), - actor->spr.ang, 0); + actor->spr.__int_angle, 0); SetActorZ(effectActor, effectActor->int_pos()); @@ -1323,7 +1323,7 @@ void DoSpawnTeleporterEffectPlace(DSWActor* actor) auto effectActor = SpawnActor(STAT_MISSILE, 0, s_TeleportEffect, actor->sector(), actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor) + Z(16), - actor->spr.ang, 0); + actor->spr.__int_angle, 0); SetActorZ(effectActor, effectActor->int_pos()); @@ -1364,7 +1364,7 @@ void DoPlayerWarpTeleporter(PLAYER* pp) default: { auto pos = act_warp->int_pos(); - DoPlayerTeleportToSprite(pp, &pos, act_warp->spr.ang); + DoPlayerTeleportToSprite(pp, &pos, act_warp->spr.__int_angle); act_warp->set_int_pos(pos); PlaySound(DIGI_TELEPORT, pp, v3df_none); @@ -1456,14 +1456,14 @@ void UpdatePlayerSpriteAngle(PLAYER* pp) { DSWActor* plActor = pp->actor; plActor->backupang(); - plActor->spr.ang = pp->angle.ang.asbuild(); + plActor->spr.__int_angle = pp->angle.ang.asbuild(); plActor = pp->PlayerUnderActor; if (!Prediction && plActor) { plActor->backupang(); - plActor->spr.ang = pp->angle.ang.asbuild(); + plActor->spr.__int_angle = pp->angle.ang.asbuild(); } } @@ -1495,7 +1495,7 @@ void DoPlayerTurnVehicle(PLAYER* pp, float avel, int z, int floor_dist) if (MultiClipTurn(pp, NORM_ANGLE(sum.asbuild()), z, floor_dist)) { pp->angle.ang = sum; - pp->actor->spr.ang = pp->angle.ang.asbuild(); + pp->actor->spr.__int_angle = pp->angle.ang.asbuild(); } } } @@ -1523,7 +1523,7 @@ void DoPlayerTurnVehicleRect(PLAYER* pp, int *x, int *y, int *ox, int *oy) if (RectClipTurn(pp, NORM_ANGLE(sum.asbuild()), x, y, ox, oy)) { pp->angle.ang = sum; - pp->actor->spr.ang = pp->angle.ang.asbuild(); + pp->actor->spr.__int_angle = pp->angle.ang.asbuild(); } } } @@ -1563,7 +1563,7 @@ void DoPlayerTurnTurret(PLAYER* pp, float avel) } pp->angle.ang = new_ang; - pp->actor->spr.ang = pp->angle.ang.asbuild(); + pp->actor->spr.__int_angle = pp->angle.ang.asbuild(); } OperateSectorObject(pp->sop, pp->angle.ang.asbuild(), pp->sop->pmid.X, pp->sop->pmid.Y); @@ -1748,7 +1748,7 @@ void UpdatePlayerSprite(PLAYER* pp) if (pp->Flags & (PF_DEAD)) { ChangeActorSect(pp->actor, pp->cursector); - actor->spr.ang = pp->angle.ang.asbuild(); + actor->spr.__int_angle = pp->angle.ang.asbuild(); UpdatePlayerUnderSprite(pp); return; } @@ -1791,8 +1791,8 @@ void UpdatePlayerSprite(PLAYER* pp) actor->set_int_z(pp->pos.Z + Z(17)); // move it forward a bit to look like its on the ladder - //actor->spr.x += MOVEx(256+64, actor->spr.ang); - //actor->spr.y += MOVEy(256+64, actor->spr.ang); + //actor->spr.x += MOVEx(256+64, actor->spr.__int_angle); + //actor->spr.y += MOVEy(256+64, actor->spr.__int_angle); ChangeActorSect(pp->actor, pp->cursector); } @@ -1823,7 +1823,7 @@ void UpdatePlayerSprite(PLAYER* pp) UpdatePlayerUnderSprite(pp); - actor->spr.ang = pp->angle.ang.asbuild(); + actor->spr.__int_angle = pp->angle.ang.asbuild(); } void DoPlayerZrange(PLAYER* pp) @@ -2278,7 +2278,7 @@ void DoTankTreads(PLAYER* pp) if (!TEST_BOOL2(actor)) { SET_BOOL2(actor); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); } } else @@ -2286,7 +2286,7 @@ void DoTankTreads(PLAYER* pp) if (TEST_BOOL2(actor)) { RESET_BOOL2(actor); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); } } @@ -2299,7 +2299,7 @@ void DoTankTreads(PLAYER* pp) if (!TEST_BOOL2(actor)) { SET_BOOL2(actor); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); } } else @@ -2307,7 +2307,7 @@ void DoTankTreads(PLAYER* pp) if (TEST_BOOL2(actor)) { RESET_BOOL2(actor); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); } } @@ -2320,7 +2320,7 @@ void DoTankTreads(PLAYER* pp) if (!TEST_BOOL2(actor)) { SET_BOOL2(actor); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); } } else @@ -2328,7 +2328,7 @@ void DoTankTreads(PLAYER* pp) if (TEST_BOOL2(actor)) { RESET_BOOL2(actor); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); } } @@ -3341,8 +3341,8 @@ void DoPlayerClimb(PLAYER* pp) // determine where the player is supposed to be in relation to the ladder // move out in front of the ladder - nx = MOVEx(100, lActor->spr.ang); - ny = MOVEy(100, lActor->spr.ang); + nx = MOVEx(100, lActor->spr.__int_angle); + ny = MOVEy(100, lActor->spr.__int_angle); // set ladder sector pp->LadderSector = near.hitWall->twoSided()? near.hitWall->nextSector() : near.hitWall->sectorp(); @@ -3353,7 +3353,7 @@ void DoPlayerClimb(PLAYER* pp) pp->LadderPosition.X = lActor->int_pos().X + nx * 5; pp->LadderPosition.Y = lActor->int_pos().Y + ny * 5; - pp->angle.settarget(buildang(lActor->spr.ang + 1024)); + pp->angle.settarget(buildang(lActor->spr.__int_angle + 1024)); } } } @@ -3724,8 +3724,8 @@ bool PlayerOnLadder(PLAYER* pp) // determine where the player is supposed to be in relation to the ladder // move out in front of the ladder - nx = MOVEx(100, lActor->spr.ang); - ny = MOVEy(100, lActor->spr.ang); + nx = MOVEx(100, lActor->spr.__int_angle); + ny = MOVEy(100, lActor->spr.__int_angle); pp->LadderSector = near.hitWall->twoSided() ? near.hitWall->nextSector() : near.hitWall->sectorp(); @@ -3735,7 +3735,7 @@ bool PlayerOnLadder(PLAYER* pp) pp->LadderPosition.X = lActor->int_pos().X + nx * 5; pp->LadderPosition.Y = lActor->int_pos().Y + ny * 5; - pp->angle.settarget(buildang(lActor->spr.ang + 1024)); + pp->angle.settarget(buildang(lActor->spr.__int_angle + 1024)); return true; } @@ -4518,8 +4518,8 @@ void DoPlayerDive(PLAYER* pp) if (bubble != nullptr) { // back it up a bit to get it out of your face - nx = MOVEx((128+64), NORM_ANGLE(bubble->spr.ang + 1024)); - ny = MOVEy((128+64), NORM_ANGLE(bubble->spr.ang + 1024)); + nx = MOVEx((128+64), NORM_ANGLE(bubble->spr.__int_angle + 1024)); + ny = MOVEy((128+64), NORM_ANGLE(bubble->spr.__int_angle + 1024)); move_sprite(bubble, nx, ny, 0L, plActor->user.ceiling_dist, plActor->user.floor_dist, 0, synctics); } @@ -5121,7 +5121,7 @@ void DoPlayerStopOperate(PLAYER* pp) { DSWActor* rsp = pp->remoteActor; if (TEST_BOOL1(rsp)) - pp->angle.ang = pp->angle.oang = buildang(rsp->spr.ang); + pp->angle.ang = pp->angle.oang = buildang(rsp->spr.__int_angle); else pp->angle.ang = pp->angle.oang = bvectangbam(pp->sop_remote->pmid.X - pp->pos.X, pp->sop_remote->pmid.Y - pp->pos.Y); } @@ -5754,7 +5754,7 @@ void DoPlayerDeathCheckKeys(PLAYER* pp) plActor->spr.xrepeat = plActor->spr.yrepeat = PLAYER_NINJA_XREPEAT; plActor->spr.cstat &= ~(CSTAT_SPRITE_YCENTER); plActor->set_int_pos({ pp->pos.X, pp->pos.Y, pp->pos.Z + PLAYER_HEIGHT }); - plActor->spr.ang = pp->angle.ang.asbuild(); + plActor->spr.__int_angle = pp->angle.ang.asbuild(); DoSpawnTeleporterEffect(plActor); PlaySound(DIGI_TELEPORT, pp, v3df_none); @@ -5894,7 +5894,7 @@ void DoPlayerDeathMoveHead(PLAYER* pp) break; - wall_ang = NORM_ANGLE(hitActor->spr.ang); + wall_ang = NORM_ANGLE(hitActor->spr.__int_angle); dang = getincangle(wall_ang, plActor->user.slide_ang); plActor->user.slide_ang = NORM_ANGLE(wall_ang + 1024 - dang); @@ -6865,7 +6865,7 @@ void PlayerSpawnPosition(PLAYER* pp) ASSERT(spawn_sprite != nullptr); pp->pos = pp->opos = spawn_sprite->int_pos(); - pp->angle.ang = pp->angle.oang = buildang(spawn_sprite->spr.ang); + pp->angle.ang = pp->angle.oang = buildang(spawn_sprite->spr.__int_angle); pp->setcursector(spawn_sprite->sector()); getzsofslopeptr(pp->cursector, pp->pos.X, pp->pos.Y, &cz, &fz); diff --git a/source/games/sw/src/ripper.cpp b/source/games/sw/src/ripper.cpp index 6d68221cf..628e8006e 100644 --- a/source/games/sw/src/ripper.cpp +++ b/source/games/sw/src/ripper.cpp @@ -927,7 +927,7 @@ int InitRipperHang(DSWActor* actor) for (dang = 0; dang < 2048; dang += 128) { - tang = NORM_ANGLE(actor->spr.ang + dang); + tang = NORM_ANGLE(actor->spr.__int_angle + dang); FAFhitscan(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ActorSizeZ(actor), actor->sector(), // Start position bcos(tang), // X vector of 3D ang @@ -946,7 +946,7 @@ int InitRipperHang(DSWActor* actor) } Found = true; - actor->spr.ang = tang; + actor->spr.__int_angle = tang; break; } @@ -990,8 +990,8 @@ int DoRipperMoveHang(DSWActor* actor) int nx, ny; // Move while jumping - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); // if cannot move the sprite if (!move_actor(actor, nx, ny, 0L)) @@ -1002,7 +1002,7 @@ int DoRipperMoveHang(DSWActor* actor) actor->user.WaitTics = 2 + ((RANDOM_P2(4 << 8) >> 8) * 120); // hang flush with the wall - actor->spr.ang = NORM_ANGLE(getangle(actor->user.coll.hitWall->delta()) - 512); + actor->spr.__int_angle = NORM_ANGLE(getangle(actor->user.coll.hitWall->delta()) - 512); return 0; } @@ -1051,9 +1051,9 @@ int DoRipperBeginJumpAttack(DSWActor* actor) 0L, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_ACTOR, ACTORMOVETICS); if (coll.type != kHitNone) - actor->spr.ang = NORM_ANGLE((actor->spr.ang + 1024) + (RANDOM_NEG(256, 6) >> 6)); + actor->spr.__int_angle = NORM_ANGLE((actor->spr.__int_angle + 1024) + (RANDOM_NEG(256, 6) >> 6)); else - actor->spr.ang = NORM_ANGLE(tang + (RANDOM_NEG(256, 6) >> 6)); + actor->spr.__int_angle = NORM_ANGLE(tang + (RANDOM_NEG(256, 6) >> 6)); DoActorSetSpeed(actor, FAST_SPEED); @@ -1149,7 +1149,7 @@ int DoRipperRipHeart(DSWActor* actor) actor->user.WaitTics = 6 * 120; // player face ripper - target->spr.ang = getangle(actor->int_pos().X - target->int_pos().X, actor->int_pos().Y - target->int_pos().Y); + target->spr.__int_angle = getangle(actor->int_pos().X - target->int_pos().X, actor->int_pos().Y - target->int_pos().Y); return 0; } @@ -1176,7 +1176,7 @@ void RipperHatch(DSWActor* actor) ClearOwner(actorNew); actorNew->spr.pos = actor->spr.pos; actorNew->spr.xrepeat = actorNew->spr.yrepeat = 64; - actorNew->spr.ang = rip_ang[i]; + actorNew->spr.__int_angle = rip_ang[i]; actorNew->spr.pal = 0; SetupRipper(actorNew); diff --git a/source/games/sw/src/ripper2.cpp b/source/games/sw/src/ripper2.cpp index 990837780..790dbf6c2 100644 --- a/source/games/sw/src/ripper2.cpp +++ b/source/games/sw/src/ripper2.cpp @@ -936,7 +936,7 @@ int InitRipper2Hang(DSWActor* actor) for (dang = 0; dang < 2048; dang += 128) { - tang = NORM_ANGLE(actor->spr.ang + dang); + tang = NORM_ANGLE(actor->spr.__int_angle + dang); FAFhitscan(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - ActorSizeZ(actor), actor->sector(), // Start position bcos(tang), // X vector of 3D ang @@ -955,7 +955,7 @@ int InitRipper2Hang(DSWActor* actor) } Found = true; - actor->spr.ang = tang; + actor->spr.__int_angle = tang; break; } @@ -1000,8 +1000,8 @@ int DoRipper2MoveHang(DSWActor* actor) int nx, ny; // Move while jumping - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); // if cannot move the sprite if (!move_actor(actor, nx, ny, 0L)) @@ -1022,7 +1022,7 @@ int DoRipper2MoveHang(DSWActor* actor) actor->user.WaitTics = 0; // Double jump // hang flush with the wall - actor->spr.ang = NORM_ANGLE(getangle(actor->user.coll.hitWall->delta()) - 512); + actor->spr.__int_angle = NORM_ANGLE(getangle(actor->user.coll.hitWall->delta()) - 512); return 0; } @@ -1072,9 +1072,9 @@ int DoRipper2BeginJumpAttack(DSWActor* actor) Collision coll = move_sprite(actor, bcos(tang, -7), bsin(tang, -7), 0, actor->user.ceiling_dist, actor->user.floor_dist, CLIPMASK_ACTOR, ACTORMOVETICS); if (coll.type != kHitNone) - actor->spr.ang = NORM_ANGLE((actor->spr.ang + 1024) + (RANDOM_NEG(256, 6) >> 6)); + actor->spr.__int_angle = NORM_ANGLE((actor->spr.__int_angle + 1024) + (RANDOM_NEG(256, 6) >> 6)); else - actor->spr.ang = NORM_ANGLE(tang); + actor->spr.__int_angle = NORM_ANGLE(tang); DoActorSetSpeed(actor, FAST_SPEED); @@ -1171,7 +1171,7 @@ int DoRipper2RipHeart(DSWActor* actor) actor->user.WaitTics = 6 * 120; // player face ripper2 - target->spr.ang = getangle(actor->int_pos().X - target->int_pos().X, actor->int_pos().Y - target->int_pos().Y); + target->spr.__int_angle = getangle(actor->int_pos().X - target->int_pos().X, actor->int_pos().Y - target->int_pos().Y); return 0; } @@ -1202,7 +1202,7 @@ void Ripper2Hatch(DSWActor* actor) actorNew->spr.pos = actor->spr.pos; actorNew->spr.xrepeat = actorNew->spr.yrepeat = 64; - actorNew->spr.ang = rip_ang[i]; + actorNew->spr.__int_angle = rip_ang[i]; actorNew->spr.pal = 0; actorNew->spr.shade = -10; SetupRipper2(actorNew); diff --git a/source/games/sw/src/rooms.cpp b/source/games/sw/src/rooms.cpp index 7ab36f4a4..2cf59e2e7 100644 --- a/source/games/sw/src/rooms.cpp +++ b/source/games/sw/src/rooms.cpp @@ -781,7 +781,7 @@ short FindViewSectorInScene(sectortype* cursect, short level) if (cursect == actor->sector()) { // ignore case if sprite is pointing up - if (actor->spr.ang == 1536) + if (actor->spr.__int_angle == 1536) continue; // only gets to here is sprite is pointing down diff --git a/source/games/sw/src/sector.cpp b/source/games/sw/src/sector.cpp index 2bd60d244..500189392 100644 --- a/source/games/sw/src/sector.cpp +++ b/source/games/sw/src/sector.cpp @@ -836,7 +836,7 @@ void SectorExp(DSWActor* actor, sectortype* sectp, short orig_ang, int zh) actor->spr.cstat &= ~(CSTAT_SPRITE_ALIGNMENT_WALL|CSTAT_SPRITE_ALIGNMENT_FLOOR); SectorMidPoint(sectp, &x, &y, &z); // randomize the explosions - actor->spr.ang = orig_ang + RANDOM_P2(256) - 128; + actor->spr.__int_angle = orig_ang + RANDOM_P2(256) - 128; actor->set_int_pos({ x + RANDOM_P2(256) - 128, y + RANDOM_P2(1024) - 512, zh }); // setup vars needed by SectorExp @@ -849,8 +849,8 @@ void SectorExp(DSWActor* actor, sectortype* sectp, short orig_ang, int zh) exp->spr.xrepeat += (RANDOM_P2(32<<8)>>8) - 16; exp->spr.yrepeat += (RANDOM_P2(32<<8)>>8) - 16; - exp->user.change.X = MOVEx(92, exp->spr.ang); - exp->user.change.Y = MOVEy(92, exp->spr.ang); + exp->user.change.X = MOVEx(92, exp->spr.__int_angle); + exp->user.change.Y = MOVEy(92, exp->spr.__int_angle); } @@ -861,7 +861,7 @@ void DoExplodeSector(short match) sectortype* sectp; - orig_ang = 0; //actor->spr.ang; + orig_ang = 0; //actor->spr.__int_angle; SWStatIterator it(STAT_EXPLODING_CEIL_FLOOR); while (auto actor = it.Next()) @@ -2601,8 +2601,8 @@ void DoPanning(void) { sectp = actor->sector(); - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 20); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 20); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 20); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 20); sectp->addfloorxpan((float)nx); sectp->addfloorypan((float)ny); @@ -2613,8 +2613,8 @@ void DoPanning(void) { sectp = actor->sector(); - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 20); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 20); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 20); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 20); sectp->addceilingxpan((float)nx); sectp->addceilingypan((float)ny); @@ -2625,8 +2625,8 @@ void DoPanning(void) { wallp = actor->tempwall; - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 20); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 20); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 20); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 20); wallp->addxpan((float)nx); wallp->addypan((float)ny); diff --git a/source/games/sw/src/skull.cpp b/source/games/sw/src/skull.cpp index 16e0900b1..52a033c78 100644 --- a/source/games/sw/src/skull.cpp +++ b/source/games/sw/src/skull.cpp @@ -254,8 +254,8 @@ int DoSkullMove(DSWActor* actor) { int32_t dax, day, daz; - dax = MOVEx(actor->spr.xvel, actor->spr.ang); - day = MOVEy(actor->spr.xvel, actor->spr.ang); + dax = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + day = MOVEy(actor->spr.xvel, actor->spr.__int_angle); daz = actor->spr.zvel; actor->user.coll = move_missile(actor, dax, day, daz, Z(16), Z(16), CLIPMASK_MISSILE, ACTORMOVETICS); @@ -284,7 +284,7 @@ int DoSkullBeginDeath(DSWActor* actor) if (num_ord > 3) num_ord = 3; for (i=0; ispr.ang = NORM_ANGLE(actor->spr.ang+(i*1024)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle+(i*1024)); InitSpriteChemBomb(actor); } break; @@ -296,7 +296,7 @@ int DoSkullBeginDeath(DSWActor* actor) if (num_ord > 10) num_ord = 10; for (i=0; ispr.ang = NORM_ANGLE(RandomRange(2048)); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048)); InitCaltrops(actor); } break; @@ -313,7 +313,7 @@ int DoSkullBeginDeath(DSWActor* actor) if (num_ord > 10) num_ord = 10; for (i=0; ispr.ang = NORM_ANGLE(actor->spr.ang+(i*(2048/num_ord))); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle+(i*(2048/num_ord))); InitSpriteGrenade(actor); } break; @@ -321,7 +321,7 @@ int DoSkullBeginDeath(DSWActor* actor) SpawnMineExp(actor); for (i=0; i<3; i++) { - actor->spr.ang = NORM_ANGLE(RandomRange(2048)); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048)); InitPhosphorus(actor); } break; @@ -347,7 +347,7 @@ int DoSkullJump(DSWActor* actor) if (actor->spr.xvel) DoSkullMove(actor); else - actor->spr.ang = NORM_ANGLE(actor->spr.ang + (64 * ACTORMOVETICS)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (64 * ACTORMOVETICS)); if (actor->user.Flags & (SPR_JUMPING)) { @@ -453,13 +453,13 @@ int DoSkullWait(DSWActor* actor) else // above the floor type { - actor->spr.ang = NORM_ANGLE(actor->spr.ang + (48 * ACTORMOVETICS)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (48 * ACTORMOVETICS)); DoSkullBob(actor); if (dist < 8000) { - actor->spr.ang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); actor->spr.xvel = 128 + (RANDOM_P2(256<<8)>>8); actor->user.jump_speed = -700; NewStateGroup(actor, sg_SkullJump); @@ -639,8 +639,8 @@ int DoBettyMove(DSWActor* actor) { int32_t dax, day, daz; - dax = MOVEx(actor->spr.xvel, actor->spr.ang); - day = MOVEy(actor->spr.xvel, actor->spr.ang); + dax = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + day = MOVEy(actor->spr.xvel, actor->spr.__int_angle); daz = actor->spr.zvel; actor->user.coll = move_missile(actor, dax, day, daz, Z(16), Z(16), CLIPMASK_MISSILE, ACTORMOVETICS); @@ -664,7 +664,7 @@ int DoBettyBeginDeath(DSWActor* actor) if (num_ord > 3) num_ord = 3; for (i=0; ispr.ang = NORM_ANGLE(actor->spr.ang+(i*1024)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle+(i*1024)); InitSpriteChemBomb(actor); } break; @@ -676,7 +676,7 @@ int DoBettyBeginDeath(DSWActor* actor) if (num_ord > 10) num_ord = 10; for (i=0; ispr.ang = NORM_ANGLE(RandomRange(2048)); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048)); InitCaltrops(actor); } break; @@ -692,14 +692,14 @@ int DoBettyBeginDeath(DSWActor* actor) if (num_ord > 10) num_ord = 10; for (i=0; ispr.ang = NORM_ANGLE(actor->spr.ang + (i*(2048/num_ord))); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (i*(2048/num_ord))); InitSpriteGrenade(actor); } break; default: for (i=0; i<5; i++) { - actor->spr.ang = NORM_ANGLE(RandomRange(2048)); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048)); InitPhosphorus(actor); SpawnMineExp(actor); } @@ -726,7 +726,7 @@ int DoBettyJump(DSWActor* actor) if (actor->spr.xvel) DoBettyMove(actor); else - actor->spr.ang = NORM_ANGLE(actor->spr.ang + (64 * ACTORMOVETICS)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (64 * ACTORMOVETICS)); if (actor->user.Flags & (SPR_JUMPING)) { @@ -825,13 +825,13 @@ int DoBettyWait(DSWActor* actor) else // above the floor type { - actor->spr.ang = NORM_ANGLE(actor->spr.ang + (48 * ACTORMOVETICS)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (48 * ACTORMOVETICS)); DoBettyBob(actor); if (dist < 8000) { - actor->spr.ang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); actor->spr.xvel = 128 + (RANDOM_P2(256<<8)>>8); actor->user.jump_speed = -700; NewStateGroup(actor, sg_BettyJump); diff --git a/source/games/sw/src/sounds.cpp b/source/games/sw/src/sounds.cpp index f893c14f4..44ee78db5 100644 --- a/source/games/sw/src/sounds.cpp +++ b/source/games/sw/src/sounds.cpp @@ -603,7 +603,7 @@ void GameInterface::UpdateSounds(void) { DSWActor* rsp = pp->remoteActor; if (TEST_BOOL1(rsp)) - tang = buildang(rsp->spr.ang); + tang = buildang(rsp->spr.__int_angle); else tang = bvectangbam(pp->sop_remote->pmid.X - pp->pos.X, pp->sop_remote->pmid.Y - pp->pos.Y); } diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index 8a18c0355..f15ba8882 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -893,7 +893,7 @@ DSWActor* SpawnActor(int stat, int id, STATE* state, sectortype* sect, int x, in spawnedActor->spr.xrepeat = 64; spawnedActor->spr.yrepeat = 64; - spawnedActor->spr.ang = NORM_ANGLE(init_ang); + spawnedActor->spr.__int_angle = NORM_ANGLE(init_ang); spawnedActor->spr.xvel = vel; return spawnedActor; @@ -1738,7 +1738,7 @@ void SpriteSetup(void) { sectp->u_defined = true; sectp->speed = actor->spr.lotag; - sectp->ang = actor->spr.ang; + sectp->ang = actor->spr.__int_angle; KillActor(actor); } else if (bit & (SECTFX_NO_RIDE)) @@ -1860,7 +1860,7 @@ void SpriteSetup(void) HitInfo hit{}; hitscan(hit_pos, actor->sector(), // Start position - { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK_MISSILE); + { bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), 0 }, hit, CLIPMASK_MISSILE); if (hit.hitWall == nullptr) { @@ -1874,7 +1874,7 @@ void SpriteSetup(void) actor->spr.xvel = 0; else actor->spr.xvel = actor->spr.lotag; - actor->spr.ang = SP_TAG6(actor); + actor->spr.__int_angle = SP_TAG6(actor); // attach to the sector that contains the wall ChangeActorSect(actor, hit.hitSector); StartInterpolation(hit.hitWall, Interp_Wall_PanX); @@ -1889,7 +1889,7 @@ void SpriteSetup(void) HitInfo hit{}; hitscan(hit_pos, actor->sector(), // Start position - { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK_MISSILE); + { bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), 0 }, hit, CLIPMASK_MISSILE); if (hit.hitWall == nullptr) { @@ -2491,10 +2491,10 @@ void SpriteSetup(void) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->spr.pos = actor->spr.pos; - actorNew->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actorNew->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); actorNew->spr.picnum = actor->spr.picnum; - actorNew->add_int_pos({ MOVEx(256 + 128, actor->spr.ang), MOVEy(256 + 128, actor->spr.ang), 0 }); + actorNew->add_int_pos({ MOVEx(256 + 128, actor->spr.__int_angle), MOVEy(256 + 128, actor->spr.__int_angle), 0 }); break; } @@ -2855,7 +2855,7 @@ KeyMain: * * actor->user.State = actor->user.StateStart = &s_FireFly[0]; actor->user.RotNum = 0; * - * actor->spr.ang = 0; actor->spr.xvel = 4; + * actor->spr.__int_angle = 0; actor->spr.xvel = 4; * * if (labs(actor->spr.z - actor->sector()->int_floorz()) < Z(32)) actor->spr.z = * actor->sector()->int_floorz() - Z(32); @@ -3500,8 +3500,8 @@ void SetupItemForJump(DSWActor* spawner, DSWActor* actor) actor->spr.xvel = (int)SP_TAG7(spawner)<<2; actor->spr.zvel = -(((int)SP_TAG8(spawner))<<5); - actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.ang); - actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.ang); + actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.__int_angle); actor->user.change.Z = actor->spr.zvel; } } @@ -3519,7 +3519,7 @@ int ActorCoughItem(DSWActor* actor) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->set_int_pos({ actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor) }); - actorNew->spr.ang = 0; + actorNew->spr.__int_angle = 0; actorNew->spr.extra = 0; // vel @@ -3558,7 +3558,7 @@ int ActorCoughItem(DSWActor* actor) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->set_int_pos({ actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor) }); - actorNew->spr.ang = 0; + actorNew->spr.__int_angle = 0; actorNew->spr.extra = 0; // vel @@ -3584,7 +3584,7 @@ int ActorCoughItem(DSWActor* actor) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->set_int_pos({ actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor) }); - actorNew->spr.ang = 0; + actorNew->spr.__int_angle = 0; actorNew->spr.extra = 0; // vel @@ -3613,7 +3613,7 @@ int ActorCoughItem(DSWActor* actor) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->set_int_pos({ actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor) }); - actorNew->spr.ang = 0; + actorNew->spr.__int_angle = 0; actorNew->spr.extra = 0; // vel @@ -3673,7 +3673,7 @@ int ActorCoughItem(DSWActor* actor) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->set_int_pos({ actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor) }); - actorNew->spr.ang = 0; + actorNew->spr.__int_angle = 0; actorNew->spr.extra = 0; // vel @@ -3729,7 +3729,7 @@ int ActorCoughItem(DSWActor* actor) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->set_int_pos({ actor->int_pos().X, actor->int_pos().Y, ActorLowerZ(actor) + Z(10) }); - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; // vel SP_TAG7(actorNew) = 10; @@ -3792,23 +3792,23 @@ int SpawnItemsMatch(short match) case 90: spawnedActor = BunnyHatch2(itActor); spawnedActor->user.spal = spawnedActor->spr.pal = PALETTE_PLAYER8; // Boy - spawnedActor->spr.ang = itActor->spr.ang; + spawnedActor->spr.__int_angle = itActor->spr.__int_angle; break; case 91: spawnedActor = BunnyHatch2(itActor); spawnedActor->user.spal = spawnedActor->spr.pal = PALETTE_PLAYER0; // Girl - spawnedActor->spr.ang = itActor->spr.ang; + spawnedActor->spr.__int_angle = itActor->spr.__int_angle; break; case 92: spawnedActor = BunnyHatch2(itActor); - spawnedActor->spr.ang = itActor->spr.ang; + spawnedActor->spr.__int_angle = itActor->spr.__int_angle; break; case 40: if (!ItemSpotClear(itActor, STAT_ITEM, ICON_REPAIR_KIT)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_REPAIR_KIT, s_RepairKit, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_REPAIR_KIT, s_RepairKit, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3819,7 +3819,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_STAR)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_STAR, s_IconStar, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_STAR, s_IconStar, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3830,7 +3830,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_LG_MINE)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_MINE, s_IconLgMine, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_MINE, s_IconLgMine, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3841,7 +3841,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_MICRO_GUN)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_MICRO_GUN, s_IconMicroGun, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_MICRO_GUN, s_IconMicroGun, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3852,7 +3852,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_MICRO_BATTERY)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_MICRO_BATTERY, s_IconMicroBattery, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_MICRO_BATTERY, s_IconMicroBattery, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3863,7 +3863,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_GRENADE_LAUNCHER)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_GRENADE_LAUNCHER, s_IconGrenadeLauncher, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_GRENADE_LAUNCHER, s_IconGrenadeLauncher, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3874,7 +3874,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_LG_GRENADE)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_GRENADE, s_IconLgGrenade, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_GRENADE, s_IconLgGrenade, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3885,7 +3885,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_RAIL_GUN)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_RAIL_GUN, s_IconRailGun, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_RAIL_GUN, s_IconRailGun, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3896,7 +3896,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_RAIL_AMMO)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_RAIL_AMMO, s_IconRailAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_RAIL_AMMO, s_IconRailAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3907,7 +3907,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_ROCKET)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_ROCKET, s_IconRocket, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_ROCKET, s_IconRocket, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3918,7 +3918,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_SHOTGUN)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_SHOTGUN, s_IconShotgun, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_SHOTGUN, s_IconShotgun, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3929,7 +3929,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_LG_SHOTSHELL)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_SHOTSHELL, s_IconLgShotshell, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_SHOTSHELL, s_IconLgShotshell, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3940,7 +3940,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_GUARD_HEAD)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_GUARD_HEAD, s_IconGuardHead, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_GUARD_HEAD, s_IconGuardHead, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3951,7 +3951,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_FIREBALL_LG_AMMO)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_FIREBALL_LG_AMMO, s_IconFireballLgAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_FIREBALL_LG_AMMO, s_IconFireballLgAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3962,7 +3962,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_HEART)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_HEART, s_IconHeart, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_HEART, s_IconHeart, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3973,7 +3973,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_HEART_LG_AMMO)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_HEART_LG_AMMO, s_IconHeartLgAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_HEART_LG_AMMO, s_IconHeartLgAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -3985,7 +3985,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_ARMOR)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_ARMOR, s_IconArmor, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_ARMOR, s_IconArmor, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4002,7 +4002,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_MEDKIT)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_MEDKIT, s_IconMedkit, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_MEDKIT, s_IconMedkit, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4013,7 +4013,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_SM_MEDKIT)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_SM_MEDKIT, s_IconSmMedkit, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_SM_MEDKIT, s_IconSmMedkit, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4024,7 +4024,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_CHEMBOMB)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_CHEMBOMB, s_IconChemBomb, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_CHEMBOMB, s_IconChemBomb, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4035,7 +4035,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_FLASHBOMB)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_FLASHBOMB, s_IconFlashBomb, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_FLASHBOMB, s_IconFlashBomb, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4046,7 +4046,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_NUKE)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_NUKE, s_IconNuke, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_NUKE, s_IconNuke, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4057,7 +4057,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_CALTROPS)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_CALTROPS, s_IconCaltrops, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_CALTROPS, s_IconCaltrops, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4068,7 +4068,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_BOOSTER)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_BOOSTER, s_IconBooster, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_BOOSTER, s_IconBooster, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4079,7 +4079,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_HEAT_CARD)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_HEAT_CARD, s_IconHeatCard, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_HEAT_CARD, s_IconHeatCard, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4090,7 +4090,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_CLOAK)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_CLOAK, s_IconCloak, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_CLOAK, s_IconCloak, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4101,7 +4101,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_NIGHT_VISION)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_NIGHT_VISION, s_IconNightVision, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_NIGHT_VISION, s_IconNightVision, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4113,7 +4113,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_LG_UZI_AMMO)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_UZI_AMMO, s_IconLgUziAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_LG_UZI_AMMO, s_IconLgUziAmmo, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4124,7 +4124,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_GUARD_HEAD)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_GUARD_HEAD, s_IconGuardHead, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_GUARD_HEAD, s_IconGuardHead, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4135,7 +4135,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_HEART)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_HEART, s_IconHeart, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_HEART, s_IconHeart, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4147,7 +4147,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_UZIFLOOR)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_UZIFLOOR, s_IconUziFloor, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_UZIFLOOR, s_IconUziFloor, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4161,7 +4161,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, ICON_UZI)) break; - spawnedActor = SpawnActor(STAT_ITEM, ICON_UZI, s_IconUzi, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, ICON_UZI, s_IconUzi, itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->user.Flags2 |= SPR2_NEVER_RESPAWN; IconDefault(spawnedActor); @@ -4207,7 +4207,7 @@ int SpawnItemsMatch(short match) if (!ItemSpotClear(itActor, STAT_ITEM, s_Key[num]->Pic)) break; - spawnedActor = SpawnActor(STAT_ITEM, s_Key[num]->Pic, s_Key[num], itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.ang, 0); + spawnedActor = SpawnActor(STAT_ITEM, s_Key[num]->Pic, s_Key[num], itActor->sector(), itActor->int_pos().X, itActor->int_pos().Y, itActor->int_pos().Z, itActor->spr.__int_angle, 0); spawnedActor->spr.picnum = spawnedActor->user.ID = s_Key[num]->Pic; @@ -4367,8 +4367,8 @@ void getzrangepoint(int x, int y, int z, sectortype* sect, // Calculate all 4 points of the floor sprite. // (x1,y1),(x2,y2),(x3,y3),(x4,y4) // These points will already have (x,y) subtracted from them - cosang = bcos(itActor->spr.ang); - sinang = bsin(itActor->spr.ang); + cosang = bcos(itActor->spr.__int_angle); + sinang = bsin(itActor->spr.__int_angle); xspan = tileWidth(tilenum); dax = ((xspan >> 1) + xoff) * itActor->spr.xrepeat; yspan = tileHeight(tilenum); @@ -4574,11 +4574,11 @@ bool DropAhead(DSWActor* actor, int min_height) { int dax, day; - // dax = actor->spr.x + MOVEx(128, actor->spr.ang); - // day = actor->spr.y + MOVEy(128, actor->spr.ang); + // dax = actor->spr.x + MOVEx(128, actor->spr.__int_angle); + // day = actor->spr.y + MOVEy(128, actor->spr.__int_angle); - dax = actor->int_pos().X + MOVEx(256, actor->spr.ang); - day = actor->int_pos().Y + MOVEy(256, actor->spr.ang); + dax = actor->int_pos().X + MOVEx(256, actor->spr.__int_angle); + day = actor->int_pos().Y + MOVEy(256, actor->spr.__int_angle); auto newsector = actor->sector(); updatesector(dax, day, &newsector); @@ -4700,7 +4700,7 @@ int DoGrating(DSWActor* actor) const int GRATE_FACTOR = 3; // reduce to 0 to 3 value - dir = actor->spr.ang >> 9; + dir = actor->spr.__int_angle >> 9; int x = 0, y = 0; if ((dir & 1) == 0) @@ -4736,7 +4736,7 @@ int DoGrating(DSWActor* actor) int DoKey(DSWActor* actor) { - actor->spr.ang = NORM_ANGLE(actor->spr.ang + (14 * ACTORMOVETICS)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (14 * ACTORMOVETICS)); DoGet(actor); return 0; @@ -4911,7 +4911,7 @@ int DoSpawnItemTeleporterEffect(DSWActor* actor) auto effect = SpawnActor(STAT_MISSILE, 0, s_TeleportEffect, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - Z(12), - actor->spr.ang, 0); + actor->spr.__int_angle, 0); effect->spr.shade = -40; effect->spr.xrepeat = effect->spr.yrepeat = 36; diff --git a/source/games/sw/src/track.cpp b/source/games/sw/src/track.cpp index fc91b430e..ab9c38750 100644 --- a/source/games/sw/src/track.cpp +++ b/source/games/sw/src/track.cpp @@ -288,7 +288,7 @@ void TrackAddPoint(TRACK* t, TRACK_POINT* tp, DSWActor* actor) tpoint->x = actor->int_pos().X; tpoint->y = actor->int_pos().Y; tpoint->z = actor->int_pos().Z; - tpoint->ang = actor->spr.ang; + tpoint->ang = actor->spr.__int_angle; tpoint->tag_low = actor->spr.lotag; tpoint->tag_high = actor->spr.hitag; @@ -304,7 +304,7 @@ DSWActor* TrackClonePoint(DSWActor* actor) actorNew->spr.cstat = 0; actorNew->spr.extra = 0; actorNew->spr.pos = actor->spr.pos; - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; actorNew->spr.lotag = actor->spr.lotag; actorNew->spr.hitag = actor->spr.hitag; @@ -350,12 +350,12 @@ void QuickJumpSetup(short stat, short lotag, short type) TrackAddPoint(t, tp, start_sprite); // add jump point - actor->add_int_pos({ MulScale(64, bcos(actor->spr.ang), 14), MulScale(64, bsin(actor->spr.ang), 14), 0 }); + actor->add_int_pos({ MulScale(64, bcos(actor->spr.__int_angle), 14), MulScale(64, bsin(actor->spr.__int_angle), 14), 0 }); actor->spr.lotag = lotag; TrackAddPoint(t, tp, actor); // add end point - end_sprite->add_int_pos({ MulScale(2048, bcos(end_sprite->spr.ang), 14), MulScale(2048, bsin(end_sprite->spr.ang), 14), 0 }); + end_sprite->add_int_pos({ MulScale(2048, bcos(end_sprite->spr.__int_angle), 14), MulScale(2048, bsin(end_sprite->spr.__int_angle), 14), 0 }); end_sprite->spr.lotag = TRACK_END; end_sprite->spr.hitag = 0; TrackAddPoint(t, tp, end_sprite); @@ -403,7 +403,7 @@ void QuickScanSetup(short stat, short lotag, short type) // add start point start_sprite->spr.lotag = TRACK_START; start_sprite->spr.hitag = 0; - start_sprite->add_int_pos({ MulScale(64, -bcos(start_sprite->spr.ang), 14), MulScale(64, -bsin(start_sprite->spr.ang), 14), 0 }); + start_sprite->add_int_pos({ MulScale(64, -bcos(start_sprite->spr.__int_angle), 14), MulScale(64, -bsin(start_sprite->spr.__int_angle), 14), 0 }); TrackAddPoint(t, tp, start_sprite); // add jump point @@ -411,7 +411,7 @@ void QuickScanSetup(short stat, short lotag, short type) TrackAddPoint(t, tp, actor); // add end point - end_sprite->add_int_pos({ MulScale(64, bcos(end_sprite->spr.ang), 14), MulScale(64, bsin(end_sprite->spr.ang), 14), 0 }); + end_sprite->add_int_pos({ MulScale(64, bcos(end_sprite->spr.__int_angle), 14), MulScale(64, bsin(end_sprite->spr.__int_angle), 14), 0 }); end_sprite->spr.lotag = TRACK_END; end_sprite->spr.hitag = 0; TrackAddPoint(t, tp, end_sprite); @@ -461,7 +461,7 @@ void QuickExitSetup(short stat, short type) KillActor(actor); // add end point - end_sprite->add_int_pos({ MulScale(1024, bcos(end_sprite->spr.ang), 14), MulScale(1024, bsin(end_sprite->spr.ang), 14), 0 }); + end_sprite->add_int_pos({ MulScale(1024, bcos(end_sprite->spr.__int_angle), 14), MulScale(1024, bsin(end_sprite->spr.__int_angle), 14), 0 }); end_sprite->spr.lotag = TRACK_END; end_sprite->spr.hitag = 0; TrackAddPoint(t, tp, end_sprite); @@ -506,7 +506,7 @@ void QuickLadderSetup(short stat, short lotag, short type) // add start point start_sprite->spr.lotag = TRACK_START; start_sprite->spr.hitag = 0; - start_sprite->add_int_pos({ MOVEx(256,start_sprite->spr.ang + 1024), MOVEy(256,start_sprite->spr.ang + 1024), 0 }); + start_sprite->add_int_pos({ MOVEx(256,start_sprite->spr.__int_angle + 1024), MOVEy(256,start_sprite->spr.__int_angle + 1024), 0 }); TrackAddPoint(t, tp, start_sprite); // add climb point @@ -514,7 +514,7 @@ void QuickLadderSetup(short stat, short lotag, short type) TrackAddPoint(t, tp, actor); // add end point - end_sprite->add_int_pos({ MOVEx(512,end_sprite->spr.ang), MOVEy(512,end_sprite->spr.ang), 0 }); + end_sprite->add_int_pos({ MOVEx(512,end_sprite->spr.__int_angle), MOVEy(512,end_sprite->spr.__int_angle), 0 }); end_sprite->spr.lotag = TRACK_END; end_sprite->spr.hitag = 0; TrackAddPoint(t, tp, end_sprite); @@ -878,7 +878,7 @@ void SectorObjectSetupBounds(SECTOR_OBJECT* sop) itActor->user.Flags |= (SPR_SO_ATTACHED); - itActor->user.sang = itActor->spr.ang; + itActor->user.sang = itActor->spr.__int_angle; itActor->user.spal = itActor->spr.pal; // search SO's sectors to make sure that it is not on a @@ -1225,7 +1225,7 @@ void SetupSectorObject(sectortype* sectp, short tag) KillActor(actor); break; case SO_LIMIT_TURN: - sop->limit_ang_center = actor->spr.ang; + sop->limit_ang_center = actor->spr.__int_angle; sop->limit_ang_delta = actor->spr.lotag; KillActor(actor); break; @@ -1246,7 +1246,7 @@ void SetupSectorObject(sectortype* sectp, short tag) KillActor(actor); break; case SO_ANGLE: - sop->ang = sop->ang_moving = actor->spr.ang; + sop->ang = sop->ang_moving = actor->spr.__int_angle; sop->last_ang = sop->ang_orig = sop->ang; sop->spin_ang = 0; KillActor(actor); @@ -1457,7 +1457,7 @@ void PlaceActorsOnTracks(void) actor->user.track = tag - TAG_ACTOR_TRACK_BEGIN; // if facing left go backward - if (actor->spr.ang >= 513 && actor->spr.ang <= 1535) + if (actor->spr.__int_angle >= 513 && actor->spr.__int_angle <= 1535) { actor->user.track_dir = -1; } @@ -1493,7 +1493,7 @@ void PlaceActorsOnTracks(void) } // check angle in the "forward" direction - actor->spr.ang = getangle((tpoint + actor->user.point)->x - actor->int_pos().X, (tpoint + actor->user.point)->y - actor->int_pos().Y); + actor->spr.__int_angle = getangle((tpoint + actor->user.point)->x - actor->int_pos().X, (tpoint + actor->user.point)->y - actor->int_pos().Y); } } @@ -1716,8 +1716,8 @@ PlayerPart: } } - int16_t oldang = actor->spr.ang; - actor->spr.ang = actor->user.sang; + int16_t oldang = actor->spr.__int_angle; + actor->spr.__int_angle = actor->user.sang; if (actor->user.Flags & (SPR_ON_SO_SECTOR)) { @@ -1733,12 +1733,12 @@ PlayerPart: if ((actor->sector()->firstWall()->extra & WALLFX_LOOP_REVERSE_SPIN)) { rotatepoint(sop->pmid.vec2, actor->int_pos().vec2, -delta_ang, &pos.vec2); - actor->spr.ang = NORM_ANGLE(actor->spr.ang - delta_ang); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle - delta_ang); } else { rotatepoint(sop->pmid.vec2, actor->int_pos().vec2, delta_ang, &pos.vec2); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + delta_ang); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + delta_ang); } actor->set_int_pos(pos); @@ -1750,7 +1750,7 @@ PlayerPart: // NOT part of a sector - independant of any sector auto pos = actor->int_pos(); rotatepoint(sop->pmid.vec2, actor->int_pos().vec2, delta_ang, &pos.vec2); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + delta_ang); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + delta_ang); actor->set_int_pos(pos); } @@ -1760,7 +1760,7 @@ PlayerPart: SetActorZ(sop->so_actors[i], actor->int_pos()); } - actor->user.oangdiff += getincangle(oldang, actor->spr.ang); + actor->user.oangdiff += getincangle(oldang, actor->spr.__int_angle); if ((actor->spr.extra & SPRX_BLADE)) { @@ -2832,7 +2832,7 @@ void DoActorHitTrackEndPoint(DSWActor* actor) if (actor->user.track >= 0) { - actor->spr.ang = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); + actor->spr.__int_angle = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); } else { @@ -2848,7 +2848,7 @@ void DoActorHitTrackEndPoint(DSWActor* actor) if (actor->user.track >= 0) { - actor->spr.ang = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); + actor->spr.__int_angle = NORM_ANGLE(getangle((Track[actor->user.track].TrackPoint + actor->user.point)->x - actor->int_pos().X, (Track[actor->user.track].TrackPoint + actor->user.point)->y - actor->int_pos().Y)); } else { @@ -2971,7 +2971,7 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) case TRACK_ACTOR_JUMP: if (actor->user.ActorActionSet->Jump) { - actor->spr.ang = tpoint->ang; + actor->spr.__int_angle = tpoint->ang; if (!tpoint->tag_high) actor->user.jump_speed = ACTOR_STD_JUMP; @@ -2991,7 +2991,7 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) int zdiff; HitInfo hit{}; - actor->spr.ang = tpoint->ang; + actor->spr.__int_angle = tpoint->ang; ActorLeaveTrack(actor); @@ -3005,8 +3005,8 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) actor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK); FAFhitscan(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - Z(24), actor->sector(), // Start position - bcos(actor->spr.ang), // X vector of 3D ang - bsin(actor->spr.ang), // Y vector of 3D ang + bcos(actor->spr.__int_angle), // X vector of 3D ang + bsin(actor->spr.__int_angle), // Y vector of 3D ang 0, // Z vector of 3D ang hit, CLIPMASK_MISSILE); @@ -3040,7 +3040,7 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) if (actor->user.ActorActionSet->Jump) { - actor->spr.ang = tpoint->ang; + actor->spr.__int_angle = tpoint->ang; ActorLeaveTrack(actor); @@ -3074,7 +3074,7 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) if (actor->user.Rot != actor->user.ActorActionSet->Duck) { - actor->spr.ang = tpoint->ang; + actor->spr.__int_angle = tpoint->ang; ActorLeaveTrack(actor); @@ -3100,14 +3100,14 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) if (actor->user.Rot == actor->user.ActorActionSet->Sit || actor->user.Rot == actor->user.ActorActionSet->Stand) return false; - actor->spr.ang = tpoint->ang; + actor->spr.__int_angle = tpoint->ang; z[0] = actor->int_pos().Z - ActorSizeZ(actor) + Z(5); z[1] = actor->int_pos().Z - (ActorSizeZ(actor) >> 1); for (i = 0; i < (int)SIZ(z); i++) { - neartag({ actor->int_pos().X, actor->int_pos().Y, z[i] }, actor->sector(), actor->spr.ang, near, 1024, NTAG_SEARCH_LO_HI); + neartag({ actor->int_pos().X, actor->int_pos().Y, z[i] }, actor->sector(), actor->spr.__int_angle, near, 1024, NTAG_SEARCH_LO_HI); if (near.actor() != nullptr && near.hitpos.X < 1024) { @@ -3312,18 +3312,18 @@ bool ActorTrackDecide(TRACK_POINT* tpoint, DSWActor* actor) // determine where the player is supposed to be in relation to the ladder // move out in front of the ladder - nx = MOVEx(100, lActor->spr.ang); - ny = MOVEy(100, lActor->spr.ang); + nx = MOVEx(100, lActor->spr.__int_angle); + ny = MOVEy(100, lActor->spr.__int_angle); actor->set_int_xy(lActor->int_pos().X + nx, lActor->int_pos().Y + ny); - actor->spr.ang = NORM_ANGLE(lActor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(lActor->spr.__int_angle + 1024); // // Get the z height to climb // - neartag({ actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor) - (ActorSizeZ(actor) >> 1) }, actor->sector(), actor->spr.ang, near, 600, NTAG_SEARCH_LO_HI); + neartag({ actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor) - (ActorSizeZ(actor) >> 1) }, actor->sector(), actor->spr.__int_angle, near, 600, NTAG_SEARCH_LO_HI); if (near.hitWall == nullptr) { @@ -3442,7 +3442,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics) if (!(actor->user.Flags & (SPR_CLIMBING | SPR_DONT_UPDATE_ANG))) { - actor->spr.ang = getangle(tpoint->x - actor->int_pos().X, tpoint->y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(tpoint->x - actor->int_pos().X, tpoint->y - actor->int_pos().Y); } if ((dist = Distance(actor->int_pos().X, actor->int_pos().Y, tpoint->x, tpoint->y)) < 200) // 64 @@ -3457,7 +3457,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics) if (!(actor->user.Flags & (SPR_CLIMBING | SPR_DONT_UPDATE_ANG))) { // calculate a new angle to the target - actor->spr.ang = getangle(tpoint->x - actor->int_pos().X, tpoint->y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(tpoint->x - actor->int_pos().X, tpoint->y - actor->int_pos().Y); } if (actor->user.Flags & (SPR_ZDIFF_MODE)) @@ -3511,7 +3511,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics) actor->spr.zvel = 0; - actor->spr.ang = getangle(tpoint->x - actor->int_pos().X, tpoint->y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(tpoint->x - actor->int_pos().X, tpoint->y - actor->int_pos().Y); ActorLeaveTrack(actor); actor->spr.cstat &= ~(CSTAT_SPRITE_YCENTER); @@ -3528,8 +3528,8 @@ int ActorFollowTrack(DSWActor* actor, short locktics) else { // calculate a new x and y - nx = MulScale(actor->spr.xvel, bcos(actor->spr.ang), 14); - ny = MulScale(actor->spr.xvel, bsin(actor->spr.ang), 14); + nx = MulScale(actor->spr.xvel, bcos(actor->spr.__int_angle), 14); + ny = MulScale(actor->spr.xvel, bsin(actor->spr.__int_angle), 14); } nz = 0; diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index f0e40dce2..5982b809a 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -3159,7 +3159,7 @@ int SpawnShrap(DSWActor* parentActor, DSWActor* secondaryActor, int means, BREAK short WaitTics = 64; // for FastShrap short shrap_type; int shrap_rand_zamt = 0; - short shrap_ang = parentActor->spr.ang; + short shrap_ang = parentActor->spr.__int_angle; short shrap_delta_size = 0; short shrap_amt = 0; @@ -3664,13 +3664,13 @@ AutoShrap: if (p->random_disperse) { - actor->spr.ang = shrap_ang + (RANDOM_P2(p->ang_range<<5)>>5) - (p->ang_range >> 1); - actor->spr.ang = NORM_ANGLE(actor->spr.ang); + actor->spr.__int_angle = shrap_ang + (RANDOM_P2(p->ang_range<<5)>>5) - (p->ang_range >> 1); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle); } else { - actor->spr.ang = start_ang + (i * dang); - actor->spr.ang = NORM_ANGLE(actor->spr.ang); + actor->spr.__int_angle = start_ang + (i * dang); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle); } // for FastShrap @@ -3714,8 +3714,8 @@ AutoShrap: shrap_ysize = actor->user.pos.Y = 12 + (RANDOM_P2(32<<8)>>8); actor->user.Counter = (RANDOM_P2(2048<<5)>>5); - nx = bcos(actor->spr.ang, -6); - ny = bsin(actor->spr.ang, -6); + nx = bcos(actor->spr.__int_angle, -6); + ny = bsin(actor->spr.__int_angle, -6); move_missile(actor, nx, ny, 0, Z(8), Z(8), CLIPMASK_MISSILE, MISSILEMOVETICS); if (RANDOM_P2(1024)<700) @@ -3725,7 +3725,7 @@ AutoShrap: case EMP: shrap_bounce = false; actor->add_int_z(-Z(4)); - //actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + //actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); shrap_xsize = actor->user.pos.X = 5 + (RANDOM_P2(4<<8)>>8); shrap_ysize = actor->user.pos.Y = 5 + (RANDOM_P2(4<<8)>>8); break; @@ -3760,8 +3760,8 @@ AutoShrap: DoBeginJump(actor); actor->user.jump_grav = jump_grav; - actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.ang); - actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.ang); + actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.__int_angle); if (!shrap_bounce) actor->user.Flags |= (SPR_BOUNCE); @@ -4002,7 +4002,7 @@ int SpawnBlood(DSWActor* actor, DSWActor* weapActor, short hit_ang, int hit_x, i if (actor == weapActor) { p = HariKariBlood; - hit_ang = actor->spr.ang; + hit_ang = actor->spr.__int_angle; hit_x = actor->int_pos().X; hit_y = actor->int_pos().Y; hit_z = ActorZOfTop(weapActor) + (ActorSizeZ(weapActor) >> 4); @@ -4010,7 +4010,7 @@ int SpawnBlood(DSWActor* actor, DSWActor* weapActor, short hit_ang, int hit_x, i else { p = ExtraBlood; - hit_ang = NORM_ANGLE(weapActor->spr.ang + 1024); + hit_ang = NORM_ANGLE(weapActor->spr.__int_angle + 1024); hit_x = actor->int_pos().X; hit_y = actor->int_pos().Y; hit_z = ActorZOfTop(weapActor) + (ActorSizeZ(weapActor) >> 2); @@ -4018,7 +4018,7 @@ int SpawnBlood(DSWActor* actor, DSWActor* weapActor, short hit_ang, int hit_x, i break; case SERP_RUN_R0: p = ExtraBlood; - hit_ang = NORM_ANGLE(weapActor->spr.ang + 1024); + hit_ang = NORM_ANGLE(weapActor->spr.__int_angle + 1024); hit_x = actor->int_pos().X; hit_y = actor->int_pos().Y; hit_z = ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2); @@ -4036,21 +4036,21 @@ int SpawnBlood(DSWActor* actor, DSWActor* weapActor, short hit_ang, int hit_x, i case STAR1: case CROSSBOLT: p = SomeBlood; - hit_ang = NORM_ANGLE(weapActor->spr.ang + 1024); + hit_ang = NORM_ANGLE(weapActor->spr.__int_angle + 1024); hit_x = actor->int_pos().X; hit_y = actor->int_pos().Y; hit_z = weapActor->int_pos().Z; break; case PLASMA_FOUNTAIN: p = PlasmaFountainBlood; - hit_ang = weapActor->spr.ang; + hit_ang = weapActor->spr.__int_angle; hit_x = actor->int_pos().X; hit_y = actor->int_pos().Y; hit_z = ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2); break; default: p = SomeBlood; - hit_ang = NORM_ANGLE(weapActor->spr.ang + 1024); + hit_ang = NORM_ANGLE(weapActor->spr.__int_angle + 1024); hit_x = actor->int_pos().X; hit_y = actor->int_pos().Y; hit_z = ActorZOfTop(weapActor) + (ActorSizeZ(weapActor) >> 2); @@ -4099,13 +4099,13 @@ int SpawnBlood(DSWActor* actor, DSWActor* weapActor, short hit_ang, int hit_x, i if (p->random_disperse) { - actorNew->spr.ang = hit_ang + (RANDOM_P2(p->ang_range<<5)>>5) - (p->ang_range >> 1); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle = hit_ang + (RANDOM_P2(p->ang_range<<5)>>5) - (p->ang_range >> 1); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); } else { - actorNew->spr.ang = start_ang + (i * dang); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle = start_ang + (i * dang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); } actorNew->user.Flags |= (SPR_BOUNCE); @@ -4130,8 +4130,8 @@ int SpawnBlood(DSWActor* actor, DSWActor* weapActor, short hit_ang, int hit_x, i actorNew->user.jump_speed += RandomRange(p->max_jspeed - p->min_jspeed); actorNew->user.jump_speed = -actorNew->user.jump_speed; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); // for FastShrap actorNew->user.change.Z = labs(actorNew->user.jump_speed*4) - RandomRange(labs(actorNew->user.jump_speed)*8); @@ -4402,7 +4402,7 @@ bool WeaponMoveHit(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); return true; } @@ -4411,7 +4411,7 @@ bool WeaponMoveHit(DSWActor* actor) // on walls, so look with hitscan HitInfo hit{}; - hitscan(actor->int_pos(), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), actor->spr.zvel }, hit, CLIPMASK_MISSILE); + hitscan(actor->int_pos(), actor->sector(), { bcos(actor->spr.__int_angle), bsin(actor->spr.__int_angle), actor->spr.zvel }, hit, CLIPMASK_MISSILE); if (!hit.hitSector) { @@ -5046,7 +5046,7 @@ int ActorHealth(DSWActor* actor, short amt) PlaySound(DIGI_NINJACHOKE, actor, v3df_follow); InitPlasmaFountain(nullptr, actor); InitBloodSpray(actor,false,105); - actor->spr.ang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y) + 1024); + actor->spr.__int_angle = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y) + 1024); actor->spr.cstat &= ~(CSTAT_SPRITE_YFLIP); if (sw_ninjahack) NewStateGroup(actor, sg_NinjaHariKari); @@ -5355,7 +5355,7 @@ int PlayerCheckDeath(PLAYER* pp, DSWActor* weapActor) DoPlayerBeginDie(pp); // for death direction - //actor->user.slide_ang = weapActor->spr.ang; + //actor->user.slide_ang = weapActor->spr.__int_angle; actor->user.slide_ang = getangle(actor->int_pos().X - weapActor->int_pos().X, actor->int_pos().Y - weapActor->int_pos().Y); // for death velocity actor->user.slide_vel = actor->user.LastDamage * 5; @@ -5526,7 +5526,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5591,7 +5591,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5625,7 +5625,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5655,7 +5655,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5683,7 +5683,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5713,7 +5713,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5747,7 +5747,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5782,7 +5782,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5813,7 +5813,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) { if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage/4, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage/4, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5889,7 +5889,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) // Is the player blocking? if (actor->user.PlayerP->WpnKungFuMove == 3) damage /= 3; - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5903,7 +5903,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -5922,7 +5922,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5936,7 +5936,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -5955,7 +5955,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5967,7 +5967,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -5986,7 +5986,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -5998,7 +5998,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -6022,7 +6022,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) else if (actor->user.PlayerP) { //PlayerDamageSlide(actor->user.PlayerP, damage, AngToPlayer(actor->user.PlayerP, weapActor)); - PlayerDamageSlide(actor->user.PlayerP, damage/2, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage/2, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6036,7 +6036,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); switch (actor->user.ID) { @@ -6071,7 +6071,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6085,7 +6085,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -6120,7 +6120,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6147,7 +6147,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6230,7 +6230,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage>>1, weapActor->spr.ang); + ActorDamageSlide(actor, damage>>1, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -6548,7 +6548,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6560,7 +6560,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -6615,7 +6615,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6640,7 +6640,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6705,7 +6705,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6717,7 +6717,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -6738,7 +6738,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) } else if (actor->user.PlayerP) { - PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.ang); + PlayerDamageSlide(actor->user.PlayerP, damage, weapActor->spr.__int_angle); if (PlayerTakeDamage(actor->user.PlayerP, weapActor)) { PlayerUpdateHealth(actor->user.PlayerP, damage); @@ -6752,7 +6752,7 @@ int DoDamage(DSWActor* actor, DSWActor* weapActor) ActorHealth(actor, damage); ActorPain(actor); ActorStdMissile(actor, weapActor); - ActorDamageSlide(actor, damage, weapActor->spr.ang); + ActorDamageSlide(actor, damage, weapActor->spr.__int_angle); ActorChooseDeath(actor, weapActor); } @@ -7254,7 +7254,7 @@ int DoExpDamageTest(DSWActor* actor) if (actor->user.ID == MUSHROOM_CLOUD) return 0; // Central Nuke doesn't break stuff // Only secondaries do that - TraverseBreakableWalls(actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.Radius); + TraverseBreakableWalls(actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.Radius); break_count = 0; max_stat = SIZ(StatBreakList); @@ -7425,7 +7425,7 @@ int DoStar(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -7672,7 +7672,7 @@ int MissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*, int1 // move to correct angle ang2tgt = getangle(goal->int_pos().X - actor->int_pos().X, goal->int_pos().Y - actor->int_pos().Y); - delta_ang = getincangle(ang2tgt, actor->spr.ang); + delta_ang = getincangle(ang2tgt, actor->spr.__int_angle); if (labs(delta_ang) > 32) { @@ -7682,7 +7682,7 @@ int MissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*, int1 delta_ang = -32; } - actor->spr.ang -= delta_ang; + actor->spr.__int_angle -= delta_ang; zh = ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2); @@ -7698,8 +7698,8 @@ int MissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*, int1 actor->spr.zvel = delta_ang; - actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.ang); - actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.ang); + actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.__int_angle); actor->user.change.Z = actor->spr.zvel; } return 0; @@ -7738,7 +7738,7 @@ int ComboMissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*, // move to correct angle ang2tgt = getangle(goal->int_pos().X - actor->int_pos().X, goal->int_pos().Y - actor->int_pos().Y); - delta_ang = getincangle(ang2tgt, actor->spr.ang); + delta_ang = getincangle(ang2tgt, actor->spr.__int_angle); if (labs(delta_ang) > 32) { @@ -7748,10 +7748,10 @@ int ComboMissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*, delta_ang = -32; } - actor->spr.ang -= delta_ang; + actor->spr.__int_angle -= delta_ang; - actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.ang); - actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.ang); + actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.__int_angle); zh = ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2); @@ -7836,7 +7836,7 @@ int VectorMissileSeek(DSWActor* actor, int16_t delay_tics, int16_t turn_speed, i actor->user.change.Y = (actor->user.change.Y + oy*(turn_speed-1))/turn_speed; actor->user.change.Z = (actor->user.change.Z + oz*(turn_speed-1))/turn_speed; - actor->spr.ang = getangle(actor->user.change.X, actor->user.change.Y); + actor->spr.__int_angle = getangle(actor->user.change.X, actor->user.change.Y); } return 0; @@ -7892,7 +7892,7 @@ int VectorWormSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range1, in actor->user.change.Y = (actor->user.change.Y + oy*7)/8; actor->user.change.Z = (actor->user.change.Z + oz*7)/8; - actor->spr.ang = getangle(actor->user.change.X, actor->user.change.Y); + actor->spr.__int_angle = getangle(actor->user.change.X, actor->user.change.Y); } return 0; @@ -7920,7 +7920,7 @@ int DoBlurExtend(DSWActor* actor, int16_t interval, int16_t blur_num) int InitPlasmaFountain(DSWActor* wActor, DSWActor* sActor) { auto actorNew = SpawnActor(STAT_MISSILE, PLASMA_FOUNTAIN, s_PlasmaFountain, sActor->sector(), - sActor->int_pos().X, sActor->int_pos().Y, ActorZOfBottom(sActor), sActor->spr.ang, 0); + sActor->int_pos().X, sActor->int_pos().Y, ActorZOfBottom(sActor), sActor->spr.__int_angle, 0); actorNew->spr.shade = -40; if (wActor) @@ -7949,7 +7949,7 @@ int DoPlasmaFountain(DSWActor* actor) // move with sprite SetActorZ(actor, attachActor->int_pos()); - actor->spr.ang = attachActor->spr.ang; + actor->spr.__int_angle = attachActor->spr.__int_angle; actor->user.Counter++; if (actor->user.Counter > 3) @@ -7988,8 +7988,8 @@ int DoPlasma(DSWActor* actor) DoBlurExtend(actor, 0, 4); - dax = MOVEx(actor->spr.xvel, actor->spr.ang); - day = MOVEy(actor->spr.xvel, actor->spr.ang); + dax = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + day = MOVEy(actor->spr.xvel, actor->spr.__int_angle); daz = actor->spr.zvel; actor->user.coll = move_missile(actor, dax, day, daz, Z(16), Z(16), CLIPMASK_MISSILE, MISSILEMOVETICS); @@ -8102,16 +8102,16 @@ void WallBounce(DSWActor* actor, short ang) actor->user.change.X = DMulScale(day, k, dax, l, 14); actor->user.change.Y = DMulScale(dax, k, -day, l, 14); - old_ang = actor->spr.ang; - actor->spr.ang = getangle(actor->user.change.X, actor->user.change.Y); + old_ang = actor->spr.__int_angle; + actor->spr.__int_angle = getangle(actor->user.change.X, actor->user.change.Y); // hack to prevent missile from sticking to a wall // - if (old_ang == actor->spr.ang) + if (old_ang == actor->spr.__int_angle) { actor->user.change.X = -actor->user.change.X; actor->user.change.Y = -actor->user.change.Y; - actor->spr.ang = getangle(actor->user.change.X, actor->user.change.Y); + actor->spr.__int_angle = getangle(actor->user.change.X, actor->user.change.Y); } } @@ -8176,7 +8176,7 @@ bool SlopeBounce(DSWActor* actor, bool *hit_wall) actor->user.change.Y -= MulScale(day, k, 16); actor->user.change.Z -= MulScale(daz, k, 12); - actor->spr.ang = getangle(actor->user.change.X, actor->user.change.Y); + actor->spr.__int_angle = getangle(actor->user.change.X, actor->user.change.Y); } return true; @@ -8233,7 +8233,7 @@ int DoGrenade(DSWActor* actor) if ((hitActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { - wall_ang = NORM_ANGLE(hitActor->spr.ang); + wall_ang = NORM_ANGLE(hitActor->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); } @@ -8243,7 +8243,7 @@ int DoGrenade(DSWActor* actor) { for (i=0; i<5; i++) { - actor->spr.ang = NORM_ANGLE(RandomRange(2048)); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048)); InitPhosphorus(actor); } } @@ -8265,7 +8265,7 @@ int DoGrenade(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -8274,7 +8274,7 @@ int DoGrenade(DSWActor* actor) wall_ang = NORM_ANGLE(getangle(wph->delta())+512); - //actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1); + //actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 22000); @@ -8313,7 +8313,7 @@ int DoGrenade(DSWActor* actor) { for (i=0; i<5; i++) { - actor->spr.ang = NORM_ANGLE(RandomRange(2048)); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048)); InitPhosphorus(actor); } } @@ -8356,7 +8356,7 @@ int DoGrenade(DSWActor* actor) { for (i=0; i<5; i++) { - actor->spr.ang = NORM_ANGLE(RandomRange(2048)); + actor->spr.__int_angle = NORM_ANGLE(RandomRange(2048)); InitPhosphorus(actor); } } @@ -8389,7 +8389,7 @@ int DoGrenade(DSWActor* actor) if (!(actor->user.Flags & (SPR_BOUNCE|SPR_UNDERWATER))) { auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 100); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 100); SetOwner(actor, actorNew); actorNew->spr.shade = -40; @@ -8444,7 +8444,7 @@ int DoVulcanBoulder(DSWActor* actor) if ((hitActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { - wall_ang = NORM_ANGLE(hitActor->spr.ang); + wall_ang = NORM_ANGLE(hitActor->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 40000); } @@ -8467,7 +8467,7 @@ int DoVulcanBoulder(DSWActor* actor) if (wph->lotag == TAG_WALL_BREAK) { - HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(wph, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -8870,7 +8870,7 @@ int DoMine(DSWActor* actor) if (hit_wall->lotag == TAG_WALL_BREAK) { - HitBreakWall(hit_wall, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->user.ID); + HitBreakWall(hit_wall, actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->user.ID); actor->user.coll.setNone(); break; } @@ -8943,8 +8943,8 @@ int DoBoltThinMan(DSWActor* actor) DoBlurExtend(actor, 0, 4); - dax = MOVEx(actor->spr.xvel, actor->spr.ang); - day = MOVEy(actor->spr.xvel, actor->spr.ang); + dax = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + day = MOVEy(actor->spr.xvel, actor->spr.__int_angle); daz = actor->spr.zvel; actor->user.coll = move_missile(actor, dax, day, daz, CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS); @@ -9035,7 +9035,7 @@ int DoEMPBurst(DSWActor* actor) { vec3_t pos = { attachActor->int_pos().X, attachActor->int_pos().Y, attachActor->int_pos().Z - actor->user.pos.Z }; SetActorZ(actor, &pos); - actor->spr.ang = NORM_ANGLE(attachActor->spr.ang+1024); + actor->spr.__int_angle = NORM_ANGLE(attachActor->spr.__int_angle+1024); } // not activated yet @@ -9143,7 +9143,7 @@ int DoLaser(DSWActor* actor) if (spawn_count < 256) { auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_LaserPuff, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.shade = -40; actorNew->spr.xrepeat = 16; @@ -9230,7 +9230,7 @@ int DoRail(DSWActor* actor) if (spawn_count < 128) { auto actorNew = SpawnActor(STAT_MISSILE, PUFF, &s_RailPuff[0][0], actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 20); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 20); actorNew->spr.xvel += (RandomRange(140)-RandomRange(140)); actorNew->spr.yvel += (RandomRange(140)-RandomRange(140)); @@ -9329,7 +9329,7 @@ int DoRocket(DSWActor* actor) if (!actor->user.Counter) { auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(), - pos.X, pos.Y, pos.Z, actor->spr.ang, 100); + pos.X, pos.Y, pos.Z, actor->spr.__int_angle, 100); SetOwner(actor, actorNew); actorNew->spr.shade = -40; @@ -9378,7 +9378,7 @@ int DoMicroMini(DSWActor* actor) int SpawnExtraMicroMini(DSWActor* actor) { auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Micro[0][0], actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, actor->spr.xvel); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, actor->spr.xvel); SetOwner(GetOwner(actor), actorNew); actorNew->spr.yrepeat = actorNew->spr.xrepeat = actor->spr.xrepeat; @@ -9393,12 +9393,12 @@ int SpawnExtraMicroMini(DSWActor* actor) actorNew->user.floor_dist = actor->user.floor_dist; actorNew->spr.cstat = actor->spr.cstat; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + RandomRange(64) - 32); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + RandomRange(64) - 32); actorNew->spr.zvel = actor->spr.zvel; actorNew->spr.zvel += RandomRange(Z(16)) - Z(8); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; return 0; } @@ -9418,7 +9418,7 @@ int DoMicro(DSWActor* actor) if (!actor->user.Counter) { auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_Puff, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 100); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 100); SetOwner(GetOwner(actor), actorNew); actorNew->spr.shade = -40; @@ -9475,8 +9475,8 @@ int DoUziBullet(DSWActor* actor) // otherwize the moves are in too big an increment for (i = 0; i < 2; i++) { - dax = MOVEx((actor->spr.xvel >> 1), actor->spr.ang); - day = MOVEy((actor->spr.xvel >> 1), actor->spr.ang); + dax = MOVEx((actor->spr.xvel >> 1), actor->spr.__int_angle); + day = MOVEy((actor->spr.xvel >> 1), actor->spr.__int_angle); daz = actor->spr.zvel >> 1; sx = actor->int_pos().X; @@ -9493,12 +9493,12 @@ int DoUziBullet(DSWActor* actor) { WeaponMoveHit(actor); - auto actorNew = SpawnActor(STAT_MISSILE, UZI_SMOKE, s_UziSmoke, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + auto actorNew = SpawnActor(STAT_MISSILE, UZI_SMOKE, s_UziSmoke, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.shade = -40; actorNew->spr.xrepeat = UZI_SMOKE_REPEAT; actorNew->spr.yrepeat = UZI_SMOKE_REPEAT; SetOwner(GetOwner(actor), actorNew); - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; actorNew->spr.clipdist = 128 >> 2; actorNew->spr.cstat |= (CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_YCENTER); @@ -9509,7 +9509,7 @@ int DoUziBullet(DSWActor* actor) actorNew->spr.xrepeat = UZI_SPARK_REPEAT; actorNew->spr.yrepeat = UZI_SPARK_REPEAT; SetOwner(GetOwner(actor), actorNew); - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); } @@ -9533,8 +9533,8 @@ int DoBoltSeeker(DSWActor* actor) MissileSeek(actor, 30, 768/*, 4, 48, 6*/); DoBlurExtend(actor, 0, 4); - dax = MOVEx(actor->spr.xvel, actor->spr.ang); - day = MOVEy(actor->spr.xvel, actor->spr.ang); + dax = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + day = MOVEy(actor->spr.xvel, actor->spr.__int_angle); daz = actor->spr.zvel; actor->user.coll = move_missile(actor, dax, day, daz, CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS); @@ -9575,8 +9575,8 @@ int DoElectro(DSWActor* actor) if (actor->user.Counter > 0) MissileSeek(actor, 30, 512/*, 3, 52, 2*/); - dax = MOVEx(actor->spr.xvel, actor->spr.ang); - day = MOVEy(actor->spr.xvel, actor->spr.ang); + dax = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + day = MOVEy(actor->spr.xvel, actor->spr.__int_angle); daz = actor->spr.zvel; actor->user.coll = move_missile(actor, dax, day, daz, CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS); @@ -9674,13 +9674,13 @@ int SpawnCoolieExp(DSWActor* actor) actor->user.Counter = RandomRange(120); // This is the wait til birth time! zh = actor->int_pos().Z - ActorSizeZ(actor) + (ActorSizeZ(actor) >> 2); - nx = actor->int_pos().X + MOVEx(64, actor->spr.ang+1024); - ny = actor->int_pos().Y + MOVEy(64, actor->spr.ang+1024); + nx = actor->int_pos().X + MOVEx(64, actor->spr.__int_angle+1024); + ny = actor->int_pos().Y + MOVEy(64, actor->spr.__int_angle+1024); PlaySound(DIGI_COOLIEEXPLODE, actor, v3df_none); auto actorNew = SpawnActor(STAT_MISSILE, BOLT_EXP, s_BoltExp, actor->sector(), - nx, ny, zh, actor->spr.ang, 0); + nx, ny, zh, actor->spr.__int_angle, 0); actorNew->spr.hitag = LUMINOUS; //Always full brightness SetOwner(actor, actorNew); @@ -9745,7 +9745,7 @@ void SpawnFireballFlames(DSWActor* actor, DSWActor* enemyActor) } auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES, s_FireballFlames, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.hitag = LUMINOUS; //Always full brightness @@ -9806,7 +9806,7 @@ void SpawnFireballFlames(DSWActor* actor, DSWActor* enemyActor) int SpawnBreakFlames(DSWActor* actor) { - auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES+1, s_BreakFlames, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_FLAMES+1, s_BreakFlames, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.hitag = LUMINOUS; //Always full brightness @@ -9837,7 +9837,7 @@ int SpawnBreakFlames(DSWActor* actor) void SpawnBreakStaticFlames(DSWActor* actor) { auto actorNew = SpawnActor(STAT_STATIC_FIRE, FIREBALL_FLAMES, nullptr, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); if (RandomRange(1000) > 500) actorNew->spr.picnum = 3143; @@ -9871,7 +9871,7 @@ void SpawnFireballExp(DSWActor* actor) PlaySound(DIGI_SMALLEXP, actor, v3df_none); auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL_EXP, s_FireballExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.hitag = LUMINOUS; //Always full brightness actorNew->spr.xrepeat = 52; actorNew->spr.yrepeat = 52; @@ -9903,7 +9903,7 @@ void SpawnGoroFireballExp(DSWActor* actor) PlaySound(DIGI_MEDIUMEXP, actor, v3df_none); auto actorNew = SpawnActor(STAT_MISSILE, 0, s_FireballExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.hitag = LUMINOUS; //Always full brightness actorNew->spr.xrepeat = 16; @@ -9932,7 +9932,7 @@ void SpawnBoltExp(DSWActor* actor) PlaySound(DIGI_BOLTEXPLODE, actor, v3df_none); auto expActor = SpawnActor(STAT_MISSILE, BOLT_EXP, s_BoltExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(GetOwner(actor), expActor); @@ -9981,7 +9981,7 @@ void SpawnTankShellExp(DSWActor* actor) PlaySound(DIGI_BOLTEXPLODE, actor, v3df_none); auto expActor = SpawnActor(STAT_MISSILE, TANK_SHELL_EXP, s_TankShellExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(GetOwner(actor), expActor); @@ -10005,7 +10005,7 @@ void SpawnNuclearSecondaryExp(DSWActor* actor, short ang) ASSERT(actor->hasU()); auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_GrenadeExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 512); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 512); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(GetOwner(actor), expActor); @@ -10064,7 +10064,7 @@ void SpawnNuclearExp(DSWActor* actor) // Spawn big mushroom cloud auto expActor = SpawnActor(STAT_MISSILE, MUSHROOM_CLOUD, s_NukeMushroom, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(own, expActor); @@ -10081,7 +10081,7 @@ void SpawnNuclearExp(DSWActor* actor) // Do central explosion expActor = SpawnActor(STAT_MISSILE, MUSHROOM_CLOUD, s_GrenadeExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); SetOwner(own, expActor); expActor->spr.shade = -128; @@ -10124,10 +10124,10 @@ void SpawnTracerExp(DSWActor* actor) if (actor->user.ID == BOLT_THINMAN_R1) expActor = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R1, s_TracerExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); else expActor = SpawnActor(STAT_MISSILE, TRACER_EXP, s_TracerExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(GetOwner(actor), expActor); @@ -10156,7 +10156,7 @@ void SpawnMicroExp(DSWActor* actor) return ; auto expActor = SpawnActor(STAT_MISSILE, MICRO_EXP, s_MicroExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(GetOwner(actor), expActor); @@ -10207,7 +10207,7 @@ void AddSpriteToSectorObject(DSWActor* actor, SECTOR_OBJECT* sop) actor->user.pos.Y = sop->pmid.Y - actor->int_pos().Y; actor->user.pos.Z = sop->mid_sector->int_floorz() - actor->int_pos().Z; - actor->user.sang = actor->spr.ang; + actor->user.sang = actor->spr.__int_angle; } void SpawnBigGunFlames(DSWActor* actor, DSWActor* Operator, SECTOR_OBJECT* sop, bool smallflames) @@ -10215,7 +10215,7 @@ void SpawnBigGunFlames(DSWActor* actor, DSWActor* Operator, SECTOR_OBJECT* sop, unsigned sn; auto expActor = SpawnActor(STAT_MISSILE, MICRO_EXP, s_BigGunFlame, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(Operator, expActor); @@ -10276,7 +10276,7 @@ void SpawnGrenadeSecondaryExp(DSWActor* actor, int ang) ASSERT(actor->hasU()); auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_GrenadeSmallExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 1024); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 1024); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(GetOwner(actor), expActor); @@ -10345,7 +10345,7 @@ void SpawnGrenadeExp(DSWActor* actor) } auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_GrenadeExp, actor->sector(), - dx, dy, dz, actor->spr.ang, 0); + dx, dy, dz, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness @@ -10426,7 +10426,7 @@ void SpawnMineExp(DSWActor* actor) PlaySound(DIGI_MINEBLOW, actor, v3df_none); auto expActor = SpawnActor(STAT_MISSILE, MINE_EXP, s_MineExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(GetOwner(actor), expActor); @@ -10472,7 +10472,7 @@ DSWActor* SpawnSectorExp(DSWActor* actor) PlaySound(DIGI_30MMEXPLODE, actor, v3df_none); auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_SectorExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness expActor->spr.shade = -40; @@ -10495,7 +10495,7 @@ DSWActor* SpawnLargeExp(DSWActor* actor) PlaySound(DIGI_30MMEXPLODE, actor, v3df_none); auto expActor = SpawnActor(STAT_MISSILE, GRENADE_EXP, s_SectorExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness expActor->spr.shade = -40; @@ -10526,13 +10526,13 @@ void SpawnMeteorExp(DSWActor* actor) if (actor->user.spal == 25) // Serp ball { expActor = SpawnActor(STAT_MISSILE, METEOR_EXP, s_TeleportEffect2, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); } else { PlaySound(DIGI_MEDIUMEXP, actor, v3df_none); expActor = SpawnActor(STAT_MISSILE, METEOR_EXP, s_MeteorExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); } expActor->spr.hitag = LUMINOUS; //Always full brightness @@ -10561,7 +10561,7 @@ void SpawnLittleExp(DSWActor* actor) PlaySound(DIGI_HEADSHOTHIT, actor, v3df_none); auto expActor = SpawnActor(STAT_MISSILE, BOLT_EXP, s_SectorExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness expActor->spr.shade = -127; @@ -10790,7 +10790,7 @@ int DoNapalm(DSWActor* actor) PlaySound(DIGI_NAPPUFF, actor, v3df_none); auto expActor = SpawnActor(STAT_MISSILE, NAP_EXP, s_NapExp, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness SetOwner(actor, expActor); @@ -10842,7 +10842,7 @@ int DoBloodWorm(DSWActor* actor) actor->user.change.X = -actor->user.change.X; actor->user.change.Y = -actor->user.change.Y; actor->user.coll.setNone(); - actor->spr.ang = NORM_ANGLE(actor->spr.ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + 1024); return true; } @@ -10878,7 +10878,7 @@ int DoBloodWorm(DSWActor* actor) } } - ang = NORM_ANGLE(actor->spr.ang + 512); + ang = NORM_ANGLE(actor->spr.__int_angle + 512); xvect = bcos(ang); yvect = bsin(ang); @@ -11002,7 +11002,7 @@ int DoMirv(DSWActor* actor) for (i = 0; i < 2; i++) { auto actorNew = SpawnActor(STAT_MISSILE, MIRV_METEOR, &sg_MirvMeteor[0][0], actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, NORM_ANGLE(actor->spr.ang + angs[i]), 800); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, NORM_ANGLE(actor->spr.__int_angle + angs[i]), 800); actorNew->user.RotNum = 5; NewStateGroup(actorNew, &sg_MirvMeteor[0]); @@ -11021,8 +11021,8 @@ int DoMirv(DSWActor* actor) actorNew->user.Dist = 200; //actorNew->user.Dist = 0; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (actor->user.Flags & (SPR_UNDERWATER)) @@ -11060,8 +11060,8 @@ bool MissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist) actor->spr.zvel = short((actor->spr.zvel*6) / MISSILEMOVETICS); // some Weapon Animators use this - actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.ang); - actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.ang); + actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.__int_angle); actor->user.change.Z = actor->spr.zvel; actor->user.Flags |= (SPR_SET_POS_DONT_KILL); @@ -11101,8 +11101,8 @@ bool TestMissileSetPos(DSWActor* actor, ANIMATOR* DoWeapon, int dist, int zvel) zvel = short((zvel*6) / MISSILEMOVETICS); // some Weapon Animators use this - actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.ang); - actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.ang); + actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.__int_angle); actor->user.change.Z = zvel; actor->user.Flags |= (SPR_SET_POS_DONT_KILL); @@ -11181,10 +11181,10 @@ int DoRing(DSWActor* actor) } // rotate the ring - actor->spr.ang = NORM_ANGLE(actor->spr.ang + (4 * RINGMOVETICS) + RINGMOVETICS); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (4 * RINGMOVETICS) + RINGMOVETICS); // put it out there - actor->add_int_pos({ MulScale(actor->user.Dist, bcos(actor->spr.ang), 14), MulScale(actor->user.Dist, bsin(actor->spr.ang), 14), + actor->add_int_pos({ MulScale(actor->user.Dist, bcos(actor->spr.__int_angle), 14), MulScale(actor->user.Dist, bsin(actor->spr.__int_angle), 14), pp ? (actor->user.Dist * (-pp->horizon.horiz.asq16() >> 9)) >> 9 : 0 }); SetActor(actor, actor->int_pos()); @@ -11255,10 +11255,10 @@ void InitSpellRing(PLAYER* pp) actorNew->user.floor_dist = Z(10); // put it out there - actorNew->add_int_pos({ MulScale(actorNew->user.Dist, bcos(actorNew->spr.ang), 14), MulScale(actorNew->user.Dist, bsin(actorNew->spr.ang), 14), + actorNew->add_int_pos({ MulScale(actorNew->user.Dist, bcos(actorNew->spr.__int_angle), 14), MulScale(actorNew->user.Dist, bsin(actorNew->spr.__int_angle), 14), pp->pos.Z + Z(20) + ((actorNew->user.Dist * (-pp->horizon.horiz.asq16() >> 9)) >> 9) }); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); actorNew->backuppos(); @@ -11306,9 +11306,9 @@ int DoSerpRing(DSWActor* actor) // rotate the heads if (actor->user.Flags & (SPR_BOUNCE)) - actor->spr.ang = NORM_ANGLE(actor->spr.ang + (28 * RINGMOVETICS)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + (28 * RINGMOVETICS)); else - actor->spr.ang = NORM_ANGLE(actor->spr.ang - (28 * RINGMOVETICS)); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle - (28 * RINGMOVETICS)); // put it out there actor->add_int_pos({ MulScale(actor->user.Dist, bcos(actor->user.slide_ang), 14), MulScale(actor->user.Dist, bsin(actor->user.slide_ang), 14), 0 }); @@ -11351,7 +11351,7 @@ int DoSerpRing(DSWActor* actor) { extern STATE* sg_SkullJump[]; actor->user.ID = SKULL_R0; - actor->spr.ang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); actor->spr.xvel = dist>>5; actor->spr.xvel += (actor->spr.xvel >> 1); actor->spr.xvel += (RANDOM_P2(128<<8)>>8); @@ -11379,7 +11379,7 @@ int InitLavaThrow(DSWActor* actor) short w; // get angle to player and also face player when attacking - actor->spr.ang = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); nx = actor->int_pos().X; ny = actor->int_pos().Y; @@ -11395,7 +11395,7 @@ int InitLavaThrow(DSWActor* actor) actorNew->spr.xrepeat = 72; actorNew->spr.shade = -15; actorNew->spr.zvel = 0; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; if (RANDOM_P2(1024) > 512) actorNew->spr.cstat |= (CSTAT_SPRITE_XFLIP); @@ -11408,8 +11408,8 @@ int InitLavaThrow(DSWActor* actor) actorNew->user.ceiling_dist = Z(14); actorNew->user.floor_dist = Z(14); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoLavaBoulder, 1200); @@ -11438,7 +11438,7 @@ void InitVulcanBoulder(DSWActor* actor) if (SP_TAG7(actor)) { delta = SP_TAG5(actor); - nang = actor->spr.ang + (RandomRange(delta) - (delta >> 1)); + nang = actor->spr.__int_angle + (RandomRange(delta) - (delta >> 1)); nang = NORM_ANGLE(nang); } else @@ -11458,7 +11458,7 @@ void InitVulcanBoulder(DSWActor* actor) SetOwner(actor, actorNew); actorNew->spr.xrepeat = actorNew->spr.yrepeat = 8 + RandomRange(72); actorNew->spr.shade = -40; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; actorNew->user.Counter = 0; zsize = ActorSizeZ(actorNew); @@ -11484,8 +11484,8 @@ void InitVulcanBoulder(DSWActor* actor) zvel_rand = 40; } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = -Z(zvel) + -Z(RandomRange(zvel_rand)); } @@ -11506,7 +11506,7 @@ int InitSerpRing(DSWActor* actor) ang_diff = 2048 / max_missiles; - ang_start = NORM_ANGLE(actor->spr.ang - (2048 / 2)); + ang_start = NORM_ANGLE(actor->spr.__int_angle - (2048 / 2)); PlaySound(DIGI_SERPSUMMONHEADS, actor, v3df_none); @@ -11527,9 +11527,9 @@ int InitSerpRing(DSWActor* actor) actorNew->user.pos.Z = Z(50); // ang around the serp is now slide_ang - actorNew->user.slide_ang = actorNew->spr.ang; + actorNew->user.slide_ang = actorNew->spr.__int_angle; // randomize the head turning angle - actorNew->spr.ang = RANDOM_P2(2048<<5)>>5; + actorNew->spr.__int_angle = RANDOM_P2(2048<<5)>>5; // control direction of spinning actor->user.Flags ^= SPR_BOUNCE; @@ -11612,13 +11612,13 @@ void InitSpellNapalm(PLAYER* pp) if (mp[i].dist_over != 0) { - actor->spr.ang = NORM_ANGLE(actor->spr.ang + mp[i].ang); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + mp[i].ang); HelpMissileLateral(actor, mp[i].dist_over); - actor->spr.ang = NORM_ANGLE(actor->spr.ang - mp[i].ang); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle - mp[i].ang); } - actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.ang); - actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.ang); + actor->user.change.X = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + actor->user.change.Y = MOVEy(actor->spr.xvel, actor->spr.__int_angle); actor->user.change.Z = actor->spr.zvel; if (MissileSetPos(actor, DoNapalm, mp[i].dist_out)) @@ -11655,7 +11655,7 @@ int InitEnemyNapalm(DSWActor* actor) for (i = 0; i < SIZ(mp); i++) { auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Napalm, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2), actor->spr.ang, NAPALM_VELOCITY); + actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2), actor->spr.__int_angle, NAPALM_VELOCITY); actorNew->spr.hitag = LUMINOUS; //Always full brightness if (i==0) // Only attach sound to first projectile @@ -11685,9 +11685,9 @@ int InitEnemyNapalm(DSWActor* actor) if (mp[i].dist_over != 0) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + mp[i].ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + mp[i].ang); HelpMissileLateral(actorNew, mp[i].dist_over); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - mp[i].ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - mp[i].ang); } // find the distance to the target (player) @@ -11696,8 +11696,8 @@ int InitEnemyNapalm(DSWActor* actor) if (dist != 0) actorNew->spr.zvel = (actorNew->spr.xvel * (ActorUpperZ(actor->user.targetActor) - actorNew->int_pos().Z)) / dist; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoNapalm, mp[i].dist_out); @@ -11739,8 +11739,8 @@ int InitSpellMirv(PLAYER* pp) auto oclipdist = plActor->spr.clipdist; plActor->spr.clipdist = 0; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoMirv, 600); @@ -11757,7 +11757,7 @@ int InitEnemyMirv(DSWActor* actor) PlaySound(DIGI_MIRVFIRE, actor, v3df_none); auto actorNew = SpawnActor(STAT_MISSILE, MIRV_METEOR, s_Mirv, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2), actor->spr.ang, MIRV_VELOCITY); + actor->int_pos().X, actor->int_pos().Y, ActorZOfTop(actor) + (ActorSizeZ(actor) >> 2), actor->spr.__int_angle, MIRV_VELOCITY); PlaySound(DIGI_MIRVWIZ, actorNew, v3df_follow); @@ -11774,8 +11774,8 @@ int InitEnemyMirv(DSWActor* actor) actorNew->user.ceiling_dist = Z(16); actorNew->user.Dist = 200; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoMirv, 600); @@ -11815,13 +11815,13 @@ int InitSwordAttack(PLAYER* pp) bubble = SpawnBubble(pp->actor); if (bubble != nullptr) { - bubble->spr.ang = pp->angle.ang.asbuild(); + bubble->spr.__int_angle = pp->angle.ang.asbuild(); random_amt = (RANDOM_P2(32 << 8) >> 8) - 16; // back it up a bit to get it out of your face - nx = MOVEx((1024 + 256) * 3, NORM_ANGLE(bubble->spr.ang + dangs[i] + random_amt)); - ny = MOVEy((1024 + 256) * 3, NORM_ANGLE(bubble->spr.ang + dangs[i] + random_amt)); + nx = MOVEx((1024 + 256) * 3, NORM_ANGLE(bubble->spr.__int_angle + dangs[i] + random_amt)); + ny = MOVEy((1024 + 256) * 3, NORM_ANGLE(bubble->spr.__int_angle + dangs[i] + random_amt)); move_missile(bubble, nx, ny, 0, plActor->user.ceiling_dist, plActor->user.floor_dist, CLIPMASK_PLAYER, 1); } @@ -11986,13 +11986,13 @@ int InitFistAttack(PLAYER* pp) bubble = SpawnBubble(pp->actor); if (bubble != nullptr) { - bubble->spr.ang = pp->angle.ang.asbuild(); + bubble->spr.__int_angle = pp->angle.ang.asbuild(); random_amt = (RANDOM_P2(32<<8)>>8) - 16; // back it up a bit to get it out of your face - nx = MOVEx((1024+256)*3, NORM_ANGLE(bubble->spr.ang + dangs[i] + random_amt)); - ny = MOVEy((1024+256)*3, NORM_ANGLE(bubble->spr.ang + dangs[i] + random_amt)); + nx = MOVEx((1024+256)*3, NORM_ANGLE(bubble->spr.__int_angle + dangs[i] + random_amt)); + ny = MOVEy((1024+256)*3, NORM_ANGLE(bubble->spr.__int_angle + dangs[i] + random_amt)); move_missile(bubble, nx, ny, 0L, plActor->user.ceiling_dist, plActor->user.floor_dist, CLIPMASK_PLAYER, 1); } @@ -12173,7 +12173,7 @@ int InitSumoNapalm(DSWActor* actor) PlaySound(DIGI_NAPFIRE, actor, v3df_none); - ang = actor->spr.ang; + ang = actor->spr.__int_angle; for (int j = 0; j < 4; j++) { for (size_t i = 0; i < countof(mp); i++) @@ -12205,9 +12205,9 @@ int InitSumoNapalm(DSWActor* actor) if (mp[i].dist_over != 0) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + mp[i].ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + mp[i].ang); HelpMissileLateral(actorNew, mp[i].dist_over); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - mp[i].ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - mp[i].ang); } // find the distance to the target (player) @@ -12216,8 +12216,8 @@ int InitSumoNapalm(DSWActor* actor) if (dist != 0) actorNew->spr.zvel = (actorNew->spr.xvel * (ActorUpperZ(actor->user.targetActor) - actorNew->int_pos().Z)) / dist; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoNapalm, mp[i].dist_out); @@ -12242,7 +12242,7 @@ int InitSumoSkull(DSWActor* actor) PlaySound(DIGI_SERPSUMMONHEADS, actor, v3df_none); - auto actorNew = SpawnActor(STAT_ENEMY, SKULL_R0, &s_SkullWait[0][0], actor->sector(), actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor), actor->spr.ang, 0); + auto actorNew = SpawnActor(STAT_ENEMY, SKULL_R0, &s_SkullWait[0][0], actor->sector(), actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor), actor->spr.__int_angle, 0); actorNew->spr.xvel = 500; SetOwner(actor, actorNew); @@ -12252,7 +12252,7 @@ int InitSumoSkull(DSWActor* actor) actorNew->spr.pal = 0; // randomize the head turning angle - actorNew->spr.ang = RANDOM_P2(2048<<5)>>5; + actorNew->spr.__int_angle = RANDOM_P2(2048<<5)>>5; // control direction of spinning actor->user.Flags ^= SPR_BOUNCE; @@ -12370,7 +12370,7 @@ int WeaponAutoAim(DSWActor* actor, DSWActor* mislActor, short ang, bool test) hitActor->user.Flags |= (SPR_TARGETED); hitActor->user.Flags |= (SPR_ATTACKED); - mislActor->spr.ang = NORM_ANGLE(getangle(hitActor->int_pos().X - mislActor->int_pos().X, hitActor->int_pos().Y - mislActor->int_pos().Y)); + mislActor->spr.__int_angle = NORM_ANGLE(getangle(hitActor->int_pos().X - mislActor->int_pos().X, hitActor->int_pos().Y - mislActor->int_pos().Y)); dist = FindDistance2D(mislActor->int_pos().vec2 - hitActor->int_pos().vec2); if (dist != 0) @@ -12426,7 +12426,7 @@ int WeaponAutoAimZvel(DSWActor* actor, DSWActor* missileActor, int *zvel, short hitActor->user.Flags |= (SPR_TARGETED); hitActor->user.Flags |= (SPR_ATTACKED); - missileActor->spr.ang = NORM_ANGLE(getangle(hitActor->int_pos().X - missileActor->int_pos().X, hitActor->int_pos().Y - missileActor->int_pos().Y)); + missileActor->spr.__int_angle = NORM_ANGLE(getangle(hitActor->int_pos().X - missileActor->int_pos().X, hitActor->int_pos().Y - missileActor->int_pos().Y)); dist = FindDistance2D(missileActor->int_pos().vec2 - hitActor->int_pos().vec2); if (dist != 0) @@ -12638,8 +12638,8 @@ int InitStar(PLAYER* pp) zvel = actorNew->spr.zvel; } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) @@ -12649,7 +12649,7 @@ int InitStar(PLAYER* pp) for (size_t i = 0; i < countof(dang); i++) { - auto actorNew2 = SpawnActor(STAT_MISSILE, STAR1, s_Star, pp->cursector, nx, ny, nz, NORM_ANGLE(actorNew->spr.ang + dang[i]), actorNew->spr.xvel); + auto actorNew2 = SpawnActor(STAT_MISSILE, STAR1, s_Star, pp->cursector, nx, ny, nz, NORM_ANGLE(actorNew->spr.__int_angle + dang[i]), actorNew->spr.xvel); SetOwner(GetOwner(actorNew), actorNew2); actorNew2->spr.yrepeat = actorNew2->spr.xrepeat = STAR_REPEAT; @@ -12678,8 +12678,8 @@ int InitStar(PLAYER* pp) // move the same as middle star zvel = actorNew->user.change.Z; - actorNew2->user.change.X = MOVEx(actorNew2->spr.xvel, actorNew2->spr.ang); - actorNew2->user.change.Y = MOVEy(actorNew2->spr.xvel, actorNew2->spr.ang); + actorNew2->user.change.X = MOVEx(actorNew2->spr.xvel, actorNew2->spr.__int_angle); + actorNew2->user.change.Y = MOVEy(actorNew2->spr.xvel, actorNew2->spr.__int_angle); actorNew2->user.change.Z = zvel; actorNew2->backuppos(); @@ -12725,8 +12725,8 @@ void InitHeartAttack(PLAYER* pp) auto oclipdist = plActor->spr.clipdist; plActor->spr.clipdist = 1; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoBloodWorm, mp[i].dist_out); @@ -13031,9 +13031,9 @@ int InitLaser(PLAYER* pp) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 900); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13069,11 +13069,11 @@ int InitLaser(PLAYER* pp) if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 5); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 5); } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; return 0; @@ -13135,9 +13135,9 @@ int InitRail(PLAYER* pp) actor->spr.clipdist = 0; actorNew->spr.clipdist = 32L>>2; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 700); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13154,13 +13154,13 @@ int InitRail(PLAYER* pp) actorNew->spr.zvel = zvel >> 1; if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 4); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 4); } else zvel = actorNew->spr.zvel; // Let autoaiming set zvel now - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; return 0; @@ -13187,7 +13187,7 @@ int InitZillaRail(DSWActor* actor) // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R1, &s_Rail[0][0], actor->sector(), - nx, ny, nz, actor->spr.ang, 1200); + nx, ny, nz, actor->spr.__int_angle, 1200); SetOwner(actor, actorNew); actorNew->spr.yrepeat = 52; @@ -13211,9 +13211,9 @@ int InitZillaRail(DSWActor* actor) actor->spr.clipdist = 0; actorNew->spr.clipdist = 32L>>2; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 700); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13230,13 +13230,13 @@ int InitZillaRail(DSWActor* actor) actorNew->spr.zvel = zvel >> 1; if (WeaponAutoAim(actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 4); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 4); } else zvel = actorNew->spr.zvel; // Let autoaiming set zvel now - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; return 0; @@ -13317,9 +13317,9 @@ int InitRocket(PLAYER* pp) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 900); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13340,13 +13340,13 @@ int InitRocket(PLAYER* pp) actorNew->spr.zvel = zvel >> 1; if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 5); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 5); } else zvel = actorNew->spr.zvel; // Let autoaiming set zvel now - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; return 0; @@ -13422,9 +13422,9 @@ int InitBunnyRocket(PLAYER* pp) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 900); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13445,13 +13445,13 @@ int InitBunnyRocket(PLAYER* pp) actorNew->spr.zvel = zvel >> 1; if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 5); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 5); } else zvel = actorNew->spr.zvel; // Let autoaiming set zvel now - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; actorNew->user.spal = actorNew->spr.pal = PALETTE_PLAYER1; @@ -13515,9 +13515,9 @@ int InitNuke(PLAYER* pp) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 900); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13538,13 +13538,13 @@ int InitNuke(PLAYER* pp) actorNew->spr.zvel = zvel >> 1; if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 5); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 5); } else zvel = actorNew->spr.zvel; // Let autoaiming set zvel now - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; PlayerDamageSlide(pp, -40, NORM_ANGLE(pp->angle.ang.asbuild()+1024)); // Recoil slide @@ -13568,7 +13568,7 @@ int InitEnemyNuke(DSWActor* actor) // Spawn a shot nz = actor->int_pos().Z + Z(40); auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Rocket[0][0], actor->sector(), - nx, ny, nz, actor->spr.ang, 700); + nx, ny, nz, actor->spr.__int_angle, 700); if (actor->user.ID == ZOMBIE_RUN_R0) SetOwner(GetOwner(actor), actorNew); @@ -13594,9 +13594,9 @@ int InitEnemyNuke(DSWActor* actor) actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); actorNew->spr.cstat |= (CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 500); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13615,13 +13615,13 @@ int InitEnemyNuke(DSWActor* actor) actorNew->spr.zvel = zvel >> 1; if (WeaponAutoAim(actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 5); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 5); } else zvel = actorNew->spr.zvel; // Let autoaiming set zvel now - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; return 0; @@ -13701,10 +13701,10 @@ int InitMicro(PLAYER* pp) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); const int MICRO_LATERAL = 5000; HelpMissileLateral(actorNew, 1000 + (RandomRange(MICRO_LATERAL) - (MICRO_LATERAL / 2))); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -13740,11 +13740,11 @@ int InitMicro(PLAYER* pp) } else { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + (RandomRange(MICRO_ANG) - (MICRO_ANG / 2)) - 16); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + (RandomRange(MICRO_ANG) - (MICRO_ANG / 2)) - 16); } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; } @@ -13855,9 +13855,9 @@ bool WallSpriteInsideSprite(DSWActor* wactor, DSWActor* actor) xoff = -xoff; // x delta - dax = bsin(wactor->spr.ang) * wactor->spr.xrepeat; + dax = bsin(wactor->spr.__int_angle) * wactor->spr.xrepeat; // y delta - day = -bcos(wactor->spr.ang) * wactor->spr.xrepeat; + day = -bcos(wactor->spr.__int_angle) * wactor->spr.xrepeat; xsiz = tileWidth(wactor->spr.picnum); mid_dist = (xsiz >> 1) + xoff; @@ -14064,10 +14064,10 @@ int InitSerpSpell(DSWActor* actor) for (i = 0; i < 2; i++) { - actor->spr.ang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); auto actorNew = SpawnActor(STAT_MISSILE, SERP_METEOR, &sg_SerpMeteor[0][0], actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 1500); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 1500); actorNew->set_int_z(ActorZOfTop(actor)); @@ -14092,19 +14092,19 @@ int InitSerpSpell(DSWActor* actor) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 1; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + lat_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + lat_ang[i]); HelpMissileLateral(actorNew, 4200); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - lat_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - lat_ang[i]); // find the distance to the target (player) dist = Distance(actorNew->int_pos().X, actorNew->int_pos().Y, actor->user.targetActor->int_pos().X, actor->user.targetActor->int_pos().Y); if (dist != 0) actorNew->spr.zvel = (actorNew->spr.xvel * (ActorUpperZ(actor->user.targetActor) - actorNew->int_pos().Z)) / dist; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + delta_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + delta_ang[i]); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoMirvMissile, 400); @@ -14123,7 +14123,7 @@ int SpawnDemonFist(DSWActor* actor) return -1; auto expActor = SpawnActor(STAT_MISSILE, 0, s_TeleportEffect, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor), actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, ActorZOfMiddle(actor), actor->spr.__int_angle, 0); expActor->spr.hitag = LUMINOUS; //Always full brightness expActor->spr.shade = -40; @@ -14162,10 +14162,10 @@ int InitSerpMonstSpell(DSWActor* actor) for (i = 0; i < 1; i++) { - actor->spr.ang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); auto actorNew = SpawnActor(STAT_MISSILE, SERP_METEOR, &sg_SerpMeteor[0][0], actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 500); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 500); actorNew->user.spal = actorNew->spr.pal = 25; // Bright Red actorNew->set_int_z(ActorZOfTop(actor)); @@ -14190,19 +14190,19 @@ int InitSerpMonstSpell(DSWActor* actor) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 1; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + lat_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + lat_ang[i]); HelpMissileLateral(actorNew, 4200); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - lat_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - lat_ang[i]); // find the distance to the target (player) dist = Distance(actorNew->int_pos().X, actorNew->int_pos().Y, actor->user.targetActor->int_pos().X, actor->user.targetActor->int_pos().Y); if (dist != 0) actorNew->spr.zvel = (actorNew->spr.xvel * (ActorUpperZ(actor->user.targetActor) - actorNew->int_pos().Z)) / dist; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + delta_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + delta_ang[i]); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoMirvMissile, 400); @@ -14231,7 +14231,7 @@ int InitEnemyRocket(DSWActor* actor) PlaySound(DIGI_NINJARIOTATTACK, actor, v3df_none); // get angle to player and also face player when attacking - actor->spr.ang = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); nx = actor->int_pos().X; ny = actor->int_pos().Y; @@ -14239,7 +14239,7 @@ int InitEnemyRocket(DSWActor* actor) // Spawn a shot auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R2, &s_Rocket[0][0], actor->sector(), - nx, ny, nz-Z(8), actor->user.targetActor->spr.ang, NINJA_BOLT_VELOCITY); + nx, ny, nz-Z(8), actor->user.targetActor->spr.__int_angle, NINJA_BOLT_VELOCITY); // Set default palette actorNew->spr.pal = actorNew->user.spal = 17; // White @@ -14253,7 +14253,7 @@ int InitEnemyRocket(DSWActor* actor) actorNew->spr.xrepeat = 28; actorNew->spr.shade = -15; actorNew->spr.zvel = 0; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; actorNew->spr.clipdist = 64L>>2; actorNew->user.RotNum = 5; @@ -14261,8 +14261,8 @@ int InitEnemyRocket(DSWActor* actor) actorNew->user.Radius = 200; actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (actor->user.spal == PAL_XLAT_LT_TAN) @@ -14306,11 +14306,11 @@ int InitEnemyRail(DSWActor* actor) PlaySound(DIGI_RAILFIRE, actor, v3df_dontpan|v3df_doppler); // get angle to player and also face player when attacking - actor->spr.ang = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); // add a bit of randomness if (RANDOM_P2(1024) < 512) - actor->spr.ang = NORM_ANGLE(actor->spr.ang + RANDOM_P2(128) - 64); + actor->spr.__int_angle = NORM_ANGLE(actor->spr.__int_angle + RANDOM_P2(128) - 64); nx = actor->int_pos().X; ny = actor->int_pos().Y; @@ -14320,7 +14320,7 @@ int InitEnemyRail(DSWActor* actor) // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R1, &s_Rail[0][0], actor->sector(), - nx, ny, nz, actor->spr.ang, 1200); + nx, ny, nz, actor->spr.__int_angle, 1200); if (actor->user.ID == ZOMBIE_RUN_R0) SetOwner(GetOwner(actor), actorNew); @@ -14344,8 +14344,8 @@ int InitEnemyRail(DSWActor* actor) actorNew->spr.clipdist = 64 >> 2; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (TestMissileSetPos(actorNew, DoRailStart, 600, actorNew->spr.zvel)) @@ -14382,7 +14382,7 @@ int InitZillaRocket(DSWActor* actor) PlaySound(DIGI_NINJARIOTATTACK, actor, v3df_none); // get angle to player and also face player when attacking - actor->spr.ang = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); + actor->spr.__int_angle = nang = getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y); for (i = 0; i < (int)SIZ(mp); i++) { @@ -14392,14 +14392,14 @@ int InitZillaRocket(DSWActor* actor) // Spawn a shot auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R2, &s_Rocket[0][0], actor->sector(), - nx, ny, nz-Z(8), actor->user.targetActor->spr.ang, NINJA_BOLT_VELOCITY); + nx, ny, nz-Z(8), actor->user.targetActor->spr.__int_angle, NINJA_BOLT_VELOCITY); SetOwner(actor, actorNew); actorNew->spr.yrepeat = 28; actorNew->spr.xrepeat = 28; actorNew->spr.shade = -15; actorNew->spr.zvel = 0; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; actorNew->spr.clipdist = 64L>>2; actorNew->user.RotNum = 5; @@ -14407,8 +14407,8 @@ int InitZillaRocket(DSWActor* actor) actorNew->user.Radius = 200; actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; // Zilla has seekers! @@ -14422,9 +14422,9 @@ int InitZillaRocket(DSWActor* actor) if (mp[i].dist_over != 0) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + mp[i].ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + mp[i].ang); HelpMissileLateral(actorNew, mp[i].dist_over); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - mp[i].ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - mp[i].ang); } MissileSetPos(actorNew, DoBoltThinMan, mp[i].dist_out); @@ -14444,7 +14444,7 @@ int InitEnemyStar(DSWActor* actor) int nx, ny, nz, dist, nang; // get angle to player and also face player when attacking - actor->spr.ang = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); + actor->spr.__int_angle = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); nx = actor->int_pos().X; ny = actor->int_pos().Y; @@ -14452,18 +14452,18 @@ int InitEnemyStar(DSWActor* actor) // Spawn a shot auto actorNew = SpawnActor(STAT_MISSILE, STAR1, s_Star, actor->sector(), - nx, ny, nz, actor->user.targetActor->spr.ang, NINJA_STAR_VELOCITY); + nx, ny, nz, actor->user.targetActor->spr.__int_angle, NINJA_STAR_VELOCITY); SetOwner(actor, actorNew); actorNew->spr.yrepeat = 16; actorNew->spr.xrepeat = 16; actorNew->spr.shade = -25; actorNew->spr.zvel = 0; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; actorNew->spr.clipdist = 64L>>2; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoStar, 400); @@ -14483,7 +14483,7 @@ int InitEnemyCrossbow(DSWActor* actor) int nx, ny, nz, dist, nang; // get angle to player and also face player when attacking - actor->spr.ang = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); + actor->spr.__int_angle = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); nx = actor->int_pos().X; ny = actor->int_pos().Y; @@ -14491,21 +14491,21 @@ int InitEnemyCrossbow(DSWActor* actor) // Spawn a shot auto actorNew = SpawnActor(STAT_MISSILE, CROSSBOLT, &s_CrossBolt[0][0], actor->sector(), - nx, ny, nz, actor->user.targetActor->spr.ang, 800); + nx, ny, nz, actor->user.targetActor->spr.__int_angle, 800); SetOwner(actor, actorNew); actorNew->spr.xrepeat = 16; actorNew->spr.yrepeat = 26; actorNew->spr.shade = -25; actorNew->spr.zvel = 0; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; actorNew->spr.clipdist = 64L>>2; actorNew->user.RotNum = 5; NewStateGroup(actorNew, &sg_CrossBolt[0]); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; actorNew->user.Flags |= (SPR_XFLIP_TOGGLE); @@ -14531,7 +14531,7 @@ int InitSkelSpell(DSWActor* actor) PlaySound(DIGI_SPELEC, actor, v3df_none); // get angle to player and also face player when attacking - actor->spr.ang = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); + actor->spr.__int_angle = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); nx = actor->int_pos().X; ny = actor->int_pos().Y; @@ -14539,14 +14539,14 @@ int InitSkelSpell(DSWActor* actor) // Spawn a shot auto actorNew = SpawnActor(STAT_MISSILE, ELECTRO_ENEMY, s_Electro, actor->sector(), - nx, ny, nz, actor->user.targetActor->spr.ang, SKEL_ELECTRO_VELOCITY); + nx, ny, nz, actor->user.targetActor->spr.__int_angle, SKEL_ELECTRO_VELOCITY); SetOwner(actor, actorNew); actorNew->spr.xrepeat -= 20; actorNew->spr.yrepeat -= 20; actorNew->spr.shade = -40; actorNew->spr.zvel = 0; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; actorNew->spr.clipdist = 64L>>2; actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); @@ -14556,8 +14556,8 @@ int InitSkelSpell(DSWActor* actor) if (dist != 0) actorNew->spr.zvel = (actorNew->spr.xvel * (ActorUpperZ(actor->user.targetActor) - nz)) / dist; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; MissileSetPos(actorNew, DoElectro, 400); @@ -14571,7 +14571,7 @@ int InitCoolgFire(DSWActor* actor) int nx, ny, nz, dist, nang; // get angle to player and also face player when attacking - actor->spr.ang = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); + actor->spr.__int_angle = nang = NORM_ANGLE(getangle(actor->user.targetActor->int_pos().X - actor->int_pos().X, actor->user.targetActor->int_pos().Y - actor->int_pos().Y)); nx = actor->int_pos().X; ny = actor->int_pos().Y; @@ -14584,7 +14584,7 @@ int InitCoolgFire(DSWActor* actor) PlaySound(DIGI_CGMAGIC, actor, v3df_follow); auto actorNew = SpawnActor(STAT_MISSILE, COOLG_FIRE, s_CoolgFire, actor->sector(), - nx, ny, nz, actor->user.targetActor->spr.ang, COOLG_FIRE_VELOCITY); + nx, ny, nz, actor->user.targetActor->spr.__int_angle, COOLG_FIRE_VELOCITY); SetOwner(actor, actorNew); actorNew->spr.hitag = LUMINOUS; @@ -14592,7 +14592,7 @@ int InitCoolgFire(DSWActor* actor) actorNew->spr.xrepeat = 18; actorNew->spr.shade = -40; actorNew->spr.zvel = 0; - actorNew->spr.ang = nang; + actorNew->spr.__int_angle = nang; actorNew->spr.clipdist = 32L>>2; actorNew->user.ceiling_dist = Z(4); actorNew->user.floor_dist = Z(4); @@ -14611,8 +14611,8 @@ int InitCoolgFire(DSWActor* actor) // distance actorNew->spr.zvel = (actorNew->spr.xvel * (ActorUpperZ(actor->user.targetActor) - nz)) / dist; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; nx = MulScale(728, bcos(nang), 14); @@ -14649,7 +14649,7 @@ int InitCoolgDrip(DSWActor* actor) nz = actor->int_pos().Z; auto actorNew = SpawnActor(STAT_MISSILE, COOLG_DRIP, s_CoolgDrip, actor->sector(), - nx, ny, nz, actor->spr.ang, 0); + nx, ny, nz, actor->spr.__int_angle, 0); SetOwner(actor, actorNew); actorNew->spr.yrepeat = actorNew->spr.xrepeat = 20; @@ -14688,7 +14688,7 @@ int GenerateDrips(DSWActor* actor) nz = actor->int_pos().Z; auto actorNew = SpawnActor(STAT_SHRAP, COOLG_DRIP, s_CoolgDrip, actor->sector(), - nx, ny, nz, actor->spr.ang, 0); + nx, ny, nz, actor->spr.__int_angle, 0); SetOwner(actor, actorNew); actorNew->spr.yrepeat = actorNew->spr.xrepeat = 20; @@ -14753,7 +14753,7 @@ void InitFireballTrap(DSWActor* actor) // Spawn a shot auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL, s_Fireball, actor->sector(), nx, ny, nz, - actor->spr.ang, FIREBALL_TRAP_VELOCITY); + actor->spr.__int_angle, FIREBALL_TRAP_VELOCITY); actorNew->spr.hitag = LUMINOUS; //Always full brightness SetOwner(actor, actorNew); @@ -14765,8 +14765,8 @@ void InitFireballTrap(DSWActor* actor) actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); actorNew->user.WeaponNum = WPN_HOTHEAD; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; } @@ -14783,7 +14783,7 @@ void InitBoltTrap(DSWActor* actor) // Spawn a shot auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Rocket[0][0], actor->sector(), nx, ny, nz, - actor->spr.ang, BOLT_TRAP_VELOCITY); + actor->spr.__int_angle, BOLT_TRAP_VELOCITY); SetOwner(actor, actorNew); actorNew->spr.yrepeat = 32; @@ -14796,8 +14796,8 @@ void InitBoltTrap(DSWActor* actor) NewStateGroup(actorNew, &sg_Rocket[0]); actorNew->user.Radius = 200; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; } @@ -14811,7 +14811,7 @@ void InitSpearTrap(DSWActor* actor) nz = ActorZOfMiddle(actor); // Spawn a shot - auto actorNew = SpawnActor(STAT_MISSILE, CROSSBOLT, &s_CrossBolt[0][0], actor->sector(), nx, ny, nz, actor->spr.ang, 750); + auto actorNew = SpawnActor(STAT_MISSILE, CROSSBOLT, &s_CrossBolt[0][0], actor->sector(), nx, ny, nz, actor->spr.__int_angle, 750); SetOwner(actor, actorNew); actorNew->spr.xrepeat = 16; @@ -14822,8 +14822,8 @@ void InitSpearTrap(DSWActor* actor) actorNew->user.RotNum = 5; NewStateGroup(actorNew, &sg_CrossBolt[0]); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; actorNew->user.Flags |= (SPR_XFLIP_TOGGLE); @@ -14886,12 +14886,12 @@ int InitTracerUzi(PLAYER* pp) oclipdist = plActor->spr.clipdist; plActor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); if (pp->Flags & (PF_TWO_UZI) && pp->WpnUziType == 0) HelpMissileLateral(actorNew, lat_dist[RANDOM_P2(2<<8)>>8]); else HelpMissileLateral(actorNew, lat_dist[0]); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (MissileSetPos(actorNew, DoTracerStart, 800)) { @@ -14907,10 +14907,10 @@ int InitTracerUzi(PLAYER* pp) WeaponAutoAim(pp->actor, actorNew, 32, false); // a bit of randomness - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + RandomRange(30) - 15); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + RandomRange(30) - 15); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) @@ -14931,7 +14931,7 @@ int InitTracerTurret(DSWActor* actor, DSWActor* Operator, fixed_t q16horiz) // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, 0, s_Tracer, actor->sector(), - nx, ny, nz, actor->spr.ang, TRACER_VELOCITY); + nx, ny, nz, actor->spr.__int_angle, TRACER_VELOCITY); actorNew->spr.hitag = LUMINOUS; //Always full brightness if (Operator!= nullptr) @@ -14954,10 +14954,10 @@ int InitTracerTurret(DSWActor* actor, DSWActor* Operator, fixed_t q16horiz) WeaponAutoAim(actor, actorNew, 32, false); // a bit of randomness - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + RandomRange(30) - 15); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + RandomRange(30) - 15); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (SpriteInUnderwaterArea(actorNew)) @@ -14978,7 +14978,7 @@ int InitTracerAutoTurret(DSWActor* actor, int xchange, int ychange, int zchange) // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, 0, s_Tracer, actor->sector(), - nx, ny, nz, actor->spr.ang, TRACER_VELOCITY); + nx, ny, nz, actor->spr.__int_angle, TRACER_VELOCITY); actorNew->spr.hitag = LUMINOUS; //Always full brightness actorNew->spr.yrepeat = 10; @@ -15024,7 +15024,7 @@ int BulletHitSprite(DSWActor* actor, DSWActor* hitActor, int hit_x, int hit_y, i if (ID>0) id = ID; - auto actorNew = SpawnActor(STAT_MISSILE, id, s_UziSmoke, §or[0], hit_x, hit_y, hit_z, actor->spr.ang, 0); + auto actorNew = SpawnActor(STAT_MISSILE, id, s_UziSmoke, §or[0], hit_x, hit_y, hit_z, actor->spr.__int_angle, 0); actorNew->spr.shade = -40; if (hitActor->user.PlayerP) @@ -15053,7 +15053,7 @@ int BulletHitSprite(DSWActor* actor, DSWActor* hitActor, int hit_x, int hit_y, i } SetOwner(actor, actorNew); - actorNew->spr.ang = actor->spr.ang; + actorNew->spr.__int_angle = actor->spr.__int_angle; SetActorZ(actorNew, &hit_pos); actorNew->spr.cstat |= (CSTAT_SPRITE_YCENTER); @@ -15062,17 +15062,17 @@ int BulletHitSprite(DSWActor* actor, DSWActor* hitActor, int hit_x, int hit_y, i if ((RANDOM_P2(1024<<5)>>5) < 512+128) { if (!hitActor->user.PlayerP) - SpawnBlood(hitActor, nullptr, actor->spr.ang, hit_x, hit_y, hit_z); + SpawnBlood(hitActor, nullptr, actor->spr.__int_angle, hit_x, hit_y, hit_z); else - SpawnBlood(hitActor, nullptr, actor->spr.ang, hit_x, hit_y, hit_z+Z(20)); + SpawnBlood(hitActor, nullptr, actor->spr.__int_angle, hit_x, hit_y, hit_z+Z(20)); // blood comes out the other side? if ((RANDOM_P2(1024<<5)>>5) < 256) { if (!hitActor->user.PlayerP) - SpawnBlood(hitActor, nullptr, NORM_ANGLE(actor->spr.ang+1024),hit_x, hit_y, hit_z); + SpawnBlood(hitActor, nullptr, NORM_ANGLE(actor->spr.__int_angle+1024),hit_x, hit_y, hit_z); if (hitActor->user.ID != TRASHCAN && hitActor->user.ID != ZILLA_RUN_R0) - QueueWallBlood(hitActor, actor->spr.ang); //QueueWallBlood needs bullet angle. + QueueWallBlood(hitActor, actor->spr.__int_angle); //QueueWallBlood needs bullet angle. } } @@ -15106,7 +15106,7 @@ DSWActor* SpawnWallHole(sectortype* hit_sect, walltype* hit_wall, int hit_x, int wall_ang = NORM_ANGLE(getangle(hit_wall->delta())-512); - actor->spr.ang = NORM_ANGLE(wall_ang + 1024); + actor->spr.__int_angle = NORM_ANGLE(wall_ang + 1024); return actor; } @@ -15119,10 +15119,10 @@ bool HitscanSpriteAdjust(DSWActor* actor, walltype* hit_wall) if (hit_wall) { int16_t const wall_ang = NORM_ANGLE(getangle(hit_wall->delta())); - ang = actor->spr.ang = NORM_ANGLE(wall_ang + 512); + ang = actor->spr.__int_angle = NORM_ANGLE(wall_ang + 512); } else - ang = actor->spr.ang; + ang = actor->spr.__int_angle; xvect = bcos(ang, 4); yvect = bsin(ang, 4); @@ -15353,7 +15353,7 @@ int InitTankShell(DSWActor* actor, PLAYER* pp) PlaySound(DIGI_CANNON, pp, v3df_dontpan|v3df_doppler); auto actorNew = SpawnActor(STAT_MISSILE, 0, s_TankShell, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, TANK_SHELL_VELOCITY); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, TANK_SHELL_VELOCITY); SetOwner(pp->actor, actorNew); actorNew->spr.yrepeat = 8; @@ -15374,11 +15374,11 @@ int InitTankShell(DSWActor* actor, PLAYER* pp) WeaponAutoAim(actor, actorNew, 64, false); // a bit of randomness - actorNew->spr.ang += RandomRange(30) - 15; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle += RandomRange(30) - 15; + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (SpriteInUnderwaterArea(actorNew)) @@ -15422,7 +15422,7 @@ int InitTurretMicro(DSWActor* actor, PLAYER* pp) else { picked = nullptr; - ang = actor->spr.ang; + ang = actor->spr.__int_angle; } nz = actor->int_pos().Z; @@ -15475,11 +15475,11 @@ int InitTurretMicro(DSWActor* actor, PLAYER* pp) } else { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + (RandomRange(MICRO_ANG) - (MICRO_ANG / 2)) - 16); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + (RandomRange(MICRO_ANG) - (MICRO_ANG / 2)) - 16); } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; } @@ -15492,7 +15492,7 @@ int InitTurretRocket(DSWActor* actor, PLAYER* pp) if (SW_SHAREWARE) return false; // JBF: verify auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, &s_Rocket[0][0], actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, ROCKET_VELOCITY); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, ROCKET_VELOCITY); SetOwner(pp->actor, actorNew); actorNew->spr.yrepeat = 40; @@ -15512,10 +15512,10 @@ int InitTurretRocket(DSWActor* actor, PLAYER* pp) WeaponAutoAim(actor, actorNew, 64, false); // a bit of randomness - //actorNew->spr.ang += RandomRange(30) - 15; + //actorNew->spr.__int_angle += RandomRange(30) - 15; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (SpriteInUnderwaterArea(actorNew)) @@ -15529,7 +15529,7 @@ int InitTurretFireball(DSWActor* actor, PLAYER* pp) if (SW_SHAREWARE) return false; // JBF: verify auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL, s_Fireball, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, FIREBALL_VELOCITY); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, FIREBALL_VELOCITY); SetOwner(pp->actor, actorNew); actorNew->spr.yrepeat = 40; @@ -15549,11 +15549,11 @@ int InitTurretFireball(DSWActor* actor, PLAYER* pp) WeaponAutoAim(actor, actorNew, 64, false); // a bit of randomness - actorNew->spr.ang += RandomRange(30) - 15; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle += RandomRange(30) - 15; + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (SpriteInUnderwaterArea(actorNew)) @@ -15579,7 +15579,7 @@ int InitTurretRail(DSWActor* actor, PLAYER* pp) // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R1, &s_Rail[0][0], pp->cursector, - nx, ny, nz, actor->spr.ang, 1200); + nx, ny, nz, actor->spr.__int_angle, 1200); SetOwner(pp->actor, actorNew); actorNew->spr.yrepeat = 52; @@ -15601,11 +15601,11 @@ int InitTurretRail(DSWActor* actor, PLAYER* pp) if (WeaponAutoAim(pp->actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; return 0; @@ -15628,7 +15628,7 @@ int InitTurretLaser(DSWActor* actor, PLAYER* pp) // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, BOLT_THINMAN_R0, s_Laser, pp->cursector, - nx, ny, nz, actor->spr.ang, 300); + nx, ny, nz, actor->spr.__int_angle, 300); SetOwner(pp->actor, actorNew); actorNew->spr.yrepeat = 52; @@ -15648,11 +15648,11 @@ int InitTurretLaser(DSWActor* actor, PLAYER* pp) if (WeaponAutoAim(actor, actorNew, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle); } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; return 0; @@ -15690,7 +15690,7 @@ int InitSobjMachineGun(DSWActor* actor, PLAYER* pp) q16horiz = horizmin; daz = -MulScale(q16horiz, 2000, 16) + (RandomRange(Z(80)) - Z(40)); - daang = actor->spr.ang; + daang = actor->spr.__int_angle; } FAFhitscan(nx, ny, nz, actor->sector(), // Start position @@ -16034,7 +16034,7 @@ int InitTurretMgun(SECTOR_OBJECT* sop) hit.hitActor = hitt; if (hitt != nullptr) { - delta = short(abs(getincangle(actor->spr.ang, daang))); + delta = short(abs(getincangle(actor->spr.__int_angle, daang))); if (delta > 128) { // don't shoot if greater than 128 @@ -16046,7 +16046,7 @@ int InitTurretMgun(SECTOR_OBJECT* sop) // and not close WeaponHitscanShootFeet(actor, hitt, &daz); - daang = actor->spr.ang; + daang = actor->spr.__int_angle; daang = NORM_ANGLE(daang + RANDOM_P2(32) - 16); } else @@ -16054,7 +16054,7 @@ int InitTurretMgun(SECTOR_OBJECT* sop) // randomize the z for shots daz += RandomRange(Z(120)) - Z(60); // never auto aim the angle - daang = actor->spr.ang; + daang = actor->spr.__int_angle; daang = NORM_ANGLE(daang + RANDOM_P2(64) - 32); } } @@ -16195,7 +16195,7 @@ int InitEnemyUzi(DSWActor* actor) if (AimHitscanToTarget(actor, &daz, &daang, 200) != nullptr) { // set angle to player and also face player when attacking - actor->spr.ang = daang; + actor->spr.__int_angle = daang; daang += RandomRange(24) - 12; daang = NORM_ANGLE(daang); daz += RandomRange(Z(40)) - Z(20); @@ -16209,7 +16209,7 @@ int InitEnemyUzi(DSWActor* actor) return 0; daz = 0; - daang = NORM_ANGLE(actor->spr.ang + (RANDOM_P2(128)) - 64); + daang = NORM_ANGLE(actor->spr.__int_angle + (RANDOM_P2(128)) - 64); } FAFhitscan(actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - zh, actor->sector(), // Start position @@ -16378,9 +16378,9 @@ int InitGrenade(PLAYER* pp) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 800); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); // don't do smoke for this movement actorNew->user.Flags |= (SPR_BOUNCE); @@ -16396,8 +16396,8 @@ int InitGrenade(PLAYER* pp) } actorNew->spr.zvel = zvel; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; if (!auto_aim) @@ -16425,7 +16425,7 @@ int InitSpriteGrenade(DSWActor* actor) // Spawn a shot // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, GRENADE, &s_Grenade[0][0], actor->sector(), - nx, ny, nz, actor->spr.ang, GRENADE_VELOCITY); + nx, ny, nz, actor->spr.__int_angle, GRENADE_VELOCITY); actorNew->user.RotNum = 5; NewStateGroup(actorNew, &sg_Grenade[0]); @@ -16452,13 +16452,13 @@ int InitSpriteGrenade(DSWActor* actor) //actorNew->spr.zvel = (-RandomRange(100) * HORIZ_MULT); actorNew->spr.zvel = -2000; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = actorNew->spr.zvel; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 800); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); // don't do smoke for this movement actorNew->user.Flags |= (SPR_BOUNCE); @@ -16512,8 +16512,8 @@ int InitMine(PLAYER* pp) MissileSetPos(actorNew, DoMine, 800); actorNew->user.change.Z = actorNew->spr.zvel>>1; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); dot = DOT_PRODUCT_2D(pp->vect.X, pp->vect.Y, pp->angle.ang.bcos(), pp->angle.ang.bsin()); @@ -16541,7 +16541,7 @@ int InitEnemyMine(DSWActor* actor) // Spawn a shot // Inserting and setting up variables auto actorNew = SpawnActor(STAT_MISSILE, MINE, s_Mine, actor->sector(), - nx, ny, nz, actor->spr.ang, MINE_VELOCITY); + nx, ny, nz, actor->spr.__int_angle, MINE_VELOCITY); SetOwner(actor, actorNew); actorNew->spr.yrepeat = 32; @@ -16562,13 +16562,13 @@ int InitEnemyMine(DSWActor* actor) actorNew->user.Flags |= (SPR_UNDERWATER); MissileSetPos(actorNew, DoMine, 300); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang-512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle-512); MissileSetPos(actorNew, DoMine, 300); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang+512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle+512); actorNew->user.change.Z = -5000; - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); return 0; } @@ -16581,8 +16581,8 @@ int HelpMissileLateral(DSWActor* actor, int dist) auto old_clipdist = actor->spr.clipdist; actor->spr.xvel = dist; - xchange = MOVEx(actor->spr.xvel, actor->spr.ang); - ychange = MOVEy(actor->spr.xvel, actor->spr.ang); + xchange = MOVEx(actor->spr.xvel, actor->spr.__int_angle); + ychange = MOVEy(actor->spr.xvel, actor->spr.__int_angle); actor->spr.clipdist = 32L >> 2; @@ -16637,9 +16637,9 @@ int InitFireball(PLAYER* pp) auto oclipdist = actor->spr.clipdist; actor->spr.clipdist = 0; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + 512); HelpMissileLateral(actorNew, 2100); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 512); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 512); if (pp->Flags & (PF_DIVING) || SpriteInUnderwaterArea(actorNew)) actorNew->user.Flags |= (SPR_UNDERWATER); @@ -16656,11 +16656,11 @@ int InitFireball(PLAYER* pp) actorNew->spr.zvel = zvel >> 1; if (WeaponAutoAimZvel(pp->actor, actorNew, &zvel, 32, false) == -1) { - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - 9); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - 9); } - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->user.change.Z = zvel; return 0; @@ -16683,19 +16683,19 @@ int InitEnemyFireball(DSWActor* actor) PlaySound(DIGI_FIREBALL1, actor, v3df_none); // get angle to player and also face player when attacking - actor->spr.ang = NORM_ANGLE(getangle(targetActor->int_pos().X - actor->int_pos().X, targetActor->int_pos().Y - actor->int_pos().Y)); + actor->spr.__int_angle = NORM_ANGLE(getangle(targetActor->int_pos().X - actor->int_pos().X, targetActor->int_pos().Y - actor->int_pos().Y)); 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->spr.ang); - ychange = MOVEy(GORO_FIREBALL_VELOCITY, actor->spr.ang); + xchange = MOVEx(GORO_FIREBALL_VELOCITY, actor->spr.__int_angle); + ychange = MOVEy(GORO_FIREBALL_VELOCITY, actor->spr.__int_angle); 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->spr.ang, GORO_FIREBALL_VELOCITY); + actor->int_pos().X, actor->int_pos().Y, nz, actor->spr.__int_angle, GORO_FIREBALL_VELOCITY); actorNew->spr.hitag = LUMINOUS; //Always full brightness actorNew->spr.xrepeat = 20; @@ -16706,9 +16706,9 @@ int InitEnemyFireball(DSWActor* actor) actorNew->spr.zvel = 0; actorNew->spr.clipdist = 16>>2; - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang + lat_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle + lat_ang[i]); HelpMissileLateral(actorNew, 500); - actorNew->spr.ang = NORM_ANGLE(actorNew->spr.ang - lat_ang[i]); + actorNew->spr.__int_angle = NORM_ANGLE(actorNew->spr.__int_angle - lat_ang[i]); actorNew->user.change.X = xchange; actorNew->user.change.Y = ychange; @@ -17045,7 +17045,7 @@ int SpawnSplash(DSWActor* actor) DoActorZrange(actor); MissileWaterAdjust(actor); - auto actorNew = SpawnActor(STAT_MISSILE, SPLASH, s_Splash, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->user.loz, actor->spr.ang, 0); + auto actorNew = SpawnActor(STAT_MISSILE, SPLASH, s_Splash, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->user.loz, actor->spr.__int_angle, 0); if (sectu && (sectp->extra & SECTFX_LIQUID_MASK) == SECTFX_LIQUID_LAVA) actorNew->user.spal = actorNew->spr.pal = PALETTE_RED_LIGHTING; @@ -17137,7 +17137,7 @@ DSWActor* SpawnBubble(DSWActor* actor) if (Prediction) return nullptr; - auto actorNew = SpawnActor(STAT_MISSILE, BUBBLE, s_Bubble, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + auto actorNew = SpawnActor(STAT_MISSILE, BUBBLE, s_Bubble, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->spr.xrepeat = 8 + (RANDOM_P2(8 << 8) >> 8); actorNew->spr.yrepeat = actorNew->spr.xrepeat; @@ -17174,7 +17174,7 @@ int SpawnVehicleSmoke(DSWActor* actor) return false; auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_VehicleSmoke, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - RANDOM_P2(Z(8)), actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - RANDOM_P2(Z(8)), actor->spr.__int_angle, 0); actorNew->user.WaitTics = 1*120; actorNew->spr.shade = -40; @@ -17188,10 +17188,10 @@ int SpawnVehicleSmoke(DSWActor* actor) if (RANDOM_P2(1024) < 512) actorNew->spr.cstat |= (CSTAT_SPRITE_YFLIP); - actorNew->spr.ang = RANDOM_P2(2048); + actorNew->spr.__int_angle = RANDOM_P2(2048); actorNew->spr.xvel = RANDOM_P2(32); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); actorNew->spr.zvel = Z(4) + RANDOM_P2(Z(4)); return false; @@ -17200,7 +17200,7 @@ int SpawnVehicleSmoke(DSWActor* actor) int SpawnSmokePuff(DSWActor* actor) { auto actorNew = SpawnActor(STAT_MISSILE, PUFF, s_WaterSmoke, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - RANDOM_P2(Z(8)), actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z - RANDOM_P2(Z(8)), actor->spr.__int_angle, 0); actorNew->user.WaitTics = 1*120; actorNew->spr.shade = -40; @@ -17214,10 +17214,10 @@ int SpawnSmokePuff(DSWActor* actor) if (RANDOM_P2(1024) < 512) actorNew->spr.cstat |= (CSTAT_SPRITE_YFLIP); - actorNew->spr.ang = RANDOM_P2(2048); + actorNew->spr.__int_angle = RANDOM_P2(2048); actorNew->spr.xvel = RANDOM_P2(32); - actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.ang); - actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.ang); + actorNew->user.change.X = MOVEx(actorNew->spr.xvel, actorNew->spr.__int_angle); + actorNew->user.change.Y = MOVEy(actorNew->spr.xvel, actorNew->spr.__int_angle); //actorNew->spr.zvel = Z(4) + RANDOM_P2(Z(4)); actorNew->spr.zvel = Z(1) + RANDOM_P2(Z(2)); @@ -17443,11 +17443,11 @@ void QueueHole(sectortype* hit_sect, walltype* hit_wall, int hit_x, int hit_y, i spawnedActor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); wall_ang = NORM_ANGLE(getangle(hit_wall->delta())+512); - spawnedActor->spr.ang = wall_ang; + spawnedActor->spr.__int_angle = wall_ang; // move it back some - nx = bcos(spawnedActor->spr.ang, 4); - ny = bsin(spawnedActor->spr.ang, 4); + nx = bcos(spawnedActor->spr.__int_angle, 4); + ny = bsin(spawnedActor->spr.__int_angle, 4); auto sect = spawnedActor->sector(); @@ -17494,7 +17494,7 @@ int QueueFloorBlood(DSWActor* actor) KillActor(FloorBloodQueue[FloorBloodQueueHead]); FloorBloodQueue[FloorBloodQueueHead] = spawnedActor = - SpawnActor(STAT_SKIP4, FLOORBLOOD1, s_FloorBlood1, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + SpawnActor(STAT_SKIP4, FLOORBLOOD1, s_FloorBlood1, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); FloorBloodQueueHead = (FloorBloodQueueHead+1) & (MAX_FLOORBLOOD_QUEUE-1); @@ -17513,7 +17513,7 @@ int QueueFloorBlood(DSWActor* actor) spawnedActor->spr.xoffset = spawnedActor->spr.yoffset = 0; spawnedActor->spr.pos = actor->spr.pos; spawnedActor->add_int_z(Z(1)); - spawnedActor->spr.ang = RANDOM_P2(2048); // Just make it any old angle + spawnedActor->spr.__int_angle = RANDOM_P2(2048); // Just make it any old angle spawnedActor->spr.shade -= 5; // Brighten it up just a bit spawnedActor->spr.cstat |= (CSTAT_SPRITE_ALIGNMENT_FLOOR); @@ -17588,13 +17588,13 @@ int QueueFootPrint(DSWActor* actor) if (rnd_num > 683) FloorBloodQueue[FloorBloodQueueHead] = spawnedActor = - SpawnActor(STAT_WALLBLOOD_QUEUE, FOOTPRINT1, s_FootPrint1, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + SpawnActor(STAT_WALLBLOOD_QUEUE, FOOTPRINT1, s_FootPrint1, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); else if (rnd_num > 342) FloorBloodQueue[FloorBloodQueueHead] = spawnedActor = - SpawnActor(STAT_WALLBLOOD_QUEUE, FOOTPRINT2, s_FootPrint2, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + SpawnActor(STAT_WALLBLOOD_QUEUE, FOOTPRINT2, s_FootPrint2, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); else FloorBloodQueue[FloorBloodQueueHead] = spawnedActor = - SpawnActor(STAT_WALLBLOOD_QUEUE, FOOTPRINT3, s_FootPrint3, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + SpawnActor(STAT_WALLBLOOD_QUEUE, FOOTPRINT3, s_FootPrint3, actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); FloorBloodQueueHead = (FloorBloodQueueHead+1) & (MAX_FLOORBLOOD_QUEUE-1); @@ -17613,7 +17613,7 @@ int QueueFootPrint(DSWActor* actor) spawnedActor->spr.clipdist = 0; spawnedActor->spr.xoffset = spawnedActor->spr.yoffset = 0; spawnedActor->spr.pos = actor->spr.pos; - spawnedActor->spr.ang = actor->spr.ang; + spawnedActor->spr.__int_angle = actor->spr.__int_angle; spawnedActor->user.Flags &= ~(SPR_SHADOW); switch (FootMode) { @@ -17756,11 +17756,11 @@ DSWActor* QueueWallBlood(DSWActor* actor, short ang) spawnedActor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); wall_ang = NORM_ANGLE(getangle(hit.hitWall->delta()) + 512); - spawnedActor->spr.ang = wall_ang; + spawnedActor->spr.__int_angle = wall_ang; // move it back some - nx = bcos(spawnedActor->spr.ang, 4); - ny = bsin(spawnedActor->spr.ang, 4); + nx = bcos(spawnedActor->spr.__int_angle, 4); + ny = bsin(spawnedActor->spr.__int_angle, 4); auto sect = spawnedActor->sector(); @@ -17980,7 +17980,7 @@ int DoShrapVelocity(DSWActor* actor) auto hit_sprite = actor->user.coll.actor(); - wall_ang = NORM_ANGLE(hit_sprite->spr.ang); + wall_ang = NORM_ANGLE(hit_sprite->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); @@ -18290,7 +18290,7 @@ int DoItemFly(DSWActor* actor) if ((hit_sprite->spr.cstat & CSTAT_SPRITE_ALIGNMENT_WALL)) { - wall_ang = NORM_ANGLE(hit_sprite->spr.ang); + wall_ang = NORM_ANGLE(hit_sprite->spr.__int_angle); WallBounce(actor, wall_ang); ScaleSpriteVector(actor, 32000); } @@ -18360,7 +18360,7 @@ void QueueLoWangs(DSWActor* actor) { LoWangsQueue[LoWangsQueueHead] = spawnedActor = SpawnActor(STAT_GENERIC_QUEUE, actor->spr.picnum, s_DeadLoWang, actor->sector(), - actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); } else { diff --git a/source/games/sw/src/zombie.cpp b/source/games/sw/src/zombie.cpp index 1791082e1..a29cd0452 100644 --- a/source/games/sw/src/zombie.cpp +++ b/source/games/sw/src/zombie.cpp @@ -779,7 +779,7 @@ void SpawnZombie(PLAYER* pp, DSWActor* weaponActor) auto actorNew = SpawnActor(STAT_ENEMY, ZOMBIE_RUN_R0, s_ZombieRun[0], pp->cursector, pp->pos.X, pp->pos.Y, pp->pos.Z, pp->angle.ang.asbuild(), 0); SetOwner(actorNew, ownerActor); actorNew->spr.pal = actorNew->user.spal = ownerActor->user.spal; - actorNew->spr.ang = RANDOM_P2(2048); + actorNew->spr.__int_angle = RANDOM_P2(2048); SetupZombie(actorNew); actorNew->spr.shade = -10; actorNew->user.Flags2 |= (SPR2_DONT_TARGET_OWNER); @@ -822,11 +822,11 @@ void SpawnZombie2(DSWActor* actor) } - auto actorNew = SpawnActor(STAT_ENEMY, ZOMBIE_RUN_R0, s_ZombieRun[0], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.ang, 0); + auto actorNew = SpawnActor(STAT_ENEMY, ZOMBIE_RUN_R0, s_ZombieRun[0], actor->sector(), actor->int_pos().X, actor->int_pos().Y, actor->int_pos().Z, actor->spr.__int_angle, 0); actorNew->user.Counter3 = 0; SetOwner(ownerActor, actorNew); actorNew->spr.pal = actorNew->user.spal = ownerActor->user.spal; - actorNew->spr.ang = RANDOM_P2(2048); + actorNew->spr.__int_angle = RANDOM_P2(2048); SetupZombie(actorNew); actorNew->spr.shade = -10; actorNew->user.Flags2 |= (SPR2_DONT_TARGET_OWNER);