FreeAllImageTextures();
+ for (i = IMG_GLOBAL_BORDER_FIRST; i <= IMG_GLOBAL_BORDER_LAST; i++)
+ CreateImageTextures(i);
+
for (i = 0; i < MAX_NUM_TOONS; i++)
CreateImageTextures(IMG_TOON_1 + i);
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;
g->step_offset = parameter[GFX_ARG_STEP_OFFSET];
g->step_xoffset = parameter[GFX_ARG_STEP_XOFFSET];
g->step_yoffset = parameter[GFX_ARG_STEP_YOFFSET];
- g->step_frames = parameter[GFX_ARG_STEP_FRAMES];
g->step_delay = parameter[GFX_ARG_STEP_DELAY];
g->direction = parameter[GFX_ARG_DIRECTION];
g->position = parameter[GFX_ARG_POSITION];
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)
InitGadgets();
print_timestamp_time("InitGadgets");
InitToons();
+ InitGlobalAnimations();
print_timestamp_time("InitToons");
InitDoors();
print_timestamp_time("InitDoors");
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;
}
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);
InitGfxDrawBusyAnimFunction(DrawInitAnim);
InitGfxDrawGlobalAnimFunction(DrawGlobalAnim);
+ 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;
print_timestamp_init("ReloadCustomArtwork");
- game_status = GAME_MODE_LOADING;
+ SetGameStatus(GAME_MODE_LOADING);
FadeOut(REDRAW_ALL);
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 */
{
print_timestamp_init("OpenAll");
- game_status = GAME_MODE_LOADING;
+ SetGameStatus(GAME_MODE_LOADING);
InitCounter();
return;
}
- game_status = GAME_MODE_MAIN;
+ SetGameStatus(GAME_MODE_MAIN);
FadeSetEnterScreen();
if (!(fading.fade_mode & FADE_TYPE_TRANSFORM))