Skip to content

Commit 1f1c91c

Browse files
committed
v1.1 beta 1
1 parent e25f484 commit 1f1c91c

52 files changed

Lines changed: 4833 additions & 4641 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,9 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
1010

1111
project(GDDPIntegration VERSION 1.0.0)
1212

13-
# Set up the mod binary
14-
add_library(${PROJECT_NAME} SHARED
15-
#src/main.cpp
16-
# Add your cpp files here
17-
src/hooks/CreatorLayer.cpp
18-
src/hooks/LevelInfoLayer.cpp
19-
src/hooks/LevelCell.cpp
20-
src/hooks/PlayLayer.cpp
21-
src/popups/StatsPopup.cpp
22-
src/DPUtils.cpp
23-
src/menus/DPListLayer.cpp
24-
src/menus/DPLayer.cpp
25-
src/menus/DPPackCell.cpp
26-
src/menus/RecommendedLayer.cpp
27-
src/popups/SupportPopup.cpp
28-
src/XPUtils.cpp
29-
src/popups/XPPopup.cpp
30-
src/RecommendedUtils.cpp
31-
src/menus/DPSearchLayer.cpp
32-
src/popups/SearchPopup.cpp
33-
src/RouletteUtils.cpp
34-
src/popups/RoulettePopup.cpp
35-
src/menus/RouletteSafeLayer.cpp
36-
src/popups/dev/VerificationPopup.cpp
37-
src/popups/dev/SaveContentsPopup.cpp
38-
src/base64.cpp
39-
src/CustomText.cpp
40-
src/RefreshStats.cpp
41-
src/popups/OpenStartposPopup.cpp
42-
)
13+
file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS src/*.cpp)
14+
15+
add_library(${PROJECT_NAME} SHARED ${SOURCES})
4316

4417
if (NOT DEFINED ENV{GEODE_SDK})
4518
message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode")

README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,6 @@ An official mod for the **G**eometry **D**ash **D**emon **P**rogression list tha
1414

1515
[Learn more about the GDDP on the website!](https://gddp.pro/)
1616

17-
# Update Roadmap
18-
19-
* Pack Banners
20-
* Achievement Popups
21-
2217
# Credits
2318

2419
* **ItsMochaTheOtter** - Made the mod
@@ -34,5 +29,4 @@ An official mod for the **G**eometry **D**ash **D**emon **P**rogression list tha
3429

3530
* Colon - For helping me with Server Response stuff for lists
3631
* oatmealine - API Framework for "Rate All Demons"
37-
3832
* wint0r - Created the "Rate All Demons" Option & its Sprite Framework

changelog.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
# v1.1.0
2+
3+
* Cleaned up codebase by A LOT
4+
* Reworked Recommendations system to match the website
5+
* Added a Button next to Recommended Levels to tell you what Skill they were Recommended for (Can be disabled)
6+
* Check/Uncheck All no longer scrolls the menu back to the top
7+
* Merged Skillsets and most hardcoded data to the Main List
8+
* XP now shows your progress to the Max Level for a Skill
9+
* XP now displays the Correct Progress to your Next Level
10+
* You can now view your projected XP Value on an uncompleted level
11+
* Added a Random Level Selector in Packs
12+
* Completed & Uncompleted Filters
13+
* Customizable Weight & Offset for more fine-tuned results
14+
* Progress Bars on Packs and Recommendations now Automatically Update
15+
* Added Achievement Popups for Packs and Medals (Can be Disabled/Customized)
16+
* Improved Stats Menu UI and made it update Dynamically
17+
* Highest/Next Highest now show the actual Highest/Next Highest you have or don't have/skipped in Stats
18+
* Fixed Roulette Name Entry being cleared on Check All/Uncheck All
19+
* Added Fancy Medals (And an Option to Toggle Them)
20+
* Removed "Reduce Demon Label Effects" as it didn't do much to help anyway
21+
* Alternative option is to disable "Fancy Demon Labels"
22+
* Patched up some crashes thanks to Jasmine
23+
24+
# v1.0.16
25+
26+
* Fixed Roulette not working
27+
128
# v1.0.15
229

330
* Fixed monthly timer desync

mod.json

Lines changed: 61 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"geode": "5.0.0-beta.2",
2+
"geode": "5.4.1",
33
"gd": {
44
"win": "2.2081",
55
"android": "2.2081",
66
"ios": "2.2081",
77
"mac": "2.2081"
88
},
9-
"version": "v1.0.15",
9+
"version": "v1.1.0-beta.1",
1010
"id": "minemaker0430.gddp_integration",
1111
"name": "GDDP - Demon Progression",
1212
"developer": "ItsMochaTheOtter",
@@ -93,6 +93,13 @@
9393
"default": true,
9494
"enable-if": "skillset-badges"
9595
},
96+
"show-recommended-in-list": {
97+
"name": "Show Recommendations Button in List",
98+
"description": "If disabled, the star button on recommendations will only be shown on the Level Page.",
99+
"type": "bool",
100+
"default": true,
101+
"enable-if": "skillset-badges"
102+
},
96103
"enable-search": {
97104
"name": "Enable Search Menu",
98105
"description": "Enables the Advanced GDDP Search Menu.",
@@ -111,6 +118,18 @@
111118
"type": "bool",
112119
"default": true
113120
},
121+
"enable-recommended-btn": {
122+
"name": "Enable Recommendation Button",
123+
"description": "Enables the Star button next to recommended levels.",
124+
"type": "bool",
125+
"default": true
126+
},
127+
"enable-random-level-picker": {
128+
"name": "Enable Random Level Picker",
129+
"description": "Enables the Button on GDDP Pages that pick a Random Level.",
130+
"type": "bool",
131+
"default": true
132+
},
114133
"show-xp": {
115134
"name": "Enable XP",
116135
"description": "Enables all XP-Related Buttons.",
@@ -123,6 +142,12 @@
123142
"type": "bool",
124143
"default": true
125144
},
145+
"replace-main-levels": {
146+
"name": "Replace Main Level Copies",
147+
"description": "Overrides the GDDP's Main Level Copies by sending you to the actual Main Levels.",
148+
"type": "bool",
149+
"default": true
150+
},
126151
"faces-section": {
127152
"name": "Difficulty Faces",
128153
"description": "Options relating to the GDDP Difficulties. Purely cosmetic.",
@@ -210,6 +235,30 @@
210235
"description": "Options that relate to cosmetics in menus.",
211236
"type": "title"
212237
},
238+
"achievement-popups": {
239+
"name": "Achievement Popups",
240+
"description": "Toggles the Achievement Popups that happen whenever you get a Rank, Plus Rank, Pack Completion, Monthly Completion, or Medal.",
241+
"type": "bool",
242+
"default": true
243+
},
244+
"disable-pack-achievements": {
245+
"name": "Disable Pack Achievements",
246+
"description": "Disables the Achievement Popups that happen whenever you complete a Legacy or Bonus Pack.",
247+
"type": "bool",
248+
"default": false
249+
},
250+
"disable-monthly-achievements": {
251+
"name": "Disable Monthly Achievements",
252+
"description": "Disables the Achievement Popups that happen whenever you complete the Monthly.",
253+
"type": "bool",
254+
"default": false
255+
},
256+
"disable-medal-achievements": {
257+
"name": "Disable Medal Achievements",
258+
"description": "Disables the Achievement Popups that happen whenever you get a Medal or Plus Medal.",
259+
"type": "bool",
260+
"default": false
261+
},
213262
"custom-pack-text": {
214263
"name": "Fancy Pack Text",
215264
"description": "Adds fancy text to pack names.",
@@ -222,18 +271,18 @@
222271
"type": "bool",
223272
"default": true
224273
},
225-
"reduce-demon-label-effects": {
226-
"name": "Reduce Demon Label Effects",
227-
"description": "Disables most Demon Label Effects to prevent eyestrain from pixelation on lower resolutions.",
228-
"type": "bool",
229-
"default": false
230-
},
231274
"custom-level-name": {
232275
"name": "Fancy Level Name",
233276
"description": "Adds fancy text to level names.",
234277
"type": "bool",
235278
"default": true
236279
},
280+
"fancy-medals": {
281+
"name": "Fancy Medals",
282+
"description": "Adds fancy text to Medals & Plus Medals.",
283+
"type": "bool",
284+
"default": true
285+
},
237286
"override-gold-text": {
238287
"name": "Override Completed Text",
239288
"description": "Fancy text overrides gold text on completed packs.",
@@ -270,17 +319,11 @@
270319
"type": "bool",
271320
"default": false
272321
},
273-
"custom-banners": {
274-
"name": "Enable Banners [NYI]",
275-
"description": "Adds a custom banner for each tier.",
322+
"disable-fancy-monthly-text": {
323+
"name": "Disable Fancy Monthly Pack Text",
324+
"description": "Disables the text effects on monthly packs.",
276325
"type": "bool",
277-
"default": true
278-
},
279-
"custom-backgrounds": {
280-
"name": "Enable Tier Backgrounds [NYI]",
281-
"description": "Adds a custom background for each tier.",
282-
"type": "bool",
283-
"default": true
326+
"default": false
284327
},
285328
"restore-bg-color": {
286329
"name": "Vanilla Background Color",

src/CustomText.cpp

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ std::string CustomText::getText() {
7474
}
7575

7676
void CustomText::addBevel() {
77-
if (Mod::get()->getSettingValue<bool>("disable-bevel")) { return; }
77+
if (Mod::get()->getSettingValue<bool>("disable-bevel")) return;
7878

7979
auto bevel = CCLabelBMFont::create(m_label->getString(), "bevelFont.fnt"_spr);
8080
bevel->setOpacity(125);
@@ -88,7 +88,7 @@ void CustomText::addBevel() {
8888
}
8989

9090
void CustomText::addGradient(ccColor3B color, float opacity, bool rotated) {
91-
if (Mod::get()->getSettingValue<bool>("disable-text-gradient")) { return; }
91+
if (Mod::get()->getSettingValue<bool>("disable-text-gradient")) return;
9292

9393
auto gradient = CCSprite::createWithSpriteFrameName("DP_Gradient.png"_spr);
9494
gradient->setColor(color);
@@ -116,7 +116,7 @@ void CustomText::addGradient(ccColor3B color, float opacity, bool rotated) {
116116
}
117117

118118
void CustomText::addRadialGradient(ccColor3B color, float opacity) {
119-
if (Mod::get()->getSettingValue<bool>("disable-text-gradient")) { return; }
119+
if (Mod::get()->getSettingValue<bool>("disable-text-gradient")) return;
120120

121121
auto gradient = CCSprite::createWithSpriteFrameName("DP_RadialGradient.png"_spr);
122122
gradient->setColor(color);
@@ -132,7 +132,7 @@ void CustomText::addRadialGradient(ccColor3B color, float opacity) {
132132
}
133133

134134
void CustomText::addStars(ccColor3B color, float opacity) {
135-
if (Mod::get()->getSettingValue<bool>("disable-stars")) { return; }
135+
if (Mod::get()->getSettingValue<bool>("disable-stars")) return;
136136

137137
auto frontStars = CCSprite::createWithSpriteFrameName("DP_Stars.png"_spr);
138138
auto backStars = CCSprite::createWithSpriteFrameName("DP_Stars.png"_spr);
@@ -157,7 +157,7 @@ void CustomText::addStars(ccColor3B color, float opacity) {
157157
}
158158

159159
void CustomText::addCrystals(ccColor3B color, float opacity) {
160-
if (Mod::get()->getSettingValue<bool>("disable-crystals")) { return; }
160+
if (Mod::get()->getSettingValue<bool>("disable-crystals")) return;
161161

162162
auto crystalParent = CCNode::create();
163163

@@ -339,16 +339,8 @@ void CustomText::scaleToContentSize(CCNode* node, CCSize size) {
339339
}
340340

341341
void CustomText::addEffectsFromProperties(matjson::Value properties) {
342-
bool reducedEffects = (Mod::get()->getSettingValue<bool>("reduce-demon-label-effects") && this->getScale() <= 0.35f);
343-
344342
m_label->setColor(properties["textColor"].as<ccColor3B>().unwrapOr(ccColor3B{255, 255, 255}));
345-
if (reducedEffects) {
346-
m_outline->setColor(ccColor3B{ 135, 135, 135 });
347-
}
348-
else {
349-
m_outline->setColor(properties["outlineColor"].as<ccColor3B>().unwrapOr(ccColor3B{0, 0, 0}));
350-
}
351-
343+
m_outline->setColor(properties["outlineColor"].as<ccColor3B>().unwrapOr(ccColor3B{0, 0, 0}));
352344
m_dropshadow->setColor(properties["shadowColor"].as<ccColor3B>().unwrapOr(ccColor3B{0, 0, 0}));
353345

354346
bool gradient = properties["gradient"].as<bool>().unwrapOr(false);
@@ -381,21 +373,21 @@ void CustomText::addEffectsFromProperties(matjson::Value properties) {
381373
}
382374
}
383375

384-
if (crystal && !reducedEffects) {
376+
if (crystal) {
385377
addCrystals(
386378
properties["crystalColor"].as<ccColor3B>().unwrapOr(ccColor3B{255, 255, 255}),
387379
properties["crystalOpacity"].as<float>().unwrapOr(1.0f)
388380
);
389381
}
390382

391-
if (stars && !reducedEffects) {
383+
if (stars) {
392384
addStars(
393385
properties["starsColor"].as<ccColor3B>().unwrapOr(ccColor3B{255, 255, 255}),
394386
properties["starsOpacity"].as<float>().unwrapOr(1.0f)
395387
);
396388
}
397389

398-
if (bevel && !reducedEffects) {
390+
if (bevel) {
399391
addBevel();
400392
}
401393

@@ -406,6 +398,10 @@ void CustomText::addEffectsFromProperties(matjson::Value properties) {
406398
return;
407399
}
408400

401+
void CustomText::clearEffects() {
402+
m_effects->removeAllChildrenWithCleanup(true);
403+
}
404+
409405
CustomText* CustomText::create(std::string text) {
410406
auto pRet = new CustomText();
411407
if (pRet && pRet->init(text)) {

src/CustomText.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ special (String) - custom effects
6969
*/
7070

7171
// Yes, all of these are hardcoded, they pretty much have to be to avoid any issues.
72-
const matjson::Value DPTextEffects = matjson::parse(R"(
72+
/*const matjson::Value DPTextEffects = matjson::parse(R"(
7373
{
7474
"beginner": {
7575
"textColor": [0, 134, 168],
@@ -454,4 +454,4 @@ const matjson::Value DPTextEffects = matjson::parse(R"(
454454
"crystal": true
455455
}
456456
}
457-
)").unwrapOrDefault();
457+
)").unwrapOrDefault();*/

0 commit comments

Comments
 (0)