rnd-20061019-1-src
[rocksndiamonds.git] / src / main.h
index 3c3a40fb5181bd3a297542b5e64c20d6138642c8..4ef25ab1be6c72b0ef0a3c31284458bc52cb2c88 100644 (file)
 
 #define NUM_SPECIAL_GFX_ARGS           12
 
+/* these additional definitions are currently only used for draw offsets */
+#define GFX_SPECIAL_ARG_INFO_MAIN      0
+#define GFX_SPECIAL_ARG_INFO_TITLE     1
+#define GFX_SPECIAL_ARG_INFO_ELEMENTS  2
+#define GFX_SPECIAL_ARG_INFO_MUSIC     3
+#define GFX_SPECIAL_ARG_INFO_CREDITS   4
+#define GFX_SPECIAL_ARG_INFO_PROGRAM   5
+#define GFX_SPECIAL_ARG_INFO_LEVELSET  6
+
+#define NUM_SPECIAL_GFX_INFO_ARGS      7
+
 
 /* values for image configuration suffixes */
 #define GFX_ARG_X                      0
 #define PROGRAM_COPYRIGHT_STRING       "Copyright ©1995-2006 by Holger Schemel"
 #define PROGRAM_EMAIL_STRING           "info@artsoft.org"
 #define PROGRAM_WEBSITE_STRING         "http://www.artsoft.org/"
+#define PROGRAM_GAME_BY_STRING         "A Game by Artsoft Entertainment"
 
 #define ICON_TITLE_STRING              PROGRAM_TITLE_STRING
 #define COOKIE_PREFIX                  "ROCKSNDIAMONDS"
@@ -1835,42 +1847,52 @@ struct BorderInfo
   int draw_masked[NUM_SPECIAL_GFX_ARGS];
 };
 
+struct MenuPosInfo
+{
+  int x, y;
+  int width, height;
+  int align;
+};
+
 struct MenuMainButtonInfo
 {
-  struct Rect name;
-  struct Rect levels;
-  struct Rect scores;
-  struct Rect editor;
-  struct Rect info;
-  struct Rect game;
-  struct Rect setup;
-  struct Rect quit;
-
-  struct Rect prev_level;
-  struct Rect next_level;
+  struct MenuPosInfo name;
+  struct MenuPosInfo levels;
+  struct MenuPosInfo scores;
+  struct MenuPosInfo editor;
+  struct MenuPosInfo info;
+  struct MenuPosInfo game;
+  struct MenuPosInfo setup;
+  struct MenuPosInfo quit;
+
+  struct MenuPosInfo prev_level;
+  struct MenuPosInfo next_level;
 };
 
 struct MenuMainTextInfo
 {
-  struct Rect name;
-  struct Rect levels;
-  struct Rect scores;
-  struct Rect editor;
-  struct Rect info;
-  struct Rect game;
-  struct Rect setup;
-  struct Rect quit;
-
-  struct Rect current_level;
-  struct Rect first_level;
-  struct Rect last_level;
-  struct Rect levelset_info;
-  struct Rect level_info;
+  struct MenuPosInfo name;
+  struct MenuPosInfo levels;
+  struct MenuPosInfo scores;
+  struct MenuPosInfo editor;
+  struct MenuPosInfo info;
+  struct MenuPosInfo game;
+  struct MenuPosInfo setup;
+  struct MenuPosInfo quit;
+
+  struct MenuPosInfo current_level;
+  struct MenuPosInfo first_level;
+  struct MenuPosInfo last_level;
+  struct MenuPosInfo level_info_1;
+  struct MenuPosInfo level_info_2;
+  struct MenuPosInfo title_1;
+  struct MenuPosInfo title_2;
+  struct MenuPosInfo title_3;
 };
 
 struct MenuMainInputInfo
 {
-  struct Rect name;
+  struct MenuPosInfo name;
 };
 
 struct MenuMainInfo
@@ -1884,6 +1906,8 @@ struct MenuInfo
 {
   int draw_xoffset[NUM_SPECIAL_GFX_ARGS];
   int draw_yoffset[NUM_SPECIAL_GFX_ARGS];
+  int draw_xoffset_info[NUM_SPECIAL_GFX_INFO_ARGS];
+  int draw_yoffset_info[NUM_SPECIAL_GFX_INFO_ARGS];
 
   int scrollbar_xoffset;
 
@@ -1910,10 +1934,13 @@ struct DoorInfo
 struct PreviewInfo
 {
   int x, y;
+  int align;
   int xsize, ysize;
+  int xoffset, yoffset;
   int tile_size;
   int step_offset;
   int step_delay;
+  int anim_mode;
 };
 
 struct HiScore