From 37574a3bcf2a85e0faf23b0278b560ab1a36086e Mon Sep 17 00:00:00 2001 From: whiterandrek Date: Mon, 21 May 2018 21:38:02 +0300 Subject: PINK: remove >> << operators --- engines/pink/objects/pages/game_page.cpp | 19 ++++++++++++++----- engines/pink/objects/pages/game_page.h | 2 +- engines/pink/objects/pages/page.cpp | 2 +- engines/pink/objects/pages/page.h | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) (limited to 'engines/pink/objects/pages') diff --git a/engines/pink/objects/pages/game_page.cpp b/engines/pink/objects/pages/game_page.cpp index bdfb92bef6..ca9f304225 100644 --- a/engines/pink/objects/pages/game_page.cpp +++ b/engines/pink/objects/pages/game_page.cpp @@ -65,7 +65,7 @@ void GamePage::load(Archive &archive) { _walkMgr->deserialize(archive); _sequencer->deserialize(archive); - archive >> _handlers; + _handlers.deserialize(archive); } void GamePage::init(bool isLoadingSave) { @@ -153,11 +153,17 @@ void GamePage::loadState() { //_variables.clear(1); Common::StringMap mapTest; // HACK. Without it isn't working //archive >> _variables; - archive >> mapTest; + + uint size = archive.readCount(); + for (uint i = 0; i < size; ++i) { + Common::String key = archive.readString(); + Common::String val = archive.readString(); + mapTest.setVal(key, val); + } + _variables = mapTest; - uint16 actorCount; - archive >> actorCount; + uint16 actorCount = archive.readWORD(); Common::String actorName; for (int i = 0; i < actorCount; ++i) { @@ -170,7 +176,10 @@ void GamePage::saveState() { _memFile = new Common::MemoryReadWriteStream(DisposeAfterUse::YES); Archive archive(static_cast(_memFile)); - archive << _variables; + for (Common::StringMap::const_iterator it = _variables.begin(); it != _variables.end(); ++it) { + archive.writeString(it->_key); + archive.writeString(it->_value); + } archive.writeWORD(_actors.size()); for (uint i = 0; i < _actors.size(); ++i) { diff --git a/engines/pink/objects/pages/game_page.h b/engines/pink/objects/pages/game_page.h index 9aa5422981..37584ee3fb 100644 --- a/engines/pink/objects/pages/game_page.h +++ b/engines/pink/objects/pages/game_page.h @@ -67,7 +67,7 @@ private: CursorMgr *_cursorMgr; WalkMgr *_walkMgr; Sequencer *_sequencer; - Common::Array _handlers; + Array _handlers; Common::StringMap _variables; }; diff --git a/engines/pink/objects/pages/page.cpp b/engines/pink/objects/pages/page.cpp index cf2d3a01be..3c46d19b0f 100644 --- a/engines/pink/objects/pages/page.cpp +++ b/engines/pink/objects/pages/page.cpp @@ -34,7 +34,7 @@ void Page::load(Archive &archive) { archive.mapObject(this); NamedObject::deserialize(archive); archive.readString(); //skip directory - archive >> _actors; + _actors.deserialize(archive); } Actor *Page::findActor(const Common::String &name) { diff --git a/engines/pink/objects/pages/page.h b/engines/pink/objects/pages/page.h index c6d82209c5..2d1990c76f 100644 --- a/engines/pink/objects/pages/page.h +++ b/engines/pink/objects/pages/page.h @@ -51,7 +51,7 @@ public: protected: void init(); - Common::Array _actors; + Array _actors; ResourceMgr _resMgr; LeadActor *_leadActor; }; -- cgit v1.2.3