+ // Format: f32,f32,(f32,f32,f32),s32,s32,f32[,f32]
+ Strfnd f(value);
+
+ np.offset = stof(f.next(","));
+ np.scale = stof(f.next(","));
+ f.next("(");
+ np.spread.X = stof(f.next(","));
+ np.spread.Y = stof(f.next(","));
+ np.spread.Z = stof(f.next(")"));
+ f.next(",");
+ np.seed = stoi(f.next(","));
+ np.octaves = stoi(f.next(","));
+ np.persist = stof(f.next(","));
+
+ std::string optional_params = f.next("");
+ if (!optional_params.empty())
+ np.lacunarity = stof(optional_params);
+
+ return true;
+}
+
+
+bool Settings::getNoiseParamsFromGroup(const std::string &name,
+ NoiseParams &np) const
+{
+ Settings *group = NULL;
+
+ if (!getGroupNoEx(name, group))