MovDir[x][y] = 1 << RND(4);
break;
+#if 0
case EL_SP_EMPTY:
Feld[x][y] = EL_EMPTY;
break;
+#endif
+#if 0
case EL_EM_KEY_1_FILE:
Feld[x][y] = EL_EM_KEY_1;
break;
case EL_EM_KEY_4_FILE:
Feld[x][y] = EL_EM_KEY_4;
break;
+#endif
case EL_CONVEYOR_BELT_1_SWITCH_LEFT:
case EL_CONVEYOR_BELT_1_SWITCH_MIDDLE:
ei->change_events = CE_BITMASK_DEFAULT;
for (j=0; j < NUM_CHANGE_EVENTS; j++)
{
- ei->event_page_num[j] = 0;
+ ei->event_page_nr[j] = 0;
ei->event_page[j] = &ei->change_page[0];
}
}
!(ei->change_events & CH_EVENT_BIT(k)))
{
ei->change_events |= CH_EVENT_BIT(k);
- ei->event_page_num[k] = j;
+ ei->event_page_nr[k] = j;
ei->event_page[k] = &ei->change_page[j];
}
}
player->is_digging = FALSE;
player->is_collecting = FALSE;
- player->show_envelope = FALSE;
+ player->show_envelope = 0;
player->move_delay = game.initial_move_delay;
player->move_delay_value = game.initial_move_delay_value;
if (GfxElement[x][y] == EL_UNDEFINED)
{
- printf("\n\n\n");
+ printf("\n\n");
printf("Explode(): x = %d, y = %d: GfxElement == EL_UNDEFINED\n", x, y);
printf("Explode(): This should never happen!\n");
- printf("\n\n\n");
+ printf("\n\n");
GfxElement[x][y] = EL_EMPTY;
}
#endif
}
#if 1
+
+#if 0
+ else if (CAN_SMASH(element) &&
+ (Feld[x][y + 1] == EL_BLOCKED ||
+ IS_PLAYER(x, y + 1)) &&
+ JustStopped[x][y] && !Pushed[x][y + 1])
+
+#else
#if 1
else if (game.engine_version < RELEASE_IDENT(2,2,0,7) &&
CAN_SMASH(element) && Feld[x][y + 1] == EL_BLOCKED &&
else if (CAN_SMASH(element) && Feld[x][y + 1] == EL_BLOCKED &&
JustStopped[x][y])
#endif
+#endif
+
{
/* calling "Impact()" here is not only completely unneccessary
(because it already gets called from "ContinueMoving()" in
int element = MovingOrBlocked2Element(x, y);
struct ElementChangeInfo *change = &element_info[element].change_page[page];
+#if 0
+#ifdef DEBUG
+ if (!CAN_CHANGE(element))
+ {
+ printf("\n\n");
+ printf("ChangeElement(): %d,%d: element = %d ('%s')\n",
+ x, y, element, element_info[element].token_name);
+ printf("ChangeElement(): This should never happen!\n");
+ printf("\n\n");
+ }
+#endif
+#endif
+
if (ChangeDelay[x][y] == 0) /* initialize element change */
{
ChangeDelay[x][y] = ( change->delay_fixed * change->delay_frames +
}
if (page < 0)
- page = element_info[element].event_page_num[trigger_event];
+ page = element_info[element].event_page_nr[trigger_event];
if (!(element_info[element].change_page[page].sides & side))
return FALSE;
/* this may take place after moving, so 'element' may have changed */
if (IS_CHANGING(x, y))
{
- ChangeElement(x, y, element_info[element].event_page_num[CE_DELAY]);
+ ChangeElement(x, y, element_info[element].event_page_nr[CE_DELAY]);
element = Feld[x][y];
graphic = el_act_dir2img(element, GfxAction[x][y], MovDir[x][y]);
}
#endif
#if 1
- if (local_player->show_envelope && local_player->MovPos == 0)
+ if (local_player->show_envelope != 0 && local_player->MovPos == 0)
{
- ShowEnvelope();
+ ShowEnvelope(local_player->show_envelope - EL_ENVELOPE_1);
- local_player->show_envelope = FALSE;
+ local_player->show_envelope = 0;
}
#endif
}
el2edimg(EL_KEY_1 + key_nr));
redraw_mask |= REDRAW_DOOR_1;
}
- else if (element == EL_ENVELOPE)
+ else if (IS_ENVELOPE(element))
{
#if 1
- player->show_envelope = TRUE;
+ player->show_envelope = element;
#else
- ShowEnvelope();
+ ShowEnvelope(element - EL_ENVELOPE_1);
#endif
}
else if (IS_DROPPABLE(element)) /* can be collected and dropped */