@@ -224,6 +224,35 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
224224 endTextLabel->setString (randomString.c_str ()); // set string
225225 endTextLabel->setAlignment (kCCTextAlignmentCenter );
226226 }
227+ void addLoadedModsList () {
228+ if (!m_playLayer || m_playLayer->m_isPracticeMode || !m_listLayer) return ;
229+
230+ CCLabelBMFont* label = CCLabelBMFont::create (" Mods\n List" , " bigFont.fnt" );
231+ CCSprite* sprite = CircleButtonSprite::create (label, CircleBaseColor::Green);
232+ sprite->setScale (.8f );
233+ label->setScale (.4f );
234+ label->setAlignment (kCCTextAlignmentCenter );
235+
236+ CCMenuItemSpriteExtra* modsListButton = CCMenuItemSpriteExtra::create (sprite, this , menu_selector (MyEndLevelLayer::showModsList));
237+
238+ CCMenu* modsListMenu = CCMenu::create ();
239+ modsListMenu->setContentSize ({33 , 33 });
240+ modsListMenu->setPosition (m_listLayer->getPosition ()); // i know this sounds like a crackpot position but it fits perfectly (im ignoring practice mode bc who tf wanna show that)
241+ modsListMenu->ignoreAnchorPointForPosition (false );
242+ modsListMenu->addChildAtPosition (modsListButton, Anchor::Center);
243+
244+ this ->m_mainLayer ->addChild (modsListMenu);
245+ }
246+ void showModsList (CCObject* sender) {
247+ Manager* manager = Manager::getSharedInstance ();
248+ const std::string& formattedList = manager->modsListFormatted ;
249+ const std::string& formattedTitle = fmt::format (" {} Total ({} Loaded, {} Disabled, {} w/Problems)" , manager->totalMods , manager->loadedMods , manager->disabledMods , manager->problemMods );
250+ MDPopup::create (formattedTitle, formattedList, " Copy" , " Close" , [formattedList](const bool btn2){
251+ if (btn2) return ;
252+ geode::utils::clipboard::write (formattedList);
253+ Notification::create (" Copied mods list" )->show ();
254+ })->show ();
255+ }
227256 void showLayer (bool p0) {
228257 if (!getModBool (" enabled" )) return EndLevelLayer::showLayer (p0);
229258 EndLevelLayer::showLayer (getModBool (" noTransition" ));
@@ -233,7 +262,7 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
233262 MyEndLevelLayer::applyHideChainsBackground ();
234263 MyEndLevelLayer::applySpaceUK ();
235264 MyEndLevelLayer::applyPlatAttemptsAndJumpsOrFlukedFromPercent (theLevel);
236- // MyEndLevelLayer::applyGDMOCompatShowLayer(theLevel );
265+ MyEndLevelLayer::addLoadedModsList ( );
237266 }
238267 void customSetup () {
239268 EndLevelLayer::customSetup ();
0 commit comments