Skip to content

Commit

Permalink
remove red4ext dependency and base init fix
Browse files Browse the repository at this point in the history
  • Loading branch information
maximegmd committed Mar 1, 2024
1 parent 07281b6 commit 3bc10e1
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 62 deletions.
60 changes: 11 additions & 49 deletions src/dllmain.cpp
Expand Up @@ -3,11 +3,6 @@
#include "CET.h"

#include "Options.h"
#include "RED4ext/Api/EMainReason.hpp"
#include "RED4ext/Api/PluginHandle.hpp"
#include "RED4ext/Api/Runtime.hpp"
#include "RED4ext/Api/Sdk.hpp"
#include "RED4ext/Api/Version.hpp"

#include "scripting/GameHooks.h"

Expand All @@ -21,7 +16,7 @@ static HANDLE s_modInstanceMutex = nullptr;

using namespace std::chrono_literals;

static bool Initialize()
static void Initialize()
{
try
{
Expand All @@ -34,12 +29,12 @@ static bool Initialize()
// single instance check
s_modInstanceMutex = CreateMutex(nullptr, TRUE, TEXT("Cyber Engine Tweaks Module Instance"));
if (s_modInstanceMutex == nullptr)
return false;
return;

// initialize patches

//if (options.Patches.SkipStartMenu)
// StartScreenPatch();
// if (options.Patches.SkipStartMenu)
// StartScreenPatch();

if (options.Patches.DisableIntroMovies)
DisableIntroMoviesPatch();
Expand All @@ -50,17 +45,13 @@ static bool Initialize()
if (options.Patches.DisableBoundaryTeleport)
DisableBoundaryTeleportPatch();


OptionsInitHook();

MH_EnableHook(nullptr);
}
catch (...)
{
return false;
}

return true;
}

static void Shutdown()
Expand All @@ -87,45 +78,16 @@ static void Shutdown()
}
}

RED4EXT_C_EXPORT bool RED4EXT_CALL Main(RED4ext::PluginHandle aHandle, RED4ext::EMainReason aReason, const RED4ext::Sdk* aSdk)
BOOL APIENTRY DllMain(HMODULE mod, DWORD ul_reason_for_call, LPVOID)
{
RED4EXT_UNUSED_PARAMETER(aHandle);
RED4EXT_UNUSED_PARAMETER(aSdk);
DisableThreadLibraryCalls(mod);

switch (aReason)
{
case RED4ext::EMainReason::Load:
{
return Initialize();
break;
}
case RED4ext::EMainReason::Unload:
switch (ul_reason_for_call)
{
Shutdown();
break;
}
case DLL_PROCESS_ATTACH: Initialize(); break;
case DLL_PROCESS_DETACH: Shutdown(); break;
default: break;
}

return true;
}

RED4EXT_C_EXPORT void RED4EXT_CALL Query(RED4ext::PluginInfo* aInfo)
{
aInfo->name = L"Cyber Engine Tweaks";
aInfo->author = L"Yamashi and Friends";

std::istringstream oss(CET_BUILD_COMMIT);

char buffer;
uint32_t major, minor, patch;
oss >> buffer >> major >> buffer >> minor >> buffer >> patch;

aInfo->version = RED4EXT_SEMVER(major, minor, patch);
aInfo->runtime = RED4EXT_RUNTIME_INDEPENDENT;
aInfo->sdk = RED4EXT_SDK_LATEST;
}

