[Scummvm-git-logs] scummvm master -> d32b518837baba95afb071150323fad27943e3b6

sev- noreply at scummvm.org
Mon Nov 13 19:19:23 UTC 2023


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d32b518837 DIRECTOR: Fix filmloop loading for non-bitmap sprites


Commit: d32b518837baba95afb071150323fad27943e3b6
    https://github.com/scummvm/scummvm/commit/d32b518837baba95afb071150323fad27943e3b6
Author: Kartik Sharma (77577353+kartiksharmakk at users.noreply.github.com)
Date: 2023-11-13T20:19:20+01:00

Commit Message:
DIRECTOR: Fix filmloop loading for non-bitmap sprites

This fixes a graphics glitch in the sonic cemetery scene of Total Distortion.
The filmloop was producing extra bounding boxes that led to white artifacts being drawn.

In some cases, particularly in Total Distortion, there could be kInactiveSprite type sprites.
We have to skip processing them to avoid the issue.

To reproduce the issue, run:
./scummvm --start-movie="ATD/HD/NJSONIC.DXR"@300 totaldistortion-win

Changed paths:
    engines/director/castmember/filmloop.cpp


diff --git a/engines/director/castmember/filmloop.cpp b/engines/director/castmember/filmloop.cpp
index beae040d83f..71d0452f9ab 100644
--- a/engines/director/castmember/filmloop.cpp
+++ b/engines/director/castmember/filmloop.cpp
@@ -271,7 +271,12 @@ void FilmLoopCastMember::loadFilmLoopDataD4(Common::SeekableReadStreamEndian &st
 				Sprite sprite(nullptr);
 				sprite._movie = g_director->getCurrentMovie();
 				if (newFrame.sprites.contains(channel)) {
-					sprite = newFrame.sprites.getVal(channel);
+					// In some cases, particularly in Total Distortion, there could be sprites of type kInactiveSprite.
+					// We need to skip processing them to avoid issues.
+					
+					if (newFrame.sprites.getVal(channel)._spriteType == kBitmapSprite) {
+						sprite = newFrame.sprites.getVal(channel);
+					}
 				}
 
 				sprite._puppet = 1;




More information about the Scummvm-git-logs mailing list