2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-09-05 16:27:27 +00:00

chore: dump font icons as json instead of csv

This commit is contained in:
Jan Laupetin
2025-07-22 22:48:48 +01:00
parent 745f545342
commit 9f4727789a
13 changed files with 483 additions and 265 deletions

View File

@@ -0,0 +1,23 @@
#include "FontIconCommonT6.h"
#include "Utils/StringUtils.h"
#include <filesystem>
namespace fs = std::filesystem;
namespace T6::font_icon
{
std::string GetJsonFileNameForAssetName(const std::string& assetName)
{
std::string originalFileName(assetName);
utils::MakeStringLowerCase(originalFileName);
if (originalFileName.ends_with(".csv"))
{
fs::path p(assetName);
p.replace_extension(".json");
return p.string();
}
return assetName;
}
} // namespace T6::font_icon

View File

@@ -0,0 +1,8 @@
#pragma once
#include <string>
namespace T6::font_icon
{
std::string GetJsonFileNameForAssetName(const std::string& assetName);
}

View File

@@ -0,0 +1,33 @@
#pragma once
#include "Json/JsonCommon.h"
#include "Json/JsonExtension.h"
#include <memory>
#include <nlohmann/json.hpp>
#include <optional>
#include <string>
#include <vector>
namespace T6
{
class JsonFontIconEntry
{
public:
std::string name;
std::string material;
unsigned size;
std::optional<JsonVec2> scale;
std::vector<std::string> aliases;
std::optional<std::vector<unsigned>> aliasHashes;
};
NLOHMANN_DEFINE_TYPE_EXTENSION(JsonFontIconEntry, name, material, size, scale, aliases, aliasHashes);
class JsonFontIcon
{
public:
std::vector<JsonFontIconEntry> entries;
};
NLOHMANN_DEFINE_TYPE_EXTENSION(JsonFontIcon, entries);
} // namespace T6