aboutsummaryrefslogtreecommitdiff
path: root/engines/hugo/schedule.h
diff options
context:
space:
mode:
authorArnaud Boutonné2010-10-26 21:16:16 +0000
committerArnaud Boutonné2010-10-26 21:16:16 +0000
commitc4d4277807f5990102817ade9d558b700013ebc3 (patch)
tree4a9c5fbb3a0156fb7a0a6f76cf1df8324ded6b3b /engines/hugo/schedule.h
parentbd7d9965e9f2048a53e7fe9668d0c2a05cf2fc81 (diff)
downloadscummvm-rg350-c4d4277807f5990102817ade9d558b700013ebc3.tar.gz
scummvm-rg350-c4d4277807f5990102817ade9d558b700013ebc3.tar.bz2
scummvm-rg350-c4d4277807f5990102817ade9d558b700013ebc3.zip
HUGO: Add specific schedulers for each DOS version.
This fixes intro (and game) in H3 DOS, general game behavior in H2 Dos. H1 Dos is still broken. svn-id: r53858
Diffstat (limited to 'engines/hugo/schedule.h')
-rw-r--r--engines/hugo/schedule.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/engines/hugo/schedule.h b/engines/hugo/schedule.h
index c74c0cb640..e6eb5d7947 100644
--- a/engines/hugo/schedule.h
+++ b/engines/hugo/schedule.h
@@ -52,16 +52,18 @@ public:
virtual ~Scheduler();
virtual void insertAction(act *action) = 0;
+ virtual void restoreEvents(Common::SeekableReadStream *f) = 0;
+ virtual void runScheduler() = 0;
+ virtual void saveEvents(Common::WriteStream *f) = 0;
void initEventQueue();
void insertActionList(uint16 actIndex);
void decodeString(char *line);
- void runScheduler();
- uint32 getTicks();
+ uint32 getWinTicks();
+ uint32 getDosTicks(bool updateFl);
+ void waitForRefresh(void);
void processBonus(int bonusIndex);
void newScreen(int screenIndex);
- void restoreEvents(Common::SeekableReadStream *f);
- void saveEvents(Common::WriteStream *f);
void restoreScreen(int screenIndex);
protected:
@@ -91,6 +93,9 @@ public:
virtual const char *getCypher();
virtual void insertAction(act *action);
+ virtual void restoreEvents(Common::SeekableReadStream *f);
+ virtual void saveEvents(Common::WriteStream *f);
+ virtual void runScheduler();
protected:
virtual void delQueue(event_t *curEvent);
virtual event_t *doAction(event_t *curEvent);
@@ -124,7 +129,10 @@ public:
~Scheduler_v1w();
virtual event_t *doAction(event_t *curEvent);
+ void insertAction(act *action);
+ void restoreEvents(Common::SeekableReadStream *f);
+ void runScheduler();
+ void saveEvents(Common::WriteStream *f);
};
} // End of namespace Hugo
-
#endif //HUGO_SCHEDULE_H