aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/gui_v3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/gui_v3.cpp')
-rw-r--r--engines/kyra/gui_v3.cpp366
1 files changed, 0 insertions, 366 deletions
diff --git a/engines/kyra/gui_v3.cpp b/engines/kyra/gui_v3.cpp
deleted file mode 100644
index c797ca0812..0000000000
--- a/engines/kyra/gui_v3.cpp
+++ /dev/null
@@ -1,366 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-#include "kyra/kyra_v3.h"
-#include "kyra/text_v3.h"
-#include "kyra/wsamovie.h"
-
-namespace Kyra {
-
-void KyraEngine_v3::showMessage(const char *string, uint8 c0, uint8 c1) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::showMessage('%s', %d, %d)", string, c0, c1);
- _shownMessage = string;
- _screen->hideMouse();
-
- restoreCommandLine();
- _restoreCommandLine = false;
-
- if (string) {
- int x = _text->getCenterStringX(string, 0, 320);
- int pageBackUp = _screen->_curPage;
- _screen->_curPage = 0;
- _text->printText(string, x, _commandLineY, c0, c1, 0);
- _screen->_curPage = pageBackUp;
- _screen->updateScreen();
- setCommandLineRestoreTimer(7);
- }
-
- _screen->showMouse();
-}
-
-void KyraEngine_v3::showMessageFromCCode(int string, uint8 c0, int) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::showMessageFromCCode(%d, %d, -)", string, c0);
- showMessage((const char*)getTableEntry(_cCodeFile, string), c0, 0xF0);
-}
-
-void KyraEngine_v3::updateItemCommand(int item, int str, uint8 c0) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::updateItemCommand(%d, %d, %d)", item, str, c0);
- char buffer[100];
- char *src = (char*)getTableEntry(_itemFile, item);
-
- while (*src != ' ')
- ++src;
- ++src;
-
- *src = toupper(*src);
-
- strcpy(buffer, src);
- strcat(buffer, " ");
- strcat(buffer, (const char*)getTableEntry(_cCodeFile, str));
-
- showMessage(buffer, c0, 0xF0);
-}
-
-void KyraEngine_v3::updateCommandLine() {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::updateCommandLine()");
- if (_restoreCommandLine) {
- restoreCommandLine();
- _restoreCommandLine = false;
- }
-}
-
-void KyraEngine_v3::restoreCommandLine() {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::restoreCommandLine()");
- int y = _inventoryState ? 144 : 188;
- _screen->copyBlockToPage(0, 0, y, 320, 12, _interfaceCommandLine);
-}
-
-void KyraEngine_v3::updateCLState() {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::updateCLState()");
- if (_inventoryState)
- _commandLineY = 145;
- else
- _commandLineY = 189;
-}
-
-void KyraEngine_v3::showInventory() {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::showInventory()");
- if (!_screen->isMouseVisible())
- return;
- if (queryGameFlag(3))
- return;
-
- _screen->copyBlockToPage(3, 0, 0, 320, 56, _interface);
- drawMalcolmsMoodText();
-
- _inventoryState = true;
- updateCLState();
-
- redrawInventory(30);
- drawMalcolmsMoodPointer(-1, 30);
- //XXX
-
- if (queryGameFlag(0x97))
- drawJestersStaff(1, 30);
-
- _screen->hideMouse();
-
- if (_itemInHand < 0) {
- _handItemSet = -1;
- _screen->setMouseCursor(0, 0, getShapePtr(0));
- }
-
- _screen->copyRegion(0, 188, 0, 0, 320, 12, 0, 2, Screen::CR_NO_P_CHECK);
-
- if (_inventoryScrollSpeed == -1) {
- uint32 endTime = _system->getMillis() + _tickLength * 15;
- int times = 0;
- while (_system->getMillis() < endTime) {
- _screen->copyRegion(0, 188, 0, 0, 320, 12, 0, 2, Screen::CR_NO_P_CHECK);
- _screen->copyRegion(0, 188, 0, 0, 320, 12, 0, 2, Screen::CR_NO_P_CHECK);
- ++times;
- }
-
- times = MAX(times, 1);
-
- int speed = 60 / times;
- if (speed <= 1)
- _inventoryScrollSpeed = 1;
- else if (speed >= 8)
- _inventoryScrollSpeed = 8;
- else
- _inventoryScrollSpeed = speed;
- }
-
- int height = 12;
- int y = 188;
- int times = 0;
- uint32 waitTill = _system->getMillis() + _tickLength;
-
- while (y > 144) {
- _screen->copyRegion(0, 0, 0, y, 320, height, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->updateScreen();
-
- ++times;
- if (_inventoryScrollSpeed == 1 && times == 3) {
- while (waitTill > _system->getMillis())
- _system->delayMillis(10);
- times = 0;
- waitTill = _system->getMillis() + _tickLength;
- }
-
- height += _inventoryScrollSpeed;
- y -= _inventoryScrollSpeed;
- }
-
- _screen->copyRegion(0, 0, 0, 144, 320, 56, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->updateScreen();
-
- //initInventoryButtonList(0);
-
- restorePage3();
- _screen->showMouse();
-}
-
-void KyraEngine_v3::hideInventory() {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::hideInventory()");
- if (queryGameFlag(3))
- return;
-
- _inventoryState = false;
- updateCLState();
- //initInventoryButtonList(1);
-
- _screen->copyBlockToPage(3, 0, 0, 320, 56, _interface);
- _screen->hideMouse();
-
- restorePage3();
- flagAnimObjsForRefresh();
- drawAnimObjects();
- _screen->copyRegion(0, 144, 0, 0, 320, 56, 0, 2, Screen::CR_NO_P_CHECK);
-
- if (_inventoryScrollSpeed == -1) {
- uint32 endTime = _system->getMillis() + _tickLength * 15;
- int times = 0;
- while (_system->getMillis() < endTime) {
- _screen->copyRegion(0, 144, 0, 0, 320, 12, 0, 2, Screen::CR_NO_P_CHECK);
- _screen->copyRegion(0, 144, 0, 0, 320, 12, 0, 2, Screen::CR_NO_P_CHECK);
- ++times;
- }
-
- times = MAX(times, 1);
-
- int speed = 60 / times;
- if (speed <= 1)
- _inventoryScrollSpeed = 1;
- else if (speed >= 8)
- _inventoryScrollSpeed = 8;
- else
- _inventoryScrollSpeed = speed;
- }
-
- int y = 144;
- int y2 = 144 + _inventoryScrollSpeed;
- uint32 waitTill = _system->getMillis() + _tickLength;
- int times = 0;
-
- while (y2 < 188) {
- _screen->copyRegion(0, 0, 0, y2, 320, 56, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->copyRegion(0, y, 0, y, 320, _inventoryScrollSpeed, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->updateScreen();
-
- ++times;
- if (_inventoryScrollSpeed == 1 && times == 3) {
- while (waitTill > _system->getMillis())
- _system->delayMillis(10);
- times = 0;
- waitTill = _system->getMillis() + _tickLength;
- }
-
- y += _inventoryScrollSpeed;
- y2 += _inventoryScrollSpeed;
- }
-
- _screen->copyRegion(0, 0, 0, 188, 320, 56, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->copyRegion(0, y, 0, y, 320, 188-y, 2, 0, Screen::CR_NO_P_CHECK);
- _screen->showMouse();
-}
-
-void KyraEngine_v3::drawMalcolmsMoodText() {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::drawMalcolmsMoodText()");
- static const int stringId[] = { 0x32, 0x37, 0x3C };
-
- if (queryGameFlag(0x219))
- return;
-
- const char *string = (const char*)getTableEntry(_cCodeFile, stringId[_malcolmsMood]);
-
- Screen::FontId oldFont = _screen->setFont(Screen::FID_8_FNT);
- _screen->_charWidth = -2;
-
- int width = _screen->getTextWidth(string);
-
- _screen->_charWidth = 0;
- _screen->setFont(oldFont);
-
- int pageBackUp = _screen->_curPage;
- const int x = 280 - (width / 2);
- int y = 0;
- if (_inventoryState) {
- y = 189;
- _screen->_curPage = 0;
- } else {
- y = 45;
- _screen->_curPage = 2;
- }
-
- _screen->hideMouse();
- _screen->drawShape(_screen->_curPage, getShapePtr(432), 244, 189, 0, 0);
- _text->printText(string, x, y+1, 0xFF, 0xF0, 0x00);
- _screen->showMouse();
- _screen->_curPage = pageBackUp;
-}
-
-void KyraEngine_v3::drawMalcolmsMoodPointer(int frame, int page) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::drawMalcolmsMoodPointer(%d, %d)", frame, page);
- static const int stateTable[] = {
- 1, 6, 11
- };
-
- if (frame == -1)
- frame = stateTable[_malcolmsMood];
- if (queryGameFlag(0x219))
- frame = 13;
-
- if (page == 0) {
- _invWsa->setX(0);
- _invWsa->setY(0);
- _invWsa->setDrawPage(0);
- _invWsa->displayFrame(frame, 0);
- _screen->updateScreen();
- } else if (page == 30) {
- _invWsa->setX(0);
- _invWsa->setY(-144);
- _invWsa->setDrawPage(2);
- _invWsa->displayFrame(frame, 0);
- }
-
- _invWsaFrame = frame;
-}
-
-void KyraEngine_v3::drawJestersStaff(int type, int page) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::drawJestersStaff(%d, %d)", type, page);
- int y = 155;
- if (page == 30) {
- page = 2;
- y -= 144;
- }
-
- int shape = (type != 0) ? 454 : 453;
- _screen->drawShape(page, getShapePtr(shape), 217, y, 0, 0);
-}
-
-void KyraEngine_v3::redrawInventory(int page) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::redrawInventory(%d)", page);
- int yOffset = 0;
-
- if (page == 30) {
- page = 2;
- yOffset = -144;
- }
-
- int pageBackUp = _screen->_curPage;
- _screen->_curPage = page;
- _screen->hideMouse();
-
- for (int i = 0; i < 10; ++i) {
- clearInventorySlot(i, page);
- if (_mainCharacter.inventory[i] != 0xFFFF) {
- _screen->drawShape(page, getShapePtr(_mainCharacter.inventory[i]+248), _inventoryX[i], _inventoryY[i] + yOffset, 0, 0);
- drawInventorySlot(page, _mainCharacter.inventory[i], i);
- }
- }
-
- _screen->showMouse();
- _screen->_curPage = pageBackUp;
-
- if (page == 0 || page == 1)
- _screen->updateScreen();
-}
-
-void KyraEngine_v3::clearInventorySlot(int slot, int page) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::clearInventorySlot(%d, %d)", slot, page);
- int yOffset = 0;
- if (page == 30) {
- page = 2;
- yOffset = -144;
- }
-
- _screen->drawShape(page, getShapePtr(slot+422), _inventoryX[slot], _inventoryY[slot] + yOffset, 0, 0);
-}
-
-void KyraEngine_v3::drawInventorySlot(int page, int item, int slot) {
- debugC(9, kDebugLevelMain, "KyraEngine_v3::drawInventorySlot(%d, %d, %d)", page, item, slot);
- int yOffset = 0;
- if (page == 30) {
- page = 2;
- yOffset = -144;
- }
-
- _screen->drawShape(page, getShapePtr(item+248), _inventoryX[slot], _inventoryY[slot] + yOffset, 0, 0);
-}
-
-} // end of namespace Kyra
-