X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=1a469a193e9f84395834ba2f034dc9b74f70fae4;hp=90e8bca7af8f4d39dff18f6ab32a2d26bd6e5b39;hb=abe44529b439ad39b4d8dbf19cbd67c9b9844279;hpb=e863b9777df452d4d666e63b4dca8ae957cddd6b diff --git a/src/libgame/system.h b/src/libgame/system.h index 90e8bca7..1a469a19 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -1,15 +1,13 @@ -/*********************************************************** -* Artsoft Retro-Game Library * -*----------------------------------------------------------* -* (c) 1994-2006 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* system.h * -***********************************************************/ +// ============================================================================ +// Artsoft Retro-Game Library +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// system.h +// ============================================================================ #ifndef SYSTEM_H #define SYSTEM_H @@ -22,17 +20,11 @@ #include "macosx.h" #elif defined(PLATFORM_WIN32) #include "windows.h" -#elif defined(PLATFORM_MSDOS) -#include "msdos.h" #elif defined(PLATFORM_ANDROID) #include "android.h" #endif -#if defined(TARGET_SDL) #include "sdl.h" -#elif defined(TARGET_X11) -#include "x11.h" -#endif /* the additional 'b' is needed for Win32 to open files in binary mode */ @@ -315,17 +307,10 @@ REDRAW_MICROLEVEL) #define REDRAW_FPS (1 << 11) -#if defined(TARGET_X11) -/* on old-style, classic and potentially slow graphics systems, redraw single - tiles instead of the whole playfield unless a certain threshold is reached; - when using the X11 target, this method should still be fast on all systems */ -#define REDRAWTILES_THRESHOLD (SCR_FIELDX * SCR_FIELDY / 2) -#else -/* on modern graphics systems and when using the SDL target, this tile redraw +/* on modern graphics systems and when using the SDL target, the old tile redraw optimization can slow things down a lot due to many small blits compared to one single playfield-sized blit (especially observed on Mac OS X with SDL) */ #define REDRAWTILES_THRESHOLD 0 -#endif #define IN_GFX_FIELD_PLAY(x, y) (x >= gfx.sx && x < gfx.sx + gfx.sxsize && \ y >= gfx.sy && y < gfx.sy + gfx.sysize) @@ -415,15 +400,9 @@ #define DOCS_DIRECTORY "docs" #define CACHE_DIRECTORY "cache" -#if !defined(PLATFORM_MSDOS) #define GFX_CLASSIC_SUBDIR "gfx_classic" #define SND_CLASSIC_SUBDIR "snd_classic" #define MUS_CLASSIC_SUBDIR "mus_classic" -#else -#define GFX_CLASSIC_SUBDIR "gfx_orig" -#define SND_CLASSIC_SUBDIR "snd_orig" -#define MUS_CLASSIC_SUBDIR "mus_orig" -#endif #if defined(CREATE_SPECIAL_EDITION_RND_JUE) #define GFX_DEFAULT_SUBDIR "jue0" @@ -442,7 +421,6 @@ #endif /* file names and filename extensions */ -#if !defined(PLATFORM_MSDOS) #define LEVELSETUP_DIRECTORY "levelsetup" #define SETUP_FILENAME "setup.conf" #define LEVELSETUP_FILENAME "levelsetup.conf" @@ -458,23 +436,6 @@ #define LEVELFILE_EXTENSION "level" #define TAPEFILE_EXTENSION "tape" #define SCOREFILE_EXTENSION "score" -#else -#define LEVELSETUP_DIRECTORY "lvlsetup" -#define SETUP_FILENAME "setup.cnf" -#define LEVELSETUP_FILENAME "lvlsetup.cnf" -#define EDITORSETUP_FILENAME "edsetup.cnf" -#define EDITORCASCADE_FILENAME "edcascad.conf" -#define HELPANIM_FILENAME "helpanim.cnf" -#define HELPTEXT_FILENAME "helptext.cnf" -#define LEVELINFO_FILENAME "lvlinfo.cnf" -#define GRAPHICSINFO_FILENAME "gfxinfo.cnf" -#define SOUNDSINFO_FILENAME "sndinfo.cnf" -#define MUSICINFO_FILENAME "musinfo.cnf" -#define ARTWORKINFO_CACHE_FILE "artinfo.cac" -#define LEVELFILE_EXTENSION "lvl" -#define TAPEFILE_EXTENSION "tap" -#define SCOREFILE_EXTENSION "sco" -#endif #define ERROR_BASENAME "stderr.txt" @@ -487,7 +448,7 @@ #define STRING_NEWLINE_UNIX "\n" #define STRING_NEWLINE_DOS "\r\n" -#if defined(PLATFORM_WIN32) || defined(PLATFORM_MSDOS) +#if defined(PLATFORM_WIN32) #define CHAR_PATH_SEPARATOR CHAR_PATH_SEPARATOR_DOS #define STRING_PATH_SEPARATOR STRING_PATH_SEPARATOR_DOS #define STRING_NEWLINE STRING_NEWLINE_DOS @@ -706,13 +667,9 @@ struct ProgramInfo char *window_title; char *icon_title; - char *x11_icon_filename; - char *x11_iconmask_filename; char *sdl_icon_filename; - char *msdos_cursor_filename; char *cookie_prefix; - char *filename_prefix; /* prefix to cut off from DOS filenames */ char *error_filename; /* filename where to write error messages to */ FILE *error_file; /* (used instead of 'stderr' on some systems) */ @@ -720,6 +677,8 @@ struct ProgramInfo int version_major; int version_minor; int version_patch; + int version_build; + int version_ident; char *(*window_title_function)(void); void (*exit_message_function)(char *, va_list); @@ -804,10 +763,6 @@ struct FontBitmapInfo int num_chars; int num_chars_per_line; - -#if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND) - Pixmap *clip_mask; /* single-char-only clip mask array for X11 */ -#endif }; struct GfxInfo @@ -818,6 +773,8 @@ struct GfxInfo int full_sxsize, full_sysize; int scrollbuffer_width, scrollbuffer_height; + int game_tile_size, standard_tile_size; + int dx, dy; int dxsize, dysize; @@ -1307,13 +1264,8 @@ extern int FrameCounter; /* function definitions */ -#if 1 void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *, - char *, char *, char *, char *, int); -#else -void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *, - char *, char *, char *, char *, char *, int); -#endif + int); void SetWindowTitle(); @@ -1324,6 +1276,7 @@ void InitPlatformDependentStuff(void); void ClosePlatformDependentStuff(void); void InitGfxFieldInfo(int, int, int, int, int, int, int, int, Bitmap *); +void InitGfxTileSizeInfo(int, int); void InitGfxDoor1Info(int, int, int, int); void InitGfxDoor2Info(int, int, int, int); void InitGfxDoor3Info(int, int, int, int); @@ -1379,7 +1332,7 @@ Bitmap *LoadCustomImage(char *); void ReloadCustomImage(Bitmap *, char *); Bitmap *ZoomBitmap(Bitmap *, int, int); -void CreateBitmapWithSmallBitmaps(Bitmap *, int); +void CreateBitmapWithSmallBitmaps(Bitmap *, int, int); void ScaleBitmap(Bitmap *, int); void SetMouseCursor(int);