fixed bug in single button handling causing broken tapes (EM engine)
[rocksndiamonds.git] / src / files.h
1 // ============================================================================
2 // Rocks'n'Diamonds - McDuffin Strikes Back!
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2014 by Artsoft Entertainment
5 //                  Holger Schemel
6 //                  info@artsoft.org
7 //                  http://www.artsoft.org/
8 // ----------------------------------------------------------------------------
9 // files.h
10 // ============================================================================
11
12 #ifndef FILES_H
13 #define FILES_H
14
15 #include "main.h"
16
17
18 #define LEVEL_PACKED_START              100
19 #define PACKED_LEVELS(x)                (LEVEL_PACKED_START + x)
20
21 #define LEVEL_FILE_TYPE_RND_PACKED      PACKED_LEVELS(LEVEL_FILE_TYPE_RND)
22 #define LEVEL_FILE_TYPE_EM_PACKED       PACKED_LEVELS(LEVEL_FILE_TYPE_EM)
23
24 #define IS_SINGLE_LEVEL_FILE(x)         (x < LEVEL_PACKED_START)
25 #define IS_PACKED_LEVEL_FILE(x)         (x > LEVEL_PACKED_START)
26
27
28 void setElementChangePages(struct ElementInfo *, int);
29 void setElementChangeInfoToDefaults(struct ElementChangeInfo *);
30 void copyElementInfo(struct ElementInfo *, struct ElementInfo *);
31
32 char *getDefaultLevelFilename(int);
33 char *getLocalLevelTemplateFilename();
34 char *getGlobalLevelTemplateFilename();
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 LoadSetupFromFilename(char *);
60 void LoadSetup();
61 void SaveSetup();
62
63 void LoadSetup_EditorCascade();
64 void SaveSetup_EditorCascade();
65
66 void SaveSetup_AddGameControllerMapping(char *);
67
68 void LoadCustomElementDescriptions();
69 void InitMenuDesignSettings_Static();
70 void LoadMenuDesignSettings();
71 void LoadMenuDesignSettings_AfterGraphics();
72 void LoadUserDefinedEditorElementList(int **, int *);
73 void LoadMusicInfo();
74 void LoadHelpAnimInfo();
75 void LoadHelpTextInfo();
76
77 void ConvertLevels();
78 void CreateLevelSketchImages();
79 void CreateCustomElementImages(char *);
80
81 #endif  /* FILES_H */