diff options
-rw-r--r-- | src/fios.cpp | 16 | ||||
-rw-r--r-- | src/fios.h | 1 | ||||
-rw-r--r-- | src/screenshot.cpp | 6 | ||||
-rw-r--r-- | src/screenshot.h | 1 |
4 files changed, 24 insertions, 0 deletions
diff --git a/src/fios.cpp b/src/fios.cpp index b51b7c919..ba2f84ded 100644 --- a/src/fios.cpp +++ b/src/fios.cpp @@ -16,6 +16,7 @@ #include "fios.h" #include "fileio_func.h" #include "tar_type.h" +#include "screenshot.h" #include "string_func.h" #include <sys/stat.h> @@ -186,6 +187,21 @@ void FiosMakeSavegameName(char *buf, const char *name, size_t size) } /** + * Construct a filename for a height map. + * @param buf Destination buffer. + * @param name Filename. + * @param size Size of \a buf. + */ +void FiosMakeHeightmapName(char *buf, const char *name, size_t size) +{ + char ext[5]; + ext[0] = '.'; + strecpy(ext + 1, GetCurrentScreenshotExtension(), lastof(ext)); + + FiosMakeFilename(buf, _fios_path, name, ext, size); +} + +/** * Delete a file. * @param name Filename to delete. */ diff --git a/src/fios.h b/src/fios.h index f666eb5bf..e9a20a9fb 100644 --- a/src/fios.h +++ b/src/fios.h @@ -164,6 +164,7 @@ const char *FiosBrowseTo(const FiosItem *item); StringID FiosGetDescText(const char **path, uint64 *total_free); bool FiosDelete(const char *name); +void FiosMakeHeightmapName(char *buf,const char *name, size_t size); void FiosMakeSavegameName(char *buf, const char *name, size_t size); FiosType FiosGetSavegameListCallback(SaveLoadDialogMode mode, const char *file, const char *ext, char *title, const char *last); diff --git a/src/screenshot.cpp b/src/screenshot.cpp index 87cc143cd..78a9b1af3 100644 --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -577,6 +577,12 @@ static const ScreenshotFormat _screenshot_formats[] = { {"PCX", "pcx", &MakePCXImage}, }; +/** Get filename extension of current screenshot file format. */ +const char *GetCurrentScreenshotExtension() +{ + return _screenshot_formats[_cur_screenshot_format].extension; +} + /** Initialize screenshot format information on startup, with #_screenshot_format_name filled from the loadsave code. */ void InitializeScreenshotFormats() { diff --git a/src/screenshot.h b/src/screenshot.h index acd694f2b..64c588178 100644 --- a/src/screenshot.h +++ b/src/screenshot.h @@ -16,6 +16,7 @@ void InitializeScreenshotFormats(); const char *GetScreenshotFormatDesc(int i); void SetScreenshotFormat(uint i); +const char *GetCurrentScreenshotExtension(); /** Type of requested screenshot */ enum ScreenshotType { |