Skip to content

Commit 8b7bc67

Browse files
committed
v1.1.3
1 parent b13d4f7 commit 8b7bc67

7 files changed

Lines changed: 35 additions & 22 deletions

File tree

changelog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# v1.1.3
2+
3+
* Fixed some internal issues
4+
* Fixed an issue with the mod's save data
5+
* Bumped Geode version to v5.5.3
6+
17
# v1.1.2
28

39
* HOPEFULLY fixed the bug where levels are marked as completed when they aren't

mod.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
2-
"geode": "5.4.1",
2+
"geode": "5.5.3",
33
"gd": {
44
"win": "2.2081",
55
"android": "2.2081",
66
"ios": "2.2081",
77
"mac": "2.2081"
88
},
9-
"version": "v1.1.2",
9+
"version": "v1.1.3",
1010
"id": "minemaker0430.gddp_integration",
1111
"name": "GDDP - Demon Progression",
1212
"developer": "ItsMochaTheOtter",

src/DPAchievementManager.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ DPAchievementManager::DPAchievementManager() {
1818
}
1919

2020
void DPAchievementManager::update(float dt) {
21-
if (m_completedLvls == Mod::get()->getSavedValue<std::vector<int>>("completed-levels")) return;
21+
if (m_completedLvls == Mod::get()->getSavedValue<std::vector<int>>("completed-levels") && m_data == Mod::get()->getSavedValue<matjson::Value>("cached-data")) return;
22+
m_data = Mod::get()->getSavedValue<matjson::Value>("cached-data");
2223
m_completedLvls = Mod::get()->getSavedValue<std::vector<int>>("completed-levels");
2324

24-
auto data = Mod::get()->getSavedValue<matjson::Value>("cached-data");
2525
auto achievements = Mod::get()->getSavedValue<matjson::Value>("achievements");
2626
auto achNotif = AchievementNotifier::sharedState();
2727

2828
// update pack status
2929
for (std::string index : {"main", "legacy", "bonus", "monthly"}) {
30-
for (auto pack : data[index].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
30+
for (auto pack : m_data[index].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
3131
// setup important data
3232
std::string name = pack["name"].asString().unwrapOr("null");
3333
std::string sprite = pack["sprite"].asString().unwrapOr("DP_Unknown");
@@ -74,8 +74,8 @@ void DPAchievementManager::update(float dt) {
7474
if (!Mod::get()->getSettingValue<bool>("achievement-popups")) return;
7575

7676
// check main list achievements
77-
if (data.contains("main")) {
78-
for (auto pack : data["main"].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
77+
if (m_data.contains("main")) {
78+
for (auto pack : m_data["main"].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
7979
auto saveID = pack["saveID"].asString().unwrapOr("null");
8080
auto listSave = Mod::get()->getSavedValue<ListSaveFormat>(saveID);
8181

@@ -108,8 +108,8 @@ void DPAchievementManager::update(float dt) {
108108
// check legacy & bonus achievements
109109
if (!Mod::get()->getSettingValue<bool>("disable-pack-achievements")) {
110110
for (std::string index : {"legacy", "bonus"}) {
111-
if (!data.contains(index)) continue;
112-
for (auto pack : data[index].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
111+
if (!m_data.contains(index)) continue;
112+
for (auto pack : m_data[index].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
113113
auto saveID = pack["saveID"].asString().unwrapOr("null");
114114
auto listSave = Mod::get()->getSavedValue<ListSaveFormat>(saveID);
115115

@@ -138,8 +138,8 @@ void DPAchievementManager::update(float dt) {
138138
}
139139

140140
// only look for this month's monthly pack
141-
if (!Mod::get()->getSettingValue<bool>("disable-monthly-achievements") && data.contains("monthly")) {
142-
auto monthlyPack = data["monthly"][0];
141+
if (!Mod::get()->getSettingValue<bool>("disable-monthly-achievements") && m_data.contains("monthly")) {
142+
auto monthlyPack = m_data["monthly"][0];
143143
auto month = monthlyPack["month"].as<int>().unwrapOr(1);
144144
auto year = monthlyPack["year"].as<int>().unwrapOr(1987);
145145
auto saveID = fmt::format("{}-{}", month, year);
@@ -187,18 +187,18 @@ void DPAchievementManager::update(float dt) {
187187
}
188188

189189
// check medals
190-
if (!Mod::get()->getSettingValue<bool>("disable-medal-achievements") && data.contains("medals")) {
190+
if (!Mod::get()->getSettingValue<bool>("disable-medal-achievements") && m_data.contains("medals")) {
191191
for (std::string index : {"normal", "plus"}) {
192-
for (int i = 0; i < data["medals"][index].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>()).size(); i++) {
192+
for (int i = 0; i < m_data["medals"][index].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>()).size(); i++) {
193193
auto id = fmt::format("{}medal-{}", ((index == "plus") ? "plus-" : ""), i);
194-
auto name = data["medals"][index][i]["name"].asString().unwrapOr("");
195-
auto req = data["medals"][index][i]["requirement"].as<int>().unwrapOr(0);
194+
auto name = m_data["medals"][index][i]["name"].asString().unwrapOr("");
195+
auto req = m_data["medals"][index][i]["requirement"].as<int>().unwrapOr(0);
196196
if (!achievements[id].asBool().unwrapOr(false) && (StatsPopup::getPercentToRank(req, (index == "plus")) >= 1.f)) {
197197
AchievementBar* ach = AchievementBar::create(
198198
(index == "plus") ? fmt::format("{} Plus Medal Obtained!", name).c_str() : fmt::format("{} Medal Obtained!", name).c_str(),
199199
(index == "plus") ?
200-
fmt::format("Achieve every rank from {} to {}+.", data["main"][0]["name"].asString().unwrapOr("???"), data["main"][req]["name"].asString().unwrapOr("???")).c_str() :
201-
fmt::format("Get the normal ranks from {} to {}.", data["main"][0]["name"].asString().unwrapOr("???"), data["main"][req]["name"].asString().unwrapOr("???")).c_str(),
200+
fmt::format("Achieve every rank from {} to {}+.", m_data["main"][0]["name"].asString().unwrapOr("???"), m_data["main"][req]["name"].asString().unwrapOr("???")).c_str() :
201+
fmt::format("Get the normal ranks from {} to {}.", m_data["main"][0]["name"].asString().unwrapOr("???"), m_data["main"][req]["name"].asString().unwrapOr("???")).c_str(),
202202
"GJ_sStarsIcon_001.png",
203203
true
204204
);
@@ -210,12 +210,12 @@ void DPAchievementManager::update(float dt) {
210210
}
211211

212212
// check absolute perfection
213-
auto progressPercent = StatsPopup::getPercentToRank(data["main"].asArray().unwrap().size() - 1, true);
213+
auto progressPercent = StatsPopup::getPercentToRank(m_data["main"].asArray().unwrap().size() - 1, true);
214214

215215
//Get All Bonus Progress
216216
auto bonusProgress = 0;
217217
auto bonusTotalLevels = 0;
218-
for (auto pack : data["bonus"].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
218+
for (auto pack : m_data["bonus"].as<std::vector<matjson::Value>>().unwrapOr(std::vector<matjson::Value>())) {
219219
auto saveID = pack["saveID"].asString().unwrapOr("null");
220220
auto totalLevels = pack["levelIDs"].as<std::vector<int>>().unwrapOrDefault().size();
221221
auto listSave = Mod::get()->getSavedValue<ListSaveFormat>(saveID);

src/DPAchievementManager.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ class DPAchievementManager : public CCObject {
99
DPAchievementManager();
1010

1111
std::vector<int> m_completedLvls;
12+
matjson::Value m_data;
1213

1314
virtual void update(float dt) override;
1415
public:

src/DPUtils.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,17 @@ std::vector<matjson::Value>::iterator DPUtils::findJson(std::vector<matjson::Val
5858
};
5959

6060
bool DPUtils::containsInt(std::vector<int> v, int t) {
61+
if (v.empty()) return false;
6162
return (std::find(v.begin(), v.end(), t) != v.end());
6263
};
6364

6465
bool DPUtils::containsString(std::vector<std::string> v, std::string t) {
66+
if (v.empty()) return false;
6567
return (std::find(v.begin(), v.end(), t) != v.end());
6668
};
6769

6870
bool DPUtils::containsJson(std::vector<matjson::Value> v, matjson::Value t) {
71+
if (v.empty()) return false;
6972
return (std::find(v.begin(), v.end(), t) != v.end());
7073
};
7174

src/popups/dev/SaveContentsPopup.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ void SaveContentsPopup::compareChanges() {
287287
auto oldValue = value.as<std::vector<int>>().unwrapOrDefault();
288288
changesList.push_back(fmt::format(" {} Changed:", key));
289289
auto pos = 0;
290-
auto sizeDiff = newValue.size() - oldValue.size();
290+
int sizeDiff = newValue.size() - oldValue.size();
291291
for (auto id : newValue) {
292292
if (sizeDiff > 0 && !DPUtils::containsInt(oldValue, id)) {
293293
changesList.push_back(fmt::format(" - {} Added.", id));
@@ -297,9 +297,12 @@ void SaveContentsPopup::compareChanges() {
297297
changesList.push_back(fmt::format(" - {} Removed.", id));
298298
pos -= 1;
299299
}
300-
else if (oldValue.at(pos) != id) {
300+
else if (pos < oldValue.size() && oldValue.at(pos) != id) {
301301
changesList.push_back(fmt::format(" - {} -> {}", oldValue.at(pos), id));
302302
}
303+
else {
304+
changesList.push_back(fmt::format(" - {}", id));
305+
}
303306

304307
pos += 1;
305308
}

src/popups/dev/VerificationPopup.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2649,7 +2649,7 @@ void AddLevelPopup::onAddLevel(CCObject*) {
26492649

26502650
auto offs = popup->m_levelList->m_tableView->m_contentLayer->getPositionY(); // save list offset
26512651
popup->loadPack(popup->m_index, popup->m_packID, true);
2652-
popup->m_levelList->m_tableView->m_contentLayer->setPositionY(offs);
2652+
if (lvlList.size() > 7) popup->m_levelList->m_tableView->m_contentLayer->setPositionY(offs);
26532653
}
26542654

26552655
this->onClose(new CCObject());

0 commit comments

Comments
 (0)