/* $Id$ */ #ifndef HAL_H #define HAL_H typedef struct { const char *(*start)(const char * const *parm); void (*stop)(void); } HalCommonDriver; typedef struct { const char *(*start)(const char * const *parm); void (*stop)(void); void (*make_dirty)(int left, int top, int width, int height); void (*main_loop)(void); bool (*change_resolution)(int w, int h); void (*toggle_fullscreen)(bool fullscreen); } HalVideoDriver; typedef struct { const char *(*start)(const char * const *parm); void (*stop)(void); } HalSoundDriver; typedef struct { const char *(*start)(const char * const *parm); void (*stop)(void); void (*play_song)(const char *filename); void (*stop_song)(void); bool (*is_song_playing)(void); void (*set_volume)(byte vol); } HalMusicDriver; VARDEF HalMusicDriver *_music_driver; VARDEF HalSoundDriver *_sound_driver; VARDEF HalVideoDriver *_video_driver; enum DriverType { VIDEO_DRIVER = 0, SOUND_DRIVER = 1, MUSIC_DRIVER = 2, }; void GameLoop(void); void CreateConsole(void); #if defined(WIN32) || defined(WIN64) || defined(__WATCOMC__) # define FS2OTTD(name) name # define OTTD2FS(name) name #else const char *FS2OTTD(const char *name); const char *OTTD2FS(const char *name); #endif #endif /* HAL_H */