Added option to DDraw blitter to force flipping
This commit is contained in:
parent
a258def3a1
commit
ef0779a32b
|
@ -975,6 +975,8 @@ BEGIN
|
|||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Rotate scanlines", MENU_ROTSCAN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Force &Flip", MENU_FORCE_FLIP
|
||||
MENUITEM SEPARATOR
|
||||
POPUP "Buffering &method"
|
||||
BEGIN
|
||||
MENUITEM "&Autodetect", MENU_MEMAUTO
|
||||
|
|
|
@ -126,6 +126,7 @@ int ConfigAppLoad()
|
|||
|
||||
// DirectDraw blitter
|
||||
VAR(bVidScanHalf);
|
||||
VAR(bVidForceFlip);
|
||||
|
||||
// Direct3D blitter
|
||||
VAR(bVidBilinear);
|
||||
|
@ -384,6 +385,8 @@ int ConfigAppSave()
|
|||
_ftprintf(h, _T("// --- DirectDraw blitter module settings -------------------------------------\n"));
|
||||
_ftprintf(h, _T("\n// If non-zero, draw scanlines at 50%% intensity\n"));
|
||||
VAR(bVidScanHalf);
|
||||
_ftprintf(h, _T("\n// If non-zero, force flipping for games that need it\n"));
|
||||
VAR(bVidForceFlip);
|
||||
_ftprintf(h, _T("\n"));
|
||||
_ftprintf(h, _T("// --- Direct3D 7 blitter module settings -------------------------------------\n"));
|
||||
_ftprintf(h, _T("\n// If non-zero, use bi-linear filtering to display the image\n"));
|
||||
|
|
|
@ -671,6 +671,7 @@ void MenuUpdate()
|
|||
}
|
||||
CheckMenuRadioItem(hMenu, MENU_NORMAL, MENU_SCAN50, var, MF_BYCOMMAND);
|
||||
CheckMenuItem(hMenu, MENU_ROTSCAN, bVidScanRotate ? MF_CHECKED : MF_UNCHECKED);
|
||||
CheckMenuItem(hMenu, MENU_FORCE_FLIP, bVidForceFlip ? MF_CHECKED : MF_UNCHECKED);
|
||||
CheckMenuItem(hMenu, MENU_RES_ARCADE, bVidArcaderes ? MF_CHECKED : MF_UNCHECKED);
|
||||
break;
|
||||
case 1:
|
||||
|
|
|
@ -560,6 +560,7 @@
|
|||
#define MENU_EFFECT_10 11147
|
||||
#define MENU_FORCE_16BIT 11141
|
||||
#define MENU_TEXTUREMANAGE 11142
|
||||
#define MENU_FORCE_FLIP 11143
|
||||
|
||||
#define MENU_SOFT_STRETCH 11201
|
||||
#define MENU_SOFT_SCALE2X 11202
|
||||
|
|
|
@ -2045,6 +2045,11 @@ static void OnCommand(HWND /*hDlg*/, int id, HWND /*hwndCtl*/, UINT codeNotify)
|
|||
bVidScanRotate = !bVidScanRotate;
|
||||
POST_INITIALISE_MESSAGE;
|
||||
break;
|
||||
|
||||
case MENU_FORCE_FLIP:
|
||||
bVidForceFlip = !bVidForceFlip;
|
||||
POST_INITIALISE_MESSAGE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -193,6 +193,7 @@ extern INT32 nVidRotationAdjust;
|
|||
extern INT32 bVidUseHardwareGamma;
|
||||
extern INT32 bVidAutoSwitchFull;
|
||||
extern INT32 bVidForce16bit;
|
||||
extern INT32 bVidForceFlip;
|
||||
extern INT32 nVidTransferMethod;
|
||||
extern float fVidScreenAngle;
|
||||
extern float fVidScreenCurvature;
|
||||
|
|
|
@ -69,6 +69,7 @@ INT32 bVidArcaderesVer = 0;
|
|||
|
||||
INT32 nVidRotationAdjust = 0; // & 1: do not rotate the graphics for vertical games, & 2: Reverse flipping for vertical games
|
||||
INT32 bVidForce16bit = 1; // Emulate the game in 16-bit even when the screen is 32-bit (D3D blitter)
|
||||
INT32 bVidForceFlip = 0; // Force flipping (DDraw blitter, hardware detection seems to fail on all? graphics hardware)
|
||||
INT32 nVidTransferMethod = -1; // How to transfer the game image to video memory and/or a texture --
|
||||
// 0 = blit from system memory / use driver/DirectX texture management
|
||||
// 1 = copy to a video memory surface, then use bltfast()
|
||||
|
|
|
@ -330,7 +330,7 @@ static int vidInit()
|
|||
ddcaps.dwSize = sizeof(ddcaps);
|
||||
|
||||
DtoDD->GetCaps(&ddcaps, NULL);
|
||||
if ((ddcaps.dwFXCaps & DDFXCAPS_BLTMIRRORLEFTRIGHT) && (ddcaps.dwFXCaps & DDFXCAPS_BLTMIRRORUPDOWN)) {
|
||||
if (((ddcaps.dwFXCaps & DDFXCAPS_BLTMIRRORLEFTRIGHT) && (ddcaps.dwFXCaps & DDFXCAPS_BLTMIRRORUPDOWN)) || bVidForceFlip) {
|
||||
|
||||
DtoBltFx = (DDBLTFX*)malloc(sizeof(DDBLTFX));
|
||||
if (DtoBltFx == NULL) {
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
<li>Updated M6502 CPU core interface to allocate memory rather than use an array [iq_132]</li>
|
||||
<li>Updated Vez CPU core interface to allocate memory rather than use an array, and added support for auto-acknowledging IRQs [iq_132]</li>
|
||||
<li>Fixed crash when taking screenshots of vertical or flipped games using blitters other than the D3D enhanced blitter [Barry]</li>
|
||||
<li>Added option to DirectDraw blitter to force flipping as it isn't usually detected as available, see help file for more information [Barry]</li>
|
||||
<li>Matched all sets to MAME 0.144u2 [Barry]</li>
|
||||
<li>Matched the Megadrive sets to MESS 0.144u2 [Barry]</li>
|
||||
</ul>
|
||||
|
|
Loading…
Reference in New Issue