From c4d4277807f5990102817ade9d558b700013ebc3 Mon Sep 17 00:00:00 2001 From: Arnaud Boutonné Date: Tue, 26 Oct 2010 21:16:16 +0000 Subject: 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 --- engines/hugo/schedule.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'engines/hugo/schedule.h') 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 -- cgit v1.2.3