aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2002-12-23 19:15:51 +0000
committerMax Horn2002-12-23 19:15:51 +0000
commit4524d870f3feb8c998c7128729b431c1ed565355 (patch)
treee833dd1f92f1d0a5fc0f16376368ec185c39ece9
parent35f4a427035380341fd33d2211742b4fc3198f2c (diff)
downloadscummvm-rg350-4524d870f3feb8c998c7128729b431c1ed565355.tar.gz
scummvm-rg350-4524d870f3feb8c998c7128729b431c1ed565355.tar.bz2
scummvm-rg350-4524d870f3feb8c998c7128729b431c1ed565355.zip
and more V8...
svn-id: r6080
-rw-r--r--scumm/script_v8.cpp37
1 files changed, 36 insertions, 1 deletions
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index f3a22117e5..871d67e0cf 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -23,6 +23,7 @@
#include "scumm.h"
#include "intern.h"
#include "sound.h"
+#include "verbs.h"
/*
* NO, we do NOT support CMI yet :-) This file is mostly a placeholder and a place
@@ -878,25 +879,59 @@ void Scumm_v8::o8_verbOps()
{
// TODO
byte subOp = fetchScriptByte();
+ VerbSlot *vs = NULL;
+
+ if (0 <= _curVerbSlot && _curVerbSlot < _maxVerbs);
+ vs = &_verbs[_curVerbSlot];
+
switch (subOp) {
case 0x96: // SO_VERB_INIT Choose verb number for editing
+ _curVerb = pop();
+ _curVerbSlot = getVerbSlot(_curVerb, 0);
+ checkRange(_maxVerbs - 1, 0, _curVerbSlot, "Illegal new verb slot %d");
+ break;
case 0x97: // SO_VERB_NEW New verb
case 0x98: // SO_VERB_DELETE Delete verb
case 0x99: // SO_VERB_NAME Set verb name
case 0x9A: // SO_VERB_AT Set verb (X,Y) placement
+ error("o8_verbops: default case %d", subOp);
+ break;
case 0x9B: // SO_VERB_ON Turn verb on
+ vs->curmode = 1;
+ break;
case 0x9C: // SO_VERB_OFF Turn verb off
+ vs->curmode = 0;
+ break;
case 0x9D: // SO_VERB_COLOR Set verb color
+ vs->color = pop();
+ break;
case 0x9E: // SO_VERB_HICOLOR Set verb highlighted color
-// case 0x9F: // SO_415
+ vs->hicolor = pop();
+ break;
case 0xA0: // SO_VERB_DIMCOLOR Set verb dimmed (disabled) color
+ vs->dimcolor = pop();
+ break;
case 0xA1: // SO_VERB_DIM
+ vs->curmode = 2;
+ break;
case 0xA2: // SO_VERB_KEY Set keypress to associate with verb
+ vs->key = pop();
+ break;
case 0xA3: // SO_VERB_IMAGE Set verb image
case 0xA4: // SO_VERB_NAME_STR Set verb name
+ error("o8_verbops: default case %d", subOp);
+ break;
case 0xA5: // SO_VERB_CENTER Center verb
+ vs->center = 1;
+ break;
case 0xA6: // SO_VERB_CHARSET Choose charset for verb
+ // FIXME - TODO
+ pop();
+ break;
case 0xA7: // SO_VERB_LINE_SPACING Choose linespacing for verb
+ // FIXME - TODO
+ pop();
+ break;
default:
error("o8_verbops: default case %d", subOp);
}