From 29f03f0d9c09572d8b37d3efc1cf34be7f149d16 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sun, 6 Jun 2004 11:10:47 +0000 Subject: verbOps differences are minor, so merge back in. svn-id: r13943 --- scumm/intern.h | 1 - scumm/script_v6.cpp | 4 ++ scumm/script_v6he.cpp | 116 -------------------------------------------------- 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; -- cgit v1.2.3