aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/pages
diff options
context:
space:
mode:
authorwhiterandrek2018-05-11 17:53:55 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit181b89035a47daec35c1c4f4b565e047c313de7d (patch)
tree2959aa00f348f6efe940b7905ccfb56864c3e472 /engines/pink/objects/pages
parent604c74ab0778c82dd7c9fec8e41b379fd7f6f839 (diff)
downloadscummvm-rg350-181b89035a47daec35c1c4f4b565e047c313de7d.tar.gz
scummvm-rg350-181b89035a47daec35c1c4f4b565e047c313de7d.tar.bz2
scummvm-rg350-181b89035a47daec35c1c4f4b565e047c313de7d.zip
PINK: added implementation of item using
Diffstat (limited to 'engines/pink/objects/pages')
-rw-r--r--engines/pink/objects/pages/game_page.cpp14
-rw-r--r--engines/pink/objects/pages/game_page.h2
2 files changed, 10 insertions, 6 deletions
diff --git a/engines/pink/objects/pages/game_page.cpp b/engines/pink/objects/pages/game_page.cpp
index 47437a83a3..63a2607ee4 100644
--- a/engines/pink/objects/pages/game_page.cpp
+++ b/engines/pink/objects/pages/game_page.cpp
@@ -133,7 +133,7 @@ Module *GamePage::getModule() const {
return _module;
}
-bool GamePage::checkValueOfVariable(Common::String &variable, Common::String &value) {
+bool GamePage::checkValueOfVariable(const Common::String &variable, const Common::String &value) {
if (!_variables.contains(variable))
return value == kUndefined;
return _variables[variable] == value;
@@ -141,6 +141,7 @@ bool GamePage::checkValueOfVariable(Common::String &variable, Common::String &va
void GamePage::setVariable(Common::String &variable, Common::String &value) {
_variables[variable] = value;
+ _leadActor->onVariableSet();
}
WalkMgr *GamePage::getWalkMgr() {
@@ -149,8 +150,11 @@ WalkMgr *GamePage::getWalkMgr() {
void GamePage::loadState() {
Archive archive(static_cast<Common::SeekableReadStream*>(_memFile));
- _variables.clear(0);
- archive >> _variables;
+ //_variables.clear(1);
+ Common::StringMap mapTest; // HACK. Without it isn't working
+ //archive >> _variables;
+ archive >> mapTest;
+ _variables = mapTest;
uint16 actorCount;
archive >> actorCount;
@@ -177,7 +181,7 @@ void GamePage::saveState() {
}
void GamePage::unload() {
- _leadActor->setAction(_leadActor->findAction("Idle"));
+ _leadActor->setAction(_leadActor->findAction(kIdleAction));
saveState();
clear();
@@ -187,7 +191,7 @@ void GamePage::unload() {
void GamePage::clear() {
Page::clear();
- _variables.clear(1);
+ //_variables.clear(1);
for (int i = 0; i < _handlers.size(); ++i) {
delete _handlers[i];
diff --git a/engines/pink/objects/pages/game_page.h b/engines/pink/objects/pages/game_page.h
index c4f6dfba82..469d1b3a1e 100644
--- a/engines/pink/objects/pages/game_page.h
+++ b/engines/pink/objects/pages/game_page.h
@@ -50,7 +50,7 @@ public:
WalkMgr *getWalkMgr();
Module *getModule() const;
- bool checkValueOfVariable(Common::String &variable, Common::String &value);
+ bool checkValueOfVariable(const Common::String &variable, const Common::String &value);
void setVariable(Common::String &variable, Common::String &value);
virtual void clear();