do a funny by reverting the internal naming back to impl

This commit is contained in:
altalk23 2022-12-14 14:50:46 +03:00
parent 5666c8f356
commit 5efee1e42f
23 changed files with 78 additions and 78 deletions

View file

@ -17,7 +17,7 @@ namespace geode {
std::string reason;
};
class InternalLoader;
class LoaderImpl;
class GEODE_DLL Loader {
private:
@ -59,7 +59,7 @@ namespace geode {
bool isModLoaded(std::string const& id) const;
Mod* getLoadedMod(std::string const& id) const;
std::vector<Mod*> getAllMods();
Mod* getInternalMod();
Mod* getModImpl();
void updateAllDependencies();
std::vector<InvalidGeodeFile> getFailedMods() const;
@ -79,7 +79,7 @@ namespace geode {
bool didLastLaunchCrash() const;
friend class InternalLoader;
friend class LoaderImpl;
friend Mod* takeNextLoaderMod();
};

View file

@ -33,7 +33,7 @@ namespace geode {
GEODE_HIDDEN Mod* takeNextLoaderMod();
class InternalMod;
class ModImpl;
/**
* @class Mod
@ -344,7 +344,7 @@ namespace geode {
*/
ModJson getRuntimeInfo() const;
friend class InternalMod;
friend class ModImpl;
};
/**

View file

@ -3,7 +3,7 @@
#include <Geode/utils/cocos.hpp>
#include <array>
#include <fmt/format.h>
#include <loader/InternalLoader.hpp>
#include <loader/LoaderImpl.hpp>
USE_GEODE_NAMESPACE();
@ -35,7 +35,7 @@ struct CustomLoadingLayer : Modify<CustomLoadingLayer, LoadingLayer> {
));
// verify loader resources
if (!InternalLoader::get()->verifyLoaderResources()) {
if (!LoaderImpl::get()->verifyLoaderResources()) {
m_fields->m_updatingResources = true;
this->setUpdateText("Downloading Resources");
}
@ -60,7 +60,7 @@ struct CustomLoadingLayer : Modify<CustomLoadingLayer, LoadingLayer> {
this->loadAssets();
},
[&](UpdateFailed const& error) {
InternalLoader::get()->platformMessageBox(
LoaderImpl::get()->platformMessageBox(
"Error updating resources",
"Unable to update Geode resources: " +
error + ".\n"

View file

@ -10,7 +10,7 @@
#include <Geode/ui/Notification.hpp>
#include <Geode/ui/Popup.hpp>
#include <Geode/utils/cocos.hpp>
#include <loader/InternalMod.hpp>
#include <loader/ModImpl.hpp>
USE_GEODE_NAMESPACE();
@ -102,7 +102,7 @@ struct CustomMenuLayer : Modify<CustomMenuLayer, MenuLayer> {
"Send",
[](auto, bool btn2) {
if (btn2) {
geode::openIssueReportPopup(InternalMod::get());
geode::openIssueReportPopup(Mod::get());
}
},
false

View file

@ -1,4 +1,4 @@
#include <loader/InternalLoader.hpp>
#include <loader/LoaderImpl.hpp>
USE_GEODE_NAMESPACE();
@ -6,7 +6,7 @@ USE_GEODE_NAMESPACE();
struct FunctionQueue : Modify<FunctionQueue, CCScheduler> {
void update(float dt) {
InternalLoader::get()->executeGDThreadQueue();
LoaderImpl::get()->executeGDThreadQueue();
return CCScheduler::update(dt);
}
};

View file

@ -5,7 +5,7 @@
#include <Geode/utils/ranges.hpp>
#include <vector>
// #include <hook/hook.hpp>
#include "InternalMod.hpp"
#include "ModImpl.hpp"
#include <Geode/hook-core/Hook.hpp>

View file

@ -1,4 +1,4 @@
#include "InternalLoader.hpp"
#include "LoaderImpl.hpp"
USE_GEODE_NAMESPACE();
@ -83,8 +83,8 @@ std::vector<Mod*> Loader::getAllMods() {
return m_impl->getAllMods();
}
Mod* Loader::getInternalMod() {
return m_impl->getInternalMod();
Mod* Loader::getModImpl() {
return m_impl->getModImpl();
}
void Loader::updateAllDependencies() {

View file

@ -1,5 +1,5 @@
#include "InternalLoader.hpp"
#include "LoaderImpl.hpp"
#include <cocos2d.h>
#include <Geode/loader/Dirs.hpp>
#include <Geode/loader/IPC.hpp>
@ -10,7 +10,7 @@
#include <Geode/utils/map.hpp>
#include <Geode/utils/ranges.hpp>
#include <Geode/utils/web.hpp>
#include "InternalMod.hpp"
#include "ModImpl.hpp"
#include <about.hpp>
#include <crashlog.hpp>
#include <fmt/format.h>
@ -24,7 +24,7 @@
USE_GEODE_NAMESPACE();
Loader::Impl* InternalLoader::get() {
Loader::Impl* LoaderImpl::get() {
return Loader::get()->m_impl.get();
}
@ -105,7 +105,7 @@ void Loader::Impl::updateResources() {
log::debug("Adding resources");
// add own spritesheets
this->updateModResources(InternalMod::get());
this->updateModResources(Mod::get());
// add mods' spritesheets
for (auto const& [_, mod] : m_mods) {
@ -117,8 +117,8 @@ std::vector<Mod*> Loader::Impl::getAllMods() {
return map::values(m_mods);
}
Mod* Loader::Impl::getInternalMod() {
return InternalMod::get();
Mod* Loader::Impl::getModImpl() {
return Mod::get();
}
std::vector<InvalidGeodeFile> Loader::Impl::getFailedMods() const {
@ -155,20 +155,20 @@ bool Loader::Impl::isModVersionSupported(VersionInfo const& version) {
Result<> Loader::Impl::saveData() {
// save mods' data
for (auto& [id, mod] : m_mods) {
InternalMod::get()->setSavedValue("should-load-" + id, mod->isEnabled());
Mod::get()->setSavedValue("should-load-" + id, mod->isEnabled());
auto r = mod->saveData();
if (!r) {
log::warn("Unable to save data for mod \"{}\": {}", mod->getID(), r.unwrapErr());
}
}
// save loader data
GEODE_UNWRAP(InternalMod::get()->saveData());
GEODE_UNWRAP(Mod::get()->saveData());
return Ok();
}
Result<> Loader::Impl::loadData() {
auto e = InternalMod::get()->loadData();
auto e = Mod::get()->loadData();
if (!e) {
log::warn("Unable to load loader settings: {}", e.unwrapErr());
}
@ -199,7 +199,7 @@ Result<Mod*> Loader::Impl::loadModFromInfo(ModInfo const& info) {
}
m_mods.insert({ info.id, mod });
mod->m_impl->m_enabled = InternalMod::get()->getSavedValue<bool>(
mod->m_impl->m_enabled = Mod::get()->getSavedValue<bool>(
"should-load-" + info.id, true
);
@ -466,7 +466,7 @@ bool Loader::Impl::platformConsoleOpen() const {
void Loader::Impl::downloadLoaderResources() {
auto version = this->getVersion().toString();
auto tempResourcesZip = dirs::getTempDir() / "new.zip";
auto resourcesDir = dirs::getGeodeResourcesDir() / InternalMod::get()->getID();
auto resourcesDir = dirs::getGeodeResourcesDir() / Mod::get()->getID();
web::AsyncWebRequest()
.join("update-geode-loader-resources")
@ -506,7 +506,7 @@ bool Loader::Impl::verifyLoaderResources() {
}
// geode/resources/geode.loader
auto resourcesDir = dirs::getGeodeResourcesDir() / InternalMod::get()->getID();
auto resourcesDir = dirs::getGeodeResourcesDir() / Mod::get()->getID();
// if the resources dir doesn't exist, then it's probably incorrect
if (!(
@ -595,7 +595,8 @@ void Loader::Impl::provideNextMod(Mod* mod) {
Mod* Loader::Impl::takeNextMod() {
if (!m_nextMod) {
return InternalMod::get();
this->setupInternalMod();
m_nextMod = Mod::sharedMod<>;
}
auto ret = m_nextMod;
return ret;

View file

@ -9,7 +9,7 @@
#include <Geode/utils/Result.hpp>
#include <Geode/utils/map.hpp>
#include <Geode/utils/ranges.hpp>
#include "InternalMod.hpp"
#include "ModImpl.hpp"
#include <about.hpp>
#include <crashlog.hpp>
#include <mutex>
@ -100,7 +100,7 @@ namespace geode {
bool isModLoaded(std::string const& id) const;
Mod* getLoadedMod(std::string const& id) const;
std::vector<Mod*> getAllMods();
Mod* getInternalMod();
Mod* getModImpl();
void updateAllDependencies();
std::vector<InvalidGeodeFile> getFailedMods() const;
@ -125,9 +125,11 @@ namespace geode {
bool isReadyToHook() const;
void addInternalHook(Hook* hook, Mod* mod);
void setupInternalMod();
};
class InternalLoader {
class LoaderImpl {
public:
static Loader::Impl* get();
};

View file

@ -1,4 +1,4 @@
#include "InternalLoader.hpp"
#include "LoaderImpl.hpp"
#include <Geode/loader/Dirs.hpp>
#include <Geode/loader/Log.hpp>
@ -190,7 +190,7 @@ void Logger::setup() {
void Logger::_push(Log&& log) {
std::string logStr = log.toString(true);
InternalLoader::get()->logConsoleMessage(logStr);
LoaderImpl::get()->logConsoleMessage(logStr);
s_logStream << logStr << std::endl;
s_logs.emplace_back(std::forward<Log>(log));

View file

@ -1,5 +1,5 @@
#include <Geode/loader/Mod.hpp>
#include "InternalMod.hpp"
#include "ModImpl.hpp"
USE_GEODE_NAMESPACE();

View file

@ -1,5 +1,5 @@
#include "InternalMod.hpp"
#include "InternalLoader.hpp"
#include "ModImpl.hpp"
#include "LoaderImpl.hpp"
#include "about.hpp"
#include <Geode/loader/Dirs.hpp>
@ -14,7 +14,7 @@
USE_GEODE_NAMESPACE();
Mod::Impl* InternalMod::getImpl(Mod* mod) {
Mod::Impl* ModImpl::getImpl(Mod* mod) {
return mod->m_impl.get();
}
@ -285,12 +285,12 @@ Result<> Mod::Impl::loadBinary() {
return Err("Mod has unresolved dependencies");
}
InternalLoader::get()->provideNextMod(this->m_self);
LoaderImpl::get()->provideNextMod(this->m_self);
GEODE_UNWRAP(this->loadPlatformBinary());
m_binaryLoaded = true;
InternalLoader::get()->releaseNextMod();
LoaderImpl::get()->releaseNextMod();
ModStateEvent(this->m_self, ModEventType::Loaded).post();
@ -402,7 +402,7 @@ Result<> Mod::Impl::uninstall() {
}
bool Mod::Impl::isUninstalled() const {
return this->m_self != InternalMod::get() && !ghc::filesystem::exists(m_info.path);
return this->m_self != Mod::get() && !ghc::filesystem::exists(m_info.path);
}
// Dependencies
@ -490,7 +490,7 @@ Result<> Mod::Impl::disableHook(Hook* hook) {
}
Result<Hook*> Mod::Impl::addHook(Hook* hook) {
if (InternalLoader::get()->isReadyToHook()) {
if (LoaderImpl::get()->isReadyToHook()) {
auto res = this->enableHook(hook);
if (!res) {
delete hook;
@ -498,7 +498,7 @@ Result<Hook*> Mod::Impl::addHook(Hook* hook) {
}
}
else {
InternalLoader::get()->addInternalHook(hook, this->m_self);
LoaderImpl::get()->addInternalHook(hook, this->m_self);
}
return Ok(hook);
@ -630,12 +630,12 @@ static constexpr char const* SUPPORT_INFO = R"MD(
You can support our work by sending <cp>**catgirl pictures**</c> to [HJfod](https://youtu.be/LOHSF9MmBDw) :))
)MD";
static ModInfo getInternalModInfo() {
static ModInfo getModImplInfo() {
try {
auto json = ModJson::parse(LOADER_MOD_JSON);
auto infoRes = ModInfo::create(json);
if (infoRes.isErr()) {
InternalLoader::get()->platformMessageBox(
LoaderImpl::get()->platformMessageBox(
"Fatal Internal Error",
"Unable to parse loader mod.json: \"" + infoRes.unwrapErr() +
"\"\n"
@ -651,7 +651,7 @@ static ModInfo getInternalModInfo() {
return info;
}
catch (std::exception& e) {
InternalLoader::get()->platformMessageBox(
LoaderImpl::get()->platformMessageBox(
"Fatal Internal Error",
"Unable to parse loader mod.json: \"" + std::string(e.what()) +
"\"\n"
@ -662,16 +662,13 @@ static ModInfo getInternalModInfo() {
}
}
Mod* InternalMod::get() {
void Loader::Impl::setupInternalMod() {
auto& mod = Mod::sharedMod<>;
if (mod) return mod;
mod = new Mod(getInternalModInfo());
if (mod) return;
mod = new Mod(getModImplInfo());
auto setupRes = mod->m_impl->setup();
if (!setupRes) {
log::error("Failed to setup internal mod! ({})", setupRes.unwrapErr());
return mod;
}
return mod;
}

View file

@ -120,7 +120,7 @@ namespace geode {
ModJson getRuntimeInfo() const;
};
class InternalMod : public Mod {
class ModImpl : public Mod {
public:
static Mod* get();

View file

@ -1,5 +1,5 @@
#include "../core/Core.hpp"
#include "loader/InternalLoader.hpp"
#include "loader/LoaderImpl.hpp"
#include <Geode/loader/IPC.hpp>
#include <Geode/loader/Loader.hpp>
@ -7,7 +7,7 @@
#include <Geode/loader/Mod.hpp>
#include <Geode/loader/Setting.hpp>
#include <Geode/loader/SettingEvent.hpp>
#include <loader/InternalMod.hpp>
#include <loader/ModImpl.hpp>
#include <array>
USE_GEODE_NAMESPACE();
@ -114,7 +114,7 @@ $execute {
});
listenForIPC("loader-info", [](IPCEvent* event) -> nlohmann::json {
return Loader::get()->getInternalMod()->getModInfo();
return Loader::get()->getModImpl()->getModInfo();
});
listenForIPC("list-mods", [](IPCEvent* event) -> nlohmann::json {
@ -129,8 +129,8 @@ $execute {
if (!dontIncludeLoader) {
res.push_back(
includeRunTimeInfo ? Loader::get()->getInternalMod()->getRuntimeInfo() :
Loader::get()->getInternalMod()->getModInfo().toJSON()
includeRunTimeInfo ? Loader::get()->getModImpl()->getRuntimeInfo() :
Loader::get()->getModImpl()->getModInfo().toJSON()
);
}
@ -146,7 +146,7 @@ int geodeEntry(void* platformData) {
// setup internals
if (!geode::core::hook::initialize()) {
InternalLoader::get()->platformMessageBox(
LoaderImpl::get()->platformMessageBox(
"Unable to load Geode!",
"There was an unknown fatal error setting up "
"internal tools and Geode can not be loaded. "
@ -156,19 +156,19 @@ int geodeEntry(void* platformData) {
}
// set up loader, load mods, etc.
if (!InternalLoader::get()->setup()) {
InternalLoader::get()->platformMessageBox(
if (!LoaderImpl::get()->setup()) {
LoaderImpl::get()->platformMessageBox(
"Unable to Load Geode!",
"There was an unknown fatal error setting up "
"the loader and Geode can not be loaded."
);
InternalLoader::get()->reset();
LoaderImpl::get()->reset();
return 1;
}
log::debug("Set up loader");
if (InternalMod::get()->getSettingValue<bool>("show-platform-console")) {
if (Mod::get()->getSettingValue<bool>("show-platform-console")) {
Loader::get()->openPlatformConsole();
}

View file

@ -1,11 +1,11 @@
#include <loader/InternalLoader.hpp>
#include <loader/LoaderImpl.hpp>
#ifdef GEODE_IS_IOS
#include <Geode/loader/Dirs.hpp>
#include <Geode/loader/Loader.hpp>
#include <Geode/loader/Log.hpp>
#include <loader/InternalMod.hpp>
#include <loader/ModImpl.hpp>
#include <iostream>
#include <pwd.h>
#include <sys/types.h>

View file

@ -3,7 +3,7 @@
#ifdef GEODE_IS_IOS
#include <Geode/loader/Mod.hpp>
#include <loader/InternalMod.hpp>
#include <loader/ModImpl.hpp>
#include <dlfcn.h>
USE_GEODE_NAMESPACE();

View file

@ -1,8 +1,8 @@
#include <Geode/loader/IPC.hpp>
#include <Geode/loader/Log.hpp>
#include <iostream>
#include <loader/InternalLoader.hpp>
#include <loader/InternalMod.hpp>
#include <loader/LoaderImpl.hpp>
#include <loader/ModImpl.hpp>
#ifdef GEODE_IS_MACOS
@ -36,7 +36,7 @@ CFDataRef msgPortCallback(CFMessagePortRef port, SInt32 messageID, CFDataRef dat
std::string cdata(reinterpret_cast<char const*>(CFDataGetBytePtr(data)), CFDataGetLength(data));
std::string reply = InternalLoader::get()->processRawIPC(port, cdata);
std::string reply = LoaderImpl::get()->processRawIPC(port, cdata);
return CFDataCreate(NULL, (UInt8 const*)reply.data(), reply.size());
}

View file

@ -3,7 +3,7 @@
#ifdef GEODE_IS_MACOS
#include <Geode/loader/Mod.hpp>
#include <loader/InternalMod.hpp>
#include <loader/ModImpl.hpp>
#include <dlfcn.h>
USE_GEODE_NAMESPACE();

View file

@ -1,8 +1,8 @@
#include <Geode/loader/IPC.hpp>
#include <Geode/loader/Log.hpp>
#include <loader/InternalMod.hpp>
#include <loader/ModImpl.hpp>
#include <iostream>
#include <loader/InternalLoader.hpp>
#include <loader/LoaderImpl.hpp>
USE_GEODE_NAMESPACE();
@ -49,7 +49,7 @@ void ipcPipeThread(HANDLE pipe) {
if (ReadFile(pipe, buffer, sizeof(buffer) - 1, &read, nullptr)) {
buffer[read] = '\0';
std::string reply = InternalLoader::get()->processRawIPC((void*)pipe, buffer);
std::string reply = LoaderImpl::get()->processRawIPC((void*)pipe, buffer);
DWORD written;
WriteFile(pipe, reply.c_str(), reply.size(), &written, nullptr);

View file

@ -3,7 +3,7 @@
#ifdef GEODE_IS_WINDOWS
#include <Geode/loader/Mod.hpp>
#include <loader/InternalMod.hpp>
#include <loader/ModImpl.hpp>
USE_GEODE_NAMESPACE();

View file

@ -74,7 +74,7 @@ CCNode* geode::createDefaultLogo(CCSize const& size) {
CCNode* geode::createModLogo(Mod* mod, CCSize const& size) {
CCNode* spr = nullptr;
if (mod == Loader::get()->getInternalMod()) {
if (mod == Loader::get()->getModImpl()) {
spr = CCSprite::createWithSpriteFrameName("geode-logo.png"_spr);
}
else {

View file

@ -21,7 +21,7 @@
#include <Geode/utils/casts.hpp>
#include <Geode/utils/ranges.hpp>
#include <Geode/utils/web.hpp>
#include <loader/InternalLoader.hpp>
#include <loader/LoaderImpl.hpp>
static constexpr int const TAG_CONFIRM_UNINSTALL = 5;
static constexpr int const TAG_DELETE_SAVEDATA = 6;
@ -323,7 +323,7 @@ bool LocalModInfoPopup::init(Mod* mod, ModListLayer* list) {
disableBtnSpr->setColor({150, 150, 150});
}
if (mod != Loader::get()->getInternalMod()) {
if (mod != Loader::get()->getModImpl()) {
auto uninstallBtnSpr = ButtonSprite::create(
"Uninstall", "bigFont.fnt", "GJ_button_05.png", .6f
);

View file

@ -8,7 +8,7 @@
#include <Geode/binding/FLAlertLayer.hpp>
#include <Geode/binding/StatsCell.hpp>
#include <Geode/ui/GeodeUI.hpp>
#include <loader/InternalLoader.hpp>
#include <loader/LoaderImpl.hpp>
#include "../info/TagNode.hpp"
#include "../info/DevProfilePopup.hpp"