[Scummvm-cvs-logs] CVS: scummvm/saga font.h,1.22,1.23 game.cpp,1.122,1.123 interface.cpp,1.163,1.164 interface.h,1.80,1.81 ite_introproc.cpp,1.72,1.73 saga.cpp,1.148,1.149 saga.h,1.138,1.139 scene.cpp,1.159,1.160 sfuncs.cpp,1.180,1.181

Andrew Kurushin h00ligan at users.sourceforge.net
Sat Nov 26 04:09:00 CET 2005


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25355

Modified Files:
	font.h game.cpp interface.cpp interface.h ite_introproc.cpp 
	saga.cpp saga.h scene.cpp sfuncs.cpp 
Log Message:
known color WIP #1

Index: font.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/font.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- font.h	19 Nov 2005 12:41:23 -0000	1.22
+++ font.h	26 Nov 2005 12:08:05 -0000	1.23
@@ -77,8 +77,8 @@
 	bool useRect;
 	Common::Point point;
 	Common::Rect rect;
-	int color;
-	int effectColor;
+	KnownColor knownColor;
+	KnownColor effectKnownColor;
 	FontEffectFlags flags;
 	KnownFont font;
 	const char *text;

Index: game.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/game.cpp,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -d -r1.122 -r1.123
--- game.cpp	28 Oct 2005 00:19:50 -0000	1.122
+++ game.cpp	26 Nov 2005 12:08:05 -0000	1.123
@@ -147,10 +147,6 @@
 	12,12,			// save reminder w & h
 	6,7,			// save reminder sprite numbers
 
-	147,			// verb text color
-	15,				// verb text shadow color
-	96,				// verb text active color
-
 	5, 4,			// left portrait x, y offset
 	274, 4,			// right portrait x, y offset
 
@@ -603,10 +599,6 @@
 	24, 24,		// save reminder w&h
 	0,1,		// save reminder sprite numbers
 
-	253,		// verb text color
-	15,			// verb text shadow color FIXME
-	252,		// verb text active color
-
 	11, 12,		// left portrait x, y offset
 	-1, -1,		// right portrait x, y offset
 

Index: interface.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.cpp,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -d -r1.163 -r1.164
--- interface.cpp	19 Nov 2005 12:41:23 -0000	1.163
+++ interface.cpp	26 Nov 2005 12:08:05 -0000	1.164
@@ -585,7 +585,7 @@
 void Interface::drawVerbPanel(Surface *backBuffer, PanelButton* panelButton) {
 	PanelButton * rightButtonVerbPanelButton;
 	PanelButton * currentVerbPanelButton;
-	int textColor;
+	KnownColor textColor;
 	int spriteNumber;
 	Point point;
 
@@ -593,11 +593,11 @@
 	currentVerbPanelButton = getPanelButtonByVerbType(_vm->_script->getCurrentVerb());
 
 	if (panelButton->state) {
-		textColor = _vm->getDisplayInfo().verbTextActiveColor;
+		textColor = kKnownColorVerbTextActive;
 	} else if (panelButton == rightButtonVerbPanelButton) {
-		textColor = _vm->getDisplayInfo().verbTextActiveColor;
+		textColor = kKnownColorVerbTextActive;
 	} else {
-		textColor = _vm->getDisplayInfo().verbTextColor;
+		textColor = kKnownColorVerbText;
 	}
 
 	if (panelButton == currentVerbPanelButton) {
@@ -610,7 +610,7 @@
 
 	_vm->_sprite->draw(backBuffer, _vm->getDisplayClip(), _mainPanel.sprites, spriteNumber, point, 256);
 
-	drawVerbPanelText(backBuffer, panelButton, textColor, _vm->getDisplayInfo().verbTextShadowColor);
+	drawVerbPanelText(backBuffer, panelButton, textColor, kKnownColorVerbTextShadow);
 }
 
 void Interface::draw() {
@@ -735,8 +735,7 @@
 	textPoint.x = rect.left;
 	textPoint.y = rect.top + 1;
 
-	_vm->_font->textDraw(kKnownFontMedium, ds, text, textPoint,
-		_vm->getDisplayInfo().verbTextColor, _vm->getDisplayInfo().verbTextShadowColor, kFontShadow);
+	_vm->_font->textDraw(kKnownFontMedium, ds, text, textPoint, _vm->KnownColor2ColorId(kKnownColorVerbText), _vm->KnownColor2ColorId(kKnownColorVerbTextShadow), kFontShadow);
 }
 
 void Interface::drawOption() {
@@ -1892,7 +1891,7 @@
 	int textWidth;
 	int textHeight;
 	Point point;
-	int textColor;
+	KnownColor textColor;
 	Rect rect;
 
 	textId = panelButton->id;
@@ -1929,16 +1928,16 @@
 	point.y = panel->y + panelButton->yOffset + (panelButton->height / 2) - (textHeight / 2);
 
 	if (panelButton == panel->currentButton) {
-		textColor = _vm->getDisplayInfo().verbTextActiveColor;
+		textColor = kKnownColorVerbTextActive;
 	} else {
-		textColor = _vm->getDisplayInfo().verbTextColor;
+		textColor = kKnownColorVerbText;
 	}
 
 	panel->calcPanelButtonRect(panelButton, rect);
 	drawButtonBox(ds, rect, kButton, panelButton->state > 0);
 
 	_vm->_font->textDraw(kKnownFontMedium, ds, text, point,
-		textColor, _vm->getDisplayInfo().verbTextShadowColor, kFontShadow);
+		_vm->KnownColor2ColorId(textColor), _vm->KnownColor2ColorId(kKnownColorVerbTextShadow), kFontShadow);
 }
 
 void Interface::drawPanelButtonArrow(Surface *ds, InterfacePanel *panel, PanelButton *panelButton) {
@@ -1961,7 +1960,7 @@
 	_vm->_sprite->draw(ds, _vm->getDisplayClip(), _vm->_sprite->_mainSprites, spriteNumber, point, 256);
 }
 
