diff options
| author | Filippos Karapetis | 2007-05-27 11:49:08 +0000 | 
|---|---|---|
| committer | Filippos Karapetis | 2007-05-27 11:49:08 +0000 | 
| commit | 13541d3e96fad9dd24fa5d2d01a4454505d50fef (patch) | |
| tree | baa5fbaf8bdf65819fb7b84b18662037ff04e196 | |
| parent | 5f84a9ce71d239b2e1533de997fdd994d1e8a6c6 (diff) | |
| download | scummvm-rg350-13541d3e96fad9dd24fa5d2d01a4454505d50fef.tar.gz scummvm-rg350-13541d3e96fad9dd24fa5d2d01a4454505d50fef.tar.bz2 scummvm-rg350-13541d3e96fad9dd24fa5d2d01a4454505d50fef.zip  | |
Verb actions are working correctly now in IHNM. Some verbs are still non-functional
svn-id: r26970
| -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:  | 
