mirror of
https://github.com/geode-sdk/geode.git
synced 2024-11-26 17:36:05 -05:00
remove completely unused internal nodes
This commit is contained in:
parent
d5761857a1
commit
53e01fd94e
8 changed files with 0 additions and 283 deletions
|
@ -53,8 +53,6 @@ file(GLOB SOURCES CONFIGURE_DEPENDS
|
||||||
src/ui/*.cpp
|
src/ui/*.cpp
|
||||||
src/ui/nodes/*.cpp
|
src/ui/nodes/*.cpp
|
||||||
src/ui/internal/*.cpp
|
src/ui/internal/*.cpp
|
||||||
src/ui/internal/credits/*.cpp
|
|
||||||
src/ui/internal/dev/*.cpp
|
|
||||||
src/ui/internal/info/*.cpp
|
src/ui/internal/info/*.cpp
|
||||||
src/ui/internal/list/*.cpp
|
src/ui/internal/list/*.cpp
|
||||||
src/ui/internal/settings/*.cpp
|
src/ui/internal/settings/*.cpp
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
#include "HookListLayer.hpp"
|
|
||||||
|
|
||||||
#include <Geode/binding/GJListLayer.hpp>
|
|
||||||
|
|
||||||
bool HookListLayer::init(Mod* mod) {
|
|
||||||
if (!GJDropDownLayer::init("Hooks", 220.f)) return false;
|
|
||||||
|
|
||||||
auto winSize = CCDirector::sharedDirector()->getWinSize();
|
|
||||||
auto hooks = CCArray::create();
|
|
||||||
for (auto const& hook : mod->getHooks()) {
|
|
||||||
hooks->addObject(new HookItem(hook));
|
|
||||||
}
|
|
||||||
m_listLayer->m_listView = HookListView::create(hooks, mod, 356.f, 220.f);
|
|
||||||
m_listLayer->addChild(m_listLayer->m_listView);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
HookListLayer* HookListLayer::create(Mod* mod) {
|
|
||||||
auto ret = new HookListLayer;
|
|
||||||
if (ret && ret->init(mod)) {
|
|
||||||
ret->autorelease();
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
CC_SAFE_DELETE(ret);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "HookListView.hpp"
|
|
||||||
|
|
||||||
#include <Geode/binding/GJDropDownLayer.hpp>
|
|
||||||
|
|
||||||
class HookListLayer : public GJDropDownLayer {
|
|
||||||
protected:
|
|
||||||
bool init(Mod* mod);
|
|
||||||
|
|
||||||
public:
|
|
||||||
static HookListLayer* create(Mod* mod);
|
|
||||||
};
|
|
|
@ -1,135 +0,0 @@
|
||||||
#include "HookListView.hpp"
|
|
||||||
|
|
||||||
#include <Geode/binding/StatsCell.hpp>
|
|
||||||
#include <Geode/binding/TableView.hpp>
|
|
||||||
#include <Geode/binding/FLAlertLayer.hpp>
|
|
||||||
#include <Geode/binding/CCMenuItemToggler.hpp>
|
|
||||||
#include <Geode/utils/casts.hpp>
|
|
||||||
#include <Geode/loader/Mod.hpp>
|
|
||||||
|
|
||||||
HookCell::HookCell(char const* name, CCSize size) : TableViewCell(name, size.width, size.height) {}
|
|
||||||
|
|
||||||
void HookCell::draw() {
|
|
||||||
reinterpret_cast<StatsCell*>(this)->StatsCell::draw();
|
|
||||||
}
|
|
||||||
|
|
||||||
void HookCell::updateBGColor(int index) {
|
|
||||||
if (index & 1) m_backgroundLayer->setColor(ccc3(0xc2, 0x72, 0x3e));
|
|
||||||
else m_backgroundLayer->setColor(ccc3(0xa1, 0x58, 0x2c));
|
|
||||||
m_backgroundLayer->setOpacity(0xff);
|
|
||||||
}
|
|
||||||
|
|
||||||
void HookCell::onEnable(CCObject* pSender) {
|
|
||||||
auto toggle = as<CCMenuItemToggler*>(pSender);
|
|
||||||
if (!toggle->isToggled()) {
|
|
||||||
auto res = m_mod->enableHook(m_hook);
|
|
||||||
if (!res) {
|
|
||||||
FLAlertLayer::create(
|
|
||||||
nullptr, "Error Enabling Hook", std::string(res.unwrapErr()), "OK", nullptr, 280.f
|
|
||||||
)
|
|
||||||
->show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
auto res = m_mod->disableHook(m_hook);
|
|
||||||
if (!res) {
|
|
||||||
FLAlertLayer::create(
|
|
||||||
nullptr, "Error Disabling Hook", std::string(res.unwrapErr()), "OK", nullptr, 280.f
|
|
||||||
)
|
|
||||||
->show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
toggle->toggle(!m_hook->isEnabled());
|
|
||||||
}
|
|
||||||
|
|
||||||
void HookCell::loadFromHook(Hook* hook, Mod* Mod) {
|
|
||||||
m_hook = hook;
|
|
||||||
m_mod = Mod;
|
|
||||||
|
|
||||||
m_mainLayer->setVisible(true);
|
|
||||||
m_backgroundLayer->setOpacity(255);
|
|
||||||
|
|
||||||
auto menu = CCMenu::create();
|
|
||||||
menu->setPosition(m_width - m_height, m_height / 2);
|
|
||||||
m_mainLayer->addChild(menu);
|
|
||||||
|
|
||||||
auto enableBtn =
|
|
||||||
CCMenuItemToggler::createWithStandardSprites(this, menu_selector(HookCell::onEnable), .6f);
|
|
||||||
enableBtn->setPosition(0, 0);
|
|
||||||
enableBtn->toggle(hook->isEnabled());
|
|
||||||
menu->addChild(enableBtn);
|
|
||||||
|
|
||||||
std::stringstream moduleName;
|
|
||||||
|
|
||||||
// #ifdef GEODE_IS_WINDOWS // add other platforms?
|
|
||||||
// HMODULE module;
|
|
||||||
// if (GetModuleHandleExA(
|
|
||||||
// GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
|
|
||||||
// GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
|
|
||||||
// as<LPCSTR>(hook->getAddress()),
|
|
||||||
// &module
|
|
||||||
// )) {
|
|
||||||
// addr -= as<uintptr_t>(module);
|
|
||||||
// char name[MAX_PATH];
|
|
||||||
// if (GetModuleFileNameA(
|
|
||||||
// module, name, sizeof name
|
|
||||||
// )) {
|
|
||||||
// auto fileName = std::filesystem::path(name).stem();
|
|
||||||
// moduleName << fileName.string() << " + ";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// #endif
|
|
||||||
if (hook->getDisplayName() != "") moduleName << hook->getDisplayName();
|
|
||||||
else moduleName << "0x" << std::hex << hook->getAddress();
|
|
||||||
auto label = CCLabelBMFont::create(moduleName.str().c_str(), "chatFont.fnt");
|
|
||||||
label->setPosition(m_height / 2, m_height / 2);
|
|
||||||
label->setScale(.7f);
|
|
||||||
label->setAnchorPoint({ .0f, .5f });
|
|
||||||
m_mainLayer->addChild(label);
|
|
||||||
}
|
|
||||||
|
|
||||||
HookCell* HookCell::create(char const* key, CCSize size) {
|
|
||||||
auto pRet = new HookCell(key, size);
|
|
||||||
if (pRet) {
|
|
||||||
return pRet;
|
|
||||||
}
|
|
||||||
CC_SAFE_DELETE(pRet);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void HookListView::setupList(float) {
|
|
||||||
m_itemSeparation = 30.0f;
|
|
||||||
|
|
||||||
if (!m_entries->count()) return;
|
|
||||||
|
|
||||||
m_tableView->reloadData();
|
|
||||||
|
|
||||||
if (m_entries->count() == 1)
|
|
||||||
m_tableView->moveToTopWithOffset(m_itemSeparation);
|
|
||||||
|
|
||||||
m_tableView->moveToTop();
|
|
||||||
}
|
|
||||||
|
|
||||||
TableViewCell* HookListView::getListCell(char const* key) {
|
|
||||||
return HookCell::create(key, CCSize { m_width, m_itemSeparation });
|
|
||||||
}
|
|
||||||
|
|
||||||
void HookListView::loadCell(TableViewCell* cell, int index) {
|
|
||||||
as<HookCell*>(cell)->loadFromHook(
|
|
||||||
as<HookItem*>(m_entries->objectAtIndex(index))->m_hook, m_mod
|
|
||||||
);
|
|
||||||
as<HookCell*>(cell)->updateBGColor(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
HookListView* HookListView::create(CCArray* hooks, Mod* Mod, float width, float height) {
|
|
||||||
auto pRet = new HookListView;
|
|
||||||
if (pRet) {
|
|
||||||
pRet->m_mod = Mod;
|
|
||||||
if (pRet->init(hooks, kBoomListType_Hooks, width, height)) {
|
|
||||||
pRet->autorelease();
|
|
||||||
return pRet;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
CC_SAFE_DELETE(pRet);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
|
@ -1,46 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <Geode/binding/CustomListView.hpp>
|
|
||||||
#include <Geode/binding/TableViewCell.hpp>
|
|
||||||
|
|
||||||
using namespace geode::prelude;
|
|
||||||
|
|
||||||
static constexpr const BoomListType kBoomListType_Hooks = static_cast<BoomListType>(0x358);
|
|
||||||
|
|
||||||
struct HookItem : public CCObject {
|
|
||||||
Hook* m_hook;
|
|
||||||
|
|
||||||
HookItem(Hook* h) : m_hook(h) {
|
|
||||||
this->autorelease();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class HookCell : public TableViewCell {
|
|
||||||
protected:
|
|
||||||
Mod* m_mod;
|
|
||||||
Hook* m_hook;
|
|
||||||
|
|
||||||
HookCell(char const* name, CCSize size);
|
|
||||||
|
|
||||||
void draw() override;
|
|
||||||
|
|
||||||
void onEnable(CCObject*);
|
|
||||||
|
|
||||||
public:
|
|
||||||
void updateBGColor(int index);
|
|
||||||
void loadFromHook(Hook*, Mod*);
|
|
||||||
|
|
||||||
static HookCell* create(char const* key, CCSize size);
|
|
||||||
};
|
|
||||||
|
|
||||||
class HookListView : public CustomListView {
|
|
||||||
protected:
|
|
||||||
Mod* m_mod;
|
|
||||||
|
|
||||||
void setupList(float) override;
|
|
||||||
TableViewCell* getListCell(char const* key) override;
|
|
||||||
void loadCell(TableViewCell* cell, int index) override;
|
|
||||||
|
|
||||||
public:
|
|
||||||
static HookListView* create(CCArray* hooks, Mod* Mod, float width, float height);
|
|
||||||
};
|
|
|
@ -1,45 +0,0 @@
|
||||||
#include "HotReloadLayer.hpp"
|
|
||||||
|
|
||||||
bool HotReloadLayer::init(std::string const& name) {
|
|
||||||
if (!CCLayer::init()) return false;
|
|
||||||
|
|
||||||
auto winSize = CCDirector::sharedDirector()->getWinSize();
|
|
||||||
|
|
||||||
auto bg = CCSprite::create("GJ_gradientBG.png");
|
|
||||||
auto bgSize = bg->getTextureRect().size;
|
|
||||||
|
|
||||||
bg->setAnchorPoint({ 0.0f, 0.0f });
|
|
||||||
bg->setScaleX((winSize.width + 10.0f) / bgSize.width);
|
|
||||||
bg->setScaleY((winSize.height + 10.0f) / bgSize.height);
|
|
||||||
bg->setPosition({ -5.0f, -5.0f });
|
|
||||||
bg->setColor({ 0, 102, 255 });
|
|
||||||
|
|
||||||
this->addChild(bg);
|
|
||||||
|
|
||||||
std::string text = "Reloading " + name + "...";
|
|
||||||
auto label = CCLabelBMFont::create(text.c_str(), "bigFont.fnt");
|
|
||||||
label->setPosition(this->getContentSize() / 2);
|
|
||||||
label->setZOrder(1);
|
|
||||||
label->setScale(.5f);
|
|
||||||
this->addChild(label);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
HotReloadLayer* HotReloadLayer::create(std::string const& name) {
|
|
||||||
auto ret = new HotReloadLayer;
|
|
||||||
if (ret && ret->init(name)) {
|
|
||||||
ret->autorelease();
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
CC_SAFE_DELETE(ret);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
HotReloadLayer* HotReloadLayer::scene(std::string const& name) {
|
|
||||||
auto scene = CCScene::create();
|
|
||||||
auto layer = HotReloadLayer::create(name);
|
|
||||||
scene->addChild(layer);
|
|
||||||
CCDirector::sharedDirector()->replaceScene(scene);
|
|
||||||
return layer;
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <cocos2d.h>
|
|
||||||
|
|
||||||
using namespace geode::prelude;
|
|
||||||
|
|
||||||
class HotReloadLayer : public CCLayer {
|
|
||||||
protected:
|
|
||||||
bool init(std::string const& name);
|
|
||||||
|
|
||||||
public:
|
|
||||||
static HotReloadLayer* create(std::string const& name);
|
|
||||||
static HotReloadLayer* scene(std::string const& name);
|
|
||||||
};
|
|
|
@ -1,6 +1,5 @@
|
||||||
#include "ModInfoPopup.hpp"
|
#include "ModInfoPopup.hpp"
|
||||||
|
|
||||||
#include "../dev/HookListLayer.hpp"
|
|
||||||
#include "../list/ModListLayer.hpp"
|
#include "../list/ModListLayer.hpp"
|
||||||
#include "../settings/ModSettingsPopup.hpp"
|
#include "../settings/ModSettingsPopup.hpp"
|
||||||
#include <Geode/loader/Dirs.hpp>
|
#include <Geode/loader/Dirs.hpp>
|
||||||
|
|
Loading…
Reference in a new issue