aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v1.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-03-28 09:00:30 +0000
committerJohannes Schickel2008-03-28 09:00:30 +0000
commitb910d8d9bb0cd103d30511e61e00c72a89b50748 (patch)
treeeb52aa1ceca26129d3fb84849ece4a697b92ee1a /engines/kyra/kyra_v1.cpp
parent7f81de679480acbcc9d2b13e52e0938675252d27 (diff)
downloadscummvm-rg350-b910d8d9bb0cd103d30511e61e00c72a89b50748.tar.gz
scummvm-rg350-b910d8d9bb0cd103d30511e61e00c72a89b50748.tar.bz2
scummvm-rg350-b910d8d9bb0cd103d30511e61e00c72a89b50748.zip
Refactored Kyrandia GUI code a bit.
svn-id: r31290
Diffstat (limited to 'engines/kyra/kyra_v1.cpp')
-rw-r--r--engines/kyra/kyra_v1.cpp30
1 files changed, 18 insertions, 12 deletions
diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp
index 08fdd117cc..39df3bbcc6 100644
--- a/engines/kyra/kyra_v1.cpp
+++ b/engines/kyra/kyra_v1.cpp
@@ -88,14 +88,14 @@ KyraEngine_v1::KyraEngine_v1(OSystem *system, const GameFlags &flags)
_scriptClick = 0;
_characterList = 0;
_movFacingTable = 0;
+ _buttonData = 0;
+ _buttonDataListPtr = 0;
memset(_shapes, 0, sizeof(_shapes));
memset(_movieObjects, 0, sizeof(_movieObjects));
_finalA = _finalB = _finalC = 0;
_endSequenceBackUpRect = 0;
memset(_panPagesTable, 0, sizeof(_panPagesTable));
_npcScriptData = _scriptClickData = 0;
- _scrollUpButton.process0PtrShape = _scrollUpButton.process1PtrShape = _scrollUpButton.process2PtrShape = 0;
- _scrollDownButton.process0PtrShape = _scrollDownButton.process1PtrShape = _scrollDownButton.process2PtrShape = 0;
memset(_sceneAnimTable, 0, sizeof(_sceneAnimTable));
_currHeadShape = 0;
@@ -134,12 +134,17 @@ KyraEngine_v1::~KyraEngine_v1() {
delete [] _movFacingTable;
- delete [] _scrollUpButton.process0PtrShape;
- delete [] _scrollUpButton.process1PtrShape;
- delete [] _scrollUpButton.process2PtrShape;
- delete [] _scrollDownButton.process0PtrShape;
- delete [] _scrollDownButton.process1PtrShape;
- delete [] _scrollDownButton.process2PtrShape;
+ delete [] _gui->_scrollUpButton.data0ShapePtr;
+ delete [] _gui->_scrollUpButton.data1ShapePtr;
+ delete [] _gui->_scrollUpButton.data2ShapePtr;
+ delete [] _gui->_scrollDownButton.data0ShapePtr;
+ delete [] _gui->_scrollDownButton.data1ShapePtr;
+ delete [] _gui->_scrollDownButton.data2ShapePtr;
+
+ delete [] _buttonData;
+ delete [] _buttonDataListPtr;
+
+ delete _gui;
delete [] _itemBkgBackUp[0];
delete [] _itemBkgBackUp[1];
@@ -178,6 +183,8 @@ int KyraEngine_v1::init() {
assert(*_animator);
_text = new TextDisplayer(this, screen());
assert(_text);
+ _gui = new GUI_v1(this);
+ assert(_gui);
initStaticResource();
@@ -193,7 +200,6 @@ int KyraEngine_v1::init() {
_sound->loadSoundFile(0);
setupButtonData();
- setupMenu();
_paletteChanged = 1;
_currentCharacter = 0;
@@ -407,7 +413,7 @@ void KyraEngine_v1::startup() {
_menuDirectlyToLoad = true;
_screen->setMouseCursor(1, 1, _shapes[0]);
_screen->showMouse();
- buttonMenuCallback(0);
+ _gui->buttonMenuCallback(0);
_menuDirectlyToLoad = false;
} else
saveGame(getSavegameFilename(0), "New game");
@@ -437,7 +443,7 @@ void KyraEngine_v1::mainLoop() {
_screen->setMouseCursor(1, 1, _shapes[0]);
destroyMouseItem();
_screen->showMouse();
- buttonMenuCallback(0);
+ _gui->buttonMenuCallback(0);
_deathHandler = 0xFF;
}
@@ -451,7 +457,7 @@ void KyraEngine_v1::mainLoop() {
_screen->showMouse();
- processButtonList(_buttonList);
+ _gui->processButtonList(_buttonList, 0);
updateMousePointer();
_timer->update();
updateTextFade();