fix aspect ratio issues
This commit is contained in:
parent
2cbf45cc2f
commit
a863d8cb33
3 changed files with 11 additions and 9 deletions
10
src/dd.c
10
src/dd.c
|
@ -804,11 +804,13 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
|||
}
|
||||
else if (g_config.maintas)
|
||||
{
|
||||
g_ddraw->render.viewport.width = g_ddraw->render.width;
|
||||
g_ddraw->render.viewport.height =
|
||||
(int)roundf(((float)g_ddraw->height / g_ddraw->width) * g_ddraw->render.viewport.width);
|
||||
float dst_ar = (float)g_ddraw->height / g_ddraw->width;
|
||||
float src_ar = (float)g_ddraw->render.height / g_ddraw->render.width;
|
||||
|
||||
if (g_ddraw->render.viewport.height > g_ddraw->render.height)
|
||||
g_ddraw->render.viewport.width = g_ddraw->render.width;
|
||||
g_ddraw->render.viewport.height = (int)roundf(dst_ar * g_ddraw->render.viewport.width);
|
||||
|
||||
if (src_ar < dst_ar)
|
||||
{
|
||||
g_ddraw->render.viewport.width =
|
||||
(int)roundf(((float)g_ddraw->render.viewport.width / g_ddraw->render.viewport.height) * g_ddraw->render.height);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue