2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-25 09:23:03 +00:00

chore: restructure ModMan into list and details

This commit is contained in:
Jan Laupetin
2025-10-21 20:00:39 +01:00
parent 3995596e6c
commit 2bfa4112fb
12 changed files with 252 additions and 126 deletions

View File

@@ -98,6 +98,11 @@ bool XAssetInfoGeneric::IsReference() const
return !m_name.empty() && m_name[0] == ',';
}
std::string XAssetInfoGeneric::ReferencedAssetName() const
{
return m_name.substr(1);
}
std::string XAssetInfoGeneric::NormalizeAssetName(std::string input)
{
utils::MakeStringLowerCase(input);

View File

@@ -55,6 +55,7 @@ public:
XAssetInfoGeneric& operator=(XAssetInfoGeneric&& other) noexcept = default;
[[nodiscard]] bool IsReference() const;
[[nodiscard]] std::string ReferencedAssetName() const;
static std::string NormalizeAssetName(std::string input);

View File

@@ -1,5 +1,5 @@
#pragma once
#include "Utils/ClassUtils.h"
#include "XAssetInfo.h"
#include "Zone/Zone.h"
#include "Zone/ZoneTypes.h"
@@ -33,16 +33,16 @@ public:
std::vector<XAssetInfoGeneric*> dependencies,
std::vector<scr_string_t> usedScriptStrings,
std::vector<IndirectAssetReference> indirectAssetReferences);
_NODISCARD virtual XAssetInfoGeneric* GetAsset(asset_type_t type, const std::string& name) const = 0;
_NODISCARD virtual XAssetInfoGeneric* GetAssetOrAssetReference(asset_type_t type, const std::string& name) const;
[[nodiscard]] virtual XAssetInfoGeneric* GetAsset(asset_type_t type, const std::string& name) const = 0;
[[nodiscard]] virtual XAssetInfoGeneric* GetAssetOrAssetReference(asset_type_t type, const std::string& name) const;
_NODISCARD virtual asset_type_t GetAssetTypeCount() const = 0;
_NODISCARD virtual std::optional<const char*> GetAssetTypeName(asset_type_t assetType) const = 0;
[[nodiscard]] virtual asset_type_t GetAssetTypeCount() const = 0;
[[nodiscard]] virtual std::optional<const char*> GetAssetTypeName(asset_type_t assetType) const = 0;
_NODISCARD size_t GetTotalAssetCount() const;
[[nodiscard]] size_t GetTotalAssetCount() const;
_NODISCARD iterator begin() const;
_NODISCARD iterator end() const;
[[nodiscard]] iterator begin() const;
[[nodiscard]] iterator end() const;
static std::unique_ptr<ZoneAssetPools> CreateForGame(GameId game, Zone* zone, zone_priority_t priority);