aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-06-06 11:10:47 +0000
committerTravis Howell2004-06-06 11:10:47 +0000
commit29f03f0d9c09572d8b37d3efc1cf34be7f149d16 (patch)
tree53f0d67a888199064926ad3bdb090b8efd392a93
parentccac679431a7d49e3e6364a833bc92b8b0fb98a4 (diff)
downloadscummvm-rg350-29f03f0d9c09572d8b37d3efc1cf34be7f149d16.tar.gz
scummvm-rg350-29f03f0d9c09572d8b37d3efc1cf34be7f149d16.tar.bz2
scummvm-rg350-29f03f0d9c09572d8b37d3efc1cf34be7f149d16.zip
verbOps differences are minor, so merge back in.
svn-id: r13943
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v6.cpp4
-rw-r--r--scumm/script_v6he.cpp116
3 files changed, 4 insertions, 117 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 9680bdd784..7ceb997ccc 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -585,7 +585,6 @@ protected:
void o6_startSound();
void o6_roomOps();
void o6_actorOps();
- void o6_verbOps();
void o6_wait();
void o6_soundKludge();
void o6_dummy();
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 4199117852..9fd153823b 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -1916,6 +1916,8 @@ void ScummEngine_v6::o6_verbOps() {
if (_curVerbSlot) {
setVerbObject(_roomResource, a, slot);
vs->type = kImageVerbType;
+ if (_heversion >= 60)
+ vs->imgindex = a;
}
break;
case 125: // SO_VERB_NAME
@@ -1940,6 +1942,8 @@ void ScummEngine_v6::o6_verbOps() {
vs->curmode = 0;
break;
case 131: // SO_VERB_DELETE
+ if (_features & GF_HUMONGOUS)
+ slot = getVerbSlot(pop(), 0);
killVerb(slot);
break;
case 132: // SO_VERB_NEW
diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp
index b88b629bed..1db4957bc2 100644
--- a/scumm/script_v6he.cpp
+++ b/scumm/script_v6he.cpp
@@ -703,122 +703,6 @@ void ScummEngine_v6he::o6_actorOps() {
}
}
-void ScummEngine_v6he::o6_verbOps() {
- int slot, a, b;
- VerbSlot *vs;
- byte op;
-
- op = fetchScriptByte();
-
- if (op == 196) {
- _curVerb = pop();
- _curVerbSlot = getVerbSlot(_curVerb, 0);
- checkRange(_numVerbs - 1, 0, _curVerbSlot, "Illegal new verb slot %d");
- return;
- }
- vs = &_verbs[_curVerbSlot];
- slot = _curVerbSlot;
- switch (op) {
- case 124: // SO_VERB_IMAGE
- a = pop();
- if (_curVerbSlot) {
- setVerbObject(_roomResource, a, slot);
- vs->type = kImageVerbType;
- vs->imgindex = a;
- }
- break;
- case 125: // SO_VERB_NAME
- loadPtrToResource(rtVerb, slot, NULL);
- vs->type = kTextVerbType;
- vs->imgindex = 0;
- break;
- case 126: // SO_VERB_COLOR
- vs->color = pop();
- break;
- case 127: // SO_VERB_HICOLOR
- vs->hicolor = pop();
- break;
- case 128: // SO_VERB_AT
- vs->curRect.top = pop();
- vs->curRect.left = pop();
- break;
- case 129: // SO_VERB_ON
- vs->curmode = 1;
- break;
- case 130: // SO_VERB_OFF
- vs->curmode = 0;
- break;
- case 131: // SO_VERB_DELETE
- slot = getVerbSlot(pop(), 0);
- killVerb(slot);
- break;
- case 132: // SO_VERB_NEW
- slot = getVerbSlot(_curVerb, 0);
- if (slot == 0) {
- for (slot = 1; slot < _numVerbs; slot++) {
- if (_verbs[slot].verbid == 0)
- break;
- }
- if (slot == _numVerbs)
- error("Too many verbs");
- _curVerbSlot = slot;
- }
- vs = &_verbs[slot];
- vs->verbid = _curVerb;
- vs->color = 2;
- vs->hicolor = 0;
- vs->dimcolor = 8;
- vs->type = kTextVerbType;
- vs->charset_nr = _string[0]._default.charset;
- vs->curmode = 0;
- vs->saveid = 0;
- vs->key = 0;
- vs->center = 0;
- vs->imgindex = 0;
- break;
- case 133: // SO_VERB_DIMCOLOR
- vs->dimcolor = pop();
- break;
- case 134: // SO_VERB_DIM
- vs->curmode = 2;
- break;
- case 135: // SO_VERB_KEY
- vs->key = pop();
- break;
- case 136: // SO_VERB_CENTER
- vs->center = 1;
- break;
- case 137: // SO_VERB_NAME_STR
- a = pop();
- if (a == 0) {
- loadPtrToResource(rtVerb, slot, (const byte *)"");
- } else {
- loadPtrToResource(rtVerb, slot, getStringAddress(a));
- }
- vs->type = kTextVerbType;
- vs->imgindex = 0;
- break;
- case 139: // SO_VERB_IMAGE_IN_ROOM
- b = pop();
- a = pop();
- if (slot && a != vs->imgindex) {
- setVerbObject(b, a, slot);
- vs->type = kImageVerbType;
- vs->imgindex = a;
- }
- break;
- case 140: // SO_VERB_BAKCOLOR
- vs->bkcolor = pop();
- break;
- case 255:
- drawVerb(slot, 0);
- verbMouseOver(0);
- break;
- default:
- error("o6_verbops: default case %d", op);
- }
-}
-
void ScummEngine_v6he::o6_wait() {
int actnum;
int offs = -2;