diff options
author | Travis Howell | 2006-09-29 00:50:22 +0000 |
---|---|---|
committer | Travis Howell | 2006-09-29 00:50:22 +0000 |
commit | 11c9537e290fbab5d604037609fb40c70149b283 (patch) | |
tree | 40fd9654e690a2e690ca786f8a407224ca7a706a /engines/simon/simon.cpp | |
parent | 1c6cd9d2498e7d905aed1930ad2cde006a4b1f20 (diff) | |
download | scummvm-rg350-11c9537e290fbab5d604037609fb40c70149b283.tar.gz scummvm-rg350-11c9537e290fbab5d604037609fb40c70149b283.tar.bz2 scummvm-rg350-11c9537e290fbab5d604037609fb40c70149b283.zip |
Add speech support for PP and cleanup
svn-id: r23995
Diffstat (limited to 'engines/simon/simon.cpp')
-rw-r--r-- | engines/simon/simon.cpp | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp index 85a3bf5349..b41218325d 100644 --- a/engines/simon/simon.cpp +++ b/engines/simon/simon.cpp @@ -66,6 +66,11 @@ static const GameSpecificSettings feeblefiles_settings = { "", // effects_filename "VOICES", // speech_filename }; + +static const GameSpecificSettings puzzlepack_settings = { + "", // effects_filename + "MUSIC", // speech_filename +}; #endif SimonEngine::SimonEngine(OSystem *syst) @@ -309,9 +314,11 @@ SimonEngine::SimonEngine(OSystem *syst) memset(_objectArray, 0, sizeof(_objectArray)); memset(_itemStore, 0, sizeof(_itemStore)); - memset(_stringIdArray2, 0, sizeof(_stringIdArray2)); - memset(_stringIdArray3, 0, sizeof(_stringIdArray3)); - memset(_speechIdArray4, 0, sizeof(_speechIdArray4)); + memset(_shortText, 0, sizeof(_shortText)); + memset(_shortTextX, 0, sizeof(_shortText)); + memset(_shortTextY, 0, sizeof(_shortText)); + memset(_longText, 0, sizeof(_longText)); + memset(_longSound, 0, sizeof(_longSound)); memset(_bitArray, 0, sizeof(_bitArray)); memset(_bitArrayTwo, 0, sizeof(_bitArrayTwo)); @@ -483,7 +490,7 @@ int SimonEngine::init() { _language = Common::parseLanguage(ConfMan.get("language")); if (getGameType() == GType_PP) { - _speech = false; + _speech = true; _subtitles = false; } else if (getFeatures() & GF_TALKIE) { _speech = !ConfMan.getBool("speech_mute"); @@ -521,7 +528,7 @@ int SimonEngine::init() { void SimonEngine::setupGame() { if (getGameType() == GType_PP) { - gss = PTR(feeblefiles_settings); + gss = PTR(puzzlepack_settings); _numTextBoxes = 40; _numVideoOpcodes = 85; #ifndef PALMOS_68K @@ -1083,7 +1090,10 @@ void SimonEngine::setup_cond_c_helper() { else id = _lastHitArea->flags / 256; } - _variableArray[60] = id; + if (getGameType() == GType_PP) + _variableArray[199] = id; + else + _variableArray[60] = id; break; } } @@ -1176,7 +1186,10 @@ startOver: else id = ha->flags / 256; } - _variableArray[60] = id; + if (getGameType() == GType_PP) + _variableArray[199] = id; + else + _variableArray[60] = id; displayName(ha); if (_verbHitArea != 0) break; |