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)
{ "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" },
"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
-#define COMPILE_DATE_STRING "2010-02-02 16:06"
+#define COMPILE_DATE_STRING "2010-02-02 23:29"
/* values for graphics engine customization */
boolean use_native_emc_graphics_engine;
+ boolean use_masked_pushing;
int forced_scroll_delay_value;
int scroll_delay_value;
/* 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
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]);