plutonium sdk support

This commit is contained in:
2025-02-07 14:44:43 -06:00
parent 3020770cb3
commit 27ae961fd8
22 changed files with 581 additions and 143 deletions
+8 -18
View File
@@ -1,38 +1,28 @@
#include <stdinc.hpp>
#include "loader/component_loader.hpp"
#include "plugin.hpp"
#include "game/game.hpp"
#include <utils/hook.hpp>
#include <utils/nt.hpp>
namespace
PLUTONIUM_API plutonium::sdk::plugin* PLUTONIUM_CALLBACK on_initialize()
{
void printf_stub(const char* fmt, ...)
{
char buffer[2048]{};
va_list ap;
va_start(ap, fmt);
vsnprintf_s(buffer, sizeof(buffer), _TRUNCATE, fmt, ap);
va_end(ap);
game::Com_Printf(0, "%s", buffer);
}
return plugin::get();
}
BOOL APIENTRY DllMain(HMODULE /*module*/, DWORD ul_reason_for_call, LPVOID /*reserved*/)
BOOL APIENTRY DllMain(HMODULE module, DWORD ul_reason_for_call, LPVOID /*reserved*/)
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
utils::hook::jump(reinterpret_cast<size_t>(&printf), printf_stub);
component_loader::post_unpack();
utils::nt::library::set_current_handle(module);
}
if (ul_reason_for_call == DLL_PROCESS_DETACH)
{
component_loader::pre_destroy();
component_loader::on_shutdown();
}
return TRUE;