diff options
author | Arnaud Boutonné | 2010-10-26 21:16:16 +0000 |
---|---|---|
committer | Arnaud Boutonné | 2010-10-26 21:16:16 +0000 |
commit | c4d4277807f5990102817ade9d558b700013ebc3 (patch) | |
tree | 4a9c5fbb3a0156fb7a0a6f76cf1df8324ded6b3b /engines/hugo/schedule.h | |
parent | bd7d9965e9f2048a53e7fe9668d0c2a05cf2fc81 (diff) | |
download | scummvm-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.h | 18 |
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 |