diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/saga/displayinfo.h | 18 | ||||
-rw-r--r-- | engines/saga/interface.cpp | 5 | ||||
-rw-r--r-- | engines/saga/script.cpp | 23 |
3 files changed, 24 insertions, 22 deletions
diff --git a/engines/saga/displayinfo.h b/engines/saga/displayinfo.h index 6bf58eca9b..cad6978be9 100644 --- a/engines/saga/displayinfo.h +++ b/engines/saga/displayinfo.h @@ -283,16 +283,14 @@ static const GameDisplayInfo ITE_DisplayInfo = { #define IHNM_CONVERSE_TEXT_LINES 10 static PanelButton IHNM_MainPanelButtons[] = { - // TODO: The +2's are needed here to fix the verbs, investigate why - // The computation of textid in Interface::drawVerbPanelText has also been changed accordingly - {kPanelButtonVerb, 106,12, 114,30, kVerbIHNMWalk + 2,'w',0, 0,1,0}, - {kPanelButtonVerb, 106,44, 114,30, kVerbIHNMLookAt + 2,'l',0, 2,3,0}, - {kPanelButtonVerb, 106,76, 114,30, kVerbIHNMTake + 2,'k',0, 4,5,0}, - {kPanelButtonVerb, 106,108, 114,30, kVerbIHNMUse + 2,'u',0, 6,7,0}, - {kPanelButtonVerb, 223,12, 114,30, kVerbIHNMTalkTo + 2,'t',0, 8,9,0}, - {kPanelButtonVerb, 223,44, 114,30, kVerbIHNMSwallow + 2,'s',0, 10,11,0}, - {kPanelButtonVerb, 223,76, 114,30, kVerbIHNMGive + 2,'g',0, 12,13,0}, - {kPanelButtonVerb, 223,108, 114,30, kVerbIHNMPush + 2,'p',0, 14,15,0}, + {kPanelButtonVerb, 106,12, 114,30, kVerbIHNMWalk,'w',0, 0,1,0}, + {kPanelButtonVerb, 106,44, 114,30, kVerbIHNMLookAt,'l',0, 2,3,0}, + {kPanelButtonVerb, 106,76, 114,30, kVerbIHNMTake,'k',0, 4,5,0}, + {kPanelButtonVerb, 106,108, 114,30, kVerbIHNMUse,'u',0, 6,7,0}, + {kPanelButtonVerb, 223,12, 114,30, kVerbIHNMTalkTo,'t',0, 8,9,0}, + {kPanelButtonVerb, 223,44, 114,30, kVerbIHNMSwallow,'s',0, 10,11,0}, + {kPanelButtonVerb, 223,76, 114,30, kVerbIHNMGive,'g',0, 12,13,0}, + {kPanelButtonVerb, 223,108, 114,30, kVerbIHNMPush,'p',0, 14,15,0}, {kPanelButtonArrow, 606,22, 20,25, -1,'[',0, 0,0,0}, //TODO: arrow Sprite Numbers {kPanelButtonArrow, 606,108, 20,25, 1,']',0, 0,0,0}, diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp index 2d15db80ee..682919bd30 100644 --- a/engines/saga/interface.cpp +++ b/engines/saga/interface.cpp @@ -1972,9 +1972,8 @@ void Interface::drawVerbPanelText(Surface *ds, PanelButton *panelButton, KnownCo if (_vm->getGameType() == GType_ITE) { textId = verbTypeToTextStringsIdLUT[0][panelButton->id]; text = _vm->getTextString(textId); - } else { - // This -2 has been placed because of the changes in the ids in IHNM_MainPanelButtons - textId = verbTypeToTextStringsIdLUT[1][panelButton->id - 2]; + } else { + textId = verbTypeToTextStringsIdLUT[1][panelButton->id]; text = _vm->_script->_mainStrings.getString(textId + 1); textShadowKnownColor = kKnownColorTransparent; } diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp index 8a1e61cd46..f7a5e1c42a 100644 --- a/engines/saga/script.cpp +++ b/engines/saga/script.cpp @@ -287,7 +287,10 @@ void Script::showVerb(int statusColor) { return; } - verbName = _mainStrings.getString(_leftButtonVerb - 1); + if (_vm->getGameType() == GType_ITE) + verbName = _mainStrings.getString(_leftButtonVerb - 1); + else + verbName = _mainStrings.getString(_leftButtonVerb + 1); if (objectTypeId(_currentObject[0]) == kGameObjectNone) { _vm->_interface->setStatusText(verbName, statusColor); @@ -360,22 +363,24 @@ int Script::getVerbType(VerbTypes verbType) { return kVerbIHNMNone; case kVerbWalkTo: return kVerbIHNMWalk; - case kVerbGive: - return kVerbIHNMGive; - case kVerbUse: - return kVerbIHNMUse; - case kVerbEnter: - return kVerbIHNMEnter; case kVerbLookAt: return kVerbIHNMLookAt; case kVerbPickUp: return kVerbIHNMTake; + case kVerbUse: + return kVerbIHNMUse; + case kVerbTalkTo: + return kVerbIHNMTalkTo; case kVerbOpen: return -2; + // return kVerbIHNMSwallow; + case kVerbGive: + return kVerbIHNMGive; case kVerbClose: return -2; - case kVerbTalkTo: - return kVerbIHNMTalkTo; + // return kVerbIHNMPush; + case kVerbEnter: + return kVerbIHNMEnter; case kVerbWalkOnly: return kVerbIHNMWalkOnly; case kVerbLookOnly: |