Move dddraw detection to a configure option. Requested by DosFreak.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4056
This commit is contained in:
parent
339fb9f808
commit
ee8d976ebc
3 changed files with 37 additions and 18 deletions
|
@ -99,7 +99,7 @@ extern char** environ;
|
|||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#if (HAVE_DDRAW_H)
|
||||
#if C_DDRAW
|
||||
#include <ddraw.h>
|
||||
struct private_hwdata {
|
||||
LPDIRECTDRAWSURFACE3 dd_surface;
|
||||
|
@ -189,7 +189,7 @@ struct SDL_Block {
|
|||
#endif
|
||||
struct {
|
||||
SDL_Surface * surface;
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
RECT rect;
|
||||
#endif
|
||||
} blit;
|
||||
|
@ -380,7 +380,7 @@ check_surface:
|
|||
else if (flags & GFX_LOVE_16) testbpp=16;
|
||||
else if (flags & GFX_LOVE_32) testbpp=32;
|
||||
else testbpp=0;
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
check_gotbpp:
|
||||
#endif
|
||||
if (sdl.desktop.fullscreen) gotbpp=SDL_VideoModeOK(640,480,testbpp,SDL_FULLSCREEN|SDL_HWSURFACE|SDL_HWPALETTE);
|
||||
|
@ -403,7 +403,7 @@ check_gotbpp:
|
|||
}
|
||||
flags |= GFX_CAN_RANDOM;
|
||||
break;
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
case SCREEN_SURFACE_DDRAW:
|
||||
if (!(flags&(GFX_CAN_15|GFX_CAN_16|GFX_CAN_32))) goto check_surface;
|
||||
if (flags & GFX_LOVE_15) testbpp=15;
|
||||
|
@ -613,7 +613,7 @@ dosurface:
|
|||
}
|
||||
}
|
||||
break;
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
case SCREEN_SURFACE_DDRAW:
|
||||
if (flags & GFX_CAN_15) bpp=15;
|
||||
if (flags & GFX_CAN_16) bpp=16;
|
||||
|
@ -887,7 +887,7 @@ bool GFX_StartUpdate(Bit8u * & pixels,Bitu & pitch) {
|
|||
}
|
||||
sdl.updating=true;
|
||||
return true;
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
case SCREEN_SURFACE_DDRAW:
|
||||
if (SDL_LockSurface(sdl.blit.surface)) {
|
||||
// LOG_MSG("SDL Lock failed");
|
||||
|
@ -923,7 +923,7 @@ bool GFX_StartUpdate(Bit8u * & pixels,Bitu & pitch) {
|
|||
|
||||
|
||||
void GFX_EndUpdate( const Bit16u *changedLines ) {
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
int ret;
|
||||
#endif
|
||||
if (!sdl.updating)
|
||||
|
@ -964,7 +964,7 @@ void GFX_EndUpdate( const Bit16u *changedLines ) {
|
|||
SDL_UpdateRects( sdl.surface, rectCount, sdl.updateRects );
|
||||
}
|
||||
break;
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
case SCREEN_SURFACE_DDRAW:
|
||||
SDL_UnlockSurface(sdl.blit.surface);
|
||||
ret=IDirectDrawSurface3_Blt(
|
||||
|
@ -1273,7 +1273,7 @@ static void GUI_StartUp(Section * sec) {
|
|||
|
||||
if (output == "surface") {
|
||||
sdl.desktop.want_type=SCREEN_SURFACE;
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
} else if (output == "ddraw") {
|
||||
sdl.desktop.want_type=SCREEN_SURFACE_DDRAW;
|
||||
#endif
|
||||
|
@ -1681,7 +1681,7 @@ void Config_Add_SDL() {
|
|||
#if C_OPENGL
|
||||
"opengl", "openglnb",
|
||||
#endif
|
||||
#if (HAVE_DDRAW_H) && defined(WIN32)
|
||||
#if C_DDRAW
|
||||
"ddraw",
|
||||
#endif
|
||||
0 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue