Skip to content

Commit 7eb720d

Browse files
committed
update(main): Updated badge system & added UL Trainee badge
1 parent ce1bf8e commit 7eb720d

File tree

7 files changed

+141
-465
lines changed

7 files changed

+141
-465
lines changed

resources/badges/ul_dev_badge.png

-317 Bytes
Loading
-209 Bytes
Loading
15 Bytes
Loading
6.71 KB
Loading

src/Styles/NewGJCommentList.cpp

Lines changed: 61 additions & 185 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "NewGJCommentList.h"
22
#include "NewProfilePage.h"
33
#include "../MoreLeaderboards/MoreLeaderboards.h"
4+
#include "ccTypes.h"
45
#include <Geode/modify/InfoLayer.hpp>
56
#include <Geode/modify/CommentCell.hpp>
67
#include <Geode/utils/web.hpp>
@@ -34,6 +35,14 @@ class $modify(CommentCell) {
3435

3536
int badge = 0;
3637
int accountID_data = 0;
38+
std::string badge_id = "";
39+
std::string badge_sprite = "";
40+
float badge_scale = 1.0f;
41+
std::string alertTitle = "";
42+
std::string alertDesc = "";
43+
float alertWidth = 300.0f;
44+
bool isKofi = false;
45+
ccColor3B color = { 255, 255, 255 };
3746

3847
while (data.size() > 0) {
3948
std::string id = data[0];
@@ -43,205 +52,72 @@ class $modify(CommentCell) {
4352
accountID_data = std::stoi(name);
4453
} else if (id == "3") {
4554
badge = std::stoi(name);
55+
} else if (id == "4") {
56+
badge_sprite = name;
57+
} else if (id == "5") {
58+
badge_id = name;
59+
} else if (id == "7") {
60+
badge_scale = std::stof(name);
61+
} else if (id == "8") {
62+
alertTitle = name;
63+
} else if (id == "9") {
64+
alertDesc = name;
65+
} else if (id == "10") {
66+
alertWidth = std::stof(name);
67+
} else if (id == "11") {
68+
isKofi = name == "1";
69+
} else if (id == "12") {
70+
// Get color from HEX
71+
color = ccc3(
72+
std::stoi(name.substr(0, 2), nullptr, 16),
73+
std::stoi(name.substr(2, 2), nullptr, 16),
74+
std::stoi(name.substr(4, 2), nullptr, 16)
75+
);
4676
}
4777

4878
data.erase(data.begin());
4979
data.erase(data.begin());
5080
}
5181

5282
if (accountID_data == accountID) {
53-
if (badge == 1) {
54-
if (!cell->getChildByIDRecursive("gdutils-dev-badge")) {
55-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("gdutils_badge.png"_spr);
56-
badgeGDUtil->setScale(0.70f);
57-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
58-
badgeGDUtil,
59-
cell,
60-
menu_selector(NewProfilePage::onGDUtilsDevBadgePressed)
61-
);
62-
63-
ccColor3B color = { 218, 181, 35 };
64-
if (auto commentText = cell->getChildByIDRecursive("comment-text-label")) {
65-
as<CCLabelBMFont*>(commentText)->setColor(color);
66-
cell->m_comment->m_color = color;
67-
}
68-
if (auto commentText = cell->getChildByIDRecursive("comment-text-area")) {
69-
TextArea* textArea = as<TextArea*>(commentText);
70-
MultilineBitmapFont* bmFont = as<MultilineBitmapFont*>(textArea->getChildren()->objectAtIndex(0));
71-
CCArray* children = bmFont->getChildren();
72-
for (int i = 0; i < children->count(); i++) {
73-
auto child = as<CCLabelBMFont*>(children->objectAtIndex(i));
74-
child->setColor(color);
75-
}
76-
}
77-
78-
badgeGDUtilBtn->setID("gdutils-dev-badge");
79-
if (cell->getChildByIDRecursive("percentage-label")) {
80-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
81-
} else {
82-
username_menu->addChild(badgeGDUtilBtn);
83-
}
84-
username_menu->updateLayout();
83+
if (!cell->getChildByIDRecursive(badge_id)) {
84+
auto badgeGDUtil = CCSprite::createWithSpriteFrameName(fmt::format("{}"_spr, badge_sprite).c_str());
85+
badgeGDUtil->setScale(badge_scale);
86+
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
87+
badgeGDUtil,
88+
cell,
89+
menu_selector(NewProfilePage::badgeFactoryAlert)
90+
);
91+
92+
if (auto commentText = cell->getChildByIDRecursive("comment-text-label")) {
93+
as<CCLabelBMFont*>(commentText)->setColor(color);
94+
cell->m_comment->m_color = color;
8595
}
86-
} else if (badge == 2) {
87-
if (!cell->getChildByIDRecursive("gdutils-contributor-badge")) {
88-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("contributorBadge.png"_spr);
89-
badgeGDUtil->setScale(0.70f);
90-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
91-
badgeGDUtil,
92-
cell,
93-
menu_selector(NewProfilePage::onGDUtilsContributorBadgePressed)
94-
);
95-
96-
badgeGDUtilBtn->setID("gdutils-contributor-badge");
97-
if (cell->getChildByIDRecursive("percentage-label")) {
98-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
99-
} else {
100-
username_menu->addChild(badgeGDUtilBtn);
96+
if (auto commentText = cell->getChildByIDRecursive("comment-text-area")) {
97+
TextArea* textArea = as<TextArea*>(commentText);
98+
MultilineBitmapFont* bmFont = as<MultilineBitmapFont*>(textArea->getChildren()->objectAtIndex(0));
99+
CCArray* children = bmFont->getChildren();
100+
for (int i = 0; i < children->count(); i++) {
101+
auto child = as<CCLabelBMFont*>(children->objectAtIndex(i));
102+
child->setColor(color);
101103
}
102-
username_menu->updateLayout();
103104
}
104-
} else if (badge == 3) {
105-
if (!cell->getChildByIDRecursive("gdutils-artist-badge")) {
106-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("artistBadge.png"_spr);
107-
badgeGDUtil->setScale(0.70f);
108-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
109-
badgeGDUtil,
110-
cell,
111-
menu_selector(NewProfilePage::onGDUtilsArtistBadgePressed)
112-
);
113105

114-
badgeGDUtilBtn->setID("gdutils-artist-badge");
115-
if (cell->getChildByIDRecursive("percentage-label")) {
116-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
117-
} else {
118-
username_menu->addChild(badgeGDUtilBtn);
119-
}
120-
username_menu->updateLayout();
121-
}
122-
} else if (badge == 4) {
123-
if (!cell->getChildByIDRecursive("gdutils-gdawards2023-badge")) {
124-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("gdAwards2023Badge.png"_spr);
125-
badgeGDUtil->setScale(0.70f);
126-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
127-
badgeGDUtil,
128-
cell,
129-
menu_selector(NewProfilePage::onGDUtilsGDAwards2023BadgePressed)
130-
);
106+
badgeGDUtilBtn->setID(badge_id);
131107

132-
badgeGDUtilBtn->setID("gdutils-gdawards2023-badge");
133-
if (cell->getChildByIDRecursive("percentage-label")) {
134-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
135-
} else {
136-
username_menu->addChild(badgeGDUtilBtn);
137-
}
138-
username_menu->updateLayout();
139-
}
140-
} else if (badge == 5) {
141-
if (!cell->getChildByIDRecursive("gdutils-ul-developer-badge")) {
142-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("ul_dev_badge.png"_spr);
143-
badgeGDUtil->setScale(0.70f);
144-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
145-
badgeGDUtil,
146-
cell,
147-
menu_selector(NewProfilePage::onULDevBadgePressed)
148-
);
149-
150-
badgeGDUtilBtn->setID("gdutils-ul-developer-badge");
151-
if (cell->getChildByIDRecursive("percentage-label")) {
152-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
153-
} else {
154-
username_menu->addChild(badgeGDUtilBtn);
155-
}
156-
username_menu->updateLayout();
157-
}
158-
} else if (badge == 6) {
159-
if (!cell->getChildByIDRecursive("gdutils-ul-officer-badge")) {
160-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("ul_officer_badge.png"_spr);
161-
badgeGDUtil->setScale(0.70f);
162-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
163-
badgeGDUtil,
164-
cell,
165-
menu_selector(NewProfilePage::onULOfficerBadgePressed)
166-
);
108+
auto array = CCArray::create();
109+
array->addObject(CCString::create(alertTitle));
110+
array->addObject(CCString::create(alertDesc));
111+
array->addObject(CCFloat::create(alertWidth));
112+
array->addObject(CCString::create(isKofi ? "1" : "0"));
113+
badgeGDUtilBtn->setUserObject(array);
167114

168-
badgeGDUtilBtn->setID("gdutils-ul-officer-badge");
169-
if (cell->getChildByIDRecursive("percentage-label")) {
170-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
171-
} else {
172-
username_menu->addChild(badgeGDUtilBtn);
173-
}
174-
username_menu->updateLayout();
175-
}
176-
} else if (badge == 7) {
177-
if (!cell->getChildByIDRecursive("gdutils-ul-helper-badge")) {
178-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("ul_helper_badge.png"_spr);
179-
badgeGDUtil->setScale(0.70f);
180-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
181-
badgeGDUtil,
182-
cell,
183-
menu_selector(NewProfilePage::onULHelperBadgePressed)
184-
);
185-
186-
badgeGDUtilBtn->setID("gdutils-ul-helper-badge");
187-
if (cell->getChildByIDRecursive("percentage-label")) {
188-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
189-
} else {
190-
username_menu->addChild(badgeGDUtilBtn);
191-
}
192-
username_menu->updateLayout();
193-
}
194-
} else if (badge == 8) {
195-
if (!cell->getChildByIDRecursive("gdutils-supporter-badge")) {
196-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("supporter_badge.png"_spr);
197-
badgeGDUtil->setScale(0.70f);
198-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
199-
badgeGDUtil,
200-
cell,
201-
menu_selector(NewProfilePage::onGDUtilsSupporterBadgePressed)
202-
);
203-
204-
ccColor3B color = { 218, 35, 212 };
205-
if (auto commentText = cell->getChildByIDRecursive("comment-text-label")) {
206-
as<CCLabelBMFont*>(commentText)->setColor(color);
207-
cell->m_comment->m_color = color;
208-
}
209-
if (auto commentText = cell->getChildByIDRecursive("comment-text-area")) {
210-
TextArea* textArea = as<TextArea*>(commentText);
211-
MultilineBitmapFont* bmFont = as<MultilineBitmapFont*>(textArea->getChildren()->objectAtIndex(0));
212-
CCArray* children = bmFont->getChildren();
213-
for (int i = 0; i < children->count(); i++) {
214-
auto child = as<CCLabelBMFont*>(children->objectAtIndex(i));
215-
child->setColor(color);
216-
}
217-
}
218-
219-
badgeGDUtilBtn->setID("gdutils-supporter-badge");
220-
if (cell->getChildByIDRecursive("percentage-label")) {
221-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
222-
} else {
223-
username_menu->addChild(badgeGDUtilBtn);
224-
}
225-
username_menu->updateLayout();
226-
}
227-
} else if (badge == 9) {
228-
if (!cell->getChildByIDRecursive("gdutils-gdawards2024-badge")) {
229-
auto badgeGDUtil = CCSprite::createWithSpriteFrameName("gdAwards2024Badge.png"_spr);
230-
badgeGDUtil->setScale(0.70f);
231-
auto badgeGDUtilBtn = CCMenuItemSpriteExtra::create(
232-
badgeGDUtil,
233-
cell,
234-
menu_selector(NewProfilePage::onGDUtilsGDAwards2024BadgePressed)
235-
);
236-
237-
badgeGDUtilBtn->setID("gdutils-gdawards2024-badge");
238-
if (cell->getChildByIDRecursive("percentage-label")) {
239-
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
240-
} else {
241-
username_menu->addChild(badgeGDUtilBtn);
242-
}
243-
username_menu->updateLayout();
115+
if (cell->getChildByIDRecursive("percentage-label")) {
116+
username_menu->insertBefore(badgeGDUtilBtn, cell->getChildByIDRecursive("percentage-label"));
117+
} else {
118+
username_menu->addChild(badgeGDUtilBtn);
244119
}
120+
username_menu->updateLayout();
245121
}
246122
}
247123

0 commit comments

Comments
 (0)