summaryrefslogtreecommitdiffstats
path: root/src/common/profile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/profile.cpp')
-rw-r--r--src/common/profile.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/common/profile.cpp b/src/common/profile.cpp
index 467e991..29a68e1 100644
--- a/src/common/profile.cpp
+++ b/src/common/profile.cpp
@@ -27,6 +27,7 @@ CProfile::CProfile()
{
m_ini = new CSimpleIniA();
m_ini->SetUnicode();
+ m_ini->SetMultiKey();
}
@@ -39,8 +40,8 @@ CProfile::~CProfile()
bool CProfile::InitCurrentDirectory()
{
- m_ini->LoadFile("colobot.ini");
- return true;
+ bool result = m_ini->LoadFile("colobot.ini") == SI_OK;
+ return result;
}
@@ -86,3 +87,19 @@ bool CProfile::GetLocalProfileFloat(std::string section, std::string key, float
value = m_ini->GetDoubleValue(section.c_str(), key.c_str(), 0.0d);
return true;
}
+
+
+std::vector< std::string > CProfile::GetLocalProfileSection(std::string section, std::string key)
+{
+ std::vector< std::string > ret_list;
+
+ CSimpleIniA::TNamesDepend values;
+ m_ini->GetAllValues(section.c_str(), key.c_str(), values);
+ values.sort(CSimpleIniA::Entry::LoadOrder());
+
+ for (auto item : values) {
+ ret_list.push_back(item.pItem);
+ }
+
+ return ret_list;
+}