- WHaven: Uplift of ang to backend code.

This commit is contained in:
Mitchell Richters 2020-11-03 23:26:22 +11:00
parent 3813913970
commit 249ea218f4
28 changed files with 80 additions and 87 deletions

View file

@ -210,7 +210,7 @@ void aiProcess() {
PLAYER& plr = player[0];
// short daang = (short) plr.ang;
// short daang = plr.angle.ang.asbuild();
// int daz2 = -mulscale16(plr.horizon.horiz.asq16(), 2000);
// hitscan(plr.x, plr.y, plr.z, plr.sector, // Start position
// sintable[(daang + 2560) & 2047], // X vector of 3D ang
@ -663,7 +663,8 @@ void attack(PLAYER& plr, int i) {
if (!droptheshield && plr.shieldpoints > 0 && plr.selectedgun > 0 && plr.selectedgun < 5) {
short a = getangle(sprite[i].x - plr.x, sprite[i].y - plr.y);
if ((a < plr.ang && plr.ang - a < 128) || (a > plr.ang && (((short)plr.ang + a) & 2047) < 128)) {
auto ang = plr.angle.ang.asbuild();
if ((a < ang && ang - a < 128) || (a > ang && ((ang + a) & 2047) < 128)) {
if (krand() % 100 > 80) {
spritesound(S_SWORD1 + krand() % 3, &sprite[plr.spritenum]);
return;

View file

@ -83,7 +83,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = DEMON;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -83,7 +83,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = DEVIL;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -96,7 +96,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = FATWITCH;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -252,7 +252,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = FRED;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -110,7 +110,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = GOBLIN;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -298,7 +298,7 @@ static void pain(PLAYER& plr, short i) {
spr.picnum = GONZOGSH;
break;
}
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -226,7 +226,7 @@ static void pain(PLAYER& plr, short i) {
else if (sprite[i].picnum == GRONMUPAIN)
sprite[i].picnum = GRONMU;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -190,7 +190,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = GUARDIAN;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -103,7 +103,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = IMP;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -106,7 +106,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = JUDY;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -82,7 +82,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = KATIE;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -114,7 +114,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = KOBOLD;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -152,7 +152,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = MINOTAUR;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -171,7 +171,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = NEWGUY;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -93,7 +93,7 @@ static void pain(PLAYER& plr, short i) {
spr.lotag -= TICSPERFRAME;
if (spr.lotag < 0) {
spr.picnum = SKULLY;
spr.ang = (short)plr.ang;
spr.ang = plr.angle.ang.asbuild();
newstatus(i, FLEE);
}

View file

@ -91,7 +91,6 @@ int32_t registerosdcommands(void)
for (int i = 0; i < 10; i++) if (ctrlGetInputKey(whcfg.keymap[i + WhKeys.Weapon_1.getNum()], true)) loc.bits |= (i + 1) << 8; //1 << 12 // weaponsel
loc.bits |= whcfg.gMouseAim ? CtrlMouseAim : 0; ~SB_AIMMODE
loc.bits |= ctrlGetInputKey(GameKeys.Open, true) ? CtrlOpen : 0; SB_OPEN
loc.bits |= ctrlGetInputKey(GameKeys.Turn_Around, true) ? CtrlTurnAround : 0; SB_TURNAROUND
loc.bits |= ctrlGetInputKey(WhKeys.Inventory_Use, true) ? CtrlInventory_Use : 0; SB_INVUSE
loc.bits |= ctrlGetInputKey(WhKeys.Fly_up, false) ? CtrlFlyup : 0; // SB_FLYUP
loc.bits |= ctrlGetInputKey(WhKeys.Fly_down, false) ? CtrlFlydown : 0; // SB_FLYDOWN
@ -114,6 +113,10 @@ void GameInterface::clearlocalinputstate()
lPlayerXVel = lPlayerYVel = 0;
}
static void UpdatePlayerSpriteAngle(PLAYER& plr)
{
sprite[plr.spritenum].ang = plr.angle.ang.asbuild();
}
void GameInterface::GetInput(InputPacket* packet, ControlInfo* const hidInput)
{
@ -164,8 +167,8 @@ void GameInterface::GetInput(InputPacket* packet, ControlInfo* const hidInput)
if (packet)
{
double k = 0.92;
double sin = calcSinTableValue(plr.ang);
double cos = calcSinTableValue(plr.ang + 512);
double sin = plr.angle.ang.fsin() * 16384.;
double cos = plr.angle.ang.fcos() * 16384.;
double xvel = (localInput.fvel * cos) + (localInput.svel * sin);
double yvel = (localInput.fvel * sin) - (localInput.svel * cos);
double len = sqrt(xvel * xvel + yvel * yvel);
@ -207,6 +210,7 @@ void processinput(int num) {
oldposx = plr.x;
oldposy = plr.y;
plr.angle.resetadjustment();
plr.horizon.resetadjustment();
auto& bits = plr.plInput.actions;
@ -230,7 +234,7 @@ void processinput(int num) {
plr.plInput.fvel += (tics * damage_vel) << 14;
plr.plInput.svel += (tics * damage_svel) << 14;
plr.plInput.avel += damage_angvel;
plr.angle.addadjustment(damage_angvel);
if (damage_vel != 0)
@ -303,16 +307,9 @@ void processinput(int num) {
}
}
if ((bits & SB_TURNAROUND) != 0)
if (cl_syncinput)
{
if (plr.turnAround == 0)
plr.turnAround = -1024;
}
if (plr.turnAround < 0)
{
plr.turnAround = (short)std::min(plr.turnAround + 64, 0);
plr.ang = BClampAngle(plr.ang + 64);
applylook(&plr.angle, plr.plInput.avel, &bits, 1, bits & SB_CROUCH);
}
if (plr.sector != -1 && ((sector[plr.sector].floorpicnum != LAVA || sector[plr.sector].floorpicnum != SLIME
@ -431,13 +428,13 @@ void processinput(int num) {
yvect = plr.plInput.svel;
// xvect = yvect = 0;
// if (plr.pInput.fvel != 0) {
// xvect = (int) (plr.pInput.fvel * tics * BCosAngle(plr.ang));
// yvect = (int) (plr.pInput.fvel * tics * BSinAngle(plr.ang));
// if (plr.plInput.fvel != 0) {
// xvect = (int) (plr.plInput.fvel * tics * plr.angle.ang.bcos());
// yvect = (int) (plr.plInput.fvel * tics * plr.angle.ang.bsin());
// }
// if (plr.pInput.svel != 0) {
// xvect += (plr.pInput.svel * tics * BSinAngle(plr.ang));
// yvect -= (plr.pInput.svel * tics * BCosAngle(plr.ang));
// if (plr.plInput.svel != 0) {
// xvect += (plr.plInput.svel * tics * plr.angle.ang.bsin());
// yvect -= (plr.plInput.svel * tics * plr.angle.ang.bcos());
// }
if (plr.noclip) {
@ -586,14 +583,10 @@ void processinput(int num) {
runningtime = 0;
}
}
if (plr.plInput.avel != 0) {
plr.ang += plr.plInput.avel * TICSPERFRAME / 16.0f;
plr.ang = BClampAngle(plr.ang);
}
//game.pInt.setsprinterpolate(plr.spritenum, sprite[plr.spritenum]);
setsprite(plr.spritenum, plr.x, plr.y, plr.z + (plr.height << 8));
sprite[plr.spritenum].ang = (short)plr.ang;
UpdatePlayerSpriteAngle(plr);
if (plr.sector >= 0 && getceilzofslope(plr.sector, plr.x, plr.y) > getflorzofslope(plr.sector, plr.x, plr.y) - (8 << 8))
addhealth(plr, -10);

View file

@ -10,7 +10,7 @@ struct PLAYER {
InputPacket plInput;
int spellnum;
int x,y,z;
float ang;
PlayerAngle angle;
PlayerHorizon horizon;
int height;
int hvel;
@ -36,7 +36,6 @@ struct PLAYER {
int fallz;
boolean dead;
short turnAround;
int shadowtime;
int helmettime;

View file

@ -16,8 +16,9 @@ void drawscreen(int num, double dasmoothratio, bool sceneonly)
int cposx = plr.x;
int cposy = plr.y;
int cposz = plr.z;
float cang = plr.ang;
binangle cang = plr.angle.sum();
fixedhoriz choriz = plr.horizon.horiz + plr.horizon.interpolatedoff(dasmoothratio);
lookangle crotscrnang = plr.angle.rotscrnang;
if (!paused)
{
@ -27,15 +28,12 @@ void drawscreen(int num, double dasmoothratio, bool sceneonly)
cposy = prevloc.y + mulscale16(cposy - prevloc.y, dasmoothratio);
cposz = prevloc.z + mulscale16(cposz - prevloc.z, dasmoothratio);
float inAngle = prevloc.ang;
inAngle += ((BClampAngle(cang - prevloc.ang + 1024) - 1024) * dasmoothratio) / 65536.0f;
if (cl_syncinput)
{
cang = plr.angle.interpolatedsum(dasmoothratio);
choriz = plr.horizon.interpolatedsum(dasmoothratio);
crotscrnang = plr.angle.interpolatedrotscrn(dasmoothratio);
}
cang = inAngle;
}
// wango
@ -55,7 +53,7 @@ void drawscreen(int num, double dasmoothratio, bool sceneonly)
// Todo: render this with 30% light only.
inpreparemirror = true;
renderSetRollAngle(1024);
renderDrawRoomsQ16(cposx, cposy, cposz, FloatToFixed(cang), choriz.asq16(), floormirrorsector[i]);
renderDrawRoomsQ16(cposx, cposy, cposz, cang.asq16(), choriz.asq16(), floormirrorsector[i]);
analyzesprites(plr, dasmoothratio);
renderDrawMasks();
renderSetRollAngle(0);
@ -72,7 +70,10 @@ void drawscreen(int num, double dasmoothratio, bool sceneonly)
if (cposz > floorz - lz)
cposz = floorz - lz;
renderDrawRoomsQ16(cposx, cposy, cposz, FloatToFixed(cang), choriz.asq16(), plr.sector);
// do screen rotation.
renderSetRollAngle(crotscrnang.asbam() / (double)(BAMUNIT));
renderDrawRoomsQ16(cposx, cposy, cposz, cang.asq16(), choriz.asq16(), plr.sector);
analyzesprites(plr, dasmoothratio);
renderDrawMasks();
if (!sceneonly)
@ -80,7 +81,7 @@ void drawscreen(int num, double dasmoothratio, bool sceneonly)
DrawHud(dasmoothratio);
if (automapMode != am_off)
{
DrawOverheadMap(cposx, cposy, int(cang));
DrawOverheadMap(cposx, cposy, cang.asbuild());
}
}
}

View file

@ -140,7 +140,7 @@ void GameInterface::UpdateSounds()
if (player[pyrn].spritenum >= 0)
{
listener.angle = -(float)player[pyrn].ang * pi::pi() / 1024; // Build uses a period of 2048.
listener.angle = -FixedToFloat(player[pyrn].angle.ang.asq16()) * pi::pi() / 1024; // Build uses a period of 2048.
listener.velocity.Zero();
vec3_t ppos{ player[pyrn].x, player[pyrn].y, player[pyrn].z };
listener.position = GetSoundPos(&ppos);

View file

@ -62,7 +62,7 @@ void castaorb(PLAYER& plr) {
spritesound(S_GENERALMAGIC3, &sprite[plr.spritenum]);
else
spritesound(S_SPELL1, &sprite[plr.spritenum]);
daang = plr.ang;
daang = plr.angle.ang.asbuild();
shootgun(plr, daang, 6);
break;
case 3: // MAGIC ARROW
@ -71,7 +71,7 @@ void castaorb(PLAYER& plr) {
spritesound(S_GENERALMAGIC2, &sprite[plr.spritenum]);
}
else {
daang = BClampAngle(plr.ang - 36);
daang = BClampAngle(plr.angle.ang.asbuild() - 36);
for (k = 0; k < 10; k++) {
daang = BClampAngle(daang + (k << 1));
shootgun(plr, daang, 2);
@ -80,7 +80,7 @@ void castaorb(PLAYER& plr) {
}
break;
case 4: // OPEN DOORS
daang = plr.ang;
daang = plr.angle.ang.asbuild();
shootgun(plr, daang, 7);
if (isWh2())
spritesound(S_DOORSPELL, &sprite[plr.spritenum]);
@ -100,13 +100,13 @@ void castaorb(PLAYER& plr) {
spritesound(S_FIRESPELL, &sprite[plr.spritenum]);
}
else {
daang = plr.ang;
daang = plr.angle.ang.asbuild();
shootgun(plr, daang, 3);
spritesound(S_SPELL1, &sprite[plr.spritenum]);
}
break;
case 7: // NUKE
daang = plr.ang;
daang = plr.angle.ang.asbuild();
shootgun(plr, daang, 4);
if (isWh2())
spritesound(S_NUKESPELL, &sprite[plr.spritenum]);
@ -255,7 +255,7 @@ void nukespell(PLAYER& plr, short j) {
sprite[j].cstat &= ~3;
sprite[j].shade = 6;
sprite[j].lotag = 360;
sprite[j].ang = (short) plr.ang;
sprite[j].ang = plr.angle.ang.asbuild();
sprite[j].hitag = 0;
addscore(&plr, 150);

View file

@ -1609,7 +1609,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) {
}
newstatus(pHitInfo.hitsprite, DIE);
}
sprite[pHitInfo.hitsprite].ang = (short) (plr.ang + ((krand() & 32) - 64));
sprite[pHitInfo.hitsprite].ang = plr.angle.ang.asbuild() + ((krand() & 32) - 64);
if (sprite[pHitInfo.hitsprite].hitag > 0)
newstatus(pHitInfo.hitsprite, PAIN);
break;
@ -1966,11 +1966,11 @@ void shootgun(PLAYER& plr, float ang, int guntype) {
sprite[j].z = plr.z + (24 << 8);
sprite[j].cstat = 21;
sprite[j].picnum = THROWPIKE;
sprite[j].ang = (short) ((((int) plr.ang + 2048 + 96) - 512) & 2047);
sprite[j].ang = ((plr.angle.ang.asbuild() + 2048 + 96) - 512) & 2047;
sprite[j].xrepeat = 24;
sprite[j].yrepeat = 24;
sprite[j].clipdist = 32;
sprite[j].extra = (short) plr.ang;
sprite[j].extra = plr.angle.ang.asbuild();
sprite[j].shade = -15;
sprite[j].xvel = (short) ((krand() & 256) - 128);
sprite[j].yvel = (short) ((krand() & 256) - 128);
@ -1991,12 +1991,12 @@ void shootgun(PLAYER& plr, float ang, int guntype) {
sprite[j].cstat = 21;
sprite[j].picnum = THROWPIKE;
sprite[j].ang = (short) BClampAngle((plr.ang + 96) - 512);
sprite[j].ang = BClampAngle((plr.angle.ang.asbuild() + 96) - 512);
sprite[j].xrepeat = 24;
sprite[j].yrepeat = 24;
sprite[j].clipdist = 24;
sprite[j].extra = (short) plr.ang;
sprite[j].extra = plr.angle.ang.asbuild();
sprite[j].shade = -15;
sprite[j].xvel = (short) ((krand() & 256) - 128);
sprite[j].yvel = (short) ((krand() & 256) - 128);
@ -2055,11 +2055,11 @@ void shootgun(PLAYER& plr, float ang, int guntype) {
sprite[j].z = plr.z + (24 << 8);
sprite[j].cstat = 21;
sprite[j].picnum = THROWPIKE;
sprite[j].ang = (short) ((((int) plr.ang + 2048 + 96) - 512) & 2047);
sprite[j].ang = ((plr.angle.ang.asbuild() + 2048 + 96) - 512) & 2047;
sprite[j].xrepeat = 24;
sprite[j].yrepeat = 24;
sprite[j].clipdist = 32;
sprite[j].extra = (short) plr.ang;
sprite[j].extra = plr.angle.ang.asbuild();
sprite[j].shade = -15;
sprite[j].xvel = (short) ((krand() & 256) - 128);
sprite[j].yvel = (short) ((krand() & 256) - 128);
@ -2079,12 +2079,12 @@ void shootgun(PLAYER& plr, float ang, int guntype) {
sprite[j].cstat = 21;
sprite[j].picnum = THROWPIKE;
sprite[j].ang = (short) BClampAngle((plr.ang) - 512);
sprite[j].ang = BClampAngle(plr.angle.ang.asbuild() - 512);
sprite[j].xrepeat = 24;
sprite[j].yrepeat = 24;
sprite[j].clipdist = 24;
sprite[j].extra = (short) plr.ang;
sprite[j].extra = plr.angle.ang.asbuild();
sprite[j].shade = -15;
sprite[j].xvel = (short) ((krand() & 256) - 128);
sprite[j].yvel = (short) ((krand() & 256) - 128);
@ -2151,7 +2151,7 @@ void shootgun(PLAYER& plr, float ang, int guntype) {
sprite[j].pal = 0;
sprite[j].xrepeat = 64;
sprite[j].yrepeat = 64;
sprite[j].ang = (short) plr.ang;
sprite[j].ang = plr.angle.ang.asbuild();
sprite[j].xvel = (short) (sintable[(daang + 2560) & 2047] >> 7);
sprite[j].yvel = (short) (sintable[(daang) & 2047] >> 7);
@ -2275,7 +2275,7 @@ void swingdapunch(PLAYER& plr, int daweapon) {
}
void swingdaweapon(PLAYER& plr) {
float daang = plr.ang;
float daang = FixedToFloat(plr.angle.ang.asq16());
if (plr.currweaponframe == BOWWALK + 5 && plr.ammo[6] > 0) {
plr.currweaponfired = 5;

View file

@ -282,8 +282,8 @@ void animateobjs(PLAYER& plr) {
wall[k].shade = (byte) ((wall[k].shade + j) >> 1);
}
movestat = (short) movesprite((short) i,
((sintable[((short) plr.ang + 512) & 2047]) << TICSPERFRAME) << 8,
((sintable[(short) plr.ang & 2047]) << TICSPERFRAME) << 8, 0, 4 << 8, 4 << 8, 0);
(plr.angle.ang.bcos() << TICSPERFRAME) << 8,
(plr.angle.ang.bsin() << TICSPERFRAME) << 8, 0, 4 << 8, 4 << 8, 0);
spr.cstat |= 0x8000;
show2dsprite.Set(i);

View file

@ -380,7 +380,7 @@ void revolvefx() {
}
if (plr.sector == revolvesector[i]) {
revolvesyncang = (short) plr.ang;
revolvesyncang = plr.angle.ang.asbuild();
revolvesyncrotang = 0;
revolvesyncx = plr.x;
revolvesyncy = plr.y;
@ -390,7 +390,7 @@ void revolvefx() {
viewBackupPlayerLoc(pyrn);
plr.x = out.getX();
plr.y = out.getY();
plr.ang = ((revolvesyncang + revolvesyncrotang) & 2047);
plr.angle.settarget((revolvesyncang + revolvesyncrotang) & 2047);
}
}
}
@ -431,7 +431,7 @@ void teleporter() {
if (sector[plr.sector].lotag == 10) {
if (plr.sector != plr.oldsector) {
daang = (short) plr.ang;
daang = plr.angle.ang.asbuild();
warpfxsprite(plr.spritenum);
warp(plr.x, plr.y, plr.z, daang, plr.sector);
viewBackupPlayerLoc(pyrn);
@ -441,7 +441,7 @@ void teleporter() {
daang = (short) warpang;
plr.sector = (short) warpsect;
warpfxsprite(plr.spritenum);
plr.ang = (int) daang;
plr.angle.settarget(daang);
justwarpedfx = 48;
spritesound(S_WARP, &sprite[plr.spritenum]);
setsprite(plr.spritenum, plr.x, plr.y, plr.z + (32 << 8));
@ -997,7 +997,7 @@ void warpfxsprite(int s) {
sprite[j].picnum = ANNIHILATE;
short daang;
if (s == plr.spritenum) {
daang = (short) plr.ang;
daang = plr.angle.ang.asbuild();
sprite[j].ang = daang;
} else {
daang = sprite[s].ang;

View file

@ -31,7 +31,7 @@ FSerializer& Serialize(FSerializer& arc, const char* key, PLAYER& sw, PLAYER* de
arc("x", sw.x)
("y", sw.y)
("z", sw.z)
("ang", sw.ang)
("angle", sw.angle)
("horizon", sw.horizon)
("height", sw.height)
("hvel", sw.hvel)
@ -58,7 +58,6 @@ FSerializer& Serialize(FSerializer& arc, const char* key, PLAYER& sw, PLAYER* de
("onsomething", sw.onsomething)
("fallz", sw.fallz)
("dead", sw.dead)
("turnaround", sw.turnAround)
("shadowtime", sw.shadowtime)
("helmettime", sw.helmettime)
("scoretime", sw.scoretime)

View file

@ -212,7 +212,7 @@ boolean prepareboard(const char* fname) {
plr.x = pos.x;
plr.y = pos.y;
plr.z = pos.z;
plr.ang = ang;
plr.angle.ang = buildang(ang);
// int ratcnt = 0;
swingcnt = 0;
@ -786,7 +786,7 @@ boolean prepareboard(const char* fname) {
sprite[plr.spritenum].shade = 0;
sprite[plr.spritenum].xrepeat = 36;
sprite[plr.spritenum].yrepeat = 36;
sprite[plr.spritenum].ang = (short) plr.ang;
sprite[plr.spritenum].ang = plr.angle.ang.asbuild();
sprite[plr.spritenum].xvel = 0;
sprite[plr.spritenum].yvel = 0;
sprite[plr.spritenum].zvel = 0;

View file

@ -26,7 +26,7 @@ void viewBackupPlayerLoc( int nPlayer )
pPLocation.x = pSprite.x;
pPLocation.y = pSprite.y;
pPLocation.z = player[nPlayer].z;
pPLocation.ang = player[nPlayer].ang;
player[nPlayer].angle.backup();
player[nPlayer].horizon.backup();
}
@ -103,7 +103,7 @@ void initplayersprite(PLAYER& plr) {
sprite[plr.spritenum].shade = 0;
sprite[plr.spritenum].xrepeat = 36;
sprite[plr.spritenum].yrepeat = 36;
sprite[plr.spritenum].ang = (short) plr.ang;
sprite[plr.spritenum].ang = plr.angle.ang.asbuild();
sprite[plr.spritenum].xvel = 0;
sprite[plr.spritenum].yvel = 0;
sprite[plr.spritenum].zvel = 0;
@ -237,13 +237,13 @@ void updateviewmap(PLAYER& plr) {
void plruse(PLAYER& plr) {
Neartag nt;
neartag(plr.x, plr.y, plr.z, (short) plr.sector, (short) plr.ang, nt, 1024, 3);
neartag(plr.x, plr.y, plr.z, (short) plr.sector, plr.angle.ang.asbuild(), nt, 1024, 3);
if (nt.tagsector >= 0) {
if (sector[nt.tagsector].hitag == 0) {
operatesector(plr, nt.tagsector);
} else {
short daang = (short) plr.ang;
short daang = plr.angle.ang.asbuild();
int daz2 = -mulscale16(plr.horizon.horiz.asq16(), 2000);
Hitscan pHitInfo;
hitscan(plr.x, plr.y, plr.z, plr.sector, // Start position
@ -581,7 +581,7 @@ void lockon(PLAYER& plr, int numshots, int shootguntype) {
}
}
daang = (short) (plr.ang - ((numshots * (128 / numshots)) >> 1));
daang = plr.angle.ang.asbuild() - ((numshots * (128 / numshots)) >> 1);
for (k = 0, s = 0; k < numshots; k++) {
if (n > 0) {
auto &spr = tspritelist[monsterlist[s]];

View file

@ -951,7 +951,7 @@ void animatetags(int nPlayer) {
// Update sprite representation of player
setsprite(plr.spritenum, plr.x, plr.y, plr.z + (plr.height));
sprite[plr.spritenum].ang = (short) plr.ang;
sprite[plr.spritenum].ang = plr.angle.ang.asbuild();
}
}