X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ffiles.h;h=601fdbebfaa9084f88f42e7804ed679137ef49b2;hp=e34532a171087f7b1e870a5bb5dcc63e893b2510;hb=115ce6f2da1914d68b0fe0e5f9082973190dacdd;hpb=19b6c35938826bfd71478d7ddaf1a4729420d3b2 diff --git a/src/files.h b/src/files.h index e34532a1..601fdbeb 100644 --- a/src/files.h +++ b/src/files.h @@ -1,69 +1,89 @@ -/*********************************************************** -* 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 * -*----------------------------------------------------------* -* 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) - -BOOL CreateNewScoreFile(void); -BOOL CreateNewNamesFile(int); -BOOL 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); -#endif +void LoadSetupFromFilename(char *); +void LoadSetup(void); +void SaveSetup(void); + +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 */