rnd-19980828
[rocksndiamonds.git] / src / main.h
index 4bdf70f1f85a64c4134e9d6f3817e80ce0e7b427..aff6db83ee537004cd4b0bfb976841e0cc95586b 100644 (file)
@@ -67,11 +67,12 @@ typedef int BOOL;
 #define IN_SCR_FIELD(x,y) ((x)>=BX1 && (x)<=BX2 && (y)>=BY1 &&(y)<=BY2)
 #define IN_LEV_FIELD(x,y) ((x)>=0 && (x)<lev_fieldx && (y)>=0 &&(y)<lev_fieldy)
 
-/*
+
 #define IS_PLAYER(x,y)         (JX==(x) && JY==(y))
-*/
 
-#define IS_PLAYER(x,y)         ((JX==(x) && JY==(y)) || (JX2==(x) && JY2==(y)))
+/*
+#define IS_PLAYER(x,y)         ((JX==(x) && JY==(y)) || (lastJX==(x) && lastJY==(y)))
+*/
 
 #define IS_FREE(x,y)           (Feld[x][y]==EL_LEERRAUM && !IS_PLAYER(x,y))
 #define IS_FREE_OR_PLAYER(x,y) (Feld[x][y]==EL_LEERRAUM)
@@ -305,10 +306,11 @@ extern long               Elementeigenschaften[MAX_ELEMENTS];
 extern int             level_nr, leveldir_nr, num_leveldirs;
 extern int             lev_fieldx,lev_fieldy, scroll_x,scroll_y;
 
-extern int             FX,FY, ScreenMovPos;
+extern int             FX,FY, ScreenMovPos, ScrollStepSize;
 extern int             BX1,BY1, BX2,BY2;
-extern int             JX,JY, JX2,JY2, ZX,ZY, ExitX,ExitY;
-extern int             PlayerMovDir, PlayerMovPos, PlayerFrame, PlayerPushing;
+extern int             JX,JY, lastJX,lastJY, ZX,ZY, ExitX,ExitY;
+extern int             PlayerMovDir, PlayerMovPos, PlayerPushing;
+extern int             PlayerFrame, PlayerGfxPos;
 extern int             PlayerGone,LevelSolved,GameOver;
 extern int             FrameCounter,TimeFrames,TimeLeft,Score;
 extern int             Gems,SokobanFields,Lights,Friends;
@@ -564,6 +566,7 @@ extern char         *progname;
 #define EL_AMOEBING            305
 #define EL_MAUERND             306
 #define EL_BURNING             307
+#define EL_PLAYER_IS_LEAVING   308
 
 /* game graphics:
 **       0 - 255: graphics from "RocksScreen"
@@ -996,6 +999,7 @@ extern char         *progname;
 #define REDRAW_VIDEO_2         (1L<<5)
 #define REDRAW_VIDEO_3         (1L<<6)
 #define REDRAW_MICROLEV                (1L<<7)
+#define REDRAW_FROM_BACKBUFFER (1L<<8)
 #define REDRAW_DOOR_2  (REDRAW_VIDEO_1 | REDRAW_VIDEO_2 | REDRAW_VIDEO_3)
 #define REDRAW_DOORS   (REDRAW_DOOR_1 | REDRAW_DOOR_2)
 #define REDRAW_MAIN    (REDRAW_FIELD | REDRAW_TILES | REDRAW_MICROLEV)
@@ -1048,5 +1052,6 @@ extern char               *progname;
 /* für DrawGraphicAnimation (tools.c) und AnimateToon (cartoons.c) */
 #define ANIM_NORMAL    0
 #define ANIM_OSCILLATE 1
+#define ANIM_REVERSE   2
 
 #endif