aboutsummaryrefslogtreecommitdiff
path: root/simon
diff options
context:
space:
mode:
authorTravis Howell2003-10-30 01:05:08 +0000
committerTravis Howell2003-10-30 01:05:08 +0000
commita1e794d920c04fa1527b08dda1e0b5b72cae03be (patch)
tree41718bdaf25714ceeca4d7184101a6ca275efb22 /simon
parent5813950a8360c8b38c6e2a48187eacdafe016b81 (diff)
downloadscummvm-rg350-a1e794d920c04fa1527b08dda1e0b5b72cae03be.tar.gz
scummvm-rg350-a1e794d920c04fa1527b08dda1e0b5b72cae03be.tar.bz2
scummvm-rg350-a1e794d920c04fa1527b08dda1e0b5b72cae03be.zip
Add option to switch between subtitles only and combined speech/subtitles in Simon 2.
svn-id: r11008
Diffstat (limited to 'simon')
-rw-r--r--simon/items.cpp5
-rw-r--r--simon/simon.cpp15
-rw-r--r--simon/simon.h1
3 files changed, 15 insertions, 6 deletions
diff --git a/simon/items.cpp b/simon/items.cpp
index 11b79c729e..41f1b7eb35 100644
--- a/simon/items.cpp
+++ b/simon/items.cpp
@@ -1001,7 +1001,7 @@ int SimonEngine::runScript() {
if (_game & GF_TALKIE)
speech_id = _array_4[string_id];
- if (speech_id != 0)
+ if (_speech && speech_id != 0)
talk_with_speech(speech_id, vga_struct_id);
if (string_ptr != NULL && _subtitles)
talk_with_text(vga_struct_id, color, string_ptr, tv->a, tv->b, tv->c);
@@ -1291,7 +1291,8 @@ void SimonEngine::o_inventory_descriptions() {
}
}
- talk_with_speech(var200, vga_struct_id);
+ if (_speech)
+ talk_with_speech(var200, vga_struct_id);
}
} else if (_game & GF_TALKIE) {
diff --git a/simon/simon.cpp b/simon/simon.cpp
index dd32e97150..5868f9a58e 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -329,6 +329,7 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst)
_continous_mainscript = 0;
_continous_vgascript = 0;
_draw_images_debug = 0;
+ _speech = false;
_subtitles = true;
_mouse_cursor = 0;
_vga_var9 = 0;
@@ -2124,7 +2125,7 @@ void SimonEngine::o_print_str() {
tv = getThreeValues(vga_sprite_id);
- if (speech_id != 0)
+ if (_speech && speech_id != 0)
talk_with_speech(speech_id, vga_sprite_id);
if (string_ptr != NULL && (speech_id == 0 || _subtitles))
talk_with_text(vga_sprite_id, color, (const char *)string_ptr, tv->a, tv->b, tv->c);
@@ -3450,9 +3451,14 @@ void SimonEngine::processSpecialKeys() {
_exit_cutscene = true;
break;
case 't':
- if (_game & GF_SIMON2 && _game & GF_TALKIE || _game & GF_TALKIE && _language > 1)
- _subtitles ^= 1;
+ if ((_game & GF_SIMON2 && _game & GF_TALKIE) ||( _game & GF_TALKIE && _language > 1))
+ if (_speech)
+ _subtitles ^= 1;
break;
+ case 'v':
+ if (_game & GF_SIMON2 && _game & GF_TALKIE)
+ if (_subtitles)
+ _speech ^= 1;
case '+':
midi.set_volume(midi.get_volume() + 16);
break;
@@ -3479,7 +3485,7 @@ void SimonEngine::processSpecialKeys() {
if (_debugMode)
_continous_mainscript ^= 1;
break;
- case 'v':
+ case 'g':
if (_debugMode)
_continous_vgascript ^= 1;
break;
@@ -4695,6 +4701,7 @@ void SimonEngine::go() {
_start_mainscript = true;
if (_game & GF_TALKIE) {
+ _speech = true;
if ((_game & GF_SIMON2) || _language >= 2) {
if (_noSubtitles)
_subtitles = false;
diff --git a/simon/simon.h b/simon/simon.h
index 789aae812e..bd386eaba1 100644
--- a/simon/simon.h
+++ b/simon/simon.h
@@ -187,6 +187,7 @@ protected:
bool _continous_mainscript;
bool _continous_vgascript;
bool _draw_images_debug;
+ bool _speech;
bool _subtitles;
byte _mouse_cursor;
bool _vga_var9;