aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/menu_views.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mads/menu_views.cpp')
-rw-r--r--engines/mads/menu_views.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/mads/menu_views.cpp b/engines/mads/menu_views.cpp
index 857db68fa6..1314774371 100644
--- a/engines/mads/menu_views.cpp
+++ b/engines/mads/menu_views.cpp
@@ -80,6 +80,15 @@ bool MenuView::onEvent(Common::Event &event) {
return false;
}
+Common::String MenuView::getResourceName() {
+ Common::String s(_filename);
+ s.toLowercase();
+ while (s.contains('.'))
+ s.deleteLastChar();
+
+ return s;
+}
+
/*------------------------------------------------------------------------*/
char TextView::_resourceName[100];
@@ -112,12 +121,17 @@ TextView::TextView(MADSEngine *vm) : MenuView(vm) {
}
TextView::~TextView() {
+ // Turn off palette cycling as well as any playing sound
+ Scene &scene = _vm->_game->_scene;
+ scene._cyclingActive = false;
+ _vm->_sound->stop();
}
void TextView::load() {
Common::String scriptName(_resourceName);
scriptName += ".txr";
+ _filename = scriptName;
if (!_script.open(scriptName))
error("Could not open resource %s", _resourceName);
@@ -491,6 +505,7 @@ void AnimationView::load() {
if (!resName.hasSuffix("."))
resName += ".res";
+ _filename = resName;
if (!_script.open(resName))
error("Could not open resource %s", resName.c_str());