Skip to content

Commit

Permalink
Prepare alpha 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Jouca committed Jun 8, 2024
1 parent 6c7e0a0 commit 1642b40
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 24 deletions.
25 changes: 14 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,31 @@ A Geometry Dash Mod for adding more tools such as Notifications, auto-song mute,

## Features
### Realtime Notifications
* This includes any new levels being **rated**, new **daily levels**, and new **weekly levels!**
* This includes any new levels being **rated**, new **daily levels**, new **weekly levels!** and **new daily chests!**
* This also includes the new difficulty faces, and the new **Legendary** and **Mythic** rating.
* Notifications are **highly customizable**, you can set the __position__, __size__, and __how long they can stay on screen!__
* You can also set when notifications **should appear** or **not appear**! This includes __being shown in levels__, __in the editor__, __etc__.
### More Leaderboards
* Thanks to Updated Leaderboards, it's now possible for you to view leaderboards for users with the most **Moons**, **Diamonds**, **User Coins**,**Demons!** and **Creator Points**! You can view your accurate leaderboard placement.
* Leaderboards are now **infinite**! You can see the placement of every Geometry Dash players with this one.
### View Demon List Placement
* Instead of having to go to Pointercrate to view the demon placement of a level, you can now **view the position** of an extreme demon!
### Level URL Sharing Feature (Windows Only)
* You can share levels easily by copying the URL of it and sending it to your friends! Or you can quickly go to a level by going to `https://gdutils.com/{levelid}` (Replacing `{levelid}` with the ID of the level)
### Moderator List
* You can view the list of **Elder Moderators**/**Moderators**/**Leaderboard Moderators** and their socials!
### Gauntlets redesign
* Gauntlets are now redesigned to make it more **EPIC**, with **particles** and **new textures**!
### Auto-Mute Spotify (or any application)
* Allows you to **auto mute Spotify** when you are __playing a level__, __playtesting in the editor__, and more!
* You're also able to set **any application** to be muted, not just Spotify!
* **IMPORTANT for Mac Users:** Geometry Dash may request access to "System Events" and another app for muting Spotify or another application. This allows the game to detect running applications.
### Level URL Sharing Feature (Windows Only)
* You can share levels easily by copying the URL of it and sending it to your friends! Or you can quickly go to a level by going to `https://gdutils.com/{levelid}` (Replacing `{levelid}` with the ID of the level)
### Custom backgrounds
* Custom your **backgrounds colors** or you can even make it **transparent**!
### Extra additions to Friends List
* The additions added include being able to **search usernames** if you have a long friend list, or using the **scroll buttons**!
### More Leaderboards
* Thanks to Updated Leaderboards, it's now possible for you to view leaderboards for users with the most **Moons**, **Diamonds**, **User Coins**,**Demons!** and **Creator Points**! You can view your accurate leaderboard placement.
### Moderator List
* You can view the list of **Elder Moderators**/**Moderators**/**Leaderboard Moderators** and their socials!
### Moderator Info
* You can view a description of either the Moderator, Elder Moderator, or other badges users have by clicking on the badge itself on the profile!
### View Demon List Placement
* Instead of having to go to Pointercrate to view the demon placement of a level, you can now **view the position** of an extreme demon!
### Custom backgrounds
* Custom your **backgrounds colors** or you can even make it **transparent**!

## Libraries Used
- [Geode](https://github.com/geode-sdk/geode)
Expand Down
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
- Port to Geometry Dash 2.206

- Increased leaderboards top to INFINITE
- Daily chest notifications
- Epic Gauntlets redesign
- Added previews for locked icons with colors
- Thumbnails for levels URLs when sharing it on Discord
# v1.2.20
Expand Down
5 changes: 3 additions & 2 deletions mod.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"geode": "3.0.0-alpha.1",
"version": "v1.3.0-alpha.1",
"version": "v1.3.0-alpha.2",
"gd": {
"win": "2.206",
"android": "2.206",
"ios": "2.206"
},
"platforms": ["android", "win", "mac"],
"id": "gdutilsdevs.gdutils",
"name": "GDUtils",
"developers": ["Jouca", "Firee"],
Expand All @@ -17,7 +18,7 @@
"dependencies": [
{
"id": "geode.node-ids",
"version": "v1.11.0",
"version": "v1.12.0-beta.2",
"importance": "required"
}
],
Expand Down
6 changes: 5 additions & 1 deletion src/Notifications/DailyChest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,17 @@ void DailyChest::rewardsStatusFinished(int p0) {
}
};

void DailyChest::rewardsStatusFailed() {
log::error("Failed to get rewards");
};