RED4EXT_C_EXPORT uint32_t RED4EXT_CALL Supports()
{
return RED4EXT_API_VERSION_LATEST;
return TRUE;
}
2 changes: 1 addition & 1 deletion src/overlay/Overlay.cpp
Expand Up @@ -272,7 +272,7 @@ Overlay::Overlay(VKBindings& aBindings, Options& aOptions, PersistentState& aPer
{
Hook();

GameMainThread::Get().AddInitializationTask(
GameMainThread::Get().AddBaseInitializationTask(
[this]
{
PostInitialize();
Expand Down
2 changes: 1 addition & 1 deletion src/reverse/Addresses.h
Expand Up @@ -5,7 +5,7 @@
namespace CyberEngineTweaks::AddressHashes
{
#pragma region CBaseInitializationState
constexpr uint32_t CBaseInitializationState_OnTick = 2529693960UL;
constexpr uint32_t CBaseInitializationState_OnTick = 4233370276UL;
#pragma endregion

#pragma region CGame
Expand Down
2 changes: 1 addition & 1 deletion vendor/RED4ext.SDK
Binary file modified vendor/asiloader/version.dll
Binary file not shown.
21 changes: 11 additions & 10 deletions xmake.lua
Expand Up @@ -4,10 +4,9 @@ set_languages("cxx20")
set_arch("x64")

add_rules("mode.debug","mode.releasedbg", "mode.release")
--add_rules("plugin.vsxmake.autoupdate")
add_rules("c.unity_build")

add_cxflags("/bigobj", "/MP", "/EHsc")
add_cxflags("/bigobj", "/MP")
add_defines("RED4EXT_STATIC_LIB", "UNICODE", "_UNICODE", "_CRT_SECURE_NO_WARNINGS")

local vsRuntime = "MD"
Expand Down Expand Up @@ -66,10 +65,10 @@ target("RED4ext.SDK")
on_install(function() end)

target("cyber_engine_tweaks")
add_defines("WIN32_LEAN_AND_MEAN", "_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING", "NOMINMAX", "WINVER=0x0601", "SOL_ALL_SAFETIES_ON", "SOL_LUAJIT=1", "SOL_EXCEPTIONS_SAFE_PROPAGATION", "SPDLOG_WCHAR_TO_UTF8_SUPPORT", "SPDLOG_WCHAR_FILENAMES", "SPDLOG_WCHAR_SUPPORT", "IMGUI_USER_CONFIG=\""..imguiUserConfig.."\"") -- WINVER=0x0601 == Windows 7xmake
add_defines("WIN32_LEAN_AND_MEAN", "NOMINMAX", "WINVER=0x0601", "SOL_ALL_SAFETIES_ON", "SOL_LUAJIT=1", "SOL_EXCEPTIONS_SAFE_PROPAGATION", "SPDLOG_WCHAR_TO_UTF8_SUPPORT", "SPDLOG_WCHAR_FILENAMES", "SPDLOG_WCHAR_SUPPORT", "IMGUI_USER_CONFIG=\""..imguiUserConfig.."\"") -- WINVER=0x0601 == Windows 7xmake
set_pcxxheader("src/stdafx.h")
set_kind("shared")
set_filename("cyber_engine_tweaks.dll")
set_filename("cyber_engine_tweaks.asi")
add_files("src/**.cpp")
add_headerfiles("src/**.h", "build/CETVersion.h")
add_includedirs("src/", "build/")
Expand All @@ -83,7 +82,7 @@ target("cyber_engine_tweaks")

os.rm("package/*")

os.mkdir("package/red4ext/plugins/cyber_engine_tweaks/tweakdb")
os.mkdir("package/bin/x64/plugins/cyber_engine_tweaks/tweakdb")
http.download("https://github.com/WolvenKit/WolvenKit/raw/main/WolvenKit.Common/Resources/usedhashes.kark", "package/bin/x64/plugins/cyber_engine_tweaks/tweakdb/usedhashes.kark")
http.download("https://github.com/WolvenKit/WolvenKit/raw/main/WolvenKit.Common/Resources/tweakdbstr.kark", "package/bin/x64/plugins/cyber_engine_tweaks/tweakdb/tweakdbstr.kark")

Expand All @@ -93,10 +92,12 @@ target("cyber_engine_tweaks")
os.mkdir("package/bin/x64/plugins/cyber_engine_tweaks/fonts")
os.cp("fonts/*", "package/bin/x64/plugins/cyber_engine_tweaks/fonts")

os.cp("LICENSE", "package/red4ext/plugins/cyber_engine_tweaks/")
os.cp("vendor/asiloader/*", "package/bin/x64/")

os.cp("LICENSE", "package/bin/x64/")
os.cp("ThirdParty_LICENSES", "package/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES")

os.cp(target:targetfile(), "package/red4ext/plugins/cyber_engine_tweaks/")
os.cp(target:targetfile(), "package/bin/x64/plugins/")
end)
on_install(function(target)
cprint("${green bright}Installing Cyber Engine Tweaks ..")
Expand All @@ -108,14 +109,14 @@ target("cyber_engine_tweaks")
target("fake_cyber_engine_tweaks")
set_kind("shared")
set_group("yawn")
set_filename("cyber_engine_tweaks.asi")
set_filename("cyber_engine_tweaks.dll")
add_files("yawn/dllmain.cpp")

on_package(function(target)
os.cp(target:targetfile(), "package/bin/x64/plugins/")
os.cp(target:targetfile(), "package/red4ext/plugins/cyber_engine_tweaks/")
end)

option("installpath")
set_default("installpath")
set_showmenu(true)
set_description("Set the path to install cyber_engine_tweaks.asi to.", "e.g.", format("\t-xmake f --installpath=%s", [["C:\Program Files (x86)\Steam\steamapps\common\Cyberpunk 2077\bin\x64\plugins"]]))
set_description("Set the path to install cyber_engine_tweaks.asi to.", "e.g.", format("\t-xmake f --installpath=%s", [["C:\Program Files (x86)\Steam\steamapps\common\Cyberpunk 2077\bin\x64\plugins"]]))

0 comments on commit 3bc10e1

Please sign in to comment.