/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
+* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
-* (c) 1995-98 Artsoft Entertainment *
-* Holger Schemel *
-* Oststrasse 11a *
-* 33604 Bielefeld *
-* phone: ++49 +521 290471 *
-* email: aeglos@valinor.owl.de *
+* (c) 1995-2002 Artsoft Entertainment *
+* Holger Schemel *
+* Detmolder Strasse 189 *
+* 33604 Bielefeld *
+* Germany *
+* e-mail: info@artsoft.org *
*----------------------------------------------------------*
-* files.h *
+* files.h *
***********************************************************/
#ifndef FILES_H
#include "main.h"
-boolean LoadLevelInfo(void);
+
+#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 *);
+void copyElementInfo(struct ElementInfo *, struct ElementInfo *);
+
+char *getDefaultLevelFilename(int);
+
+void LoadLevelFromFilename(struct LevelInfo *, char *);
void LoadLevel(int);
+void LoadLevelTemplate(int);
void SaveLevel(int);
-void LoadLevelTape(int);
-void SaveLevelTape(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 *);
-boolean CreateNewScoreFile(void);
void LoadScore(int);
void SaveScore(int);
-void LoadJoystickData(void);
-void SaveJoystickData(void);
+void LoadSetup();
+void SaveSetup();
+
+void LoadSetup_EditorCascade();
+void SaveSetup_EditorCascade();
+
+void LoadCustomElementDescriptions();
+void LoadSpecialMenuDesignSettings();
+void LoadUserDefinedEditorElementList(int **, int *);
+void LoadMusicInfo();
+void LoadHelpAnimInfo();
+void LoadHelpTextInfo();
-void LoadSetup(void);
-void LoadLevelSetup(void);
-void SaveSetup(void);
-void SaveLevelSetup(void);
+void ConvertLevels(void);
#endif /* FILES_H */