Example #1
0
void Global::loadScenes()
{
	string sz_scenes = global.readFile("./config/scenes.cfg");
	JSONValue *j_val = JSON::parse(sz_scenes.c_str());
	ASSERT_WITH_CODE(j_val != NULL, "Config file corrupted!...", return);
	JSONObject j_scenes_obj = j_val->asObject();

	_scenes.clear();
	for(JSONObject::iterator it_scene = j_scenes_obj.begin(); it_scene != j_scenes_obj.end(); ++it_scene)
	{
		map<string, map<string, Value> > sources;
		JSONObject j_sources_obj = it_scene->second->asObject();
		for(JSONObject::iterator it_sources = j_sources_obj.begin(); it_sources != j_sources_obj.end(); ++it_sources)
		{
			map<string, Value> source_settings;
			JSONObject j_source_settings_obj = it_sources->second->asObject();
			for(JSONObject::iterator it_source_settings = j_source_settings_obj.begin(); it_source_settings != j_source_settings_obj.end(); ++it_source_settings)
			{
				Value vec(it_source_settings->second->asNumber());
				source_settings[it_source_settings->first] = vec;
			}
			sources[it_sources->first] = source_settings;
		}
		_scenes[it_scene->first] = sources;
	}
	delete j_val;
}