configfile.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:2k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // configfile.h
  2. //
  3. // Copyright (C) 2001, Chris Laurel <claurel@shatters.net>
  4. //
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the GNU General Public License
  7. // as published by the Free Software Foundation; either version 2
  8. // of the License, or (at your option) any later version.
  9. #ifndef _CONFIGFILE_H_
  10. #define _CONFIGFILE_H_
  11. #include <string>
  12. #include <vector>
  13. #include <celengine/parser.h>
  14. #include <celengine/star.h>
  15. class CelestiaConfig
  16. {
  17. public:
  18.     std::string starDatabaseFile;
  19.     std::string starNamesFile;
  20.     std::vector<std::string> solarSystemFiles;
  21.     std::vector<std::string> starCatalogFiles;
  22. std::vector<std::string> dsoCatalogFiles;
  23.     std::vector<std::string> extrasDirs;
  24.     std::string deepSkyCatalog;
  25.     std::string asterismsFile;
  26.     std::string boundariesFile;
  27.     float faintestVisible;
  28.     std::string favoritesFile;
  29.     std::string initScriptFile;
  30.     std::string demoScriptFile;
  31.     std::string destinationsFile;
  32.     std::string mainFont;
  33.     std::string labelFont;
  34.     std::string titleFont;
  35.     std::string logoTextureFile;
  36.     std::string cursor;
  37.     std::vector<std::string> ignoreGLExtensions;
  38.     float rotateAcceleration;
  39.     float mouseRotationSensitivity;
  40.     bool  reverseMouseWheel;
  41.     std::string scriptScreenshotDirectory;
  42.     std::string scriptSystemAccessPolicy;
  43. #ifdef CELX
  44.     std::string luaHook;
  45.     Hash* configParams;
  46. #endif
  47.     std::string HDCrossIndexFile;
  48.     std::string SAOCrossIndexFile;
  49.     std::string GlieseCrossIndexFile;
  50.     
  51.     StarDetails::StarTextureSet starTextures;
  52.     // Renderer detail options
  53.     unsigned int shadowTextureSize;
  54.     unsigned int eclipseTextureSize;
  55.     unsigned int ringSystemSections;
  56.     unsigned int orbitPathSamplePoints;
  57.     unsigned int aaSamples;
  58.     bool hdr;
  59.     unsigned int consoleLogRows;
  60.     
  61.     Hash* params;
  62.     
  63.     float getFloatValue(const std::string& name);
  64.     const std::string getStringValue(const std::string& name);
  65. };
  66. CelestiaConfig* ReadCelestiaConfig(std::string filename, CelestiaConfig* config = NULL);
  67. #endif // _CONFIGFILE_H_