From aa6bd8ffcc11c0ae3de1dae1ab530a999dd510c9 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 25 Apr 2021 11:58:03 +0200 Subject: [PATCH] - factor in angoff when placing sprites. --- source/core/rendering/scene/hw_sprites.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/core/rendering/scene/hw_sprites.cpp b/source/core/rendering/scene/hw_sprites.cpp index 61a06e954..31ec01a47 100644 --- a/source/core/rendering/scene/hw_sprites.cpp +++ b/source/core/rendering/scene/hw_sprites.cpp @@ -443,6 +443,7 @@ void HWSprite::Process(HWDrawInfo* di, spritetype* spr, sectortype* sector, int bool HWSprite::ProcessVoxel(HWDrawInfo* di, voxmodel_t* vox, spritetype* spr, sectortype* sector, bool rotate) { sprite = spr; + auto sprext = &spriteext[spr->owner]; texture = nullptr; modelframe = -1; @@ -453,7 +454,7 @@ bool HWSprite::ProcessVoxel(HWDrawInfo* di, voxmodel_t* vox, spritetype* spr, se visibility = sectorVisibility(sector); voxel = vox; - auto ang = spr->ang; + auto ang = spr->ang + sprext->angoff; if ((spr->cstat & CSTAT_SPRITE_MDLROTATE) || rotate) { int myclock = (PlayClock << 3) + MulScale(4 << 3, (int)di->Viewpoint.TicFrac, 16); @@ -465,7 +466,6 @@ bool HWSprite::ProcessVoxel(HWDrawInfo* di, voxmodel_t* vox, spritetype* spr, se SetSpriteTranslucency(spr, alpha, RenderStyle); - auto sprext = &spriteext[spr->owner]; FVector3 scalevec = { voxel->scale, voxel->scale, voxel->scale }; FVector3 translatevec = { 0, 0, voxel->zadd * voxel->scale };