X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Fexport.h;h=f54bb28aee2c012a4b1405d5e4a0a630147393ba;hb=f7b79b71faf7e5fbe38df38d26d1156f3ba2f0ce;hp=ffd787839b2e2b0be04ccd905108ae39e1852dad;hpb=148d0ad7e7ac1a97eb50de7ecbb642f36c877311;p=rocksndiamonds.git diff --git a/src/game_sp/export.h b/src/game_sp/export.h index ffd78783..f54bb28a 100644 --- a/src/game_sp/export.h +++ b/src/game_sp/export.h @@ -24,6 +24,11 @@ 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") */ @@ -80,20 +85,30 @@ struct GlobalInfo_SP struct GameInfo_SP { + boolean LevelSolved; + 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 @@ -125,6 +140,7 @@ struct EngineSnapshotInfo_SP /* ------------------------------------------------------------------------- */ extern struct GlobalInfo_SP global_sp_info; +extern struct GameInfo_SP game_sp_info; extern struct LevelInfo_SP native_sp_level; extern struct GraphicInfo_SP graphic_info_sp_object[TILE_MAX][8]; extern struct GraphicInfo_SP graphic_info_sp_player[MAX_PLAYERS][SPR_MAX][8]; @@ -150,4 +166,7 @@ extern void DrawGameDoorValues_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 */