Skip to content

Commit

Permalink
gg
Browse files Browse the repository at this point in the history
  • Loading branch information
TheSillyDoggo committed Mar 1, 2024
1 parent 036cf8e commit 5988336
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 11 deletions.
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
- Added full options menu
- Added no respawn blink
- Added level uncomplete
- Added show hitboxes and show hitboxes on death
- Added no static camera
- Removed fps bypass since it was VERY broken, replaces with full options menu
- Fixed Spider and Robot with icon effects
- Added <cl>Gradient Pages</c> integration
Expand Down
5 changes: 5 additions & 0 deletions src/Client/ClientSetup.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ class ClientUtils
level->modules.push_back(new Module("No Reverse Portal", "no-reverse", "Disables reverse portals, only use if your a pussy <cl>jk</c>"));
level->modules.push_back(new Module("Instant Restart", "instant-restart", "Restarts the level instantly upon death"));

level->modules.push_back(new Module("Show Hitboxes", "show-hitboxes", "Shows object hitboxes"));
level->modules.push_back(new Module("Show Hitboxes On Death", "show-hitboxes-on-death", "Shows object hitboxes on death"));

level->modules.push_back(new Module("No Static Camera", "no-static", "Disables static camera"));

//level->modules.push_back(new Module("No Hitboxes", "no-hitboxes", "Disables Object Hitboxes"));

//level->modules.push_back(new Module("Force Show Player", "show-player", "Force the player to be visible all the time"));
Expand Down
2 changes: 1 addition & 1 deletion src/Client/Replay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class $modify (PlayLayer)
{
bool started = false;

void startGameDelayed()
TodoReturn startGameDelayed()
{
PlayLayer::startGameDelayed();

Expand Down
7 changes: 4 additions & 3 deletions src/Hacks/NoCamera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ class $modify (GJBaseGameLayer)
GJBaseGameLayer::applyShake(p0);
}

/*TodoReturn updateStaticCameraPos(cocos2d::CCPoint p0, bool p1, bool p2, bool p3, float p4, int p5, float p6)
TodoReturn updateStaticCameraPos(cocos2d::CCPoint p0, bool p1, bool p2, bool p3, float p4, int p5, float p6)
{
}*/
if (!Client::GetModuleEnabled("no-static"))
GJBaseGameLayer::updateStaticCameraPos(p0, p1, p2, p3, p4, p5, p6);
}

/*TodoReturn updateCamera(float p0) // delta probably ?
{
Expand Down
34 changes: 34 additions & 0 deletions src/Hacks/ShowHitboxes.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include <Geode/Geode.hpp>
#include <Geode/modify/GameObject.hpp>
#include <Geode/modify/PlayLayer.hpp>
#include "../Client/Client.h"

using namespace geode::prelude;

class $modify (PlayLayer)
{
Module* mod = nullptr;
Module* mod2 = nullptr;

void updateVisibility(float p0) {
PlayLayer::updateVisibility(p0);

bool shouldVis = m_isDebugDrawEnabled && m_isPracticeMode;

if (!m_fields->mod)
m_fields->mod = Client::GetModule("show-hitboxes");

if (!m_fields->mod2)
m_fields->mod2 = Client::GetModule("show-hitboxes-on-death");

if (m_fields->mod->enabled)
shouldVis = true;

if (m_fields->mod2->enabled && m_player1->m_isDead)
shouldVis = true;

PlayLayer::updateDebugDraw();
m_debugDrawNode->setVisible(shouldVis);
}

};
31 changes: 24 additions & 7 deletions src/Hacks/ShowLayout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,39 @@ class $modify (GameObject)
{
virtual void setVisible(bool p0)
{
if (m_objectType == GameObjectType::Decoration && m_objectID != 44) // thanks firee (in the hole) for the practice checkpoint id
GameObject::setVisible(false);
if (PlayLayer::get())
{
if (m_objectType == GameObjectType::Decoration && m_objectID != 44) // thanks firee (in the hole) for the practice checkpoint id
GameObject::setVisible(false);
else
GameObject::setVisible(true);
}
else
GameObject::setVisible(true);
GameObject::setVisible(p0);
}
virtual void setOpacity(unsigned char p0)
{
GameObject::setOpacity(255);
}
};
class $modify (GJBaseGameLayer)
{
virtual TodoReturn updateColor(cocos2d::ccColor3B& p0, float p1, int p2, bool p3, float p4, cocos2d::ccHSVValue& p5, int p6, bool p7, EffectGameObject* p8, int p9, int p10)
virtual void setChildColor(cocos2d::ccColor3B const& p0)
{
}
};*/

/*
class $modify(GameObject) {
void setVisible(bool v) {
if (!Hacks::isHackEnabled("Layout Mode")) return GameObject::setVisible(v);
//m_hasGroupParent == 0
std::vector<int> outerPortal = {};
//i really dont want to have to check every single object id
if (m_objectType == GameObjectType::Decoration && m_objectID != 44) { // 44 being practice mode checkpoint, because thats a "decoration"
GameObject::setVisible(false);
} else {
GameObject::setVisible(v);
}
}
};*/

0 comments on commit 5988336

Please sign in to comment.