- some Caps clean-up when no OpenGL compiled in

- fix some fonts displaying problems
This commit is contained in:
Lionel Ulmer 2003-03-07 20:34:34 +00:00 committed by Alexandre Julliard
parent f712801638
commit 68c3a284aa
2 changed files with 20 additions and 3 deletions

View File

@ -2069,6 +2069,15 @@ d3ddevice_set_ortho(IDirect3DDeviceImpl *This)
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
/* See the OpenGL Red Book for an explanation of the following translation (in the OpenGL
Correctness Tips section).
Basically, from what I understood, if the game does not filter the font texture,
as the 'real' pixel will lie at the middle of the two texels, OpenGL may choose the wrong
one and we will have strange artifacts (as the rounding and stuff may give different results
for different pixels, ie sometimes take the left pixel, sometimes the right).
*/
glTranslatef(0.375, 0.375, 0);
glMatrixMode(GL_PROJECTION);
glLoadMatrixf(trans_mat);
}

View File

@ -172,7 +172,11 @@ HRESULT User_DirectDraw_Construct(IDirectDrawImpl *This, BOOL ex)
| DDFXCAPS_BLTSHRINKY | DDFXCAPS_BLTSHRINKXN \
| DDFXCAPS_BLTSTRETCHX | DDFXCAPS_BLTSTRETCHXN \
| DDFXCAPS_BLTSTRETCHY | DDFXCAPS_BLTSTRETCHYN)
This->caps.dwCaps |= DDCAPS_GDI | DDCAPS_PALETTE | BLIT_CAPS /* Hack for D3D code */ | DDCAPS_3D;
This->caps.dwCaps |= DDCAPS_GDI | DDCAPS_PALETTE | BLIT_CAPS;
#ifdef HAVE_OPENGL
/* Hack for D3D code */
This->caps.dwCaps |= DDCAPS_3D;
#endif /* HAVE_OPENGL */
This->caps.dwCaps2 |= DDCAPS2_CERTIFIED | DDCAPS2_NOPAGELOCKREQUIRED |
DDCAPS2_PRIMARYGAMMA | DDCAPS2_WIDESURFACES;
This->caps.dwCKeyCaps |= CKEY_CAPS;
@ -193,8 +197,12 @@ HRESULT User_DirectDraw_Construct(IDirectDrawImpl *This, BOOL ex)
DDSCAPS_FLIP | DDSCAPS_FRONTBUFFER |
DDSCAPS_OFFSCREENPLAIN | DDSCAPS_PALETTE |
DDSCAPS_PRIMARYSURFACE | DDSCAPS_SYSTEMMEMORY |
DDSCAPS_VIDEOMEMORY | DDSCAPS_VISIBLE | /* Hacks for D3D code */
DDSCAPS_3DDEVICE | DDSCAPS_MIPMAP | DDSCAPS_TEXTURE | DDSCAPS_ZBUFFER;
DDSCAPS_VIDEOMEMORY | DDSCAPS_VISIBLE;
#ifdef HAVE_OPENGL
/* Hacks for D3D code */
This->caps.ddsCaps.dwCaps |= DDSCAPS_3DDEVICE | DDSCAPS_MIPMAP | DDSCAPS_TEXTURE | DDSCAPS_ZBUFFER;
#endif /* HAVE_OPENGL */
This->caps.ddsOldCaps.dwCaps = This->caps.ddsCaps.dwCaps;
#undef BLIT_CAPS
#undef CKEY_CAPS