Skip to content

Commit

Permalink
initial release
Browse files Browse the repository at this point in the history
  • Loading branch information
TheSillyDoggo committed Jan 24, 2024
1 parent 5c6b3c4 commit d113fd0
Show file tree
Hide file tree
Showing 7 changed files with 57 additions and 12 deletions.
8 changes: 6 additions & 2 deletions about.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Template Mod
# <cp>QOLMod</c>

Edit about.md to change this
<co>Note:</c> This mod only has a mobile <cl>UI</c> currently, if you want a <cp>Mega Hack</c> like menu, wait for the update to release

<cp>QOLMod</c> is THE mod menu for android, it has a <cj>Mobile Optimised</c> <cl>UI</c> with many features to improve your mobile <cg>Geometry Dash</c> experience such as a <cl>Speedhack</c>, <cb>Copy hack</c>, <cj>Slider limit hack</c> (Android only <cr>sad</c>) and <cp>Unlock item hack</c>.

While <cp>QOLMod</c> has only a few <cr>mods</c> right now, it will be updated regularly future with <cr>more</c> mods.
2 changes: 1 addition & 1 deletion mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"id": "TheSillyDoggo.Cheats",
"name": "QOLMod",
"developer": "TheSillyDoggo",
"description": "better than mega hack mobile",
"description": "Best Geode Android mod menu!",
"resources": {
"files": [
"resources/fonts/*.ttf"
Expand Down
13 changes: 12 additions & 1 deletion src/Client/AndroidUI.h
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,12 @@ class AndroidBall : public CCLayer
btn->runAction(CCEaseBackOut::create(CCScaleTo::create(0.35f, 1)));

doingThing = false;

if (Client::GetModuleEnabled("save-pos"))
{
Mod::get()->setSavedValue("posX", position.x);
Mod::get()->setSavedValue("posY", position.y);
}
}
}

Expand Down Expand Up @@ -574,9 +580,14 @@ class $modify (AchievementNotifier)

