Convert files to utf8.

This commit is contained in:
lzwdgc 2024-04-03 13:23:55 +03:00
parent 616d0a4429
commit a8c8665ba1
3 changed files with 13 additions and 19 deletions

View file

@ -145,11 +145,11 @@ int main(int argc, char *argv[]) {
// patch note: DB // patch note: DB
auto db = mod.db(); auto db = mod.db();
// patch note: set glider GL_S3_PS_FINDER2 model to MOD_GL_S3_PS_FINDER2 (lz) // 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 model from aim2 (lz)
// patch note: copy MOD_GL_S3_PS_FINDER2 textures data 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) // 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"; tblcfg["CFG_NARGOON"]["HEAVYGUN1"] = "GUN_ELECTRO_DISCHARGER";
// patch note: double gun for config CFG_NARGOON1 (double two-barreled atomic gun) (lz) // patch note: double gun for config CFG_NARGOON1 (double two-barreled atomic gun) (lz)
tblcfg["CFG_NARGOON1"]["HEAVYGUN1"] = "GUN_DOUBLE_BARRELED_ATOMIC_GUN"; 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"); auto quest = mod.quest("ru_RU");
// patch note: add name for SINIGR armor, it was unnamed before (lz) // 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"); 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 // 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): // 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) // patch note dev: enabled developer mode (free camera - F3 key, time shift - N key) (lz, Solant)
mod.enable_free_camera(); mod.enable_free_camera();
// patch note dev: make initial reactor (EQP_GLUON_REACTOR_S1) and drive (EQP_ION_DRIVE_S1) more powerful // 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["Оборудование"]["EQP_GLUON_REACTOR_S1"]["VALUE1"] = 9'000'000.f;
db[u8"Îáîðóäîâàíèå"]["EQP_ION_DRIVE_S1"]["VALUE1"] = 4158000.f; db["Оборудование"]["EQP_ION_DRIVE_S1"]["VALUE1"] = 4158000.f;
// patch note dev: make EQP_VACUUM_DRIVE_S4 more powerful // 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 // end of db changes in dev mode
auto m2_gliders = mod.open_aim2_db()[u8"Ãëàéäåðû"]; auto m2_gliders = mod.open_aim2_db()["Глайдеры"];
for (auto &&[n,_] : db[u8"Ãëàéäåðû"]) { for (auto &&[n,_] : db["Глайдеры"]) {
m2_gliders.erase(n); m2_gliders.erase(n);
} }
m2_gliders.erase("GL_BOT"); m2_gliders.erase("GL_BOT");

View file

@ -91,9 +91,6 @@ struct mod_maker {
auto &operator[](this auto &&d, const std::string &s) { auto &operator[](this auto &&d, const std::string &s) {
return d.m[s]; return d.m[s];
} }
auto &operator[](this auto &&d, const std::u8string &s) {
return d.m[(const char *)s.c_str()];
}
auto &m2() { auto &m2() {
return *m2_; return *m2_;
} }
@ -399,11 +396,11 @@ struct mod_maker {
fs::copy_file(p, copied_fn, fs::copy_options::overwrite_existing); fs::copy_file(p, copied_fn, fs::copy_options::overwrite_existing);
run_p4_tool("mod_converter2", copied_fn); run_p4_tool("mod_converter2", copied_fn);
add_resource(object); 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 textures = read_lines(path{copied_fn} += ".textures.txt");
auto &m2 = open_aim2_db(); auto &m2 = open_aim2_db();
for (auto &&t : textures) { for (auto &&t : textures) {
path fn = std::get<std::string>(m2[u8"Òåêñòóðû"][t]["FILENAME"]); path fn = std::get<std::string>(m2["Текстуры"][t]["FILENAME"]);
if (fn.empty()) { if (fn.empty()) {
throw std::runtime_error{"Can't find texture: "s + t}; 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(); auto copied_fn = get_data_dir() / path{object}.filename().string();
fs::copy_file(p, copied_fn, fs::copy_options::overwrite_existing); fs::copy_file(p, copied_fn, fs::copy_options::overwrite_existing);
add_resource(path{object}.filename()); add_resource(path{object}.filename());
db().copy_from_aim2(u8"Òåêñòóðû", path{object}.stem().string()); db().copy_from_aim2("Текстуры", path{object}.stem().string());
break; break;
} }
default: default:
@ -441,7 +438,7 @@ struct mod_maker {
log("copying glider from aim2: {}", object); log("copying glider from aim2: {}", object);
copy_from_aim2("MOD_"s + 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? // may be absent - try..catch?
quest("ru_RU").copy_from_aim2("INFORMATION", path{object}.stem().string()); quest("ru_RU").copy_from_aim2("INFORMATION", path{object}.stem().string());
} }

View file

@ -187,9 +187,6 @@ struct db2 {
auto &operator[](this auto &&d, const std::string &s) { auto &operator[](this auto &&d, const std::string &s) {
return d.m[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 { auto to_json() const {
nlohmann::json ja; nlohmann::json ja;
for (auto &&[tn,t] : m) { for (auto &&[tn,t] : m) {