/* graphics from "RocksMore" */
#define GFX_SP_EMPTY (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 0)
+/*
#define GFX_SP_ZONK (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 1)
+*/
#define GFX_SP_BASE (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 2)
#define GFX_SP_MURPHY (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 3)
#define GFX_SP_INFOTRON (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 4)
#define GFX_INVISIBLE_STEEL (GFX_START_ROCKSMORE + 5 * MORE_PER_LINE + 3)
#define GFX_UNSICHTBAR (GFX_START_ROCKSMORE + 5 * MORE_PER_LINE + 7)
+#define GFX_SP_ZONK (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 0)
#define GFX_MURPHY_GO_LEFT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 8)
#define GFX_MURPHY_ANY_LEFT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 9)
#define GFX2_SP_ELECTRON (GFX_START_ROCKSMORE + 10 * MORE_PER_LINE + 8)
#define GFX2_SP_TERMINAL (GFX_START_ROCKSMORE + 11 * MORE_PER_LINE + 8)
#define GFX2_SP_TERMINAL_ACTIVE (GFX_START_ROCKSMORE + 12 * MORE_PER_LINE + 8)
-#define GFX2_SP_ZONK (GFX_START_ROCKSMORE + 13 * MORE_PER_LINE + 8)
/* graphics from "RocksFont" */
#define GFX_CHAR_START (GFX_START_ROCKSFONT)
else if (action_moving)
{
if (player->MovDir == MV_LEFT)
- graphic = GFX_MURPHY_ANY_LEFT;
+ graphic = GFX_MURPHY_GO_LEFT;
else if (player->MovDir == MV_RIGHT)
- graphic = GFX_MURPHY_ANY_RIGHT;
+ graphic = GFX_MURPHY_GO_RIGHT;
else if (player->MovDir & (MV_UP | MV_DOWN) && last_dir == MV_LEFT)
- graphic = GFX_MURPHY_ANY_LEFT;
+ graphic = GFX_MURPHY_GO_LEFT;
else if (player->MovDir & (MV_UP | MV_DOWN) && last_dir == MV_RIGHT)
- graphic = GFX_MURPHY_ANY_RIGHT;
+ graphic = GFX_MURPHY_GO_RIGHT;
- graphic -= getGraphicAnimationPhase(2, 4, ANIM_NORMAL);
+ graphic += getGraphicAnimationPhase(3, 2, ANIM_OSCILLATE);
}
if (player->MovDir == MV_LEFT || player->MovDir == MV_RIGHT)
int element = Feld[next_jx][next_jy];
int graphic = el2gfx(element);
- if (element == EL_FELSBROCKEN && sxx)
+ if ((element == EL_FELSBROCKEN || element == EL_SP_ZONK) && sxx)
{
int phase = (player->GfxPos / (TILEX / 4));
else
graphic += (phase + 4) % 4;
}
- else if (element == EL_SP_ZONK && sxx)
- {
- int phase = (player->GfxPos / (TILEX / 4));
-
- graphic = GFX2_SP_ZONK;
-
- if (player->MovDir == MV_LEFT)
- graphic += phase;
- else
- graphic += (phase + 4) % 4;
- }
DrawGraphicShifted(px, py, sxx, syy, graphic, NO_CUTTING, NO_MASKING);
}
else if ((element == EL_FELSBROCKEN || element == EL_SP_ZONK ||
IS_GEM(element)) && !cut_mode)
{
- if (element == EL_SP_ZONK)
+ if (element == EL_FELSBROCKEN || element == EL_SP_ZONK)
{
- /*
- graphic = GFX2_SP_ZONK + phase2 * 2;
- */
-
- /*
- printf("-> %d\n", phase4);
- */
-
- graphic = GFX2_SP_ZONK;
+ if (dir == MV_LEFT)
+ graphic += (4 - phase4) % 4;
+ else if (dir == MV_RIGHT)
+ graphic += phase4;
+ else
+ graphic += phase2 * 2;
+ }
+ else if (element != EL_SP_INFOTRON)
+ graphic += phase2;
+ /*
+ if (element == EL_SP_ZONK)
+ {
if (dir == MV_LEFT)
graphic += (4 - phase4) % 4;
else if (dir == MV_RIGHT)
}
else if (element != EL_SP_INFOTRON)
graphic += phase2 * (element == EL_FELSBROCKEN ? 2 : 1);
+ */
+
}
else if (element == EL_SIEB_LEER || element == EL_SIEB2_LEER ||
element == EL_SIEB_VOLL || element == EL_SIEB2_VOLL)
case EL_SPEED_PILL: return GFX_SPEED_PILL;
case EL_SP_TERMINAL_ACTIVE: return GFX_SP_TERMINAL;
case EL_SP_BUG_ACTIVE: return GFX_SP_BUG_ACTIVE;
+ case EL_SP_ZONK: return GFX_SP_ZONK;
+ /* ^^^^^^^^^^ non-standard position in supaplex graphic set! */
case EL_INVISIBLE_STEEL: return GFX_INVISIBLE_STEEL;
case EL_BLACK_ORB: return GFX_BLACK_ORB;