[Scummvm-git-logs] scummvm master -> b6692ac7831a9475fd23f104145254d8dd507c27
sluicebox
22204938+sluicebox at users.noreply.github.com
Sun Dec 1 23:11:44 UTC 2019
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
01772497b7 SCI32: Create stubs for kPlayVMD blob subops
b6692ac783 SCI32: Fix kPlayVMDPlayUntilEvent when passed zero
Commit: 01772497b7762ac2cf8949ca7904112b7fc25206
https://github.com/scummvm/scummvm/commit/01772497b7762ac2cf8949ca7904112b7fc25206
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-12-01T15:09:48-08:00
Commit Message:
SCI32: Create stubs for kPlayVMD blob subops
Prevents Phantasmagoria 1 from crashing while in censored mode.
The "blob" subops pixelate rectangles during playback and are
currently being implemented.
Changed paths:
engines/sci/engine/kernel_tables.h
diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index 49a5168..77b442e 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -468,8 +468,11 @@ static const SciKernelMapSubEntry kPlayVMD_subops[] = {
{ SIG_SINCE_SCI21, 10, MAP_CALL(PlayVMDGetStatus), "", NULL },
{ SIG_SINCE_SCI21, 14, MAP_CALL(PlayVMDPlayUntilEvent), "i(i)(i)", NULL },
{ SIG_SINCE_SCI21, 16, MAP_CALL(PlayVMDShowCursor), "i", NULL },
- { SIG_SINCE_SCI21, 17, MAP_DUMMY(PlayVMDStartBlob), "", NULL },
- { SIG_SINCE_SCI21, 18, MAP_DUMMY(PlayVMDStopBlobs), "", NULL },
+ // TODO: implement blob subops to pixelate Phant1 videos when censored mode is enabled
+ { SIG_SINCE_SCI21, 17, MAP_EMPTY(PlayVMDStartBlob), "", NULL },
+ { SIG_SINCE_SCI21, 18, MAP_EMPTY(PlayVMDStopBlobs), "", NULL },
+ { SIG_SINCE_SCI21, 19, MAP_EMPTY(PlayVMDAddBlob), "iiiii", NULL },
+ { SIG_SINCE_SCI21, 20, MAP_EMPTY(PlayVMDDeleteBlob), "i", NULL },
{ SIG_SINCE_SCI21, 21, MAP_CALL(PlayVMDSetBlackoutArea), "iiii", NULL },
{ SIG_SINCE_SCI21, 23, MAP_CALL(PlayVMDRestrictPalette), "ii", NULL },
{ SIG_SCI3, 27, MAP_CALL(PlayVMDSetPlane), "i(i)", NULL },
Commit: b6692ac7831a9475fd23f104145254d8dd507c27
https://github.com/scummvm/scummvm/commit/b6692ac7831a9475fd23f104145254d8dd507c27
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-12-01T15:09:57-08:00
Commit Message:
SCI32: Fix kPlayVMDPlayUntilEvent when passed zero
Fixes VMD playback in Phantasmagoria 1 while in censored mode.
kPlayVMDPlayUntilEvent is supposed to play until the last frame
when passed zero as the frame number to wait for.
Changed paths:
engines/sci/graphics/video32.cpp
diff --git a/engines/sci/graphics/video32.cpp b/engines/sci/graphics/video32.cpp
index 0efb257..e6e594b 100644
--- a/engines/sci/graphics/video32.cpp
+++ b/engines/sci/graphics/video32.cpp
@@ -671,7 +671,7 @@ VMDPlayer::EventFlags VMDPlayer::kernelPlayUntilEvent(const EventFlags flags, co
const int32 maxFrameNo = _decoder->getFrameCount() - 1;
- if (flags & kEventFlagToFrame) {
+ if ((flags & kEventFlagToFrame) && lastFrameNo) {
_yieldFrame = MIN<int32>(lastFrameNo, maxFrameNo);
} else {
_yieldFrame = maxFrameNo;
More information about the Scummvm-git-logs
mailing list