From a6895e1fdaa40df3a4c62687ddde1a282b2d09eb Mon Sep 17 00:00:00 2001 From: str1k3r <115313679+S1l3ntStr1ke87@users.noreply.github.com> Date: Thu, 10 Sep 2026 17:53:23 -0400 Subject: [PATCH] feat: GetScreenSize --- 4J_Render/Windows64/4J_Render.cpp | 23 +++++++++++++++++++++++ 4J_Render/Windows64/Renderer.h | 6 ++++++ 4J_Render/Windows64/RendererCore.cpp | 4 ++-- Headers/Windows64/4J_Render.h | 12 ++++++++++++ 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/4J_Render/Windows64/4J_Render.cpp b/4J_Render/Windows64/4J_Render.cpp index f265c5d..be47efa 100644 --- a/4J_Render/Windows64/4J_Render.cpp +++ b/4J_Render/Windows64/4J_Render.cpp @@ -52,6 +52,29 @@ int C4JRender::GetVSync() return m_VSyncState ? 1 : 0; } +//str1k3r - gonna be useful one day, kinda made this then didnt have to use it :sob: +EScreenSize C4JRender::GetScreenSize() +{ + int width = InternalRenderManager.kScreenWidth; + + if(width >= 1920) + { + return EScreenSize_1080P; + } + else if(width >= 1280 && width > 960) + { + return EScreenSize_720P; + } + else if(width >= 960 && width > 640) + { + return EScreenSize_544P; + } + else + { + return EScreenSize_480P; + } +} + void C4JRender::MatrixMode(int type) { InternalRenderManager.MatrixMode(type); diff --git a/4J_Render/Windows64/Renderer.h b/4J_Render/Windows64/Renderer.h index 36d43fc..18afc05 100644 --- a/4J_Render/Windows64/Renderer.h +++ b/4J_Render/Windows64/Renderer.h @@ -49,12 +49,18 @@ SOFTWARE. #define NUM_COMMAND_HANDLES 0x800000 #define MAX_COMMAND_BUFFERS 16000 +extern int kScreenWidth; +extern int kScreenHeight; + class Renderer { public: struct Context; struct CommandBuffer; + int kScreenHeight; + int kScreenWidth; + void UpdateGamma(unsigned short usGamma); void MatrixMode(int type); void MatrixSetIdentity(); diff --git a/4J_Render/Windows64/RendererCore.cpp b/4J_Render/Windows64/RendererCore.cpp index f902b42..859cc6b 100644 --- a/4J_Render/Windows64/RendererCore.cpp +++ b/4J_Render/Windows64/RendererCore.cpp @@ -54,9 +54,9 @@ D3D11_PRIMITIVE_TOPOLOGY Renderer::g_topologies[C4JRender::PRIMITIVE_TYPE_COUNT] D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, D3D11_PRIMITIVE_TOPOLOGY_LINELIST, D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP, }; +int kScreenWidth = 1920; +int kScreenHeight = 1080; static const unsigned int kVertexBufferSize = 0x100000; -static unsigned int kScreenWidth = 1920; -static unsigned int kScreenHeight = 1080; static const unsigned int kThumbnailSize = 64; static const unsigned int g_vertexStrides[C4JRender::VERTEX_TYPE_COUNT] = { 32, 16, 32, 32 }; diff --git a/Headers/Windows64/4J_Render.h b/Headers/Windows64/4J_Render.h index 1dc5e38..573a457 100644 --- a/Headers/Windows64/4J_Render.h +++ b/Headers/Windows64/4J_Render.h @@ -51,6 +51,15 @@ typedef struct _XSOCIAL_PREVIEWIMAGE // D3DFORMAT Format; } XSOCIAL_PREVIEWIMAGE, *PXSOCIAL_PREVIEWIMAGE; +//str1k3r - EScreenSize is a windows64 exclusive thingy +enum EScreenSize +{ + EScreenSize_1080P, + EScreenSize_720P, + EScreenSize_544P, //str1k3r - vita screen size + EScreenSize_480P +}; + class C4JRender { public: @@ -62,6 +71,9 @@ public: static void SetVSync(bool vs); static int GetVSync(); + // Screen Size + EScreenSize GetScreenSize(); + // Matrix stack void MatrixMode(int type); void MatrixSetIdentity();