cd8bfec4be32ed1ed6229ef6bb81589ac48ca263
[rocksndiamonds.git] / src / files.h
1 /***********************************************************
2 * Rocks'n'Diamonds -- McDuffin Strikes Back!               *
3 *----------------------------------------------------------*
4 * (c) 1995-2006 Artsoft Entertainment                      *
5 *               Holger Schemel                             *
6 *               Detmolder Strasse 189                      *
7 *               33604 Bielefeld                            *
8 *               Germany                                    *
9 *               e-mail: info@artsoft.org                   *
10 *----------------------------------------------------------*
11 * files.h                                                  *
12 ***********************************************************/
13
14 #ifndef FILES_H
15 #define FILES_H
16
17 #include "main.h"
18
19
20 #define LEVEL_PACKED_START              100
21 #define PACKED_LEVELS(x)                (LEVEL_PACKED_START + x)
22
23 #define LEVEL_FILE_TYPE_RND_PACKED      PACKED_LEVELS(LEVEL_FILE_TYPE_RND)
24 #define LEVEL_FILE_TYPE_EM_PACKED       PACKED_LEVELS(LEVEL_FILE_TYPE_EM)
25
26 #define IS_SINGLE_LEVEL_FILE(x)         (x < LEVEL_PACKED_START)
27 #define IS_PACKED_LEVEL_FILE(x)         (x > LEVEL_PACKED_START)
28
29
30 void setElementChangePages(struct ElementInfo *, int);
31 void setElementChangeInfoToDefaults(struct ElementChangeInfo *);
32 void copyElementInfo(struct ElementInfo *, struct ElementInfo *);
33
34 char *getDefaultLevelFilename(int);
35
36 void LoadLevelFromFilename(struct LevelInfo *, char *);
37 void LoadLevel(int);
38 void LoadLevelTemplate(int);
39 void LoadLevelInfoOnly(int);
40 void SaveLevel(int);
41 void SaveLevelTemplate();
42 void SaveNativeLevel(struct LevelInfo *);
43 void DumpLevel(struct LevelInfo *);
44 boolean SaveLevelChecked(int);
45
46 void CopyNativeLevel_RND_to_Native(struct LevelInfo *);
47 void CopyNativeLevel_Native_to_RND(struct LevelInfo *);
48
49 void LoadTapeFromFilename(char *);
50 void LoadTape(int);
51 void LoadSolutionTape(int);
52 void SaveTape(int);
53 void DumpTape(struct TapeInfo *);
54 boolean SaveTapeChecked(int);
55
56 void LoadScore(int);
57 void SaveScore(int);
58
59 void LoadSetup();
60 void SaveSetup();
61
62 void LoadSetup_EditorCascade();
63 void SaveSetup_EditorCascade();
64
65 void LoadCustomElementDescriptions();
66 void InitMenuDesignSettings_Static();
67 void LoadMenuDesignSettings();
68 void LoadUserDefinedEditorElementList(int **, int *);
69 void LoadMusicInfo();
70 void LoadHelpAnimInfo();
71 void LoadHelpTextInfo();
72
73 void ConvertLevels();
74 void CreateLevelSketchImages();
75
76 #endif  /* FILES_H */