mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
fix for opengl borderless mode
This commit is contained in:
parent
566492577c
commit
045ed051ea
1
inc/dd.h
1
inc/dd.h
@ -82,6 +82,7 @@ typedef struct CNCDDRAW
|
||||
int width;
|
||||
int height;
|
||||
int bpp;
|
||||
int opengl_y_align;
|
||||
|
||||
HDC hdc;
|
||||
int* tex;
|
||||
|
5
src/dd.c
5
src/dd.c
@ -704,6 +704,11 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
||||
if (nonexclusive || (g_ddraw->nonexclusive && !g_ddraw->windowed && g_ddraw->renderer == ogl_render_main))
|
||||
{
|
||||
g_ddraw->render.height++;
|
||||
g_ddraw->render.opengl_y_align = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_ddraw->render.opengl_y_align = 0;
|
||||
}
|
||||
|
||||
if (g_ddraw->windowed)
|
||||
|
@ -183,13 +183,13 @@ static void ogl_build_programs()
|
||||
|
||||
if (!g_ogl.scale_program &&
|
||||
(g_ddraw->render.viewport.width != g_ddraw->width ||
|
||||
g_ddraw->render.viewport.height != g_ddraw->height))
|
||||
g_ddraw->render.viewport.height != g_ddraw->height))
|
||||
{
|
||||
g_ogl.scale_program = oglu_build_program(PASSTHROUGH_VERT_SHADER, CATMULL_ROM_FRAG_SHADER);
|
||||
|
||||
if (!g_ogl.scale_program)
|
||||
{
|
||||
g_ogl.scale_program =
|
||||
g_ogl.scale_program =
|
||||
oglu_build_program(PASSTHROUGH_VERT_SHADER_CORE, CATMULL_ROM_FRAG_SHADER_CORE);
|
||||
}
|
||||
|
||||
@ -616,8 +616,10 @@ static void ogl_render()
|
||||
BOOL needs_update = FALSE;
|
||||
|
||||
glViewport(
|
||||
g_ddraw->render.viewport.x, g_ddraw->render.viewport.y,
|
||||
g_ddraw->render.viewport.width, g_ddraw->render.viewport.height);
|
||||
g_ddraw->render.viewport.x,
|
||||
g_ddraw->render.viewport.y + g_ddraw->render.opengl_y_align,
|
||||
g_ddraw->render.viewport.width,
|
||||
g_ddraw->render.viewport.height);
|
||||
|
||||
if (g_ogl.main_program)
|
||||
{
|
||||
@ -753,8 +755,10 @@ static void ogl_render()
|
||||
else if (needs_update)
|
||||
{
|
||||
glViewport(
|
||||
g_ddraw->render.viewport.x, g_ddraw->render.viewport.y,
|
||||
g_ddraw->render.viewport.width, g_ddraw->render.viewport.height);
|
||||
g_ddraw->render.viewport.x,
|
||||
g_ddraw->render.viewport.y + g_ddraw->render.opengl_y_align,
|
||||
g_ddraw->render.viewport.width,
|
||||
g_ddraw->render.viewport.height);
|
||||
|
||||
needs_update = FALSE;
|
||||
}
|
||||
@ -845,7 +849,7 @@ static void ogl_render()
|
||||
{
|
||||
glViewport(
|
||||
g_ddraw->render.viewport.x,
|
||||
g_ddraw->render.viewport.y,
|
||||
g_ddraw->render.viewport.y + g_ddraw->render.opengl_y_align,
|
||||
g_ddraw->render.viewport.width,
|
||||
g_ddraw->render.viewport.height);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user