[Scummvm-cvs-logs] SF.net SVN: scummvm:[44501] scummvm/trunk/engines/kyra

athrxx at users.sourceforge.net athrxx at users.sourceforge.net
Wed Sep 30 23:46:00 CEST 2009


Revision: 44501
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44501&view=rev
Author:   athrxx
Date:     2009-09-30 21:46:00 +0000 (Wed, 30 Sep 2009)

Log Message:
-----------
LOL/PC-98: - fixed TIM dialogue button text colors
- fixed menu text alignment

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui_lol.cpp
    scummvm/trunk/engines/kyra/scene_lol.cpp
    scummvm/trunk/engines/kyra/script_tim.cpp
    scummvm/trunk/engines/kyra/text_lol.cpp

Modified: scummvm/trunk/engines/kyra/gui_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lol.cpp	2009-09-30 21:12:38 UTC (rev 44500)
+++ scummvm/trunk/engines/kyra/gui_lol.cpp	2009-09-30 21:46:00 UTC (rev 44501)
@@ -2324,6 +2324,10 @@
 	// a menu has scroll buttons or slider bars.
 	uint8 hasSpecialButtons = 0;
 
+	Screen::FontId of;
+	if (_vm->gameFlags().use16ColorMode)
+		of = _screen->setFont(Screen::FID_SJIS_FNT);
+
 	while (_displayMenu) {
 		_vm->_mouseX = _vm->_mouseY = 0;
 
@@ -2481,6 +2485,7 @@
 			textCursorTimer = 0;
 			textCursorStatus = 0;
 
+			Screen::FontId f = _screen->setFont(Screen::FID_9_FNT);
 			fC = _screen->getTextWidth(_saveDescription);
 			while (fC >= fW) {
 				_saveDescription[strlen(_saveDescription) - 1] = 0;
@@ -2488,6 +2493,7 @@
 			}
 
 			_screen->fprintString("%s", (d->sx << 3), d->sy + 2, d->unk8, d->unkA, 0, _saveDescription);
+			f = _screen->setFont(f);
 			_screen->fillRect((d->sx << 3) + fC, d->sy, (d->sx << 3) + fC + wW, d->sy + d->h - 1, d->unk8, 0);
 			_screen->setCurPage(pg);
 		}
@@ -2497,11 +2503,13 @@
 
 			if (_currentMenu == &_savenameMenu) {
 				if (textCursorTimer <= _vm->_system->getMillis()) {
+					Screen::FontId f = _screen->setFont(Screen::FID_9_FNT);
 					fC = _screen->getTextWidth(_saveDescription);
 					textCursorStatus ^= 1;
 					textCursorTimer = _vm->_system->getMillis() + 20 * _vm->_tickLength;
 					_screen->fillRect((d->sx << 3) + fC, d->sy, (d->sx << 3) + fC + wW, d->sy + d->h - 1, textCursorStatus ? d->unk8 : d->unkA, 0);
 					_screen->updateScreen();
+					f = _screen->setFont(f);
 				}
 			}
 
@@ -2527,6 +2535,9 @@
 		_newMenu = 0;
 	}
 
+	if (_vm->gameFlags().use16ColorMode)
+		_screen->setFont(of);
+
 	return _menuResult;
 }
 
