added separate initial and runtime level structure definitions for EM engine
[rocksndiamonds.git] / src / game_em / export.h
index 550110c0b797058137dbbfd5e9d85b1a68f6f69d..3089d48f3f5e3e3c3b9051e00121434a5bcfa2d5 100644 (file)
@@ -6,6 +6,15 @@
 // ============================================================================
 
 #include "emerald.h"
+#include "cave.h"
+
+
+// ----------------------------------------------------------------------------
+// constant definitions
+// ----------------------------------------------------------------------------
+
+#define EM_MAX_CAVE_WIDTH              CAVE_WIDTH
+#define EM_MAX_CAVE_HEIGHT             CAVE_HEIGHT
 
 
 // ----------------------------------------------------------------------------
@@ -30,19 +39,16 @@ struct GameInfo_EM
 
   int last_moving_player;
   int last_player_direction[MAX_PLAYERS];
+
+  struct LOGIC *lev;
+  struct PLAYER *ply[MAX_PLAYERS];
 };
 
 struct LevelInfo_EM
 {
   int file_version;
 
-  short cave[EM_MAX_CAVE_WIDTH][EM_MAX_CAVE_HEIGHT];
-
-  struct LEVEL *lev;
-  struct PLAYER *ply[MAX_PLAYERS];
-
-  /* used for runtime values */
-  struct GameInfo_EM *game_em;
+  struct CAVE *cav;
 };
 
 struct GraphicInfo_EM
@@ -68,16 +74,11 @@ struct EngineSnapshotInfo_EM
 {
   struct GameInfo_EM game_em;
   unsigned int RandomEM;
-  struct LEVEL lev;
+  struct LOGIC lev;
   struct PLAYER ply[MAX_PLAYERS];
-  short Array[4][EM_MAX_CAVE_WIDTH][EM_MAX_CAVE_HEIGHT];
   int screen_x;
   int screen_y;
   int frame;
-  short **Boom;
-  short **Cave;
-  short **Next;
-  short **Draw;
 };
 
 
@@ -108,7 +109,6 @@ boolean LoadNativeLevel_EM(char *, boolean);
 int getFieldbufferOffsetX_EM(void);
 int getFieldbufferOffsetY_EM(void);
 
-void BackToFront_EM(void);
 void BlitScreenToBitmap_EM(Bitmap *);
 void RedrawPlayfield_EM(boolean);
 
@@ -117,7 +117,4 @@ void SaveEngineSnapshotValues_EM(void);
 
 boolean checkIfAllPlayersFitToScreen(void);
 
-void tab_generate(void);
-void tab_generate_graphics_info_em(void);
-
 #endif // EXPORT_H