diff --git a/loader/resources/tag-api.png b/loader/resources/tag-api.png new file mode 100644 index 000000000..e578a2f82 Binary files /dev/null and b/loader/resources/tag-api.png differ diff --git a/loader/src/ui/mods/GeodeStyle.cpp b/loader/src/ui/mods/GeodeStyle.cpp index 54c108b01..3610dd26b 100644 --- a/loader/src/ui/mods/GeodeStyle.cpp +++ b/loader/src/ui/mods/GeodeStyle.cpp @@ -209,6 +209,9 @@ std::pair geodeTagColors(server::ServerTag const& tag) { }; if (tag.name == "modtober24") { return std::make_pair(ccc3(225, 236, 245), ccc3(82, 139, 201)); + } + if (tag.name == "api") { + return std::make_pair(ccc3(173, 190, 217), ccc3(128, 132, 140)); } return TAG_COLORS[hash(tag.name) % 5932 % TAG_COLORS.size()]; } diff --git a/loader/src/ui/mods/list/ModItem.cpp b/loader/src/ui/mods/list/ModItem.cpp index a86c6e54f..822bee03c 100644 --- a/loader/src/ui/mods/list/ModItem.cpp +++ b/loader/src/ui/mods/list/ModItem.cpp @@ -243,6 +243,9 @@ bool ModItem::init(ModSource&& source) { if (metadata.tags.contains("joke")) { m_badgeContainer->addChild(CCSprite::createWithSpriteFrameName("tag-joke.png"_spr)); } + if (metadata.tags.contains("api")) { + m_badgeContainer->addChild(CCSprite::createWithSpriteFrameName("tag-api.png"_spr)); + } // todo: modtober winner tag if (metadata.tags.contains("modtober24winner") || m_source.getID() == "rainixgd.geome3dash") { auto shortVer = CCSprite::createWithSpriteFrameName("tag-modtober-winner.png"_spr);