X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=b3453d8def56e6c4601933343801ae566087908e;hb=f6477461020eebe6489d4997ac973c985d82e4aa;hp=63d70d6ecb8ca04a389fb04f049e71f4e9b15168;hpb=24090f8655f9fbf138c1f9105427728f5c21b0b9;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index 63d70d6e..b3453d8d 100644 --- a/src/main.c +++ b/src/main.c @@ -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, }, @@ -5501,6 +5517,7 @@ struct FontInfo font_info[NUM_FONTS + 1] = { "font.envelope_2" }, { "font.envelope_3" }, { "font.envelope_4" }, + { "font.request" }, { "font.input_1.active" }, { "font.input_2.active" }, { "font.input_1" }, @@ -5582,6 +5599,7 @@ int main(int argc, char *argv[]) MSDOS_POINTER_FILENAME, COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL); + InitExitMessageFunction(DisplayExitMessage); InitExitFunction(CloseAllAndExit); InitPlatformDependentStuff();