rnd-20040822-3-src
[rocksndiamonds.git] / src / files.h
index aee5e42179b21bb0268aa6c8d99022e01cf1f2c0..0918ac91aae5af0b0b922565991d1acfb89606d2 100644 (file)
@@ -1,15 +1,14 @@
 /***********************************************************
-*  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
 *----------------------------------------------------------*
-*  ©1995 Artsoft Development                               *
-*        Holger Schemel                                    *
-*        33659 Bielefeld-Senne                             *
-*        Telefon: (0521) 493245                            *
-*        eMail: aeglos@valinor.owl.de                      *
-*               aeglos@uni-paderborn.de                    *
-*               q99492@pbhrzx.uni-paderborn.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"
 
-/* names file mode: level or setup */
-#define PLAYER_LEVEL   0
-#define PLAYER_SETUP   1
-
-/* Setup-Bits */
-#define SETUP_TOONS                    (1<<0)
-#define SETUP_SOUND                    (1<<1)
-#define SETUP_SOUND_LOOPS              (1<<2)
-#define SETUP_SOUND_MUSIC              (1<<3)
-#define SETUP_DIRECT_DRAW              (1<<4)
-#define SETUP_FADING                   (1<<5)
-#define SETUP_RECORD_EACH_GAME         (1<<6)
-#define SETUP_2ND_JOYSTICK             (1<<7)
-#define SETUP_QUICK_DOORS              (1<<8)
-
-#define DEFAULT_SETUP                  (SETUP_TOONS |          \
-                                        SETUP_SOUND |          \
-                                        SETUP_SOUND_LOOPS |    \
-                                        SETUP_SOUND_MUSIC)
-
-/* Setup-Voreinstellungen */
-#define SETUP_TOONS_ON(x)              (((x) & SETUP_TOONS) != 0)
-#define SETUP_SOUND_ON(x)              (((x) & SETUP_SOUND) != 0)
-#define SETUP_SOUND_LOOPS_ON(x)                (((x) & SETUP_SOUND_LOOPS) != 0)
-#define SETUP_SOUND_MUSIC_ON(x)                (((x) & SETUP_SOUND_MUSIC) != 0)
-#define SETUP_DIRECT_DRAW_ON(x)                (((x) & SETUP_DIRECT_DRAW) != 0)
-#define SETUP_FADING_ON(x)             (((x) & SETUP_FADING) != 0)
-#define SETUP_RECORD_EACH_GAME_ON(x)   (((x) & SETUP_RECORD_EACH_GAME) != 0)
-#define SETUP_2ND_JOYSTICK_ON(x)       (((x) & SETUP_2ND_JOYSTICK) != 0)
-#define SETUP_QUICK_DOORS_ON(x)                (((x) & SETUP_QUICK_DOORS) != 0)
-
-BOOL CreateNewScoreFile(void);
-BOOL CreateNewNamesFile(int);
-BOOL LoadLevelInfo(void);
+
+/* values for level file type identifier */
+#define LEVEL_FILE_TYPE_UNKNOWN                0
+#define LEVEL_FILE_TYPE_RND            1
+#define LEVEL_FILE_TYPE_BD             2
+#define LEVEL_FILE_TYPE_EM             3
+#define LEVEL_FILE_TYPE_SP             4
+#define LEVEL_FILE_TYPE_DX             5
+#define LEVEL_FILE_TYPE_SB             6
+#define LEVEL_FILE_TYPE_DC             7
+
+#define NUM_LEVEL_FILE_TYPES           8
+
+#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 *);
+
+char *getDefaultLevelFilename(int);
+
+void LoadLevelFromFilename(struct LevelInfo *, char *);
 void LoadLevel(int);
-void LoadLevelTape(int);
-void LoadScore(int);
-void LoadPlayerInfo(int);
+void LoadLevelTemplate(int);
 void SaveLevel(int);
-void SaveLevelTape(int);
+void SaveLevelTemplate();
+void DumpLevel(struct LevelInfo *);
+
+void LoadTapeFromFilename(char *);
+void LoadTape(int);
+void LoadSolutionTape(int);
+void SaveTape(int);
+void DumpTape(struct TapeInfo *);
+
+void LoadScore(int);
 void SaveScore(int);
-void SavePlayerInfo(int);
-void LoadJoystickData(void);
-void SaveJoystickData(void);
 
-#endif
+void LoadSetup();
+void SaveSetup();
+
+void LoadCustomElementDescriptions();
+void LoadSpecialMenuDesignSettings();
+void LoadUserDefinedEditorElementList(int **, int *);
+void LoadMusicInfo();
+void LoadHelpAnimInfo();
+void LoadHelpTextInfo();
+
+void ConvertLevels(void);
+
+#endif /* FILES_H */