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