rnd-20100407-1-src
[rocksndiamonds.git] / src / main.h
index 640a4fc962bf99ef94b31f99d048abe6e3bf4ef3..09306600a7dbbcc6e9b06e0f445f98690ef72555 100644 (file)
 #define SND_UNDEFINED                  (-1)
 #define MUS_UNDEFINED                  (-1)
 
+#if 0
 #define WIN_XSIZE                      672
 #define WIN_YSIZE                      560
+#endif
 
 #define DEFAULT_FULLSCREEN_MODE                "800x600"
 
+#if 0
 #define SCR_FIELDX                     17
 #define SCR_FIELDY                     17
+#endif
 #define MAX_BUF_XSIZE                  (SCR_FIELDX + 2)
 #define MAX_BUF_YSIZE                  (SCR_FIELDY + 2)
 #define MIN_LEV_FIELDX                 3
 #define SY                     8
 #define REAL_SX                        (SX - 2)
 #define REAL_SY                        (SY - 2)
+#if 0
 #define DX                     566
 #define DY                     60
 #define VX                     DX
 #define VY                     400
 #define EX                     DX
 #define EY                     (VY - 44)
+#endif
 #define TILESIZE               32
 #define TILEX                  TILESIZE
 #define TILEY                  TILESIZE
@@ -2448,6 +2454,21 @@ struct GlobalInfo
 #endif
 };
 
+struct SubViewportInfo
+{
+  struct Rect menu;
+  struct Rect game;
+  struct Rect editor;
+};
+
+struct ViewportInfo
+{
+  struct Rect window;
+  struct SubViewportInfo playfield;
+  struct SubViewportInfo door_1;
+  struct SubViewportInfo door_2;
+};
+
 struct ElementChangeInfo
 {
   boolean can_change;          /* use or ignore this change info */
@@ -2798,7 +2819,11 @@ extern SDL_Thread               *server_thread;
 
 extern int                     key_joystick_mapping;
 
+#if 1
+extern boolean                 redraw[MAX_LEV_FIELDX + 2][MAX_LEV_FIELDY + 2];
+#else
 extern boolean                 redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
+#endif
 extern int                     redraw_x1, redraw_y1;
 
 extern short                   Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
@@ -2843,6 +2868,12 @@ extern int                       ActiveFont[NUM_FONTS];
 extern int                     lev_fieldx, lev_fieldy;
 extern int                     scroll_x, scroll_y;
 
+extern int                     WIN_XSIZE, WIN_YSIZE;
+extern int                     SCR_FIELDX, SCR_FIELDY;
+extern int                     DX, DY;
+extern int                     VX, VY;
+extern int                     EX, EY;
+
 extern int                     FX, FY;
 extern int                     ScrollStepSize;
 extern int                     ScreenMovDir, ScreenMovPos, ScreenGfxPos;
@@ -2869,6 +2900,7 @@ extern struct HiScore             highscore[];
 extern struct TapeInfo         tape;
 extern struct GlobalInfo       global;
 extern struct BorderInfo       border;
+extern struct ViewportInfo     viewport;
 extern struct TitleFadingInfo  fading;
 extern struct TitleFadingInfo  fading_none;
 extern struct TitleFadingInfo  title_initial_default;
@@ -2878,7 +2910,7 @@ extern struct TitleMessageInfo    titlemessage_initial[];
 extern struct TitleMessageInfo titlemessage_default;
 extern struct TitleMessageInfo titlemessage[];
 extern struct TitleMessageInfo readme;
-extern struct InitInfo         init;
+extern struct InitInfo         init, init_last;
 extern struct MenuInfo         menu;
 extern struct DoorInfo         door_1, door_2;
 extern struct PreviewInfo      preview;