@@ -2591,13 +2602,7 @@
 }
 
 void GUI_LoL::printMenuText(const char *str, int x, int y, uint8 c0, uint8 c1, uint8 flags, Screen::FontId font) {
-	if (_vm->gameFlags().use16ColorMode) {
-		Screen::FontId of = _screen->setFont(Screen::FID_SJIS_FNT);
-		_screen->fprintString("%s", x, y, c0, c1, flags & 3, str);
-		_screen->setFont(of);
-	} else {
-		_screen->fprintString("%s", x, y, c0, c1, flags, str);
-	}	
+	_screen->fprintString("%s", x, y, c0, c1, _vm->gameFlags().use16ColorMode ? (flags & 3) : flags , str);
 }
 
 int GUI_LoL::getMenuCenterStringX(const char *str, int x1, int x2) {

Modified: scummvm/trunk/engines/kyra/scene_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_lol.cpp	2009-09-30 21:12:38 UTC (rev 44500)
+++ scummvm/trunk/engines/kyra/scene_lol.cpp	2009-09-30 21:46:00 UTC (rev 44501)
@@ -455,10 +455,13 @@
 	for (int i = 0; i < vmpLen; i++)
 		_vmpPtr[i] = READ_LE_UINT16(&v[i << 1]);
 
+	Palette tpal(256);
+	tpal.copy(_screen->getPalette(0));
+	tpal.fill(16, 240, 0xff);
 	for (int i = 0; i < 7; i++) {
 		weight = 100 - (i * _lastSpecialColorWeight);
 		weight = (weight > 0) ? (weight * 255) / 100 : 0;
-		_screen->generateLevelOverlay(_screen->getPalette(0), _screen->getLevelOverlay(i), _lastSpecialColor, weight);
+		_screen->generateLevelOverlay(tpal/*_screen->getPalette(0)*/, _screen->getLevelOverlay(i), _lastSpecialColor >> 4, weight);
 
 		int l = _flags.use16ColorMode ? 256 : 128;
 		uint8 *levelOverlay = _screen->getLevelOverlay(i);

Modified: scummvm/trunk/engines/kyra/script_tim.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_tim.cpp	2009-09-30 21:12:38 UTC (rev 44500)
+++ scummvm/trunk/engines/kyra/script_tim.cpp	2009-09-30 21:46:00 UTC (rev 44501)
@@ -1168,16 +1168,18 @@
 
 void TIMInterpreter_LoL::drawDialogueButtons() {
 	int cp = _screen->setCurPage(0);
-	Screen::FontId of = _screen->setFont(Screen::FID_6_FNT);
+	Screen::FontId of;
 
 	int x = _dialogueButtonPosX;
 
 	for (int i = 0; i < _dialogueNumButtons; i++) {
 		if (_vm->gameFlags().use16ColorMode) {
+			of = _screen->setFont(Screen::FID_SJIS_FNT);
 			_vm->gui_drawBox(x, (_dialogueButtonPosY & ~7) - 1, 74, 10, 0xee, 0xcc, -1);
 			_screen->printText(_dialogueButtonString[i], (x + 37 - (_screen->getTextWidth(_dialogueButtonString[i])) / 2) & ~3,
 				(_dialogueButtonPosY + 2) & ~7, _dialogueHighlightedButton == i ? 0xc1 : 0xe1, 0);
 		} else {
+			of = _screen->setFont(Screen::FID_6_FNT);
 			_vm->gui_drawBox(x, _dialogueButtonPosY, 74, 9, 136, 251, -1);
 			_screen->printText(_dialogueButtonString[i], x + 37 - (_screen->getTextWidth(_dialogueButtonString[i])) / 2,
 				_dialogueButtonPosY + 2, _dialogueHighlightedButton == i ? 144 : 254, 0);

Modified: scummvm/trunk/engines/kyra/text_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/text_lol.cpp	2009-09-30 21:12:38 UTC (rev 44500)
+++ scummvm/trunk/engines/kyra/text_lol.cpp	2009-09-30 21:46:00 UTC (rev 44501)
@@ -675,7 +675,7 @@
 
 void TextDisplayer_LoL::textPageBreak() {
 	int cp = _screen->setCurPage(0);
-	Screen::FontId cf = _screen->setFont(Screen::FID_6_FNT);
+	Screen::FontId cf = _screen->setFont(_vm->gameFlags().use16ColorMode ? Screen::FID_SJIS_FNT : Screen::FID_6_FNT);
 
 	_vm->_timer->pauseSingleTimer(11, true);
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list