void save_auto_pickup(bool bCharacter) { std::ofstream fout; std::string sFile = "data/auto_pickup.txt"; if (bCharacter) { sFile = "save/" + base64_encode(g->u.name) + ".apu.txt"; std::ifstream fin; fin.open(("save/" + base64_encode(g->u.name) + ".sav").c_str()); if(!fin.is_open()) { return; } fin.close(); } fout.open(sFile.c_str()); if(!fout.is_open()) { return; } fout << auto_pickup_header(bCharacter) << std::endl; for(int i = 0; i < vAutoPickupRules[(bCharacter) ? 2 : 1].size(); i++) { fout << vAutoPickupRules[(bCharacter) ? 2 : 1][i].sRule << ";"; fout << (vAutoPickupRules[(bCharacter) ? 2 : 1][i].bActive ? "T" : "F") << ";"; fout << (vAutoPickupRules[(bCharacter) ? 2 : 1][i].bExclude ? "T" : "F"); fout << "\n"; } if (!bCharacter) { merge_vector(); createPickupRules(); } }
void create_default_auto_pickup(bool bCharacter) { std::ofstream fout; std::string sFile = "data/auto_pickup.txt"; if (bCharacter) { sFile = "save/" + base64_encode(g->u.name) + ".apu.txt"; } fout.open(sFile.c_str()); if(!fout.is_open()) { return; } fout << auto_pickup_header(bCharacter); fout.close(); }
void create_default_auto_pickup(bool bCharacter) { std::ofstream fout; std::string sFile = FILENAMES["autopickup"]; if (bCharacter) { sFile = world_generator->active_world->world_path + "/" + base64_encode(g->u.name) + ".apu.txt"; } fout.open(sFile.c_str()); if(!fout.is_open()) { return; } fout << auto_pickup_header(bCharacter); fout.close(); }
bool save_auto_pickup(bool bCharacter) { std::ofstream fout; std::string sFile = FILENAMES["autopickup"]; if (bCharacter) { sFile = world_generator->active_world->world_path + "/" + base64_encode(g->u.name) + ".apu.txt"; std::ifstream fin; fin.open((world_generator->active_world->world_path + "/" + base64_encode(g->u.name) + ".sav").c_str()); if(!fin.is_open()) { return true; } fin.close(); } fout.exceptions(std::ios::badbit | std::ios::failbit); try { assure_dir_exist(FILENAMES["config_dir"]); fout.open(sFile.c_str()); fout << auto_pickup_header(bCharacter) << std::endl; for (std::vector<cPickupRules>::iterator it = vAutoPickupRules[(bCharacter) ? APU_CHARACTER : APU_GLOBAL].begin(); it != vAutoPickupRules[(bCharacter) ? APU_CHARACTER : APU_GLOBAL].end(); ++it) { fout << it->sRule << ";"; fout << (it->bActive ? "T" : "F") << ";"; fout << (it->bExclude ? "T" : "F"); fout << "\n"; } if (!bCharacter) { merge_vector(); createPickupRules(); } fout.close(); return true; } catch(std::ios::failure &) { popup(_("Failed to write autopickup rules to %s"), sFile.c_str()); return false; } }
bool save_auto_pickup(bool bCharacter) { std::ofstream fout; std::string sFile = "data/auto_pickup.txt"; if (bCharacter) { sFile = world_generator->active_world->world_path + "/" + base64_encode(g->u.name) + ".apu.txt"; std::ifstream fin; fin.open((world_generator->active_world->world_path + "/" + base64_encode(g->u.name) + ".sav").c_str()); if(!fin.is_open()) { return true; } fin.close(); } fout.exceptions(std::ios::badbit | std::ios::failbit); try { fout.open(sFile.c_str()); fout << auto_pickup_header(bCharacter) << std::endl; for (unsigned i = 0; i < vAutoPickupRules[(bCharacter) ? 2 : 1].size(); i++) { fout << vAutoPickupRules[(bCharacter) ? 2 : 1][i].sRule << ";"; fout << (vAutoPickupRules[(bCharacter) ? 2 : 1][i].bActive ? "T" : "F") << ";"; fout << (vAutoPickupRules[(bCharacter) ? 2 : 1][i].bExclude ? "T" : "F"); fout << "\n"; } if (!bCharacter) { merge_vector(); createPickupRules(); } fout.close(); return true; } catch(std::ios::failure &) { popup(_("Failed to write autopickup rules to %s"), sFile.c_str()); return false; } }