X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=97eaf2bf17ddfbb20f4f3d76c932626cf9a18978;hb=refs%2Ftags%2F4.0.0.2;hp=29f4fd4b130744436de7c7fe4951de2c44035a79;hpb=803637f901b7b228091ac27c4b60ba753219d043;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 29f4fd4b..97eaf2bf 100644 --- a/src/init.c +++ b/src/init.c @@ -219,13 +219,26 @@ void InitElementSmallImages() print_timestamp_done("InitElementSmallImages"); } +inline static void InitScaledImagesScaledUp(int graphic) +{ + struct GraphicInfo *g = &graphic_info[graphic]; + + ScaleImage(graphic, g->scale_up_factor); +} + void InitScaledImages() { + struct PropertyMapping *property_mapping = getImageListPropertyMapping(); + int num_property_mappings = getImageListPropertyMappingSize(); int i; /* scale normal images from static configuration, if not already scaled */ for (i = 0; i < NUM_IMAGE_FILES; i++) - ScaleImage(i, graphic_info[i].scale_up_factor); + InitScaledImagesScaledUp(i); + + /* scale images from dynamic configuration, if not already scaled */ + for (i = 0; i < num_property_mappings; i++) + InitScaledImagesScaledUp(property_mapping[i].artwork_index); } void InitBitmapPointers() @@ -1697,6 +1710,9 @@ static void InitGraphicInfo() src_x = graphic_info[i].src_x; src_y = graphic_info[i].src_y; + if (program.headless) + continue; + if (src_x < 0 || src_y < 0 || src_x + width > src_bitmap_width || src_y + height > src_bitmap_height) @@ -4948,6 +4964,9 @@ void Execute_Command(char *command) while (*str_ptr != ' ' && *str_ptr != '\t' && *str_ptr != '\0') str_ptr++; } + + if (global.autoplay_mode == AUTOPLAY_MODE_TEST) + program.headless = TRUE; } else if (strPrefix(command, "convert ")) { @@ -4962,6 +4981,8 @@ void Execute_Command(char *command) *str_ptr++ = '\0'; /* terminate leveldir string */ global.convert_level_nr = atoi(str_ptr); /* get level_nr value */ } + + program.headless = TRUE; } else if (strPrefix(command, "create images ")) { @@ -5504,6 +5525,9 @@ static void InitMusic(char *identifier) static void InitArtworkDone() { + if (program.headless) + return; + InitGlobalAnimations(); }