mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 11:10:47 +00:00
Interpolate eye level
This commit is contained in:
parent
590a165e16
commit
aff6ef67c0
3 changed files with 7 additions and 5 deletions
|
@ -109,7 +109,7 @@ short nPlayerViewSect[kMaxPlayers];
|
||||||
short nPlayerFloorSprite[kMaxPlayers];
|
short nPlayerFloorSprite[kMaxPlayers];
|
||||||
PlayerSave sPlayerSave[kMaxPlayers];
|
PlayerSave sPlayerSave[kMaxPlayers];
|
||||||
int totalvel[kMaxPlayers] = { 0 };
|
int totalvel[kMaxPlayers] = { 0 };
|
||||||
int16_t eyelevel[kMaxPlayers];
|
int16_t eyelevel[kMaxPlayers], oeyelevel[kMaxPlayers];
|
||||||
short nNetStartSprite[kMaxPlayers] = { 0 };
|
short nNetStartSprite[kMaxPlayers] = { 0 };
|
||||||
|
|
||||||
short nStandHeight;
|
short nStandHeight;
|
||||||
|
@ -770,7 +770,7 @@ void RestartPlayer(short nPlayer)
|
||||||
}
|
}
|
||||||
|
|
||||||
nPlayerGrenade[nPlayer] = -1;
|
nPlayerGrenade[nPlayer] = -1;
|
||||||
eyelevel[nPlayer] = -14080;
|
oeyelevel[nPlayer] = eyelevel[nPlayer] = -14080;
|
||||||
dVertPan[nPlayer] = 0;
|
dVertPan[nPlayer] = 0;
|
||||||
|
|
||||||
nTemperature[nPlayer] = 0;
|
nTemperature[nPlayer] = 0;
|
||||||
|
@ -881,7 +881,7 @@ void StartDeathSeq(int nPlayer, int nVal)
|
||||||
StopFiringWeapon(nPlayer);
|
StopFiringWeapon(nPlayer);
|
||||||
|
|
||||||
PlayerList[nPlayer].q16ohoriz = PlayerList[nPlayer].q16horiz = nVertPan[nPlayer] = F16(92);
|
PlayerList[nPlayer].q16ohoriz = PlayerList[nPlayer].q16horiz = nVertPan[nPlayer] = F16(92);
|
||||||
eyelevel[nPlayer] = -14080;
|
oeyelevel[nPlayer] = eyelevel[nPlayer] = -14080;
|
||||||
nPlayerInvisible[nPlayer] = 0;
|
nPlayerInvisible[nPlayer] = 0;
|
||||||
dVertPan[nPlayer] = 15;
|
dVertPan[nPlayer] = 15;
|
||||||
|
|
||||||
|
@ -1050,6 +1050,7 @@ void FuncPlayer(int pA, int nDamage, int nRun)
|
||||||
PlayerList[nPlayer].opos = sprite[nPlayerSprite].pos;
|
PlayerList[nPlayer].opos = sprite[nPlayerSprite].pos;
|
||||||
PlayerList[nPlayer].q16oangle = PlayerList[nPlayer].q16angle;
|
PlayerList[nPlayer].q16oangle = PlayerList[nPlayer].q16angle;
|
||||||
PlayerList[nPlayer].q16ohoriz = PlayerList[nPlayer].q16horiz;
|
PlayerList[nPlayer].q16ohoriz = PlayerList[nPlayer].q16horiz;
|
||||||
|
oeyelevel[nPlayer] = eyelevel[nPlayer];
|
||||||
|
|
||||||
switch (nMessage)
|
switch (nMessage)
|
||||||
{
|
{
|
||||||
|
|
|
@ -89,7 +89,7 @@ extern short nPlayerClip[];
|
||||||
extern short bobangle;
|
extern short bobangle;
|
||||||
|
|
||||||
extern int totalvel[];
|
extern int totalvel[];
|
||||||
extern short eyelevel[];
|
extern int16_t eyelevel[], oeyelevel[];
|
||||||
|
|
||||||
extern short nNetStartSprite[kMaxPlayers];
|
extern short nNetStartSprite[kMaxPlayers];
|
||||||
extern short nNetStartSprites;
|
extern short nNetStartSprites;
|
||||||
|
|
|
@ -406,7 +406,8 @@ void DrawView(int smoothRatio)
|
||||||
{
|
{
|
||||||
playerX = interpolate16(PlayerList[nLocalPlayer].opos.x, sprite[nPlayerSprite].x, smoothRatio);
|
playerX = interpolate16(PlayerList[nLocalPlayer].opos.x, sprite[nPlayerSprite].x, smoothRatio);
|
||||||
playerY = interpolate16(PlayerList[nLocalPlayer].opos.y, sprite[nPlayerSprite].y, smoothRatio);
|
playerY = interpolate16(PlayerList[nLocalPlayer].opos.y, sprite[nPlayerSprite].y, smoothRatio);
|
||||||
playerZ = interpolate16(PlayerList[nLocalPlayer].opos.z, sprite[nPlayerSprite].z, smoothRatio) + eyelevel[nLocalPlayer];
|
playerZ = interpolate16(PlayerList[nLocalPlayer].opos.z, sprite[nPlayerSprite].z, smoothRatio)
|
||||||
|
+ interpolate16(oeyelevel[nLocalPlayer], eyelevel[nLocalPlayer], smoothRatio);
|
||||||
nSector = nPlayerViewSect[nLocalPlayer];
|
nSector = nPlayerViewSect[nLocalPlayer];
|
||||||
nAngle = q16angle_interpolate16(PlayerList[nLocalPlayer].q16oangle, PlayerList[nLocalPlayer].q16angle, smoothRatio);
|
nAngle = q16angle_interpolate16(PlayerList[nLocalPlayer].q16oangle, PlayerList[nLocalPlayer].q16angle, smoothRatio);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue