rnd-20060112-1-src
[rocksndiamonds.git] / src / files.h
index aa9c03e3c0d50e02cf9421b99dec9759a2f5f945..ead1f24f2b0abe7d0bf3371e6b33a33b900c9953 100644 (file)
 
 #include "main.h"
 
+
+#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 +39,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);
@@ -39,6 +54,9 @@ void SaveScore(int);
 void LoadSetup();
 void SaveSetup();
 
+void LoadSetup_EditorCascade();
+void SaveSetup_EditorCascade();
+
 void LoadCustomElementDescriptions();
 void LoadSpecialMenuDesignSettings();
 void LoadUserDefinedEditorElementList(int **, int *);
@@ -46,4 +64,6 @@ void LoadMusicInfo();
 void LoadHelpAnimInfo();
 void LoadHelpTextInfo();
 
+void ConvertLevels(void);
+
 #endif /* FILES_H */