mirror of
https://github.com/Jous99/F4MP.git
synced 2026-01-13 00:00:54 +01:00
63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
#include <TiltedOnlinePCH.h>
|
|
|
|
#include <Renderer.h>
|
|
|
|
#include <Systems/RenderSystemD3D11.h>
|
|
#include <Services/DiscordService.h>
|
|
|
|
#include <World.h>
|
|
#include <D3D11Hook.hpp>
|
|
|
|
using TCreateViewport = bool(void*, ViewportConfig*, WindowConfig*, void*);
|
|
|
|
using TRenderPresent = void();
|
|
|
|
static WNDPROC RealWndProc = nullptr;
|
|
static TCreateViewport* RealCreateViewport = nullptr;
|
|
static TRenderPresent* RealRenderPresent = nullptr;
|
|
|
|
BGSRenderer* BGSRenderer::Get()
|
|
{
|
|
POINTER_SKYRIMSE(BGSRenderer*, s_instance, 411347);
|
|
|
|
return *(s_instance.Get());
|
|
}
|
|
|
|
ID3D11Device* BGSRenderer::GetDevice()
|
|
{
|
|
POINTER_SKYRIMSE(ID3D11Device*, s_device, 411348);
|
|
|
|
return *(s_device.Get());
|
|
}
|
|
|
|
// unused, never hooked
|
|
static void HookPresent()
|
|
{
|
|
// TODO (Force): refactor this ..
|
|
TiltedPhoques::D3D11Hook::Get().OnPresent(BGSRenderer::Get()->pSwapChain);
|
|
|
|
return RealRenderPresent();
|
|
}
|
|
|
|
// unused, never hooked
|
|
static bool HookCreateViewport(void* viewport, ViewportConfig* pConfig, WindowConfig* pWindowConfig, void* a4)
|
|
{
|
|
pConfig->name = "Skyrim Together | " BUILD_BRANCH "@" BUILD_COMMIT;
|
|
|
|
#if 0
|
|
pWindowConfig->bBorderlessDisplay = false;
|
|
pWindowConfig->bFullScreenDisplay = false;
|
|
#endif
|
|
|
|
const auto result = RealCreateViewport(viewport, pConfig, pWindowConfig, a4);
|
|
|
|
auto* pSwapchain = BGSRenderer::Get()->pSwapChain;
|
|
TiltedPhoques::D3D11Hook::Get().OnCreate(pSwapchain);
|
|
|
|
return result;
|
|
}
|
|
|
|
static TiltedPhoques::Initializer s_viewportHooks(
|
|
[]()
|
|
{
|
|
});
|