rnd-20111007-1-src
[rocksndiamonds.git] / src / game_sp / export.h
index bfeab9dd4973bfdee398ddfa100044dbe47b5c19..364ede02c918f961215653572cce630a24533862 100644 (file)
 #define SP_MAX_TAPE_LEN                        64010   /* (see "spfix63.doc") */
 
 
+/* sound actions */
+
+#define actActive                      0
+#define actImpact                      1
+#define actExploding                   2
+#define actDigging                     3
+#define actSnapping                    4
+#define actCollecting                  5
+#define actPassing                     6
+#define actPushing                     7
+#define actDropping                    8
+
+
 /* ------------------------------------------------------------------------- */
 /* data structure definitions                                                */
 /* ------------------------------------------------------------------------- */
@@ -90,8 +103,17 @@ struct GameInfo_SP
   boolean LevelSolved;
   boolean GameOver;
 
+  /* needed for updating panel */
+  int time_played;
+  int infotrons_still_needed;
+  int red_disk_count;
+  int score;
+
   /* needed for engine snapshots */
+  char **preceding_buffer;
   int preceding_buffer_size;
+
+  int scroll_xoffset, scroll_yoffset;
 };
 
 struct DemoInfo_SP
@@ -114,6 +136,9 @@ struct LevelInfo_SP
   byte playfield[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
 
   struct DemoInfo_SP demo;
+
+  /* used for runtime values */
+  struct GameInfo_SP *game_sp;
 };
 
 struct GraphicInfo_SP
@@ -162,14 +187,18 @@ extern struct EngineSnapshotInfo_SP engine_snapshot_sp;
 extern void sp_open_all();
 extern void sp_close_all();
 
+extern void InitPrecedingPlayfieldMemory();
+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);
+extern boolean LoadNativeLevel_SP(char *, int, boolean);
+extern void SaveNativeLevel_SP(char *);
 
 extern void BackToFront_SP(void);
 extern void BlitScreenToBitmap_SP(Bitmap *);
@@ -182,4 +211,6 @@ extern void SaveEngineSnapshotValues_SP();
 extern int map_key_RND_to_SP(int);
 extern int map_key_SP_to_RND(int);
 
+extern int getRedDiskReleaseFlag_SP();
+
 #endif /* GAME_SP_EXPORT_H */