-void Interface::drawVerbPanelText(Surface *ds, PanelButton *panelButton, int textColor, int textShadowColor) {
+void Interface::drawVerbPanelText(Surface *ds, PanelButton *panelButton, KnownColor textKnownColor, KnownColor textShadowKnownColor) {
 	const char *text;
 	int textWidth;
 	Point point;
@@ -1973,7 +1972,7 @@
 	} else {
 		textId = verbTypeToTextStringsIdLUT[1][panelButton->id];
 		text = _vm->_script->_mainStrings.getString(textId + 1);
-		textShadowColor = 0;
+		textShadowKnownColor = kKnownColorTransparent;
 	}
 
 	textWidth = _vm->_font->getStringWidth(kKnownFontVerb, text, 0, kFontNormal);
@@ -1986,7 +1985,7 @@
 		point.y = _mainPanel.y + panelButton->yOffset + 12;
 	}
 
-	_vm->_font->textDraw(kKnownFontVerb, ds, text, point, textColor, textShadowColor, (textShadowColor != 0) ? kFontShadow : kFontNormal);
+	_vm->_font->textDraw(kKnownFontVerb, ds, text, point, _vm->KnownColor2ColorId(textKnownColor),_vm->KnownColor2ColorId(textShadowKnownColor), (textShadowKnownColor != kKnownColorTransparent) ? kFontShadow : kFontNormal);
 }
 
 

Index: interface.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.h,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -d -r1.80 -r1.81
--- interface.h	18 Oct 2005 01:30:19 -0000	1.80
+++ interface.h	26 Nov 2005 12:08:05 -0000	1.81
@@ -162,26 +162,6 @@
 	int replyBit;
 };
 
-enum GameColors {
-	kITEColorBrightWhite = 0x01,
-	kITEColorWhite = 0x02,
-	kITEColorLightGrey = 0x04,
-	kITEColorGrey = 0x0a,
-	kITEColorDarkGrey = 0x0b,
-	kITEColorDarkGrey0C = 0x0C,
-	kITEColorGreen = 0xba,
-	kITEColorBlack = 0x0f,
-	kITEColorRed = 0x65,
-	kITEColorDarkBlue8a = 0x8a,
-	kITEColorBlue89 = 0x89,
-	kITEColorLightBlue92 = 0x92,
-	kITEColorBlue = 0x93,
-	kITEColorLightBlue94 = 0x94,
-	kITEColorLightBlue96 = 0x96,
-
-	kIHNMColorBlack = 0xfa,
-	kIHNMColorPortrait = 0xfe
-};
 
 enum StatusTextInputState {
 	kStatusTextInputFirstRun,
@@ -358,7 +338,7 @@
 	};
 	void drawButtonBox(Surface *ds, const Rect &rect, ButtonKind kind, bool down);
 	void drawPanelButtonArrow(Surface *ds, InterfacePanel *panel, PanelButton *panelButton);
-	void drawVerbPanelText(Surface *ds, PanelButton *panelButton, int textColor, int textShadowColor);
+	void drawVerbPanelText(Surface *ds, PanelButton *panelButton, KnownColor textKnownColor, KnownColor textShadowKnownColor);
 	void drawVerbPanel(Surface *backBuffer, PanelButton* panelButton);
 	void calcOptionSaveSlider();
 	bool processTextInput(uint16 ascii);

