X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Fexport.h;h=f54bb28aee2c012a4b1405d5e4a0a630147393ba;hb=3d7779514ea1fa0a79312ec8e98f08e5b1096fcb;hp=552e2ecb14a303618088f650666be38f6ec4eb14;hpb=79d7ca29718d025ed0b131bf5389685fe9b941c4;p=rocksndiamonds.git diff --git a/src/game_sp/export.h b/src/game_sp/export.h index 552e2ecb..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") */ @@ -84,18 +89,26 @@ struct GameInfo_SP 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 @@ -153,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 */