diff options
author | Eugene Sandulenko | 2017-02-24 19:16:22 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-02-24 19:16:22 +0100 |
commit | 5eb38c5d1c162cc894e57959882f268970353afe (patch) | |
tree | 660e84198306be34e2c93d0f984724658e34efee /engines | |
parent | 99f976e3aeb2879d9fbe7efe30b1f2a9a52a535b (diff) | |
download | scummvm-rg350-5eb38c5d1c162cc894e57959882f268970353afe.tar.gz scummvm-rg350-5eb38c5d1c162cc894e57959882f268970353afe.tar.bz2 scummvm-rg350-5eb38c5d1c162cc894e57959882f268970353afe.zip |
DIRECTOR: Lingo: Initial code for func_playdone()
Diffstat (limited to 'engines')
-rw-r--r-- | engines/director/lingo/lingo-code.cpp | 2 | ||||
-rw-r--r-- | engines/director/lingo/lingo-funcs.cpp | 15 | ||||
-rw-r--r-- | engines/director/lingo/lingo.h | 1 |
3 files changed, 17 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp index d2cdfb2d07..b7fc484d91 100644 --- a/engines/director/lingo/lingo-code.cpp +++ b/engines/director/lingo/lingo-code.cpp @@ -1007,7 +1007,7 @@ void Lingo::c_play() { } void Lingo::c_playdone() { - warning("STUB: c_playdone()"); + g_lingo->func_playdone(); } void Lingo::c_call() { diff --git a/engines/director/lingo/lingo-funcs.cpp b/engines/director/lingo/lingo-funcs.cpp index 9232bd1a52..58800f226d 100644 --- a/engines/director/lingo/lingo-funcs.cpp +++ b/engines/director/lingo/lingo-funcs.cpp @@ -286,6 +286,21 @@ void Lingo::func_play(Datum &frame, Datum &movie) { func_goto(frame, movie); } +void Lingo::func_playdone() { + MovieReference ref = _vm->_movieStack.back(); + + _vm->_movieStack.pop_back(); + + Datum m, f; + + warning("STUB: func_playdone()"); + m.type = VOID; + f.type = INT; + f.u.i = ref.frameI; + + func_goto(f, m); +} + void Lingo::func_cursor(int c) { if (_cursorOnStack) { // pop cursor diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h index 6170acfdaf..516e91c6ed 100644 --- a/engines/director/lingo/lingo.h +++ b/engines/director/lingo/lingo.h @@ -499,6 +499,7 @@ public: void func_gotonext(); void func_gotoprevious(); void func_play(Datum &frame, Datum &movie); + void func_playdone(); void func_cursor(int c); int func_marker(int m); |