[Scummvm-cvs-logs] SF.net SVN: scummvm:[40064] scummvm/branches/branch-0-13-0/engines/agos
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Wed Apr 22 12:33:18 CEST 2009
Revision: 40064
http://scummvm.svn.sourceforge.net/scummvm/?rev=40064&view=rev
Author: Kirben
Date: 2009-04-22 10:33:18 +0000 (Wed, 22 Apr 2009)
Log Message:
-----------
Fix crash that occurs when OmniTV video is played completely, in The Feeble Files.
Modified Paths:
--------------
scummvm/branches/branch-0-13-0/engines/agos/agos.cpp
scummvm/branches/branch-0-13-0/engines/agos/agos.h
scummvm/branches/branch-0-13-0/engines/agos/animation.cpp
scummvm/branches/branch-0-13-0/engines/agos/event.cpp
scummvm/branches/branch-0-13-0/engines/agos/script_ff.cpp
Modified: scummvm/branches/branch-0-13-0/engines/agos/agos.cpp
===================================================================
--- scummvm/branches/branch-0-13-0/engines/agos/agos.cpp 2009-04-22 10:19:10 UTC (rev 40063)
+++ scummvm/branches/branch-0-13-0/engines/agos/agos.cpp 2009-04-22 10:33:18 UTC (rev 40064)
@@ -175,6 +175,7 @@
_lastVgaTick = 0;
_marks = 0;
+ _omniTV = false;
_scriptVar2 = 0;
_runScriptReturn1 = 0;
Modified: scummvm/branches/branch-0-13-0/engines/agos/agos.h
===================================================================
--- scummvm/branches/branch-0-13-0/engines/agos/agos.h 2009-04-22 10:19:10 UTC (rev 40063)
+++ scummvm/branches/branch-0-13-0/engines/agos/agos.h 2009-04-22 10:33:18 UTC (rev 40064)
@@ -276,6 +276,7 @@
uint32 _lastVgaTick;
uint16 _marks;
+ bool _omniTV;
bool _scriptVar2;
bool _runScriptReturn1;
Modified: scummvm/branches/branch-0-13-0/engines/agos/animation.cpp
===================================================================
--- scummvm/branches/branch-0-13-0/engines/agos/animation.cpp 2009-04-22 10:19:10 UTC (rev 40063)
+++ scummvm/branches/branch-0-13-0/engines/agos/animation.cpp 2009-04-22 10:33:18 UTC (rev 40064)
@@ -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/branches/branch-0-13-0/engines/agos/event.cpp
===================================================================
--- scummvm/branches/branch-0-13-0/engines/agos/event.cpp 2009-04-22 10:19:10 UTC (rev 40063)
+++ scummvm/branches/branch-0-13-0/engines/agos/event.cpp 2009-04-22 10:33:18 UTC (rev 40064)
@@ -580,9 +580,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/branches/branch-0-13-0/engines/agos/script_ff.cpp
===================================================================
--- scummvm/branches/branch-0-13-0/engines/agos/script_ff.cpp 2009-04-22 10:19:10 UTC (rev 40063)
+++ scummvm/branches/branch-0-13-0/engines/agos/script_ff.cpp 2009-04-22 10:33:18 UTC (rev 40064)
@@ -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