mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
viewport tweaks again
This commit is contained in:
parent
dc940a8ea3
commit
482768e0ad
@ -58,19 +58,19 @@ static void InitDirect3D(BOOL reset)
|
|||||||
float scaleW = (float)width / surfaceTexWidth;;
|
float scaleW = (float)width / surfaceTexWidth;;
|
||||||
float scaleH = (float)height / surfaceTexHeight;
|
float scaleH = (float)height / surfaceTexHeight;
|
||||||
|
|
||||||
float vpX = (float)ddraw->render.viewport.x - 0.5f;
|
float vpX = (float)ddraw->render.viewport.x;
|
||||||
float vpY = (float)ddraw->render.viewport.y - 0.5f;
|
float vpY = (float)ddraw->render.viewport.y;
|
||||||
|
|
||||||
float vpW = (float)(ddraw->render.viewport.width + vpX) - 0.5f;
|
float vpW = (float)(ddraw->render.viewport.width + vpX);
|
||||||
float vpH = (float)(ddraw->render.viewport.height + vpY) - 0.5f;
|
float vpH = (float)(ddraw->render.viewport.height + vpY);
|
||||||
|
|
||||||
typedef struct CUSTOMVERTEX { float x, y, z, rhw, u, v; } CUSTOMVERTEX;
|
typedef struct CUSTOMVERTEX { float x, y, z, rhw, u, v; } CUSTOMVERTEX;
|
||||||
CUSTOMVERTEX vertices[] =
|
CUSTOMVERTEX vertices[] =
|
||||||
{
|
{
|
||||||
{ vpX, vpH, 0.0f, 1.0f, 0.0f, scaleH },
|
{ vpX - 0.5f, vpH - 0.5f, 0.0f, 1.0f, 0.0f, scaleH },
|
||||||
{ vpX, vpY, 0.0f, 1.0f, 0.0f, 0.0f },
|
{ vpX - 0.5f, vpY - 0.5f, 0.0f, 1.0f, 0.0f, 0.0f },
|
||||||
{ vpW, vpH, 0.0f, 1.0f, scaleW, scaleH },
|
{ vpW - 0.5f, vpH - 0.5f, 0.0f, 1.0f, scaleW, scaleH },
|
||||||
{ vpW, vpY, 0.0f, 1.0f, scaleW, 0.0f }
|
{ vpW - 0.5f, vpY - 0.5f, 0.0f, 1.0f, scaleW, 0.0f }
|
||||||
};
|
};
|
||||||
|
|
||||||
D3ddev->lpVtbl->SetFVF(D3ddev, D3DFVF_XYZRHW | D3DFVF_TEX1);
|
D3ddev->lpVtbl->SetFVF(D3ddev, D3DFVF_XYZRHW | D3DFVF_TEX1);
|
||||||
@ -117,16 +117,13 @@ DWORD WINAPI render_d3d9_main(void)
|
|||||||
|
|
||||||
int maxfps = ddraw->render.maxfps;
|
int maxfps = ddraw->render.maxfps;
|
||||||
|
|
||||||
if (ddraw->vsync)
|
|
||||||
maxfps = 1000;
|
|
||||||
|
|
||||||
if (maxfps < 0)
|
if (maxfps < 0)
|
||||||
maxfps = ddraw->mode.dmDisplayFrequency;
|
maxfps = ddraw->mode.dmDisplayFrequency;
|
||||||
|
|
||||||
if (maxfps == 0)
|
if (maxfps == 0)
|
||||||
maxfps = 125;
|
maxfps = 125;
|
||||||
|
|
||||||
if (maxfps >= 1000)
|
if (maxfps >= 1000 || ddraw->vsync)
|
||||||
maxfps = 0;
|
maxfps = 0;
|
||||||
|
|
||||||
if (maxfps > 0)
|
if (maxfps > 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user