rnd-20100202-2-src
authorHolger Schemel <info@artsoft.org>
Tue, 2 Feb 2010 22:51:55 +0000 (23:51 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:58:21 +0000 (10:58 +0200)
ChangeLog
src/conf_gfx.c
src/conf_var.c
src/conftime.h
src/game.h
src/tools.c

index babc5be443f3664e70a1dccf5da222c972dee12a..037fc4b5a754fcf2247048015c7b8cda34a8767d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
 2010-02-02
        * added small kludge that allows transparent pushing animation over
-         non-black background
+         non-black background (by using "game.use_masked_pushing: true")
        * added editor flag to Sokoban field/object elements to automatically
          finish solved Sokoban style levels (even if they contain non-Sokoban
          elements, which prevents auto-enabling this feature for such levels)
index 4c7e7cb7cfcfdd46edade4706bcb458f9c39022a..f76d766315b628e9d84a066521ea44bf3b2d0da7 100644 (file)
@@ -6348,6 +6348,7 @@ struct ConfigInfo image_config[] =
 
   { "game.forced_scroll_delay_value",          "-1"                    },
   { "game.use_native_emc_graphics_engine",     "false"                 },
+  { "game.use_masked_pushing",                 "false"                 },
 
   { "[player].boring_delay_fixed",             "1000"                  },
   { "[player].boring_delay_random",            "1000"                  },
index f0993e6e4832d8c337af80dcc8b067dcb2f36ffe..dc35009ec0e72ac8a3b31451e653b54c7e8292d2 100644 (file)
@@ -5012,6 +5012,10 @@ struct TokenIntPtrInfo image_config_vars[] =
     "game.use_native_emc_graphics_engine",
     &game.use_native_emc_graphics_engine
   },
+  {
+    "game.use_masked_pushing",
+    &game.use_masked_pushing
+  },
   {
     "[player].boring_delay_fixed",
     &game.player_boring_delay_fixed
index 39e9985cfc8ff279bb34b92880c1fbe330359c8a..351c99c37b8fd8daf12543de9fbbce3217dabaa8 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2010-02-02 16:06"
+#define COMPILE_DATE_STRING "2010-02-02 23:29"
index c957974cb49a98e532a41fc5d70b367ff0c7e0f9..e6b3f396a293aa124a4518cf0012489a18664799 100644 (file)
@@ -117,6 +117,7 @@ struct GameInfo
 
   /* values for graphics engine customization */
   boolean use_native_emc_graphics_engine;
+  boolean use_masked_pushing;
   int forced_scroll_delay_value;
   int scroll_delay_value;
 
index aacba67058f44f8bebadf1863a52c87cb4bd551e..07c5a491bb7a37e9962cd540c5900830f01b9703 100644 (file)
@@ -2720,9 +2720,10 @@ void DrawPlayer(struct PlayerInfo *player)
 
     /* draw background element under pushed element (like the Sokoban field) */
 #if 1
-    /* this allows transparent pushing animation over non-black background */
-    if (IS_MOVING(jx, jy))
+    if (game.use_masked_pushing && IS_MOVING(jx, jy))
     {
+      /* this allows transparent pushing animation over non-black background */
+
       if (Back[jx][jy])
        DrawLevelElement(jx, jy, Back[jx][jy]);
       else
@@ -2733,6 +2734,8 @@ void DrawPlayer(struct PlayerInfo *player)
       else
        DrawLevelElement(next_jx, next_jy, EL_EMPTY);
     }
+    else if (Back[next_jx][next_jy])
+      DrawLevelElement(next_jx, next_jy, Back[next_jx][next_jy]);
 #else
     if (Back[next_jx][next_jy])
       DrawLevelElement(next_jx, next_jy, Back[next_jx][next_jy]);