diff --git a/4J_Render/Windows64/4J_Render.cpp b/4J_Render/Windows64/4J_Render.cpp index 6d6086a..73492c4 100644 --- a/4J_Render/Windows64/4J_Render.cpp +++ b/4J_Render/Windows64/4J_Render.cpp @@ -131,9 +131,9 @@ void C4JRender::DoScreenGrabOnNextPresent() InternalRenderManager.DoScreenGrabOnNextPresent(); } -void C4JRender::Present(int ScreenWidth, int ScreenHeight) +void C4JRender::Present() { - InternalRenderManager.Present(ScreenWidth, ScreenHeight); + InternalRenderManager.Present(); } void C4JRender::Clear(int flags, D3D11_RECT* pRect) @@ -146,6 +146,11 @@ void C4JRender::SetClearColour(const float colourRGBA[4]) InternalRenderManager.SetClearColour(colourRGBA); } +void C4JRender::setResolution(int ScreenWidth, int ScreenHeight) +{ + InternalRenderManager.setResolution(ScreenWidth, ScreenHeight); +} + bool C4JRender::IsWidescreen() { return InternalRenderManager.IsWidescreen(); diff --git a/4J_Render/Windows64/Renderer.h b/4J_Render/Windows64/Renderer.h index 0a79bbb..36d43fc 100644 --- a/4J_Render/Windows64/Renderer.h +++ b/4J_Render/Windows64/Renderer.h @@ -72,9 +72,10 @@ public: ID3D11DeviceContext *InitialiseContext(bool fromPresent); void StartFrame(); void DoScreenGrabOnNextPresent(); - void Present(int ScreenWidth, int ScreenHeight); + void Present(); void Clear(int flags, D3D11_RECT *pRect); void SetClearColour(const float colourRGBA[4]); + void setResolution(int ScreenWidth, int ScreenHeight); bool IsWidescreen(); bool IsHiDef(); void CaptureThumbnail(ImageFileBuffer *pngOut); diff --git a/4J_Render/Windows64/RendererCore.cpp b/4J_Render/Windows64/RendererCore.cpp index f29f5c0..5099cda 100644 --- a/4J_Render/Windows64/RendererCore.cpp +++ b/4J_Render/Windows64/RendererCore.cpp @@ -854,16 +854,19 @@ ID3D11DeviceContext *Renderer::InitialiseContext(bool fromPresent) return deviceContext; } +//str1k3r - yo fuck you 4J and your hardcoded ass game +void Renderer::setResolution(int ScreenWidth, int ScreenHeight) +{ + if(kScreenHeight != ScreenHeight && kScreenWidth != ScreenWidth) + { + kScreenHeight = ScreenHeight; + kScreenWidth = ScreenWidth; + } +} + bool Renderer::IsHiDef() { - if(kScreenHeight >= 720 && kScreenWidth >= 1280) - { - return true; - } - else - { - return false; - } + return (kScreenHeight >= 720 && kScreenWidth >= 1280); } bool Renderer::IsWidescreen() @@ -871,10 +874,10 @@ bool Renderer::IsWidescreen() if (kScreenHeight == 0) return false; float aspectRatio = static_cast(kScreenWidth) / kScreenHeight; - return (aspectRatio >= 1.6f); + return (aspectRatio >= 1.56f); } -void Renderer::Present(int ScreenWidth, int ScreenHeight) +void Renderer::Present() { PROFILER_SCOPE("Renderer::Present", "Present", MP_MAGENTA); @@ -882,9 +885,6 @@ void Renderer::Present(int ScreenWidth, int ScreenHeight) { PROFILER_SCOPE("Renderer::Present", "ScreenGrab", MP_MAGENTA); - kScreenHeight = ScreenHeight; - kScreenWidth = ScreenWidth; - unsigned char *linearData = new unsigned char[kScreenWidth * kScreenHeight * 4]; ID3D11Resource *backBufferResource = NULL; diff --git a/Headers/Windows64/4J_Render.h b/Headers/Windows64/4J_Render.h index c5aac4f..1dc5e38 100644 --- a/Headers/Windows64/4J_Render.h +++ b/Headers/Windows64/4J_Render.h @@ -81,9 +81,10 @@ public: void InitialiseContext(); void StartFrame(); void DoScreenGrabOnNextPresent(); - void Present(int ScreenWidth, int ScreenHeight); + void Present(); void Clear(int flags, D3D11_RECT *pRect = NULL); void SetClearColour(const float colourRGBA[4]); + void setResolution(int ScreenWidth, int ScreenHeight); bool IsWidescreen(); bool IsHiDef(); void CaptureThumbnail(ImageFileBuffer *pngOut);