if (!p0->getChildByID("loading-layer"))
{
if (p0->getChildByID("android-ball"))
{
p0->getChildByID("android-ball")->removeFromParent();
}

auto andBall = AndroidBall::create();
if (andBall)
p0->addChild(andBall);
p0->addChild(andBall);
}
else
{
Expand Down
9 changes: 7 additions & 2 deletions src/Client/ClientSetup.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,10 @@ class ClientUtils
level->windowPos = ImVec2(50 + (50 + (Client::instance->tileSize.x)) * 1, 50);

level->modules.push_back(new Module("Noclip", "noclip", "Prevents the player from dying"));
level->modules.push_back(new Module("Instant Complete", "instant", "Instantly completes a level"));
level->modules.push_back(new Module("Force Platformer", "force-plat", "Force Platformer mode on all levels"));
level->modules.push_back(new Module("Instant Complete", "instant", "Instantly completes a level.\nMay not work because of the <cg>Geometry Dash</c> anti-cheat.\nUsing this cheat on a <co>rated level</c> <cr>WILL GET YOU LEADERBOARD BANNED</c>"));
#ifndef GEODE_IS_ANDROID
level->modules.push_back(new Module("Force Platformer", "force-plat", "Force Platformer mode on all levels.\nOnly supported on <cl>Windows</c> for the time being"));
#endif
//level->modules.push_back(new Module("Startpos Switcher", "startpos-switcher", "Switch between start-positions in the level"));
//level->modules.push_back(new Module("Show Hitboxes", "hitbox"));

Expand All @@ -71,7 +73,9 @@ class ClientUtils
bypass->modules.push_back(new Module("No Copy Mark", "noc-hack", "Hides the (c) mark from your levels on publish.\nCode by <co>Firee</c>"));
bypass->modules.push_back(new Module("Safe mode", "safe-mode", "Disables all progress on levels"));
bypass->modules.push_back(new Module("Auto Safe mode", "auto-safe-mode", "Automatically enables safe mode if you have cheats enabled", true));
#ifdef GEODE_IS_ANDROID
bypass->modules.push_back(new Module("Slider Limit Bypass", "slider-limit", "Allows sliders to go beyond the limit of the slider"));
#endif
bypass->modules.push_back(new Module("Fire in the hole!", "fire-in-the-hole", "Replaces every single sfx with\n<cr>FIRE IN THE HOLE!</c>"));


Expand Down Expand Up @@ -147,6 +151,7 @@ class ClientUtils
auto cfg = new Config();

cfg->modules.push_back(new Module("Draggable Ball", "allow-dragging", "Allow dragging the ball on screen", true));
cfg->modules.push_back(new Module("Save Ball Position", "save-pos", "Saves the position of the ball on screen between sessions", true));

Client::instance->windows.push_back(cfg);
return;
Expand Down
5 changes: 4 additions & 1 deletion src/Client/Module.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,8 @@ class Module
btn->setUserData(this);
btn->setID(id);
btn->toggle(enabled);
btn->setPosition(pos);
btn->setPosition(pos - ccp(12, 0));
btn->setAnchorPoint(ccp(0, 0.5f));

auto label = CCLabelBMFont::create(name.c_str(), "bigFont.fnt");
label->setAnchorPoint(ccp(0, 0.5f));
Expand All @@ -151,6 +152,8 @@ class Module
info->setScale(0.55f);
info->m_baseScale = info->getScale();
info->setPosition(pos + ccp(label->getScaledContentSize().width + 30, 0) + ccp(-5, 5));
info->setContentSize(info->getContentSize() * 2.5f);
static_cast<CCSprite*>(info->getChildren()->objectAtIndex(0))->setPosition(info->getContentSize() / 2);
info->setUserData(this);

menu->addChild(btn);
Expand Down
3 changes: 3 additions & 0 deletions src/Client/Window.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ class Window

for (size_t i = 0; i < modules.size(); i++)
{
log::info(modules[i]->id);

ImGui::SetCursorPos(DrawUtils::addImVec2(wp, ImVec2(0, (tileSize.y * (i + 1)) + 3)));

modules[i]->Draw(tileSize);
Expand Down Expand Up @@ -564,6 +566,7 @@ class Config : public Window
ED->getThumb()->setScaleX((1.0f / 0.8f) * 0.5f);

modules[0]->makeAndroid(menu, ccp(132, menu->getContentSize().height - 90));
modules[1]->makeAndroid(menu, ccp(132, menu->getContentSize().height - 90 - 28));

menu->addChild(lNormal);
menu->addChild(normal);
Expand Down
29 changes: 24 additions & 5 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ bool android = true;

Client* client;

#ifndef GEODE_IS_ANDROID
#ifdef KEYBINDS

class $modify(CCKeyboardDispatcher) {
static void onModify(auto& self) {
Expand Down Expand Up @@ -134,16 +134,35 @@ void DrawDescription()

bool v = false;

class $modify (LoadingLayer)
class $modify (MenuLayer)
{
bool init(bool p0)
virtual bool init()
{
if (!LoadingLayer::init(p0))
if (!MenuLayer::init())
return false;

if (!v)
{
AndroidBall::position = ccp(32, CCDirector::get()->getWinSize().height / 2);
if (Client::GetModuleEnabled("save-pos"))
{
AndroidBall::position = ccp(Mod::get()->getSavedValue("posX", 32), Mod::get()->getSavedValue("posY", CCDirector::get()->getWinSize().height / 2));

if (AndroidBall::position.x < 0)
AndroidBall::position.x = 0;

if (AndroidBall::position.y < 0)
AndroidBall::position.y = 0;

if (AndroidBall::position.x > CCDirector::get()->getWinSize().width)
AndroidBall::position.x = CCDirector::get()->getWinSize().width;

if (AndroidBall::position.y > CCDirector::get()->getWinSize().height)
AndroidBall::position.y = CCDirector::get()->getWinSize().height;
}
else
{
AndroidBall::position = ccp(32, CCDirector::get()->getWinSize().height / 2);
}

#ifndef GEODE_IS_ANDROID

Expand Down

0 comments on commit d113fd0

Please sign in to comment.