X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ffiles.h;h=601fdbebfaa9084f88f42e7804ed679137ef49b2;hp=9aa751f89f12612b933d3468d1fb89aaadaf3ee5;hb=115ce6f2da1914d68b0fe0e5f9082973190dacdd;hpb=d7d97176a88ee47f893055480c76b9c05a253d05 diff --git a/src/files.h b/src/files.h index 9aa751f8..601fdbeb 100644 --- a/src/files.h +++ b/src/files.h @@ -1,75 +1,89 @@ -/*********************************************************** -* Rocks'n'Diamonds -- McDuffin Strikes Back! * -*----------------------------------------------------------* -* (c) 1995-98 Artsoft Entertainment * -* Holger Schemel * -* Oststrasse 11a * -* 33604 Bielefeld * -* phone: ++49 +521 290471 * -* email: aeglos@valinor.owl.de * -*----------------------------------------------------------* -* files.h * -***********************************************************/ +// ============================================================================ +// Rocks'n'Diamonds - McDuffin Strikes Back! +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// files.h +// ============================================================================ #ifndef FILES_H #define FILES_H #include "main.h" -/* names file mode: local level setup or global game 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_AUTO_RECORD (1<<6) -#define SETUP_2ND_JOYSTICK (1<<7) -#define SETUP_QUICK_DOORS (1<<8) -#define SETUP_SCROLL_DELAY (1<<9) -#define SETUP_SOFT_SCROLL (1<<10) - -#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_AUTO_RECORD_ON(x) (((x) & SETUP_AUTO_RECORD) != 0) -#define SETUP_2ND_JOYSTICK_ON(x) (((x) & SETUP_2ND_JOYSTICK) != 0) -#define SETUP_QUICK_DOORS_ON(x) (((x) & SETUP_QUICK_DOORS) != 0) -#define SETUP_SCROLL_DELAY_ON(x) (((x) & SETUP_SCROLL_DELAY) != 0) -#define SETUP_SOFT_SCROLL_ON(x) (((x) & SETUP_SOFT_SCROLL) != 0) - -/* for LoadSetup() */ -#define MAX_LINE_LEN 1000 -#define MAX_SETUP_TOKEN_LEN 100 -#define MAX_SETUP_VALUE_LEN 100 - -boolean CreateNewScoreFile(void); -boolean CreateNewNamesFile(int); -boolean LoadLevelInfo(void); + +#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 *); +void copyElementInfo(struct ElementInfo *, struct ElementInfo *); + +char *getDefaultLevelFilename(int); +char *getLocalLevelTemplateFilename(void); +char *getGlobalLevelTemplateFilename(void); + +void LoadLevelFromFilename(struct LevelInfo *, char *); void LoadLevel(int); -void LoadLevelTape(int); -void LoadScore(int); -void LoadPlayerInfo(int); +void LoadLevelTemplate(int); +void LoadLevelInfoOnly(int); +void LoadNetworkLevel(struct NetworkLevelInfo *); void SaveLevel(int); -void SaveLevelTape(int); +void SaveLevelTemplate(void); +void SaveNativeLevel(struct LevelInfo *); +void DumpLevel(struct LevelInfo *); +boolean SaveLevelChecked(int); + +void CopyNativeLevel_RND_to_Native(struct LevelInfo *); +void CopyNativeLevel_Native_to_RND(struct LevelInfo *); + +void LoadTapeFromFilename(char *); +void LoadTape(int); +void LoadSolutionTape(int); +void SaveTape(int); +void DumpTape(struct TapeInfo *); +boolean SaveTapeChecked(int); +boolean SaveTapeChecked_LevelSolved(int); + +void LoadScore(int); void SaveScore(int); -void SavePlayerInfo(int); -void LoadJoystickData(void); -void SaveJoystickData(void); + +void LoadSetupFromFilename(char *); void LoadSetup(void); void SaveSetup(void); -#endif +void LoadSetup_AutoSetup(void); +void SaveSetup_AutoSetup(void); + +void LoadSetup_EditorCascade(void); +void SaveSetup_EditorCascade(void); + +void SaveSetup_AddGameControllerMapping(char *); + +void setHideSetupEntry(void *); +boolean hideSetupEntry(void *); + +void LoadCustomElementDescriptions(void); +void InitMenuDesignSettings_Static(void); +void LoadMenuDesignSettings(void); +void LoadMenuDesignSettings_AfterGraphics(void); +void LoadUserDefinedEditorElementList(int **, int *); +void LoadMusicInfo(void); +void LoadHelpAnimInfo(void); +void LoadHelpTextInfo(void); + +void ConvertLevels(void); +void CreateLevelSketchImages(void); +void CreateCustomElementImages(char *); + +#endif /* FILES_H */