Skip to content

Commit 4f10360

Browse files
committed
хуй
1 parent 581e3b8 commit 4f10360

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

mod.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@
4949
"type": "bool",
5050
"default": true
5151
},
52+
"THE_DATA_DRIVEN_ACHIEVEMENTS": {
53+
"name": "The Data Driven Achievements",
54+
"type": "bool",
55+
"default": true
56+
},
5257
"LEVELS_LISTING": {
5358
"name": "Levels Listing",
5459
"description": "# IDs set for level select page.\n\n## Format: \n<cy> - Single ID</c>: -1 (shows one level)\n<co> - Sequence</c>: 1:23 (levels from 1 to 23)\n<cr>Use commas to separate entries!</c>\n\n## Example: \n`\"`<cy>`1337`</c>`,`<co>`1:22`</c>`,`<cy>`-1`</c>,<cy>`-2`</c>`\"` will list level <cy>`1337`</c>, levels <co>`1` through `22`</c>, then <cy>`-1`</c> and <cy>`-2`</c>.\n<cr>\n```\n-1 is coming soon page, and -2, the tower.\n```\n</c>",

src/TheDataDrivenAchievements.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,13 @@ class $modify(MLE_AchievementManager, AchievementManager) {
5151
gd::string achievedDescription, gd::string unachievedDescription,
5252
gd::string icon, int limits
5353
) {
54+
if (!THE_DATA_DRIVEN_ACHIEVEMENTS) return AchievementManager::addAchievement(
55+
identifier, title, achievedDescription, unachievedDescription, icon, limits
56+
);
5457
if (this->getUserObject("is-data-file-generating"_spr)) {
5558
auto val = file::readJson(CCFileUtils::get()->fullPathForFilename(
5659
"achievements.json", 0
57-
)).unwrapOr(matjson::Value());
60+
).c_str()).unwrapOr(matjson::Value());
5861

5962
auto entry = matjson::Value();
6063
entry["title"] = title.c_str();
@@ -67,7 +70,7 @@ class $modify(MLE_AchievementManager, AchievementManager) {
6770

6871
file::writeToJson(CCFileUtils::get()->fullPathForFilename(
6972
"achievements.json", 0
70-
), val);
73+
).c_str(), val);
7174
}
7275
else {
7376
log::debug("addAchievement: {}", identifier.c_str());
@@ -79,6 +82,7 @@ class $modify(MLE_AchievementManager, AchievementManager) {
7982
};
8083
}
8184
$override void addManualAchievements() {
85+
if (!THE_DATA_DRIVEN_ACHIEVEMENTS) return AchievementManager::addManualAchievements();
8286
if (!existsInPaths("achievements.json")) { // generate default file
8387
file::writeStringSafe(getMod()->getConfigDir() / "achievements.json", "{}");
8488
setUserObject("is-data-file-generating"_spr, new CCObject());
@@ -89,7 +93,7 @@ class $modify(MLE_AchievementManager, AchievementManager) {
8993
else {
9094
auto val = file::readJson(CCFileUtils::get()->fullPathForFilename(
9195
"achievements.json", 0
92-
)).unwrapOr(matjson::Value());
96+
).c_str()).unwrapOr(matjson::Value());
9397
for (auto& [identifier, entry] : val) {
9498
AchievementManager::addAchievement(
9599
identifier, entry["title"].asString().unwrapOr("err").c_str(),
@@ -115,6 +119,7 @@ class $modify(MLE_AchievementManager, AchievementManager) {
115119
class $modify(AchievementsLayerExt, AchievementsLayer) {
116120
$override void customSetup() {
117121
AchievementsLayer::customSetup();
122+
if (!THE_DATA_DRIVEN_ACHIEVEMENTS) return;
118123
if (REMOVE_UI) return;
119124
if (auto menu = m_mainLayer->getChildByType<CCMenu>(0)) {
120125
auto reload = CCMenuItemExt::createSpriteExtraWithFrameName(

src/_Main.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ using namespace geode::prelude;
1313
#define REMOVE_UI getMod()->getSettingValue<bool>("REMOVE_UI")
1414
#define VERIFY_LEVEL_INTEGRITY getMod()->getSettingValue<bool>("VERIFY_LEVEL_INTEGRITY")
1515
#define REPLACE_DIFFICULTY_SPRITE getMod()->getSettingValue<bool>("REPLACE_DIFFICULTY_SPRITE")
16+
#define THE_DATA_DRIVEN_ACHIEVEMENTS getMod()->getSettingValue<bool>("THE_DATA_DRIVEN_ACHIEVEMENTS")
1617
#define TYPE_AND_ID_HACKS_FOR_SECRET_COINS getMod()->getSettingValue<bool>("TYPE_AND_ID_HACKS_FOR_SECRET_COINS")
1718

1819
#define existsInPaths fileExistsInSearchPaths

0 commit comments

Comments
 (0)