X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.h;h=558837256d5f30fb07ae49c97b8d8d0212ecd66a;hb=2362e426463cb445e119a4e3e5ce0b6ccb3fb33c;hp=7f87399c639f16fc9aaf16da2effa1a8d49bfe8b;hpb=c6a3052208767e8feadd0d712b1354f29547db07;p=rocksndiamonds.git diff --git a/src/files.h b/src/files.h index 7f87399c..55883725 100644 --- a/src/files.h +++ b/src/files.h @@ -16,10 +16,40 @@ #include "main.h" + +/* values for level file type identifier */ +#define LEVEL_FILE_TYPE_UNKNOWN 0 +#define LEVEL_FILE_TYPE_RND 1 +#define LEVEL_FILE_TYPE_BD 2 +#define LEVEL_FILE_TYPE_EM 3 +#define LEVEL_FILE_TYPE_SP 4 +#define LEVEL_FILE_TYPE_DX 5 +#define LEVEL_FILE_TYPE_SB 6 +#define LEVEL_FILE_TYPE_DC 7 + +#define NUM_LEVEL_FILE_TYPES 8 + +#define GAME_ENGINE_TYPE_UNKNOWN LEVEL_FILE_TYPE_UNKNOWN +#define GAME_ENGINE_TYPE_RND LEVEL_FILE_TYPE_RND +#define GAME_ENGINE_TYPE_EM LEVEL_FILE_TYPE_EM + +#define NUM_ENGINE_TYPES 3 + +#define LEVEL_PACKED_START 100 +#define PACKED_LEVELS(x) (LEVEL_PACKED_START + x) + +#define LEVEL_FILE_TYPE_RND_PACKED PACKED_LEVELS(LEVEL_FILE_TYPE_RND) +#define LEVEL_FILE_TYPE_EM_PACKED PACKED_LEVELS(LEVEL_FILE_TYPE_EM) + +#define IS_SINGLE_LEVEL_FILE(x) (x < LEVEL_PACKED_START) +#define IS_PACKED_LEVEL_FILE(x) (x > LEVEL_PACKED_START) + + void setElementChangePages(struct ElementInfo *, int); void setElementChangeInfoToDefaults(struct ElementChangeInfo *); -boolean LevelFileExists(int); +char *getDefaultLevelFilename(int); + void LoadLevelFromFilename(struct LevelInfo *, char *); void LoadLevel(int); void LoadLevelTemplate(int); @@ -27,8 +57,12 @@ void SaveLevel(int); void SaveLevelTemplate(); void DumpLevel(struct LevelInfo *); +void CopyNativeLevel_RND_to_EM(struct LevelInfo *); +void CopyNativeLevel_EM_to_RND(struct LevelInfo *); + void LoadTapeFromFilename(char *); void LoadTape(int); +void LoadSolutionTape(int); void SaveTape(int); void DumpTape(struct TapeInfo *); @@ -45,4 +79,6 @@ void LoadMusicInfo(); void LoadHelpAnimInfo(); void LoadHelpTextInfo(); +void ConvertLevels(void); + #endif /* FILES_H */