aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/dataloader/Dataloader.hpp
diff options
context:
space:
mode:
author Hop311 <hop3114@gmail.com>2023-09-14 10:34:54 +0200
committer Hop311 <hop3114@gmail.com>2023-09-14 10:34:54 +0200
commit5f3e1f3b1b021cbee243236ad8947f203d0416be (patch)
tree07ea9839190239544fe055812bf3fccce4c245a2 /src/openvic-simulation/dataloader/Dataloader.hpp
parent6278a35f4704574933464700026d8deb997da5c1 (diff)
Region + localisation loading
Diffstat (limited to 'src/openvic-simulation/dataloader/Dataloader.hpp')
-rw-r--r--src/openvic-simulation/dataloader/Dataloader.hpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/openvic-simulation/dataloader/Dataloader.hpp b/src/openvic-simulation/dataloader/Dataloader.hpp
index efada89..d93ca39 100644
--- a/src/openvic-simulation/dataloader/Dataloader.hpp
+++ b/src/openvic-simulation/dataloader/Dataloader.hpp
@@ -27,13 +27,27 @@ namespace OpenVic {
/* In reverse-load order, so base defines first and final loaded mod last */
bool set_roots(path_vector_t new_roots);
+ /* REQUIREMENTS:
+ * DAT-24
+ */
fs::path lookup_file(fs::path const& path) const;
- static const fs::path TXT;
+ static const fs::path TXT, CSV;
path_vector_t lookup_files_in_dir(fs::path const& path, fs::path const* extension = &TXT) const;
bool apply_to_files_in_dir(fs::path const& path, std::function<bool(fs::path const&)> callback,
fs::path const* extension = &TXT) const;
bool load_defines(GameManager& game_manager) const;
bool load_pop_history(GameManager& game_manager, fs::path const& path) const;
+
+ enum locale_t : size_t {
+ English, French, German, Polish, Spanish, Italian, Swedish, Czech, Hungarian, Dutch, Portugese, Russian, Finnish, _LocaleCount
+ };
+ static constexpr char const* locale_names[_LocaleCount] = {
+ "en_GB", "fr_FR", "de_DE", "pl_PL", "es_ES", "it_IT", "sv_SE", "cs_CZ", "hu_HU", "nl_NL", "pt_PT", "ru_RU", "fi_FI"
+ };
+
+ /* Args: key, locale, localisation */
+ using localisation_callback_t = std::function<bool(std::string_view, locale_t, std::string_view)>;
+ bool load_localisation_files(localisation_callback_t callback, fs::path const& localisation_dir = "localisation");
};
}