[mod] Simplify.

This commit is contained in:
lzwdgc 2024-04-22 15:25:58 +03:00
parent 5dc41c1d24
commit 51b2076d1e

View file

@ -122,17 +122,11 @@ struct mod_maker {
m[table_name][value_name] = other_db.at(table_name).at(value_name); m[table_name][value_name] = other_db.at(table_name).at(value_name);
return m[table_name][value_name]; return m[table_name][value_name];
} }
void copy_from_aim2(auto &&table_name, auto &&value_name, auto &&field_name) { void copy_from_aim2(auto && ... args) {
if (!mm.aim2_available()) { if (!mm.aim2_available()) {
return; return;
} }
copy_from_aim2(m2, table_name, value_name, field_name); copy_from_aim2(m2, args...);
}
void copy_from_aim2(auto &&table_name, auto &&value_name) {
if (!mm.aim2_available()) {
return;
}
copy_from_aim2(m2, table_name, value_name);
} }
bool empty() const { return m.empty(); } bool empty() const { return m.empty(); }
}; };
@ -155,29 +149,20 @@ struct mod_maker {
} }
return d.m.find(s)->second; return d.m.find(s)->second;
} }
void copy_from_aim2(auto &&table_name, auto &&value_name, auto &&field_name) { void copy_from_aim2(auto && ... args) {
if (!mm.aim2_available()) { if (!mm.aim2_available()) {
return; return;
} }
for (auto &&[_, v] : m) { for (auto &&[_, v] : m) {
try {
if (!v.m2.empty()) { if (!v.m2.empty()) {
v.copy_from_aim2(table_name, value_name, field_name); v.copy_from_aim2(args...);
} else { } else {
// fallback // fallback
v.copy_from_aim2(this->operator[]("en_US").m2, table_name, value_name, field_name); v.copy_from_aim2(this->operator[]("en_US").m2, args...);
}
} }
} } catch (std::exception &e) {
void copy_from_aim2(auto &&table_name, auto &&value_name) { // can be missing
if (!mm.aim2_available()) {
return;
}
for (auto &&[_, v] : m) {
if (!v.m2.empty()) {
v.copy_from_aim2(table_name, value_name);
} else {
// fallback
v.copy_from_aim2(this->operator[]("en_US").m2, table_name, value_name);
} }
} }
} }