mirror of
https://github.com/ZDoom/Raze.git
synced 2025-05-31 17:31:00 +00:00
SW: Use Q16.16 for angle.
This commit is contained in:
parent
f07a0ae01e
commit
1ecc74c2ec
20 changed files with 229 additions and 229 deletions
|
@ -437,13 +437,13 @@ void computergetinput(int snum, SW_PACKET *syn)
|
|||
myx = p->posx;
|
||||
myy = p->posy;
|
||||
myz = p->posz;
|
||||
myang = p->pang;
|
||||
myang = fix16_to_int(p->q16ang);
|
||||
mycursectnum = p->cursectnum;
|
||||
|
||||
// Reset input bits
|
||||
syn->vel = 0;
|
||||
syn->svel = 0;
|
||||
syn->angvel = 0;
|
||||
syn->q16avel = 0;
|
||||
syn->q16horz = 0;
|
||||
syn->bits = 0;
|
||||
|
||||
|
@ -451,7 +451,7 @@ void computergetinput(int snum, SW_PACKET *syn)
|
|||
y1 = p->posy;
|
||||
z1 = p->posz;
|
||||
|
||||
damyang = p->pang;
|
||||
damyang = fix16_to_int(p->q16ang);
|
||||
damysect = sprite[p->PlayerSprite].sectnum;
|
||||
if ((numplayers >= 2) && (snum == myconnectindex))
|
||||
{ x1 = myx; y1 = myy; z1 = myz+PLAYER_HEIGHT; damyang = myang; damysect = mycursectnum; }
|
||||
|
@ -648,9 +648,9 @@ void computergetinput(int snum, SW_PACKET *syn)
|
|||
daang = NORM_ANGLE((daang-64) + STD_RANDOM_RANGE(128));
|
||||
|
||||
// Below formula fails in certain cases
|
||||
//syn->angvel = min(max((((daang+1024-damyang)&2047)-1024)>>1,-MAXANGVEL),MAXANGVEL); //was 127
|
||||
p->pang = daang;
|
||||
syn->q16horz = min(max((zang-fix16_to_int(p->q16horiz))>>1,-PLAYER_HORIZ_MAX),PLAYER_HORIZ_MAX);
|
||||
//syn->q16avel = fix16_from_int(min(max((((daang+1024-damyang)&2047)-1024)>>1,-MAXANGVEL),MAXANGVEL)); //was 127
|
||||
p->q16ang = fix16_from_int(daang);
|
||||
syn->q16horz = fix16_from_int(min(max((zang-fix16_to_int(p->q16horiz))>>1,-PLAYER_HORIZ_MAX),PLAYER_HORIZ_MAX));
|
||||
// Sets type of aiming, auto aim for bots
|
||||
syn->bits |= (1<<SK_AUTO_AIM);
|
||||
return;
|
||||
|
@ -806,7 +806,7 @@ void computergetinput(int snum, SW_PACKET *syn)
|
|||
daang = getangle(x2-x1,y2-y1);
|
||||
syn->vel += (x2-x1)*2047/dist;
|
||||
syn->svel += (y2-y1)*2047/dist;
|
||||
syn->angvel = min(max((((daang+1024-damyang)&2047)-1024)>>3,-MAXANGVEL),MAXANGVEL);
|
||||
syn->q16avel = fix16_from_int(min(max((((daang+1024-damyang)&2047)-1024)>>3,-MAXANGVEL),MAXANGVEL));
|
||||
}
|
||||
else
|
||||
goalsprite[snum] = -1;
|
||||
|
@ -869,7 +869,7 @@ void computergetinput(int snum, SW_PACKET *syn)
|
|||
daang = ((getangle(wall[wall[goalwall[snum]].point2].x-wall[goalwall[snum]].x,wall[wall[goalwall[snum]].point2].y-wall[goalwall[snum]].y)+1536)&2047);
|
||||
syn->vel += (x2-x1)*2047/dist;
|
||||
syn->svel += (y2-y1)*2047/dist;
|
||||
syn->angvel = min(max((((daang+1024-damyang)&2047)-1024)>>3,-MAXANGVEL),MAXANGVEL);
|
||||
syn->q16avel = fix16_from_int(min(max((((daang+1024-damyang)&2047)-1024)>>3,-MAXANGVEL),MAXANGVEL));
|
||||
}
|
||||
|
||||
|
||||
|
@ -890,7 +890,7 @@ void computergetinput(int snum, SW_PACKET *syn)
|
|||
daang = ((getangle(wall[wall[goalwall[snum]].point2].x-wall[goalwall[snum]].x,wall[wall[goalwall[snum]].point2].y-wall[goalwall[snum]].y)+1536)&2047);
|
||||
syn->vel += (x2-x1)*2047/dist;
|
||||
syn->svel += (y2-y1)*2047/dist;
|
||||
syn->angvel = min(max((((daang+1024-damyang)&2047)-1024)>>3,-MAXANGVEL),MAXANGVEL);
|
||||
syn->q16avel = fix16_from_int(min(max((((daang+1024-damyang)&2047)-1024)>>3,-MAXANGVEL),MAXANGVEL));
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue