diff options
author | Thierry Crozat | 2014-09-07 19:38:25 +0100 |
---|---|---|
committer | Thierry Crozat | 2014-09-07 19:38:52 +0100 |
commit | 62d71480c253e0ccf091a8697e3763d1a66abefb (patch) | |
tree | c493046dbe1c8b26fd2c92134485f603bd22b863 /engines/sword1 | |
parent | 71e2e8b19a0daa7a39141b2e26ba4bf4b74aa2ba (diff) | |
download | scummvm-rg350-62d71480c253e0ccf091a8697e3763d1a66abefb.tar.gz scummvm-rg350-62d71480c253e0ccf091a8697e3763d1a66abefb.tar.bz2 scummvm-rg350-62d71480c253e0ccf091a8697e3763d1a66abefb.zip |
SWORD1: Add debugger command to set mac speech endianness
Diffstat (limited to 'engines/sword1')
-rw-r--r-- | engines/sword1/console.cpp | 23 | ||||
-rw-r--r-- | engines/sword1/console.h | 1 | ||||
-rw-r--r-- | engines/sword1/sound.h | 1 | ||||
-rw-r--r-- | engines/sword1/sword1.h | 1 |
4 files changed, 26 insertions, 0 deletions
diff --git a/engines/sword1/console.cpp b/engines/sword1/console.cpp index 3eb3b93a19..7fabc62192 100644 --- a/engines/sword1/console.cpp +++ b/engines/sword1/console.cpp @@ -22,14 +22,37 @@ #include "sword1/console.h" #include "sword1/sword1.h" +#include "sword1/sound.h" +#include "common/config-manager.h" +#include "common/str.h" namespace Sword1 { SwordConsole::SwordConsole(SwordEngine *vm) : GUI::Debugger(), _vm(vm) { assert(_vm); + if (scumm_stricmp(ConfMan.get("gameid").c_str(), "sword1mac") == 0 || scumm_stricmp(ConfMan.get("gameid").c_str(), "sword1macdemo") == 0) + registerCmd("speechEndianness", WRAP_METHOD(SwordConsole, Cmd_SpeechEndianness)); } SwordConsole::~SwordConsole() { } + +bool SwordConsole::Cmd_SpeechEndianness(int argc, const char **argv) { + if (argc == 1) { + debugPrintf("Using %s speech\n", _vm->_sound->_bigEndianSpeech ? "be" : "le"); + return true; + } + if (argc == 2) { + if (scumm_stricmp(argv[1], "le") == 0) { + _vm->_sound->_bigEndianSpeech = false; + return false; + } else if (scumm_stricmp(argv[1], "be") == 0) { + _vm->_sound->_bigEndianSpeech = true; + return false; + } + } + debugPrintf("Usage: %s [le | be]\n", argv[0]); + return true; +} } // End of namespace Sword diff --git a/engines/sword1/console.h b/engines/sword1/console.h index a2bb51f9a4..88ee756151 100644 --- a/engines/sword1/console.h +++ b/engines/sword1/console.h @@ -36,6 +36,7 @@ public: private: SwordEngine *_vm; + bool Cmd_SpeechEndianness(int argc, const char **argv); }; } // End of namespace Sword1 diff --git a/engines/sword1/sound.h b/engines/sword1/sound.h index 666598dba0..54006bd8b4 100644 --- a/engines/sword1/sound.h +++ b/engines/sword1/sound.h @@ -79,6 +79,7 @@ enum CowMode { }; class Sound { + friend class SwordConsole; public: Sound(Audio::Mixer *mixer, ResMan *pResMan); ~Sound(); diff --git a/engines/sword1/sword1.h b/engines/sword1/sword1.h index c58e97e353..eb24ef70fa 100644 --- a/engines/sword1/sword1.h +++ b/engines/sword1/sword1.h @@ -79,6 +79,7 @@ struct SystemVars { }; class SwordEngine : public Engine { + friend class SwordConsole; public: SwordEngine(OSystem *syst); virtual ~SwordEngine(); |