aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven_card.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2016-08-13 09:02:28 +0200
committerEugene Sandulenko2017-07-03 08:50:10 +0200
commitc623a767676f8422186933c87b569d39185b5496 (patch)
treebc23dde92851c8278c41a0002c2a8798144c604b /engines/mohawk/riven_card.cpp
parent9ab0d53cd3d8008b55d64cea832191f5ef2155ce (diff)
downloadscummvm-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.cpp11
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) {