aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/gui_v1.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2007-07-29 16:31:29 +0000
committerJohannes Schickel2007-07-29 16:31:29 +0000
commit076d6b1bc1c4f62732ff46a0931c6bc28ef9a08f (patch)
tree830715c57e5786762b2794071c6e5431c008e4c4 /engines/kyra/gui_v1.cpp
parentb01232f08ad34ac16e36a83e32ca741fc8fc2169 (diff)
downloadscummvm-rg350-076d6b1bc1c4f62732ff46a0931c6bc28ef9a08f.tar.gz
scummvm-rg350-076d6b1bc1c4f62732ff46a0931c6bc28ef9a08f.tar.bz2
scummvm-rg350-076d6b1bc1c4f62732ff46a0931c6bc28ef9a08f.zip
Restructure Kyrandia sourcecode (part 2, compiling works again)
svn-id: r28296
Diffstat (limited to 'engines/kyra/gui_v1.cpp')
-rw-r--r--engines/kyra/gui_v1.cpp329
1 files changed, 81 insertions, 248 deletions
diff --git a/engines/kyra/gui_v1.cpp b/engines/kyra/gui_v1.cpp
index fe051dd75c..2452185c24 100644
--- a/engines/kyra/gui_v1.cpp
+++ b/engines/kyra/gui_v1.cpp
@@ -23,11 +23,11 @@
*
*/
-#include "kyra/kyra.h"
+#include "kyra/kyra_v1.h"
#include "kyra/screen.h"
#include "kyra/script.h"
#include "kyra/text.h"
-#include "kyra/animator.h"
+#include "kyra/animator_v1.h"
#include "kyra/sound.h"
#include "common/config-manager.h"
@@ -37,14 +37,14 @@
namespace Kyra {
-void KyraEngine::registerDefaultSettings() {
+void KyraEngine_v1::registerDefaultSettings() {
// Most settings already have sensible defaults. This one, however, is
// specific to the Kyra engine.
ConfMan.registerDefault("walkspeed", 2);
ConfMan.registerDefault("cdaudio", _flags.platform == Common::kPlatformFMTowns);
}
-void KyraEngine::readSettings() {
+void KyraEngine_v1::readSettings() {
int talkspeed = ConfMan.getInt("talkspeed");
// The default talk speed is 60. This should be mapped to "Normal".
@@ -78,7 +78,7 @@ void KyraEngine::readSettings() {
setWalkspeed(_configWalkspeed);
}
-void KyraEngine::writeSettings() {
+void KyraEngine_v1::writeSettings() {
bool speechMute, subtitles;
int talkspeed;
@@ -130,14 +130,14 @@ void KyraEngine::writeSettings() {
ConfMan.flushToDisk();
}
-void KyraEngine::initMainButtonList() {
+void KyraEngine_v1::initMainButtonList() {
_haveScrollButtons = false;
_buttonList = &_buttonData[0];
for (int i = 0; _buttonDataListPtr[i]; ++i)
_buttonList = initButton(_buttonList, _buttonDataListPtr[i]);
}
-Button *KyraEngine::initButton(Button *list, Button *newButton) {
+Button *KyraEngine_v1::initButton(Button *list, Button *newButton) {
if (!newButton)
return list;
if (!list)
@@ -154,7 +154,7 @@ Button *KyraEngine::initButton(Button *list, Button *newButton) {
return list;
}
-int KyraEngine::buttonInventoryCallback(Button *caller) {
+int KyraEngine_v1::buttonInventoryCallback(Button *caller) {
int itemOffset = caller->specialValue - 2;
uint8 inventoryItem = _currentCharacter->inventoryItems[itemOffset];
if (_itemInHand == -1) {
@@ -198,7 +198,7 @@ int KyraEngine::buttonInventoryCallback(Button *caller) {
return 0;
}
-int KyraEngine::buttonAmuletCallback(Button *caller) {
+int KyraEngine_v1::buttonAmuletCallback(Button *caller) {
if (!(_deathHandler & 8))
return 1;
int jewel = caller->specialValue - 0x14;
@@ -294,7 +294,7 @@ int KyraEngine::buttonAmuletCallback(Button *caller) {
return 1;
}
-void KyraEngine::processButtonList(Button *list) {
+void KyraEngine_v1::processButtonList(Button *list) {
if (_haveScrollButtons) {
if (_mouseWheel < 0)
gui_scrollUp(&_scrollUpButton);
@@ -367,7 +367,7 @@ void KyraEngine::processButtonList(Button *list) {
}
}
-void KyraEngine::processButton(Button *button) {
+void KyraEngine_v1::processButton(Button *button) {
if (!button)
return;
@@ -411,7 +411,7 @@ void KyraEngine::processButton(Button *button) {
(this->*callback)(button);
}
-void KyraEngine::processAllMenuButtons() {
+void KyraEngine_v1::processAllMenuButtons() {
if (!_menuButtonList)
return;
@@ -425,7 +425,7 @@ void KyraEngine::processAllMenuButtons() {
return;
}
-void KyraEngine::processMenuButton(Button *button) {
+void KyraEngine_v1::processMenuButton(Button *button) {
if (!_displayMenu)
return;
@@ -449,7 +449,7 @@ void KyraEngine::processMenuButton(Button *button) {
processButton(button);
}
-int KyraEngine::drawBoxCallback(Button *button) {
+int KyraEngine_v1::drawBoxCallback(Button *button) {
if (!_displayMenu)
return 0;
@@ -460,7 +460,7 @@ int KyraEngine::drawBoxCallback(Button *button) {
return 0;
}
-int KyraEngine::drawShadedBoxCallback(Button *button) {
+int KyraEngine_v1::drawShadedBoxCallback(Button *button) {
if (!_displayMenu)
return 0;
@@ -471,7 +471,7 @@ int KyraEngine::drawShadedBoxCallback(Button *button) {
return 0;
}
-void KyraEngine::setGUILabels() {
+void KyraEngine_v1::setGUILabels() {
int offset = 0;
int offsetOptions = 0;
int offsetMainMenu = 0;
@@ -561,7 +561,7 @@ void KyraEngine::setGUILabels() {
_onCDString = _guiStrings[21];
}
-int KyraEngine::buttonMenuCallback(Button *caller) {
+int KyraEngine_v1::buttonMenuCallback(Button *caller) {
_displayMenu = true;
assert(_guiStrings);
@@ -584,9 +584,9 @@ int KyraEngine::buttonMenuCallback(Button *caller) {
_screen->setPaletteIndex(0xFE, 60, 60, 0);
for (int i = 0; i < 6; i++) {
_menuButtonData[i].process0 = _menuButtonData[i].process1 = _menuButtonData[i].process2 = 4;
- _menuButtonData[i].process0PtrCallback = &KyraEngine::drawShadedBoxCallback;
- _menuButtonData[i].process1PtrCallback = &KyraEngine::drawBoxCallback;
- _menuButtonData[i].process2PtrCallback = &KyraEngine::drawShadedBoxCallback;
+ _menuButtonData[i].process0PtrCallback = &KyraEngine_v1::drawShadedBoxCallback;
+ _menuButtonData[i].process1PtrCallback = &KyraEngine_v1::drawBoxCallback;
+ _menuButtonData[i].process2PtrCallback = &KyraEngine_v1::drawShadedBoxCallback;
}
_screen->savePageToDisk("SEENPAGE.TMP", 0);
@@ -627,7 +627,7 @@ int KyraEngine::buttonMenuCallback(Button *caller) {
return 0;
}
-void KyraEngine::initMenu(Menu &menu) {
+void KyraEngine_v1::initMenu(Menu &menu) {
_menuButtonList = 0;
_screen->hideMouse();
@@ -707,14 +707,14 @@ void KyraEngine::initMenu(Menu &menu) {
_scrollUpButton.x = menu.scrollUpBtnX + menu.x;
_scrollUpButton.y = menu.scrollUpBtnY + menu.y;
- _scrollUpButton.buttonCallback = &KyraEngine::gui_scrollUp;
+ _scrollUpButton.buttonCallback = &KyraEngine_v1::gui_scrollUp;
_scrollUpButton.nextButton = 0;
_menuButtonList = initButton(_menuButtonList, &_scrollUpButton);
processMenuButton(&_scrollUpButton);
_scrollDownButton.x = menu.scrollDownBtnX + menu.x;
_scrollDownButton.y = menu.scrollDownBtnY + menu.y;
- _scrollDownButton.buttonCallback = &KyraEngine::gui_scrollDown;
+ _scrollDownButton.buttonCallback = &KyraEngine_v1::gui_scrollDown;
_scrollDownButton.nextButton = 0;
_menuButtonList = initButton(_menuButtonList, &_scrollDownButton);
processMenuButton(&_scrollDownButton);
@@ -726,7 +726,7 @@ void KyraEngine::initMenu(Menu &menu) {
_screen->updateScreen();
}
-void KyraEngine::calcCoords(Menu &menu) {
+void KyraEngine_v1::calcCoords(Menu &menu) {
assert(menu.nrOfItems < 7);
int widthBackup = _screen->_charWidth;
@@ -798,7 +798,7 @@ void KyraEngine::calcCoords(Menu &menu) {
_screen->_charWidth = widthBackup;
}
-void KyraEngine::gui_getInput() {
+void KyraEngine_v1::gui_getInput() {
Common::Event event;
static uint32 lastScreenUpdate = 0;
uint32 now = _system->getMillis();
@@ -841,22 +841,22 @@ void KyraEngine::gui_getInput() {
_system->delayMillis(3);
}
-int KyraEngine::gui_resumeGame(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_resumeGame()");
+int KyraEngine_v1::gui_resumeGame(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_resumeGame()");
processMenuButton(button);
_displayMenu = false;
return 0;
}
-const char *KyraEngine::getSavegameFilename(int num) {
+const char *KyraEngine_v1::getSavegameFilename(int num) {
static char saveLoadSlot[12];
sprintf(saveLoadSlot, "%s.%.3d", _targetName.c_str(), num);
return saveLoadSlot;
}
-int KyraEngine::getNextSavegameSlot() {
+int KyraEngine_v1::getNextSavegameSlot() {
Common::InSaveFile *in;
for (int i = 1; i < 1000; i++) {
@@ -869,7 +869,7 @@ int KyraEngine::getNextSavegameSlot() {
return 0;
}
-void KyraEngine::setupSavegames(Menu &menu, int num) {
+void KyraEngine_v1::setupSavegames(Menu &menu, int num) {
Common::InSaveFile *in;
static char savenames[5][31];
uint8 startSlot;
@@ -900,8 +900,8 @@ void KyraEngine::setupSavegames(Menu &menu, int num) {
}
}
-int KyraEngine::gui_saveGameMenu(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_saveGameMenu()");
+int KyraEngine_v1::gui_saveGameMenu(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_saveGameMenu()");
processMenuButton(button);
_menu[2].item[5].enabled = true;
@@ -911,7 +911,7 @@ int KyraEngine::gui_saveGameMenu(Button *button) {
_menu[2].menuName = _guiStrings[8]; // Select a position to save to:
_specialSavegameString = _guiStrings[9]; // [ EMPTY SLOT ]
for (int i = 0; i < 5; i++)
- _menu[2].item[i].callback = &KyraEngine::gui_saveGame;
+ _menu[2].item[i].callback = &KyraEngine_v1::gui_saveGame;
_savegameOffset = 0;
setupSavegames(_menu[2], 5);
@@ -940,8 +940,8 @@ int KyraEngine::gui_saveGameMenu(Button *button) {
return 0;
}
-int KyraEngine::gui_loadGameMenu(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_loadGameMenu()");
+int KyraEngine_v1::gui_loadGameMenu(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_loadGameMenu()");
if (_menuDirectlyToLoad) {
_menu[2].item[5].enabled = false;
} else {
@@ -955,7 +955,7 @@ int KyraEngine::gui_loadGameMenu(Button *button) {
_specialSavegameString = _newGameString[0]; //[ START A NEW GAME ]
_menu[2].menuName = _guiStrings[7]; // Which game would you like to reload?
for (int i = 0; i < 5; i++)
- _menu[2].item[i].callback = &KyraEngine::gui_loadGame;
+ _menu[2].item[i].callback = &KyraEngine_v1::gui_loadGame;
_savegameOffset = 0;
setupSavegames(_menu[2], 5);
@@ -987,7 +987,7 @@ int KyraEngine::gui_loadGameMenu(Button *button) {
return 0;
}
-void KyraEngine::gui_redrawTextfield() {
+void KyraEngine_v1::gui_redrawTextfield() {
_screen->fillRect(38, 91, 287, 102, 250);
_text->printText(_savegameName, 38, 92, 253, 0, 0);
@@ -999,7 +999,7 @@ void KyraEngine::gui_redrawTextfield() {
_screen->updateScreen();
}
-void KyraEngine::gui_updateSavegameString() {
+void KyraEngine_v1::gui_updateSavegameString() {
int length;
if (_keyPressed.keycode) {
@@ -1026,8 +1026,8 @@ void KyraEngine::gui_updateSavegameString() {
_keyPressed.reset();
}
-int KyraEngine::gui_saveGame(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_saveGame()");
+int KyraEngine_v1::gui_saveGame(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_saveGame()");
processMenuButton(button);
_gameToLoad = button->specialValue;
@@ -1074,16 +1074,16 @@ int KyraEngine::gui_saveGame(Button *button) {
return 0;
}
-int KyraEngine::gui_savegameConfirm(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_savegameConfirm()");
+int KyraEngine_v1::gui_savegameConfirm(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_savegameConfirm()");
processMenuButton(button);
_displaySubMenu = false;
return 0;
}
-int KyraEngine::gui_loadGame(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_loadGame()");
+int KyraEngine_v1::gui_loadGame(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_loadGame()");
processMenuButton(button);
_displaySubMenu = false;
_gameToLoad = button->specialValue;
@@ -1091,8 +1091,8 @@ int KyraEngine::gui_loadGame(Button *button) {
return 0;
}
-int KyraEngine::gui_cancelSubMenu(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_cancelLoadGameMenu()");
+int KyraEngine_v1::gui_cancelSubMenu(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_cancelLoadGameMenu()");
processMenuButton(button);
_displaySubMenu = false;
_cancelSubMenu = true;
@@ -1100,8 +1100,8 @@ int KyraEngine::gui_cancelSubMenu(Button *button) {
return 0;
}
-int KyraEngine::gui_quitPlaying(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_quitPlaying()");
+int KyraEngine_v1::gui_quitPlaying(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_quitPlaying()");
processMenuButton(button);
if (gui_quitConfirm(_guiStrings[14])) { // Are you sure you want to quit playing?
@@ -1114,8 +1114,8 @@ int KyraEngine::gui_quitPlaying(Button *button) {
return 0;
}
-bool KyraEngine::gui_quitConfirm(const char *str) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_quitConfirm()");
+bool KyraEngine_v1::gui_quitConfirm(const char *str) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_quitConfirm()");
_screen->loadPageFromDisk("SEENPAGE.TMP", 0);
_screen->savePageToDisk("SEENPAGE.TMP", 0);
@@ -1139,8 +1139,8 @@ bool KyraEngine::gui_quitConfirm(const char *str) {
return !_cancelSubMenu;
}
-int KyraEngine::gui_quitConfirmYes(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_quitConfirmYes()");
+int KyraEngine_v1::gui_quitConfirmYes(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_quitConfirmYes()");
processMenuButton(button);
_displaySubMenu = false;
_cancelSubMenu = false;
@@ -1148,8 +1148,8 @@ int KyraEngine::gui_quitConfirmYes(Button *button) {
return 0;
}
-int KyraEngine::gui_quitConfirmNo(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_quitConfirmNo()");
+int KyraEngine_v1::gui_quitConfirmNo(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_quitConfirmNo()");
processMenuButton(button);
_displaySubMenu = false;
_cancelSubMenu = true;
@@ -1157,8 +1157,8 @@ int KyraEngine::gui_quitConfirmNo(Button *button) {
return 0;
}
-int KyraEngine::gui_gameControlsMenu(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_gameControlsMenu()");
+int KyraEngine_v1::gui_gameControlsMenu(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_gameControlsMenu()");
readSettings();
@@ -1175,14 +1175,14 @@ int KyraEngine::gui_gameControlsMenu(Button *button) {
}
_menu[5].item[3].labelString = _voiceTextString; //"Voice / Text "
- _menu[5].item[3].callback = &KyraEngine::gui_controlsChangeVoice;
+ _menu[5].item[3].callback = &KyraEngine_v1::gui_controlsChangeVoice;
} else {
//_menu[5].height = 136;
//_menu[5].item[5].y = 110;
_menu[5].item[4].enabled = 0;
_menu[5].item[3].labelString = _textSpeedString; // "Text speed "
- _menu[5].item[3].callback = &KyraEngine::gui_controlsChangeText;
+ _menu[5].item[3].callback = &KyraEngine_v1::gui_controlsChangeText;
}
gui_setupControls(_menu[5]);
@@ -1208,8 +1208,8 @@ int KyraEngine::gui_gameControlsMenu(Button *button) {
return 0;
}
-void KyraEngine::gui_setupControls(Menu &menu) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_setupControls()");
+void KyraEngine_v1::gui_setupControls(Menu &menu) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_setupControls()");
switch (_configMusic) {
case 0:
@@ -1299,8 +1299,8 @@ void KyraEngine::gui_setupControls(Menu &menu) {
initMenu(menu);
}
-int KyraEngine::gui_controlsChangeMusic(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_controlsChangeMusic()");
+int KyraEngine_v1::gui_controlsChangeMusic(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_controlsChangeMusic()");
processMenuButton(button);
_configMusic = ++_configMusic % (_flags.platform == Common::kPlatformFMTowns ? 3 : 2);
@@ -1308,8 +1308,8 @@ int KyraEngine::gui_controlsChangeMusic(Button *button) {
return 0;
}
-int KyraEngine::gui_controlsChangeSounds(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_controlsChangeSounds()");
+int KyraEngine_v1::gui_controlsChangeSounds(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_controlsChangeSounds()");
processMenuButton(button);
_configSounds = !_configSounds;
@@ -1317,8 +1317,8 @@ int KyraEngine::gui_controlsChangeSounds(Button *button) {
return 0;
}
-int KyraEngine::gui_controlsChangeWalk(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_controlsChangeWalk()");
+int KyraEngine_v1::gui_controlsChangeWalk(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_controlsChangeWalk()");
processMenuButton(button);
_configWalkspeed = ++_configWalkspeed % 5;
@@ -1327,8 +1327,8 @@ int KyraEngine::gui_controlsChangeWalk(Button *button) {
return 0;
}
-int KyraEngine::gui_controlsChangeText(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_controlsChangeText()");
+int KyraEngine_v1::gui_controlsChangeText(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_controlsChangeText()");
processMenuButton(button);
_configTextspeed = ++_configTextspeed % 4;
@@ -1336,8 +1336,8 @@ int KyraEngine::gui_controlsChangeText(Button *button) {
return 0;
}
-int KyraEngine::gui_controlsChangeVoice(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_controlsChangeVoice()");
+int KyraEngine_v1::gui_controlsChangeVoice(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_controlsChangeVoice()");
processMenuButton(button);
_configVoice = ++_configVoice % 3;
@@ -1345,14 +1345,14 @@ int KyraEngine::gui_controlsChangeVoice(Button *button) {
return 0;
}
-int KyraEngine::gui_controlsApply(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_controlsApply()");
+int KyraEngine_v1::gui_controlsApply(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_controlsApply()");
writeSettings();
return gui_cancelSubMenu(button);
}
-int KyraEngine::gui_scrollUp(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_scrollUp()");
+int KyraEngine_v1::gui_scrollUp(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_scrollUp()");
processMenuButton(button);
if (_savegameOffset > 0) {
@@ -1363,8 +1363,8 @@ int KyraEngine::gui_scrollUp(Button *button) {
return 0;
}
-int KyraEngine::gui_scrollDown(Button *button) {
- debugC(9, kDebugLevelGUI, "KyraEngine::gui_scrollDown()");
+int KyraEngine_v1::gui_scrollDown(Button *button) {
+ debugC(9, kDebugLevelGUI, "KyraEngine_v1::gui_scrollDown()");
processMenuButton(button);
_savegameOffset++;
@@ -1374,7 +1374,7 @@ int KyraEngine::gui_scrollDown(Button *button) {
return 0;
}
-void KyraEngine::gui_processHighlights(Menu &menu) {
+void KyraEngine_v1::gui_processHighlights(Menu &menu) {
int x1, y1, x2, y2;
Common::Point mouse = getMousePos();
@@ -1403,7 +1403,7 @@ void KyraEngine::gui_processHighlights(Menu &menu) {
}
}
-void KyraEngine::gui_redrawText(Menu menu) {
+void KyraEngine_v1::gui_redrawText(Menu menu) {
int textX;
int i = menu.highlightedItem;
@@ -1422,7 +1422,7 @@ void KyraEngine::gui_redrawText(Menu menu) {
_text->printText(menu.item[i].itemString, textX, textY, menu.item[i].textColor, 0, 0);
}
-void KyraEngine::gui_redrawHighlight(Menu menu) {
+void KyraEngine_v1::gui_redrawHighlight(Menu menu) {
int textX;
int i = menu.highlightedItem;
@@ -1441,7 +1441,7 @@ void KyraEngine::gui_redrawHighlight(Menu menu) {
_text->printText(menu.item[i].itemString, textX, textY, menu.item[i].highlightColor, 0, 0);
}
-void KyraEngine::gui_fadePalette() {
+void KyraEngine_v1::gui_fadePalette() {
if (_flags.platform == Common::kPlatformAmiga)
return;
@@ -1461,7 +1461,7 @@ void KyraEngine::gui_fadePalette() {
_screen->fadePalette(_screen->_currentPalette, 2);
}
-void KyraEngine::gui_restorePalette() {
+void KyraEngine_v1::gui_restorePalette() {
if (_flags.platform == Common::kPlatformAmiga)
return;
@@ -1469,172 +1469,5 @@ void KyraEngine::gui_restorePalette() {
_screen->fadePalette(_screen->_currentPalette, 2);
}
-#pragma mark -
-
-// Kyra 2 and 3 main menu
-
-void KyraEngine::gui_updateMainMenuAnimation() {
- _screen->updateScreen();
-}
-
-bool KyraEngine::gui_mainMenuGetInput() {
- Common::Event event;
-
- while (_eventMan->pollEvent(event)) {
- switch (event.type) {
- case Common::EVENT_QUIT:
- quitGame();
- break;
- case Common::EVENT_LBUTTONUP:
- return true;
- default:
- break;
- }
- }
- return false;
-}
-
-int KyraEngine::gui_handleMainMenu() {
- debugC(9, kDebugLevelMain, "KyraEngine::gui_handleMainMenu()");
- int command = -1;
-
- uint8 colorMap[16];
- memset(colorMap, 0, sizeof(colorMap));
- _screen->setTextColorMap(colorMap);
-
- const char * const *strings = &_mainMenuStrings[_lang << 2];
- Screen::FontId oldFont = _screen->setFont(Screen::FID_8_FNT);
- int charWidthBackUp = _screen->_charWidth;
-
- _screen->_charWidth = -2;
- _screen->setScreenDim(3);
- int backUpX = _screen->_curDim->sx;
- int backUpY = _screen->_curDim->sy;
- int backUpWidth = _screen->_curDim->w;
- int backUpHeight = _screen->_curDim->h;
- _screen->copyRegion(backUpX, backUpY, backUpX, backUpY, backUpWidth, backUpHeight, 0, 3);
-
- int x = _screen->_curDim->sx << 3;
- int y = _screen->_curDim->sy;
- int width = _screen->_curDim->w << 3;
- int height = _screen->_curDim->h;
-
- gui_drawMainBox(x, y, width, height, 1);
- gui_drawMainBox(x + 1, y + 1, width - 2, height - 2, 0);
-
- int selected = 0;
-
- gui_drawMainMenu(strings, selected);
-
- _screen->showMouse();
-
- int fh = _screen->getFontHeight();
- int textPos = ((_screen->_curDim->w >> 1) + _screen->_curDim->sx) << 3;
-
- Common::Rect menuRect(x + 16, y + 4, x + width - 16, y + 4 + fh * 4);
-
- while (!_quitFlag) {
- gui_updateMainMenuAnimation();
- bool mousePressed = gui_mainMenuGetInput();
-
- Common::Point mouse = getMousePos();
- if (menuRect.contains(mouse)) {
- int item = (mouse.y - menuRect.top) / fh;
-
- if (item != selected) {
- gui_printString(strings[selected], textPos, menuRect.top + selected * fh, 0x80, 0, 5);
- gui_printString(strings[item], textPos, menuRect.top + item * fh, 0xFF, 0, 5);
-
- selected = item;
- }
-
- if (mousePressed) {
- // TODO: Flash the text
- command = item;
- break;
- }
- }
- _system->delayMillis(10);
- }
-
- if (_quitFlag)
- command = -1;
-
- _screen->copyRegion(backUpX, backUpY, backUpX, backUpY, backUpWidth, backUpHeight, 3, 0);
- _screen->_charWidth = charWidthBackUp;
- _screen->setFont(oldFont);
-
- return command;
-}
-
-void KyraEngine::gui_drawMainMenu(const char * const *strings, int select) {
- debugC(9, kDebugLevelMain, "KyraEngine::gui_drawMainMenu(%p)", (const void*)strings);
- static const uint16 menuTable[] = { 0x01, 0x04, 0x0C, 0x04, 0x00, 0x80, 0xFF, 0x00, 0x01, 0x02, 0x03 };
-
- int top = _screen->_curDim->sy;
- top += menuTable[1];
-
- for (int i = 0; i < menuTable[3]; ++i) {
- int curY = top + i * _screen->getFontHeight();
- int color = (i == select) ? menuTable[6] : menuTable[5];
- gui_printString(strings[i], ((_screen->_curDim->w >> 1) + _screen->_curDim->sx) << 3, curY, color, 0, 5);
- }
-}
-
-void KyraEngine::gui_drawMainBox(int x, int y, int w, int h, int fill) {
- debugC(9, kDebugLevelMain, "KyraEngine::gui_drawMainBox(%d, %d, %d, %d, %d)", x, y, w, h, fill);
- static const uint8 kyra3ColorTable[] = { 0x16, 0x19, 0x1A, 0x16 };
- static const uint8 kyra2ColorTable[] = { 0x0, 0x19, 0x28, 0xc8 };
-
- const uint8 *colorTable;
- if (_flags.gameID == GI_KYRA3)
- colorTable = kyra3ColorTable;
- else
- colorTable = kyra2ColorTable;
-
- --w; --h;
-
- if (fill)
- _screen->fillRect(x, y, x+w, y+h, colorTable[0]);
-
- _screen->drawClippedLine(x, y+h, x+w, y+h, colorTable[1]);
- _screen->drawClippedLine(x+w, y, x+w, y+h, colorTable[1]);
- _screen->drawClippedLine(x, y, x+w, y, colorTable[2]);
- _screen->drawClippedLine(x, y, x, y+h, colorTable[2]);
-
- _screen->setPagePixel(_screen->_curPage, x, y+h, colorTable[3]);
- _screen->setPagePixel(_screen->_curPage, x+w, y, colorTable[3]);
-}
-
-void KyraEngine::gui_printString(const char *format, int x, int y, int col1, int col2, int flags, ...) {
- debugC(9, kDebugLevelMain, "KyraEngine::gui_printString('%s', %d, %d, %d, %d, %d, ...)", format, x, y, col1, col2, flags);
- if (!format)
- return;
-
- char string[512];
- va_list vaList;
- va_start(vaList, flags);
- vsprintf(string, format, vaList);
- va_end(vaList);
-
- if (flags & 1)
- x -= _screen->getTextWidth(string) >> 1;
-
- if (flags & 2)
- x -= _screen->getTextWidth(string);
-
- if (flags & 4) {
- _screen->printText(string, x - 1, y, 240, col2);
- _screen->printText(string, x, y + 1, 240, col2);
- }
-
- if (flags & 8) {
- _screen->printText(string, x - 1, y, 227, col2);
- _screen->printText(string, x, y + 1, 227, col2);
- }
-
- _screen->printText(string, x, y, col1, col2);
-}
-
} // end of namespace Kyra