[Scummvm-git-logs] scummvm master -> e1d40b7a8f85387b4397930de779e2961e87a690
athrxx
noreply at scummvm.org
Mon Jul 24 17:04:01 UTC 2023
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
fc4c510515 KYRA; (EOB II/ZH) - intro/outro text improvements
e1d40b7a8f KYRA: (EOB II) - intro scrolling improvement
Commit: fc4c5105150cfe1bff94db737207ebc13df4f484
https://github.com/scummvm/scummvm/commit/fc4c5105150cfe1bff94db737207ebc13df4f484
Author: athrxx (athrxx at scummvm.org)
Date: 2023-07-24T19:03:04+02:00
Commit Message:
KYRA; (EOB II/ZH) - intro/outro text improvements
Changed paths:
devtools/create_kyradat/resources/eob2_dos_chinese.h
dists/engine-data/kyra.dat
engines/kyra/sequence/sequences_darkmoon.cpp
diff --git a/devtools/create_kyradat/resources/eob2_dos_chinese.h b/devtools/create_kyradat/resources/eob2_dos_chinese.h
index 521b6ce8b71..ab9838f72f7 100644
--- a/devtools/create_kyradat/resources/eob2_dos_chinese.h
+++ b/devtools/create_kyradat/resources/eob2_dos_chinese.h
@@ -930,7 +930,7 @@ static const char *const kEoB2TransferLabelsDOSChinese[2] = {
static const StringListProvider kEoB2TransferLabelsDOSChineseProvider = { ARRAYSIZE(kEoB2TransferLabelsDOSChinese), kEoB2TransferLabelsDOSChinese };
-static const char *const kEoB2IntroStringsDOSChinese[20] = {
+static const char *const kEoB2IntroStringsDOSChinese[21] = {
"\xa6\x62\xa4\x40\xad\xd3\xad\xb7\xab\x42\xa5\xe6\xa5\x5b\xaa\xba\xb2\x4d\xb1\xe1", /* "å¨ä¸å風é¨äº¤å çæ¸
æ¨"; "In a storm early morning" */
"\xa7\x41\xa6\xac\xa8\xec\xa4\x46\xa4\x40\xb1\x69\xab\x4b\xa8\xe7", /* "ä½ æ¶å°äºä¸å¼µä¾¿å½"; "You have received a note" */
"\xa5\xa6\xac\x4f\xa7\x41\xaa\xba\xa6\x6e\xa4\xcd\r\xc4\xb3\xaa\xf8\xab\xb4\xba\xb8\xaf\x5a\xbc\x67\xa8\xd3\xaa\xba.", /* "宿¯ä½ ç好å\rè°é·å¥ç¾ç寫ä¾ç."; "It's from your friend Chancellor Khelben." */
@@ -951,6 +951,7 @@ static const char *const kEoB2IntroStringsDOSChinese[20] = {
"\xa8\xc6\xa4\xa3\xa9\x79\xbf\xf0,\xa7\x41\xa5\xb2\xb6\xb7\xbb\xb0\xa7\xd6\xb0\xca\xa8\xad.", /* "äºä¸å®é²,ä½ å¿
é è¶å¿«å身."; "Without further delay, you must leave quickly."; */
"\xa7\xda\xb2\x7b\xa6\x62\xb1\x4e\xa7\x41\xad\xcc\xb6\xc7\xb0\x65\xa8\xec\xb1\xb5\xaa\xf1\xaf\xab\xbc\x71\xaa\xba\xaa\xfe\xaa\xf1.", /* "æç¾å¨å°ä½ åå³éå°æ¥è¿ç¥å»çéè¿."; "I will now teleport you closer to the temple." */
"\xc4\x40\xa6\x6e\xb9\x42\xa6\xf1\xc0\x48\xb5\xdb\xa7\x41\xad\xcc.", /* "é¡å¥½éä¼´é¨èä½ å."; "May good luck be with you."; */
+ "(c)1992""\xb4\xbc\xab""a""\xac\xec\xa7\xde\xa6\xb3\xad\xad\xa4\xbd\xa5""q""\xbc\xf6\xb1\xa1\xb1\xc0\xa5""X ""\xb5""{""\xa6\xa1\xad\xd7\xa7\xef"":""\xa5\xdb\xc5\xe9\xb7\xbd" /* (c)1992æºå ç§ææéå
¬å¸ç±æ
æ¨åº ç¨å¼ä¿®æ¹:ç³é«æº */
};
static const StringListProvider kEoB2IntroStringsDOSChineseProvider = { ARRAYSIZE(kEoB2IntroStringsDOSChinese), kEoB2IntroStringsDOSChinese }; // OK
diff --git a/dists/engine-data/kyra.dat b/dists/engine-data/kyra.dat
index 34209460cd4..8eb17844670 100644
Binary files a/dists/engine-data/kyra.dat and b/dists/engine-data/kyra.dat differ
diff --git a/engines/kyra/sequence/sequences_darkmoon.cpp b/engines/kyra/sequence/sequences_darkmoon.cpp
index 83a95b4064e..13b59c8771d 100644
--- a/engines/kyra/sequence/sequences_darkmoon.cpp
+++ b/engines/kyra/sequence/sequences_darkmoon.cpp
@@ -66,6 +66,7 @@ public:
private:
void init(Mode mode);
void setPaletteWithoutTextColor(int index);
+ void printStringIntern(const char *str, int x, int y, int col);
OSystem *_system;
DarkMoonEngine *_vm;
@@ -110,6 +111,7 @@ private:
uint32 _hScrollResumeTimeStamp;
uint8 _textColor[3];
+ int16 _shadowColor;
int _platformAnimOffset;
@@ -286,7 +288,10 @@ void DarkMoonEngine::seq_playIntro() {
removeInputTop();
sq.delay(18);
- sq.animCommand(3, 18);
+ sq.animCommand(3);
+ if (_flags.lang == Common::ZH_TWN)
+ sq.printText(20, guiSettings()->colors.guiColorYellow);
+ sq.delay(18);
sq.animCommand(6, 18);
sq.animCommand(0);
@@ -295,6 +300,8 @@ void DarkMoonEngine::seq_playIntro() {
sq.animCommand(_flags.platform == Common::kPlatformPC98 ? (_configRenderMode == Common::kRenderEGA ? 43 : 42) : (_configRenderMode == Common::kRenderEGA ? 12 : 11));
sq.animCommand(7, 6);
sq.animCommand(2, 6);
+ if (_flags.lang == Common::ZH_TWN)
+ sq.fadeText();
sq.waitForSongNotifier(++songCurPos);
@@ -353,7 +360,7 @@ void DarkMoonEngine::seq_playIntro() {
sq.waitForSongNotifier(++songCurPos);
uint32 endtime = _system->getMillis();
- // intro scroll
+ // intro horizontal scroll
if (!skipFlag() && !shouldQuit()) {
for (int i = sq.hScroll(true); i != 279; i = sq.hScroll()) {
endtime += 18;
@@ -1394,7 +1401,7 @@ void DarkmoonSequenceHelper::animCommand(int index, int del) {
else
_screen->copyRegion(s->x1 - 8, s->y1 - 8, s->x1, s->y1, shapeWidth, shapeHeight, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
- delay(s->delay /** 7*/);
+ delay(s->delay);
} else if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
end = _system->getMillis() + s->delay * _vm->tickLength();
@@ -1498,11 +1505,12 @@ void DarkmoonSequenceHelper::printText(int index, int color) {
const ScreenDim *dm = _screen->_curDim;
int fontHeight = (_vm->gameFlags().platform == Common::kPlatformPC98) ? (_screen->getFontHeight() << 1) : (_screen->getFontHeight() + 1);
int xAlignFactor = (_vm->gameFlags().platform == Common::kPlatformPC98) ? 2 : 1;
+ const char *linebrkChars = (_vm->gameFlags().lang == Common::ZH_TWN) ? "\r " : "\r";
for (int yOffs = 0; !str.empty(); yOffs += fontHeight) {
- uint linebrk = str.findFirstOf('\r');
+ uint linebrk = str.findFirstOf(linebrkChars);
Common::String str2 = (linebrk != Common::String::npos) ? str.substr(0, linebrk) : str;
- _screen->printText(str2.c_str(), (dm->sx * xAlignFactor + ((dm->w * xAlignFactor - str2.size()) >> 1)) << (4 - xAlignFactor), dm->sy + yOffs, color, dm->col2);
+ printStringIntern(str2.c_str(), (dm->sx * xAlignFactor + ((dm->w * xAlignFactor - str2.size()) >> 1)) << (4 - xAlignFactor), dm->sy + yOffs, color);
str = (linebrk != Common::String::npos) ? str.substr(linebrk + 1) : "";
}
@@ -1525,7 +1533,12 @@ void DarkmoonSequenceHelper::fadeText() {
_screen->fadeTextColor(_palettes[0], col, 8);
memset(_textColor, 0, 3);
- _screen->clearCurDim();
+ _screen->setClearScreenDim(17);
+
+ // The Chinese version uses a shadow color for the font which does not get faded.
+ // We clear the shadow as quick as possible after the fading, so it will look less weird.
+ if (_vm->gameFlags().lang == Common::ZH_TWN)
+ _screen->updateScreen();
}
void DarkmoonSequenceHelper::update(int srcPage) {
@@ -1543,6 +1556,138 @@ void DarkmoonSequenceHelper::update(int srcPage) {
_screen->updateScreen();
}
+void DarkmoonSequenceHelper::setPalette(int index) {
+ _screen->setScreenPalette(*_palettes[index]);
+}
+
+void DarkmoonSequenceHelper::fadePalette(int index, int del) {
+ if (_vm->skipFlag() || _vm->shouldQuit())
+ return;
+ if (_vm->_configRenderMode == Common::kRenderEGA) {
+ setPalette(index);
+ _screen->updateScreen();
+ } else {
+ _screen->fadePalette(*_palettes[index], del * _vm->tickLength());
+ }
+}
+
+void DarkmoonSequenceHelper::copyPalette(int srcIndex, int destIndex) {
+ _palettes[destIndex]->copy(*_palettes[srcIndex]);
+}
+
+int DarkmoonSequenceHelper::hScroll(bool restart) {
+ if (restart)
+ _hScrollStartTimeStamp = _system->getMillis();
+ else if (!_hScrollStartTimeStamp)
+ return 0;
+
+ uint32 ct = _system->getMillis();
+ int state = (ct - _hScrollStartTimeStamp) / 18;
+ if (state < 0 || state > 279) {
+ _hScrollStartTimeStamp += (ct - _hScrollResumeTimeStamp);
+ state = (ct - _hScrollStartTimeStamp) / 18;
+ if (state < 0 || state > 279)
+ state = 279;
+ }
+
+ _hScrollResumeTimeStamp = ct;
+
+ _screen->copyRegion(9, 8, 8, 8, 303, 128, 0, 0, Screen::CR_NO_P_CHECK);
+ _screen->copyRegion(state, 0, 311, 8, 1, 128, 2, 0, Screen::CR_NO_P_CHECK);
+ _screen->updateScreen();
+
+ if (state == 279)
+ _hScrollStartTimeStamp = 0;
+
+ return state;
+}
+
+void DarkmoonSequenceHelper::initDelayedPaletteFade(int palIndex, int rate) {
+ _palettes[11]->copy(*_palettes[0]);
+
+ _fadePalIndex = palIndex;
+ _fadePalRate = rate;
+ _fadePalTimer = _system->getMillis() + 2 * _vm->_tickLength;
+}
+
+bool DarkmoonSequenceHelper::processDelayedPaletteFade() {
+ if (_vm->skipFlag() || _vm->shouldQuit())
+ return true;
+
+ if (_vm->_configRenderMode == Common::kRenderEGA || !_fadePalRate || (_system->getMillis() <= _fadePalTimer))
+ return false;
+
+ if (_screen->delayedFadePalStep(_palettes[_fadePalIndex], _palettes[0], _fadePalRate)) {
+ setPaletteWithoutTextColor(0);
+ _fadePalTimer = _system->getMillis() + 3 * _vm->_tickLength;
+ } else {
+ _fadePalRate = 0;
+ }
+
+ return false;
+}
+
+void DarkmoonSequenceHelper::delay(uint32 ticks) {
+ if (_vm->skipFlag() || _vm->shouldQuit())
+ return;
+
+ uint32 end = _system->getMillis() + ticks * _vm->_tickLength;
+
+ if (_config->palFading) {
+ do {
+ if (processDelayedPaletteFade())
+ break;
+ _vm->updateInput();
+ } while (end > _system->getMillis());
+ processDelayedPaletteFade();
+
+ } else {
+ for (uint32 ct = 0; ct < end; ) {
+ if (ct + 18 <= end)
+ hScroll();
+ ct = _system->getMillis();
+ _vm->delay(MIN<uint32>(9, end - ct));
+ }
+ }
+}
+
+void DarkmoonSequenceHelper::waitForSongNotifier(int index, bool introUpdateAnim) {
+ if (_vm->gameFlags().platform == Common::kPlatformFMTowns)
+ index = _sndMarkersFMTowns[index - 1];
+ else if (_vm->sound()->getMusicType() != Sound::kAdLib && _vm->gameFlags().platform != Common::kPlatformPC98)
+ return;
+
+ int seq = 0;
+
+ while (_vm->sound()->musicEnabled() && _vm->sound()->checkTrigger() < index && !(_vm->skipFlag() || _vm->shouldQuit())) {
+ if (introUpdateAnim) {
+ animCommand(30 | seq);
+ seq ^= 1;
+ }
+
+ if (_config->palFading)
+ processDelayedPaletteFade();
+
+ _vm->updateInput();
+ }
+}
+
+void DarkmoonSequenceHelper::updateAmigaSound() {
+ if (_vm->gameFlags().platform != Common::kPlatformAmiga || !_vm->sound()->musicEnabled())
+ return;
+
+ int ct = _vm->sound()->checkTrigger();
+ if (ct < _sndNextTrackMarker)
+ return;
+
+ _vm->snd_playSong(_sndNextTrack++);
+ if (_sndNextTrack == 4)
+ _sndNextTrack = 1;
+
+ static const uint16 interval[4] = { 0, 1015, 4461, 1770 };
+ _sndNextTrackMarker = interval[_sndNextTrack];
+}
+
void DarkmoonSequenceHelper::init(DarkmoonSequenceHelper::Mode mode) {
assert(mode == kIntro || mode == kFinale);
@@ -1557,6 +1702,7 @@ void DarkmoonSequenceHelper::init(DarkmoonSequenceHelper::Mode mode) {
_sndNextTrackMarker = 0;
_sndMarkersFMTowns = soundMarkersFMTowns[mode];
_hScrollStartTimeStamp = _hScrollResumeTimeStamp = 0;
+ _shadowColor = -1;
if (mode == kIntro) {
_config = new Config(
@@ -1577,6 +1723,8 @@ void DarkmoonSequenceHelper::init(DarkmoonSequenceHelper::Mode mode) {
2
);
+ if (_vm->_flags.lang == Common::ZH_TWN)
+ _shadowColor = _vm->guiSettings()->colors.guiColorBrown;
for (int i = 0; i < 48; i++)
_config->animData[i] = _vm->staticres()->loadEoB2SeqData(kEoB2IntroAnimData00 + i, size);
@@ -1612,6 +1760,9 @@ void DarkmoonSequenceHelper::init(DarkmoonSequenceHelper::Mode mode) {
6
);
+ if (_vm->_flags.lang == Common::ZH_TWN)
+ _shadowColor = _vm->guiSettings()->colors.fill;
+
for (int i = 0; i < 21; i++)
_config->animData[i] = _vm->staticres()->loadEoB2SeqData(kEoB2FinaleAnimData00 + i, size);
@@ -1693,7 +1844,7 @@ void DarkmoonSequenceHelper::init(DarkmoonSequenceHelper::Mode mode) {
_screen->setScreenPalette(*_palettes[0]);
_prevFont = _screen->setFont(_vm->gameFlags().lang == Common::Language::ZH_TWN ? Screen::FID_CHINESE_FNT :
- _vm->gameFlags().platform == Common::kPlatformFMTowns ? Screen::FID_SJIS_LARGE_FNT : (_vm->gameFlags().platform == Common::kPlatformPC98 ? Screen::FID_SJIS_FNT : Screen::FID_8_FNT));
+ _vm->gameFlags().platform == Common::kPlatformFMTowns ? Screen::FID_SJIS_LARGE_FNT : (_vm->gameFlags().platform == Common::kPlatformPC98 ? Screen::FID_SJIS_FNT : Screen::FID_8_FNT));
_screen->hideMouse();
_vm->delay(150);
@@ -1723,136 +1874,11 @@ void DarkmoonSequenceHelper::setPaletteWithoutTextColor(int index) {
_system->delayMillis(10);
}
-void DarkmoonSequenceHelper::setPalette(int index) {
- _screen->setScreenPalette(*_palettes[index]);
-}
-
-void DarkmoonSequenceHelper::fadePalette(int index, int del) {
- if (_vm->skipFlag() || _vm->shouldQuit())
- return;
- if (_vm->_configRenderMode == Common::kRenderEGA) {
- setPalette(index);
- _screen->updateScreen();
- } else {
- _screen->fadePalette(*_palettes[index], del * _vm->tickLength());
- }
-}
-
-void DarkmoonSequenceHelper::copyPalette(int srcIndex, int destIndex) {
- _palettes[destIndex]->copy(*_palettes[srcIndex]);
-}
-
-int DarkmoonSequenceHelper::hScroll(bool restart) {
- if (restart)
- _hScrollStartTimeStamp = _system->getMillis();
- else if (!_hScrollStartTimeStamp)
- return 0;
-
- uint32 ct = _system->getMillis();
- int state = (ct - _hScrollStartTimeStamp) / 18;
- if (state < 0 || state > 279) {
- _hScrollStartTimeStamp += (ct - _hScrollResumeTimeStamp);
- state = (ct - _hScrollStartTimeStamp) / 18;
- if (state < 0 || state > 279)
- state = 279;
- }
-
- _hScrollResumeTimeStamp = ct;
-
- _screen->copyRegion(9, 8, 8, 8, 303, 128, 0, 0, Screen::CR_NO_P_CHECK);
- _screen->copyRegion(state, 0, 311, 8, 1, 128, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->updateScreen();
-
- if (state == 279)
- _hScrollStartTimeStamp = 0;
-
- return state;
-}
-
-void DarkmoonSequenceHelper::initDelayedPaletteFade(int palIndex, int rate) {
- _palettes[11]->copy(*_palettes[0]);
-
- _fadePalIndex = palIndex;
- _fadePalRate = rate;
- _fadePalTimer = _system->getMillis() + 2 * _vm->_tickLength;
-}
-
-bool DarkmoonSequenceHelper::processDelayedPaletteFade() {
- if (_vm->skipFlag() || _vm->shouldQuit())
- return true;
-
- if (_vm->_configRenderMode == Common::kRenderEGA || !_fadePalRate || (_system->getMillis() <= _fadePalTimer))
- return false;
-
- if (_screen->delayedFadePalStep(_palettes[_fadePalIndex], _palettes[0], _fadePalRate)) {
- setPaletteWithoutTextColor(0);
- _fadePalTimer = _system->getMillis() + 3 * _vm->_tickLength;
- } else {
- _fadePalRate = 0;
- }
-
- return false;
-}
-
-void DarkmoonSequenceHelper::delay(uint32 ticks) {
- if (_vm->skipFlag() || _vm->shouldQuit())
- return;
-
- uint32 end = _system->getMillis() + ticks * _vm->_tickLength;
-
- if (_config->palFading) {
- do {
- if (processDelayedPaletteFade())
- break;
- _vm->updateInput();
- } while (end > _system->getMillis());
- processDelayedPaletteFade();
-
- } else {
- for (uint32 ct = 0; ct < end; ) {
- if (ct + 18 <= end)
- hScroll();
- ct = _system->getMillis();
- _vm->delay(MIN<uint32>(9, end - ct));
- }
- }
-}
-
-void DarkmoonSequenceHelper::waitForSongNotifier(int index, bool introUpdateAnim) {
- if (_vm->gameFlags().platform == Common::kPlatformFMTowns)
- index = _sndMarkersFMTowns[index - 1];
- else if (_vm->sound()->getMusicType() != Sound::kAdLib && _vm->gameFlags().platform != Common::kPlatformPC98)
- return;
-
- int seq = 0;
-
- while (_vm->sound()->musicEnabled() && _vm->sound()->checkTrigger() < index && !(_vm->skipFlag() || _vm->shouldQuit())) {
- if (introUpdateAnim) {
- animCommand(30 | seq);
- seq ^= 1;
- }
-
- if (_config->palFading)
- processDelayedPaletteFade();
-
- _vm->updateInput();
- }
-}
-
-void DarkmoonSequenceHelper::updateAmigaSound() {
- if (_vm->gameFlags().platform != Common::kPlatformAmiga || !_vm->sound()->musicEnabled())
- return;
-
- int ct = _vm->sound()->checkTrigger();
- if (ct < _sndNextTrackMarker)
- return;
-
- _vm->snd_playSong(_sndNextTrack++);
- if (_sndNextTrack == 4)
- _sndNextTrack = 1;
-
- static const uint16 interval[4] = { 0, 1015, 4461, 1770 };
- _sndNextTrackMarker = interval[_sndNextTrack];
+void DarkmoonSequenceHelper::printStringIntern(const char *str, int x, int y, int col) {
+ if (_shadowColor != -1)
+ _screen->printShadedText(str, x, y, col, 0, _shadowColor);
+ else
+ _screen->printText(str, x, y, col, _screen->_curDim->col2);
}
const char *const DarkmoonSequenceHelper::_palFilesIntroVGA[] = {
Commit: e1d40b7a8f85387b4397930de779e2961e87a690
https://github.com/scummvm/scummvm/commit/e1d40b7a8f85387b4397930de779e2961e87a690
Author: athrxx (athrxx at scummvm.org)
Date: 2023-07-24T19:03:09+02:00
Commit Message:
KYRA: (EOB II) - intro scrolling improvement
Changed paths:
engines/kyra/sequence/sequences_darkmoon.cpp
diff --git a/engines/kyra/sequence/sequences_darkmoon.cpp b/engines/kyra/sequence/sequences_darkmoon.cpp
index 13b59c8771d..7bc7af3324a 100644
--- a/engines/kyra/sequence/sequences_darkmoon.cpp
+++ b/engines/kyra/sequence/sequences_darkmoon.cpp
@@ -109,6 +109,7 @@ private:
uint32 _hScrollStartTimeStamp;
uint32 _hScrollResumeTimeStamp;
+ int _hScrollState;
uint8 _textColor[3];
int16 _shadowColor;
@@ -1576,10 +1577,12 @@ void DarkmoonSequenceHelper::copyPalette(int srcIndex, int destIndex) {
}
int DarkmoonSequenceHelper::hScroll(bool restart) {
- if (restart)
+ if (restart) {
_hScrollStartTimeStamp = _system->getMillis();
- else if (!_hScrollStartTimeStamp)
+ _hScrollState = -1;
+ } else if (!_hScrollStartTimeStamp) {
return 0;
+ }
uint32 ct = _system->getMillis();
int state = (ct - _hScrollStartTimeStamp) / 18;
@@ -1591,13 +1594,19 @@ int DarkmoonSequenceHelper::hScroll(bool restart) {
}
_hScrollResumeTimeStamp = ct;
+
+ if (state != _hScrollState) {
+ _screen->copyRegion(9, 8, 8, 8, 303, 128, 0, 0, Screen::CR_NO_P_CHECK);
+ _screen->copyRegion(state, 0, 311, 8, 1, 128, 2, 0, Screen::CR_NO_P_CHECK);
+ _screen->updateScreen();
+ }
- _screen->copyRegion(9, 8, 8, 8, 303, 128, 0, 0, Screen::CR_NO_P_CHECK);
- _screen->copyRegion(state, 0, 311, 8, 1, 128, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->updateScreen();
+ _hScrollState = state;
- if (state == 279)
+ if (state == 279) {
_hScrollStartTimeStamp = 0;
+ _hScrollState = -1;
+ }
return state;
}
@@ -1702,7 +1711,7 @@ void DarkmoonSequenceHelper::init(DarkmoonSequenceHelper::Mode mode) {
_sndNextTrackMarker = 0;
_sndMarkersFMTowns = soundMarkersFMTowns[mode];
_hScrollStartTimeStamp = _hScrollResumeTimeStamp = 0;
- _shadowColor = -1;
+ _hScrollState = _shadowColor = -1;
if (mode == kIntro) {
_config = new Config(
@@ -1870,8 +1879,10 @@ void DarkmoonSequenceHelper::setPaletteWithoutTextColor(int index) {
_palettes[11]->copy(*_palettes[0], numCol, 1, numCol);
setPalette(11);
- _screen->updateScreen();
- _system->delayMillis(10);
+ if (_hScrollState == -1) {
+ _screen->updateScreen();
+ _system->delayMillis(10);
+ }
}
void DarkmoonSequenceHelper::printStringIntern(const char *str, int x, int y, int col) {
More information about the Scummvm-git-logs
mailing list