g->clone_from = -1; // do not use clone graphic
g->init_delay_fixed = 0;
g->init_delay_random = 0;
+ g->init_delay_action = -1;
g->anim_delay_fixed = 0;
g->anim_delay_random = 0;
+ g->anim_delay_action = -1;
g->post_delay_fixed = 0;
g->post_delay_random = 0;
- g->init_event = ANIM_EVENT_DEFAULT;
- g->anim_event = ANIM_EVENT_DEFAULT;
+ g->post_delay_action = -1;
+ g->init_event = ANIM_EVENT_UNDEFINED;
+ g->anim_event = ANIM_EVENT_UNDEFINED;
g->init_event_action = -1;
g->anim_event_action = -1;
g->draw_masked = FALSE;
g->fade_delay = -1;
g->post_delay = -1;
g->auto_delay = -1;
+ g->auto_delay_unit = AUTO_DELAY_UNIT_DEFAULT;
g->align = ALIGN_CENTER; // default for title screens
g->valign = VALIGN_MIDDLE; // default for title screens
g->sort_priority = 0; // default for title screens
g->init_event_action = parameter[GFX_ARG_INIT_EVENT_ACTION];
if (parameter[GFX_ARG_ANIM_EVENT_ACTION] != ARG_UNDEFINED_VALUE)
g->anim_event_action = parameter[GFX_ARG_ANIM_EVENT_ACTION];
+ if (parameter[GFX_ARG_INIT_DELAY_ACTION] != ARG_UNDEFINED_VALUE)
+ g->init_delay_action = parameter[GFX_ARG_INIT_DELAY_ACTION];
+ if (parameter[GFX_ARG_ANIM_DELAY_ACTION] != ARG_UNDEFINED_VALUE)
+ g->anim_delay_action = parameter[GFX_ARG_ANIM_DELAY_ACTION];
+ if (parameter[GFX_ARG_POST_DELAY_ACTION] != ARG_UNDEFINED_VALUE)
+ g->post_delay_action = parameter[GFX_ARG_POST_DELAY_ACTION];
// used for toon animations and global animations
g->step_offset = parameter[GFX_ARG_STEP_OFFSET];
g->post_delay = parameter[GFX_ARG_POST_DELAY];
if (parameter[GFX_ARG_AUTO_DELAY] != ARG_UNDEFINED_VALUE)
g->auto_delay = parameter[GFX_ARG_AUTO_DELAY];
+ if (parameter[GFX_ARG_AUTO_DELAY_UNIT] != ARG_UNDEFINED_VALUE)
+ g->auto_delay_unit = parameter[GFX_ARG_AUTO_DELAY_UNIT];
if (parameter[GFX_ARG_ALIGN] != ARG_UNDEFINED_VALUE)
g->align = parameter[GFX_ARG_ALIGN];
if (parameter[GFX_ARG_VALIGN] != ARG_UNDEFINED_VALUE)
-1
};
+ FreeGlobalAnimEventInfo();
+
checked_free(graphic_info);
graphic_info = checked_calloc(num_images * sizeof(struct GraphicInfo));
InitNetworkSettings();
+ InitRuntimeInfo();
+
if (network.serveronly)
{
#if defined(PLATFORM_UNIX)
InitVideoBuffer(WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH, setup.fullscreen);
InitVideoOverlay();
+ InitEventFilter(FilterMouseMotionEvents);
+
print_timestamp_time("[init video stuff]");
InitElementPropertiesStatic();
FreeAllImages();
-#if defined(TARGET_SDL)
-#if defined(TARGET_SDL2)
// !!! TODO !!!
// set a flag to tell the network server thread to quit and wait for it
// using SDL_WaitThread()
-#else
- if (network_server) // terminate network server
- SDL_KillThread(server_thread);
-#endif
-#endif
+ //
+ // Code used with SDL 1.2:
+ // if (network_server) // terminate network server
+ // SDL_KillThread(server_thread);
CloseVideoDisplay();
ClosePlatformDependentStuff();