diff --git a/README.md b/README.md
index 4cb22b6..6b3f3ca 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# FakeGDMod
-This is where she makes a mod.
+This is where he makes a mod.
diff --git a/changelog.md b/changelog.md
index 2190ea8..b9456f8 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,7 +1,9 @@
# FakeGDMod Changelog
+## v1.0.2 (2025-07-30)
+- Comments are now displayed as moderators
## v1.0.1 (2025-01-08)
- Geode v4.1.0 support
- Geometry Dash 2.207 support
- macOS support!
## v1.0.0 (2024-09-08)
-- Initial release
\ No newline at end of file
+- Initial release
diff --git a/mod.json b/mod.json
index 3e7b9ab..3c71060 100644
--- a/mod.json
+++ b/mod.json
@@ -1,5 +1,5 @@
{
- "geode": "4.1.2",
+ "geode": "4.6.3",
"gd": {
"win": "2.2074",
"android": "2.2074",
@@ -14,11 +14,11 @@
"settings": {
"modType": {
"name": "Moderator Type",
- "description": "you can choose 1 = Moderator, 2 = Elder Moderator, 3 = Leaderboard Moderator",
+ "description": "you can choose 1 = Moderator, 2 = Elder Moderator, 3 = Leaderboard Moderator, 4 = No Moderator",
"type": "int",
- "default": 1,
+ "default": 4,
"min": 1,
- "max": 3
+ "max": 4
}
},
"links": {
@@ -26,7 +26,7 @@
"community": "https://discord.gg/gXg8w4xJDA"
},
"name": "FakeGDMod",
- "version": "v1.0.1",
+ "version": "v1.0.2",
"developer": "BitZ",
"description": "A cool mod that make you a fake moderator"
}
diff --git a/src/main.cpp b/src/main.cpp
index 801d183..83bda52 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -6,6 +6,12 @@ using namespace geode::prelude;
#include
#include
#include
+#include
+#include
+#include
+#include
+#include
+
template
inline bool instanceof(const T* ptr) {
@@ -33,10 +39,12 @@ class modCheck
if (Mod::get()->getSettingValue("modType") == 1)
{
Check->showSuccessMessage("Success! Moderator access granted.");
+ Mod::get()->setSavedValue("alreadyHasMod", true);
}
if (Mod::get()->getSettingValue("modType") == 2)
{
Check->showSuccessMessage("Success! Elder Moderator \n access granted.");
+ Mod::get()->setSavedValue("alreadyHasMod", true);
}
}
}
@@ -71,36 +79,61 @@ class $modify(SupportLayer) {
void onRequestAccess(CCObject* sender) {
auto GM = GameManager::sharedState();
- if (Mod::get()->getSettingValue("modType") == 3)
+ if (Mod::get()->getSavedValue("alreadyHasMod", false)) {
+ FLAlertLayer::create("Granted", "This account has access to the rating suggestion system.", "OK")->show();
+ } else {
+ if (Mod::get()->getSettingValue("modType") >= 3)
{
SupportLayer::onRequestAccess(sender);
GM->m_hasRP = 0;
}
else
- {
+ {
UploadActionPopup* popup = UploadActionPopup::create(nullptr, "Loading...");
popup->show();
popup->runAction((CCSequence::create(
- CCDelayTime::create(1),
+ CCDelayTime::create(0.2),
CCCallFunc::create(this, callfunc_selector(modCheck::DelayMod)),
nullptr
)));
GM->m_hasRP = Mod::get()->getSettingValue("modType");
}
+ }
}
};
+
+class $modify(CommentCell) {
+ void loadFromComment(GJComment* p0) {
+ auto commentAccID = p0->m_accountID;
+ if (GJAccountManager::sharedState()->m_accountID == commentAccID) {
+ p0->m_modBadge = Mod::get()->getSettingValue("modType");
+ }
+ CommentCell::loadFromComment(p0);
+ }
+ virtual void draw() {
+ auto commentAccID = this->m_comment->m_accountID;
+ if (GJAccountManager::sharedState()->m_accountID == commentAccID) {
+ this->m_comment->m_modBadge = Mod::get()->getSettingValue("modType");
+ }
+ CommentCell::draw();
+ }
+};
+
class $modify(ProfilePage)
{
void loadPageFromUserInfo(GJUserScore* p0)
{
int type = Mod::get()->getSettingValue("modType");
- if (this->m_ownProfile)
- {
- switch(type) {
- case 1: p0->m_modBadge = type; break;
- case 2: p0->m_modBadge = type; break;
- case 3: p0->m_modBadge = type; break;
+ if (Mod::get()->getSavedValue("alreadyHasMod", false)) {
+ if ((this->m_ownProfile) || (this->m_score && this->m_score->m_userID == p0->m_userID))
+ {
+ switch(type) {
+ case 1: p0->m_modBadge = type; break;
+ case 2: p0->m_modBadge = type; break;
+ case 3: p0->m_modBadge = type; break;
+ default: p0->m_modBadge = 0; break;
+ }
}
}
ProfilePage::loadPageFromUserInfo(p0);
@@ -117,7 +150,7 @@ class $modify(RateStarsLayer)
UploadActionPopup* popup = UploadActionPopup::create(nullptr, "Sending rating...");
popup->show();
popup->runAction((CCSequence::create(
- CCDelayTime::create(1),
+ CCDelayTime::create(0.1),
CCCallFunc::create(this, callfunc_selector(modCheck::DelayRate)),
nullptr
)));
@@ -135,7 +168,7 @@ class $modify(RateDemonLayer)
UploadActionPopup* popup = UploadActionPopup::create(nullptr, "Sending rating...");
popup->show();
popup->runAction((CCSequence::create(
- CCDelayTime::create(1),
+ CCDelayTime::create(0.1),
CCCallFunc::create(this, callfunc_selector(modCheck::DelayRate)),
nullptr
)));