58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $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 */
 | 
