player->is_moving ? ACTION_MOVING :
player->snapped ? ACTION_SNAPPING : ACTION_DEFAULT);
+#if 0
+ printf("::: '%s'\n", element_action_info[action].suffix);
+#endif
+
InitPlayerGfxAnimation(player, action, move_dir);
/* ----------------------------------------------------------------------- */
if (player_is_moving && GfxElement[jx][jy] != EL_UNDEFINED)
{
#if 1
- /* !!! insert DrawLevelFieldCrumbledSandDigging code here !!! */
- if (player->is_digging && CAN_BE_CRUMBLED(GfxElement[jx][jy]))
+ if (CAN_BE_CRUMBLED(GfxElement[jx][jy]))
DrawLevelFieldCrumbledSandDigging(jx, jy, move_dir, player->StepFrame);
#else
if (GfxElement[jx][jy] == EL_SAND)
DrawLevelFieldCrumbledSandDigging(jx, jy, move_dir, player->StepFrame);
#endif
- else /* player->is_collecting */
+ else
{
int old_element = GfxElement[jx][jy];
int old_graphic = el_act_dir2img(old_element, action, move_dir);
int sx = SCREENX(x), sy = SCREENY(y);
DrawGraphic(sx, sy, graphic1, frame1);
-
- if (graphic1 != IMG_EMPTY_SPACE)
- DrawLevelFieldCrumbledSandExt(x, y, graphic2, frame2);
+ DrawLevelFieldCrumbledSandExt(x, y, graphic2, frame2);
}
void DrawLevelFieldCrumbledSandNeighbours(int x, int y)
if (strlen(label_text) > 0)
{
- int text_width = strlen(label_text) * getFontWidth(font_nr);
- int lxpos = SX + (SXSIZE - text_width) / 2;
+ int lxpos = SX + (SXSIZE - getTextWidth(label_text, font_nr)) / 2;
int lypos = MICROLABEL_YPOS;
DrawText(lxpos, lypos, label_text, font_nr);
if (leveldir_current->name)
{
- int len = strlen(leveldir_current->name);
- int lxpos = SX + (SXSIZE - len * getFontWidth(FONT_TEXT_1)) / 2;
+ int text_width = getTextWidth(leveldir_current->name, FONT_TEXT_1);
+ int lxpos = SX + (SXSIZE - text_width) / 2;
int lypos = SY + 352;
DrawText(lxpos, lypos, leveldir_current->name, FONT_TEXT_1);
SetDrawBackgroundMask(REDRAW_FIELD | REDRAW_DOOR_1);
+ SetMouseCursor(CURSOR_DEFAULT);
+
while(result < 0)
{
if (PendingEvent())