diff options
author | Paul Gilbert | 2018-03-13 18:17:02 -0400 |
---|---|---|
committer | Paul Gilbert | 2018-03-13 18:17:02 -0400 |
commit | ac7a9224fe9c66219583dd28e8e3c4fbfe714703 (patch) | |
tree | fa12fa1f6006c4fec084d4dde2c2b070c1387c09 /engines/xeen | |
parent | 654ef04f82de0e05bee0ab07734f39eef3877069 (diff) | |
download | scummvm-rg350-ac7a9224fe9c66219583dd28e8e3c4fbfe714703.tar.gz scummvm-rg350-ac7a9224fe9c66219583dd28e8e3c4fbfe714703.tar.bz2 scummvm-rg350-ac7a9224fe9c66219583dd28e8e3c4fbfe714703.zip |
XEEN: Fix text colors during intro/exit cutscenes
Diffstat (limited to 'engines/xeen')
-rw-r--r-- | engines/xeen/combat.cpp | 2 | ||||
-rw-r--r-- | engines/xeen/combat.h | 2 | ||||
-rw-r--r-- | engines/xeen/dialogs/dialogs_party.cpp | 2 | ||||
-rw-r--r-- | engines/xeen/dialogs/please_wait.cpp | 2 | ||||
-rw-r--r-- | engines/xeen/font.cpp | 3 | ||||
-rw-r--r-- | engines/xeen/resources.cpp | 1 | ||||
-rw-r--r-- | engines/xeen/resources.h | 1 | ||||
-rw-r--r-- | engines/xeen/scripts.cpp | 3 | ||||
-rw-r--r-- | engines/xeen/xeen.cpp | 8 | ||||
-rw-r--r-- | engines/xeen/xeen.h | 2 |
10 files changed, 16 insertions, 10 deletions
diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp index 0c0836af66..603b6aef71 100644 --- a/engines/xeen/combat.cpp +++ b/engines/xeen/combat.cpp @@ -103,7 +103,7 @@ Combat::Combat(XeenEngine *vm): _vm(vm), _missVoc("miss.voc") { _whosTurn = -1; _itemFlag = false; _monstersAttacking = false; - _combatMode = COMBATMODE_0; + _combatMode = COMBATMODE_STARTUP; _attackDurationCtr = 0; _partyRan = false; _monster2Attack = -1; diff --git a/engines/xeen/combat.h b/engines/xeen/combat.h index f081add8c3..938845b022 100644 --- a/engines/xeen/combat.h +++ b/engines/xeen/combat.h @@ -58,7 +58,7 @@ enum ShootType { }; enum CombatMode { - COMBATMODE_0 = 0, COMBATMODE_1 = 1, COMBATMODE_2 = 2 + COMBATMODE_STARTUP = 0, COMBATMODE_1 = 1, COMBATMODE_2 = 2 }; enum PowType { diff --git a/engines/xeen/dialogs/dialogs_party.cpp b/engines/xeen/dialogs/dialogs_party.cpp index 33e138b6ac..c3d6843ffd 100644 --- a/engines/xeen/dialogs/dialogs_party.cpp +++ b/engines/xeen/dialogs/dialogs_party.cpp @@ -121,7 +121,7 @@ void PartyDialog::execute() { if (party._activeParty.size() == 0) { ErrorScroll::show(_vm, Res.NO_ONE_TO_ADVENTURE_WITH); } else { - if (_vm->_mode != MODE_0) { + if (_vm->_mode != MODE_STARTUP) { for (int idx = OBSCURITY_NONE; idx >= OBSCURITY_BLACK; --idx) { events.updateGameCounter(); intf.obscureScene((Obscurity)idx); diff --git a/engines/xeen/dialogs/please_wait.cpp b/engines/xeen/dialogs/please_wait.cpp index 749c6a850a..9186910f07 100644 --- a/engines/xeen/dialogs/please_wait.cpp +++ b/engines/xeen/dialogs/please_wait.cpp @@ -40,7 +40,7 @@ void PleaseWait::show() { Windows &windows = *g_vm->_windows; Window &w = windows[9]; - if (g_vm->_mode != MODE_0) { + if (g_vm->_mode != MODE_STARTUP) { w.open(); w.writeString(_msg); w.update(); diff --git a/engines/xeen/font.cpp b/engines/xeen/font.cpp index ccdcbf4627..58381e1516 100644 --- a/engines/xeen/font.cpp +++ b/engines/xeen/font.cpp @@ -23,6 +23,7 @@ #include "common/endian.h" #include "xeen/font.h" #include "xeen/resources.h" +#include "xeen/xeen.h" namespace Xeen { @@ -320,7 +321,7 @@ int FontSurface::fontAtoi(int len) { } void FontSurface::setTextColor(int idx) { - const byte *colP = &Res.TEXT_COLORS[idx][0]; + const byte *colP = (g_vm->_mode == MODE_STARTUP) ? &Res.TEXT_COLORS_STARTUP[idx][0] : &Res.TEXT_COLORS[idx][0]; Common::copy(colP, colP + 4, &_textColors[0]); } diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp index 14c87d6a1a..c2732a9bf9 100644 --- a/engines/xeen/resources.cpp +++ b/engines/xeen/resources.cpp @@ -81,6 +81,7 @@ void Resources::loadData() { file.syncStrings(WHO_WILL_ACTIONS, 4); file.syncBytes2D((byte *)SYMBOLS, 20, 64); file.syncBytes2D((byte *)TEXT_COLORS, 40, 4); + file.syncBytes2D((byte *)TEXT_COLORS_STARTUP, 40, 4); file.syncStrings(DIRECTION_TEXT_UPPER, 4); file.syncStrings(DIRECTION_TEXT, 4); file.syncStrings(RACE_NAMES, 5); diff --git a/engines/xeen/resources.h b/engines/xeen/resources.h index 6dff6a7de9..0659de45c9 100644 --- a/engines/xeen/resources.h +++ b/engines/xeen/resources.h @@ -135,6 +135,7 @@ public: const char *WHO_WILL_ACTIONS[4]; byte SYMBOLS[20][64]; byte TEXT_COLORS[40][4]; + byte TEXT_COLORS_STARTUP[40][4]; const char *DIRECTION_TEXT_UPPER[4]; const char *DIRECTION_TEXT[4]; const char *RACE_NAMES[5]; diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp index ffe4e2dfe9..8777cdc6e0 100644 --- a/engines/xeen/scripts.cpp +++ b/engines/xeen/scripts.cpp @@ -435,7 +435,7 @@ bool Scripts::cmdSignText(ParamsIterator ¶ms) { bool Scripts::cmdNPC(ParamsIterator ¶ms) { Map &map = *_vm->_map; - params.readByte(); + params.readByte(); // _message already holds title int textNum = params.readByte(); int portrait = params.readByte(); int confirm = params.readByte(); @@ -1479,6 +1479,7 @@ void Scripts::doEnding(const Common::String &endStr) { // Get the current total score uint finalScore = party.getScore(); + g_vm->_mode = MODE_STARTUP; g_vm->showCutscene(endStr, state, finalScore); g_vm->_gameMode = GMODE_MENU; } diff --git a/engines/xeen/xeen.cpp b/engines/xeen/xeen.cpp index d4c6fa045b..c8fb40d2a0 100644 --- a/engines/xeen/xeen.cpp +++ b/engines/xeen/xeen.cpp @@ -59,7 +59,7 @@ XeenEngine::XeenEngine(OSystem *syst, const XeenGameDescription *gameDesc) _noDirectionSense = false; _startupWindowActive = false; _gameMode = GMODE_STARTUP; - _mode = MODE_0; + _mode = MODE_STARTUP; _endingScore = 0; _loadSaveSlot = -1; _gameWon[0] = _gameWon[1] = _gameWon[2] = false; @@ -220,7 +220,7 @@ void XeenEngine::play() { } _interface->startup(); - if (_mode == MODE_0) { + if (_mode == MODE_STARTUP) { // _screen->fadeOut(); } @@ -230,7 +230,7 @@ void XeenEngine::play() { _events->setCursor(0); _combat->_moveMonsters = true; - if (_mode == MODE_0) { + if (_mode == MODE_STARTUP) { _mode = MODE_1; _screen->fadeIn(); } @@ -241,6 +241,8 @@ void XeenEngine::play() { if (_party->_dead) death(); + + _mode = MODE_STARTUP; } void XeenEngine::gameLoop() { diff --git a/engines/xeen/xeen.h b/engines/xeen/xeen.h index d26ffdebab..c79b240388 100644 --- a/engines/xeen/xeen.h +++ b/engines/xeen/xeen.h @@ -76,7 +76,7 @@ enum XeenDebugChannels { enum Mode { MODE_FF = -1, - MODE_0 = 0, + MODE_STARTUP = 0, MODE_1 = 1, MODE_COMBAT = 2, MODE_3 = 3, |