X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=54d75d6ccb4f4be3e2337849ea2def27c4811911;hb=c4d9b5e489f38f7e6f42039cce9bca0ecafc0992;hp=cd2f30c6fabdaebb386e02aecc7c4a7adb3844d2;hpb=267fdfe7bd36de708911eb361f911143f23a12c3;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index cd2f30c6..54d75d6c 100644 --- a/src/files.c +++ b/src/files.c @@ -8139,9 +8139,9 @@ static struct TokenInfo global_setup_tokens[] = { TYPE_STRING, &si.graphics_set, "graphics_set" }, { TYPE_STRING, &si.sounds_set, "sounds_set" }, { TYPE_STRING, &si.music_set, "music_set" }, - { TYPE_SWITCH, &si.override_level_graphics, "override_level_graphics" }, - { TYPE_SWITCH, &si.override_level_sounds, "override_level_sounds" }, - { TYPE_SWITCH, &si.override_level_music, "override_level_music" }, + { TYPE_SWITCH3,&si.override_level_graphics, "override_level_graphics" }, + { TYPE_SWITCH3,&si.override_level_sounds, "override_level_sounds" }, + { TYPE_SWITCH3,&si.override_level_music, "override_level_music" }, }; static boolean not_used = FALSE; @@ -8270,8 +8270,6 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->sound_music = TRUE; si->sound_simple = TRUE; si->toons = TRUE; - si->double_buffering = TRUE; - si->direct_draw = !si->double_buffering; si->scroll_delay = TRUE; si->scroll_delay_value = STD_SCROLL_DELAY; si->soft_scrolling = TRUE; @@ -8292,9 +8290,9 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->prefer_aga_graphics = TRUE; si->game_frame_delay = GAME_FRAME_DELAY; - si->graphics_set = getStringCopy(GFX_CLASSIC_SUBDIR); - si->sounds_set = getStringCopy(SND_CLASSIC_SUBDIR); - si->music_set = getStringCopy(MUS_CLASSIC_SUBDIR); + si->graphics_set = getStringCopy(GFX_DEFAULT_SUBDIR); + si->sounds_set = getStringCopy(SND_DEFAULT_SUBDIR); + si->music_set = getStringCopy(MUS_DEFAULT_SUBDIR); si->override_level_graphics = FALSE; si->override_level_sounds = FALSE; si->override_level_music = FALSE; @@ -8352,6 +8350,14 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->system.audio_fragment_size = DEFAULT_AUDIO_FRAGMENT_SIZE; si->options.verbose = FALSE; + +#if defined(CREATE_SPECIAL_EDITION_RND_JUE) + si->handicap = FALSE; + si->fullscreen = TRUE; + si->override_level_graphics = AUTO; + si->override_level_sounds = AUTO; + si->override_level_music = AUTO; +#endif } static void setSetupInfoToDefaults_EditorCascade(struct SetupInfo *si) @@ -8469,8 +8475,6 @@ void LoadSetup() checkSetupFileHashIdentifier(setup_file_hash, filename,getCookie("SETUP")); decodeSetupFileHash(setup_file_hash); - setup.direct_draw = !setup.double_buffering; - freeSetupFileHash(setup_file_hash); /* needed to work around problems with fixed length strings */ @@ -8972,7 +8976,11 @@ void LoadMenuDesignSettings() InitMenuDesignSettings_Static(); InitMenuDesignSettings_SpecialPreProcessing(); +#if 1 + if (!GFX_OVERRIDE_ARTWORK(ARTWORK_TYPE_GRAPHICS)) +#else if (!SETUP_OVERRIDE_ARTWORK(setup, ARTWORK_TYPE_GRAPHICS)) +#endif { /* first look for special settings configured in level series config */ filename_base = getCustomArtworkLevelConfigFilename(ARTWORK_TYPE_GRAPHICS); @@ -9617,9 +9625,9 @@ void LoadHelpTextInfo() } -/* ------------------------------------------------------------------------- * - * convert levels - * ------------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------- */ +/* convert levels */ +/* ------------------------------------------------------------------------- */ #define MAX_NUM_CONVERT_LEVELS 1000 @@ -9729,3 +9737,65 @@ void ConvertLevels() CloseAllAndExit(0); } + + +/* ------------------------------------------------------------------------- */ +/* create images for use in level sketches (raw BMP format) */ +/* ------------------------------------------------------------------------- */ + +void CreateLevelSketchImages() +{ +#if defined(TARGET_SDL) + Bitmap *bitmap1; + Bitmap *bitmap2; + int i; + + bitmap1 = CreateBitmap(TILEX, TILEY, DEFAULT_DEPTH); + bitmap2 = CreateBitmap(MINI_TILEX, MINI_TILEY, DEFAULT_DEPTH); + + for (i = 0; i < NUM_FILE_ELEMENTS; i++) + { + Bitmap *src_bitmap; + int src_x, src_y; + int graphic = el2edimg(i); + char basename1[16]; + char basename2[16]; + char *filename1; + char *filename2; + + sprintf(basename1, "%03d.bmp", i); + sprintf(basename2, "%03ds.bmp", i); + + filename1 = getPath2(global.create_images_dir, basename1); + filename2 = getPath2(global.create_images_dir, basename2); + + getGraphicSource(graphic, 0, &src_bitmap, &src_x, &src_y); + BlitBitmap(src_bitmap, bitmap1, src_x, src_y, TILEX, TILEY, 0, 0); + + if (SDL_SaveBMP(bitmap1->surface, filename1) != 0) + Error(ERR_EXIT, "cannot save level sketch image file '%s'", filename1); + + getMiniGraphicSource(graphic, &src_bitmap, &src_x, &src_y); + BlitBitmap(src_bitmap, bitmap2, src_x, src_y, MINI_TILEX, MINI_TILEY, 0, 0); + + if (SDL_SaveBMP(bitmap2->surface, filename2) != 0) + Error(ERR_EXIT, "cannot save level sketch image file '%s'", filename2); + + free(filename1); + free(filename2); + + if (options.debug) + printf("%03d `%03d%c", i, i, (i % 10 < 9 ? ' ' : '\n')); + } + + FreeBitmap(bitmap1); + FreeBitmap(bitmap2); + + if (options.debug) + printf("\n"); + + Error(ERR_INFO, "%d normal and small images created", NUM_FILE_ELEMENTS); + + CloseAllAndExit(0); +#endif +}