# HG changeset patch # User smatz # Date 2008-06-24 09:05:24 # Node ID 57d6f584b7eae599f5b05e489d99bd368ff51288 # Parent c7ad777c0989d16b0ca6ce472e705c8c9d2d8001 (svn r13618) -Codechange: move tar-specific declarations to separate file Removes indirect dependency on and for over 40 files diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -1456,6 +1456,10 @@ > + + diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj --- a/projects/openttd_vs90.vcproj +++ b/projects/openttd_vs90.vcproj @@ -1453,6 +1453,10 @@ > + + diff --git a/source.list b/source.list --- a/source.list +++ b/source.list @@ -289,6 +289,7 @@ string_func.h string_type.h strings_func.h strings_type.h +tar_type.h terraform_gui.h textbuf_gui.h texteff.hpp diff --git a/src/fileio.cpp b/src/fileio.cpp --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -11,6 +11,7 @@ #include "core/alloc_func.hpp" #include "core/math_func.hpp" #include "string_func.h" +#include "tar_type.h" #ifdef WIN32 #include #else diff --git a/src/fileio.h b/src/fileio.h --- a/src/fileio.h +++ b/src/fileio.h @@ -5,8 +5,6 @@ #ifndef FILEIO_H #define FILEIO_H -#include -#include #include "core/enum_type.hpp" void FioSeekTo(size_t pos, int mode); @@ -63,22 +61,6 @@ DECLARE_POSTFIX_INCREMENT(Searchpath); extern const char *_searchpaths[NUM_SEARCHPATHS]; /** - * The define of a TarList. - */ -struct TarListEntry { - const char *filename; -}; -struct TarFileListEntry { - TarListEntry *tar; - size_t size; - size_t position; -}; -typedef std::map TarList; -typedef std::map TarFileList; -extern TarList _tar_list; -extern TarFileList _tar_filelist; - -/** * 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 @@ -90,10 +72,6 @@ static inline bool IsValidSearchPath(Sea /** Iterator for all the search paths */ #define FOR_ALL_SEARCHPATHS(sp) for (sp = SP_FIRST_DIR; sp < NUM_SEARCHPATHS; sp++) if (IsValidSearchPath(sp)) -#define FOR_ALL_TARS(tar) for (tar = _tar_filelist.begin(); tar != _tar_filelist.end(); tar++) - -typedef bool FioTarFileListCallback(const char *filename, int size, void *userdata); -FILE *FioTarFileList(const char *tar, const char *mode, size_t *filesize, FioTarFileListCallback *callback, void *userdata); void FioFCloseFile(FILE *f); FILE *FioFOpenFile(const char *filename, const char *mode = "rb", Subdirectory subdir = DATA_DIR, size_t *filesize = NULL); diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -15,6 +15,7 @@ #include "gamelog.h" #include "network/network_type.h" +#include "tar_type.h" #include "fileio.h" #include "fios.h" #include diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -27,6 +27,7 @@ #include "widgets/dropdown_type.h" #include "widgets/dropdown_func.h" #include "station_func.h" +#include #include "table/sprites.h" #include "table/strings.h" diff --git a/src/tar_type.h b/src/tar_type.h new file mode 100644 --- /dev/null +++ b/src/tar_type.h @@ -0,0 +1,31 @@ +/* $Id$ */ + +#ifndef TAR_TYPE_H + +/** @file tar_type.h Structs, typedefs and macros used for TAR file handling. */ + +#include +#include + +/** The define of a TarList. */ +struct TarListEntry { + const char *filename; +}; + +struct TarFileListEntry { + TarListEntry *tar; + size_t size; + size_t position; +}; + +typedef std::map TarList; +typedef std::map TarFileList; +extern TarList _tar_list; +extern TarFileList _tar_filelist; + +#define FOR_ALL_TARS(tar) for (tar = _tar_filelist.begin(); tar != _tar_filelist.end(); tar++) + +typedef bool FioTarFileListCallback(const char *filename, int size, void *userdata); +FILE *FioTarFileList(const char *tar, const char *mode, size_t *filesize, FioTarFileListCallback *callback, void *userdata); + +#endif /* TAR_TYPE_H */ diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -47,6 +47,7 @@ #include "functions.h" #include "animated_tile_func.h" #include "date_func.h" +#include #include "table/strings.h" #include "table/sprites.h"