1
0
mirror of synced 2025-02-17 18:59:21 +01:00

build: Restructure romfs assets

This commit is contained in:
WerWolv 2023-07-04 08:42:33 +02:00
parent 6a667d9493
commit b265d8e54a
13 changed files with 19 additions and 18 deletions

View File

@ -58,7 +58,7 @@ namespace hex {
static std::vector<std::string> getThemeNames(); static std::vector<std::string> getThemeNames();
static const std::string &getThemeImagePostfix(); static const std::string &getImageTheme();
static std::optional<ImColor> parseColorString(const std::string &colorString); static std::optional<ImColor> parseColorString(const std::string &colorString);
@ -88,7 +88,7 @@ namespace hex {
static std::map<std::string, nlohmann::json> s_themes; static std::map<std::string, nlohmann::json> s_themes;
static std::map<std::string, ThemeHandler> s_themeHandlers; static std::map<std::string, ThemeHandler> s_themeHandlers;
static std::map<std::string, StyleHandler> s_styleHandlers; static std::map<std::string, StyleHandler> s_styleHandlers;
static std::string s_imagePostfix; static std::string s_imageTheme;
static std::string s_currTheme; static std::string s_currTheme;
}; };

View File

@ -12,7 +12,7 @@ namespace hex {
std::map<std::string, nlohmann::json> ThemeManager::s_themes; std::map<std::string, nlohmann::json> ThemeManager::s_themes;
std::map<std::string, ThemeManager::ThemeHandler> ThemeManager::s_themeHandlers; std::map<std::string, ThemeManager::ThemeHandler> ThemeManager::s_themeHandlers;
std::map<std::string, ThemeManager::StyleHandler> ThemeManager::s_styleHandlers; std::map<std::string, ThemeManager::StyleHandler> ThemeManager::s_styleHandlers;
std::string ThemeManager::s_imagePostfix; std::string ThemeManager::s_imageTheme;
std::string ThemeManager::s_currTheme; std::string ThemeManager::s_currTheme;
void ThemeManager::addThemeHandler(const std::string &name, const ColorMap &colorMap, const std::function<ImColor(u32)> &getFunction, const std::function<void(u32, ImColor)> &setFunction) { void ThemeManager::addThemeHandler(const std::string &name, const ColorMap &colorMap, const std::function<ImColor(u32)> &getFunction, const std::function<void(u32, ImColor)> &setFunction) {
@ -62,7 +62,7 @@ namespace hex {
nlohmann::json ThemeManager::exportCurrentTheme(const std::string &name) { nlohmann::json ThemeManager::exportCurrentTheme(const std::string &name) {
nlohmann::json theme = { nlohmann::json theme = {
{ "name", name }, { "name", name },
{ "image_postfix", s_imagePostfix }, { "image_theme", s_imageTheme },
{ "colors", {} }, { "colors", {} },
{ "styles", {} }, { "styles", {} },
{ "base", s_currTheme } { "base", s_currTheme }
@ -174,11 +174,12 @@ namespace hex {
} }
} }
if (theme.contains("image_postfix")) { if (theme.contains("image_theme")) {
if (theme["image_postfix"].is_string()) { if (theme["image_theme"].is_string()) {
s_imagePostfix = theme["image_postfix"].get<std::string>(); s_imageTheme = theme["image_theme"].get<std::string>();
} else { } else {
hex::log::error("Theme '{}' has invalid image postfix!", name); hex::log::error("Theme '{}' has invalid image theme!", name);
s_imageTheme = "dark";
} }
} }
@ -187,8 +188,8 @@ namespace hex {
EventManager::post<EventThemeChanged>(); EventManager::post<EventThemeChanged>();
} }
const std::string &ThemeManager::getThemeImagePostfix() { const std::string &ThemeManager::getImageTheme() {
return s_imagePostfix; return s_imageTheme;
} }
std::vector<std::string> ThemeManager::getThemeNames() { std::vector<std::string> ThemeManager::getThemeNames() {
@ -203,7 +204,7 @@ namespace hex {
ThemeManager::s_themes.clear(); ThemeManager::s_themes.clear();
ThemeManager::s_styleHandlers.clear(); ThemeManager::s_styleHandlers.clear();
ThemeManager::s_themeHandlers.clear(); ThemeManager::s_themeHandlers.clear();
ThemeManager::s_imagePostfix.clear(); ThemeManager::s_imageTheme.clear();
ThemeManager::s_currTheme.clear(); ThemeManager::s_currTheme.clear();
} }

View File

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 157 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -153,7 +153,7 @@
"string": "#008080FF" "string": "#008080FF"
} }
}, },
"image_postfix": "_dark", "image_theme": "dark",
"name": "Classic", "name": "Classic",
"styles": { "styles": {
"imgui": { "imgui": {

View File

@ -153,7 +153,7 @@
"string": "#E07070FF" "string": "#E07070FF"
} }
}, },
"image_postfix": "_dark", "image_theme": "dark",
"name": "Dark", "name": "Dark",
"styles": { "styles": {
"imgui": { "imgui": {

View File

@ -153,7 +153,7 @@
"string": "#A02020FF" "string": "#A02020FF"
} }
}, },
"image_postfix": "_light", "image_theme": "light",
"name": "Light", "name": "Light",
"styles": { "styles": {
"imgui": { "imgui": {

View File

@ -53,7 +53,7 @@ namespace hex::plugin::builtin {
ImGui::TableNextColumn(); ImGui::TableNextColumn();
if (!this->m_logoTexture.isValid()) { if (!this->m_logoTexture.isValid()) {
auto logo = romfs::get("logo.png"); auto logo = romfs::get("assets/common/logo.png");
this->m_logoTexture = ImGui::Texture(reinterpret_cast<const ImU8 *>(logo.data()), logo.size()); this->m_logoTexture = ImGui::Texture(reinterpret_cast<const ImU8 *>(logo.data()), logo.size());
} }
@ -190,7 +190,7 @@ namespace hex::plugin::builtin {
} }
void ViewAbout::drawLicensePage() { void ViewAbout::drawLicensePage() {
ImGui::TextFormattedWrapped("{}", romfs::get("LICENSE").string()); ImGui::TextFormattedWrapped("{}", romfs::get("licenses/LICENSE").string());
} }
void ViewAbout::drawAboutPopup() { void ViewAbout::drawAboutPopup() {

View File

@ -421,8 +421,8 @@ namespace hex::plugin::builtin {
}; };
ThemeManager::changeTheme(theme); ThemeManager::changeTheme(theme);
s_bannerTexture = changeTexture(hex::format("banner{}.png", ThemeManager::getThemeImagePostfix())); s_bannerTexture = changeTexture(hex::format("assets/{}/banner.png", ThemeManager::getImageTheme()));
s_backdropTexture = changeTexture(hex::format("backdrop{}.png", ThemeManager::getThemeImagePostfix())); s_backdropTexture = changeTexture(hex::format("assets/{}/backdrop.png", ThemeManager::getImageTheme()));
if (!s_bannerTexture.isValid()) { if (!s_bannerTexture.isValid()) {
log::error("Failed to load banner texture!"); log::error("Failed to load banner texture!");