Index: ite_introproc.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/ite_introproc.cpp,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -d -r1.72 -r1.73
--- ite_introproc.cpp	3 Nov 2005 18:20:12 -0000	1.72
+++ ite_introproc.cpp	26 Nov 2005 12:08:05 -0000	1.73
@@ -94,8 +94,8 @@
 	int i;
 
 	// Queue narrator dialogue list
-	textEntry.color = 255;
-	textEntry.effectColor = 0;
+	textEntry.knownColor = kKnownColorSubtitleTextColor;
+	textEntry.effectKnownColor = kKnownColorTransparent;
 	textEntry.useRect = true;
 	textEntry.rect.left = 0;
 	textEntry.rect.right = _vm->getDisplayWidth();
@@ -224,8 +224,8 @@
 	Event event;
 	Event *q_event = NULL;
 
-	textEntry.color = 255;
-	textEntry.effectColor = 0;
+	textEntry.knownColor = kKnownColorSubtitleTextColor;
+	textEntry.effectKnownColor = kKnownColorTransparent;
 	textEntry.flags = (FontEffectFlags)(kFontOutline | kFontCentered);
 	textEntry.point.x = 160;
 

Index: saga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.cpp,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -d -r1.148 -r1.149
--- saga.cpp	18 Oct 2005 01:30:19 -0000	1.148
+++ saga.cpp	26 Nov 2005 12:08:05 -0000	1.149
@@ -445,4 +445,74 @@
 	}
 }
 
+ColorId SagaEngine::KnownColor2ColorId(KnownColor knownColor) {
+	ColorId colorId = kITEColorTransBlack;
+
+	if (getGameType() == GType_ITE) {
+		switch (knownColor)
+		{
+		case(kKnownColorTransparent):
+			colorId = kITEColorTransBlack;
+			break;
+
+		case (kKnownColorBrightWhite):
+			colorId = kITEColorBrightWhite;
+			break;
+		case (kKnownColorBlack):
+			colorId = kITEColorBlack;
+			break;
+
+
+		case (kKnownColorSubtitleTextColor):
+			colorId = (ColorId)255;
+			break;
+		case (kKnownColorVerbText):
+			colorId = kITEColorBlue;
+			break;
+		case (kKnownColorVerbTextShadow):
+			colorId = kITEColorBlack;
+			break;
+		case (kKnownColorVerbTextActive):
+			colorId = (ColorId)96;
+			break;
+
+		default:
+			error("SagaEngine::KnownColor2ColorId unknown color %i", knownColor);
+		}
+	} else if (getGameType() == GType_IHNM) {
+		switch (knownColor)
+		{
+		case(kKnownColorTransparent):
+			colorId = kITEColorTransBlack;
+			break;
+
+		case (kKnownColorBlack):
+			colorId = kIHNMColorBlack;
+			break;
+
+		case (kKnownColorVerbText):
+			colorId = (ColorId)253;
+			break;
+		case (kKnownColorVerbTextShadow):
+			colorId = (ColorId)15;
+			break;
+		case (kKnownColorVerbTextActive):
+			colorId = (ColorId)252;
+			break;
+
+		default:
+			error("SagaEngine::KnownColor2ColorId unknown color %i", knownColor);
+		}
+
+/*		switch (font)
+		{
+		case (kKnownFontSmall):
+			fontId = kSmallFont;
+			break;
+		}*/
+	}
+	return colorId;
+}
+
+
 } // End of namespace Saga

Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -d -r1.138 -r1.139
--- saga.h	3 Nov 2005 18:20:12 -0000	1.138
+++ saga.h	26 Nov 2005 12:08:05 -0000	1.139
@@ -321,6 +321,39 @@
 	GF_SCENE_SUBSTITUTES = 1 << 3
 };
 
