OpenTTD/src/hal.h
bjarni ca1a88f6c4 (svn r8605) -Codechange: [OSX] changed all objective C to objective C++
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)
2007-02-05 21:16:56 +00:00

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