diff --git a/assets/InterVariable.ttf b/assets/InterVariable.ttf new file mode 100644 index 0000000..4ab79e0 Binary files /dev/null and b/assets/InterVariable.ttf differ diff --git a/lib/RecompFrontend b/lib/RecompFrontend index 0f35fb4..e6fa2f8 160000 --- a/lib/RecompFrontend +++ b/lib/RecompFrontend @@ -1 +1 @@ -Subproject commit 0f35fb46b1db5c96bf122bef0397bc316be654fc +Subproject commit e6fa2f821408be78391f33012700388cdfb871e7 diff --git a/src/main/launcher_animation.cpp b/src/main/launcher_animation.cpp index 8448d4b..a3e4645 100644 --- a/src/main/launcher_animation.cpp +++ b/src/main/launcher_animation.cpp @@ -183,8 +183,13 @@ void banjo::launcher_animation_setup(recompui::LauncherMenu *menu) { // Disable and hide the options. for (auto option : menu->get_game_options_menu()->get_options()) { + option->set_font_family("Suplexmentary Comic NC"); option->set_enabled(false); option->set_opacity(0.0f); + option->set_padding(24.0f); + auto label = option->get_label(); + label->set_font_size(56.0f); + label->set_letter_spacing(4.0f); } // The creation order of these is important. diff --git a/src/main/main.cpp b/src/main/main.cpp index 06e786d..99e2a65 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -696,7 +696,8 @@ int main(int argc, char** argv) { recompui::programconfig::set_program_name(banjo::program_name); recompui::programconfig::set_program_id(banjo::program_id); - recompui::register_primary_font("Suplexmentary Comic NC.ttf", "Suplexmentary Comic NC"); + recompui::register_primary_font("InterVariable.ttf", "Inter Variable"); + recompui::register_extra_font("Suplexmentary Comic NC.ttf"); recomp::register_config_path(recompui::file::get_app_folder_path()); // Register supported games and patches diff --git a/src/main/theme.cpp b/src/main/theme.cpp index 513b6bd..e32303d 100644 --- a/src/main/theme.cpp +++ b/src/main/theme.cpp @@ -2,91 +2,105 @@ #include "theme.h" void recomptheme::set_custom_theme() { - recompui::theme::set_theme_color(recompui::theme::color::Background1, recompui::Color{10, 10, 11, 255}); - recompui::theme::set_theme_color(recompui::theme::color::Background2, recompui::Color{19, 20, 21, 255}); - recompui::theme::set_theme_color(recompui::theme::color::Background3, recompui::Color{27, 27, 29, 255}); - recompui::theme::set_theme_color(recompui::theme::color::BGOverlay, recompui::Color{199, 200, 204, 26}); // actually the overlay for the modal - recompui::theme::set_theme_color(recompui::theme::color::ModalOverlay, recompui::Color{10, 10, 11, 242}); // actually the background color of the modal itself - recompui::theme::set_theme_color(recompui::theme::color::BGShadow, recompui::Color{0, 0, 0, 89}); - recompui::theme::set_theme_color(recompui::theme::color::BGShadow2, recompui::Color{10, 10, 11, 184}); - recompui::theme::set_theme_color(recompui::theme::color::Text, recompui::Color{242, 242, 242, 255}); - recompui::theme::set_theme_color(recompui::theme::color::TextActive, recompui::Color{245, 245, 245, 255}); - recompui::theme::set_theme_color(recompui::theme::color::TextDim, recompui::Color{204, 204, 204, 255}); - recompui::theme::set_theme_color(recompui::theme::color::TextInactive, recompui::Color{255, 255, 255, 153}); - recompui::theme::set_theme_color(recompui::theme::color::TextA5, recompui::Color{242, 242, 242, 13}); - recompui::theme::set_theme_color(recompui::theme::color::TextA20, recompui::Color{242, 242, 242, 51}); - recompui::theme::set_theme_color(recompui::theme::color::TextA30, recompui::Color{242, 242, 242, 77}); - recompui::theme::set_theme_color(recompui::theme::color::TextA50, recompui::Color{242, 242, 242, 128}); - recompui::theme::set_theme_color(recompui::theme::color::TextA80, recompui::Color{242, 242, 242, 204}); - recompui::theme::set_theme_color(recompui::theme::color::Primary, recompui::Color{29, 93, 226, 255}); - recompui::theme::set_theme_color(recompui::theme::color::PrimaryL, recompui::Color{167, 191, 241, 255}); - recompui::theme::set_theme_color(recompui::theme::color::PrimaryD, recompui::Color{0, 38, 117, 255}); - recompui::theme::set_theme_color(recompui::theme::color::PrimaryA5, recompui::Color{29, 93, 226, 13}); - recompui::theme::set_theme_color(recompui::theme::color::PrimaryA20, recompui::Color{29, 93, 226, 51}); - recompui::theme::set_theme_color(recompui::theme::color::PrimaryA30, recompui::Color{29, 93, 226, 77}); - recompui::theme::set_theme_color(recompui::theme::color::PrimaryA50, recompui::Color{29, 93, 226, 128}); - recompui::theme::set_theme_color(recompui::theme::color::PrimaryA80, recompui::Color{29, 93, 226, 204}); - recompui::theme::set_theme_color(recompui::theme::color::Secondary, recompui::Color{247, 158, 8, 255}); - recompui::theme::set_theme_color(recompui::theme::color::SecondaryL, recompui::Color{255, 215, 148, 255}); - recompui::theme::set_theme_color(recompui::theme::color::SecondaryD, recompui::Color{224, 141, 0, 255}); - recompui::theme::set_theme_color(recompui::theme::color::SecondaryA5, recompui::Color{247, 158, 8, 13}); - recompui::theme::set_theme_color(recompui::theme::color::SecondaryA20, recompui::Color{247, 158, 8, 51}); - recompui::theme::set_theme_color(recompui::theme::color::SecondaryA30, recompui::Color{247, 158, 8, 77}); - recompui::theme::set_theme_color(recompui::theme::color::SecondaryA50, recompui::Color{247, 158, 8, 128}); - recompui::theme::set_theme_color(recompui::theme::color::SecondaryA80, recompui::Color{247, 158, 8, 204}); - recompui::theme::set_theme_color(recompui::theme::color::Warning, recompui::Color{255, 254, 0, 255}); - recompui::theme::set_theme_color(recompui::theme::color::WarningL, recompui::Color{255, 254, 143, 255}); - recompui::theme::set_theme_color(recompui::theme::color::WarningD, recompui::Color{197, 163, 2, 255}); - recompui::theme::set_theme_color(recompui::theme::color::WarningA5, recompui::Color{255, 254, 0, 13}); - recompui::theme::set_theme_color(recompui::theme::color::WarningA20, recompui::Color{255, 254, 0, 51}); - recompui::theme::set_theme_color(recompui::theme::color::WarningA30, recompui::Color{255, 254, 0, 77}); - recompui::theme::set_theme_color(recompui::theme::color::WarningA50, recompui::Color{255, 254, 0, 128}); - recompui::theme::set_theme_color(recompui::theme::color::WarningA80, recompui::Color{255, 254, 0, 204}); - recompui::theme::set_theme_color(recompui::theme::color::Danger, recompui::Color{255, 53, 31, 255}); - recompui::theme::set_theme_color(recompui::theme::color::DangerL, recompui::Color{255, 149, 138, 255}); - recompui::theme::set_theme_color(recompui::theme::color::DangerD, recompui::Color{163, 16, 0, 255}); - recompui::theme::set_theme_color(recompui::theme::color::DangerA5, recompui::Color{255, 53, 31, 13}); - recompui::theme::set_theme_color(recompui::theme::color::DangerA20, recompui::Color{255, 53, 31, 51}); - recompui::theme::set_theme_color(recompui::theme::color::DangerA30, recompui::Color{255, 53, 31, 77}); - recompui::theme::set_theme_color(recompui::theme::color::DangerA50, recompui::Color{255, 53, 31, 128}); - recompui::theme::set_theme_color(recompui::theme::color::DangerA80, recompui::Color{255, 53, 31, 204}); - recompui::theme::set_theme_color(recompui::theme::color::Success, recompui::Color{40, 238, 32, 255}); - recompui::theme::set_theme_color(recompui::theme::color::SuccessL, recompui::Color{155, 247, 151, 255}); - recompui::theme::set_theme_color(recompui::theme::color::SuccessD, recompui::Color{18, 157, 12, 255}); - recompui::theme::set_theme_color(recompui::theme::color::SuccessA5, recompui::Color{40, 238, 32, 13}); - recompui::theme::set_theme_color(recompui::theme::color::SuccessA20, recompui::Color{40, 238, 32, 51}); - recompui::theme::set_theme_color(recompui::theme::color::SuccessA30, recompui::Color{40, 238, 32, 77}); - recompui::theme::set_theme_color(recompui::theme::color::SuccessA50, recompui::Color{40, 238, 32, 128}); - recompui::theme::set_theme_color(recompui::theme::color::SuccessA80, recompui::Color{40, 238, 32, 204}); - recompui::theme::set_theme_color(recompui::theme::color::Border, recompui::Color{255, 255, 255, 51}); - recompui::theme::set_theme_color(recompui::theme::color::BorderSoft, recompui::Color{255, 255, 255, 26}); - recompui::theme::set_theme_color(recompui::theme::color::BorderHard, recompui::Color{255, 255, 255, 77}); - recompui::theme::set_theme_color(recompui::theme::color::BorderSolid, recompui::Color{255, 255, 255, 153}); - recompui::theme::set_theme_color(recompui::theme::color::Transparent, recompui::Color{0, 0, 0, 0}); - recompui::theme::set_theme_color(recompui::theme::color::A, recompui::Color{51, 51, 255, 255}); - recompui::theme::set_theme_color(recompui::theme::color::AL, recompui::Color{178, 178, 255, 255}); - recompui::theme::set_theme_color(recompui::theme::color::AD, recompui::Color{32, 32, 172, 255}); - recompui::theme::set_theme_color(recompui::theme::color::AA5, recompui::Color{51, 51, 255, 13}); - recompui::theme::set_theme_color(recompui::theme::color::AA20, recompui::Color{51, 51, 255, 51}); - recompui::theme::set_theme_color(recompui::theme::color::AA30, recompui::Color{51, 51, 255, 77}); - recompui::theme::set_theme_color(recompui::theme::color::AA50, recompui::Color{51, 51, 255, 128}); - recompui::theme::set_theme_color(recompui::theme::color::AA80, recompui::Color{51, 51, 255, 204}); - recompui::theme::set_theme_color(recompui::theme::color::White, recompui::Color{255, 255, 255, 255}); - recompui::theme::set_theme_color(recompui::theme::color::WhiteA5, recompui::Color{255, 255, 255, 13}); - recompui::theme::set_theme_color(recompui::theme::color::WhiteA20, recompui::Color{255, 255, 255, 51}); - recompui::theme::set_theme_color(recompui::theme::color::WhiteA30, recompui::Color{255, 255, 255, 77}); - recompui::theme::set_theme_color(recompui::theme::color::WhiteA50, recompui::Color{255, 255, 255, 128}); - recompui::theme::set_theme_color(recompui::theme::color::WhiteA80, recompui::Color{255, 255, 255, 204}); - recompui::theme::set_theme_color(recompui::theme::color::BW05, recompui::Color{13, 13, 13, 255}); - recompui::theme::set_theme_color(recompui::theme::color::BW10, recompui::Color{26, 26, 26, 255}); - recompui::theme::set_theme_color(recompui::theme::color::BW25, recompui::Color{64, 64, 64, 255}); - recompui::theme::set_theme_color(recompui::theme::color::BW50, recompui::Color{128, 128, 128, 255}); - recompui::theme::set_theme_color(recompui::theme::color::BW75, recompui::Color{191, 191, 191, 255}); - recompui::theme::set_theme_color(recompui::theme::color::BW90, recompui::Color{229, 229, 229, 255}); + using namespace recompui; - recompui::theme::border::radius_sm = 12.0f; - recompui::theme::border::radius_md = 18.0f; - recompui::theme::border::radius_lg = 24.0f; + theme::set_theme_color(theme::color::Background1, Color{10, 10, 11, 255}); + theme::set_theme_color(theme::color::Background2, Color{19, 20, 21, 255}); + theme::set_theme_color(theme::color::Background3, Color{27, 27, 29, 255}); + theme::set_theme_color(theme::color::BGOverlay, Color{199, 200, 204, 26}); // actually the overlay for the modal + theme::set_theme_color(theme::color::ModalOverlay, Color{10, 10, 11, 242}); // actually the background color of the modal itself + theme::set_theme_color(theme::color::BGShadow, Color{0, 0, 0, 89}); + theme::set_theme_color(theme::color::BGShadow2, Color{10, 10, 11, 184}); + theme::set_theme_color(theme::color::Text, Color{242, 242, 242, 255}); + theme::set_theme_color(theme::color::TextActive, Color{245, 245, 245, 255}); + theme::set_theme_color(theme::color::TextDim, Color{204, 204, 204, 255}); + theme::set_theme_color(theme::color::TextInactive, Color{255, 255, 255, 153}); + theme::set_theme_color(theme::color::TextA5, Color{242, 242, 242, 13}); + theme::set_theme_color(theme::color::TextA20, Color{242, 242, 242, 51}); + theme::set_theme_color(theme::color::TextA30, Color{242, 242, 242, 77}); + theme::set_theme_color(theme::color::TextA50, Color{242, 242, 242, 128}); + theme::set_theme_color(theme::color::TextA80, Color{242, 242, 242, 204}); + theme::set_theme_color(theme::color::Primary, Color{29, 93, 226, 255}); + theme::set_theme_color(theme::color::PrimaryL, Color{167, 191, 241, 255}); + theme::set_theme_color(theme::color::PrimaryD, Color{0, 38, 117, 255}); + theme::set_theme_color(theme::color::PrimaryA5, Color{29, 93, 226, 13}); + theme::set_theme_color(theme::color::PrimaryA20, Color{29, 93, 226, 51}); + theme::set_theme_color(theme::color::PrimaryA30, Color{29, 93, 226, 77}); + theme::set_theme_color(theme::color::PrimaryA50, Color{29, 93, 226, 128}); + theme::set_theme_color(theme::color::PrimaryA80, Color{29, 93, 226, 204}); + theme::set_theme_color(theme::color::Secondary, Color{247, 158, 8, 255}); + theme::set_theme_color(theme::color::SecondaryL, Color{255, 215, 148, 255}); + theme::set_theme_color(theme::color::SecondaryD, Color{224, 141, 0, 255}); + theme::set_theme_color(theme::color::SecondaryA5, Color{247, 158, 8, 13}); + theme::set_theme_color(theme::color::SecondaryA20, Color{247, 158, 8, 51}); + theme::set_theme_color(theme::color::SecondaryA30, Color{247, 158, 8, 77}); + theme::set_theme_color(theme::color::SecondaryA50, Color{247, 158, 8, 128}); + theme::set_theme_color(theme::color::SecondaryA80, Color{247, 158, 8, 204}); + theme::set_theme_color(theme::color::Warning, Color{255, 254, 0, 255}); + theme::set_theme_color(theme::color::WarningL, Color{255, 254, 143, 255}); + theme::set_theme_color(theme::color::WarningD, Color{197, 163, 2, 255}); + theme::set_theme_color(theme::color::WarningA5, Color{255, 254, 0, 13}); + theme::set_theme_color(theme::color::WarningA20, Color{255, 254, 0, 51}); + theme::set_theme_color(theme::color::WarningA30, Color{255, 254, 0, 77}); + theme::set_theme_color(theme::color::WarningA50, Color{255, 254, 0, 128}); + theme::set_theme_color(theme::color::WarningA80, Color{255, 254, 0, 204}); + theme::set_theme_color(theme::color::Danger, Color{255, 53, 31, 255}); + theme::set_theme_color(theme::color::DangerL, Color{255, 149, 138, 255}); + theme::set_theme_color(theme::color::DangerD, Color{163, 16, 0, 255}); + theme::set_theme_color(theme::color::DangerA5, Color{255, 53, 31, 13}); + theme::set_theme_color(theme::color::DangerA20, Color{255, 53, 31, 51}); + theme::set_theme_color(theme::color::DangerA30, Color{255, 53, 31, 77}); + theme::set_theme_color(theme::color::DangerA50, Color{255, 53, 31, 128}); + theme::set_theme_color(theme::color::DangerA80, Color{255, 53, 31, 204}); + theme::set_theme_color(theme::color::Success, Color{40, 238, 32, 255}); + theme::set_theme_color(theme::color::SuccessL, Color{155, 247, 151, 255}); + theme::set_theme_color(theme::color::SuccessD, Color{18, 157, 12, 255}); + theme::set_theme_color(theme::color::SuccessA5, Color{40, 238, 32, 13}); + theme::set_theme_color(theme::color::SuccessA20, Color{40, 238, 32, 51}); + theme::set_theme_color(theme::color::SuccessA30, Color{40, 238, 32, 77}); + theme::set_theme_color(theme::color::SuccessA50, Color{40, 238, 32, 128}); + theme::set_theme_color(theme::color::SuccessA80, Color{40, 238, 32, 204}); + theme::set_theme_color(theme::color::Border, Color{255, 255, 255, 51}); + theme::set_theme_color(theme::color::BorderSoft, Color{255, 255, 255, 26}); + theme::set_theme_color(theme::color::BorderHard, Color{255, 255, 255, 77}); + theme::set_theme_color(theme::color::BorderSolid, Color{255, 255, 255, 153}); + theme::set_theme_color(theme::color::Transparent, Color{0, 0, 0, 0}); + theme::set_theme_color(theme::color::A, Color{51, 51, 255, 255}); + theme::set_theme_color(theme::color::AL, Color{178, 178, 255, 255}); + theme::set_theme_color(theme::color::AD, Color{32, 32, 172, 255}); + theme::set_theme_color(theme::color::AA5, Color{51, 51, 255, 13}); + theme::set_theme_color(theme::color::AA20, Color{51, 51, 255, 51}); + theme::set_theme_color(theme::color::AA30, Color{51, 51, 255, 77}); + theme::set_theme_color(theme::color::AA50, Color{51, 51, 255, 128}); + theme::set_theme_color(theme::color::AA80, Color{51, 51, 255, 204}); + theme::set_theme_color(theme::color::White, Color{255, 255, 255, 255}); + theme::set_theme_color(theme::color::WhiteA5, Color{255, 255, 255, 13}); + theme::set_theme_color(theme::color::WhiteA20, Color{255, 255, 255, 51}); + theme::set_theme_color(theme::color::WhiteA30, Color{255, 255, 255, 77}); + theme::set_theme_color(theme::color::WhiteA50, Color{255, 255, 255, 128}); + theme::set_theme_color(theme::color::WhiteA80, Color{255, 255, 255, 204}); + theme::set_theme_color(theme::color::BW05, Color{13, 13, 13, 255}); + theme::set_theme_color(theme::color::BW10, Color{26, 26, 26, 255}); + theme::set_theme_color(theme::color::BW25, Color{64, 64, 64, 255}); + theme::set_theme_color(theme::color::BW50, Color{128, 128, 128, 255}); + theme::set_theme_color(theme::color::BW75, Color{191, 191, 191, 255}); + theme::set_theme_color(theme::color::BW90, Color{229, 229, 229, 255}); + + theme::border::radius_sm = 12.0f; + theme::border::radius_md = 18.0f; + theme::border::radius_lg = 24.0f; + + const uint32_t header_weight = 700; + const uint32_t label_weight = 500; + const uint32_t base_weight = 400; + theme::set_typography_preset(theme::Typography::Header1, 68.0f, 0.01f, header_weight); + theme::set_typography_preset(theme::Typography::Header2, 52.0f, 0.01f, header_weight); + theme::set_typography_preset(theme::Typography::Header3, 36.0f, 0.01f, header_weight); + theme::set_typography_preset(theme::Typography::LabelLG, 36.0f, 0.05f, label_weight); + theme::set_typography_preset(theme::Typography::LabelMD, 28.0f, 0.05f, label_weight); + theme::set_typography_preset(theme::Typography::LabelSM, 20.0f, 0.07f, label_weight); + theme::set_typography_preset(theme::Typography::LabelXS, 18.0f, 0.07f, base_weight); + theme::set_typography_preset(theme::Typography::Body, 20.0f, 0, base_weight); };