rnd-20140430-1-src
[rocksndiamonds.git] / src / main.h
index 835e8f4121fc5dd32b08f51fc72bd8d14efb8938..0e2259a58bd9cbf579dbf59c86df5f943c2e18a1 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 GFX_SPECIAL_ARG_SETUP_SOUND            4
 #define GFX_SPECIAL_ARG_SETUP_ARTWORK          5
 #define GFX_SPECIAL_ARG_SETUP_INPUT            6
-#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS                7
-#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_1      8
-#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_SHORTCUTS_5      12
-#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK   13
-#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER     14
+#define GFX_SPECIAL_ARG_SETUP_TOUCH            7
+#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS                8
+#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_1      9
+#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_2      10
+#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_3      11
+#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_4      12
+#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_5      13
+#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK   14
+#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER     15
 
-#define NUM_SPECIAL_GFX_SETUP_ARGS             15
+#define NUM_SPECIAL_GFX_SETUP_ARGS             16
 
 
 /* values for image configuration suffixes */
 
 
 /* program information and versioning definitions */
-#define PROGRAM_VERSION_MAJOR          3
-#define PROGRAM_VERSION_MINOR          3
-#define PROGRAM_VERSION_PATCH          1
-#define PROGRAM_VERSION_BUILD          3
+#define PROGRAM_VERSION_MAJOR          4
+#define PROGRAM_VERSION_MINOR          0
+#define PROGRAM_VERSION_PATCH          0
+#define PROGRAM_VERSION_BUILD          0
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING          "Holger Schemel"
@@ -2296,7 +2301,19 @@ struct MenuInfo
 
 struct DoorInfo
 {
-  int width, height;
+  struct DoorPartPosInfo part_1;
+  struct DoorPartPosInfo part_2;
+  struct DoorPartPosInfo part_3;
+  struct DoorPartPosInfo part_4;
+  struct DoorPartPosInfo part_5;
+  struct DoorPartPosInfo part_6;
+  struct DoorPartPosInfo part_7;
+  struct DoorPartPosInfo part_8;
+
+  struct DoorPartPosInfo panel;
+
+  int width;
+  int height;
   int step_offset;
   int step_delay;
   int anim_mode;
@@ -2312,6 +2329,9 @@ struct RequestInfo
   int step_offset;
   int step_delay;
   int anim_mode;
+  boolean autowrap;
+  boolean centered;
+  boolean wrap_single_words;
 };
 
 struct PreviewInfo
@@ -2326,6 +2346,21 @@ struct PreviewInfo
   int anim_mode;
 };
 
+struct EditorPaletteInfo
+{
+  int x, y;
+  int cols, rows;
+
+  struct XY element_left;
+  struct XY element_middle;
+  struct XY element_right;
+};
+
+struct EditorInfo
+{
+  struct EditorPaletteInfo palette;
+};
+
 struct ViewportInfo
 {
   struct RectWithBorder window;
@@ -2872,7 +2907,11 @@ extern Bitmap                   *bitmap_db_store;
 extern Bitmap                 *bitmap_db_cross;
 extern Bitmap                 *bitmap_db_field;
 extern Bitmap                 *bitmap_db_panel;
+#if 0
 extern Bitmap                 *bitmap_db_door;
+#endif
+extern Bitmap                 *bitmap_db_door_1;
+extern Bitmap                 *bitmap_db_door_2;
 extern Bitmap                 *bitmap_db_toons;
 extern Pixmap                  tile_clipmask[];
 extern DrawBuffer             *fieldbuffer;
@@ -2944,14 +2983,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;
@@ -2995,6 +3037,7 @@ extern struct MenuInfo            menu;
 extern struct DoorInfo         door_1, door_2;
 extern struct RequestInfo      request;
 extern struct PreviewInfo      preview;
+extern struct EditorInfo       editor;
 extern struct ElementInfo      element_info[];
 extern struct ElementNameInfo  element_name_info[];
 extern struct ElementActionInfo        element_action_info[];