aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/minigames/geisha/penetration.cpp
diff options
context:
space:
mode:
authorSven Hesse2012-06-07 04:29:10 +0200
committerSven Hesse2012-06-07 04:29:10 +0200
commitc37577a950f7337889d5c705c9bc67d434ed3670 (patch)
tree5b5e026bc7e24331ba1ad3c1d0381f198fc578b9 /engines/gob/minigames/geisha/penetration.cpp
parent3d537e763c85bb3f16825c8b47894335568278a0 (diff)
downloadscummvm-rg350-c37577a950f7337889d5c705c9bc67d434ed3670.tar.gz
scummvm-rg350-c37577a950f7337889d5c705c9bc67d434ed3670.tar.bz2
scummvm-rg350-c37577a950f7337889d5c705c9bc67d434ed3670.zip
GOB: Hook up the Penetration minigame in the cheater
Diffstat (limited to 'engines/gob/minigames/geisha/penetration.cpp')
-rw-r--r--engines/gob/minigames/geisha/penetration.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/engines/gob/minigames/geisha/penetration.cpp b/engines/gob/minigames/geisha/penetration.cpp
index e260d3cae2..9791757984 100644
--- a/engines/gob/minigames/geisha/penetration.cpp
+++ b/engines/gob/minigames/geisha/penetration.cpp
@@ -377,7 +377,7 @@ Penetration::ManagedSub::~ManagedSub() {
Penetration::Penetration(GobEngine *vm) : _vm(vm), _background(0), _sprites(0), _objects(0), _sub(0),
- _shieldMeter(0), _healthMeter(0), _floor(0) {
+ _shieldMeter(0), _healthMeter(0), _floor(0), _isPlaying(false) {
_background = new Surface(320, 200, 1);
@@ -404,6 +404,8 @@ bool Penetration::play(bool hasAccessPass, bool hasMaxEnergy, bool testMode) {
_hasMaxEnergy = hasMaxEnergy;
_testMode = testMode;
+ _isPlaying = true;
+
init();
initScreen();
@@ -432,9 +434,19 @@ bool Penetration::play(bool hasAccessPass, bool hasMaxEnergy, bool testMode) {
deinit();
drawEndText();
+ _isPlaying = false;
+
return hasWon();
}
+bool Penetration::isPlaying() const {
+ return _isPlaying;
+}
+
+void Penetration::cheatWin() {
+ _floor = 3;
+}
+
void Penetration::init() {
// Load sounds
_vm->_sound->sampleLoad(&_soundShield, SOUND_SND, "boucl.snd");
@@ -748,6 +760,10 @@ void Penetration::checkInput() {
_keys[kKeyRight] = true;
else if (event.kbd.keycode == Common::KEYCODE_SPACE)
_keys[kKeySpace] = true;
+ else if (event.kbd.keycode == Common::KEYCODE_d) {
+ _vm->getDebugger()->attach();
+ _vm->getDebugger()->onFrame();
+ }
break;
case Common::EVENT_KEYUP: