diff options
-rw-r--r-- | sword2/anims.cpp | 2 | ||||
-rw-r--r-- | sword2/controls.cpp | 72 | ||||
-rw-r--r-- | sword2/controls.h | 2 | ||||
-rw-r--r-- | sword2/mouse.cpp | 12 | ||||
-rw-r--r-- | sword2/speech.cpp | 4 | ||||
-rw-r--r-- | sword2/sword2.cpp | 12 |
6 files changed, 53 insertions, 51 deletions
diff --git a/sword2/anims.cpp b/sword2/anims.cpp index c8136237f4..b84778c6b6 100644 --- a/sword2/anims.cpp +++ b/sword2/anims.cpp @@ -538,7 +538,7 @@ void Logic::createSequenceSpeech(_movieTextObject *sequenceText[]) { // if we want subtitles, or speech failed to load - if (gui._subtitles || !speechRunning) { + if (gui->_subtitles || !speechRunning) { // open text resource & get the line text = FetchTextLine(res_man.open(text_res), local_text); // make the sprite diff --git a/sword2/controls.cpp b/sword2/controls.cpp index 568792f74e..6b0c4fa7fe 100644 --- a/sword2/controls.cpp +++ b/sword2/controls.cpp @@ -45,7 +45,7 @@ namespace Sword2 { // our fonts start on SPACE character (32) #define SIZE_OF_CHAR_SET (256 - 32) -Gui gui; +Gui *gui; enum { kAlignLeft, @@ -775,11 +775,11 @@ public: registerWidget(_okButton); registerWidget(_cancelButton); - gui.readOptionSettings(); + gui->readOptionSettings(); - _objectLabelsSwitch->setValue(gui._pointerTextSelected != 0); - _subtitlesSwitch->setValue(gui._subtitles != 0); - _reverseStereoSwitch->setValue(gui._stereoReversed != 0); + _objectLabelsSwitch->setValue(gui->_pointerTextSelected != 0); + _subtitlesSwitch->setValue(gui->_subtitles != 0); + _reverseStereoSwitch->setValue(gui->_stereoReversed != 0); _musicSwitch->setValue(!g_sound->isMusicMute()); _speechSwitch->setValue(!g_sound->isSpeechMute()); _fxSwitch->setValue(!g_sound->isFxMute()); @@ -843,9 +843,9 @@ public: // is handled when the dialog is terminated. if (widget == _reverseStereoSwitch) { - if (result != gui._stereoReversed) + if (result != gui->_stereoReversed) g_sound->reverseStereo(); - gui._stereoReversed = result; + gui->_stereoReversed = result; } else if (widget == _musicSwitch) { g_sound->muteMusic(result); } else if (widget == _musicSlider) { @@ -858,7 +858,7 @@ public: _fxSwitch->setValue(result != 0); } else if (widget == _gfxSlider) { _gfxPreview->setState(result); - gui.updateGraphicsLevel(result); + gui->updateGraphicsLevel(result); } else if (widget == _okButton) { // Apply the changes g_sound->muteMusic(!_musicSwitch->getValue()); @@ -868,17 +868,17 @@ public: g_sound->setSpeechVolume(_speechSlider->getValue()); g_sound->setFxVolume(_fxSlider->getValue()); - gui.updateGraphicsLevel(_gfxSlider->getValue()); + gui->updateGraphicsLevel(_gfxSlider->getValue()); - gui._subtitles = _subtitlesSwitch->getValue(); - gui._pointerTextSelected = _objectLabelsSwitch->getValue(); - gui._stereoReversed = _reverseStereoSwitch->getValue(); + gui->_subtitles = _subtitlesSwitch->getValue(); + gui->_pointerTextSelected = _objectLabelsSwitch->getValue(); + gui->_stereoReversed = _reverseStereoSwitch->getValue(); - gui.writeOptionSettings(); + gui->writeOptionSettings(); setResult(1); } else if (widget == _cancelButton) { // Revert the changes - gui.readOptionSettings(); + gui->readOptionSettings(); setResult(0); } } @@ -1074,13 +1074,13 @@ public: void updateSlots() { for (int i = 0; i < 8; i++) { - Slot *slot = _slotButton[(gui._baseSlot + i) % 8]; + Slot *slot = _slotButton[(gui->_baseSlot + i) % 8]; FontRendererGui *fr; uint8 description[SAVE_DESCRIPTION_LEN]; slot->setY(72 + i * 36); - if (gui._baseSlot + i == _selectedSlot) { + if (gui->_baseSlot + i == _selectedSlot) { slot->setEditable(_mode == kSaveDialog); slot->setState(1); fr = _fr2; @@ -1090,11 +1090,11 @@ public: fr = _fr1; } - if (GetSaveDescription(gui._baseSlot + i, description) == SR_OK) { - slot->setText(fr, gui._baseSlot + i, (char *) description); + if (GetSaveDescription(gui->_baseSlot + i, description) == SR_OK) { + slot->setText(fr, gui->_baseSlot + i, (char *) description); slot->setClickable(true); } else { - slot->setText(fr, gui._baseSlot + i, NULL); + slot->setText(fr, gui->_baseSlot + i, NULL); slot->setClickable(_mode == kSaveDialog); } @@ -1107,29 +1107,29 @@ public: virtual void onAction(Widget *widget, int result = 0) { if (widget == _zupButton) { - if (gui._baseSlot > 0) { - if (gui._baseSlot >= 8) - gui._baseSlot -= 8; + if (gui->_baseSlot > 0) { + if (gui->_baseSlot >= 8) + gui->_baseSlot -= 8; else - gui._baseSlot = 0; + gui->_baseSlot = 0; updateSlots(); } } else if (widget == _upButton) { - if (gui._baseSlot > 0) { - gui._baseSlot--; + if (gui->_baseSlot > 0) { + gui->_baseSlot--; updateSlots(); } } else if (widget == _downButton) { - if (gui._baseSlot < 92) { - gui._baseSlot++; + if (gui->_baseSlot < 92) { + gui->_baseSlot++; updateSlots(); } } else if (widget == _zdownButton) { - if (gui._baseSlot < 92) { - if (gui._baseSlot <= 84) - gui._baseSlot += 8; + if (gui->_baseSlot < 92) { + if (gui->_baseSlot <= 84) + gui->_baseSlot += 8; else - gui._baseSlot = 92; + gui->_baseSlot = 92; updateSlots(); } } else if (widget == _okButton) { @@ -1187,7 +1187,7 @@ public: } } else { if (result == kSelectSlot) - _selectedSlot = gui._baseSlot + (slot->getY() - 72) / 35; + _selectedSlot = gui->_baseSlot + (slot->getY() - 72) / 35; else if (result == kDeselectSlot) _selectedSlot = -1; @@ -1215,7 +1215,7 @@ public: // but I doubt that will make any noticeable difference. slot->paint(); - _fr2->drawText(_editBuffer, 130, 78 + (_selectedSlot - gui._baseSlot) * 36); + _fr2->drawText(_editBuffer, 130, 78 + (_selectedSlot - gui->_baseSlot) * 36); } virtual void paint() { @@ -1392,9 +1392,9 @@ void Gui::writeOptionSettings(void) { ConfMan.set("speech_mute", g_sound->isSpeechMute()); ConfMan.set("sfx_mute", g_sound->isFxMute()); ConfMan.set("gfx_details", g_display->getRenderLevel()); - ConfMan.set("nosubtitles", !gui._subtitles); - ConfMan.set("object_labels", gui._pointerTextSelected); - ConfMan.set("reverse_stereo", gui._stereoReversed); + ConfMan.set("nosubtitles", !_subtitles); + ConfMan.set("object_labels", _pointerTextSelected); + ConfMan.set("reverse_stereo", _stereoReversed); ConfMan.flushToDisk(); } diff --git a/sword2/controls.h b/sword2/controls.h index 2e11459877..d85adbf66b 100644 --- a/sword2/controls.h +++ b/sword2/controls.h @@ -47,7 +47,7 @@ public: void updateGraphicsLevel(int newLevel); }; -extern Gui gui; +extern Gui *gui; } // End of namespace Sword2 diff --git a/sword2/mouse.cpp b/sword2/mouse.cpp index c0d56bd1e1..bf02f7b4ff 100644 --- a/sword2/mouse.cpp +++ b/sword2/mouse.cpp @@ -243,19 +243,19 @@ void System_menu_mouse(void) { // call the relevent screen switch (hit) { case 0: - gui.optionControl(); + gui->optionControl(); break; case 1: - gui.quitControl(); + gui->quitControl(); break; case 2: - gui.saveControl(); + gui->saveControl(); break; case 3: - gui.restoreControl(); + gui->restoreControl(); break; case 4: - gui.restartControl(); + gui->restartControl(); break; } @@ -877,7 +877,7 @@ void CreatePointerText(uint32 textId, uint32 pointerRes) { int16 xOffset, yOffset; uint8 justification; - if (gui._pointerTextSelected) { + if (gui->_pointerTextSelected) { if (textId) { // check what the pointer is, to set offsets // correctly for text position diff --git a/sword2/speech.cpp b/sword2/speech.cpp index da073c73c8..1038132d6e 100644 --- a/sword2/speech.cpp +++ b/sword2/speech.cpp @@ -959,7 +959,7 @@ int32 Logic::fnISpeak(int32 *params) { // for this line either, then just quit back to script right // now! - if (gui._subtitles == 0 && WantSpeechForLine(params[S_WAV]) == 0) + if (gui->_subtitles == 0 && WantSpeechForLine(params[S_WAV]) == 0) return IR_CONT; if (cycle_skip == 0) { @@ -1191,7 +1191,7 @@ int32 Logic::fnISpeak(int32 *params) { } // if we want subtitles, or speech failed to load - if (gui._subtitles || speechRunning == 0) { + if (gui->_subtitles || speechRunning == 0) { // then we're going to show the text textRunning = 1; diff --git a/sword2/sword2.cpp b/sword2/sword2.cpp index a4f817051c..a823e255d9 100644 --- a/sword2/sword2.cpp +++ b/sword2/sword2.cpp @@ -137,6 +137,7 @@ Sword2Engine::Sword2Engine(GameDetector *detector, OSystem *syst) g_sound = _sound = new Sound(_mixer); g_display = _display = new Display(640, 480); + gui = new Gui(); _newgui = g_gui; _debugger = new Debugger(this); @@ -159,6 +160,7 @@ Sword2Engine::~Sword2Engine() { delete _sound; delete _display; delete _debugger; + delete gui; } void Sword2Engine::errorString(const char *buf1, char *buf2) { @@ -301,7 +303,7 @@ void Sword2Engine::go() { // via a window, thus time becomes a loop. debug(5, "CALLING: readOptionSettings"); - gui.readOptionSettings(); + gui->readOptionSettings(); debug(5, "CALLING: InitialiseGame"); if (InitialiseGame()) { @@ -314,7 +316,7 @@ void Sword2Engine::go() { RestoreGame(_saveSlot); else { // show restore menu Set_mouse(NORMAL_MOUSE_ID); - if (!gui.restoreControl()) + if (!gui->restoreControl()) Start_game(); } } else @@ -517,8 +519,8 @@ void PauseGame(void) { // if level at max, turn down because palette-matching won't work // when dimmed - if (gui._currentGraphicsLevel == 3) { - gui.updateGraphicsLevel(2); + if (gui->_currentGraphicsLevel == 3) { + gui->updateGraphicsLevel(2); graphics_level_fudged = 1; } @@ -545,7 +547,7 @@ void UnpauseGame(void) { // If graphics level at max, turn up again if (graphics_level_fudged) { - gui.updateGraphicsLevel(3); + gui->updateGraphicsLevel(3); graphics_level_fudged = 0; } |