#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);
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);
void SaveTape(int);
void DumpTape(struct TapeInfo *);
void LoadSpecialMenuDesignSettings();
void LoadUserDefinedEditorElementList(int **, int *);
void LoadMusicInfo();
+void LoadHelpAnimInfo();
+void LoadHelpTextInfo();
+
+void ConvertLevels(void);
#endif /* FILES_H */