mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-20 18:52:43 +00:00
- Blood: Migrate to new actor viewzoffset
property (sort of).
* The way this game does it player Z in a distinct variable needs to be maintained as it's impossible to maintain proper Z velocities when trying to do without it.
This commit is contained in:
parent
13be5f7923
commit
397acfa242
3 changed files with 7 additions and 2 deletions
|
@ -457,6 +457,10 @@ void GameInterface::Ticker()
|
|||
}
|
||||
thinktime.Unclock();
|
||||
|
||||
// update console player's viewzoffset at the end of the tic.
|
||||
pPlayer->actor->oviewzoffset = pPlayer->actor->viewzoffset;
|
||||
pPlayer->actor->viewzoffset = pPlayer->zView - pPlayer->actor->spr.pos.Z;
|
||||
|
||||
gFrameCount++;
|
||||
PlayClock += kTicsPerFrame;
|
||||
if (PlayClock == 8) gameaction = ga_autosave; // let the game run for 1 frame before saving.
|
||||
|
|
|
@ -715,6 +715,7 @@ void playerResetInertia(PLAYER* pPlayer)
|
|||
POSTURE* pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture];
|
||||
pPlayer->zView = pPlayer->actor->spr.pos.Z - pPosture->eyeAboveZ;
|
||||
pPlayer->zWeapon = pPlayer->actor->spr.pos.Z - pPosture->weaponAboveZ;
|
||||
pPlayer->actor->oviewzoffset = pPlayer->actor->viewzoffset = pPlayer->zView - pPlayer->actor->spr.pos.Z;
|
||||
viewBackupView(pPlayer->nPlayer);
|
||||
}
|
||||
|
||||
|
@ -725,6 +726,7 @@ void playerCorrectInertia(PLAYER* pPlayer, const DVector3& oldpos)
|
|||
pPlayer->zWeapon += zAdj;
|
||||
pPlayer->actor->opos.XY() += pPlayer->actor->spr.pos.XY() - oldpos.XY();
|
||||
pPlayer->ozView += zAdj;
|
||||
pPlayer->actor->opos.Z += zAdj;
|
||||
}
|
||||
|
||||
void playerResetPowerUps(PLAYER* pPlayer)
|
||||
|
|
|
@ -492,8 +492,7 @@ static void SetupView(PLAYER* pPlayer, DVector3& cPos, DAngle& cA, DAngle& cH, s
|
|||
else
|
||||
#endif
|
||||
{
|
||||
cPos.XY() = pPlayer->actor->interpolatedpos(interpfrac).XY();
|
||||
cPos.Z = interpolatedvalue(pPlayer->ozView, pPlayer->zView, interpfrac);
|
||||
cPos = pPlayer->actor->getRenderPos(interpfrac);
|
||||
zDelta = interpolatedvalue(pPlayer->ozWeapon, pPlayer->zWeapon - pPlayer->zView - 12, interpfrac);
|
||||
bobWidth = interpolatedvalue(pPlayer->obobWidth, pPlayer->bobWidth, interpfrac);
|
||||
bobHeight = interpolatedvalue(pPlayer->obobHeight, pPlayer->bobHeight, interpfrac);
|
||||
|
|
Loading…
Reference in a new issue