SP_PLAYFIELD_HEIGHT)
#define SP_LEVEL_SIZE (SP_HEADER_SIZE + SP_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") */
boolean GameOver;
};
+struct DemoInfo_SP
+{
+ boolean is_available; /* structure contains valid demo */
+
+ int level_nr; /* number of corresponding level */
+
+ int length; /* number of demo entries */
+ byte data[SP_MAX_TAPE_LEN]; /* array of demo entries */
+};
+
struct LevelInfo_SP
{
LevelInfoType header;
-
- byte playfield[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
+ byte header_raw_bytes[SP_HEADER_SIZE];
int width, height;
- boolean demo_available;
+ byte playfield[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
- byte demo[SP_MAX_TAPE_LEN];
- int demo_length;
+ struct DemoInfo_SP demo;
};
struct GraphicInfo_SP
extern void LoadEngineSnapshotValues_SP();
extern void SaveEngineSnapshotValues_SP();
+extern int map_key_RND_to_SP(int);
+extern int map_key_SP_to_RND(int);
+
#endif /* GAME_SP_EXPORT_H */