aboutsummaryrefslogtreecommitdiff
path: root/engines/hugo/schedule.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hugo/schedule.h')
-rw-r--r--engines/hugo/schedule.h29
1 files changed, 23 insertions, 6 deletions
diff --git a/engines/hugo/schedule.h b/engines/hugo/schedule.h
index b4889aa728..e2169a0aa9 100644
--- a/engines/hugo/schedule.h
+++ b/engines/hugo/schedule.h
@@ -458,31 +458,40 @@ public:
virtual void decodeString(char *line) = 0;
virtual void runScheduler() = 0;
- void freeActListArr();
+ int16 calcMaxPoints() const;
+
+ void freeScheduler();
+ void initCypher();
void initEventQueue();
void insertActionList(const uint16 actIndex);
void loadActListArr(Common::ReadStream &in);
void loadAlNewscrIndex(Common::ReadStream &in);
+ void loadPoints(Common::ReadStream &in);
+ void loadScreenAct(Common::ReadStream &in);
void newScreen(const int screenIndex);
void processBonus(const int bonusIndex);
void processMaze(const int x1, const int x2, const int y1, const int y2);
+ void restoreSchedulerData(Common::ReadStream *in);
void restoreScreen(const int screenIndex);
- void restoreEvents(Common::ReadStream *f);
- void saveEvents(Common::WriteStream *f);
+ void saveSchedulerData(Common::WriteStream *out);
void waitForRefresh();
void findAction(act* action, int16* index, int16* subElem);
- void saveActions(Common::WriteStream* f) const;
- void restoreActions(Common::ReadStream *f);
-
protected:
HugoEngine *_vm;
static const int kFilenameLength = 12; // Max length of a DOS file name
static const int kMaxEvents = 50; // Max events in event queue
static const int kShiftSize = 8; // Place hero this far inside bounding box
+ Common::String _cypher;
+
uint16 _actListArrSize;
uint16 _alNewscrIndex;
+ uint16 _screenActsSize;
+ uint16 **_screenActs;
+
+ byte _numBonuses;
+ point_t *_points;
uint32 _curTick; // Current system time in ticks
uint32 _oldTime; // The previous wall time in ticks
@@ -510,6 +519,14 @@ protected:
void delEventType(const action_t actTypeDel);
void delQueue(event_t *curEvent);
void insertAction(act *action);
+ void restoreActions(Common::ReadStream *f);
+ void restoreEvents(Common::ReadStream *f);
+ void restorePoints(Common::ReadStream *in);
+ void saveActions(Common::WriteStream* f) const;
+ void saveEvents(Common::WriteStream *f);
+ void savePoints(Common::WriteStream *out) const;
+ void screenActions(const int screenNum);
+
};
class Scheduler_v1d : public Scheduler {