From 463c5fcec840d7bf68b29dfa4be70118255cc5bd Mon Sep 17 00:00:00 2001
From: Filippos Karapetis <bluegr@gmail.com>
Date: Wed, 2 May 2007 23:27:25 +0000
Subject: [PATCH] More IHNM options panel improvements: added text and working
 widgets for read speed, music and sound, matched the font and the coordinates
 of the options panel and the widgets with the ones of the original
 interpreter

svn-id: r26738
---
 engines/saga/displayinfo.h | 15 +++++++++++----
 engines/saga/interface.cpp | 12 ++++++++----
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/engines/saga/displayinfo.h b/engines/saga/displayinfo.h
index e728666b2f6..8fad29305b7 100644
--- a/engines/saga/displayinfo.h
+++ b/engines/saga/displayinfo.h
@@ -319,9 +319,16 @@ static PanelButton IHNM_ConversePanelButtons[] = {
 
 static PanelButton IHNM_OptionPanelButtons[] = {
 	//TODO: Add the rest of the buttons
-	//TODO: Those coordinates might not be pixel perfect, check with the original interpreter
-	{kPanelButtonOption,	20,150,	200,25,	kTextQuitGame,'q',0,	0,0,0}, //quit
-	{kPanelButtonOption,	20,175,	200,25,	kTextContinuePlaying,'c',0,	0,0,0}, //continue
+	{kPanelButtonOptionText,28,36,	0,0,	kTextReadingSpeed,'-',0, 0,0,0},	// text: read speed
+	{kPanelButtonOptionText,60,61,	0,0,	kTextMusic,'-',0, 0,0,0},			// text: music
+	{kPanelButtonOptionText,60,86,	0,0,	kTextSound,'-',0, 0,0,0},			// text: noise
+	// TODO: Add Voices text here
+	{kPanelButtonOption,	154,30, 79,23,	kTextReadingSpeed,'r',0,	0,0,0},	//read speed
+	{kPanelButtonOption,	154,55, 79,23,	kTextMusic,'m',0,	0,0,0},			//music
+	{kPanelButtonOption,	154,80, 79,23,	kTextSound,'n',0,	0,0,0},			//sound-noise
+	// TODO: Add Voices widget here
+	{kPanelButtonOption,	19,149,	200,25,	kTextQuitGame,'q',0,	0,0,0},		//quit
+	{kPanelButtonOption,	19,177,	200,25,	kTextContinuePlaying,'c',0,	0,0,0}, //continue
 	//.....
 };
 
@@ -380,7 +387,7 @@ static const GameDisplayInfo IHNM_DisplayInfo = { //TODO: fill it all
 
 	-1, -1,		// save file index
 	0,			// optionSaveFileVisible
-	100, 75,	// option panel offsets
+	92, 46,		// option panel offsets
 	ARRAYSIZE(IHNM_OptionPanelButtons),
 	IHNM_OptionPanelButtons,
 
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index 08ed30c8a2f..fafc36f724f 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -697,14 +697,20 @@ void Interface::drawPanelText(Surface *ds, InterfacePanel *panel, PanelButton *p
 	text = _vm->getTextString(panelButton->id);
 	panel->calcPanelButtonRect(panelButton, rect);
 	if (panelButton->xOffset < 0) {
-		textWidth = _vm->_font->getStringWidth(kKnownFontMedium, text, 0, kFontNormal);
+		if (_vm->getGameType() == GType_ITE)
+			textWidth = _vm->_font->getStringWidth(kKnownFontMedium, text, 0, kFontNormal);
+		else
+			textWidth = _vm->_font->getStringWidth(kKnownFontVerb, text, 0, kFontNormal);
 		rect.left += 2 + (panel->imageWidth - 1 - textWidth) / 2;
 	}
 
 	textPoint.x = rect.left;
 	textPoint.y = rect.top + 1;
 
-	_vm->_font->textDraw(kKnownFontMedium, ds, text, textPoint, _vm->KnownColor2ColorId(kKnownColorVerbText), _vm->KnownColor2ColorId(kKnownColorVerbTextShadow), kFontShadow);
+	if (_vm->getGameType() == GType_ITE)
+		_vm->_font->textDraw(kKnownFontMedium, ds, text, textPoint, _vm->KnownColor2ColorId(kKnownColorVerbText), _vm->KnownColor2ColorId(kKnownColorVerbTextShadow), kFontShadow);
+	else
+		_vm->_font->textDraw(kKnownFontVerb, ds, text, textPoint, _vm->KnownColor2ColorId(kKnownColorVerbText), _vm->KnownColor2ColorId(kKnownColorVerbTextShadow), kFontShadow);
 }
 
 void Interface::drawOption() {
@@ -1897,7 +1903,6 @@ void Interface::drawPanelButtonText(Surface *ds, InterfacePanel *panel, PanelBut
 	}
 	text = _vm->getTextString(textId);
 
-	// TODO: This looks like to be the proper font for IHNM, check for validity
 	if (_vm->getGameType() == GType_ITE) {
 		textWidth = _vm->_font->getStringWidth(kKnownFontMedium, text, 0, kFontNormal);
 		textHeight = _vm->_font->getHeight(kKnownFontMedium);
@@ -1918,7 +1923,6 @@ void Interface::drawPanelButtonText(Surface *ds, InterfacePanel *panel, PanelBut
 	panel->calcPanelButtonRect(panelButton, rect);
 	drawButtonBox(ds, rect, kButton, panelButton->state > 0);
 
-	// TODO: This looks like to be the proper font for IHNM, check for validity
 	if (_vm->getGameType() == GType_ITE)
 		_vm->_font->textDraw(kKnownFontMedium, ds, text, point,
 			_vm->KnownColor2ColorId(textColor), _vm->KnownColor2ColorId(kKnownColorVerbTextShadow), kFontShadow);