From 00827655918cb970c6b3960e7a3e0119ee90cd84 Mon Sep 17 00:00:00 2001 From: HJfod <60038575+HJfod@users.noreply.github.com> Date: Sat, 6 Jul 2024 00:44:30 +0300 Subject: [PATCH] add special visuals for paid tag + make featured tag match with it --- loader/resources/tag-featured.png | Bin 0 -> 14975 bytes loader/resources/tag-paid.png | Bin 0 -> 33370 bytes loader/src/ui/mods/GeodeStyle.cpp | 3 +- loader/src/ui/mods/list/ModItem.cpp | 43 +++++++++++++++++++++------- 4 files changed, 34 insertions(+), 12 deletions(-) create mode 100644 loader/resources/tag-featured.png create mode 100644 loader/resources/tag-paid.png diff --git a/loader/resources/tag-featured.png b/loader/resources/tag-featured.png new file mode 100644 index 0000000000000000000000000000000000000000..15cce42cb91b54e6f06fb521637dfc22d664f22d GIT binary patch literal 14975 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 JPDHLkV1kKvp{W1> literal 0 HcmV?d00001 diff --git a/loader/resources/tag-paid.png b/loader/resources/tag-paid.png new file mode 100644 index 0000000000000000000000000000000000000000..5e16735b8a8b21e31ef77f87a6e41e606c65917b GIT binary patch literal 33370 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"mod-list-tab-deselected-bg"_spr, { 26, 24, 29, 255 }); ColorProvider::get()->define("mod-list-tab-selected-bg"_spr, { 168, 147, 185, 255 }); ColorProvider::get()->define("mod-list-tab-selected-bg-alt"_spr, { 147, 163, 185, 255 }); - ColorProvider::get()->define("mod-list-featured-color"_spr, { 255, 255, 120, 255 }); + ColorProvider::get()->define("mod-list-featured-color"_spr, { 240, 211, 42, 255 }); ColorProvider::get()->define("mod-list-enabled"_spr, { 120, 255, 100, 255 }); ColorProvider::get()->define("mod-list-disabled"_spr, { 255, 120, 100, 255 }); ColorProvider::get()->define("mod-list-recommended-bg"_spr, ccc3(25, 255, 167)); @@ -28,6 +28,7 @@ $on_mod(Loaded) { ColorProvider::get()->define("mod-list-recommended-by-2"_spr, ccc3(47, 255, 255)); ColorProvider::get()->define("mod-problems-item-bg"_spr, { 255, 255, 255, 15 }); ColorProvider::get()->define("mod-developer-item-bg"_spr, { 255, 255, 255, 15 }); + ColorProvider::get()->define("mod-list-paid-color"_spr, { 0, 255, 63, 255 }); // Only used when GD theme is active ColorProvider::get()->define("mods-layer-gd-bg"_spr, { 0, 102, 255, 255 }); diff --git a/loader/src/ui/mods/list/ModItem.cpp b/loader/src/ui/mods/list/ModItem.cpp index 589a0932..08a27fa0 100644 --- a/loader/src/ui/mods/list/ModItem.cpp +++ b/loader/src/ui/mods/list/ModItem.cpp @@ -53,6 +53,7 @@ bool ModItem::init(ModSource&& source) { m_titleLabel = CCLabelBMFont::create(m_source.getMetadata().getName().c_str(), "bigFont.fnt"); m_titleLabel->setID("title-label"); + m_titleLabel->setLayoutOptions(AxisLayoutOptions::create()->setScalePriority(1)); m_titleContainer->addChild(m_titleLabel); m_versionLabel = CCLabelBMFont::create("", "bigFont.fnt"); @@ -182,16 +183,14 @@ bool ModItem::init(ModSource&& source) { }, [this](server::ServerModMetadata const& metadata) { if (metadata.featured) { - auto starBG = CCScale9Sprite::createWithSpriteFrameName("GJ_colorBtn_001.png"); - starBG->setContentSize({ 50, 38 }); - starBG->setColor(to3B(ColorProvider::get()->color("mod-list-featured-color"_spr))); - starBG->setOpacity(45); - - auto star = CCSprite::createWithSpriteFrameName("GJ_starsIcon_001.png"); - starBG->addChildAtPosition(star, Anchor::Center); - starBG->setID("star-bg"); - - m_titleContainer->addChild(starBG); + auto star = CCSprite::createWithSpriteFrameName("tag-featured.png"_spr); + star->setLayoutOptions(AxisLayoutOptions::create()->setScaleLimits(.1f, .8f)); + m_titleContainer->addChild(star); + } + if (metadata.tags.contains("paid")) { + auto paidModLabel = CCSprite::createWithSpriteFrameName("tag-paid.png"_spr); + paidModLabel->setLayoutOptions(AxisLayoutOptions::create()->setScaleLimits(.1f, .8f)); + m_titleContainer->addChild(paidModLabel); } // Show mod download count here already so people can make informed decisions @@ -338,9 +337,15 @@ void ModItem::updateState() { [this](server::ServerModMetadata const& metadata) { m_bg->setColor(isGeodeTheme() ? ccWHITE : ccBLACK); m_bg->setOpacity(isGeodeTheme() ? 25 : 90); + + if (metadata.tags.contains("paid")) { + m_bg->setColor("mod-list-paid-color"_cc3b); + m_bg->setOpacity(55); + } + if (isGeodeTheme() && metadata.featured) { m_bg->setColor("mod-list-featured-color"_cc3b); - m_bg->setOpacity(40); + m_bg->setOpacity(65); } }, [this](ModSuggestion const& suggestion) { @@ -449,6 +454,22 @@ void ModItem::onCheckUpdates(typename server::ServerRequesttags.contains("paid") && !shownPaidNotif) { + shownPaidNotif = true; + return FLAlertLayer::create( + nullptr, + "Paid Content", + "This mod contains Paid Content. This means that some or all " + "features of the mod require money to use.\n\n" + "Geode does not handle any payments. The mod handles all transactions in their own way.\n\n" + "The paid content may not be available in your country.", + "OK", nullptr, 360 + )->show(); + } + // Always open up the popup for the installed mod page if that is possible ModPopup::create(m_source.convertForPopup())->show(); }