diff options
author | Max Horn | 2004-11-20 23:49:11 +0000 |
---|---|---|
committer | Max Horn | 2004-11-20 23:49:11 +0000 |
commit | fa97d4ad897452e0ee2d975c4bf4dda45737e4c3 (patch) | |
tree | 1f7d1789c69003b7210936f3c3749d4cf4d7cccf | |
parent | 5d9b35510d7d6aad9408e12aaebed2a79e3ed826 (diff) | |
download | scummvm-rg350-fa97d4ad897452e0ee2d975c4bf4dda45737e4c3.tar.gz scummvm-rg350-fa97d4ad897452e0ee2d975c4bf4dda45737e4c3.tar.bz2 scummvm-rg350-fa97d4ad897452e0ee2d975c4bf4dda45737e4c3.zip |
Removing walkthrough stuff again (talked to aquadran about this, he had no objections)
svn-id: r15849
-rw-r--r-- | base/engine.cpp | 3 | ||||
-rw-r--r-- | base/engine.h | 3 | ||||
-rw-r--r-- | gui/module.mk | 1 | ||||
-rw-r--r-- | gui/walkthrough.cpp | 264 | ||||
-rw-r--r-- | gui/walkthrough.h | 78 | ||||
-rw-r--r-- | kyra/kyra.cpp | 5 | ||||
-rw-r--r-- | queen/input.cpp | 2 | ||||
-rw-r--r-- | queen/queen.cpp | 3 | ||||
-rw-r--r-- | saga/input.cpp | 4 | ||||
-rw-r--r-- | saga/saga.cpp | 5 | ||||
-rw-r--r-- | scumm/input.cpp | 2 | ||||
-rw-r--r-- | scumm/scumm.cpp | 6 | ||||
-rw-r--r-- | simon/simon.cpp | 7 | ||||
-rw-r--r-- | sky/sky.cpp | 7 | ||||
-rw-r--r-- | sword1/sword1.cpp | 8 | ||||
-rw-r--r-- | sword2/sword2.cpp | 8 |
16 files changed, 0 insertions, 406 deletions
diff --git a/base/engine.cpp b/base/engine.cpp index 5dbdd28e8d..252b9d752b 100644 --- a/base/engine.cpp +++ b/base/engine.cpp @@ -47,8 +47,6 @@ Engine::Engine(OSystem *syst) g_debugLevel = ConfMan.getInt("debuglevel"); _saveFileMan = _system->getSavefileManager(); - - _walkthroughDialog = new GUI::WalkthroughDialog(1.0, 1.0); } Engine::~Engine() { @@ -56,7 +54,6 @@ Engine::~Engine() { delete _mixer; delete _saveFileMan; - delete _walkthroughDialog; g_engine = NULL; } diff --git a/base/engine.h b/base/engine.h index 24d58e51f4..509d8cd526 100644 --- a/base/engine.h +++ b/base/engine.h @@ -25,8 +25,6 @@ #include "common/str.h" #include "common/system.h" -#include "gui/walkthrough.h" - class SoundMixer; class Timer; @@ -39,7 +37,6 @@ public: protected: const Common::String _gameDataPath; SaveFileManager *_saveFileMan; - GUI::WalkthroughDialog *_walkthroughDialog; public: Engine(OSystem *syst); diff --git a/gui/module.mk b/gui/module.mk index ca6946740c..443cb96fef 100644 --- a/gui/module.mk +++ b/gui/module.mk @@ -16,7 +16,6 @@ MODULE_OBJS := \ gui/PopUpWidget.o \ gui/ScrollBarWidget.o \ gui/TabWidget.o \ - gui/walkthrough.o \ gui/widget.o MODULE_DIRS += \ diff --git a/gui/walkthrough.cpp b/gui/walkthrough.cpp deleted file mode 100644 index a65d35320c..0000000000 --- a/gui/walkthrough.cpp +++ /dev/null @@ -1,264 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2002-2004 The ScummVM project - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Header$ - */ - -#include "stdafx.h" - -#include "common/file.h" - -#include "graphics/font.h" - -#include "gui/walkthrough.h" -#include "gui/ScrollBarWidget.h" - -namespace GUI { - -extern const Graphics::NewFont g_consolefont; - -#define kConsoleCharWidth (g_consolefont.getMaxCharWidth()) -#define kConsoleLineHeight (g_consolefont.getFontHeight() + 2) - - - -WalkthroughDialog::WalkthroughDialog(float widthPercent, float heightPercent) - : Dialog(0, 0, 1, 1), - _initialized(false), _widthPercent(widthPercent), _heightPercent(heightPercent) { - _gameName[0] = 0; -} - -WalkthroughDialog::~WalkthroughDialog() { - destroy(); -} - -static int getNextWordLength(byte *src, int maxLength) { - int l; - - for (l = 0; l < maxLength; l++) { - byte tmp = src[l]; - if (tmp <= ' ') - break; - } - - return l; -} - -bool WalkthroughDialog::loadWalkthroughText() { - char filename[260]; - File *file = new File(); - - sprintf(filename, "%s.wkt", _gameName); - file->open(filename); - if (!file->isOpen()) { - delete file; - return false; - } - int bufferSize = file->size(); - byte *buffer = (byte *)malloc(bufferSize); - file->read(buffer, bufferSize); - file->close(); - - delete file; - - _linesArray.clear(); - - int currentLinePos = 0; - byte *currentBuffer = buffer; - byte *lineBuffer = (byte *)malloc(_lineWidth + 1); - lineBuffer[0] = 0; - - for (;;) { - if ((currentBuffer - buffer) >= bufferSize) - break; - int wordLength = getNextWordLength(currentBuffer, _lineWidth); - if (((currentLinePos + wordLength) < _lineWidth) && - ((*currentBuffer != 0x0a) && (*currentBuffer != 0x0d))) { - if (*currentBuffer <= ' ') { - lineBuffer[currentLinePos++] = ' '; - currentBuffer++; - } else { - memcpy(lineBuffer + currentLinePos, currentBuffer, wordLength); - currentLinePos += wordLength; - currentBuffer += wordLength; - if ((currentLinePos + 1) < _lineWidth) { - lineBuffer[currentLinePos] = ' '; - currentLinePos++; - currentBuffer++; - } - } - } else { - if (*currentBuffer == 0x0d) { - currentBuffer++; - if ((*currentBuffer == 0x0a) && ((currentBuffer - buffer) < bufferSize)) { - currentBuffer++; - } - } else if (*currentBuffer == 0x0a) { - currentBuffer++; - } - lineBuffer[currentLinePos] = 0; - Entry line; - line.text = String((char *)lineBuffer); - _linesArray.push_back(line); - lineBuffer[0] = 0; - currentLinePos = 0; - } - } - - free(buffer); - free(lineBuffer); - - return true; -} - -void WalkthroughDialog::setGameName(const char *gameName) { - strcpy(_gameName, gameName); -} - -void WalkthroughDialog::create() { - if (_initialized) - destroy(); - - // Setup basic layout/dialog size - reflowLayout(); - - // Add scrollbar - _scrollBar = new ScrollBarWidget(this, _w - kScrollBarWidth - 1, 0, kScrollBarWidth, _h); - _scrollBar->setTarget(this); - - _currentPos = 0; - _scrollLine = _linesPerPage - 1; - - _linesArray.clear(); - - loadWalkthroughText(); - - _initialized = true; -} - -void WalkthroughDialog::destroy() { - if (!_initialized) - return; - - _linesArray.clear(); - - _initialized = false; -} - -void WalkthroughDialog::reflowLayout() { - // Calculate the real width/height (rounded to char/line multiples) - _w = (uint16)(_widthPercent * g_system->getOverlayWidth()); - _h = (uint16)((_heightPercent * g_system->getOverlayHeight() - 2) / kConsoleLineHeight); - _h = _h * kConsoleLineHeight + 2; - - // Calculate depending values - _lineWidth = (_w - kScrollBarWidth - 2) / kConsoleCharWidth; - _linesPerPage = (_h - 2) / kConsoleLineHeight; -} - -void WalkthroughDialog::open() { - Dialog::open(); -} - -void WalkthroughDialog::drawDialog() { - // Blend over the background - g_gui.fillRect(_x, _y, _w, _h, g_gui._bgcolor); - - // Draw a border - g_gui.hLine(_x, _y + _h - 1, _x + _w - 1, g_gui._color); - - // Draw text - int y = _y + 2; - - for (int line = 0; (line < _linesPerPage) && ((_currentPos + line) < (int)_linesArray.size()); line++) { - const char *text = _linesArray[line + _currentPos].text.c_str(); - int textLen = strlen(text); - int x = _x + 1; - for (int column = 0; (column < _lineWidth) && (column < textLen); column++) { - byte c = text[column]; - g_gui.drawChar(c, x, y, g_gui._textcolor, &g_consolefont); - x += kConsoleCharWidth; - } - y += kConsoleLineHeight; - } - - // Draw the scrollbar - _scrollBar->_numEntries = _linesArray.size(); - _scrollBar->_currentPos = _currentPos; - _scrollBar->_entriesPerPage = _linesPerPage; - _scrollBar->recalc(); - _scrollBar->draw(); - - // Finally blit it all to the screen - g_gui.addDirtyRect(_x, _y, _w, _h); -} - - -void WalkthroughDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) { - switch (cmd) { - case kSetPositionCmd: - _currentPos = _scrollBar->_currentPos; - drawDialog(); - break; - default: - return; - } -} - -void WalkthroughDialog::handleMouseWheel(int x, int y, int direction) { - _scrollBar->handleMouseWheel(x, y, direction); -} - -void WalkthroughDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) { - if ((modifiers == OSystem::KBD_CTRL) && (keycode == 'w')) { - close(); - return; - } - switch (keycode) { - case 256 + 17: // up arrow - _currentPos--; - break; - case 256 + 18: // down arrow - _currentPos++; - break; - case 256 + 22: // home - _currentPos = 0; - break; - case 256 + 23: // end - _currentPos = _linesArray.size() - _linesPerPage; - break; - case 256 + 24: // page up - _currentPos -= _linesPerPage; - break; - case 256 + 25: // page down - _currentPos += _linesPerPage; - break; - default: - return; - } - if (_currentPos < 0) { - _currentPos = 0; - } - if ((_currentPos + _linesPerPage) >= (int)_linesArray.size()) { - _currentPos = _linesArray.size() - _linesPerPage; - } - - drawDialog(); -} - - -} // End of namespace GUI diff --git a/gui/walkthrough.h b/gui/walkthrough.h deleted file mode 100644 index 380f350529..0000000000 --- a/gui/walkthrough.h +++ /dev/null @@ -1,78 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2002-2004 The ScummVM project - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Header$ - */ - -#ifndef WALKTHROUGH_DIALOG_H -#define WALKTHROUGH_DIALOG_H - -#include "common/array.h" -#include "common/str.h" - -#include "gui/dialog.h" -#include "gui/newgui.h" - -#include <stdarg.h> - -namespace GUI { - -class ScrollBarWidget; - -class WalkthroughDialog : public Dialog { -private: - bool _initialized; - int _lineWidth; - int _linesPerPage; - int _currentPos; - int _scrollLine; - int _firstLineInBuffer; - - typedef Common::String String; - - struct Entry { - String text; - }; - typedef Common::Array<Entry> EntryList; - EntryList _linesArray; - - ScrollBarWidget *_scrollBar; - char _gameName[30]; - - float _widthPercent, _heightPercent; - - bool loadWalkthroughText(); - void reflowLayout(); - -public: - WalkthroughDialog(float widthPercent, float heightPercent); - ~WalkthroughDialog(); - - void setGameName(const char *gameName); - void create(); - void destroy(); - void open(); - void drawDialog(); - - void handleMouseWheel(int x, int y, int direction); - void handleKeyDown(uint16 ascii, int keycode, int modifiers); - void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); -}; - -} // End of namespace GUI - -#endif diff --git a/kyra/kyra.cpp b/kyra/kyra.cpp index d62f32f2cf..440c1bced1 100644 --- a/kyra/kyra.cpp +++ b/kyra/kyra.cpp @@ -169,9 +169,6 @@ KyraEngine::KyraEngine(GameDetector *detector, OSystem *syst) assert(_npcScript); assert(_currentScript); - - _walkthroughDialog->setGameName(detector->_game.name); - _walkthroughDialog->create(); } KyraEngine::~KyraEngine() { @@ -182,8 +179,6 @@ KyraEngine::~KyraEngine() { delete _npcScript; delete _currentScript; delete _font; - - _walkthroughDialog->destroy(); } void KyraEngine::errorString(const char *buf1, char *buf2) { diff --git a/queen/input.cpp b/queen/input.cpp index 23d174efb7..47bf92737d 100644 --- a/queen/input.cpp +++ b/queen/input.cpp @@ -104,8 +104,6 @@ void Input::delay(uint amount) { _debugger = true; } else if (event.kbd.keycode == 'f') { _fastMode = !_fastMode; - } else if (event.kbd.keycode == 'w') { -// _walkthroughDialog->runModal(); // FIXME } } else { _inKey = event.kbd.keycode; diff --git a/queen/queen.cpp b/queen/queen.cpp index 3b08da89aa..93f2e70e35 100644 --- a/queen/queen.cpp +++ b/queen/queen.cpp @@ -91,7 +91,6 @@ namespace Queen { QueenEngine::QueenEngine(GameDetector *detector, OSystem *syst) : Engine(syst) { - _walkthroughDialog->setGameName(detector->_game.name); } QueenEngine::~QueenEngine() { @@ -108,8 +107,6 @@ QueenEngine::~QueenEngine() { delete _music; delete _sound; delete _walk; - - _walkthroughDialog->destroy(); } void QueenEngine::registerDefaultSettings() { diff --git a/saga/input.cpp b/saga/input.cpp index 88d4c7193f..37f764eee4 100644 --- a/saga/input.cpp +++ b/saga/input.cpp @@ -42,10 +42,6 @@ int SagaEngine::processInput() { switch (event.event_code) { case OSystem::EVENT_KEYDOWN: - if ((event.kbd.flags == OSystem::KBD_CTRL) && (event.kbd.keycode == 'w')) { - _walkthroughDialog->runModal(); - _gfx->updateCursor(); - } if (_vm->_console->isActive()) { in_char = event.kbd.ascii; switch (event.kbd.keycode) { diff --git a/saga/saga.cpp b/saga/saga.cpp index 82d47cae92..dc3353e6ec 100644 --- a/saga/saga.cpp +++ b/saga/saga.cpp @@ -115,12 +115,9 @@ SagaEngine::SagaEngine(GameDetector *detector, OSystem *syst) _mixer->setVolume(ConfMan.getInt("sfx_volume") * ConfMan.getInt("master_volume") / 255); _vm = this; - - _walkthroughDialog->setGameName(detector->_game.name); } SagaEngine::~SagaEngine() { - _walkthroughDialog->destroy(); } void SagaEngine::errorString(const char *buf1, char *buf2) { @@ -220,8 +217,6 @@ void SagaEngine::go() { return; } - _walkthroughDialog->create(); - // Initialize system specific sound _sound = new Sound(this, _mixer, _soundEnabled); if (!_soundEnabled) { diff --git a/scumm/input.cpp b/scumm/input.cpp index 100e5813f0..ed809142d7 100644 --- a/scumm/input.cpp +++ b/scumm/input.cpp @@ -65,8 +65,6 @@ void ScummEngine::parseEvents() { _debugger->attach(); else if (event.kbd.keycode == 's') resourceStats(); - else if (event.kbd.keycode == 'w') - _walkthroughDialog->runModal(); else _keyPressed = event.kbd.ascii; // Normal key press, pass on to the game. } else if (event.kbd.flags & OSystem::KBD_ALT) { diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 3fc1f0e94d..f8abc97773 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -897,8 +897,6 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS } _midi = gs.midi; - - _walkthroughDialog->setGameName(detector->_game.name); } ScummEngine::~ScummEngine() { @@ -945,8 +943,6 @@ ScummEngine::~ScummEngine() { free(_languageIndex); delete _debugger; - - _walkthroughDialog->destroy(); } ScummEngine_v6::ScummEngine_v6(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]) @@ -990,8 +986,6 @@ void ScummEngine::mainInit() { // Initialize backend _system->initSize(_screenWidth, _screenHeight); - _walkthroughDialog->create(); - int cd_num = ConfMan.getInt("cdrom"); if (cd_num >= 0 && (_features & GF_AUDIOTRACKS)) _system->openCD(cd_num); diff --git a/simon/simon.cpp b/simon/simon.cpp index 8bfdaf7f1e..b7519e8ca4 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -718,9 +718,6 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst) // FIXME Use auto dirty rects cleanup code to reduce CPU usage g_system->setFeatureState(OSystem::kFeatureAutoComputeDirtyRects, true); - - _walkthroughDialog->setGameName(detector->_game.name); - _walkthroughDialog->create(); } SimonEngine::~SimonEngine() { @@ -732,8 +729,6 @@ SimonEngine::~SimonEngine() { delete _sound; delete _debugger; - - _walkthroughDialog->destroy(); } void SimonEngine::errorString(const char *buf1, char *buf2) { @@ -4853,8 +4848,6 @@ void SimonEngine::delay(uint amount) { _aboutDialog->runModal(); } else if (event.kbd.keycode == 'f') _fast_mode ^= 1; - else if (event.kbd.keycode == 'w') - _walkthroughDialog->runModal(); else if (event.kbd.keycode == 'd') _debugger->attach(); } diff --git a/sky/sky.cpp b/sky/sky.cpp index e43a6bca29..072c958525 100644 --- a/sky/sky.cpp +++ b/sky/sky.cpp @@ -116,8 +116,6 @@ SystemVars SkyEngine::_systemVars = {0, 0, 0, 0, 4316, 0, 0, false, false }; SkyEngine::SkyEngine(GameDetector *detector, OSystem *syst) : Engine(syst), _fastMode(0) { - _walkthroughDialog->setGameName(detector->_game.name); - _walkthroughDialog->create(); } SkyEngine::~SkyEngine() { @@ -129,8 +127,6 @@ SkyEngine::~SkyEngine() { delete _skyMouse; delete _skyScreen; delete _debugger; - - _walkthroughDialog->destroy(); } void SkyEngine::errorString(const char *buf1, char *buf2) { @@ -465,9 +461,6 @@ void SkyEngine::delay(uint amount) { if (event.kbd.keycode == 'd') { _debugger->attach(); } - if (event.kbd.keycode == 'w') { - _walkthroughDialog->runModal(); - } } // Make sure backspace works right (this fixes a small issue on OS X) diff --git a/sword1/sword1.cpp b/sword1/sword1.cpp index f7db821c6a..1e56aa0944 100644 --- a/sword1/sword1.cpp +++ b/sword1/sword1.cpp @@ -109,8 +109,6 @@ SwordEngine::SwordEngine(GameDetector *detector, OSystem *syst) if (!_mixer->isReady()) warning("Sound initialization failed"); - - _walkthroughDialog->setGameName(detector->_game.name); } SwordEngine::~SwordEngine() { @@ -123,8 +121,6 @@ SwordEngine::~SwordEngine() { delete _mouse; delete _objectMan; delete _resMan; - - _walkthroughDialog->destroy(); } void SwordEngine::initialize(void) { @@ -202,8 +198,6 @@ void SwordEngine::initialize(void) { _objectMan->initialize(); _mouse->initialize(); _control = new Control(_saveFileMan, _resMan, _objectMan, _system, _mouse, _sound, _music, getSavePath()); - - _walkthroughDialog->create(); } void SwordEngine::reinitialize(void) { @@ -1289,8 +1283,6 @@ void SwordEngine::delay(uint amount) { //copied and mutilated from sky.cpp _keyPressed = 8; else _keyPressed = (uint8)event.kbd.ascii; - if (event.kbd.keycode == 'w') - _walkthroughDialog->runModal(); break; case OSystem::EVENT_MOUSEMOVE: _mouseX = event.mouse.x; diff --git a/sword2/sword2.cpp b/sword2/sword2.cpp index 9d4857087b..289b6675a4 100644 --- a/sword2/sword2.cpp +++ b/sword2/sword2.cpp @@ -180,8 +180,6 @@ Sword2Engine::Sword2Engine(GameDetector *detector, OSystem *syst) : Engine(syst) _gameCycle = 0; _quit = false; - - _walkthroughDialog->setGameName(detector->_game.name); } Sword2Engine::~Sword2Engine() { @@ -195,8 +193,6 @@ Sword2Engine::~Sword2Engine() { delete _logic; delete _resman; delete _memory; - - _walkthroughDialog->destroy(); } void Sword2Engine::errorString(const char *buf1, char *buf2) { @@ -300,8 +296,6 @@ void Sword2Engine::mainInit() { startGame(); _graphics->initialiseRenderCycle(); - - _walkthroughDialog->create(); } void Sword2Engine::mainRun() { @@ -321,8 +315,6 @@ void Sword2Engine::mainRun() { if (ke) { if ((ke->modifiers == OSystem::KBD_CTRL && ke->keycode == 'd') || ke->ascii == '#' || ke->ascii == '~') { _debugger->attach(); - } else if ((ke->modifiers == OSystem::KBD_SHIFT) && (ke->keycode == 'w')) { - _walkthroughDialog->runModal(); } else if (ke->modifiers == 0 || ke->modifiers == OSystem::KBD_SHIFT) { switch (ke->keycode) { case 'p': |