rnd-20140114-1-src
[rocksndiamonds.git] / src / main.c
index 63d70d6ecb8ca04a389fb04f049e71f4e9b15168..ca59e8f692fc7a70d71b948f6197db1fe5067334 100644 (file)
@@ -17,6 +17,7 @@
 #include "init.h"
 #include "game.h"
 #include "tape.h"
+#include "tools.h"
 #include "events.h"
 #include "config.h"
 
@@ -41,7 +42,11 @@ SDL_Thread          *server_thread;
 int                    key_joystick_mapping = 0;
 
 #if 1
+#if NEW_SCROLL
+boolean                        redraw[2 + MAX_LEV_FIELDX + 2][2 + MAX_LEV_FIELDY + 2];
+#else
 boolean                        redraw[MAX_LEV_FIELDX + 2][MAX_LEV_FIELDY + 2];
+#endif
 #else
 boolean                        redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 #endif
@@ -96,6 +101,12 @@ int                 REAL_SX = 6, REAL_SY = 6;
 int                    DX = 566, DY = 60;
 int                    VX = 566, VY = 400;
 int                    EX = 566, EY = 356;
+int                    dDX, dDY;
+int                    SXSIZE = 17 * TILEX;    /* SCR_FIELDX * TILEX */
+int                    SYSIZE = 17 * TILEY;    /* SCR_FIELDY * TILEY */
+int                    FULL_SXSIZE = 2 + 17 * TILEX + 2; /* 2 + SXSIZE + 2 */
+int                    FULL_SYSIZE = 2 + 17 * TILEY + 2; /* 2 + SYSIZE + 2 */
+int                    TILESIZE_VAR = TILESIZE;
 
 #if 1
 int                    FX, FY;
@@ -146,12 +157,15 @@ struct TitleMessageInfo   readme;
 struct InitInfo                init, init_last;
 struct MenuInfo                menu;
 struct DoorInfo                door_1, door_2;
+struct RequestInfo     request;
 struct PreviewInfo     preview;
+
 struct GraphicInfo     *graphic_info = NULL;
 struct SoundInfo       *sound_info = NULL;
 struct MusicInfo       *music_info = NULL;
 struct MusicFileInfo   *music_file_info = NULL;
 struct HelpAnimInfo    *helpanim_info = NULL;
+
 SetupFileHash          *helptext_info = NULL;
 SetupFileHash         *image_config_hash = NULL;
 SetupFileHash         *element_token_hash = NULL;
@@ -5450,12 +5464,14 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] =
   { ".TITLE",                  GFX_SPECIAL_ARG_TITLE,                  },
   { ".MAIN",                   GFX_SPECIAL_ARG_MAIN,                   },
   { ".LEVELS",                 GFX_SPECIAL_ARG_LEVELS                  },
+  { ".LEVELNR",                        GFX_SPECIAL_ARG_LEVELNR                 },
   { ".SCORES",                 GFX_SPECIAL_ARG_SCORES,                 },
   { ".EDITOR",                 GFX_SPECIAL_ARG_EDITOR,                 },
   { ".INFO",                   GFX_SPECIAL_ARG_INFO,                   },
   { ".SETUP",                  GFX_SPECIAL_ARG_SETUP,                  },
   { ".PLAYING",                        GFX_SPECIAL_ARG_PLAYING,                },
   { ".DOOR",                   GFX_SPECIAL_ARG_DOOR,                   },
+  { ".TAPE",                   GFX_SPECIAL_ARG_TAPE,                   },
   { ".PANEL",                  GFX_SPECIAL_ARG_PANEL,                  },
   { ".PREVIEW",                        GFX_SPECIAL_ARG_PREVIEW,                },
   { ".CRUMBLED",               GFX_SPECIAL_ARG_CRUMBLED,               },
@@ -5582,6 +5598,7 @@ int main(int argc, char *argv[])
                  MSDOS_POINTER_FILENAME,
                  COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL);
 
+  InitExitMessageFunction(DisplayExitMessage);
   InitExitFunction(CloseAllAndExit);
   InitPlatformDependentStuff();