mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-07-17 17:35:19 +01:00
This will permanently solve the issue where compilation on OSX broke because C++ code was added to some header files -Note: (important if you develop mac specific code) taken from http://developer.apple.com/releasenotes/Cocoa/Objective-C++.html gdb lacks an integrated C++ with Objective-C parser. This means that gdb won't be able to evaluate expressions that contain both C++ and Objective-C constructs. gdb assumes that the language for ".mm" files is C++. you can change it to objective C by typing: (gdb) set language objc Mixing C++ and objective C has some limitation (see link for all of them)
46 lines
987 B
C
46 lines
987 B
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;
|
|
|
|
extern HalMusicDriver *_music_driver;
|
|
extern HalSoundDriver *_sound_driver;
|
|
extern HalVideoDriver *_video_driver;
|
|
|
|
enum DriverType {
|
|
VIDEO_DRIVER = 0,
|
|
SOUND_DRIVER = 1,
|
|
MUSIC_DRIVER = 2,
|
|
};
|
|
|
|
#endif /* HAL_H */
|