22#include < Geode/modify/MenuLayer.hpp>
33#include < BackupsLayer.h>
44#include < Geode/modify/GameManager.hpp>
5+ #include < Geode/modify/OptionsLayer.hpp>
56
67class $modify(_MenuLayer, MenuLayer) {
78 bool init () {
89 if (!MenuLayer::init ()) return false ;
910
10- auto sprite = CCSprite::createWithSpriteFrameName (" GJ_duplicateBtn_001.png" );
11+ if (!Mod::get ()->getSettingValue <bool >(" Button_In_Options_Menu" )){
12+ auto sprite = CCSprite::createWithSpriteFrameName (" GJ_duplicateBtn_001.png" );
1113
12- auto button = CCMenuItemSpriteExtra::create (sprite, nullptr , this , menu_selector (_MenuLayer::OpenBackupsLayerButton));
13- button->setZOrder (-1 );
14+ auto button = CCMenuItemSpriteExtra::create (sprite, nullptr , this , menu_selector (_MenuLayer::OpenBackupsLayerButton));
15+ button->setZOrder (-1 );
1416
15- auto menu = static_cast <CCMenu*>(this ->getChildByID (" right-side-menu" ));
16- menu->setPositionY (menu->getPositionY () - sprite->getContentSize ().height / 2 );
17+ auto menu = static_cast <CCMenu*>(this ->getChildByID (" right-side-menu" ));
18+ menu->setPositionY (menu->getPositionY () - sprite->getContentSize ().height / 2 );
19+
20+ menu->addChild (button);
21+ menu->updateLayout ();
22+ }
1723
18- menu->addChild (button);
19- menu->updateLayout ();
20-
2124 return true ;
2225 }
2326
@@ -26,6 +29,28 @@ class $modify(_MenuLayer, MenuLayer) {
2629 }
2730};
2831
32+ class $modify(_OptionsLayer, OptionsLayer) {
33+ void customSetup () {
34+ OptionsLayer::customSetup ();
35+
36+ if (Mod::get ()->getSettingValue <bool >(" Button_In_Options_Menu" )){
37+ auto sprite = CCSprite::createWithSpriteFrameName (" GJ_duplicateBtn_001.png" );
38+
39+ auto button = CCMenuItemSpriteExtra::create (sprite, nullptr , this , menu_selector (_OptionsLayer::OpenBackupsLayerButton));
40+ button->setPosition ({138 , -171 });
41+
42+ auto menu = CCMenu::create ();
43+
44+ menu->addChild (button);
45+ this ->m_listLayer ->addChild (menu);
46+ }
47+ }
48+
49+ void OpenBackupsLayerButton (CCObject* target) {
50+ BackupsLayer::create ()->show (this );
51+ }
52+ };
53+
2954class $modify(GameManager) {
3055 void doQuickSave (){
3156 GameManager::doQuickSave ();
0 commit comments