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 GAME_ENGINE_TYPE_UNKNOWN LEVEL_FILE_TYPE_UNKNOWN
33 #define GAME_ENGINE_TYPE_RND LEVEL_FILE_TYPE_RND
34 #define GAME_ENGINE_TYPE_EM LEVEL_FILE_TYPE_EM
36 #define NUM_ENGINE_TYPES 3
38 #define LEVEL_PACKED_START 100
39 #define PACKED_LEVELS(x) (LEVEL_PACKED_START + x)
41 #define LEVEL_FILE_TYPE_RND_PACKED PACKED_LEVELS(LEVEL_FILE_TYPE_RND)
42 #define LEVEL_FILE_TYPE_EM_PACKED PACKED_LEVELS(LEVEL_FILE_TYPE_EM)
44 #define IS_SINGLE_LEVEL_FILE(x) (x < LEVEL_PACKED_START)
45 #define IS_PACKED_LEVEL_FILE(x) (x > LEVEL_PACKED_START)
48 void setElementChangePages(struct ElementInfo *, int);
49 void setElementChangeInfoToDefaults(struct ElementChangeInfo *);
51 char *getDefaultLevelFilename(int);
53 void LoadLevelFromFilename(struct LevelInfo *, char *);
55 void LoadLevelTemplate(int);
57 void SaveLevelTemplate();
58 void DumpLevel(struct LevelInfo *);
60 void CopyNativeLevel_RND_to_Native(struct LevelInfo *);
61 void CopyNativeLevel_Native_to_RND(struct LevelInfo *);
63 void LoadTapeFromFilename(char *);
65 void LoadSolutionTape(int);
67 void DumpTape(struct TapeInfo *);
75 void LoadCustomElementDescriptions();
76 void LoadSpecialMenuDesignSettings();
77 void LoadUserDefinedEditorElementList(int **, int *);
79 void LoadHelpAnimInfo();
80 void LoadHelpTextInfo();
82 void ConvertLevels(void);