1 /***********************************************************
2 * Rocks'n'Diamonds -- McDuffin Strikes Back! *
3 *----------------------------------------------------------*
4 * (c) 1995-2002 Artsoft Entertainment *
6 * Detmolder Strasse 189 *
9 * e-mail: info@artsoft.org *
10 *----------------------------------------------------------*
12 ***********************************************************/
20 /* values for level file type identifier */
21 #define LEVEL_FILE_TYPE_UNKNOWN 0
22 #define LEVEL_FILE_TYPE_RND 1
23 #define LEVEL_FILE_TYPE_BD 2
24 #define LEVEL_FILE_TYPE_EM 3
25 #define LEVEL_FILE_TYPE_SP 4
26 #define LEVEL_FILE_TYPE_DX 5
27 #define LEVEL_FILE_TYPE_SB 6
28 #define LEVEL_FILE_TYPE_DC 7
30 #define NUM_LEVEL_FILE_TYPES 8
32 #define LEVEL_PACKED_START 100
33 #define PACKED_LEVELS(x) (LEVEL_PACKED_START + x)
35 #define LEVEL_FILE_TYPE_RND_PACKED PACKED_LEVELS(LEVEL_FILE_TYPE_RND)
36 #define LEVEL_FILE_TYPE_EM_PACKED PACKED_LEVELS(LEVEL_FILE_TYPE_EM)
38 #define IS_SINGLE_LEVEL_FILE(x) (x < LEVEL_PACKED_START)
39 #define IS_PACKED_LEVEL_FILE(x) (x > LEVEL_PACKED_START)
42 void setElementChangePages(struct ElementInfo *, int);
43 void setElementChangeInfoToDefaults(struct ElementChangeInfo *);
45 char *getDefaultLevelFilename(int);
47 void LoadLevelFromFilename(struct LevelInfo *, char *);
49 void LoadLevelTemplate(int);
51 void SaveLevelTemplate();
52 void DumpLevel(struct LevelInfo *);
54 void LoadTapeFromFilename(char *);
56 void LoadSolutionTape(int);
58 void DumpTape(struct TapeInfo *);
66 void LoadCustomElementDescriptions();
67 void LoadSpecialMenuDesignSettings();
68 void LoadUserDefinedEditorElementList(int **, int *);
70 void LoadHelpAnimInfo();
71 void LoadHelpTextInfo();
73 void ConvertLevels(void);