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 */
 |