diff --git a/examples/mods/aim1_community_fix/my_mod.cpp b/examples/mods/aim1_community_fix/my_mod.cpp index 8b6860c..e46681f 100644 --- a/examples/mods/aim1_community_fix/my_mod.cpp +++ b/examples/mods/aim1_community_fix/my_mod.cpp @@ -145,11 +145,11 @@ int main(int argc, char *argv[]) { // patch note: DB auto db = mod.db(); // patch note: set glider GL_S3_PS_FINDER2 model to MOD_GL_S3_PS_FINDER2 (lz) - db[u8""]["GL_S3_PS_FINDER2"]["MODEL"] = "MOD_GL_S3_PS_FINDER2"; + db["Глайдеры"]["GL_S3_PS_FINDER2"]["MODEL"] = "MOD_GL_S3_PS_FINDER2"; // patch note: copy MOD_GL_S3_PS_FINDER2 model from aim2 (lz) // patch note: copy MOD_GL_S3_PS_FINDER2 textures data from aim2 (lz) // patch note: double gun for config CFG_NARGOON (double electro discharge) (lz) - auto &tblcfg = db[u8""]; + auto &tblcfg = db["Конфигурации"]; tblcfg["CFG_NARGOON"]["HEAVYGUN1"] = "GUN_ELECTRO_DISCHARGER"; // patch note: double gun for config CFG_NARGOON1 (double two-barreled atomic gun) (lz) tblcfg["CFG_NARGOON1"]["HEAVYGUN1"] = "GUN_DOUBLE_BARRELED_ATOMIC_GUN"; @@ -177,11 +177,11 @@ int main(int argc, char *argv[]) { { auto quest = mod.quest("ru_RU"); // patch note: add name for SINIGR armor, it was unnamed before (lz) - quest["INFORMATION"]["EQP_ZERO_ARMOR_S_SIN"]["NAME"] = (const char *)u8" -"; + quest["INFORMATION"]["EQP_ZERO_ARMOR_S_SIN"]["NAME"] = "Особая нуль-броня"; } { auto quest = mod.quest("en_US"); - quest["INFORMATION"]["EQP_ZERO_ARMOR_S_SIN"]["NAME"] = (const char *)u8"Special zero armor"; + quest["INFORMATION"]["EQP_ZERO_ARMOR_S_SIN"]["NAME"] = "Special zero armor"; } // more known langs: cs_CZ, de_DE, et_EE, fr_FR // you can find vanilla dbs here (not sure if it is 1.00 or 1.03, probably 1.00): @@ -212,13 +212,13 @@ int main(int argc, char *argv[]) { // patch note dev: enabled developer mode (free camera - F3 key, time shift - N key) (lz, Solant) mod.enable_free_camera(); // patch note dev: make initial reactor (EQP_GLUON_REACTOR_S1) and drive (EQP_ION_DRIVE_S1) more powerful - db[u8""]["EQP_GLUON_REACTOR_S1"]["VALUE1"] = 9'000'000.f; - db[u8""]["EQP_ION_DRIVE_S1"]["VALUE1"] = 4158000.f; + db["Оборудование"]["EQP_GLUON_REACTOR_S1"]["VALUE1"] = 9'000'000.f; + db["Оборудование"]["EQP_ION_DRIVE_S1"]["VALUE1"] = 4158000.f; // patch note dev: make EQP_VACUUM_DRIVE_S4 more powerful - db[u8""]["EQP_VACUUM_DRIVE_S4"]["VALUE1"] = 4158000.f; + db["Оборудование"]["EQP_VACUUM_DRIVE_S4"]["VALUE1"] = 4158000.f; // end of db changes in dev mode - auto m2_gliders = mod.open_aim2_db()[u8""]; - for (auto &&[n,_] : db[u8""]) { + auto m2_gliders = mod.open_aim2_db()["Глайдеры"]; + for (auto &&[n,_] : db["Глайдеры"]) { m2_gliders.erase(n); } m2_gliders.erase("GL_BOT"); diff --git a/src/aim1_mod_maker/aim1_mod_maker.h b/src/aim1_mod_maker/aim1_mod_maker.h index bc250ad..4b24d22 100644 --- a/src/aim1_mod_maker/aim1_mod_maker.h +++ b/src/aim1_mod_maker/aim1_mod_maker.h @@ -91,9 +91,6 @@ struct mod_maker { auto &operator[](this auto &&d, const std::string &s) { return d.m[s]; } - auto &operator[](this auto &&d, const std::u8string &s) { - return d.m[(const char *)s.c_str()]; - } auto &m2() { return *m2_; } @@ -399,11 +396,11 @@ struct mod_maker { fs::copy_file(p, copied_fn, fs::copy_options::overwrite_existing); run_p4_tool("mod_converter2", copied_fn); add_resource(object); - db().copy_from_aim2(u8"", path{object}.stem().string()); + db().copy_from_aim2("Модели", path{object}.stem().string()); auto textures = read_lines(path{copied_fn} += ".textures.txt"); auto &m2 = open_aim2_db(); for (auto &&t : textures) { - path fn = std::get(m2[u8""][t]["FILENAME"]); + path fn = std::get(m2["Текстуры"][t]["FILENAME"]); if (fn.empty()) { throw std::runtime_error{"Can't find texture: "s + t}; } @@ -430,7 +427,7 @@ struct mod_maker { auto copied_fn = get_data_dir() / path{object}.filename().string(); fs::copy_file(p, copied_fn, fs::copy_options::overwrite_existing); add_resource(path{object}.filename()); - db().copy_from_aim2(u8"", path{object}.stem().string()); + db().copy_from_aim2("Текстуры", path{object}.stem().string()); break; } default: @@ -441,7 +438,7 @@ struct mod_maker { log("copying glider from aim2: {}", object); copy_from_aim2("MOD_"s + object); - db().copy_from_aim2(u8"", path{object}.stem().string()); + db().copy_from_aim2("Глайдеры", path{object}.stem().string()); // may be absent - try..catch? quest("ru_RU").copy_from_aim2("INFORMATION", path{object}.stem().string()); } diff --git a/src/common/db2.h b/src/common/db2.h index 6f39ae4..ed5a6a7 100644 --- a/src/common/db2.h +++ b/src/common/db2.h @@ -187,9 +187,6 @@ struct db2 { auto &operator[](this auto &&d, const std::string &s) { return d.m[s]; } - auto &operator[](this auto &&d, const std::u8string &s) { - return d.m[(const char *)s.c_str()]; - } auto to_json() const { nlohmann::json ja; for (auto &&[tn,t] : m) {