diff --git a/CMakeLists.txt b/CMakeLists.txt index 286a8e1..db2c221 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64") set(CMAKE_CXX_VISIBILITY_PRESET hidden) -project(DemonsInBetween VERSION 1.2.2) +project(DemonsInBetween VERSION 1.2.3) add_library(${PROJECT_NAME} SHARED src/DemonsInBetween.cpp diff --git a/changelog.md b/changelog.md index 138dd9e..27b4bcd 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,9 @@ # Demons In Between Changelog +## v1.2.3 (2024-08-27) +- Added mythic demon textures +- Removed the GodlikeFaces requirement for the textures, replacing them with settings +- Added a setting to enable or disable the additional demon difficulties + ## v1.2.2 (2024-08-26) - Fixed legendary demons being offset by slight amounts diff --git a/mod.json b/mod.json index d82d40e..bd78574 100644 --- a/mod.json +++ b/mod.json @@ -5,7 +5,7 @@ "win": "2.206", "mac": "2.206" }, - "version": "v1.2.2", + "version": "v1.2.3", "id": "hiimjustin000.demons_in_between", "name": "Demons In Between", "developer": "hiimjustin000", @@ -34,6 +34,12 @@ ], "DIB_LegendaryShortSheet": [ "resources/LegendaryShortSheet/*.png" + ], + "DIB_MythicLongSheet": [ + "resources/MythicLongSheet/*.png" + ], + "DIB_MythicShortSheet": [ + "resources/MythicShortSheet/*.png" ] }, "sprites": [ @@ -41,6 +47,24 @@ ] }, "settings": { + "enable-difficulties": { + "name": "Enable Demon Difficulties", + "description": "Whether or not to enable the additional demon difficulties.", + "type": "bool", + "default": true + }, + "enable-legendary": { + "name": "Enable Legendary Textures", + "description": "Whether or not to enable the legendary difficulty textures.", + "type": "bool", + "default": true + }, + "enable-mythic": { + "name": "Enable Mythic Textures", + "description": "Whether or not to enable the mythic difficulty textures.", + "type": "bool", + "default": true + }, "gddp-integration-override": { "name": "GDDP Integration Override", "description": "Whether or not to override the GDDP Integration difficulties.", diff --git a/resources/MythicLongSheet/DIB_01_5_btn2_001.png b/resources/MythicLongSheet/DIB_01_5_btn2_001.png new file mode 100644 index 0000000..4036f05 Binary files /dev/null and b/resources/MythicLongSheet/DIB_01_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_02_5_btn2_001.png b/resources/MythicLongSheet/DIB_02_5_btn2_001.png new file mode 100644 index 0000000..fb4abea Binary files /dev/null and b/resources/MythicLongSheet/DIB_02_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_03_5_btn2_001.png b/resources/MythicLongSheet/DIB_03_5_btn2_001.png new file mode 100644 index 0000000..215c700 Binary files /dev/null and b/resources/MythicLongSheet/DIB_03_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_04_5_btn2_001.png b/resources/MythicLongSheet/DIB_04_5_btn2_001.png new file mode 100644 index 0000000..85a7838 Binary files /dev/null and b/resources/MythicLongSheet/DIB_04_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_05_5_btn2_001.png b/resources/MythicLongSheet/DIB_05_5_btn2_001.png new file mode 100644 index 0000000..e697ac4 Binary files /dev/null and b/resources/MythicLongSheet/DIB_05_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_06_5_btn2_001.png b/resources/MythicLongSheet/DIB_06_5_btn2_001.png new file mode 100644 index 0000000..e717353 Binary files /dev/null and b/resources/MythicLongSheet/DIB_06_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_07_5_btn2_001.png b/resources/MythicLongSheet/DIB_07_5_btn2_001.png new file mode 100644 index 0000000..c224410 Binary files /dev/null and b/resources/MythicLongSheet/DIB_07_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_08_5_btn2_001.png b/resources/MythicLongSheet/DIB_08_5_btn2_001.png new file mode 100644 index 0000000..446c9c2 Binary files /dev/null and b/resources/MythicLongSheet/DIB_08_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_09_5_btn2_001.png b/resources/MythicLongSheet/DIB_09_5_btn2_001.png new file mode 100644 index 0000000..72e08e2 Binary files /dev/null and b/resources/MythicLongSheet/DIB_09_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_10_5_btn2_001.png b/resources/MythicLongSheet/DIB_10_5_btn2_001.png new file mode 100644 index 0000000..5a8fb6c Binary files /dev/null and b/resources/MythicLongSheet/DIB_10_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_11_5_btn2_001.png b/resources/MythicLongSheet/DIB_11_5_btn2_001.png new file mode 100644 index 0000000..1e4259c Binary files /dev/null and b/resources/MythicLongSheet/DIB_11_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_12_5_btn2_001.png b/resources/MythicLongSheet/DIB_12_5_btn2_001.png new file mode 100644 index 0000000..17c3d19 Binary files /dev/null and b/resources/MythicLongSheet/DIB_12_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_13_5_btn2_001.png b/resources/MythicLongSheet/DIB_13_5_btn2_001.png new file mode 100644 index 0000000..9509b4f Binary files /dev/null and b/resources/MythicLongSheet/DIB_13_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_14_5_btn2_001.png b/resources/MythicLongSheet/DIB_14_5_btn2_001.png new file mode 100644 index 0000000..2ff00b3 Binary files /dev/null and b/resources/MythicLongSheet/DIB_14_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_15_5_btn2_001.png b/resources/MythicLongSheet/DIB_15_5_btn2_001.png new file mode 100644 index 0000000..f456499 Binary files /dev/null and b/resources/MythicLongSheet/DIB_15_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_16_5_btn2_001.png b/resources/MythicLongSheet/DIB_16_5_btn2_001.png new file mode 100644 index 0000000..03e1566 Binary files /dev/null and b/resources/MythicLongSheet/DIB_16_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_17_5_btn2_001.png b/resources/MythicLongSheet/DIB_17_5_btn2_001.png new file mode 100644 index 0000000..beb4194 Binary files /dev/null and b/resources/MythicLongSheet/DIB_17_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_18_5_btn2_001.png b/resources/MythicLongSheet/DIB_18_5_btn2_001.png new file mode 100644 index 0000000..26a6686 Binary files /dev/null and b/resources/MythicLongSheet/DIB_18_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_19_5_btn2_001.png b/resources/MythicLongSheet/DIB_19_5_btn2_001.png new file mode 100644 index 0000000..096f61c Binary files /dev/null and b/resources/MythicLongSheet/DIB_19_5_btn2_001.png differ diff --git a/resources/MythicLongSheet/DIB_20_5_btn2_001.png b/resources/MythicLongSheet/DIB_20_5_btn2_001.png new file mode 100644 index 0000000..52f0ec4 Binary files /dev/null and b/resources/MythicLongSheet/DIB_20_5_btn2_001.png differ diff --git a/resources/MythicShortSheet/DIB_01_5_btn_001.png b/resources/MythicShortSheet/DIB_01_5_btn_001.png new file mode 100644 index 0000000..a958c07 Binary files /dev/null and b/resources/MythicShortSheet/DIB_01_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_02_5_btn_001.png b/resources/MythicShortSheet/DIB_02_5_btn_001.png new file mode 100644 index 0000000..1827d4a Binary files /dev/null and b/resources/MythicShortSheet/DIB_02_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_03_5_btn_001.png b/resources/MythicShortSheet/DIB_03_5_btn_001.png new file mode 100644 index 0000000..49ccba2 Binary files /dev/null and b/resources/MythicShortSheet/DIB_03_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_04_5_btn_001.png b/resources/MythicShortSheet/DIB_04_5_btn_001.png new file mode 100644 index 0000000..83a5ddb Binary files /dev/null and b/resources/MythicShortSheet/DIB_04_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_05_5_btn_001.png b/resources/MythicShortSheet/DIB_05_5_btn_001.png new file mode 100644 index 0000000..986d9ab Binary files /dev/null and b/resources/MythicShortSheet/DIB_05_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_06_5_btn_001.png b/resources/MythicShortSheet/DIB_06_5_btn_001.png new file mode 100644 index 0000000..e0187bd Binary files /dev/null and b/resources/MythicShortSheet/DIB_06_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_07_5_btn_001.png b/resources/MythicShortSheet/DIB_07_5_btn_001.png new file mode 100644 index 0000000..6ee6d0f Binary files /dev/null and b/resources/MythicShortSheet/DIB_07_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_08_5_btn_001.png b/resources/MythicShortSheet/DIB_08_5_btn_001.png new file mode 100644 index 0000000..29d352b Binary files /dev/null and b/resources/MythicShortSheet/DIB_08_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_09_5_btn_001.png b/resources/MythicShortSheet/DIB_09_5_btn_001.png new file mode 100644 index 0000000..7509b78 Binary files /dev/null and b/resources/MythicShortSheet/DIB_09_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_10_5_btn_001.png b/resources/MythicShortSheet/DIB_10_5_btn_001.png new file mode 100644 index 0000000..f574bec Binary files /dev/null and b/resources/MythicShortSheet/DIB_10_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_11_5_btn_001.png b/resources/MythicShortSheet/DIB_11_5_btn_001.png new file mode 100644 index 0000000..f25c05a Binary files /dev/null and b/resources/MythicShortSheet/DIB_11_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_12_5_btn_001.png b/resources/MythicShortSheet/DIB_12_5_btn_001.png new file mode 100644 index 0000000..32bc8aa Binary files /dev/null and b/resources/MythicShortSheet/DIB_12_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_13_5_btn_001.png b/resources/MythicShortSheet/DIB_13_5_btn_001.png new file mode 100644 index 0000000..6d2d770 Binary files /dev/null and b/resources/MythicShortSheet/DIB_13_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_14_5_btn_001.png b/resources/MythicShortSheet/DIB_14_5_btn_001.png new file mode 100644 index 0000000..738499c Binary files /dev/null and b/resources/MythicShortSheet/DIB_14_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_15_5_btn_001.png b/resources/MythicShortSheet/DIB_15_5_btn_001.png new file mode 100644 index 0000000..25bbd2c Binary files /dev/null and b/resources/MythicShortSheet/DIB_15_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_16_5_btn_001.png b/resources/MythicShortSheet/DIB_16_5_btn_001.png new file mode 100644 index 0000000..96fb1d6 Binary files /dev/null and b/resources/MythicShortSheet/DIB_16_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_17_5_btn_001.png b/resources/MythicShortSheet/DIB_17_5_btn_001.png new file mode 100644 index 0000000..57455be Binary files /dev/null and b/resources/MythicShortSheet/DIB_17_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_18_5_btn_001.png b/resources/MythicShortSheet/DIB_18_5_btn_001.png new file mode 100644 index 0000000..c7c2207 Binary files /dev/null and b/resources/MythicShortSheet/DIB_18_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_19_5_btn_001.png b/resources/MythicShortSheet/DIB_19_5_btn_001.png new file mode 100644 index 0000000..3bcbb14 Binary files /dev/null and b/resources/MythicShortSheet/DIB_19_5_btn_001.png differ diff --git a/resources/MythicShortSheet/DIB_20_5_btn_001.png b/resources/MythicShortSheet/DIB_20_5_btn_001.png new file mode 100644 index 0000000..f649d84 Binary files /dev/null and b/resources/MythicShortSheet/DIB_20_5_btn_001.png differ diff --git a/src/DemonsInBetween.cpp b/src/DemonsInBetween.cpp index b6af981..9d83cae 100644 --- a/src/DemonsInBetween.cpp +++ b/src/DemonsInBetween.cpp @@ -202,7 +202,7 @@ std::string DemonsInBetween::infoForLevel(GJGameLevel* level, LadderDemon const& } CCSprite* DemonsInBetween::spriteForDifficulty(GJDifficultySprite* difficultySprite, int difficulty, GJDifficultyName name, GJFeatureState state) { - auto glow = state == GJFeatureState::Legendary ? "_4" : ""; + auto glow = state == GJFeatureState::Legendary ? "_4" : state == GJFeatureState::Mythic ? "_5" : ""; auto sprite = CCSprite::createWithSpriteFrameName((name == GJDifficultyName::Long ? fmt::format("DIB_{:02d}{}_btn2_001.png"_spr, difficulty, glow) : fmt::format("DIB_{:02d}{}_btn_001.png"_spr, difficulty, glow)).c_str()); sprite->setPosition(difficultySprite->getPosition() + (name == GJDifficultyName::Long ? @@ -212,7 +212,10 @@ CCSprite* DemonsInBetween::spriteForDifficulty(GJDifficultySprite* difficultySpr } GJFeatureState DemonsInBetween::stateForLevel(GJGameLevel* level) { - return Loader::get()->isModLoaded("adyagd.godlikefaces") ? level->m_featured ? (GJFeatureState)(level->m_isEpic + 1) : GJFeatureState::None : GJFeatureState::None; + auto state = level->m_featured ? (GJFeatureState)(level->m_isEpic + 1) : GJFeatureState::None; + if (state == GJFeatureState::Legendary && !Mod::get()->getSettingValue<bool>("enable-legendary")) state = GJFeatureState::None; + else if (state == GJFeatureState::Mythic && !Mod::get()->getSettingValue<bool>("enable-mythic")) state = GJFeatureState::None; + return state; } GJSearchObject* DemonsInBetween::searchObjectForPage(int page) { diff --git a/src/main.cpp b/src/main.cpp index 815ac09..7574852 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -60,7 +60,7 @@ class $modify(DIBLevelInfoLayer, LevelInfoLayer) { bool init(GJGameLevel* level, bool challenge) { if (!LevelInfoLayer::init(level, challenge)) return false; - if (getChildByID("grd-difficulty")) m_fields->m_disabled = true; + if (!Mod::get()->getSettingValue<bool>("enable-difficulties") || getChildByID("grd-difficulty")) m_fields->m_disabled = true; auto gddpDifficulty = getChildByID("gddp-difficulty"); if (gddpDifficulty && !Mod::get()->getSettingValue<bool>("gddp-integration-override")) m_fields->m_disabled = true; @@ -104,6 +104,8 @@ class $modify(DIBLevelCell, LevelCell) { void loadFromLevel(GJGameLevel* level) { LevelCell::loadFromLevel(level); + if (!Mod::get()->getSettingValue<bool>("enable-difficulties")) return; + auto demon = DemonsInBetween::demonForLevel(level); if (demon.id == 0 || demon.difficulty == 0) return;