/* 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]);
#endif
}
+void getGraphicSource_SP(struct GraphicInfo_SP *g_sp,
+ int graphic, int sync_frame, int x, int y)
+{
+#if 0
+ /* currently we get the actual graphic animation frame */
+ int frame = sync_frame;
+#else
+ /* (future implementations may provide a synchronization frame instead) */
+ int frame = getGraphicAnimationFrame(graphic, sync_frame);
+#endif
+
+ getGraphicSource(graphic, frame, &g_sp->bitmap, &g_sp->src_x, &g_sp->src_y);
+}
+
void PlayMenuSoundExt(int sound)
{
if (sound == SND_UNDEFINED)