[Scummvm-git-logs] scummvm branch-2-8 -> 9ac75b0e4fcde0862e76b5d4f2cc3b7a50d8f922

antoniou79 noreply at scummvm.org
Sun Jan 14 18:42:16 UTC 2024


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:
9ac75b0e4f PEGASUS: Use quicktime workaround for movies


Commit: 9ac75b0e4fcde0862e76b5d4f2cc3b7a50d8f922
    https://github.com/scummvm/scummvm/commit/9ac75b0e4fcde0862e76b5d4f2cc3b7a50d8f922
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2024-01-14T20:41:57+02:00

Commit Message:
PEGASUS: Use quicktime workaround for movies

This is a proposed solution for bug report #14855

The workaround, enableEditListBoundsCheckQuirk(true), is applied to movies
loaded with Movie::initFromMovieFile(), which is where the problematic video file
is loaded from.
The problematic video file is under path "Images/AI/Caldoria/XAE1"

Not all files loaded from Movie::initFromMovieFile() need the workaround, but for the few I tested, it didn't seem to have side-effects on them.
This change, as of yet, does not apply the workaround to video files loaded elsewhere in the engine (ie. outside Movie::initFromMovieFile())

Changed paths:
    engines/pegasus/movie.cpp
    engines/pegasus/movie.h


diff --git a/engines/pegasus/movie.cpp b/engines/pegasus/movie.cpp
index 4ed21e6e6f5..e0aadbd353c 100644
--- a/engines/pegasus/movie.cpp
+++ b/engines/pegasus/movie.cpp
@@ -58,6 +58,7 @@ void Movie::initFromMovieFile(const Common::String &fileName, bool transparent)
 
 	releaseMovie();
 	_video = new Video::QuickTimeDecoder();
+	_video->enableEditListBoundsCheckQuirk(true);
 	if (!_video->loadFile(fileName)) {
 		// Replace any colon with an underscore, since only macOS
 		// supports that. See PegasusEngine::detectOpeningClosingDirectory()
diff --git a/engines/pegasus/movie.h b/engines/pegasus/movie.h
index 84bb0f593da..0c56853ddaf 100644
--- a/engines/pegasus/movie.h
+++ b/engines/pegasus/movie.h
@@ -29,6 +29,7 @@
 
 #include "pegasus/elements.h"
 #include "pegasus/surface.h"
+#include "video/qt_decoder.h"
 
 namespace Video {
 class VideoDecoder;
@@ -72,7 +73,7 @@ public:
 protected:
 	void updateTime() override;
 
-	Video::VideoDecoder *_video;
+	Video::QuickTimeDecoder *_video;
 	Common::Rect _movieBox;
 };
 




More information about the Scummvm-git-logs mailing list