// Daily chests notifications
void dailyChestThread() {
while (true) {
auto dailyChest = new DailyChest();
dailyChest->getRewards(0);

std::this_thread::sleep_for(std::chrono::minutes(10));
std::this_thread::sleep_for(std::chrono::minutes(20));
}
}
class $modify(MenuLayer) {
Expand Down
2 changes: 1 addition & 1 deletion src/Notifications/DailyChest.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ class DailyChest : public CCNode, public GJRewardDelegate {
public:
void getRewards(unsigned int type);
void rewardsStatusFinished(int p0) override;
void rewardsStatusFailed() override {};
void rewardsStatusFailed() override;
};
42 changes: 33 additions & 9 deletions src/Styles/GauntletStyle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include <Geode/Geode.hpp>
#include "../Utils/ParticleManager.hpp"

/*class $modify(GauntletSelectLayer) {
class $modify(GauntletSelectLayer) {
void setupGauntlets() {
GauntletSelectLayer::setupGauntlets();

Expand Down Expand Up @@ -60,13 +60,6 @@
sprite->setScale(1.225f);
sprite->setZOrder(0);
node->addChild(sprite);
// Particle
CCParticleSystemQuad* particle = particleFromString("30a-1a2.2a0.48a11a90a180a29a0a11a0a0a0a0a0a0a0a5a1a0a0a0.0745098a0a0a0a0.611765a0a1a0a2a1a0a0a0a0a0.937255a0a1a0a1a0a0.54a0a0.57a0a56a0a11a0a-25a17a1a2a1a0a0a1a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0", NULL, false);
node->addChild(particle);
particle->setPosition(bg->getPosition());
particle->setScale(1.0f);
particle->setZOrder(100);
} else if (gauntletName == "Portal") {
CCSprite* sprite = CCSprite::create(Mod::get()->expandSpriteName("portal_gauntlet.png"));
sprite->setPosition(bg->getPosition());
Expand All @@ -79,6 +72,37 @@
sprite->setScale(1.275f);
sprite->setZOrder(0);
node->addChild(sprite);

// Show gauntlets sprite again
gauntlet->setVisible(true);
gauntlet->setPosition({-1, 22});
gauntlet->setScale(1.1f);
gauntlet_shadow->setVisible(true);
gauntlet_shadow->setPosition({-1, 22});
gauntlet_shadow->setScale(1.1f);
gauntlet_node->setZOrder(2);

// Particle
CCParticleSystemQuad* particle = GameToolbox::particleFromString("66a-1a3a0.3a20a90a27a11a0a37a38a0a0a0a0a0a0a5a1a0a0a0.694118a0a0.45098a0a0.054902a0a1a0a2a1a0a0a0.509804a0a0.172549a0a0a0a1a0a0.5a0a1a0a0a0a0a0a0a0a0a2a1a0a0a0a28a0a0a0a0a0a0a0a0a0a0a0a0a0a0", NULL, false);
node->addChild(particle);
particle->setPosition(gauntlet->getPosition());
particle->setZOrder(1);
CCParticleSystemQuad* particle2 = GameToolbox::particleFromString("29a-1a3a0.3a8a90a27a11a0a37a38a0a0a0a0a0a0a50a1a0a0a0.0509804a0a0.0392157a0a0.0352941a0a1a0a50a1a0a0a0.0509804a0a0.0392157a0a0.0352941a0a1a0a0.5a0a1a0a0a0a0a0a0a0a0a2a1a0a0a0a46a0a0a0a0a0a0a0a0a0a0a0a0a0a0", NULL, false);
node->addChild(particle2);
particle2->setPosition(gauntlet->getPosition());
particle2->setZOrder(1);
CCParticleSystemQuad* particle3 = GameToolbox::particleFromString("31a-1a1a0.3a23a90a90a29a0a11a0a0a0a0a0a0a0a33a1a89a149a0.454902a0a0.321569a0a0.152941a0a1a0a50a1a145a68a0.454902a0a0.321569a0a0.152941a0a1a0a0.5a0a0.5a0a0a0a0a0a0a0a1a2a1a0a0a0a192a0a0a0a0a0a0a0a0a0a0a0a0a0a0", NULL, false);
node->addChild(particle3);
particle3->setPosition(gauntlet->getPosition());
particle3->setZOrder(1);
CCParticleSystemQuad* particle4 = GameToolbox::particleFromString("30a-1a2a0.3a13a90a8a21a0a8a0a0a45a0a0a0a0a40a1a89a149a0.396078a0a0.27451a0a0.14902a0a1a0a24a1a145a68a0.141176a0a0.0352941a0a0.0313726a0a1a0a0.5a0a0.5a0a0a0a0a0a0a0a0a2a1a0a0a0a46a0a0a0a0a0a0a0a0a0a0a0a0a0a0", NULL, false);
node->addChild(particle4);
particle4->setPosition(gauntlet->getPosition());
particle4->setZOrder(1);
CCParticleSystemQuad* particle5 = GameToolbox::particleFromString("30a-1a1a0.3a13a90a8a21a0a0a0a0a45a0a0a0a0a21a1a89a149a0.894118a0a0.631373a0a0.345098a0a1a0a6a1a145a68a0.894118a0a0.631373a0a0.345098a0a1a0a0.5a0a0.5a0a0a0a0a0a0a0a0a2a1a0a0a0a183a0a0a0a0a0a0a0a0a0a0a0a0a0a0", NULL, false);
node->addChild(particle5);
particle5->setPosition(gauntlet->getPosition());
particle5->setZOrder(1);
} else if (gauntletName == "Castle") {
CCSprite* sprite = CCSprite::create(Mod::get()->expandSpriteName("castle_gauntlet.png"));
sprite->setPosition(bg->getPosition());
Expand Down Expand Up @@ -116,4 +140,4 @@
}
}
}
};*/
};

0 comments on commit 1642b40

Please sign in to comment.