aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-funcs.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-11 09:34:56 +0100
committerEugene Sandulenko2017-02-11 09:34:56 +0100
commit4e5952c7748e4540b7e563183b143ec506eacb00 (patch)
tree9cc4116f25ddc9a0e75ae9045a9d6678975dd0d1 /engines/director/lingo/lingo-funcs.cpp
parent500b8bbd93034cff2bcfd4cf8c8a9f32f272d07d (diff)
downloadscummvm-rg350-4e5952c7748e4540b7e563183b143ec506eacb00.tar.gz
scummvm-rg350-4e5952c7748e4540b7e563183b143ec506eacb00.tar.bz2
scummvm-rg350-4e5952c7748e4540b7e563183b143ec506eacb00.zip
DIRECTOR: Lingo: Probe movies in Mac Resource Forks in 'go to movie'
Currently, 'Gravity Ball' movie is launched every now and then in The Apartment 3.0 due to some bug in hadlers call sequence. Thus, rename it for the time being.
Diffstat (limited to 'engines/director/lingo/lingo-funcs.cpp')
-rw-r--r--engines/director/lingo/lingo-funcs.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp
index a6dc3f0c5e..4bd85905c9 100644
--- a/engines/director/lingo/lingo-funcs.cpp
+++ b/engines/director/lingo/lingo-funcs.cpp
@@ -20,13 +20,16 @@
*
*/
-#include "director/lingo/lingo.h"
-#include "common/file.h"
#include "audio/decoders/wave.h"
+#include "common/file.h"
+#include "common/macresman.h"
#include "common/util.h"
+
+#include "graphics/macgui/macwindowmanager.h"
+
+#include "director/lingo/lingo.h"
#include "director/lingo/lingo-gr.h"
#include "director/sound.h"
-#include "graphics/macgui/macwindowmanager.h"
namespace Director {
@@ -180,8 +183,16 @@ void Lingo::func_goto(Datum &frame, Datum &movie) {
Common::File file;
if (!file.open(*movie.u.s)) {
- warning("Movie %s does not exist", movie.u.s->c_str());
- return;
+ if (_vm->getPlatform() == Common::kPlatformMacintosh) {
+ Common::MacResManager resMan;
+ if (!resMan.open(*movie.u.s)) {
+ warning("Movie %s does not exist", movie.u.s->c_str());
+ return;
+ }
+ } else {
+ warning("Movie %s does not exist", movie.u.s->c_str());
+ return;
+ }
}
_vm->_nextMovie = *movie.u.s;