X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=bf0f58b1497448f3d3ef1c8924dedddbf3bd9c4a;hb=8932f698c0831ab0e4ae2e03d64a48be1aeee82a;hp=e65cd99abb63de6177b7041add397f3964cefb63;hpb=ae32fd8a4316c5d7f18fe6966f999ebf5509df94;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index e65cd99a..bf0f58b1 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2000 Artsoft Entertainment * +* (c) 1994-2001 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -30,13 +30,19 @@ /* contant definitions */ -#define DEFAULT_DEPTH 0 +/* the additional 'b' is needed for Win32 to open files in binary mode */ +#define MODE_READ "rb" +#define MODE_WRITE "wb" +#define MODE_APPEND "ab" -#define FULLSCREEN_NOT_AVAILABLE FALSE -#define FULLSCREEN_AVAILABLE TRUE +#define DEFAULT_DEPTH 0 + +#define FULLSCREEN_NOT_AVAILABLE FALSE +#define FULLSCREEN_AVAILABLE TRUE /* values for button_status */ #define MB_NOT_PRESSED FALSE +#define MB_NOT_RELEASED TRUE #define MB_RELEASED FALSE #define MB_PRESSED TRUE #define MB_MENU_CHOICE FALSE @@ -94,6 +100,7 @@ #define RW_BASE_PATH RW_GAME_DIR #define GRAPHICS_DIRECTORY "graphics" +#define MUSIC_DIRECTORY "music" #define SOUNDS_DIRECTORY "sounds" #define LEVELS_DIRECTORY "levels" #define TAPES_DIRECTORY "tapes" @@ -149,6 +156,9 @@ struct OptionInfo char *ro_base_directory; char *rw_base_directory; char *level_directory; + char *graphics_directory; + char *sounds_directory; + char *music_directory; boolean serveronly; boolean network; boolean verbose; @@ -166,12 +176,19 @@ struct VideoSystemInfo struct AudioSystemInfo { boolean sound_available; + boolean music_available; boolean loops_available; + boolean mods_available; boolean sound_enabled; + int soundserver_pipe[2]; int soundserver_pid; char *device_name; int device_fd; + + int channels; + int music_channel; + int music_nr; }; struct GfxInfo @@ -255,6 +272,7 @@ extern int FrameCounter; void InitCommandName(char *); void InitExitFunction(void (*exit_function)(int)); void InitPlatformDependantStuff(void); +void ClosePlatformDependantStuff(void); void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *); @@ -264,6 +282,7 @@ void InitGfxDoor2Info(int, int, int, int); void InitGfxScrollbufferInfo(int, int); inline void InitVideoDisplay(void); +inline void CloseVideoDisplay(void); inline void InitVideoBuffer(DrawBuffer **,DrawWindow **, int,int,int, boolean); inline Bitmap *CreateBitmapStruct(void); inline Bitmap *CreateBitmap(int, int, int); @@ -275,6 +294,7 @@ inline void SetClipOrigin(Bitmap *, GC, int, int); inline void BlitBitmapMasked(Bitmap *, Bitmap *, int, int, int, int, int, int); inline void DrawSimpleWhiteLine(Bitmap *, int, int, int, int); inline void DrawLines(Bitmap *, struct XY *, int, Pixel); +inline Pixel GetPixel(Bitmap *, int, int); inline Pixel GetPixelFromRGB(Bitmap *, unsigned int,unsigned int,unsigned int); inline Pixel GetPixelFromRGBcompact(Bitmap *, unsigned int); @@ -288,8 +308,8 @@ inline boolean ChangeVideoModeIfNeeded(boolean); Bitmap *LoadImage(char *); -inline boolean OpenAudio(struct AudioSystemInfo *); -inline void CloseAudio(struct AudioSystemInfo *); +inline void OpenAudio(void); +inline void CloseAudio(void); inline void SetAudioMode(boolean); inline void InitEventFilter(EventFilter);