[Scummvm-cvs-logs] SF.net SVN: scummvm:[40063] scummvm/trunk/engines/agos
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Wed Apr 22 12:19:10 CEST 2009
Revision: 40063
http://scummvm.svn.sourceforge.net/scummvm/?rev=40063&view=rev
Author: Kirben
Date: 2009-04-22 10:19:10 +0000 (Wed, 22 Apr 2009)
Log Message:
-----------
Fix crash that occurs when OmniTV video is played completely, in The Feeble Files.
Modified Paths:
--------------
scummvm/trunk/engines/agos/agos.cpp
scummvm/trunk/engines/agos/agos.h
scummvm/trunk/engines/agos/animation.cpp
scummvm/trunk/engines/agos/event.cpp
scummvm/trunk/engines/agos/script_ff.cpp
Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp 2009-04-22 03:46:49 UTC (rev 40062)
+++ scummvm/trunk/engines/agos/agos.cpp 2009-04-22 10:19:10 UTC (rev 40063)
@@ -200,6 +200,7 @@
_lastVgaTick = 0;
_marks = 0;
+ _omniTV = false;
_scanFlag = false;
_scriptVar2 = 0;
Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h 2009-04-22 03:46:49 UTC (rev 40062)
+++ scummvm/trunk/engines/agos/agos.h 2009-04-22 10:19:10 UTC (rev 40063)
@@ -290,6 +290,7 @@
uint32 _lastVgaTick;
uint16 _marks;
+ bool _omniTV;
bool _scanFlag;
bool _scriptVar2;
Modified: scummvm/trunk/engines/agos/animation.cpp
===================================================================
--- scummvm/trunk/engines/agos/animation.cpp 2009-04-22 03:46:49 UTC (rev 40062)
+++ scummvm/trunk/engines/agos/animation.cpp 2009-04-22 10:19:10 UTC (rev 40063)
@@ -324,6 +324,7 @@
copyFrameToBuffer(_vm->getBackBuf(), 465, 222, _vm->_screenWidth);
} else {
closeFile();
+ _vm->_omniTV = false;
_vm->_variableArray[254] = 6747;
}
}
@@ -431,11 +432,6 @@
}
void MoviePlayerSMK::nextFrame() {
- if (_vm->getBitFlag(42)) {
- closeFile();
- return;
- }
-
if (getCurFrame() < getFrameCount()) {
decodeNextFrame();
copyFrameToBuffer(_vm->getBackBuf(), 465, 222, _vm->_screenWidth);
Modified: scummvm/trunk/engines/agos/event.cpp
===================================================================
--- scummvm/trunk/engines/agos/event.cpp 2009-04-22 03:46:49 UTC (rev 40062)
+++ scummvm/trunk/engines/agos/event.cpp 2009-04-22 10:19:10 UTC (rev 40063)
@@ -583,9 +583,10 @@
}
}
- if (getGameType() == GType_FF && _moviePlayer) {
+ if (getGameType() == GType_FF && _omniTV) {
// Controls Omni TV videos
if (getBitFlag(42)) {
+ _omniTV = false;
_moviePlayer->stopVideo();
delete _moviePlayer;
_moviePlayer = NULL;
Modified: scummvm/trunk/engines/agos/script_ff.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_ff.cpp 2009-04-22 03:46:49 UTC (rev 40062)
+++ scummvm/trunk/engines/agos/script_ff.cpp 2009-04-22 10:19:10 UTC (rev 40063)
@@ -574,6 +574,8 @@
if (getBitFlag(40)) {
// Omni TV controls
if (_moviePlayer) {
+ setBitFlag(42, false);
+ _omniTV = true;
_moviePlayer->play();
} else {
_variableArray[254] = 6747;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list