X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsdl.h;h=d574cd6be713c63059c7b2c96541df18be8a0797;hb=34ed45c14d923459972fecf7a3b46f44d7e03670;hp=a8ae4536a1eb628bd1e6d8fe0de0b0fa2ea228be;hpb=998be01ad92a672b69b11e24d472f6c0c076817f;p=rocksndiamonds.git diff --git a/src/libgame/sdl.h b/src/libgame/sdl.h index a8ae4536..d574cd6b 100644 --- a/src/libgame/sdl.h +++ b/src/libgame/sdl.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2000 Artsoft Entertainment * +* (c) 1994-2002 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -23,9 +23,6 @@ #define SURFACE_FLAGS (SDL_SWSURFACE) -#define SDLCOPYAREA_OPAQUE 0 -#define SDLCOPYAREA_MASKED 1 - /* system dependent definitions */ #define TARGET_STRING "SDL" @@ -34,9 +31,9 @@ /* SDL type definitions */ -typedef struct SDLSurfaceInfo *Bitmap; -typedef struct SDLSurfaceInfo *DrawBuffer; -typedef struct SDLSurfaceInfo *DrawWindow; +typedef struct SDLSurfaceInfo Bitmap; +typedef struct SDLSurfaceInfo DrawBuffer; +typedef struct SDLSurfaceInfo DrawWindow; typedef Uint32 Pixel; typedef SDLKey Key; @@ -60,6 +57,9 @@ typedef int Colormap; struct SDLSurfaceInfo { + char *source_filename; + + int width, height; SDL_Surface *surface; SDL_Surface *surface_masked; GC gc; @@ -76,6 +76,9 @@ struct XY #define None 0L +#define BlackPixel(d, s) 0x000000 +#define WhitePixel(d, s) 0xffffff + #define EVENT_BUTTONPRESS SDL_MOUSEBUTTONDOWN #define EVENT_BUTTONRELEASE SDL_MOUSEBUTTONUP #define EVENT_MOTIONNOTIFY SDL_MOUSEMOTION @@ -311,20 +314,35 @@ struct XY #define KSYM_F23 KSYM_UNDEFINED #define KSYM_F24 KSYM_UNDEFINED +#define KSYM_FKEY_FIRST KSYM_F1 +#define KSYM_FKEY_LAST KSYM_F15 +#define KSYM_NUM_FKEYS (KSYM_FKEY_LAST - KSYM_FKEY_FIRST + 1) + /* SDL function definitions */ inline void SDLInitVideoDisplay(void); -inline void SDLInitVideoBuffer(DrawBuffer *, DrawWindow *, boolean); -inline boolean SDLSetVideoMode(DrawBuffer *, boolean); -inline void SDLCopyArea(Bitmap, Bitmap, int, int, int, int, int, int, int); -inline void SDLFillRectangle(Bitmap, int, int, int, int, unsigned int); -inline void SDLDrawSimpleLine(SDL_Surface *, int, int, int, int, unsigned int); -inline void SDLDrawLine(SDL_Surface *, int, int, int, int, Uint32); -/* functions from SGE library */ -void sge_Line(SDL_Surface *, Sint16, Sint16, Sint16, Sint16, Uint32); - -inline boolean SDLOpenAudio(void); +inline void SDLInitVideoBuffer(DrawBuffer **, DrawWindow **, boolean); +inline boolean SDLSetVideoMode(DrawBuffer **, boolean); +inline void SDLCreateBitmapContent(Bitmap *, int, int, int); +inline void SDLFreeBitmapPointers(Bitmap *); +inline void SDLCopyArea(Bitmap *, Bitmap *, int, int, int, int, int, int, int); +inline void SDLFillRectangle(Bitmap *, int, int, int, int, Uint32); +inline void SDLDrawSimpleLine(Bitmap *, int, int, int, int, Uint32); +inline void SDLDrawLine(Bitmap *, int, int, int, int, Uint32); +inline Pixel SDLGetPixel(Bitmap *, int, int); + +void SDLZoomBitmap(Bitmap *, Bitmap *); + +Bitmap *SDLLoadImage(char *); + +inline void SDLOpenAudio(void); inline void SDLCloseAudio(void); +inline void SDLNextEvent(Event *); + +void HandleJoystickEvent(Event *); +void SDLInitJoysticks(void); +boolean SDLReadJoystick(int, int *, int *, boolean *, boolean *); + #endif /* SDL_H */