Skip to content

Commit 38d3090

Browse files
committed
fancy it
1 parent 8ca572e commit 38d3090

7 files changed

Lines changed: 54 additions & 20 deletions

File tree

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ else()
88
endif()
99
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
1010

11-
project(HorribleIdeas VERSION 1.0.0)
11+
project(HorribleMenu VERSION 1.0.0)
1212

1313
file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS src/*.cpp)
1414
add_library(${PROJECT_NAME} SHARED ${SOURCES})

README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
# [<img src="logo.png" width="25" alt="The mod's logo." />](https://www.geode-sdk.org/mods/cubicstudios.horriblemenu) Horrible Menu
1+
# [<img src="logo.png" width="25" alt="The mod's logo." />](https://geode-sdk.org/mods/cubicstudios.horriblemenu) Horrible Menu
22
A plethora of ways to ruin your experience...
33

4-
> [<img alt="Latest Version" src="https://img.shields.io/github/v/release/CubicCommunity/HorribleMenu?include_prereleases&sort=semver&display_name=release&style=for-the-badge&logo=github&logoColor=ffffff&label=Version">](../../releases/) [<img alt="Code License" src="https://img.shields.io/github/license/CubicCommunity/HorribleMenu?style=for-the-badge&logo=gnu&logoColor=ffffff&label=License">](LICENSE.md)
4+
> [![Version](https://img.shields.io/github/v/release/CubicCommunity/HorribleMenu?include_prereleases&sort=semver&display_name=release&style=for-the-badge&logo=github&logoColor=ffffff&label=Version)](../../releases/) [![License](https://img.shields.io/github/license/CubicCommunity/HorribleMenu?style=for-the-badge&logo=gnu&logoColor=ffffff&label=License)](LICENSE.md)
55
>
6-
> [<img alt="Downloads" src="https://img.shields.io/github/downloads/CubicCommunity/HorribleMenu/total?style=for-the-badge&logo=geode&logoColor=ffffff&label=Downloads">](https://www.geode-sdk.org/mods/cubicstudios.horriblemenu)
6+
> [![Downloads](https://img.shields.io/github/downloads/CubicCommunity/HorribleMenu/total?style=for-the-badge&logo=geode&logoColor=ffffff&label=Downloads)](https://geode-sdk.org/mods/cubicstudios.horriblemenu)
7+
8+
> [!TIP]
9+
> *This mod has settings you can utilize to customize your experience.*
710
811
---
912

@@ -13,7 +16,7 @@ This silly lil' mod adds a funny mod menu filled to the brim with **over 30 craz
1316
---
1417

1518
### Options
16-
When pressing `\` or by pressing the floating *<img src="resources/icon.png" width="15" alt="Horrible Options">* button on your screen, a menu will pop up with a list of joke mod options you can toggle anytime on your game to do some interesting things to your gaming experience. You can view more information within the menu itself.
19+
When pressing `\` or by pressing the floating *<img src="resources/icon.png" width="15" alt="Horrible Options">* button on your screen, a menu will pop up with a list of joke mod options you can toggle anytime on your game to do some interesting things to it. You can view more information within the menu itself.
1720

1821
> [!NOTE]
1922
> *You can customize any keybinds in this mod through its settings.*
@@ -77,7 +80,7 @@ class $modify(MyPlayLayer, PlayLayer) {
7780
---
7881
7982
### Thanks
80-
- **[Geode SDK](https://www.geode-sdk.org/)**: Created an incredible SDK to make this mod possible!
83+
- **[Geode SDK](https://geode-sdk.org/)**: Created an incredible SDK to make this mod possible!
8184
- **[RobTop Games](https://www.robtopgames.com/)**: Made [Geometry Dash](https://youtu.be/k90y6PIzIaE)...
8285
8386
*and...*
@@ -94,4 +97,5 @@ class $modify(MyPlayLayer, PlayLayer) {
9497
9598
---
9699
97-
### [<img alt="Trailer Likes" height="15" src="https://img.shields.io/youtube/likes/PI_poDUUauw?style=for-the-badge&logo=youtube">](https://www.youtube.com/watch?v=PI_poDUUauw&list=PL0dsSu2pR5cERnq7gojZTKVRvUwWo2Ohu) Watch the [Horrible Mods](https://www.youtube.com/watch?v=Ssl49pNmW_0&list=PL0dsSu2pR5cERnq7gojZTKVRvUwWo2Ohu) series out now on YouTube!
100+
### Developers
101+
###### This mod is developed and maintained by **[Cubic Studios](https://www.cubicstudios.xyz/)**, and members and collaborators of the [<img src="https://i.imgur.com/3QH6N17.png" width="15" alt="Breakeode logo" /> Breakeode](https://breakeode.cubicstudios.xyz/) team.

about.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
*by [ArcticWoof](user:7689052) & [Cheeseworks](user:6408873)!*
55

6+
> ![✳️](frame:collaborationIcon_001.png) <cg>*This mod has settings you can utilize to customize your experience.*</c>
7+
68
---
79

810
## About
@@ -11,7 +13,7 @@ This silly lil' mod adds a funny mod menu filled to the brim with **over 30 craz
1113
---
1214

1315
### Options
14-
When <cf>pressing `\` on your keyboard</c> or by <cl>pressing the floating *![Horrible Options](cubicstudios.horriblemenu/icon.png?scale=0.375)* button on your screen</c>, a <cg>menu</c> will pop up with <cg>a list of horrible mod options</c> you can <cy>toggle anytime</c> on your game to do some interesting things to your gaming experience. You can view more information within the menu itself.
16+
When <cf>pressing `\` on your keyboard</c> or by <cl>pressing the floating *![Horrible Options](cubicstudios.horriblemenu/icon.png?scale=0.375)* button on your screen</c>, a <cg>menu</c> will pop up with <cg>a list of horrible mod options</c> you can <cy>toggle anytime</c> on your game to do some interesting things to it. You can view more information within the menu itself.
1517

1618
> ![ℹ️](frame:GJ_infoIcon_001.png?scale=0.5) <cj>*You can customize any keybinds in this mod through its settings.*</c>
1719
@@ -81,4 +83,5 @@ class $modify(MyPlayLayer, PlayLayer) {
8183
8284
---
8385
84-
**![YT](frame:gj_ytIcon_001.png?scale=0.375) Watch the [Horrible Mods](https://www.youtube.com/watch?v=Ssl49pNmW_0&list=PL0dsSu2pR5cERnq7gojZTKVRvUwWo2Ohu) series out now on YouTube!**
86+
### Developers
87+
###### This mod is developed and maintained by **[Cubic Studios](https://www.cubicstudios.xyz/)**, and members and collaborators of the [Breakeode](https://breakeode.cubicstudios.xyz/) team.

include/Option.hpp

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ namespace horrible {
2222
// Metadata for a horrible option
2323
struct AWCW_HORRIBLE_API_DLL Option final {
2424
private:
25-
std::string m_id = ""; // Unique ID of the option
25+
std::string m_id = "id"_spr; // Unique ID of the option
2626
std::string m_name = "Example Option"; // Name of the option
2727
std::string m_description = ""; // Description of the option
2828
std::string m_category = "Uncategorized"; // Name of the category this option should be under
29-
SillyTier m_silly = SillyTier::None; // How silly the option is
29+
SillyTier m_silly = SillyTier::Low; // How silly the option is
3030
bool m_restart = false; // If the option requires a restart to take effect
3131
std::vector<Platform> m_platforms = {Platform::All}; // Platforms that the option supports
3232

@@ -43,12 +43,18 @@ namespace horrible {
4343
Option& setRequiresRestart(bool required);
4444
Option& setSupportedPlatforms(std::vector<Platform> platforms);
4545

46-
geode::ZStringView getID() const noexcept;
47-
geode::ZStringView getName() const noexcept;
48-
geode::ZStringView getDescription() const noexcept;
49-
geode::ZStringView getCategory() const noexcept;
50-
SillyTier getSillyTier() const noexcept;
51-
bool isRestartRequired() const noexcept;
52-
std::span<const Platform> getSupportedPlatforms() const noexcept;
46+
[[nodiscard]] geode::ZStringView getID() const noexcept;
47+
[[nodiscard]] geode::ZStringView getName() const noexcept;
48+
[[nodiscard]] geode::ZStringView getDescription() const noexcept;
49+
[[nodiscard]] geode::ZStringView getCategory() const noexcept;
50+
[[nodiscard]] SillyTier getSillyTier() const noexcept;
51+
[[nodiscard]] bool isRestartRequired() const noexcept;
52+
[[nodiscard]] std::span<const Platform> getSupportedPlatforms() const noexcept;
53+
54+
void enable();
55+
void disable();
56+
57+
[[nodiscard]] bool isEnabled() const;
58+
[[nodiscard]] bool isPinned() const;
5359
};
5460
};

include/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# [<img src="../logo.png" width="30" alt="The mod's logo." />](https://www.geode-sdk.org/mods/cubicstudios.horriblemenu) Horrible Menu
1+
# [<img src="../logo.png" width="30" alt="The mod's logo." />](https://geode-sdk.org/mods/cubicstudios.horriblemenu) Horrible Menu
22
A plethora of ways to ruin your gaming experience...
33

44
## API

mod.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"name": "Horrible Menu",
1111
"version": "1.0.0-alpha.1",
1212
"developers": [
13+
"Team Breakeode",
1314
"ArcticWoof",
1415
"Cheeseworks"
1516
],
Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,24 @@ std::span<const Platform> Option::getSupportedPlatforms() const noexcept {
8989
return m_platforms;
9090
};
9191

92+
bool Option::isEnabled() const {
93+
if (auto om = OptionManager::get()) return om->isEnabled(getID());
94+
return false;
95+
};
96+
97+
bool Option::isPinned() const {
98+
if (auto om = OptionManager::get()) return om->isPinned(getID());
99+
return false;
100+
};
101+
102+
void Option::enable() {
103+
if (auto om = OptionManager::get()) om->toggleOption(getID(), true);
104+
};
105+
106+
void Option::disable() {
107+
if (auto om = OptionManager::get()) om->toggleOption(getID(), false);
108+
};
109+
92110
Option Option::create(std::string id) {
93111
return Option().setID(std::move(id));
94112
};
@@ -192,7 +210,9 @@ void horrible::delegateHooks(ZStringView id, utils::StringMap<std::shared_ptr<Ho
192210
for (auto const& hook : hooks | std::views::values) {
193211
hook->setAutoEnable(value);
194212
log::trace("Set default state of '{}' hook for option {} to {}", hook->getDisplayName(), id, value ? "ON" : "OFF");
195-
hook->setPriority(geode::Priority::FirstPre);
213+
214+
if (hook->getOwner()->getID() == GEODE_MOD_ID) hook->setPriority(geode::Priority::FirstPre);
215+
196216
allHooks.push_back(hook);
197217
};
198218

0 commit comments

Comments
 (0)