-/***********************************************************
-* 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
#define ERROR_BASENAME "stderr.txt"
+#define STRING_PARENT_DIRECTORY ".."
+#define STRING_TOP_DIRECTORY "/"
+
#define CHAR_PATH_SEPARATOR_UNIX '/'
#define CHAR_PATH_SEPARATOR_DOS '\\'
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);
boolean network;
boolean verbose;
boolean debug;
- boolean debug_x11_sync;
};
struct ScreenModeInfo
boolean window_scaling_available;
int window_scaling_percent;
char *window_scaling_quality;
+
+ boolean initialized;
};
struct AudioSystemInfo
int full_sxsize, full_sysize;
int scrollbuffer_width, scrollbuffer_height;
+ int game_tile_size, standard_tile_size;
+
int dx, dy;
int dxsize, dysize;
int draw_deactivation_mask;
int draw_background_mask;
+ boolean drawing_area_changed;
+
Bitmap *field_save_buffer;
Bitmap *background_bitmap;
int anim_random_frame;
void (*draw_busy_anim_function)(void);
+
+ int cursor_mode;
};
struct JoystickInfo
struct TextPosInfo
{
int x, y;
+ int xoffset; /* special case for tape date and time */
+ int xoffset2; /* special case for tape date */
int width, height;
int align, valign;
- int size;
+ int size; /* also used for suffix ".digits" */
int font, font_alt;
boolean draw_masked;
boolean draw_player; /* special case for network player buttons */
- int sort_priority;
+ int sort_priority; /* also used for suffix ".draw_order" */
int id;
};
extern struct LevelStats level_stats[];
-extern Display *display;
-extern Visual *visual;
-extern int screen;
-extern Colormap cmap;
-
extern DrawWindow *window;
extern DrawBuffer *backbuffer;
extern DrawBuffer *drawto;
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);
void InitGfxClipRegion(boolean, int, int, int, int);
void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
void InitGfxCustomArtworkInfo();
+void InitGfxOtherSettings();
void SetDrawDeactivationMask(int);
void SetDrawBackgroundMask(int);
void SetWindowBackgroundBitmap(Bitmap *);
void FillRectangle(Bitmap *, int, int, int, int, Pixel);
void ClearRectangle(Bitmap *, int, int, int, int);
void ClearRectangleOnBackground(Bitmap *, int, int, int, int);
-void SetClipMask(Bitmap *, GC, Pixmap);
-void SetClipOrigin(Bitmap *, GC, int, int);
void BlitBitmapMasked(Bitmap *, Bitmap *, int, int, int, int, int, int);
boolean DrawingOnBackground(int, int);
+boolean DrawingAreaChanged();
void BlitBitmapOnBackground(Bitmap *, Bitmap *, int, int, int, int, int, int);
void DrawSimpleBlackLine(Bitmap *, int, int, int, int);
void DrawSimpleWhiteLine(Bitmap *, int, int, int, int);
Pixel GetPixelFromRGB(Bitmap *, unsigned int,unsigned int,unsigned int);
Pixel GetPixelFromRGBcompact(Bitmap *, unsigned int);
-void FlushDisplay(void);
-void SyncDisplay(void);
void KeyboardAutoRepeatOn(void);
void KeyboardAutoRepeatOff(void);
boolean PointerInWindow(DrawWindow *);
void ReloadCustomImage(Bitmap *, char *);
Bitmap *ZoomBitmap(Bitmap *, int, int);
-void CreateBitmapWithSmallBitmaps(Bitmap *, int);
-void ScaleBitmap(Bitmap *, int);
+void ReCreateGameTileSizeBitmap(Bitmap **);
+void CreateBitmapWithSmallBitmaps(Bitmap **, int, int);
+void ScaleBitmap(Bitmap **, int);
void SetMouseCursor(int);