X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=434deb4fe1bef873a44535c5a53d3dc29fed337a;hb=bb0b4d6b538a625aaa98a25190891ef1fb766168;hp=fbfad6103ac283a5270d040fcfde7107735b286f;hpb=bfe3ef29da6539dffdd8674a67c3144f6a3cdddc;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index fbfad610..434deb4f 100644 --- a/src/init.c +++ b/src/init.c @@ -1136,6 +1136,7 @@ static void set_graphic_parameters_ext(int graphic, int *parameter, g->anim_delay_random = 0; g->post_delay_fixed = 0; g->post_delay_random = 0; + g->draw_order = 0; g->fade_mode = FADE_MODE_DEFAULT; g->fade_delay = -1; g->post_delay = -1; @@ -1369,7 +1370,8 @@ static void set_graphic_parameters_ext(int graphic, int *parameter, g->draw_masked = parameter[GFX_ARG_DRAW_MASKED]; /* used for toon animations and global animations */ - g->draw_order = parameter[GFX_ARG_DRAW_ORDER]; + if (parameter[GFX_ARG_DRAW_ORDER] != ARG_UNDEFINED_VALUE) + g->draw_order = parameter[GFX_ARG_DRAW_ORDER]; /* optional graphic for cloning all graphics settings */ if (parameter[GFX_ARG_CLONE_FROM] != ARG_UNDEFINED_VALUE) @@ -2059,6 +2061,7 @@ static void ReinitializeGraphics() InitGadgets(); print_timestamp_time("InitGadgets"); InitToons(); + InitGlobalAnimations(); print_timestamp_time("InitToons"); InitDoors(); print_timestamp_time("InitDoors"); @@ -4665,7 +4668,8 @@ static void InitGlobal() global.frames_per_second = 0; - global.border_status = GAME_MODE_MAIN; + global.border_status = GAME_MODE_LOADING; + global.anim_status = global.anim_status_next = GAME_MODE_LOADING; global.use_envelope_request = FALSE; } @@ -4859,94 +4863,6 @@ void Execute_Command(char *command) exit(0); } - -#if DEBUG -#if defined(TARGET_SDL2) - else if (strEqual(command, "SDL_ListModes")) - { - SDL_Init(SDL_INIT_VIDEO); - - int num_displays = SDL_GetNumVideoDisplays(); - - // check if there are any displays available - if (num_displays < 0) - { - Print("No displays available: %s\n", SDL_GetError()); - - exit(-1); - } - - for (i = 0; i < num_displays; i++) - { - int num_modes = SDL_GetNumDisplayModes(i); - int j; - - Print("Available display modes for display %d:\n", i); - - // check if there are any display modes available for this display - if (num_modes < 0) - { - Print("No display modes available for display %d: %s\n", - i, SDL_GetError()); - - exit(-1); - } - - for (j = 0; j < num_modes; j++) - { - SDL_DisplayMode mode; - - if (SDL_GetDisplayMode(i, j, &mode) < 0) - { - Print("Cannot get display mode %d for display %d: %s\n", - j, i, SDL_GetError()); - - exit(-1); - } - - Print("- %d x %d\n", mode.w, mode.h); - } - } - - exit(0); - } -#elif defined(TARGET_SDL) - else if (strEqual(command, "SDL_ListModes")) - { - SDL_Rect **modes; - int i; - - SDL_Init(SDL_INIT_VIDEO); - - /* get available fullscreen/hardware modes */ - modes = SDL_ListModes(NULL, SDL_FULLSCREEN | SDL_HWSURFACE); - - /* check if there are any modes available */ - if (modes == NULL) - { - Print("No modes available!\n"); - - exit(-1); - } - - /* check if our resolution is restricted */ - if (modes == (SDL_Rect **)-1) - { - Print("All resolutions available.\n"); - } - else - { - Print("Available display modes:\n"); - - for (i = 0; modes[i]; i++) - Print("- %d x %d\n", modes[i]->w, modes[i]->h); - } - - exit(0); - } -#endif -#endif - else { Error(ERR_EXIT_HELP, "unrecognized command '%s'", command); @@ -5321,7 +5237,11 @@ void InitGfx() InitGfxDrawBusyAnimFunction(DrawInitAnim); InitGfxDrawGlobalAnimFunction(DrawGlobalAnim); - InitGfxDrawGlobalBorderFunction(DrawMaskedBorderToScreen); + InitGfxDrawGlobalBorderFunction(DrawMaskedBorderToTarget); + + gfx.fade_border_source_status = global.border_status; + gfx.fade_border_target_status = global.border_status; + gfx.masked_border_bitmap_ptr = backbuffer; /* use copy of busy animation to prevent change while reloading artwork */ init_last = init; @@ -5698,7 +5618,7 @@ void ReloadCustomArtwork(int force_reload) print_timestamp_init("ReloadCustomArtwork"); - game_status = GAME_MODE_LOADING; + SetGameStatus(GAME_MODE_LOADING); FadeOut(REDRAW_ALL); @@ -5733,7 +5653,7 @@ void ReloadCustomArtwork(int force_reload) print_timestamp_time("InitMusic"); } - game_status = last_game_status; /* restore current game status */ + SetGameStatus(last_game_status); /* restore current game status */ init_last = init; /* switch to new busy animation */ @@ -5828,7 +5748,7 @@ void OpenAll() { print_timestamp_init("OpenAll"); - game_status = GAME_MODE_LOADING; + SetGameStatus(GAME_MODE_LOADING); InitCounter(); @@ -5928,7 +5848,7 @@ void OpenAll() return; } - game_status = GAME_MODE_MAIN; + SetGameStatus(GAME_MODE_MAIN); FadeSetEnterScreen(); if (!(fading.fade_mode & FADE_TYPE_TRANSFORM))