SND_CLASS_SOKOBAN_EMPTYING
},
{
- EL_EMPTY_SPACE, FALSE, ACTION_DIGGING,
- SND_EMPTY_SPACE_DIGGING
+ EL_PLAYER_OBSOLETE, TRUE, ACTION_MOVING,
+ SND_CLASS_PLAYER_MOVING
},
{
EL_SAND, FALSE, ACTION_DIGGING,
{ "[sokoban].emptying", UNDEFINED_FILENAME },
/* sounds for Emerald Mine style elements and actions */
- { "empty_space.digging", "empty.wav" },
+ { "[player].moving", "empty.wav" },
+ { "[player].moving.mode_loop", "false" },
{ "sand.digging", "schlurf.wav" },
{ "emerald.collecting", "pong.wav" },
{ "emerald.impact", "pling.wav" },
#define SND_CLASS_SOKOBAN_PUSHING 43
#define SND_CLASS_SOKOBAN_FILLING 44
#define SND_CLASS_SOKOBAN_EMPTYING 45
-#define SND_EMPTY_SPACE_DIGGING 46
+#define SND_CLASS_PLAYER_MOVING 46
#define SND_SAND_DIGGING 47
#define SND_EMERALD_COLLECTING 48
#define SND_EMERALD_IMPACT 49
switch (element)
{
+#if 0
case EL_EMPTY:
+ PlaySoundLevelElementAction(x, y, player->element_nr, ACTION_MOVING);
+ break;
+#endif
+
+#if 0
case EL_SAND:
case EL_INVISIBLE_SAND:
case EL_INVISIBLE_SAND_ACTIVE:
case EL_SP_BUGGY_BASE:
case EL_SP_BUGGY_BASE_ACTIVATING:
RemoveField(x, y);
-#if 1
+
if (mode != DF_SNAP && element != EL_EMPTY)
{
GfxElement[x][y] = (CAN_BE_CRUMBLED(element) ? EL_SAND : element);
player->is_digging = TRUE;
}
-#endif
+
PlaySoundLevelElementAction(x, y, element, ACTION_DIGGING);
break;
+#endif
case EL_EMERALD:
case EL_BD_DIAMOND:
case EL_PEARL:
case EL_CRYSTAL:
RemoveField(x, y);
-#if 1
+
if (mode != DF_SNAP)
{
GfxElement[x][y] = element;
player->is_collecting = TRUE;
}
-#endif
+
local_player->gems_still_needed -= (element == EL_DIAMOND ? 3 :
element == EL_PEARL ? 5 :
element == EL_CRYSTAL ? 8 : 1);
CheckTriggeredElementChange(element, CE_OTHER_COLLECTING);
break;
+#if 0
case EL_ENVELOPE:
Feld[x][y] = EL_EMPTY;
#if 1
#endif
CheckTriggeredElementChange(element, CE_OTHER_COLLECTING);
break;
+#endif
case EL_EXTRA_TIME:
RemoveField(x, y);
return MF_ACTION;
break;
+#if 0
case EL_SOKOBAN_FIELD_EMPTY:
break;
+#endif
case EL_SOKOBAN_OBJECT:
case EL_SOKOBAN_FIELD_FULL:
if (IS_WALKABLE(element))
{
+ PlaySoundLevelElementAction(x, y, player->element_nr, ACTION_MOVING);
break;
}
else if (IS_DIGGABLE(element))
{
RemoveField(x, y);
-#if 1
+
if (mode != DF_SNAP)
{
GfxElement[x][y] =
(CAN_BE_CRUMBLED(element) ? EL_SAND : GFX_ELEMENT(element));
player->is_digging = TRUE;
}
-#endif
+
PlaySoundLevelElementAction(x, y, element, ACTION_DIGGING);
break;
else if (IS_COLLECTIBLE(element))
{
RemoveField(x, y);
-#if 1
+
if (mode != DF_SNAP)
{
GfxElement[x][y] = element;
player->is_collecting = TRUE;
}
-#endif
+
PlaySoundLevelElementAction(x, y, element, ACTION_COLLECTING);
CheckTriggeredElementChange(element, CE_OTHER_COLLECTING);