Merge branch 'master' into jgrpp
# Conflicts: # cmake/CompileFlags.cmake # src/crashlog.cpp # src/fileio.cpp # src/fileio_func.h # src/fios_gui.cpp # src/ini_load.cpp # src/ini_type.h # src/lang/english.txt # src/lang/german.txt # src/lang/korean.txt # src/network/network_client.cpp # src/order_base.h # src/order_cmd.cpp # src/os/windows/win32.cpp # src/road_cmd.cpp # src/saveload/saveload.cpp # src/saveload/saveload.h # src/settings.cpp # src/station_cmd.cpp # src/stdafx.h # src/table/settings.ini # src/tree_cmd.cpp # src/tree_gui.cpp # src/vehicle_base.h # src/video/cocoa/cocoa_v.mm # src/video/cocoa/event.mm # src/video/cocoa/wnd_quartz.mm # src/viewport.cpp # src/widgets/tree_widget.h
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
|
||||
#include "core/enum_type.hpp"
|
||||
#include "fileio_type.h"
|
||||
#include <string>
|
||||
|
||||
void FioSeekTo(size_t pos, int mode);
|
||||
void FioSeekToFile(uint slot, size_t pos);
|
||||
@@ -21,50 +22,38 @@ byte FioReadByte();
|
||||
uint16 FioReadWord();
|
||||
uint32 FioReadDword();
|
||||
void FioCloseAll();
|
||||
void FioOpenFile(uint slot, const char *filename, Subdirectory subdir, char **output_filename = nullptr);
|
||||
void FioOpenFile(int slot, const std::string &filename, Subdirectory subdir, std::string *output_filename = nullptr);
|
||||
void FioReadBlock(void *ptr, size_t size);
|
||||
void FioSkipBytes(int n);
|
||||
|
||||
/**
|
||||
* The search paths OpenTTD could search through.
|
||||
* At least one of the slots has to be filled with a path.
|
||||
* nullptr paths tell that there is no such path for the
|
||||
* current operating system.
|
||||
*/
|
||||
extern const char *_searchpaths[NUM_SEARCHPATHS];
|
||||
|
||||
/**
|
||||
* Checks whether the given search path is a valid search path
|
||||
* @param sp the search path to check
|
||||
* @return true if the search path is valid
|
||||
*/
|
||||
static inline bool IsValidSearchPath(Searchpath sp)
|
||||
{
|
||||
return sp < NUM_SEARCHPATHS && _searchpaths[sp] != nullptr;
|
||||
}
|
||||
bool IsValidSearchPath(Searchpath sp);
|
||||
|
||||
/** Iterator for all the search paths */
|
||||
#define FOR_ALL_SEARCHPATHS(sp) for (sp = SP_FIRST_DIR; sp < NUM_SEARCHPATHS; sp++) if (IsValidSearchPath(sp))
|
||||
|
||||
void FioFCloseFile(FILE *f);
|
||||
FILE *FioFOpenFile(const char *filename, const char *mode, Subdirectory subdir, size_t *filesize = nullptr, char **output_filename = nullptr);
|
||||
bool FioCheckFileExists(const char *filename, Subdirectory subdir);
|
||||
char *FioGetFullPath(char *buf, const char *last, Searchpath sp, Subdirectory subdir, const char *filename);
|
||||
char *FioFindFullPath(char *buf, const char *last, Subdirectory subdir, const char *filename);
|
||||
char *FioAppendDirectory(char *buf, const char *last, Searchpath sp, Subdirectory subdir);
|
||||
char *FioGetDirectory(char *buf, const char *last, Subdirectory subdir);
|
||||
void FioCreateDirectory(const char *name);
|
||||
FILE *FioFOpenFile(const std::string &filename, const char *mode, Subdirectory subdir, size_t *filesize = nullptr, std::string *output_filename = nullptr);
|
||||
bool FioCheckFileExists(const std::string &filename, Subdirectory subdir);
|
||||
std::string FioFindFullPath(Subdirectory subdir, const char *filename);
|
||||
std::string FioGetDirectory(Searchpath sp, Subdirectory subdir);
|
||||
std::string FioFindDirectory(Subdirectory subdir);
|
||||
void FioCreateDirectory(const std::string &name);
|
||||
|
||||
const char *FiosGetScreenshotDir();
|
||||
|
||||
void SanitizeFilename(char *filename);
|
||||
bool AppendPathSeparator(char *buf, const char *last);
|
||||
void AppendPathSeparator(std::string &buf);
|
||||
void DeterminePaths(const char *exe);
|
||||
void *ReadFileToMem(const char *filename, size_t *lenp, size_t maxsize);
|
||||
bool FileExists(const char *filename);
|
||||
bool ExtractTar(const char *tar_filename, Subdirectory subdir);
|
||||
std::unique_ptr<char> ReadFileToMem(const std::string &filename, size_t &lenp, size_t maxsize);
|
||||
bool FileExists(const std::string &filename);
|
||||
bool ExtractTar(const std::string &tar_filename, Subdirectory subdir);
|
||||
|
||||
extern const char *_personal_dir; ///< custom directory for personal settings, saves, newgrf, etc.
|
||||
extern std::string _personal_dir; ///< custom directory for personal settings, saves, newgrf, etc.
|
||||
|
||||
/** Helper for scanning for files with a given name */
|
||||
class FileScanner {
|
||||
@@ -85,7 +74,7 @@ public:
|
||||
* @param tar_filename the name of the tar file the file is read from.
|
||||
* @return true if the file is added.
|
||||
*/
|
||||
virtual bool AddFile(const char *filename, size_t basepath_length, const char *tar_filename) = 0;
|
||||
virtual bool AddFile(const std::string &filename, size_t basepath_length, const std::string &tar_filename) = 0;
|
||||
};
|
||||
|
||||
/** Helper for scanning for files with tar as extension */
|
||||
@@ -103,9 +92,9 @@ public:
|
||||
ALL = BASESET | NEWGRF | AI | SCENARIO | GAME, ///< Scan for everything.
|
||||
};
|
||||
|
||||
bool AddFile(const char *filename, size_t basepath_length, const char *tar_filename = nullptr) override;
|
||||
bool AddFile(const std::string &filename, size_t basepath_length, const std::string &tar_filename = {}) override;
|
||||
|
||||
bool AddFile(Subdirectory sd, const char *filename);
|
||||
bool AddFile(Subdirectory sd, const std::string &filename);
|
||||
|
||||
/** Do the scan for Tars. */
|
||||
static uint DoScan(TarScanner::Mode mode);
|
||||
|
||||
Reference in New Issue
Block a user