Skip to content

Commit 40b1132

Browse files
committed
remove unused files, fix bugs
1 parent 741a0ad commit 40b1132

File tree

6 files changed

+48
-143
lines changed

6 files changed

+48
-143
lines changed

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ project(EndscreenTweaks VERSION 1.0.0)
1313
add_library(${PROJECT_NAME} SHARED
1414
src/MenuLayer.cpp
1515
src/PlayLayer.cpp
16-
src/CCScheduler.cpp
1716
src/EndLevelLayer.cpp
1817
src/CurrencyRewardLayer.cpp
1918
src/main.cpp

mod.json

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"geode": "4.3.1",
2+
"geode": "4.4.0",
33
"gd": {
4-
"mac": "2.2074",
5-
"android": "2.2074",
64
"win": "2.2074",
7-
"ios": "2.2074"
5+
"mac": "2.2074",
6+
"ios": "2.2074",
7+
"android": "2.2074"
88
},
99
"version": "v1.6.2",
1010
"id": "raydeeux.endscreentweaks",
@@ -216,30 +216,23 @@
216216
"resources/btn.png"
217217
]
218218
},
219-
"dependencies": [
220-
{
221-
"id": "geode.node-ids",
222-
"version": ">=1.17.0",
223-
"importance": "required"
224-
}
225-
],
226-
"incompatibilities": [
227-
{
228-
"id": "relative.custom_endscreen_text",
229-
"version": "*",
219+
"dependencies": {
220+
"geode.node-ids": ">=1.17.0"
221+
},
222+
"incompatibilities": {
223+
"relative.custom_endscreen_text":{
224+
"version": ">=1.0.0",
230225
"importance": "superseded"
231226
},
232-
{
233-
"id": "raydeeux.wholesomeendtexts",
234-
"version": "*",
227+
"raydeeux.wholesomeendtexts": {
228+
"version": ">=1.0.0",
235229
"importance": "superseded"
236230
},
237-
{
238-
"id": "1257plays.spaceuk_mode",
239-
"version": "*",
231+
"1257plays.spaceuk_mode": {
232+
"version": ">=1.0.0",
240233
"importance": "superseded"
241234
}
242-
],
235+
},
243236
"issues": {
244237
"url": "https://discord.com/channels/911701438269386882/1205523212444639292",
245238
"info": "To disable hyphen prefixes and suffixes in custom messages, edit saved.json. For other issues, ping me <cl>(@erymanthus)</c> in the Geode SDK Discord server's <cl>#help</c> channel if you need help. <cr>DMs are NOT accepted.</c>"

src/CCScheduler.cpp

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/EndLevelLayer.cpp

Lines changed: 22 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
using namespace geode::prelude;
1313

1414
class $modify(MyEndLevelLayer, EndLevelLayer) {
15+
static void onModify(auto& self) {
16+
(void) self.setHookPriorityPost("EndLevelLayer::showLayer", Priority::First);
17+
}
1518
CCSprite* getHideButtonSprite() {
1619
return typeinfo_cast<CCSprite*>(getChildByIDRecursive("hide-button")->getChildren()->objectAtIndex(0));
1720
}
@@ -43,7 +46,7 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
4346
}
4447
void applySpaceUK() {
4548
if (!getModBool("spaceUK")) return;
46-
Manager* manager = managerMacro;
49+
const Manager* manager = managerMacro;
4750
auto levelCompleteText = getChildByIDRecursive("level-complete-text");
4851
if (!levelCompleteText) levelCompleteText = getChildByIDRecursive("practice-complete-text"); // grab practice mode complete text as fallback node
4952
if (!levelCompleteText) return;
@@ -79,11 +82,11 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
7982
}
8083
void applyHideChainsBackground() {
8184
if (getModBool("hideChains")) {
82-
if (const auto left = getChildByIDRecursive("chain-left")) left->setVisible(false);
83-
if (auto right = getChildByIDRecursive("chain-right")) right->setVisible(false);
85+
if (CCNode* left = getChildByIDRecursive("chain-left")) left->setVisible(false);
86+
if (CCNode* right = getChildByIDRecursive("chain-right")) right->setVisible(false);
8487
}
8588
if (getModBool("hideBackground")) {
86-
if (const auto bg = getChildByIDRecursive("background")) bg->setVisible(false);
89+
if (CCNode* bg = getChildByIDRecursive("background")) bg->setVisible(false);
8790
}
8891
}
8992
void applyPlatAttemptsAndJumpsOrFlukedFromPercent(GJGameLevel* theLevel) {
@@ -103,81 +106,24 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
103106
attemptsLabel->setPosition(timeLabel->getPositionX(), timeLabel->getPositionY() + 40);
104107
attemptsLabel->setID("attempts-label"_spr);
105108
m_mainLayer->addChild(attemptsLabel);
106-
m_mainLayer->updateLayout();
107109
const auto jumpsLabel = cocos2d::CCLabelBMFont::create(("Jumps: " + std::to_string(playLayer->m_jumps)).c_str(), "goldFont.fnt");
108110
jumpsLabel->setScale(0.8f);
109111
jumpsLabel->setPosition({timeLabel->getPositionX(), timeLabel->getPositionY() + 20});
110112
jumpsLabel->setID("jumps-label"_spr);
111113
m_mainLayer->addChild(jumpsLabel);
112-
m_mainLayer->updateLayout();
113114
} else if (getModString("classicFlukedFrom") != "[Disabled]" && !isPlat && !playLayer->m_isTestMode && !playLayer->m_isPracticeMode && manager->lastFlukedPercent < 100) {
114115
const auto timeLabel = getChildByIDRecursive("time-label");
115116
const auto jumpsLabel = getChildByIDRecursive("jumps-label");
116117
if (!timeLabel || !jumpsLabel) return;
117118
jumpsLabel->setPositionY(jumpsLabel->getPositionY() + 7.0f);
118119
timeLabel->setPositionY(timeLabel->getPositionY() + 14.0f);
119-
auto flukedFromLabel = cocos2d::CCLabelBMFont::create(fmt::format("{}: {}%", getModString("classicFlukedFrom"), manager->lastFlukedPercent).c_str(), "goldFont.fnt");
120+
CCLabelBMFont* flukedFromLabel = CCLabelBMFont::create(fmt::format("{}: {}%", getModString("classicFlukedFrom"), manager->lastFlukedPercent).c_str(), "goldFont.fnt");
120121
flukedFromLabel->setPosition(jumpsLabel->getPositionX(), timeLabel->getPositionY() - 16.0f);
121122
flukedFromLabel->setScale(timeLabel->getScale());
122123
flukedFromLabel->setID("fluked-from-label"_spr);
123124
m_mainLayer->addChild(flukedFromLabel);
124-
m_mainLayer->updateLayout();
125125
}
126126
}
127-
/*
128-
void applyGDMOCompatShowLayer(GJGameLevel* theLevel) {
129-
isGDMO = Loader::get()->isModLoaded("maxnu.gd_mega_overlay");
130-
if (isGDMO && theLevel->m_coins == 0 && Loader::get()->getLoadedMod("maxnu.gd_mega_overlay")->getSavedValue<bool>("level/endlevellayerinfo/enabled")) {
131-
//
132-
gdmo does this silly thing where they add children without giving them node IDs and i need to release this mod ASAP so please forgive me for using getobjectatindex but getchildoftype doesnt work for this use case because everything in endscreen layer is a child of some other cclayer smh
133-
if (!m_mainLayer) return;
134-
auto mainLayerChildren = m_mainLayer->getChildren();
135-
auto attemptsLabel = getChildByIDRecursive("attempts-label");
136-
auto jumpsLabel = getChildByIDRecursive("jumps-label");
137-
if (attemptsLabel == nullptr || jumpsLabel == nullptr) {
138-
log::info("uhoh! couldnt find labels");
139-
attemptsLabel = getChildByIDRecursive("attempts-label"_spr);
140-
jumpsLabel = getChildByIDRecursive("jumps-label"_spr);
141-
}
142-
auto iHopeThisIsGDMONoclipAccuracyLabel = typeinfo_cast<CCNode*>(mainLayerChildren->objectAtIndex(3));
143-
auto iHopeThisIsGDMONoclipDeathLabel = typeinfo_cast<CCNode*>(mainLayerChildren->objectAtIndex(4));
144-
if (iHopeThisIsGDMONoclipAccuracyLabel == nullptr || iHopeThisIsGDMONoclipDeathLabel == nullptr) {
145-
return;
146-
}
147-
if (strcmp(iHopeThisIsGDMONoclipAccuracyLabel->getID().c_str(), "") != 0 || strcmp(iHopeThisIsGDMONoclipDeathLabel->getID().c_str(), "") != 0) {
148-
return;
149-
}
150-
iHopeThisIsGDMONoclipAccuracyLabel->setPositionY(attemptsLabel->getPositionY());
151-
iHopeThisIsGDMONoclipDeathLabel->setPositionY(jumpsLabel->getPositionY());
152-
//
153-
// backup plan starts below
154-
float windowWidth = getChildByIDRecursive("background")->getContentSize().width;
155-
float windowHeight = CCDirector::get()->getWinSize().height;
156-
float offset = getChildByIDRecursive("background")->getPositionX();
157-
auto starContainer = getChildByIDRecursive("star-container");
158-
if (starContainer == nullptr) { starContainer = getChildByIDRecursive("moon-container"); }
159-
float gdmoHeight = windowHeight * (285.f / 320.f);
160-
float gdmoTwentyFivePercentX = (windowWidth * .25f) + offset;
161-
float gdmoFiftyPercentX = (windowWidth * .5f) + offset;
162-
float gdmoSeventyFivePercentX = (windowWidth * .75f) + offset;
163-
if (starContainer) {
164-
if (theLevel->m_stars.value() == 1) { starContainer->setPositionX(gdmoFiftyPercentX); }
165-
else { starContainer->setPositionX(gdmoTwentyFivePercentX); }
166-
starContainer->setPositionY(gdmoHeight);
167-
}
168-
if (auto orbContainer = getChildByIDRecursive("orb-container")) {
169-
orbContainer->setPositionY(gdmoHeight);
170-
if (auto diamondContainer = getChildByIDRecursive("diamond-container")) {
171-
diamondContainer->setPositionX(gdmoSeventyFivePercentX);
172-
diamondContainer->setPositionY(gdmoHeight);
173-
orbContainer->setPositionX(gdmoFiftyPercentX);
174-
} else {
175-
orbContainer->setPositionX(gdmoSeventyFivePercentX);
176-
}
177-
}
178-
}
179-
}
180-
*/
181127
void applyCustomLevelCompleteText(const std::string_view matchPlayLayer) {
182128
if (!getModBool("customLevelCompleteText") || !getModBool("enabled") || !m_playLayer) return;
183129
const auto lvlCompleteText = typeinfo_cast<CCSprite*>(getChildByIDRecursive("level-complete-text"));
@@ -193,7 +139,6 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
193139
return log::info("tried replacing the sprite, but newly created sprite was null? attempted image: {}", manager->sharedReplacementSprite);
194140
}
195141
lvlCompleteText->addChild(newSprite);
196-
lvlCompleteText->updateLayout();
197142
newSprite->setPosition(lvlCompleteText->getContentSize() / 2.f);
198143
newSprite->setID("custom-level-complete-sprite-endlevellayer"_spr);
199144
if (getModBool("scaleCustomLevelCompleteImages")) {
@@ -214,7 +159,6 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
214159
newLabel->setExtraKerning(5);
215160
newLabel->limitLabelWidth(380.f, 1.0f, 0.25f);
216161
lvlCompleteText->addChild(newLabel);
217-
lvlCompleteText->updateLayout();
218162
newLabel->setPosition(lvlCompleteText->getContentSize() / 2.f);
219163
newLabel->setID("custom-level-complete-label-endlevellayer"_spr);
220164
newLabel->setZOrder(1);
@@ -223,7 +167,6 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
223167
underLabel->setExtraKerning(5);
224168
underLabel->limitLabelWidth(380.f, 1.0f, 0.25f);
225169
lvlCompleteText->addChild(underLabel);
226-
lvlCompleteText->updateLayout();
227170
underLabel->setPosition(lvlCompleteText->getContentSize() / 2.f);
228171
underLabel->setID("custom-level-complete-label-endlevellayer-underlay"_spr);
229172
underLabel->setZOrder(0);
@@ -236,7 +179,7 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
236179
auto endTextLabel = typeinfo_cast<CCLabelBMFont*>(getChildByIDRecursive("end-text"));
237180
if (!endTextLabel) return;
238181

239-
int64_t fontID = Mod::get()->getSettingValue<int64_t>("customFont");
182+
const int64_t fontID = Mod::get()->getSettingValue<int64_t>("customFont");
240183
if (fontID == -2) {
241184
endTextLabel->setFntFile("chatFont.fnt");
242185
} else if (fontID == -1) {
@@ -254,27 +197,27 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
254197
if ("Make sure to screenshot this win!" == randomString) {
255198
#ifdef GEODE_IS_MACOS
256199
randomString = "Press Command + Shift + 3 to screenshot this win!";
257-
#endif
258-
#ifdef GEODE_IS_ANDROID
200+
#elif defined(GEODE_IS_IOS)
201+
randomString = "Don\'t forget to screenshot this win!";
202+
#elif defined(GEODE_IS_ANDROID)
259203
randomString = "Press the \"Volume Down\'\' and \"Power\'\' buttons to screenshot this win!";
260-
#endif
261-
#ifdef GEODE_IS_WINDOWS
204+
#elif defined(GEODE_IS_WINDOWS)
262205
randomString = "Press \"Win + Shift + S\'\' or \"PrtSc\'\' to screenshot this win!";
263206
#endif
264207
} else if (R"(''First try, part two!")" == randomString) {
265208
std::string temp = fmt::format(R"(''First try, part {}!")", playLayer->m_attempts);
266209
if (playLayer->m_attempts == 1) { temp = R"(''First try!")"; }
267210
randomString = temp;
268211
} else if (R"(''As you can see, my FPS is around 18 or so, which means we can definitely take this further.")" == randomString) {
269-
randomString = fmt::format(R"(''As you can see, my FPS is around {} or so, which means we can definitely take this further.")", manager->fps);
212+
randomString = fmt::format(R"(''As you can see, my FPS is around {} or so, which means we can definitely take this further.")", CCDirector::get()->m_fFrameRate);
270213
} else if (R"(''If you wish to defeat me, train for another 100 years.")" == randomString) {
271214
randomString = fmt::format(R"(''If you wish to defeat me, train for another {} years.")", std::max(100, (playLayer->m_jumps * 100)));
272215
} else if ("Good luck on your statgrinding session!" == randomString && theLevel->m_stars.value() != 0) {
273216
if (theLevel->isPlatformer()) { randomString = "Good luck on that moongrinding session!"; }
274217
else { randomString = "Good luck on that stargrinding session!"; }
275218
}
276219

277-
float scale = 0.36f * 228.f / strlen(randomString.c_str());
220+
float scale = 0.36f * 228.f / static_cast<float>(randomString.length());
278221
if ("BELIEVE" == randomString) scale = 1.5f;
279222
else if ("endTextLabel->setString(randomString.c_str());" == randomString) scale = 0.4f;
280223
else if (scale > Mod::get()->getSettingValue<double>("maxScale")) scale = getModDouble("maxScale");
@@ -287,14 +230,13 @@ class $modify(MyEndLevelLayer, EndLevelLayer) {
287230
void showLayer(bool p0) {
288231
if (!getModBool("enabled")) return EndLevelLayer::showLayer(p0);
289232
EndLevelLayer::showLayer(getModBool("noTransition"));
290-
if (auto playLayer = PlayLayer::get()) {
291-
auto theLevel = playLayer->m_level;
292-
MyEndLevelLayer::applyHideEndLevelLayerHideBtn();
293-
MyEndLevelLayer::applyHideChainsBackground();
294-
MyEndLevelLayer::applySpaceUK();
295-
MyEndLevelLayer::applyPlatAttemptsAndJumpsOrFlukedFromPercent(theLevel);
296-
// MyEndLevelLayer::applyGDMOCompatShowLayer(theLevel);
297-
}
233+
if (!m_playLayer || !m_playLayer->m_level) return;
234+
GJGameLevel* theLevel = m_playLayer->m_level;
235+
MyEndLevelLayer::applyHideEndLevelLayerHideBtn();
236+
MyEndLevelLayer::applyHideChainsBackground();
237+
MyEndLevelLayer::applySpaceUK();
238+
MyEndLevelLayer::applyPlatAttemptsAndJumpsOrFlukedFromPercent(theLevel);
239+
// MyEndLevelLayer::applyGDMOCompatShowLayer(theLevel);
298240
}
299241
void customSetup() {
300242
EndLevelLayer::customSetup();

src/FLAlertLayer.cpp

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/Manager.hpp

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -107,26 +107,21 @@ class Manager {
107107
}
108108
GJGameLevel* level = playLayer->m_level;
109109
std::string chosenModID = grabRandomString(manager->loadedModMenus);
110-
if (replacementLabelText == "DOWNWELL-0 CLEARED" || replacementLabelText == "SONIC MADE IT THROUGH ACT 0") {
111-
replacementLabelText = utils::string::replace(replacementLabelText, "0", utils::numToString(getRandInt()));
112-
replacementLabelText = utils::string::replace(replacementLabelText, "DOWNWELL", grabRandomString(manager->downwellStages));
113-
replacementLabelText = utils::string::replace(replacementLabelText, "SONIC", grabRandomString(manager->sonicNames));
114-
if (replacementLabelText.starts_with("PLAYER")) {
115-
replacementLabelText = utils::string::replace(replacementLabelText, "PLAYER", utils::string::toUpper(GameManager::get()->m_playerName));
116-
}
110+
if (replacementLabelText == "DOWNWELL-0 CLEARED") {
111+
replacementLabelText = fmt::format("{}-{} CLEARED", grabRandomString(manager->downwellStages), utils::numToString(getRandInt()));
112+
} else if (replacementLabelText == "SONIC MADE IT THROUGH ACT 0") {
113+
std::string sonicName = grabRandomString(manager->sonicNames);
114+
if (sonicName == "PLAYER") sonicName = utils::string::toUpper(GameManager::get()->m_playerName);
115+
replacementLabelText = fmt::format("{} MADE IT THROUGH ACT {}", sonicName, utils::numToString(getRandInt(7)));
117116
} else if (replacementLabelText == "U RAPPIN' RESULT!") {
118-
replacementLabelText = utils::string::replace(replacementLabelText, "RESULT", grabRandomString(manager->parappaResults));
117+
replacementLabelText = fmt::format("U RAPPIN' {}!", grabRandomString(manager->parappaResults));
119118
} else if (replacementLabelText == "A KNOCKOUT!" && level->m_stars.value() != 0) {
120119
replacementLabelText = grabRandomString(manager->cupheadResults);
121120
} else if (replacementLabelText == "RESULT: -1 EXP, $-2 MONEY, -3 ITEMS") {
122-
replacementLabelText = utils::string::replace(replacementLabelText, "-1", utils::numToString(level->m_stars.value()));
123-
replacementLabelText = utils::string::replace(replacementLabelText, "-2", utils::numToString(getRandInt(500)));
124-
replacementLabelText = utils::string::replace(replacementLabelText, "-3", utils::numToString(getRandInt()));
125-
if (replacementLabelText.ends_with("1 ITEMS")) {
126-
replacementLabelText = utils::string::replace(replacementLabelText, "1 ITEMS", "1 ITEMS");
127-
}
121+
const int numItems = getRandInt();
122+
replacementLabelText = fmt::format("RESULT: {} EXP, ${} MONEY, {} {}", utils::numToString(level->m_stars.value()), utils::numToString(getRandInt(500)), numItems, numItems == 1 ? "ITEM" : "ITEMS");
128123
} else if (replacementLabelText == "SPONSORED BY YOUR LOCAL MOD MENU" && !manager->loadedModMenus.empty() && manager->modIDToModMenu.contains(chosenModID)) {
129-
replacementLabelText = utils::string::replace(replacementLabelText, "YOUR LOCAL MOD MENU", manager->modIDToModMenu.find(chosenModID)->second);
124+
replacementLabelText = fmt::format("SPONSORED BY {}", manager->modIDToModMenu.find(chosenModID)->second);
130125
}
131126
log::info("replacementLabelText after changes: {}", replacementLabelText);
132127
manager->sharedReplacementLabel = replacementLabelText;
@@ -135,9 +130,7 @@ class Manager {
135130
log::info("customLCTMode: {} (should not be Combined)", customLCTMode);
136131
log::info("sharedReplacementSprite: {}", manager->sharedReplacementSprite);
137132
log::info("sharedReplacementLabel: {}", manager->sharedReplacementLabel);
138-
if (customLCTMode == "Combined") {
139-
return log::info("something went terribly wrong --- check contents of the `manager->knownCLCTModesBesidesCombined` vector");
140-
}
133+
if (customLCTMode == "Combined") return log::info("something went terribly wrong --- check contents of the `manager->knownCLCTModesBesidesCombined` vector");
141134
manager->chosenMode = customLCTMode;
142135
}
143136
};

0 commit comments

Comments
 (0)