[Scummvm-git-logs] scummvm master -> f7c61f31de4e53b5d68df1054460c5b37c7ee31a
whoozle
noreply at scummvm.org
Tue Mar 10 21:41:04 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
f7c61f31de PHOENIXVR: unlock mouse during movie playback
Commit: f7c61f31de4e53b5d68df1054460c5b37c7ee31a
https://github.com/scummvm/scummvm/commit/f7c61f31de4e53b5d68df1054460c5b37c7ee31a
Author: Vladimir Menshakov (vladimir.menshakov at gmail.com)
Date: 2026-03-10T21:40:46Z
Commit Message:
PHOENIXVR: unlock mouse during movie playback
Changed paths:
engines/phoenixvr/phoenixvr.cpp
diff --git a/engines/phoenixvr/phoenixvr.cpp b/engines/phoenixvr/phoenixvr.cpp
index a2cc6a82a8f..1140ee4ae47 100644
--- a/engines/phoenixvr/phoenixvr.cpp
+++ b/engines/phoenixvr/phoenixvr.cpp
@@ -476,51 +476,53 @@ void PhoenixVREngine::playMovie(const Common::String &movie) {
Common::ScopedPtr<Common::SeekableReadStream> stream(open(movie));
if (!stream) {
- warning("can't load movie %s", movie.c_str());
+ warning("can't open movie %s", movie.c_str());
+ return;
+ }
+ if (!dec->loadStream(stream.release())) {
+ warning("loading movie stream %s failed", movie.c_str());
return;
}
_mixer->pauseAll(true);
+ _system->lockMouse(false);
+ dec->start();
+
+ bool playing = true;
Common::ScopedPtr<Graphics::Palette> palette;
- if (dec->loadStream(stream.release())) {
- dec->start();
-
- bool playing = true;
- while (!shouldQuit() && playing && !dec->endOfVideo()) {
- Common::Event event;
- while (g_system->getEventManager()->pollEvent(event)) {
- switch (event.type) {
- case Common::EVENT_KEYDOWN: {
- if (event.kbd.ascii == ' ') {
- playing = false;
- }
- break;
+ while (!shouldQuit() && playing && !dec->endOfVideo()) {
+ Common::Event event;
+ while (g_system->getEventManager()->pollEvent(event)) {
+ switch (event.type) {
+ case Common::EVENT_KEYDOWN: {
+ if (event.kbd.ascii == ' ') {
+ playing = false;
}
+ break;
+ }
- default:
- break;
- }
+ default:
+ break;
}
- if (dec->needsUpdate()) {
- auto *s = dec->decodeNextFrame();
- if (dec->hasDirtyPalette()) {
- palette.reset(new Graphics::Palette(dec->getPalette(), 256));
- }
- if (s) {
- if (!s->format.isCLUT8() || palette)
- _screen->simpleBlitFrom(*s, Graphics::FLIP_NONE, false, 0xff, palette.get());
- }
+ }
+ if (dec->needsUpdate()) {
+ auto *s = dec->decodeNextFrame();
+ if (dec->hasDirtyPalette()) {
+ palette.reset(new Graphics::Palette(dec->getPalette(), 256));
+ }
+ if (s) {
+ if (!s->format.isCLUT8() || palette)
+ _screen->simpleBlitFrom(*s, Graphics::FLIP_NONE, false, 0xff, palette.get());
}
-
- // Delay for a bit. All events loops should have a delay
- // to prevent the system being unduly loaded
- _frameLimiter.delayBeforeSwap();
- _screen->update();
- _frameLimiter.startFrame();
}
- } else {
- warning("playMovie %s failed", movie.c_str());
+
+ // Delay for a bit. All events loops should have a delay
+ // to prevent the system being unduly loaded
+ _frameLimiter.delayBeforeSwap();
+ _screen->update();
+ _frameLimiter.startFrame();
}
+ _system->lockMouse(_vr.isVR());
_mixer->pauseAll(false);
}
More information about the Scummvm-git-logs
mailing list