From fee2adb299270756d44e2a4f55a3b45b0935c4c7 Mon Sep 17 00:00:00 2001 From: smatz Date: Tue, 24 Jun 2008 09:05:24 +0000 Subject: [PATCH] (svn r13618) -Codechange: move tar-specific declarations to separate file Removes indirect dependency on and for over 40 files --- projects/openttd_vs80.vcproj | 4 ++++ projects/openttd_vs90.vcproj | 4 ++++ source.list | 1 + src/fileio.cpp | 1 + src/fileio.h | 22 ---------------------- src/newgrf_config.cpp | 1 + src/settings_gui.cpp | 1 + src/tar_type.h | 31 +++++++++++++++++++++++++++++++ src/town_cmd.cpp | 1 + 9 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 src/tar_type.h diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj index c8864211a3..2d4f9c02e1 100644 --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -1455,6 +1455,10 @@ RelativePath=".\..\src\strings_type.h" > + + diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj index 47407825e1..4b33a7f358 100644 --- a/projects/openttd_vs90.vcproj +++ b/projects/openttd_vs90.vcproj @@ -1452,6 +1452,10 @@ RelativePath=".\..\src\strings_type.h" > + + diff --git a/source.list b/source.list index 9054647b55..8624afe241 100644 --- 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 index f68f6693e7..56528469a3 100644 --- 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 index c361f849ae..6d4aed2b40 100644 --- 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); @@ -62,22 +60,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 @@ -90,10 +72,6 @@ static inline 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)) -#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 index 0a09c82f4f..312472bd13 100644 --- 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 index f22ca3609b..5ffa1f4367 100644 --- 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 index 0000000000..d032a08098 --- /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 index f0747c0fd6..2b79adfc89 100644 --- 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"