fix merge artifacts as usual

This commit is contained in:
altalk23 2022-12-14 16:01:01 +03:00
parent bcfe6a6914
commit 641c56e7be
5 changed files with 11 additions and 23 deletions

View file

@ -138,7 +138,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${md4c_SOURCE_DIR}/src)
# Tulip hook (hooking)
CPMAddPackage("gh:altalk23/TulipHook#ecbe8d7")
target_link_libraries(${PROJECT_NAME} md4c z TulipHook geode-sdk)
target_link_libraries(${PROJECT_NAME} md4c z TulipHook geode-sdk re2)
# Use precompiled headers for faster builds
target_precompile_headers(${PROJECT_NAME} PRIVATE

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

@ -608,21 +608,6 @@ void Loader::Impl::releaseNextMod() {
m_nextModLock.unlock();
}
Result<> Loader::Impl::setupInternalMod() {
this->provideNextMod(InternalMod::get());
(void)Mod::get();
m_nextModLock.unlock();
InternalMod::get()->setModInfo();
auto sett = Mod::get()->loadData();
if (!sett) {
log::error("{}", sett.unwrapErr());
}
return Ok();
}
Result<> Loader::Impl::createHandler(void* address, tulip::hook::HandlerMetadata const& metadata) {
if (m_handlerHandles.count(address)) {

View file

@ -61,8 +61,6 @@ namespace geode {
std::mutex m_nextModAccessMutex;
Mod* m_nextMod = nullptr;
Result<> setupInternalMod();
void provideNextMod(Mod* mod);
Mod* takeNextMod();
void releaseNextMod();

View file

@ -481,6 +481,9 @@ bool Mod::Impl::depends(std::string const& id) const {
Result<> Mod::Impl::enableHook(Hook* hook) {
auto res = hook->enable();
if (res) m_hooks.push_back(hook);
else {
log::error("Can't enable hook {} for mod {}: {}", m_info.id, res.unwrapErr());
}
return res;
}
@ -491,10 +494,12 @@ Result<> Mod::Impl::disableHook(Hook* hook) {
Result<Hook*> Mod::Impl::addHook(Hook* hook) {
if (LoaderImpl::get()->isReadyToHook()) {
auto res = this->enableHook(hook);
if (!res) {
delete hook;
return Err("Can't create hook");
if (hook->getAutoEnable()) {
auto res = this->enableHook(hook);
if (!res) {
delete hook;
return Err("Can't create hook: "+ res.unwrapErr());
}
}
}
else {