diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/zvision/scripting/sidefx/animation_node.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/zvision/scripting/sidefx/animation_node.cpp b/engines/zvision/scripting/sidefx/animation_node.cpp index 549aacba7f..74e4cadbe9 100644 --- a/engines/zvision/scripting/sidefx/animation_node.cpp +++ b/engines/zvision/scripting/sidefx/animation_node.cpp @@ -117,7 +117,11 @@ bool AnimationNode::process(uint32 deltaTimeInMillis) { dsth = nod->pos.height(); } - if (frame->w != dstw || frame->h != dsth) { + // We only scale down the animation to fit its frame, not up, otherwise we + // end up with distorted animations - e.g. the armor visor in location cz1e + // in Nemesis (one of the armors inside Irondune), or the planet in location + // aa10 in Nemesis (Juperon, outside the asylum). + if (frame->w > dstw || frame->h > dsth) { if (nod->_scaled) if (nod->_scaled->w != dstw || nod->_scaled->h != dsth) { delete nod->_scaled; |