added support for x/y/width/height parameters for border/background images
[rocksndiamonds.git] / src / libgame / system.h
index 301e9fac9d65fd19ea6caa7d0890ea1ac5b8f9a8..5c131b97477ac9d4eb687bb97c1ef2aa40282360 100644 (file)
 #define ELEMENTS_DIRECTORY     "elements"
 #define CREDITS_DIRECTORY      "credits"
 #define PROGRAM_INFO_DIRECTORY "program"
+#define LEVELSET_INFO_DIRECTORY        "levelset"
 #define CACHE_DIRECTORY                "cache"
 #define CONF_DIRECTORY         "conf"
 #define NETWORK_DIRECTORY      "network"
@@ -1450,6 +1451,7 @@ struct SetupInternalInfo
   boolean choose_from_top_leveldir;
   boolean show_scaling_in_title;
   boolean create_user_levelset;
+  boolean info_screens_from_main;
 
   boolean menu_game;
   boolean menu_engines;
@@ -1463,6 +1465,12 @@ struct SetupInternalInfo
   boolean menu_exit;
   boolean menu_save_and_exit;
 
+  boolean menu_shortcuts_various;
+  boolean menu_shortcuts_focus;
+  boolean menu_shortcuts_tape;
+  boolean menu_shortcuts_sound;
+  boolean menu_shortcuts_snap;
+
   boolean info_title;
   boolean info_elements;
   boolean info_music;
@@ -1504,6 +1512,7 @@ struct SetupInfo
   int engine_snapshot_memory;
   boolean fade_screens;
   boolean autorecord;
+  boolean autorecord_after_replay;
   boolean auto_pause_on_start;
   boolean show_titlescreen;
   boolean quick_doors;
@@ -1651,6 +1660,7 @@ struct TreeInfo
   boolean skip_levels; // levels can be skipped when set to "true"
 
   boolean use_emc_tiles;// use (swapped) V5/V6 EMC tiles when set to "true"
+  boolean info_screens_from_main; // can invoke info screens from main menu
 
   int color;           // color to use on selection screen for this level
   char *class_desc;    // description of level series class
@@ -1904,7 +1914,6 @@ extern struct AudioSystemInfo     audio;
 extern struct GfxInfo          gfx;
 extern struct TileCursorInfo   tile_cursor;
 extern struct OverlayInfo      overlay;
-extern struct AnimInfo         anim;
 extern struct ArtworkInfo      artwork;
 extern struct JoystickInfo     joystick;
 extern struct SetupInfo                setup;
@@ -1978,9 +1987,7 @@ boolean GetOverlayActive(void);
 void SetDrawDeactivationMask(int);
 int GetDrawDeactivationMask(void);
 void SetDrawBackgroundMask(int);
-void SetWindowBackgroundBitmap(Bitmap *);
-void SetMainBackgroundBitmap(Bitmap *);
-void SetDoorBackgroundBitmap(Bitmap *);
+void SetBackgroundBitmap(Bitmap *, int, int, int, int, int);
 void SetRedrawMaskFromArea(int, int, int, int);
 
 void LimitScreenUpdates(boolean);
@@ -2002,7 +2009,7 @@ void ClearRectangle(Bitmap *, int, int, int, int);
 void ClearRectangleOnBackground(Bitmap *, int, int, int, int);
 void BlitBitmapMasked(Bitmap *, Bitmap *, int, int, int, int, int, int);
 boolean DrawingDeactivatedField(void);
-boolean DrawingDeactivated(int, int, int, int);
+boolean DrawingDeactivated(int, int);
 boolean DrawingOnBackground(int, int);
 boolean DrawingAreaChanged(void);
 void BlitBitmapOnBackground(Bitmap *, Bitmap *, int, int, int, int, int, int);
@@ -2010,12 +2017,10 @@ void BlitTexture(Bitmap *, int, int, int, int, int, int);
 void BlitTextureMasked(Bitmap *, int, int, int, int, int, int);
 void BlitToScreen(Bitmap *, int, int, int, int, int, int);
 void BlitToScreenMasked(Bitmap *, int, int, int, int, int, int);
-void DrawSimpleBlackLine(Bitmap *, int, int, int, int);
 void DrawSimpleWhiteLine(Bitmap *, int, int, int, int);
 void DrawLines(Bitmap *, struct XY *, int, Pixel);
 Pixel GetPixel(Bitmap *, int, int);
 Pixel GetPixelFromRGB(Bitmap *, unsigned int,unsigned int,unsigned int);
-Pixel GetPixelFromRGBcompact(Bitmap *, unsigned int);
 
 void KeyboardAutoRepeatOn(void);
 void KeyboardAutoRepeatOff(void);
@@ -2049,7 +2054,7 @@ void WaitEvent(Event *event);
 void PeekEvent(Event *event);
 void PumpEvents(void);
 void CheckQuitEvent(void);
-Key GetEventKey(KeyEvent *, boolean);
+Key GetEventKey(KeyEvent *);
 KeyMod HandleKeyModState(Key, int);
 KeyMod GetKeyModState(void);
 KeyMod GetKeyModStateFromEvents(void);