X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fmain.c;h=690296dded7266b0be70af083fe264a0f1588339;hp=e820719ad9886b1ea9bc24f608a5b7164dc0dfff;hb=25c22434b11938e230719d6f73df4ed7813570be;hpb=cacc5129ff29981490cb53d43aeca8264b7f176c diff --git a/src/main.c b/src/main.c index e820719a..690296dd 100644 --- a/src/main.c +++ b/src/main.c @@ -20,13 +20,12 @@ #include "events.h" #include "config.h" -Bitmap *bitmap_db_store; -Bitmap *bitmap_db_cross; Bitmap *bitmap_db_field; Bitmap *bitmap_db_panel; Bitmap *bitmap_db_door_1; Bitmap *bitmap_db_door_2; -Bitmap *bitmap_db_toons; +Bitmap *bitmap_db_store_1; +Bitmap *bitmap_db_store_2; DrawBuffer *fieldbuffer; DrawBuffer *drawto_field; @@ -119,6 +118,7 @@ int ScrollStepSize; int ScreenMovDir = MV_NONE, ScreenMovPos = 0; int ScreenGfxPos = 0; int BorderElement = EL_STEELWALL; +int MenuFrameDelay = MENU_FRAME_DELAY; int GameFrameDelay = GAME_FRAME_DELAY; int FfwdFrameDelay = FFWD_FRAME_DELAY; int BX1, BY1; @@ -144,19 +144,25 @@ struct GlobalInfo global; struct BorderInfo border; struct ViewportInfo viewport; struct TitleFadingInfo fading; +struct TitleFadingInfo title_initial_first_default; struct TitleFadingInfo title_initial_default; +struct TitleFadingInfo title_first_default; struct TitleFadingInfo title_default; -struct TitleMessageInfo titlescreen_initial_default; +struct TitleMessageInfo titlescreen_initial_first_default; struct TitleMessageInfo titlescreen_initial_first[MAX_NUM_TITLE_IMAGES]; +struct TitleMessageInfo titlescreen_initial_default; struct TitleMessageInfo titlescreen_initial[MAX_NUM_TITLE_IMAGES]; -struct TitleMessageInfo titlescreen_default; +struct TitleMessageInfo titlescreen_first_default; struct TitleMessageInfo titlescreen_first[MAX_NUM_TITLE_IMAGES]; +struct TitleMessageInfo titlescreen_default; struct TitleMessageInfo titlescreen[MAX_NUM_TITLE_IMAGES]; -struct TitleMessageInfo titlemessage_initial_default; +struct TitleMessageInfo titlemessage_initial_first_default; struct TitleMessageInfo titlemessage_initial_first[MAX_NUM_TITLE_MESSAGES]; +struct TitleMessageInfo titlemessage_initial_default; struct TitleMessageInfo titlemessage_initial[MAX_NUM_TITLE_MESSAGES]; -struct TitleMessageInfo titlemessage_default; +struct TitleMessageInfo titlemessage_first_default; struct TitleMessageInfo titlemessage_first[MAX_NUM_TITLE_MESSAGES]; +struct TitleMessageInfo titlemessage_default; struct TitleMessageInfo titlemessage[MAX_NUM_TITLE_MESSAGES]; struct TitleMessageInfo readme; struct InitInfo init, init_last; @@ -5448,6 +5454,30 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1 + 1] = { ".part_6", ACTION_PART_6, FALSE }, { ".part_7", ACTION_PART_7, FALSE }, { ".part_8", ACTION_PART_8, FALSE }, + { ".part_9", ACTION_PART_9, FALSE }, + { ".part_10", ACTION_PART_10, FALSE }, + { ".part_11", ACTION_PART_11, FALSE }, + { ".part_12", ACTION_PART_12, FALSE }, + { ".part_13", ACTION_PART_13, FALSE }, + { ".part_14", ACTION_PART_14, FALSE }, + { ".part_15", ACTION_PART_15, FALSE }, + { ".part_16", ACTION_PART_16, FALSE }, + { ".part_17", ACTION_PART_17, FALSE }, + { ".part_18", ACTION_PART_18, FALSE }, + { ".part_19", ACTION_PART_19, FALSE }, + { ".part_20", ACTION_PART_20, FALSE }, + { ".part_21", ACTION_PART_21, FALSE }, + { ".part_22", ACTION_PART_22, FALSE }, + { ".part_23", ACTION_PART_23, FALSE }, + { ".part_24", ACTION_PART_24, FALSE }, + { ".part_25", ACTION_PART_25, FALSE }, + { ".part_26", ACTION_PART_26, FALSE }, + { ".part_27", ACTION_PART_27, FALSE }, + { ".part_28", ACTION_PART_28, FALSE }, + { ".part_29", ACTION_PART_29, FALSE }, + { ".part_30", ACTION_PART_30, FALSE }, + { ".part_31", ACTION_PART_31, FALSE }, + { ".part_32", ACTION_PART_32, FALSE }, { ".other", ACTION_OTHER, FALSE }, /* empty suffix always matches -- check as last entry in InitSoundInfo() */ @@ -5475,7 +5505,17 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] = { ".[DEFAULT]", GFX_SPECIAL_ARG_DEFAULT, }, { ".LOADING", GFX_SPECIAL_ARG_LOADING, }, { ".TITLE_INITIAL", GFX_SPECIAL_ARG_TITLE_INITIAL, }, + { ".TITLE_INITIAL_1", GFX_SPECIAL_ARG_TITLE_INITIAL_1, }, + { ".TITLE_INITIAL_2", GFX_SPECIAL_ARG_TITLE_INITIAL_2, }, + { ".TITLE_INITIAL_3", GFX_SPECIAL_ARG_TITLE_INITIAL_3, }, + { ".TITLE_INITIAL_4", GFX_SPECIAL_ARG_TITLE_INITIAL_4, }, + { ".TITLE_INITIAL_5", GFX_SPECIAL_ARG_TITLE_INITIAL_5, }, { ".TITLE", GFX_SPECIAL_ARG_TITLE, }, + { ".TITLE_1", GFX_SPECIAL_ARG_TITLE_1, }, + { ".TITLE_2", GFX_SPECIAL_ARG_TITLE_2, }, + { ".TITLE_3", GFX_SPECIAL_ARG_TITLE_3, }, + { ".TITLE_4", GFX_SPECIAL_ARG_TITLE_4, }, + { ".TITLE_5", GFX_SPECIAL_ARG_TITLE_5, }, { ".MAIN", GFX_SPECIAL_ARG_MAIN, }, { ".LEVELS", GFX_SPECIAL_ARG_LEVELS }, { ".LEVELNR", GFX_SPECIAL_ARG_LEVELNR }, @@ -5489,10 +5529,13 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] = { ".PANEL", GFX_SPECIAL_ARG_PANEL, }, { ".PREVIEW", GFX_SPECIAL_ARG_PREVIEW, }, { ".CRUMBLED", GFX_SPECIAL_ARG_CRUMBLED, }, + { ".MAINONLY", GFX_SPECIAL_ARG_MAINONLY, }, { ".TYPENAME", GFX_SPECIAL_ARG_TYPENAME, }, { ".SUBMENU", GFX_SPECIAL_ARG_SUBMENU, }, { ".MENU", GFX_SPECIAL_ARG_MENU, }, { ".TOONS", GFX_SPECIAL_ARG_TOONS, }, + { ".SCORESOLD", GFX_SPECIAL_ARG_SCORESOLD, }, + { ".SCORESNEW", GFX_SPECIAL_ARG_SCORESNEW, }, { ".FADING", GFX_SPECIAL_ARG_FADING, }, { ".QUIT", GFX_SPECIAL_ARG_QUIT, }, @@ -5542,11 +5585,14 @@ struct FontInfo font_info[NUM_FONTS + 1] = { "font.input_2.active" }, { "font.input_1" }, { "font.input_2" }, + { "font.option_off_narrow" }, { "font.option_off" }, + { "font.option_on_narrow" }, { "font.option_on" }, { "font.value_1" }, { "font.value_2" }, { "font.value_old" }, + { "font.value_narrow" }, { "font.level_number.active" }, { "font.level_number" }, { "font.tape_recorder" }, @@ -5557,17 +5603,44 @@ struct FontInfo font_info[NUM_FONTS + 1] = { NULL } }; -struct GlobalAnimInfo global_anim_info[NUM_GLOBAL_ANIM_TOKENS + 1] = +struct GlobalAnimInfo global_anim_info[NUM_GLOBAL_ANIM_TOKENS + 1]; + +/* this contains predefined structure elements to init "global_anim_info" */ +struct GlobalAnimNameInfo global_anim_name_info[NUM_GLOBAL_ANIM_TOKENS + 1] = { /* (real) graphic definitions used to define animation graphics */ - { "global.anim_1.gfx", }, - { "global.anim_2.gfx", }, - { "global.anim_3.gfx", }, - { "global.anim_4.gfx", }, - { "global.anim_5.gfx", }, - { "global.anim_6.gfx", }, - { "global.anim_7.gfx", }, - { "global.anim_8.gfx", }, + { "gfx.global.anim_1", }, + { "gfx.global.anim_2", }, + { "gfx.global.anim_3", }, + { "gfx.global.anim_4", }, + { "gfx.global.anim_5", }, + { "gfx.global.anim_6", }, + { "gfx.global.anim_7", }, + { "gfx.global.anim_8", }, + { "gfx.global.anim_9", }, + { "gfx.global.anim_10", }, + { "gfx.global.anim_11", }, + { "gfx.global.anim_12", }, + { "gfx.global.anim_13", }, + { "gfx.global.anim_14", }, + { "gfx.global.anim_15", }, + { "gfx.global.anim_16", }, + { "gfx.global.anim_17", }, + { "gfx.global.anim_18", }, + { "gfx.global.anim_19", }, + { "gfx.global.anim_20", }, + { "gfx.global.anim_21", }, + { "gfx.global.anim_22", }, + { "gfx.global.anim_23", }, + { "gfx.global.anim_24", }, + { "gfx.global.anim_25", }, + { "gfx.global.anim_26", }, + { "gfx.global.anim_27", }, + { "gfx.global.anim_28", }, + { "gfx.global.anim_29", }, + { "gfx.global.anim_30", }, + { "gfx.global.anim_31", }, + { "gfx.global.anim_32", }, /* (dummy) graphic definitions used to define animation controls */ { "global.anim_1", }, @@ -5578,6 +5651,30 @@ struct GlobalAnimInfo global_anim_info[NUM_GLOBAL_ANIM_TOKENS + 1] = { "global.anim_6", }, { "global.anim_7", }, { "global.anim_8", }, + { "global.anim_9", }, + { "global.anim_10", }, + { "global.anim_11", }, + { "global.anim_12", }, + { "global.anim_13", }, + { "global.anim_14", }, + { "global.anim_15", }, + { "global.anim_16", }, + { "global.anim_17", }, + { "global.anim_18", }, + { "global.anim_19", }, + { "global.anim_20", }, + { "global.anim_21", }, + { "global.anim_22", }, + { "global.anim_23", }, + { "global.anim_24", }, + { "global.anim_25", }, + { "global.anim_26", }, + { "global.anim_27", }, + { "global.anim_28", }, + { "global.anim_29", }, + { "global.anim_30", }, + { "global.anim_31", }, + { "global.anim_32", }, { NULL } }; @@ -5610,6 +5707,7 @@ static void print_usage() " -g, --graphics DIRECTORY alternative graphics DIRECTORY\n" " -s, --sounds DIRECTORY alternative sounds DIRECTORY\n" " -m, --music DIRECTORY alternative music DIRECTORY\n" + " --mytapes use private tapes for tape tests\n" " -n, --network network multiplayer game\n" " --serveronly only start network server\n" " -v, --verbose verbose mode\n" @@ -5629,6 +5727,7 @@ static void print_usage() " \"autotest LEVELDIR [NR ...]\" test level tapes for LEVELDIR\n" " \"autoplay LEVELDIR [NR ...]\" play level tapes for LEVELDIR\n" " \"autoffwd LEVELDIR [NR ...]\" ffwd level tapes for LEVELDIR\n" + " \"autowarp LEVELDIR [NR ...]\" warp level tapes for LEVELDIR\n" " \"convert LEVELDIR [NR]\" convert levels in LEVELDIR\n" " \"create images DIRECTORY\" write BMP images to DIRECTORY\n" " \"create CE image DIRECTORY\" write BMP image to DIRECTORY\n" @@ -5638,12 +5737,13 @@ static void print_usage() static void print_version() { - Print("%s %d.%d.%d.%d\n", + Print("%s %d.%d.%d.%d%s\n", PROGRAM_TITLE_STRING, PROGRAM_VERSION_MAJOR, PROGRAM_VERSION_MINOR, PROGRAM_VERSION_PATCH, - PROGRAM_VERSION_BUILD); + PROGRAM_VERSION_BUILD, + PROGRAM_VERSION_EXTRA); if (options.debug) {