aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorwhiterandrek2018-05-31 23:11:08 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit80622943e49d299f5f79040df167fa662b684f88 (patch)
tree18c1a6c216ac04a668012e15821a970e9dea28f6 /engines
parent11b5865b48996f3ff9a16c719059f25b7119b173 (diff)
downloadscummvm-rg350-80622943e49d299f5f79040df167fa662b684f88.tar.gz
scummvm-rg350-80622943e49d299f5f79040df167fa662b684f88.tar.bz2
scummvm-rg350-80622943e49d299f5f79040df167fa662b684f88.zip
PINK: prepare page interface to add PDAPage
Diffstat (limited to 'engines')
-rw-r--r--engines/pink/objects/actions/action_play_with_sfx.cpp2
-rw-r--r--engines/pink/objects/actions/action_play_with_sfx.h4
-rw-r--r--engines/pink/objects/actors/actor.cpp10
-rw-r--r--engines/pink/objects/actors/actor.h8
-rw-r--r--engines/pink/objects/pages/game_page.cpp4
-rw-r--r--engines/pink/objects/pages/game_page.h3
-rw-r--r--engines/pink/objects/pages/page.cpp4
-rw-r--r--engines/pink/objects/pages/page.h11
-rw-r--r--engines/pink/pink.cpp2
-rw-r--r--engines/pink/pink.h4
-rw-r--r--engines/pink/resource_mgr.cpp2
-rw-r--r--engines/pink/resource_mgr.h6
12 files changed, 38 insertions, 22 deletions
diff --git a/engines/pink/objects/actions/action_play_with_sfx.cpp b/engines/pink/objects/actions/action_play_with_sfx.cpp
index 6ab8fa6b82..c4ab139043 100644
--- a/engines/pink/objects/actions/action_play_with_sfx.cpp
+++ b/engines/pink/objects/actions/action_play_with_sfx.cpp
@@ -89,7 +89,7 @@ void ActionSfx::toConsole() {
debug("\t\tActionSfx: _sfx = %s, _volume = %u, _frame = %u", _sfxName.c_str(), _volume, _frame);
}
-void ActionSfx::play(GamePage *page) {
+void ActionSfx::play(Page *page) {
if (!_sound)
_sound = page->loadSound(_sfxName);
diff --git a/engines/pink/objects/actions/action_play_with_sfx.h b/engines/pink/objects/actions/action_play_with_sfx.h
index c9fd348b6b..8945572548 100644
--- a/engines/pink/objects/actions/action_play_with_sfx.h
+++ b/engines/pink/objects/actions/action_play_with_sfx.h
@@ -46,7 +46,7 @@ private:
};
class Sound;
-class GamePage;
+class Page;
class ActionSfx : public Object {
public:
@@ -55,7 +55,7 @@ public:
virtual void deserialize(Archive &archive);
virtual void toConsole();
- void play(GamePage *page);
+ void play(Page *page);
uint32 getFrame();
void end();
diff --git a/engines/pink/objects/actors/actor.cpp b/engines/pink/objects/actors/actor.cpp
index a1d179b945..cf87b57198 100644
--- a/engines/pink/objects/actors/actor.cpp
+++ b/engines/pink/objects/actors/actor.cpp
@@ -31,7 +31,7 @@ namespace Pink {
void Actor::deserialize(Archive &archive) {
NamedObject::deserialize(archive);
- _page = static_cast<GamePage*>(archive.readObject());
+ _page = static_cast<Page*>(archive.readObject());
_actions.deserialize(archive);
}
@@ -54,7 +54,7 @@ Action *Actor::findAction(const Common::String &name) {
return nullptr;
}
-GamePage *Actor::getPage() const {
+Page *Actor::getPage() const {
return _page;
}
@@ -97,7 +97,7 @@ void Actor::setAction(Action *newAction) {
void Actor::setAction(Action *newAction, bool unk) {
if (unk) {
- assert(0); // want to see this
+ //assert(0); // want to see this
_isActionEnded = 1;
_action = newAction;
} else {
@@ -158,4 +158,8 @@ void Actor::onHover(Common::Point point, const Common::String &itemName, CursorM
cursorMgr->setCursor(kHoldingItemCursor, point, itemName);
}
+void Actor::setPage(Page *page) {
+ _page = page;
+}
+
} // End of namespace Pink
diff --git a/engines/pink/objects/actors/actor.h b/engines/pink/objects/actors/actor.h
index b4fe437cf5..037b8b5408 100644
--- a/engines/pink/objects/actors/actor.h
+++ b/engines/pink/objects/actors/actor.h
@@ -29,7 +29,7 @@
namespace Pink {
-class GamePage;
+class Page;
class Action;
class Sequencer;
class Director;
@@ -48,7 +48,7 @@ public:
virtual void toConsole();
Sequencer *getSequencer() const;
- GamePage *getPage() const;
+ Page *getPage() const;
Action *getAction() const;
bool isPlaying();
@@ -61,6 +61,8 @@ public:
void setAction(Action *newAction);
void setAction(Action *newAction, bool unk);
+ void setPage(Page *page);
+
void loadState(Archive &archive);
void saveState(Archive &archive);
@@ -77,7 +79,7 @@ public:
virtual void unpause();
protected:
- GamePage *_page;
+ Page *_page;
Action *_action;
Array<Action *> _actions;
bool _isActionEnded;
diff --git a/engines/pink/objects/pages/game_page.cpp b/engines/pink/objects/pages/game_page.cpp
index f6b843fae2..4aa77cb2b6 100644
--- a/engines/pink/objects/pages/game_page.cpp
+++ b/engines/pink/objects/pages/game_page.cpp
@@ -119,10 +119,6 @@ void GamePage::loadManagers() {
}
}
-PinkEngine *GamePage::getGame() {
- return _resMgr.getGame();
-}
-
Sequencer *GamePage::getSequencer() {
return _sequencer;
}
diff --git a/engines/pink/objects/pages/game_page.h b/engines/pink/objects/pages/game_page.h
index 7b4f25fcf1..3cd537d077 100644
--- a/engines/pink/objects/pages/game_page.h
+++ b/engines/pink/objects/pages/game_page.h
@@ -30,8 +30,6 @@
namespace Pink {
class CursorMgr;
-class WalkMgr;
-class Sequencer;
class HandlerStartPage;
class GamePage : public Page {
@@ -49,7 +47,6 @@ public:
void loadManagers();
void init(bool isLoadingSave);
- PinkEngine *getGame();
Sequencer *getSequencer();
WalkMgr *getWalkMgr();
Module *getModule() const;
diff --git a/engines/pink/objects/pages/page.cpp b/engines/pink/objects/pages/page.cpp
index 1465e17b39..5f5b99a6f5 100644
--- a/engines/pink/objects/pages/page.cpp
+++ b/engines/pink/objects/pages/page.cpp
@@ -95,4 +95,8 @@ void Page::unpause() {
}
}
+PinkEngine *Page::getGame() {
+ return _resMgr.getGame();
+}
+
} // End of namespace Pink
diff --git a/engines/pink/objects/pages/page.h b/engines/pink/objects/pages/page.h
index f8b582a52f..08be3a2ccc 100644
--- a/engines/pink/objects/pages/page.h
+++ b/engines/pink/objects/pages/page.h
@@ -31,6 +31,8 @@ namespace Pink {
class Archive;
class Actor;
class LeadActor;
+class WalkMgr;
+class Sequencer;
class Page : public NamedObject {
public:
@@ -48,6 +50,15 @@ public:
void pause();
void unpause();
+ PinkEngine *getGame();
+
+ virtual Sequencer *getSequencer() { return nullptr; };
+ virtual WalkMgr *getWalkMgr() { return nullptr;};
+ virtual Module *getModule() const { return nullptr; };
+
+ virtual bool checkValueOfVariable(const Common::String &variable, const Common::String &value) { return 0; };
+ virtual void setVariable(Common::String &variable, Common::String &value) {};
+
protected:
void init();
diff --git a/engines/pink/pink.cpp b/engines/pink/pink.cpp
index 01f9ad1632..3931db840e 100644
--- a/engines/pink/pink.cpp
+++ b/engines/pink/pink.cpp
@@ -171,7 +171,7 @@ void PinkEngine::initModule(const Common::String &moduleName, const Common::Stri
}
}
-void PinkEngine::changeScene(GamePage *page) {
+void PinkEngine::changeScene(Page *page) {
setCursor(kLoadingCursor);
if (!_nextModule.empty() && _nextModule.compareTo(_module->getName())) {
initModule(_nextModule, _nextPage, nullptr);
diff --git a/engines/pink/pink.h b/engines/pink/pink.h
index e6e698ed38..642a4d1efb 100644
--- a/engines/pink/pink.h
+++ b/engines/pink/pink.h
@@ -69,7 +69,7 @@ class Console;
class Archive;
class NamedObject;
class Module;
-class GamePage;
+class Page;
class LeadActor;
enum {
@@ -97,7 +97,7 @@ public:
void load(Archive &archive);
void initModule(const Common::String &moduleName, const Common::String &pageName, Archive *saveFile);
- void changeScene(GamePage *page);
+ void changeScene(Page *page);
OrbFile *getOrb() { return &_orb; }
BroFile *getBro() { return _bro; }
diff --git a/engines/pink/resource_mgr.cpp b/engines/pink/resource_mgr.cpp
index 8f807c2356..d81c98b1f4 100644
--- a/engines/pink/resource_mgr.cpp
+++ b/engines/pink/resource_mgr.cpp
@@ -38,7 +38,7 @@ ResourceMgr::~ResourceMgr() {
clear();
}
-void ResourceMgr::init(PinkEngine *game, GamePage *page) {
+void ResourceMgr::init(PinkEngine *game, Page *page) {
OrbFile *orb = game->getOrb();
_game = game;
diff --git a/engines/pink/resource_mgr.h b/engines/pink/resource_mgr.h
index 0b06e998da..7cd3dc33a1 100644
--- a/engines/pink/resource_mgr.h
+++ b/engines/pink/resource_mgr.h
@@ -23,6 +23,8 @@
#ifndef PINK_RESOURCE_MGR_H
#define PINK_RESOURCE_MGR_H
+#include "common/scummsys.h"
+
namespace Common {
class SafeSeekableSubReadStream;
class String;
@@ -30,7 +32,7 @@ namespace Common {
namespace Pink {
-class GamePage;
+class Page;
class PinkEngine;
class OrbFile;
class BroFile;
@@ -44,7 +46,7 @@ public:
ResourceMgr();
~ResourceMgr();
- void init(PinkEngine *game, GamePage *page);
+ void init(PinkEngine *game, Page *page);
void clear();
//Common::String loadText(Common::String &name);