X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Finit.c;h=169d0582f3a359f9482bd15107c1e850fd498b00;hp=ccdda8e8043d6b5afd341a0cda065c9b877e49db;hb=5c5685a92a0ca8060018c4d035e6b37fea7e0f5a;hpb=c8a4b929719715737c9180a3ea831b4019e9e1fe diff --git a/src/init.c b/src/init.c index ccdda8e8..169d0582 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() @@ -1344,13 +1357,13 @@ static void set_graphic_parameters_ext(int graphic, int *parameter, if (parameter[GFX_ARG_TILE_SIZE] != ARG_UNDEFINED_VALUE) { - anim_frames_per_row = src_image_width / g->tile_size; - anim_frames_per_col = src_image_height / g->tile_size; + anim_frames_per_row = MAX(1, src_image_width / g->tile_size); + anim_frames_per_col = MAX(1, src_image_height / g->tile_size); } else { - anim_frames_per_row = src_image_width / g->width; - anim_frames_per_col = src_image_height / g->height; + anim_frames_per_row = MAX(1, src_image_width / g->width); + anim_frames_per_col = MAX(1, src_image_height / g->height); } g->src_image_width = src_image_width; @@ -5456,6 +5469,9 @@ static void InitImages() ReinitializeGraphics(); print_timestamp_time("ReinitializeGraphics"); + LoadMenuDesignSettings_AfterGraphics(); + print_timestamp_time("LoadMenuDesignSettings_AfterGraphics"); + UPDATE_BUSY_STATE(); print_timestamp_done("InitImages"); @@ -5888,6 +5904,8 @@ void OpenAll() print_timestamp_time("[init setup/config stuff (1)]"); + InitScoresInfo(); + if (options.execute_command) Execute_Command(options.execute_command); @@ -5923,7 +5941,7 @@ void OpenAll() InitVideoDisplay(); InitVideoBuffer(WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH, setup.fullscreen); - InitEventFilter(FilterEvents); + InitOverlayInfo(); print_timestamp_time("[init video stuff]");