void load_json_dir(std::string const &dirname) { // get a list of all files in the directory std::vector<std::string> dir = file_finder::get_files_from_path(".json", dirname, true, true); // iterate over each file std::vector<std::string>::iterator it; for (it = dir.begin(); it != dir.end(); it++) { // open the file as a stream std::ifstream infile(it->c_str(), std::ifstream::in | std::ifstream::binary); // and stuff it into ram std::istringstream iss( std::string( (std::istreambuf_iterator<char>(infile)), std::istreambuf_iterator<char>() ) ); infile.close(); // parse it try { JsonIn jsin(iss); load_all_from_json(jsin); } catch (std::string e) { throw *(it) + ": " + e; } } init_data_mappings(); }
void DynamicDataLoader::finalize_loaded_data() { g->init_missions(); // Needs overmap terrain. init_data_mappings(); finalize_overmap_terrain(); calculate_mapgen_weights(); MonsterGenerator::generator().finalize_mtypes(); MonsterGroupManager::FinalizeMonsterGroups(); g->finalize_vehicles(); item_controller->finialize_item_blacklist(); finalize_recipes(); check_consistency(); }