aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/script_v90he.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-05-08 10:21:17 +0000
committerTravis Howell2006-05-08 10:21:17 +0000
commit3830ac06b367b920ca012c5c734e1bc32fcbcd73 (patch)
tree866ba1aeeb7439b76399fc8a3f3277cedc07bd44 /engines/scumm/he/script_v90he.cpp
parentcf42a24833791ed2e8c4bd16bc67f35e9ea36960 (diff)
downloadscummvm-rg350-3830ac06b367b920ca012c5c734e1bc32fcbcd73.tar.gz
scummvm-rg350-3830ac06b367b920ca012c5c734e1bc32fcbcd73.tar.bz2
scummvm-rg350-3830ac06b367b920ca012c5c734e1bc32fcbcd73.zip
Add initial DXA support for HE games
svn-id: r22384
Diffstat (limited to 'engines/scumm/he/script_v90he.cpp')
-rw-r--r--engines/scumm/he/script_v90he.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/engines/scumm/he/script_v90he.cpp b/engines/scumm/he/script_v90he.cpp
index e0e023585c..fc00579919 100644
--- a/engines/scumm/he/script_v90he.cpp
+++ b/engines/scumm/he/script_v90he.cpp
@@ -25,6 +25,7 @@
#include "scumm/actor.h"
#include "scumm/charset.h"
+#include "scumm/he/animation_he.h"
#include "scumm/he/intern_he.h"
#include "scumm/he/logic_he.h"
#include "scumm/object.h"
@@ -515,6 +516,7 @@ void ScummEngine_v90he::o90_videoOps() {
int status = fetchScriptByte();
int subOp = status - 49;
+ debug(0, "o90_videoOps stub (%d)", subOp);
switch (subOp) {
case 0:
copyScriptString(_videoParams.filename, sizeof(_videoParams.filename));
@@ -542,21 +544,20 @@ void ScummEngine_v90he::o90_videoOps() {
_videoParams.flags = 4;
if (_videoParams.flags == 2) {
- // result = startVideo(_videoParams.filename, _videoParams.flags, _videoParams.wizResNum);
- // VAR(119) = result;
+ int result = _moviePlay->load((const char *)_videoParams.filename, _videoParams.flags, _videoParams.wizResNum);
+ VAR(119) = result;
} else {
- // result = startVideo(_videoParams.filename, _videoParams.flags);
- // VAR(119) = result;
+ int result = _moviePlay->load((const char *)_videoParams.filename, _videoParams.flags);
+ VAR(119) = result;
}
} else if (_videoParams.status == 165) {
// Stop video
+ _moviePlay->close();
}
break;
default:
error("o90_videoOps: unhandled case %d", subOp);
}
-
- debug(1, "o90_videoOps stub (%d)", subOp);
}
void ScummEngine_v90he::o90_getVideoData() {
@@ -564,32 +565,36 @@ void ScummEngine_v90he::o90_getVideoData() {
byte subOp = fetchScriptByte();
subOp -= 32;
+ debug(0, "o90_getVideoData stub (%d)", subOp);
switch (subOp) {
case 0: // Get width
pop();
+ push(_moviePlay->getWidth());
break;
case 1: // Get height
pop();
+ push(_moviePlay->getHeight());
break;
case 4: // Get frame count
pop();
+ push(_moviePlay->getFrameCount());
break;
case 20: // Get current frame
pop();
+ push(_moviePlay->getCurFrame());
break;
case 31: // Get image number
pop();
+ push(_moviePlay->getImageNum());
break;
case 107: // Get statistics
pop();
pop();
+ push(0);
break;
default:
error("o90_getVideoData: unhandled case %d", subOp);
}
-
- push(-1);
- debug(1, "o90_getVideoData stub (%d)", subOp);
}
void ScummEngine_v90he::o90_wizImageOps() {