mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
boxing shall override maintain aspect ratio
This commit is contained in:
parent
65525e14dd
commit
a1fa61d028
30
src/render.c
30
src/render.c
@ -123,21 +123,7 @@ DWORD WINAPI render_main(void)
|
|||||||
DWORD dst_width = ddraw->render.width;
|
DWORD dst_width = ddraw->render.width;
|
||||||
DWORD dst_height = ddraw->render.height;
|
DWORD dst_height = ddraw->render.height;
|
||||||
|
|
||||||
if (ddraw->maintas)
|
if (ddraw->boxing)
|
||||||
{
|
|
||||||
dst_width = ddraw->render.width;
|
|
||||||
dst_height = ((float)ddraw->height / ddraw->width) * dst_width;
|
|
||||||
|
|
||||||
if (dst_height > ddraw->render.height)
|
|
||||||
{
|
|
||||||
dst_width = ((float)dst_width / dst_height) * ddraw->render.height;
|
|
||||||
dst_height = ddraw->render.height;
|
|
||||||
}
|
|
||||||
|
|
||||||
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
|
||||||
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
|
||||||
}
|
|
||||||
else if (ddraw->boxing)
|
|
||||||
{
|
{
|
||||||
dst_width = ddraw->width;
|
dst_width = ddraw->width;
|
||||||
dst_height = ddraw->height;
|
dst_height = ddraw->height;
|
||||||
@ -156,6 +142,20 @@ DWORD WINAPI render_main(void)
|
|||||||
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
||||||
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
||||||
}
|
}
|
||||||
|
else if (ddraw->maintas)
|
||||||
|
{
|
||||||
|
dst_width = ddraw->render.width;
|
||||||
|
dst_height = ((float)ddraw->height / ddraw->width) * dst_width;
|
||||||
|
|
||||||
|
if (dst_height > ddraw->render.height)
|
||||||
|
{
|
||||||
|
dst_width = ((float)dst_width / dst_height) * ddraw->render.height;
|
||||||
|
dst_height = ddraw->render.height;
|
||||||
|
}
|
||||||
|
|
||||||
|
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
||||||
|
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
||||||
|
}
|
||||||
|
|
||||||
glViewport(dst_left, dst_top, dst_width, dst_height);
|
glViewport(dst_left, dst_top, dst_width, dst_height);
|
||||||
|
|
||||||
|
@ -69,21 +69,7 @@ DWORD WINAPI render_soft_main(void)
|
|||||||
DWORD tick_end = 0;
|
DWORD tick_end = 0;
|
||||||
DWORD frame_len = 0;
|
DWORD frame_len = 0;
|
||||||
|
|
||||||
if (ddraw->maintas)
|
if (ddraw->boxing)
|
||||||
{
|
|
||||||
dst_width = ddraw->render.width;
|
|
||||||
dst_height = ((float)ddraw->height / ddraw->width) * dst_width;
|
|
||||||
|
|
||||||
if (dst_height > ddraw->render.height)
|
|
||||||
{
|
|
||||||
dst_width = ((float)dst_width / dst_height) * ddraw->render.height;
|
|
||||||
dst_height = ddraw->render.height;
|
|
||||||
}
|
|
||||||
|
|
||||||
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
|
||||||
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
|
||||||
}
|
|
||||||
else if (ddraw->boxing)
|
|
||||||
{
|
{
|
||||||
dst_width = ddraw->width;
|
dst_width = ddraw->width;
|
||||||
dst_height = ddraw->height;
|
dst_height = ddraw->height;
|
||||||
@ -102,6 +88,20 @@ DWORD WINAPI render_soft_main(void)
|
|||||||
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
||||||
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
||||||
}
|
}
|
||||||
|
else if (ddraw->maintas)
|
||||||
|
{
|
||||||
|
dst_width = ddraw->render.width;
|
||||||
|
dst_height = ((float)ddraw->height / ddraw->width) * dst_width;
|
||||||
|
|
||||||
|
if (dst_height > ddraw->render.height)
|
||||||
|
{
|
||||||
|
dst_width = ((float)dst_width / dst_height) * ddraw->render.height;
|
||||||
|
dst_height = ddraw->render.height;
|
||||||
|
}
|
||||||
|
|
||||||
|
dst_top = ddraw->render.height / 2 - dst_height / 2;
|
||||||
|
dst_left = ddraw->render.width / 2 - dst_width / 2;
|
||||||
|
}
|
||||||
|
|
||||||
if(ddraw->render.maxfps < 0)
|
if(ddraw->render.maxfps < 0)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user