Skip to content

Commit 3bc10e1

Browse files
committed
remove red4ext dependency and base init fix
1 parent 07281b6 commit 3bc10e1

File tree

6 files changed

+25
-62
lines changed

6 files changed

+25
-62
lines changed

src/dllmain.cpp

+11-49
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@
33
#include "CET.h"
44

55
#include "Options.h"
6-
#include "RED4ext/Api/EMainReason.hpp"
7-
#include "RED4ext/Api/PluginHandle.hpp"
8-
#include "RED4ext/Api/Runtime.hpp"
9-
#include "RED4ext/Api/Sdk.hpp"
10-
#include "RED4ext/Api/Version.hpp"
116

127
#include "scripting/GameHooks.h"
138

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

2217
using namespace std::chrono_literals;
2318

24-
static bool Initialize()
19+
static void Initialize()
2520
{
2621
try
2722
{
@@ -34,12 +29,12 @@ static bool Initialize()
3429
// single instance check
3530
s_modInstanceMutex = CreateMutex(nullptr, TRUE, TEXT("Cyber Engine Tweaks Module Instance"));
3631
if (s_modInstanceMutex == nullptr)
37-
return false;
32+
return;
3833

3934
// initialize patches
4035

41-
//if (options.Patches.SkipStartMenu)
42-
// StartScreenPatch();
36+
// if (options.Patches.SkipStartMenu)
37+
// StartScreenPatch();
4338

4439
if (options.Patches.DisableIntroMovies)
4540
DisableIntroMoviesPatch();
@@ -50,17 +45,13 @@ static bool Initialize()
5045
if (options.Patches.DisableBoundaryTeleport)
5146
DisableBoundaryTeleportPatch();
5247

53-
5448
OptionsInitHook();
5549

5650
MH_EnableHook(nullptr);
5751
}
5852
catch (...)
5953
{
60-
return false;
6154
}
62-
63-
return true;
6455
}
6556

6657
static void Shutdown()
@@ -87,45 +78,16 @@ static void Shutdown()
8778
}
8879
}
8980

90-
RED4EXT_C_EXPORT bool RED4EXT_CALL Main(RED4ext::PluginHandle aHandle, RED4ext::EMainReason aReason, const RED4ext::Sdk* aSdk)
81+
BOOL APIENTRY DllMain(HMODULE mod, DWORD ul_reason_for_call, LPVOID)
9182
{
92-
RED4EXT_UNUSED_PARAMETER(aHandle);
93-
RED4EXT_UNUSED_PARAMETER(aSdk);
83+
DisableThreadLibraryCalls(mod);
9484

95-
switch (aReason)
96-
{
97-
case RED4ext::EMainReason::Load:
98-
{
99-
return Initialize();
100-
break;
101-
}
102-
case RED4ext::EMainReason::Unload:
85+
switch (ul_reason_for_call)
10386
{
104-
Shutdown();
105-
break;
106-
}
87+
case DLL_PROCESS_ATTACH: Initialize(); break;
88+
case DLL_PROCESS_DETACH: Shutdown(); break;
89+
default: break;
10790
}
10891

109-
return true;
110-
}
111-
112-
RED4EXT_C_EXPORT void RED4EXT_CALL Query(RED4ext::PluginInfo* aInfo)
113-
{
114-
aInfo->name = L"Cyber Engine Tweaks";
115-
aInfo->author = L"Yamashi and Friends";
116-
117-
std::istringstream oss(CET_BUILD_COMMIT);
118-
119-
char buffer;
120-
uint32_t major, minor, patch;
121-
oss >> buffer >> major >> buffer >> minor >> buffer >> patch;
122-
123-
aInfo->version = RED4EXT_SEMVER(major, minor, patch);
124-
aInfo->runtime = RED4EXT_RUNTIME_INDEPENDENT;
125-
aInfo->sdk = RED4EXT_SDK_LATEST;
126-
}
127-
128-
RED4EXT_C_EXPORT uint32_t RED4EXT_CALL Supports()
129-
{
130-
return RED4EXT_API_VERSION_LATEST;
92+
return TRUE;
13193
}

src/overlay/Overlay.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ Overlay::Overlay(VKBindings& aBindings, Options& aOptions, PersistentState& aPer
272272
{
273273
Hook();
274274

275-
GameMainThread::Get().AddInitializationTask(
275+
GameMainThread::Get().AddBaseInitializationTask(
276276
[this]
277277
{
278278
PostInitialize();

src/reverse/Addresses.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace CyberEngineTweaks::AddressHashes
66
{
77
#pragma region CBaseInitializationState
8-
constexpr uint32_t CBaseInitializationState_OnTick = 2529693960UL;
8+
constexpr uint32_t CBaseInitializationState_OnTick = 4233370276UL;
99
#pragma endregion
1010

1111
#pragma region CGame

vendor/asiloader/version.dll

549 KB
Binary file not shown.

xmake.lua

+11-10
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@ set_languages("cxx20")
44
set_arch("x64")
55

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

10-
add_cxflags("/bigobj", "/MP", "/EHsc")
9+
add_cxflags("/bigobj", "/MP")
1110
add_defines("RED4EXT_STATIC_LIB", "UNICODE", "_UNICODE", "_CRT_SECURE_NO_WARNINGS")
1211

1312
local vsRuntime = "MD"
@@ -66,10 +65,10 @@ target("RED4ext.SDK")
6665
on_install(function() end)
6766

6867
target("cyber_engine_tweaks")
69-
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
68+
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
7069
set_pcxxheader("src/stdafx.h")
7170
set_kind("shared")
72-
set_filename("cyber_engine_tweaks.dll")
71+
set_filename("cyber_engine_tweaks.asi")
7372
add_files("src/**.cpp")
7473
add_headerfiles("src/**.h", "build/CETVersion.h")
7574
add_includedirs("src/", "build/")
@@ -83,7 +82,7 @@ target("cyber_engine_tweaks")
8382

8483
os.rm("package/*")
8584

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

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

96-
os.cp("LICENSE", "package/red4ext/plugins/cyber_engine_tweaks/")
95+
os.cp("vendor/asiloader/*", "package/bin/x64/")
96+
97+
os.cp("LICENSE", "package/bin/x64/")
9798
os.cp("ThirdParty_LICENSES", "package/bin/x64/plugins/cyber_engine_tweaks/ThirdParty_LICENSES")
9899

99-
os.cp(target:targetfile(), "package/red4ext/plugins/cyber_engine_tweaks/")
100+
os.cp(target:targetfile(), "package/bin/x64/plugins/")
100101
end)
101102
on_install(function(target)
102103
cprint("${green bright}Installing Cyber Engine Tweaks ..")
@@ -108,14 +109,14 @@ target("cyber_engine_tweaks")
108109
target("fake_cyber_engine_tweaks")
109110
set_kind("shared")
110111
set_group("yawn")
111-
set_filename("cyber_engine_tweaks.asi")
112+
set_filename("cyber_engine_tweaks.dll")
112113
add_files("yawn/dllmain.cpp")
113114

114115
on_package(function(target)
115-
os.cp(target:targetfile(), "package/bin/x64/plugins/")
116+
os.cp(target:targetfile(), "package/red4ext/plugins/cyber_engine_tweaks/")
116117
end)
117118

118119
option("installpath")
119120
set_default("installpath")
120121
set_showmenu(true)
121-
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"]]))
122+
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 commit comments

Comments
 (0)