diff options
| -rw-r--r-- | engines/pink/file.cpp | 3 | ||||
| -rw-r--r-- | engines/pink/page.cpp | 5 | ||||
| -rw-r--r-- | engines/pink/page.h | 3 | ||||
| -rw-r--r-- | engines/pink/resource_mgr.cpp | 4 | ||||
| -rw-r--r-- | engines/pink/resource_mgr.h | 9 | 
5 files changed, 18 insertions, 6 deletions
| diff --git a/engines/pink/file.cpp b/engines/pink/file.cpp index 354c7b5ae7..04e87c287b 100644 --- a/engines/pink/file.cpp +++ b/engines/pink/file.cpp @@ -122,7 +122,8 @@ ObjectDescription *OrbFile::getObjDesc(const char *name){  }  ResourceDescription *OrbFile::getResDescTable(ObjectDescription *objDesc){ -    const uint32 size = objDesc->objectsCount; +    const uint32 size = objDesc->resourcesCount; +    seek(objDesc->resourcesOffset);      ResourceDescription *table = new ResourceDescription[size];      for (uint i = 0; i < size; ++i) { diff --git a/engines/pink/page.cpp b/engines/pink/page.cpp index 123e27be0a..3d644db759 100644 --- a/engines/pink/page.cpp +++ b/engines/pink/page.cpp @@ -72,7 +72,9 @@ void GamePage::init(bool isLoadingSave) {          loadManagers();      } -    //init actor which inits actions +    for (int i = 0; i < _actors.size(); ++i) { +        _actors[i]->init(0); +    }      if (!isLoadingSave) {          for (uint i = 0; i < _handlers.size(); ++i) { @@ -112,4 +114,5 @@ Module *GamePage::getModule() const {      return _module;  } +  } // End of namespace Pink diff --git a/engines/pink/page.h b/engines/pink/page.h index 878613acf4..a2458c12ad 100644 --- a/engines/pink/page.h +++ b/engines/pink/page.h @@ -69,11 +69,10 @@ public:      Sequencer *getSequencer();      Module *getModule() const; +  private:      int perhapsIsLoaded;      Module *_module; - -private:      CursorMgr *_cursorMgr;      WalkMgr *_walkMgr;      Sequencer *_sequencer; diff --git a/engines/pink/resource_mgr.cpp b/engines/pink/resource_mgr.cpp index dc53cf3a9d..378dded483 100644 --- a/engines/pink/resource_mgr.cpp +++ b/engines/pink/resource_mgr.cpp @@ -20,6 +20,7 @@   *   */ +#include <video/flic_decoder.h>  #include "resource_mgr.h"  #include "file.h"  #include "pink.h" @@ -28,7 +29,7 @@  namespace Pink {  ResourceMgr::ResourceMgr() -        : _orb(nullptr), _bro(nullptr), +        : _game(nullptr), _orb(nullptr), _bro(nullptr),            _resDescTable(nullptr), _resCount(0)  {} @@ -39,6 +40,7 @@ ResourceMgr::~ResourceMgr() {  void ResourceMgr::init(PinkEngine *game, GamePage *page) {      _orb = game->getOrb();      _bro = game->getBro(); +    _game = game;      ObjectDescription *objDesc = _orb->getObjDesc(page->getName().c_str());      _resCount = objDesc->resourcesCount; diff --git a/engines/pink/resource_mgr.h b/engines/pink/resource_mgr.h index 7672e84bb0..47c381ad37 100644 --- a/engines/pink/resource_mgr.h +++ b/engines/pink/resource_mgr.h @@ -25,12 +25,17 @@  #ifndef PINK_RESOURCE_MGR_H  #define PINK_RESOURCE_MGR_H +namespace Common { +    class String; +} +  namespace Pink {  class GamePage;  class PinkEngine;  class OrbFile;  class BroFile; +class Sound;  struct ResourceDescription; @@ -40,12 +45,14 @@ public:      ~ResourceMgr();      void init(PinkEngine *game, GamePage *page); +    //move methods to page      //compiler must do RVO      //Common::String loadText(Common::String &name); -    //Sound loadSound(Common::String &name); +    Sound loadSound(Common::String &name);      // loadCEL();  private: +    PinkEngine *_game;      OrbFile *_orb;      BroFile *_bro;      ResourceDescription *_resDescTable; | 
