Skip to content

Commit

Permalink
changes
Browse files Browse the repository at this point in the history
  • Loading branch information
OmgRod committed Jan 12, 2025
1 parent 7e3ab38 commit 9a4c0b8
Show file tree
Hide file tree
Showing 53 changed files with 179 additions and 65 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class $modify(MyCreatorLayer, CreatorLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");

this->addChild(swelvyBG);
}
Expand All @@ -80,7 +80,7 @@ HookClass(GlobedLevelListLayer) {

SwelvyBG* swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-1);
swelvyBG->setID("swelvy-background");
this->addChild(swelvyBG);
}

Expand All @@ -104,7 +104,7 @@ HookClass_Scene(cvolton_betterinfo_CustomCreatorLayer,"cvolton.betterinfo/Custom
bg->setVisible(false);
SwelvyBG* swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-1);
swelvyBG->setID("swelvy-background");
_This->addChild(swelvyBG);
}
}
Expand Down
20 changes: 17 additions & 3 deletions mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,20 @@
"description": "Converts most menus' backgrounds to the Geode one (SwelvyBG).",
"early-load": true,
"resources": {
"sprites": [
"res/previews/*.png"
],
"spritesheets": {
"previewSheet": [
"res/previews/*.png"
]
},
"files": [
"res/layers.json"
]
},
"settings": {
"color-title": {
"type": "title",
"name": "Color Offset Settings"
},
"enable-color": {
"name": "Enable Color Offset",
"description": "Enables color offset for the SwelvyBG.",
Expand Down Expand Up @@ -68,6 +74,10 @@
"default": "113,74,154",
"enable-if": "enable-color"
},
"gd-title": {
"type": "title",
"name": "Geometry Dash"
},
"show-main": {
"name": "Show in main menu",
"description": "MenuLayer",
Expand Down Expand Up @@ -194,6 +204,10 @@
"type": "bool",
"default": true
},
"mods-title": {
"type": "title",
"name": "Mods Settings"
},
"external-mods": {
"name": "external mods",
"description": "For external mod layers",
Expand Down
1 change: 1 addition & 0 deletions src/SwelvyBG.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ bool SwelvyBG::init(float widthmult, float hightmult, float minspeed, float maxs
auto winSize = CCDirector::get()->getWinSize();
this->setContentSize(winSize);
this->setAnchorPoint({ 0.f, 0.f });
this->setID("swelvy-background"_spr);

std::random_device rd;
std::mt19937 gen(rd());
Expand Down
34 changes: 34 additions & 0 deletions src/layers/GYModTile.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include <Geode/Geode.hpp>

#include "GYModTile.hpp"

using namespace geode::prelude;

GYModTile* GYModTile::create() {
GYModTile* ret = new GYModTile();
if (ret && ret->init()) {
ret->autorelease();
return ret;
}
delete ret;
return nullptr;
}

bool GYModTile::init() {
if (!CCLayer::init())
return false;

setMouseEnabled(true);

auto winSize = CCDirector::sharedDirector()->getWinSize();

this->setContentSize({ winSize.width * 0.325f, winSize.height * 0.4f });

// GJ_square04.png - The purple one
auto bg = CCScale9Sprite::create("GJ_square04.png");
bg->setContentSize(this->getContentSize());
bg->setAnchorPoint({ 0.f, 0.f});
this->addChild(bg);

return true;
}
11 changes: 11 additions & 0 deletions src/layers/GYModTile.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#pragma once

#include <Geode/Geode.hpp>

using namespace geode::prelude;

class GYModTile : public CCLayer {
public:
static GYModTile* create();
bool init();
};
79 changes: 66 additions & 13 deletions src/layers/GYSettingSelectLayer.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include <Geode/Geode.hpp>
#include <Geode/ui/ScrollLayer.hpp>
#include "../json.hpp"
#include <Geode/ui/GeodeUI.hpp>
#include <Geode/ui/BasedButtonSprite.hpp>
#include <filesystem>
#include <fstream>
#include <sstream>
Expand All @@ -10,6 +11,8 @@

#include "GYSettingSelectLayer.hpp"
#include "GYScreenshotPopup.hpp"
#include "GYModTile.hpp"
#include "../json.hpp"

using namespace geode::prelude;

Expand Down Expand Up @@ -51,6 +54,10 @@ void GYSettingSelectLayer::settingsBtn(CCObject* sender) {
CCDirector::sharedDirector()->pushScene(scenePrev);
}

void GYSettingSelectLayer::openNormalSettings(CCObject* sender) {
openSettingsPopup(Mod::get());
}

bool GYSettingSelectLayer::init() {
if (!CCLayer::init())
return false;
Expand All @@ -70,6 +77,19 @@ bool GYSettingSelectLayer::init() {
background->setPosition({ winSize.width / 2, winSize.height / 2 });
this->addChild(background);

auto cornerLeft = CCSprite::createWithSpriteFrameName("GJ_sideArt_001.png");
cornerLeft->setPosition(CCPoint(winSize.width * 0, winSize.height * 0));
cornerLeft->setAnchorPoint(CCPoint(0, 0));
cornerLeft->setID("corner-left");
this->addChild(cornerLeft);

auto cornerRight = CCSprite::createWithSpriteFrameName("GJ_sideArt_001.png");
cornerRight->setPosition(CCPoint(winSize.width * 1, winSize.height * 0));
cornerRight->setAnchorPoint(CCPoint(1, 0));
cornerRight->setFlipX(true);
cornerRight->setID("corner-right");
this->addChild(cornerRight);

auto backBtn = CCMenuItemSpriteExtra::create(
CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"),
this,
Expand All @@ -86,11 +106,17 @@ bool GYSettingSelectLayer::init() {

auto contentBox = CCScale9Sprite::create("GJ_square01.png");
contentBox->setContentSize({ winSize.width * 0.7f, winSize.height * 0.7f });
contentBox->setPosition({ winSize.width / 2, (winSize.height / 2) - (winSize.height * 0.05f) });
contentBox->setPosition({ winSize.width / 2, winSize.height / 2 - winSize.height * 0.05f });
contentBox->setAnchorPoint({ 0.5f, 0.5f });
contentBox->setID("content-box");
this->addChild(contentBox);

ScrollLayer* scroll = ScrollLayer::create({ winSize.width * 0.7f, winSize.height * 0.7f }, true, true);
scroll->setID("scroll");
contentBox->addChild(scroll);

scroll->m_contentLayer->setLayout(ColumnLayout::create()->setAxisReverse(true));

auto leftMenu = CCMenu::create();
leftMenu->setAnchorPoint({ 0, 0 });
leftMenu->setContentSize({ 0.f, winSize.height * 0.6f });
Expand All @@ -111,21 +137,41 @@ bool GYSettingSelectLayer::init() {
menu_selector(GYSettingSelectLayer::generateWrapper)
);
colorBtn->setID("color-button");

leftMenu->addChild(colorBtn);

leftMenu->updateLayout();
auto settingsBtn = CCMenuItemSpriteExtra::create(
CircleButtonSprite::create(
CCSprite::createWithSpriteFrameName("geode.loader/settings.png"),
CircleBaseColor::DarkPurple,
CircleBaseSize::Medium
),
this,
menu_selector(GYSettingSelectLayer::openNormalSettings)
);
settingsBtn->setID("settings-button");
leftMenu->addChild(settingsBtn);

// auto testBtn = CCMenuItemSpriteExtra::create(
// CCSprite::createWithSpriteFrameName(
// "GJ_paintBtn_001.png"
// ),
// this,
// menu_selector(GYSettingSelectLayer::popup)
// );
leftMenu->updateLayout();

// testBtn->setPosition(winSize.width * 0.5, winSize.height * 0.5);
// menu->addChild(testBtn);
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());
scroll->m_contentLayer->addChild(GYModTile::create());

GYSettingSelectLayer::generateModsList();

this->addChild(leftMenu);
this->addChild(menu);
Expand Down Expand Up @@ -227,5 +273,12 @@ bool GYSettingSelectLayer::generateModsList() {
log::warn("No valid 'layers' data found in JSON");
}

ScrollLayer* scroll = typeinfo_cast<ScrollLayer*>(this->getChildByID("content-box")->getChildByID("scroll"));
if (!scroll) {
log::error("Failed to cast content-box->scroll to ScrollLayer");
return false;
}
scroll->m_contentLayer->updateLayout();

return true;
}
1 change: 1 addition & 0 deletions src/layers/GYSettingSelectLayer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ class GYSettingSelectLayer : public CCLayer {
void settingsBtn(CCObject* sender);
void backWrapper(CCObject* sender);
void generateWrapper(CCObject* sender);
void openNormalSettings(CCObject* sender);
bool generateModsList();
};
2 changes: 1 addition & 1 deletion src/modify/CreatorLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class $modify(MyCreatorLayer, CreatorLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/EditLevelLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class $modify(MyEditLevelLayer, EditLevelLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/GJGarageLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class $modify(MyGJGarageLayer, GJGarageLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/GauntletLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class $modify(MyGauntletLayer, GauntletLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/GauntletSelectLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class $modify(MyGauntletSelectLayer, GauntletSelectLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LeaderboardsLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class $modify(MyLeaderboardsLayer, LeaderboardsLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-3);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);

Expand Down
2 changes: 1 addition & 1 deletion src/modify/LevelAreaInnerLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class $modify(MyLevelAreaInnerLayer, LevelAreaInnerLayer) {
if (Mod::get()->getSettingValue<bool>("show-inner-tower")){
auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LevelAreaLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class $modify(MyLevelAreaLayer, LevelAreaLayer) {
bg->setVisible(false);
auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LevelBrowserLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class $modify(MyLevelBrowserLayer, LevelBrowserLayer) {
bg->setVisible(false);
auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LevelInfoLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class $modify(MyLevelInfoLayer, LevelInfoLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LevelListLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class $modify(MyLevelListLayer, LevelListLayer) {
bg->setVisible(false);
auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-2);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LevelSearchLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class $modify(MyLevelSearchLayer, LevelSearchLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-3);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LevelSelectLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class $modify(MyLevelSelectLayer, LevelSelectLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-3);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);
}
Expand Down
2 changes: 1 addition & 1 deletion src/modify/LoadingLayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class $modify(MyLoadingLayer, LoadingLayer) {

auto swelvyBG = SwelvyBG::create();
swelvyBG->setZOrder(-3);
swelvyBG->setID("swelvy-background");


this->addChild(swelvyBG);

Expand Down
Loading

0 comments on commit 9a4c0b8

Please sign in to comment.