diff options
author | Bastien Bouclet | 2016-08-13 09:02:28 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-07-03 08:50:10 +0200 |
commit | c623a767676f8422186933c87b569d39185b5496 (patch) | |
tree | bc23dde92851c8278c41a0002c2a8798144c604b /engines/mohawk/riven_card.cpp | |
parent | 9ab0d53cd3d8008b55d64cea832191f5ef2155ce (diff) | |
download | scummvm-rg350-c623a767676f8422186933c87b569d39185b5496.tar.gz scummvm-rg350-c623a767676f8422186933c87b569d39185b5496.tar.bz2 scummvm-rg350-c623a767676f8422186933c87b569d39185b5496.zip |
MOHAWK: Ensure constructing and deleting cards does not have side effects
Diffstat (limited to 'engines/mohawk/riven_card.cpp')
-rw-r--r-- | engines/mohawk/riven_card.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/engines/mohawk/riven_card.cpp b/engines/mohawk/riven_card.cpp index e82e00b7ac..212557b15d 100644 --- a/engines/mohawk/riven_card.cpp +++ b/engines/mohawk/riven_card.cpp @@ -42,12 +42,9 @@ RivenCard::RivenCard(MohawkEngine_Riven *vm, uint16 id) : loadCardSoundList(id); loadCardHotspotEnableList(id); loadCardWaterEffectList(id); - setCurrentCardVariable(); } RivenCard::~RivenCard() { - runLeaveScripts(); - for (uint i = 0; i < _hotspots.size(); i++) { delete _hotspots[i]; } @@ -66,7 +63,9 @@ void RivenCard::loadCardResource(uint16 id) { delete inStream; } -void RivenCard::open() { +void RivenCard::enter() { + setCurrentCardVariable(); + _vm->_activatedPLST = false; _vm->_activatedSLST = false; @@ -77,7 +76,7 @@ void RivenCard::open() { initializeZipMode(); _vm->_gfx->applyScreenUpdate(true); - runScript(kCardOpenScript); + runScript(kCardEnterScript); } void RivenCard::initializeZipMode() { @@ -430,7 +429,7 @@ void RivenCard::updateMouseCursor() { _vm->_system->updateScreen(); } -void RivenCard::runLeaveScripts() { +void RivenCard::leave() { RivenScriptPtr script(new RivenScript()); if (_pressedHotspot) { |