Skip to content

Commit 945920a

Browse files
committed
fix
1 parent 5664423 commit 945920a

File tree

4 files changed

+104
-15
lines changed

4 files changed

+104
-15
lines changed

mod.json

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,46 @@
2525
"type": "bool",
2626
"default": false
2727
},
28-
"color": {
29-
"name": "Color Offset",
28+
"color-0": {
29+
"name": "Color Offset - 1st",
3030
"description": "The color offset of the background.",
31-
"type": "color",
32-
"default": "#FF0000",
31+
"type": "string",
32+
"default": "244,212,142",
33+
"enable-if": "enable-color"
34+
},
35+
"color-1": {
36+
"name": "Color Offset - 2nd",
37+
"description": "The color offset of the background.",
38+
"type": "string",
39+
"default": "245,174,125",
40+
"enable-if": "enable-color"
41+
},
42+
"color-2": {
43+
"name": "Color Offset - 3rd",
44+
"description": "The color offset of the background.",
45+
"type": "string",
46+
"default": "236,137,124",
47+
"enable-if": "enable-color"
48+
},
49+
"color-3": {
50+
"name": "Color Offset - 4th",
51+
"description": "The color offset of the background.",
52+
"type": "string",
53+
"default": "213,105,133",
54+
"enable-if": "enable-color"
55+
},
56+
"color-4": {
57+
"name": "Color Offset - 5th",
58+
"description": "The color offset of the background.",
59+
"type": "string",
60+
"default": "173,84,146",
61+
"enable-if": "enable-color"
62+
},
63+
"color-5": {
64+
"name": "Color Offset - 6th",
65+
"description": "The color offset of the background.",
66+
"type": "string",
67+
"default": "113,74,154",
3368
"enable-if": "enable-color"
3469
},
3570
"show-main": {

src/CustomSettingLayer.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,13 @@
77
using namespace geode::prelude;
88

99
$execute {
10-
/*
1110
new EventListener<EventFilter<ModPopupUIEvent>>(+[](ModPopupUIEvent* event) {
1211
if (event->getModID() == "omgrod.geodify") {
1312
auto popup = event->getPopup();
1413

1514
if (popup) {
1615
if (CCMenuItemSpriteExtra* btn = typeinfo_cast<CCMenuItemSpriteExtra*>(popup->getChildByIDRecursive("settings-button"))) {
17-
btn->setTarget(this, menu_selector(GYSettingSelectLayer::settingsBtn));
18-
19-
// btn->m_pfnSelector = menu_selector(GYSettingSelectLayer::settingsBtn); // this code sucks - it keeps crashing. im sorry if creating a fake button is a bit too much
16+
btn->m_pfnSelector = menu_selector(GYSettingSelectLayer::settingsBtn); // this code sucks - it keeps crashing. im sorry if creating a fake button is a bit too much
2017

2118
// CCSprite* settings = CCSprite::create("geode.loader/settings.png");
2219
// CircleButtonSprite* settingsBtn = nullptr;
@@ -40,11 +37,11 @@ using namespace geode::prelude;
4037
}
4138
return ListenerResult::Propagate;
4239
});
43-
*/
4440
}
4541

4642
/// @brief The following code is for testing purposes only, and adds a Geodify settings button to the main menu.
4743

44+
/*
4845
#include <Geode/modify/MenuLayer.hpp>
4946
5047
class $modify(MyMenuLayer, MenuLayer) {
@@ -70,4 +67,4 @@ class $modify(MyMenuLayer, MenuLayer) {
7067
7168
return true;
7269
}
73-
};
70+
}*/

src/layers/GYSettingSelectLayer.cpp

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
using namespace geode::prelude;
66

77
void GYSettingSelectLayer::keyBackClicked() {
8-
CCDirector::get()->popScene();
8+
CCDirector::sharedDirector()->popSceneWithTransition(0.5f, PopTransition::kPopTransitionFade);
9+
}
10+
11+
void GYSettingSelectLayer::backWrapper(CCObject* sender) {
12+
GYSettingSelectLayer::keyBackClicked();
913
}
1014

1115
CCScene* GYSettingSelectLayer::scene() {
@@ -25,27 +29,79 @@ GYSettingSelectLayer* GYSettingSelectLayer::create() {
2529
}
2630

2731
void GYSettingSelectLayer::settingsBtn(CCObject* sender) {
28-
auto scenePrev = CCTransitionFade::create(0.5f, GYSettingSelectLayer::scene());
32+
auto scene = CCScene::create();
33+
GYSettingSelectLayer* ret = new GYSettingSelectLayer();
34+
// Everything after this is not compiled
35+
if (ret && ret->init()) {
36+
ret->autorelease();
37+
}
38+
delete ret;
39+
ret = nullptr;
40+
scene->addChild(GYSettingSelectLayer::create());
41+
auto scenePrev = CCTransitionFade::create(0.5f, scene);
2942
CCDirector::sharedDirector()->pushScene(scenePrev);
3043
}
3144

3245
bool GYSettingSelectLayer::init() {
33-
if (!GYSettingSelectLayer::init())
46+
if (!CCLayer::init())
3447
return false;
3548

36-
setKeyboardEnabled(true);
49+
setKeypadEnabled(true);
3750

3851
auto winSize = CCDirector::sharedDirector()->getWinSize();
3952
auto menu = CCMenu::create();
53+
menu->setID("menu");
4054

4155
auto background = CCSprite::create("GJ_gradientBG.png");
4256
background->setScaleX(CCDirector::sharedDirector()->getWinSize().width / background->getContentSize().width);
4357
background->setScaleY(CCDirector::sharedDirector()->getWinSize().height / background->getContentSize().height);
4458
background->setZOrder(-1);
4559
background->setColor({ 0, 102, 255 });
4660
background->setID("background");
47-
background->setPosition({ 0.f, 0.f });
61+
background->setPosition({ winSize.width / 2, winSize.height / 2 });
4862
this->addChild(background);
63+
64+
auto backBtn = CCMenuItemSpriteExtra::create(
65+
CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"),
66+
this,
67+
menu_selector(GYSettingSelectLayer::backWrapper)
68+
);
69+
backBtn->setPosition(winSize.width * -0.45, winSize.height * 0.4);
70+
backBtn->setID("back-btn");
71+
menu->addChild(backBtn);
72+
73+
auto title = CCLabelBMFont::create("Geodify Settings", "bigFont.fnt");
74+
title->setPosition(winSize.width / 2, winSize.height * 0.9);
75+
title->setID("title");
76+
this->addChild(title);
77+
78+
auto leftMenu = CCMenu::create();
79+
leftMenu->setAnchorPoint({ 0, 0 });
80+
leftMenu->setContentSize({ 0.f, winSize.height * 0.6f });
81+
leftMenu->setPosition({ winSize.width * 0.1f, winSize.height * 0.2f });
82+
leftMenu->setID("left-menu");
83+
84+
auto leftLayout = ColumnLayout::create();
85+
leftLayout->setAxis(Axis::Column);
86+
leftLayout->setGap(10.f);
87+
88+
leftMenu->setLayout(leftLayout);
89+
90+
auto colorBtn = CCMenuItemSpriteExtra::create(
91+
CCSprite::createWithSpriteFrameName(
92+
"GJ_paintBtn_001.png"
93+
),
94+
this,
95+
menu_selector(GYSettingSelectLayer::settingsBtn)
96+
);
97+
colorBtn->setID("color-button");
98+
99+
leftMenu->addChild(colorBtn);
100+
101+
leftMenu->updateLayout();
102+
103+
this->addChild(leftMenu);
104+
this->addChild(menu);
49105

50106
return true;
51107
}

src/layers/GYSettingSelectLayer.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ class GYSettingSelectLayer : public CCLayer {
1111
static GYSettingSelectLayer* create();
1212
bool init();
1313
void settingsBtn(CCObject* sender);
14+
void backWrapper(CCObject* sender);
1415
};

0 commit comments

Comments
 (0)