+ int jx = player->jx, jy = player->jy;
+ int dx = x - jx, dy = y - jy;
+
+ if (real_dx && real_dy) /* diagonal direction input => do check */
+ {
+ /* diagonal direction: check alternative direction */
+ int xx = jx + (dx == 0 ? real_dx : 0);
+ int yy = jy + (dy == 0 ? real_dy : 0);
+
+ if (IN_LEV_FIELD(xx, yy))
+ {
+ int element = Feld[xx][yy];
+
+#if 0
+ if (IS_HISTORIC_SOLID(element) !=
+ (!(IS_WALKABLE(element) ||
+ IS_DIGGABLE(element) ||
+ IS_COLLECTIBLE(element))))
+ printf("::: %d ['%s'] [%d, %d]\n",
+ element,
+ element_info[element].token_name,
+ game.engine_version, tape.engine_version);