add experimental aspect_ratio setting (hidden for now)
This commit is contained in:
parent
e23a0ce1d5
commit
c7e4b81ad7
5 changed files with 59 additions and 8 deletions
20
src/dd.c
20
src/dd.c
|
@ -581,6 +581,8 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
|||
if (!dwHeight)
|
||||
dwHeight = g_ddraw.height ? g_ddraw.height : 600;
|
||||
|
||||
//if (dwHeight == 400) dwHeight = 480;
|
||||
|
||||
if (!dwBPP)
|
||||
dwBPP = g_ddraw.bpp ? g_ddraw.bpp : 16;
|
||||
|
||||
|
@ -859,8 +861,22 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
|||
}
|
||||
else if (g_config.maintas)
|
||||
{
|
||||
double dst_ar = (double)g_ddraw.height / g_ddraw.width;
|
||||
double src_ar = (double)g_ddraw.render.height / g_ddraw.render.width;
|
||||
double dst_ar;
|
||||
double src_ar = (double)g_ddraw.render.height / g_ddraw.render.width;;
|
||||
|
||||
if (g_config.aspect_ratio[0])
|
||||
{
|
||||
char* e = &g_config.aspect_ratio[0];
|
||||
|
||||
DWORD cx = strtoul(e, &e, 0);
|
||||
DWORD cy = strtoul(e + 1, &e, 0);
|
||||
|
||||
dst_ar = (double)cy / cx;
|
||||
}
|
||||
else
|
||||
{
|
||||
dst_ar = (double)g_ddraw.height / g_ddraw.width;
|
||||
}
|
||||
|
||||
g_ddraw.render.viewport.width = g_ddraw.render.width;
|
||||
g_ddraw.render.viewport.height = (int)round(dst_ar * g_ddraw.render.viewport.width);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue