diff options
-rw-r--r-- | engines/cge2/cge2.cpp | 2 | ||||
-rw-r--r-- | engines/cge2/cge2.h | 2 | ||||
-rw-r--r-- | engines/cge2/cge2_main.cpp | 16 |
3 files changed, 18 insertions, 2 deletions
diff --git a/engines/cge2/cge2.cpp b/engines/cge2/cge2.cpp index aa87f99a3b..16deafba48 100644 --- a/engines/cge2/cge2.cpp +++ b/engines/cge2/cge2.cpp @@ -97,6 +97,8 @@ CGE2Engine::CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription) _req = 1; _midiNotify = nullptr; _spriteNotify = nullptr; + _enaCap = true; + _enaVox = true; } void CGE2Engine::init() { diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h index a2cd13107e..252fad07bd 100644 --- a/engines/cge2/cge2.h +++ b/engines/cge2/cge2.h @@ -285,6 +285,8 @@ public: NotifyFunctionType _midiNotify; NotifyFunctionType _spriteNotify; int _startGameSlot; + bool _enaCap; + bool _enaVox; ResourceManager *_resman; Vga *_vga; diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp index 76829b00aa..b7dcf65b33 100644 --- a/engines/cge2/cge2_main.cpp +++ b/engines/cge2/cge2_main.cpp @@ -1137,11 +1137,23 @@ void CGE2Engine::setVolume(int idx, int cnt) { } void CGE2Engine::switchCap() { - warning("STUB: CGE2Engine::switchCap()"); + if (_enaCap) { + _sayCap = !_sayCap; + if (!_sayCap) + _sayVox = true; + keyClick(); + checkSaySwitch(); + } } void CGE2Engine::switchVox() { - warning("STUB: CGE2Engine::switchVox()"); + if (_enaVox) { + _sayVox = !_sayVox; + if (!_sayVox) + _sayCap = true; + keyClick(); + checkSaySwitch(); + } } void CGE2Engine::offUse() { |