00001 00006 /* 00007 This file is part of Advanced Strategic Command; http://www.asc-hq.de 00008 Copyright (C) 1994-1999 Martin Bickel and Marc Schellenberger 00009 00010 This program is free software; you can redistribute it and/or modify 00011 it under the terms of the GNU General Public License as published by 00012 the Free Software Foundation; either version 2 of the License, or 00013 (at your option) any later version. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 You should have received a copy of the GNU General Public License 00021 along with this program; see the file COPYING. If not, write to the 00022 Free Software Foundation, Inc., 59 Temple Place, Suite 330, 00023 Boston, MA 02111-1307 USA 00024 */ 00025 00026 00027 #ifndef sgstreamH 00028 #define sgstreamH 00029 00030 #include <vector> 00031 00032 #include "basestrm.h" 00033 // #include "graphics/surface.h" 00034 00035 #include "libs/loki/Singleton.h" 00036 00037 00038 00039 class ConfigurationFileLocatorCore { 00040 ASCString cmdline; 00041 ASCString exePath; 00042 int configFileType; 00043 protected: 00044 vector<ASCString> getDefaultDirectory(); 00045 00046 00047 public: 00048 ConfigurationFileLocatorCore(); 00049 void setCommandLineParam( const ASCString& path ); 00050 void setExecutableLocation( const ASCString& path ); 00051 ASCString getExecutableLocation(); 00052 ASCString getSpecialPath( int type ); 00053 00054 ASCString getConfigFileName(); 00055 ASCString getConfigForPrinting(); 00056 void writeDefaultPathsToOptions(); 00057 }; 00058 00059 00060 typedef Loki::SingletonHolder< ConfigurationFileLocatorCore > ConfigurationFileLocator; 00061 00062 00063 extern void generatedirecpict ( void* orgpict, void* direcpict ); 00064 00065 00066 00067 extern void loadpalette ( ); 00068 extern int readgameoptions ( const ASCString& filename= "" ); 00069 extern bool writegameoptions ( ASCString filename = "" ); 00070 extern ASCString getConfigFileName (); 00071 00072 extern void checkFileLoadability ( const ASCString& filename ); 00073 00074 extern void initFileIO ( const ASCString& configFileName, int skipChecks = 0 ); 00075 00076 00077 extern int dataVersion; 00078 extern void checkDataVersion( ); 00079 00080 #endif
1.4.2