summaryrefslogtreecommitdiff
path: root/src/settings.h
diff options
context:
space:
mode:
authorkwolekr <mirrorisim@gmail.com>2013-02-05 15:01:33 -0500
committerkwolekr <mirrorisim@gmail.com>2013-02-06 16:52:48 -0500
commit97260d09a8e658b6ded7d9100b0aa1040fcfe50f (patch)
tree4ca603bb61d133b21ffe17d44d3a33589be28766 /src/settings.h
parentf148ae58c3c0e2b6d6c22c913492193021cbc4c3 (diff)
downloadminetest-97260d09a8e658b6ded7d9100b0aa1040fcfe50f.tar.gz
minetest-97260d09a8e658b6ded7d9100b0aa1040fcfe50f.tar.bz2
minetest-97260d09a8e658b6ded7d9100b0aa1040fcfe50f.zip
Add flag string settings, flat map option
Diffstat (limited to 'src/settings.h')
-rw-r--r--src/settings.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/settings.h b/src/settings.h
index 2b46676c6..addd9980c 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -569,6 +569,12 @@ public:
return value;
}
+ u32 getFlagStr(std::string name, FlagDesc *flagdesc)
+ {
+ std::string val = get(name);
+ return (isdigit(val[0])) ? stoi(val) : readFlagString(val, flagdesc);
+ }
+
template <class T> T *getStruct(std::string name, std::string format)
{
size_t len = sizeof(T);
@@ -831,6 +837,11 @@ fail:
set(name, std::string(sbuf));
return true;
}
+
+ void setFlagStr(std::string name, u32 flags, FlagDesc *flagdesc)
+ {
+ set(name, writeFlagString(flags, flagdesc));
+ }
void setBool(std::string name, bool value)
{