1- #include " popups/HorribleMenuPopup .hpp"
1+ #include " RandomSeeder .hpp"
22
3- #include < ctime>
4- #include < cstdlib>
3+ #include " popups/HorribleMenuPopup.hpp"
54
65#include < fmt/core.h>
76
87#include < Geode/Geode.hpp>
98
109#include < Geode/modify/MenuLayer.hpp>
10+ #include < Geode/modify/PauseLayer.hpp>
1111#include < Geode/modify/CCScene.hpp>
1212#include < Geode/modify/CCMenuItem.hpp>
1313
1414#include < Geode/binding/FMODAudioEngine.hpp>
1515
16- struct RandomSeeder {
17- RandomSeeder () { srand (time (0 )); }
18- };
1916static RandomSeeder _randomSeeder;
2017
2118using namespace geode ::prelude;
@@ -28,18 +25,17 @@ bool isFlipped = false;
2825
2926class $modify(HorribleCCScene, CCScene) {
3027 bool init () override {
31- if (!CCScene::init ())
32- return false ;
28+ if (!CCScene::init ()) return false ;
3329
34- if (typeinfo_cast <CCTransitionFade*>(this )) {
30+ if (dynamic_cast <CCTransitionFade*>(this )) {
3531 log::debug (" scene is a CCTransitionFade" );
3632 return true ;
37- }
33+ };
3834
3935 log::debug (" scene init called" );
4036
4137 return true ;
42- }
38+ };
4339};
4440
4541// modify CCMenuItem so it plays the sound whenever a button is clicked regardless of the layer
@@ -81,13 +77,15 @@ class $modify(HorribleMenuLayer, MenuLayer) {
8177 " GJ_moonsIcon_001.png" ,
8278 0 .875f ,
8379 CircleBaseColor::Green,
84- CircleBaseSize::MediumAlt);
80+ CircleBaseSize::MediumAlt
81+ );
8582
8683 auto btn = CCMenuItemSpriteExtra::create (
8784 btnSprite,
8885 this ,
89- menu_selector (HorribleMenuLayer::onHorribleButton));
90- btn->setID (" horribleBtn" );
86+ menu_selector (HorribleMenuLayer::onHorribleButton)
87+ );
88+ btn->setID (" menu-btn" _spr);
9189
9290 if (auto menu = typeinfo_cast<CCMenu*>(bottomMenu)) {
9391 menu->addChild (btn);
@@ -184,4 +182,32 @@ class $modify(HorribleMenuLayer, MenuLayer) {
184182 void onHorribleButton (CCObject*) {
185183 if (auto popup = HorribleMenuPopup::create ()) popup->show ();
186184 };
185+ };
186+
187+ class $modify(HorriblePauseLayer, PauseLayer) {
188+ void customSetup () {
189+ PauseLayer::customSetup ();
190+
191+ if (auto rightMenu = getChildByID (" right-button-menu" )) {
192+ auto btnSprite = CircleButtonSprite::createWithSpriteFrameName (
193+ " GJ_moonsIcon_001.png" ,
194+ 0 .875f ,
195+ CircleBaseColor::Green,
196+ CircleBaseSize::MediumAlt
197+ );
198+ btnSprite->setScale (0 .6f );
199+
200+ auto btn = CCMenuItemSpriteExtra::create (
201+ btnSprite,
202+ this ,
203+ menu_selector (HorribleMenuLayer::onHorribleButton)
204+ );
205+ btn->setID (" menu-btn" _spr);
206+
207+ if (auto menu = typeinfo_cast<CCMenu*>(rightMenu)) {
208+ menu->addChild (btn);
209+ menu->updateLayout (true );
210+ };
211+ };
212+ };
187213};
0 commit comments