(svn r1) Import of revision 975 of old (crashed) SVN
This commit is contained in:
146
hal.h
Normal file
146
hal.h
Normal file
@@ -0,0 +1,146 @@
|
||||
#ifndef HAL_H
|
||||
#define HAL_H
|
||||
|
||||
typedef struct {
|
||||
char *(*start)(char **parm);
|
||||
void (*stop)();
|
||||
} HalCommonDriver;
|
||||
|
||||
typedef struct {
|
||||
const char *(*start)(char **parm);
|
||||
void (*stop)();
|
||||
void (*make_dirty)(int left, int top, int width, int height);
|
||||
int (*main_loop)();
|
||||
bool (*change_resolution)(int w, int h);
|
||||
} HalVideoDriver;
|
||||
|
||||
enum {
|
||||
ML_QUIT = 0,
|
||||
ML_SWITCHDRIVER = 1,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
char *(*start)(char **parm);
|
||||
void (*stop)();
|
||||
} HalSoundDriver;
|
||||
|
||||
typedef struct {
|
||||
char *(*start)(char **parm);
|
||||
void (*stop)();
|
||||
|
||||
void (*play_song)(const char *filename);
|
||||
void (*stop_song)();
|
||||
bool (*is_song_playing)();
|
||||
void (*set_volume)(byte vol);
|
||||
} HalMusicDriver;
|
||||
|
||||
typedef struct {
|
||||
const char *name;
|
||||
const char *longname;
|
||||
const void *drv;
|
||||
uint flags;
|
||||
} DriverDesc;
|
||||
|
||||
enum {
|
||||
HALERR_OK = 0,
|
||||
HALERR_ERROR = 1,
|
||||
};
|
||||
|
||||
extern const HalMusicDriver _null_music_driver;
|
||||
extern const HalVideoDriver _null_video_driver;
|
||||
extern const HalSoundDriver _null_sound_driver;
|
||||
|
||||
VARDEF HalMusicDriver *_music_driver;
|
||||
VARDEF HalSoundDriver *_sound_driver;
|
||||
VARDEF HalVideoDriver *_video_driver;
|
||||
|
||||
extern const DriverDesc _video_driver_descs[];
|
||||
extern const DriverDesc _sound_driver_descs[];
|
||||
extern const DriverDesc _music_driver_descs[];
|
||||
|
||||
#if defined(WITH_SDL)
|
||||
extern const HalSoundDriver _sdl_sound_driver;
|
||||
extern const HalVideoDriver _sdl_video_driver;
|
||||
#endif
|
||||
|
||||
#if defined(UNIX)
|
||||
extern const HalMusicDriver _extmidi_music_driver;
|
||||
#endif
|
||||
|
||||
#if defined(__BEOS__)
|
||||
extern const HalMusicDriver _bemidi_music_driver;
|
||||
#endif
|
||||
|
||||
enum DriverType {
|
||||
VIDEO_DRIVER = 0,
|
||||
SOUND_DRIVER = 1,
|
||||
MUSIC_DRIVER = 2,
|
||||
};
|
||||
|
||||
extern void GameLoop();
|
||||
extern bool _dbg_screen_rect;
|
||||
|
||||
void LoadDriver(int driver, const char *name);
|
||||
|
||||
char *GetDriverParam(char **parm, const char *name);
|
||||
bool GetDriverParamBool(char **parm, const char *name);
|
||||
int GetDriverParamInt(char **parm, const char *name, int def);
|
||||
|
||||
|
||||
|
||||
// Deals with finding savegames
|
||||
typedef struct {
|
||||
uint16 id;
|
||||
byte type;
|
||||
uint64 mtime;
|
||||
char title[64];
|
||||
char name[256-12-64];
|
||||
int old_extension;
|
||||
} FiosItem;
|
||||
|
||||
// extensions of old savegames, scenarios
|
||||
static const char* const _old_extensions[] = {
|
||||
// old savegame types
|
||||
"ss1", // Transport Tycoon Deluxe preset game
|
||||
"sv1", // Transport Tycoon Deluxe (Patch) saved game
|
||||
"sv2", // Transport Tycoon Deluxe (Patch) saved 2-player game
|
||||
// old scenario game type
|
||||
"sv0", // Transport Tycoon Deluxe (Patch) scenario
|
||||
"ss0", // Transport Tycoon Deluxe preset scenario
|
||||
};
|
||||
|
||||
enum {
|
||||
FIOS_TYPE_DRIVE = 0,
|
||||
FIOS_TYPE_PARENT = 1,
|
||||
FIOS_TYPE_DIR = 2,
|
||||
FIOS_TYPE_FILE = 3,
|
||||
FIOS_TYPE_OLDFILE = 4,
|
||||
FIOS_TYPE_SCENARIO = 5,
|
||||
FIOS_TYPE_OLD_SCENARIO = 6,
|
||||
};
|
||||
|
||||
// get the name of an oldstyle savegame
|
||||
void GetOldSaveGameName(char *title, const char *file);
|
||||
// get the name of an oldstyle scenario
|
||||
void GetOldScenarioGameName(char *title, const char *file);
|
||||
|
||||
// Get a list of savegames
|
||||
FiosItem *FiosGetSavegameList(int *num, int mode);
|
||||
// Get a list of scenarios
|
||||
FiosItem *FiosGetScenarioList(int *num, int mode);
|
||||
// Free the list of savegames
|
||||
void FiosFreeSavegameList();
|
||||
// Browse to. Returns a filename w/path if we reached a file.
|
||||
char *FiosBrowseTo(const FiosItem *item);
|
||||
// Get descriptive texts.
|
||||
// Returns a path as well as a
|
||||
// string describing the path.
|
||||
StringID FiosGetDescText(char **path);
|
||||
// Delete a name
|
||||
void FiosDelete(const char *name);
|
||||
// Make a filename from a name
|
||||
void FiosMakeSavegameName(char *buf, const char *name);
|
||||
|
||||
void CreateConsole();
|
||||
|
||||
#endif /* HAL_H */
|
Reference in New Issue
Block a user