/* ParameterFile.h Written by Matthew Fisher the Parameter class loads a paramater file as a simple set of "Parameter=Option" lines. */ struct ParameterEntry { ParameterEntry() { } ParameterEntry(const String &_Name, const String &_Value) { Name = _Name; Value = _Value; if(Name.Last() == ' ') { Name.PopEnd(); } } String Name; String Value; }; class ParameterFile { public: ParameterFile(const String &Filename); String GetRequiredString(const String &ParameterName); String GetOptionalString(const String &ParameterName); int GetInteger(const String &ParameterName); bool GetBoolean(const String &ParameterName); UINT GetUnsignedInteger(const String &ParameterName); double GetDouble(const String &ParameterName); float GetFloat(const String &ParameterName); Vec3f GetVec3(const String &ParameterName); String GetString(const String &ParameterName, const String &Default); int GetInteger(const String &ParameterName, int Default); bool GetBoolean(const String &ParameterName, bool Default); UINT GetUnsignedInteger(const String &ParameterName, UINT Default); double GetDouble(const String &ParameterName, double Default); float GetFloat(const String &ParameterName, float Default); Vec3f GetVec3(const String &ParameterName, const Vec3f &Default); private: void AddFile(const String &Filename); Vector Parameters; };