rnd-20140224-1-src
[rocksndiamonds.git] / src / main.h
index 5031d845f57d0f2e997b1d1e5d0ef882158c1fe9..10e48258dc6d9510f13bbe0f74273e97a3c1c1e0 100644 (file)
 #define FYSIZE                 ((SCR_FIELDY + 2) * TILEY)
 #endif
 #endif
+
+#if 0
 #define DXSIZE                 100
 #define DYSIZE                 280
 #define VXSIZE                 DXSIZE
 #define VYSIZE                 100
 #define EXSIZE                 DXSIZE
 #define EYSIZE                 (VYSIZE + 44)
+#endif
+
 #if 0
 #define FULL_SXSIZE            (2 + SXSIZE + 2)
 #define FULL_SYSIZE            (2 + SYSIZE + 2)
 #define NUM_SPECIAL_GFX_INFO_ARGS      8
 
 /* these additional definitions are currently only used for draw offsets */
+/* (must match SETUP_MODE_* values as defined in src/screens.c) */
+/* (should also match corresponding entries in src/conf_gfx.c) */
 #define GFX_SPECIAL_ARG_SETUP_MAIN             0
 #define GFX_SPECIAL_ARG_SETUP_GAME             1
 #define GFX_SPECIAL_ARG_SETUP_EDITOR           2
 #define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_2      9
 #define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_3      10
 #define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_4      11
-#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK   12
-#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER     13
+#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_5      12
+#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK   13
+#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER     14
 
-#define NUM_SPECIAL_GFX_SETUP_ARGS             14
+#define NUM_SPECIAL_GFX_SETUP_ARGS             15
 
 
 /* values for image configuration suffixes */
 #define FONT_ENVELOPE_2                        19
 #define FONT_ENVELOPE_3                        20
 #define FONT_ENVELOPE_4                        21
-#define FONT_INPUT_1_ACTIVE            22
-#define FONT_INPUT_2_ACTIVE            23
-#define FONT_INPUT_1                   24
-#define FONT_INPUT_2                   25
-#define FONT_OPTION_OFF                        26
-#define FONT_OPTION_ON                 27
-#define FONT_VALUE_1                   28
-#define FONT_VALUE_2                   29
-#define FONT_VALUE_OLD                 30
-#define FONT_LEVEL_NUMBER_ACTIVE       31
-#define FONT_LEVEL_NUMBER              32
-#define FONT_TAPE_RECORDER             33
-#define FONT_GAME_INFO                 34
-#define FONT_INFO_ELEMENTS             35
-#define FONT_INFO_LEVELSET             36
-
-#define NUM_FONTS                      37
+#define FONT_REQUEST                   22
+#define FONT_INPUT_1_ACTIVE            23
+#define FONT_INPUT_2_ACTIVE            24
+#define FONT_INPUT_1                   25
+#define FONT_INPUT_2                   26
+#define FONT_OPTION_OFF                        27
+#define FONT_OPTION_ON                 28
+#define FONT_VALUE_1                   29
+#define FONT_VALUE_2                   30
+#define FONT_VALUE_OLD                 31
+#define FONT_LEVEL_NUMBER_ACTIVE       32
+#define FONT_LEVEL_NUMBER              33
+#define FONT_TAPE_RECORDER             34
+#define FONT_GAME_INFO                 35
+#define FONT_INFO_ELEMENTS             36
+#define FONT_INFO_LEVELSET             37
+
+#define NUM_FONTS                      38
 #define NUM_INITIAL_FONTS              4
 
 #if 0
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING          "Holger Schemel"
-#define PROGRAM_COPYRIGHT_STRING       "Copyright ©1995-2013 by Holger Schemel"
+#define PROGRAM_COPYRIGHT_STRING       "Copyright ©1995-2014 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 X11_ICON_FILENAME              "rocks_icon.xbm"
 #define X11_ICONMASK_FILENAME          "rocks_iconmask.xbm"
-#define SDL_ICON_FILENAME              "rocks_icon_32x32.pcx"
+#define SDL_ICON_FILENAME              "RocksIcon32x32.png"
 #define MSDOS_POINTER_FILENAME         "mouse.pcx"
 
 /* file version numbers for resource files (levels, tapes, score, setup, etc.)
@@ -2169,6 +2177,17 @@ struct BorderInfo
   boolean draw_masked_when_fading;
 };
 
+struct RequestButtonInfo
+{
+  struct TextPosInfo yes;
+  struct TextPosInfo no;
+  struct TextPosInfo confirm;
+  struct TextPosInfo player_1;
+  struct TextPosInfo player_2;
+  struct TextPosInfo player_3;
+  struct TextPosInfo player_4;
+};
+
 struct MenuMainButtonInfo
 {
   struct MenuPosInfo name;
@@ -2281,6 +2300,15 @@ struct MenuInfo
 
 struct DoorInfo
 {
+  struct TextPosInfo part_1;
+  struct TextPosInfo part_2;
+  struct TextPosInfo part_3;
+  struct TextPosInfo part_4;
+  struct TextPosInfo part_5;
+  struct TextPosInfo part_6;
+  struct TextPosInfo part_7;
+  struct TextPosInfo part_8;
+
   int width;
   int height;
   int step_offset;
@@ -2288,6 +2316,21 @@ struct DoorInfo
   int anim_mode;
 };
 
+struct RequestInfo
+{
+  struct RequestButtonInfo button;
+  int x, y;
+  int width, height;
+  int border_size;
+  int line_spacing;
+  int step_offset;
+  int step_delay;
+  int anim_mode;
+  boolean autowrap;
+  boolean centered;
+  boolean wrap_single_words;
+};
+
 struct PreviewInfo
 {
   int x, y;
@@ -2918,14 +2961,17 @@ extern int                      scroll_x, scroll_y;
 
 extern int                     WIN_XSIZE, WIN_YSIZE;
 extern int                     SCR_FIELDX, SCR_FIELDY;
-extern int                     SX, SY;
 extern int                     REAL_SX, REAL_SY;
+extern int                     SX, SY;
 extern int                     DX, DY;
 extern int                     VX, VY;
 extern int                     EX, EY;
 extern int                     dDX, dDY;
-extern int                     SXSIZE, SYSIZE;
 extern int                     FULL_SXSIZE, FULL_SYSIZE;
+extern int                     SXSIZE, SYSIZE;
+extern int                     DXSIZE, DYSIZE;
+extern int                     VXSIZE, VYSIZE;
+extern int                     EXSIZE, EYSIZE;
 extern int                     TILESIZE_VAR;
 
 extern int                     FX, FY;
@@ -2967,6 +3013,7 @@ extern struct TitleMessageInfo    readme;
 extern struct InitInfo         init, init_last;
 extern struct MenuInfo         menu;
 extern struct DoorInfo         door_1, door_2;
+extern struct RequestInfo      request;
 extern struct PreviewInfo      preview;
 extern struct ElementInfo      element_info[];
 extern struct ElementNameInfo  element_name_info[];