added functions to get level position (tile) from screen position (pixel)
[rocksndiamonds.git] / src / game_sp / export.h
index a8e6e31817bf6295bb5bfe66051f0d5ded38a7b4..4edac4768415504aa13e44cbeae9b24a746c6785 100644 (file)
                                         SP_MAX_PLAYFIELD_HEIGHT)
 #define SP_STD_LEVEL_SIZE              (SP_HEADER_SIZE + SP_STD_PLAYFIELD_SIZE)
 
-#if 0
-#define SP_SCREEN_BUFFER_XSIZE         (SCR_FIELDX + 2)
-#define SP_SCREEN_BUFFER_YSIZE         (SCR_FIELDY + 2)
-#endif
-
 #define SP_FRAMES_PER_SECOND           35
 #define SP_MAX_TAPE_LEN                        64010   /* (see "spfix63.doc") */
 
 #ifndef HAS_SpecialPortType
 typedef struct
 {
-#if 1
   short PortLocation; // = 2*(x+(y*60))                /* big endian format */
-#else
-  int PortLocation; // = 2*(x+(y*60))
-#endif
   byte Gravity; // 1 = turn on, anything else (0) = turn off
   byte FreezeZonks; // 2 = turn on, anything else (0) = turn off  (1=off!)
   byte FreezeEnemies; // 1 = turn on, anything else (0) = turn off
@@ -85,11 +76,7 @@ typedef struct
   SpecialPortType SpecialPort[10];
   byte SpeedByte; // = Speed XOR Highbyte(RandomSeed)
   byte CheckSumByte; // = CheckSum XOR SpeedByte
-#if 1
   short DemoRandomSeed;                                /* little endian format */
-#else
-  int DemoRandomSeed;
-#endif
 } LevelInfoType;
 #define HAS_LevelInfoType
 #endif
@@ -193,20 +180,21 @@ extern void InitGfxBuffers_SP();
 extern void InitGameEngine_SP();
 extern void GameActions_SP(byte *, boolean);
 
-extern unsigned int InitEngineRandom_SP(long);
+extern unsigned int InitEngineRandom_SP(int);
 
 extern void setLevelInfoToDefaults_SP();
 extern void copyInternalEngineVars_SP();
 extern boolean LoadNativeLevel_SP(char *, int, boolean);
 extern void SaveNativeLevel_SP(char *);
 
-extern void BackToFront_SP(void);
+extern int getFieldbufferOffsetX_SP();
+extern int getFieldbufferOffsetY_SP();
+
 extern void BlitScreenToBitmap_SP(Bitmap *);
 extern void RedrawPlayfield_SP(boolean);
-extern void DrawGameDoorValues_SP();
 
 extern void LoadEngineSnapshotValues_SP();
-extern void SaveEngineSnapshotValues_SP();
+extern void SaveEngineSnapshotValues_SP(ListNode **);
 
 extern int map_key_RND_to_SP(int);
 extern int map_key_SP_to_RND(int);