diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2025-02-11 08:46:17 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2025-02-11 08:46:17 +1100 |
commit | eedd20da00e873ae188634f5e9af4a2e9efe8607 (patch) | |
tree | bd549419ea4f3df0474fbb175f88e64d3999b37e /source/game | |
parent | 345865931c3c36b4c467e5366ef36611f996acb1 (diff) |
fix duplicate / in root.itemFile, fix codex itemFile
Diffstat (limited to 'source/game')
-rw-r--r-- | source/game/StarCodex.cpp | 10 | ||||
-rw-r--r-- | source/game/StarCodex.hpp | 4 | ||||
-rw-r--r-- | source/game/StarCodexDatabase.cpp | 2 | ||||
-rw-r--r-- | source/game/StarItemDatabase.cpp | 4 |
4 files changed, 14 insertions, 6 deletions
diff --git a/source/game/StarCodex.cpp b/source/game/StarCodex.cpp index c184724..3f0e481 100644 --- a/source/game/StarCodex.cpp +++ b/source/game/StarCodex.cpp @@ -1,10 +1,12 @@ #include "StarCodex.hpp" #include "StarJsonExtra.hpp" +#include "StarAssetPath.hpp" namespace Star { -Codex::Codex(Json const& config, String const& directory) { - m_directory = directory; +Codex::Codex(Json const& config, String const& path) { + m_directory = AssetPath::directory(path); + m_filename = AssetPath::filename(path); m_id = config.getString("id"); m_species = config.getString("species", "other"); m_title = config.getString("title"); @@ -68,4 +70,8 @@ String Codex::directory() const { return m_directory; } +String Codex::filename() const { + return m_filename; +} + } diff --git a/source/game/StarCodex.hpp b/source/game/StarCodex.hpp index aaea53b..57d4404 100644 --- a/source/game/StarCodex.hpp +++ b/source/game/StarCodex.hpp @@ -8,7 +8,7 @@ STAR_CLASS(Codex); class Codex { public: - Codex(Json const& config, String const& directory); + Codex(Json const& config, String const& path); Json toJson() const; String id() const; @@ -21,6 +21,7 @@ public: size_t pageCount() const; Json itemConfig() const; String directory() const; + String filename() const; private: String m_id; @@ -31,6 +32,7 @@ private: List<String> m_pages; Json m_itemConfig; String m_directory; + String m_filename; }; } diff --git a/source/game/StarCodexDatabase.cpp b/source/game/StarCodexDatabase.cpp index 5b91dcf..3995daf 100644 --- a/source/game/StarCodexDatabase.cpp +++ b/source/game/StarCodexDatabase.cpp @@ -16,7 +16,7 @@ CodexDatabase::CodexDatabase() { codexJson = codexJson.set("icon", AssetPath::relativeTo(AssetPath::directory(file), codexJson.getString("icon", codexConfig.getString("defaultIcon")))); - auto codex = make_shared<Codex>(codexJson, AssetPath::directory(file)); + auto codex = make_shared<Codex>(codexJson, file); if (m_codexes.contains(codex->id())) throw CodexDatabaseException::format("Duplicate codex named '{}', config file '{}'", codex->id(), file); diff --git a/source/game/StarItemDatabase.cpp b/source/game/StarItemDatabase.cpp index b228eed..827fa51 100644 --- a/source/game/StarItemDatabase.cpp +++ b/source/game/StarItemDatabase.cpp @@ -218,7 +218,7 @@ Maybe<String> ItemDatabase::itemFile(String const& itemName) const { return {}; } auto const& data = itemData(itemName); - return data.directory + "/" + data.filename; + return data.directory + data.filename; } ItemPtr ItemDatabase::itemShared(ItemDescriptor descriptor, Maybe<float> level, Maybe<uint64_t> seed) const { @@ -751,7 +751,7 @@ void ItemDatabase::addCodexes() { codexItemData.name = codexItemName; codexItemData.friendlyName = codexPair.second->title(); codexItemData.directory = codexPair.second->directory(); - + codexItemData.filename = codexPair.second->filename(); auto customConfig = jsonMerge(codexConfig.get("defaultItemConfig"), codexPair.second->itemConfig()).toObject(); customConfig["itemName"] = codexItemName; customConfig["codexId"] = codexPair.second->id(); |