changed global animations (esp. toons) to be controlled by game mode
[rocksndiamonds.git] / src / init.c
index 96eefb31e38a97845effe5bed1ed39bef1ea794a..e7cbd04a43af6d10c3515e66e5300a32469dd393 100644 (file)
@@ -232,6 +232,9 @@ void InitImageTextures()
 
   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);
 
@@ -1352,7 +1355,6 @@ static void set_graphic_parameters_ext(int graphic, int *parameter,
   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];
@@ -1366,6 +1368,9 @@ static void set_graphic_parameters_ext(int graphic, int *parameter,
   /* this is only used for drawing envelope graphics */
   g->draw_masked = parameter[GFX_ARG_DRAW_MASKED];
 
+  /* used for toon animations and global animations */
+  g->draw_order = parameter[GFX_ARG_DRAW_ORDER];
+
   /* optional graphic for cloning all graphics settings */
   if (parameter[GFX_ARG_CLONE_FROM] != ARG_UNDEFINED_VALUE)
     g->clone_from = parameter[GFX_ARG_CLONE_FROM];
@@ -2054,6 +2059,7 @@ static void ReinitializeGraphics()
   InitGadgets();
   print_timestamp_time("InitGadgets");
   InitToons();
+  InitGlobalAnimations();
   print_timestamp_time("InitToons");
   InitDoors();
   print_timestamp_time("InitDoors");
@@ -5316,6 +5322,7 @@ void InitGfx()
 
   InitGfxDrawBusyAnimFunction(DrawInitAnim);
   InitGfxDrawGlobalAnimFunction(DrawGlobalAnim);
+  InitGfxDrawGlobalBorderFunction(DrawMaskedBorderToScreen);
 
   /* use copy of busy animation to prevent change while reloading artwork */
   init_last = init;