X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.h;h=3c68f01f925ee9b0ec4a333d2933d3e1b56fc774;hb=ef9242bb9320d705010959ba11fdf697dc1e5b70;hp=aa9c03e3c0d50e02cf9421b99dec9759a2f5f945;hpb=2f5368f25e34c02cb5ff7a012aa96198442231cb;p=rocksndiamonds.git diff --git a/src/files.h b/src/files.h index aa9c03e3..3c68f01f 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,6 +57,9 @@ void SaveLevel(int); void SaveLevelTemplate(); void DumpLevel(struct LevelInfo *); +void CopyNativeLevel_RND_to_Native(struct LevelInfo *); +void CopyNativeLevel_Native_to_RND(struct LevelInfo *); + void LoadTapeFromFilename(char *); void LoadTape(int); void LoadSolutionTape(int); @@ -46,4 +79,6 @@ void LoadMusicInfo(); void LoadHelpAnimInfo(); void LoadHelpTextInfo(); +void ConvertLevels(void); + #endif /* FILES_H */