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
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");

View file

@ -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<std::string>(m2[u8"Òåêñòóðû"][t]["FILENAME"]);
path fn = std::get<std::string>(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());
}

View file

@ -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) {