- Fixed: Roll must orient the rotation based on pitch, not the other way around.

This commit is contained in:
MajorCooke 2016-05-02 10:46:44 -05:00
parent 9ec3093a34
commit 16bea6cf1f

View file

@ -329,11 +329,11 @@ void GLSprite::Draw(int pass)
{ {
float pitchDegrees = actor->Angles.Pitch.Degrees; float pitchDegrees = actor->Angles.Pitch.Degrees;
mat.Rotate(0, 1, 0, 0); mat.Rotate(0, 1, 0, 0);
mat.Rotate(-yawvecY, 0, yawvecX, pitchDegrees);
if (drawRollSpriteActor) if (drawRollSpriteActor)
{ {
mat.Rotate(yawvecX, 0, yawvecY, rollDegrees); mat.Rotate(yawvecX, 0, yawvecY, rollDegrees);
} }
mat.Rotate(-yawvecY, 0, yawvecX, pitchDegrees);
} }
// [fgsfds] Rotate the sprite about the sight vector (roll) // [fgsfds] Rotate the sprite about the sight vector (roll)
else if (spritetype == RF_WALLSPRITE) else if (spritetype == RF_WALLSPRITE)