[Scummvm-cvs-logs] SF.net SVN: scummvm:[43196] scummvm/trunk/engines/kyra
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Mon Aug 10 03:33:56 CEST 2009
Revision: 43196
http://scummvm.svn.sourceforge.net/scummvm/?rev=43196&view=rev
Author: lordhoto
Date: 2009-08-10 01:33:56 +0000 (Mon, 10 Aug 2009)
Log Message:
-----------
Enable interface text fading in Kyra1 amiga again.
Modified Paths:
--------------
scummvm/trunk/engines/kyra/screen.cpp
scummvm/trunk/engines/kyra/text_lok.cpp
Modified: scummvm/trunk/engines/kyra/screen.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen.cpp 2009-08-10 01:33:36 UTC (rev 43195)
+++ scummvm/trunk/engines/kyra/screen.cpp 2009-08-10 01:33:56 UTC (rev 43196)
@@ -650,8 +650,10 @@
if (_vm->gameFlags().platform != Common::kPlatformAmiga)
return;
- uint8 screenPal[256 * 4];
+ uint8 screenPal[32 * 4];
+ assert(32 <= pal.getNumColors());
+
for (int i = 0; i < pal.getNumColors(); ++i) {
if (i != 0x10) {
screenPal[4 * i + 0] = (pal[i * 3 + 0] * 0xFF) / 0x3F;
Modified: scummvm/trunk/engines/kyra/text_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/text_lok.cpp 2009-08-10 01:33:36 UTC (rev 43195)
+++ scummvm/trunk/engines/kyra/text_lok.cpp 2009-08-10 01:33:56 UTC (rev 43196)
@@ -324,20 +324,25 @@
_screen->hideMouse();
_screen->fillRect(8, 143, 311, 152, _flags.platform == Common::kPlatformAmiga ? 19 : 12);
- // TODO: Amiga support
- if ((_startSentencePalIndex != color || _fadeText != false) && _flags.platform != Common::kPlatformAmiga) {
- _currSentenceColor[0] = _screen->getPalette(0)[765] = _screen->getPalette(0)[color*3];
+ if (_flags.platform == Common::kPlatformAmiga) {
+ if (color != 19) {
+ memset(_currSentenceColor, 0x3F, sizeof(_currSentenceColor));
+
+ _screen->setInterfacePalette(_screen->getPalette(1),
+ _currSentenceColor[0], _currSentenceColor[1], _currSentenceColor[2]);
+ }
+ } else if (_startSentencePalIndex != color || _fadeText != false) {
+ _currSentenceColor[0] = _screen->getPalette(0)[765] = _screen->getPalette(0)[color*3+0];
_currSentenceColor[1] = _screen->getPalette(0)[766] = _screen->getPalette(0)[color*3+1];
_currSentenceColor[2] = _screen->getPalette(0)[767] = _screen->getPalette(0)[color*3+2];
_screen->setScreenPalette(_screen->getPalette(0));
- _startSentencePalIndex = 0;
+ _startSentencePalIndex = color;
}
_text->printText(sentence, 8, 143, 0xFF, _flags.platform == Common::kPlatformAmiga ? 19 : 12, 0);
_screen->showMouse();
- if (_flags.platform != Common::kPlatformAmiga)
- setTextFadeTimerCountdown(15);
+ setTextFadeTimerCountdown(15);
_fadeText = false;
}
@@ -366,10 +371,15 @@
}
}
- _screen->getPalette(0)[765] = _currSentenceColor[0];
- _screen->getPalette(0)[766] = _currSentenceColor[1];
- _screen->getPalette(0)[767] = _currSentenceColor[2];
- _screen->setScreenPalette(_screen->getPalette(0));
+ if (_flags.platform == Common::kPlatformAmiga) {
+ _screen->setInterfacePalette(_screen->getPalette(1),
+ _currSentenceColor[0], _currSentenceColor[1], _currSentenceColor[2]);
+ } else {
+ _screen->getPalette(0)[765] = _currSentenceColor[0];
+ _screen->getPalette(0)[766] = _currSentenceColor[1];
+ _screen->getPalette(0)[767] = _currSentenceColor[2];
+ _screen->setScreenPalette(_screen->getPalette(0));
+ }
if (finished) {
_fadeText = false;
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