+enum ColorId {
+	kITEColorTransBlack = 0x00,
+	kITEColorBrightWhite = 0x01,
+	kITEColorWhite = 0x02,
+	kITEColorLightGrey = 0x04,
+	kITEColorGrey = 0x0a,
+	kITEColorDarkGrey = 0x0b,
+	kITEColorDarkGrey0C = 0x0C,
+	kITEColorBlack = 0x0f,
+	kITEColorRed = 0x65,
+	kITEColorDarkBlue8a = 0x8a,
+	kITEColorBlue89 = 0x89,
+	kITEColorLightBlue92 = 0x92,
+	kITEColorBlue = 0x93,
+	kITEColorLightBlue94 = 0x94,
+	kITEColorLightBlue96 = 0x96,
+	kITEColorGreen = 0xba,
+
+	kIHNMColorBlack = 0xfa,
+	kIHNMColorPortrait = 0xfe
+};
+
+enum KnownColor {
+	kKnownColorTransparent,
+	kKnownColorBrightWhite,	
+	kKnownColorBlack,
+
+	kKnownColorSubtitleTextColor,
+	kKnownColorVerbText,
+	kKnownColorVerbTextShadow,
+	kKnownColorVerbTextActive
+};
+
 struct GameSoundInfo {
 	GameSoundTypes resourceType;
 	long frequency;
@@ -395,10 +428,6 @@
 	int saveReminderFirstSpriteNumber;
 	int saveReminderSecondSpriteNumber;
 
-	int verbTextColor;
-	int verbTextShadowColor;
-	int verbTextActiveColor;
-
 	int leftPortraitXOffset;
 	int leftPortraitYOffset;
 	int rightPortraitXOffset;
@@ -698,6 +727,11 @@
 
 	const char *getTextString(int textStringId);
 	void getExcuseInfo(int verb, const char *&textString, int &soundResourceId);
+
+private:
+
+public:
+	ColorId KnownColor2ColorId(KnownColor knownColor);
 };
 
 

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.159
retrieving revision 1.160
diff -u -d -r1.159 -r1.160
--- scene.cpp	3 Nov 2005 18:20:12 -0000	1.159
+++ scene.cpp	26 Nov 2005 12:08:05 -0000	1.160
@@ -240,9 +240,9 @@
 		if (entry->display) {
 
 			if (entry->useRect) {
-				_vm->_font->textDrawRect(entry->font, ds, entry->text, entry->rect, entry->color, entry->effectColor, entry->flags);
+				_vm->_font->textDrawRect(entry->font, ds, entry->text, entry->rect, _vm->KnownColor2ColorId(entry->knownColor), _vm->KnownColor2ColorId(entry->effectKnownColor), entry->flags);
 			} else {
-				_vm->_font->textDraw(entry->font, ds, entry->text, entry->point, entry->color, entry->effectColor, entry->flags);
+				_vm->_font->textDraw(entry->font, ds, entry->text, entry->point, _vm->KnownColor2ColorId(entry->knownColor), _vm->KnownColor2ColorId(entry->effectKnownColor), entry->flags);
 			}
 		}
 	}
@@ -453,10 +453,10 @@
 
 				_vm->_interface->setStatusText("Click or Press Return to continue. Press Q to quit.", 96);
 				_vm->_font->textDrawRect(kKnownFontMedium, backBuffer, sceneSubstitutes[i].title,
-					 Common::Rect(0, 7, _vm->getDisplayWidth(), 27), 1, 15, kFontOutline);
+					 Common::Rect(0, 7, _vm->getDisplayWidth(), 27), _vm->KnownColor2ColorId(kKnownColorBrightWhite), _vm->KnownColor2ColorId(kKnownColorBlack), kFontOutline);
 				_vm->_font->textDrawRect(kKnownFontMedium, backBuffer, sceneSubstitutes[i].message,
 					 Common::Rect(24, getHeight() - 33, _vm->getDisplayWidth() - 11,
-								  getHeight()), 1, 15, kFontOutline);
+								  getHeight()), _vm->KnownColor2ColorId(kKnownColorBrightWhite), _vm->KnownColor2ColorId(kKnownColorBlack), kFontOutline);
 				return;
 			}
 		}

Index: sfuncs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sfuncs.cpp,v
retrieving revision 1.180
retrieving revision 1.181
diff -u -d -r1.180 -r1.181
--- sfuncs.cpp	19 Nov 2005 12:41:23 -0000	1.180
+++ sfuncs.cpp	26 Nov 2005 12:08:05 -0000	1.181
@@ -1305,8 +1305,8 @@
 
 	TextListEntry textEntry;
 
-	textEntry.color = kITEColorBrightWhite;
-	textEntry.effectColor = kITEColorBlack;
+	textEntry.knownColor = kKnownColorBrightWhite;
+	textEntry.effectKnownColor = kKnownColorBlack;
 	textEntry.point.x = _vm->getDisplayWidth() / 2;
 	textEntry.point.y = (_vm->_scene->getHeight() - _vm->_font->getHeight(kKnownFontMedium)) / 2;
 	textEntry.font = kKnownFontMedium;
@@ -1597,10 +1597,7 @@
 	rect.left = point.x - width / 2;
 	rect.setWidth(width);
 
-	if (_vm->getGameType() == GType_ITE)
-		_vm->_actor->setSpeechColor(color, kITEColorBlack);
-	else
-		_vm->_actor->setSpeechColor(color, kIHNMColorBlack);
+	_vm->_actor->setSpeechColor(color, _vm->KnownColor2ColorId(kKnownColorBlack));
 	_vm->_actor->nonActorSpeech(rect, &text, 1, -1, flags);
 }
 





More information about the Scummvm-git-logs mailing list