From c623a767676f8422186933c87b569d39185b5496 Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Sat, 13 Aug 2016 09:02:28 +0200 Subject: MOHAWK: Ensure constructing and deleting cards does not have side effects --- engines/mohawk/riven_card.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'engines/mohawk/riven_card.cpp') 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) { -- cgit v1.2.3