actually make the filters work in windows

This commit is contained in:
zeromus 2014-02-07 07:44:22 +00:00
parent 73bc032c1c
commit 0bcf4eaf59
5 changed files with 91 additions and 10 deletions

View File

@ -20,9 +20,15 @@
#define XBRZ_HEADER_3847894708239054
#include <cstddef> //size_t
#include <stdint.h> //uint32_t
#include <limits>
#ifdef _MSC_VER
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
#else
#include <stdint.h> //uint32_t
#endif
namespace xbrz
{
/*

View File

@ -4539,6 +4539,11 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
MainWindow->checkMenu(IDM_RENDER_NEAREST1POINT5, video.currentfilter == video.NEAREST1POINT5 );
MainWindow->checkMenu(IDM_RENDER_NEARESTPLUS1POINT5, video.currentfilter == video.NEARESTPLUS1POINT5 );
MainWindow->checkMenu(IDM_RENDER_2XBRZ, video.currentfilter == video._2XBRZ );
MainWindow->checkMenu(IDM_RENDER_3XBRZ, video.currentfilter == video._3XBRZ );
MainWindow->checkMenu(IDM_RENDER_4XBRZ, video.currentfilter == video._4XBRZ );
MainWindow->checkMenu(IDM_RENDER_5XBRZ, video.currentfilter == video._5XBRZ );
MainWindow->checkMenu(IDC_STATEREWINDING, staterewindingenabled == 1 );
MainWindow->checkMenu(ID_DISPLAYMETHOD_VSYNC, (GetStyle()&DWS_VSYNC)!=0);
@ -5359,6 +5364,34 @@ DOKEYDOWN:
FilterUpdate(hwnd);
}
break;
case IDM_RENDER_2XBRZ:
{
Lock lock (win_backbuffer_sync);
video.setfilter(video._2XBRZ);
FilterUpdate(hwnd);
}
break;
case IDM_RENDER_3XBRZ:
{
Lock lock (win_backbuffer_sync);
video.setfilter(video._3XBRZ);
FilterUpdate(hwnd);
}
break;
case IDM_RENDER_4XBRZ:
{
Lock lock (win_backbuffer_sync);
video.setfilter(video._4XBRZ);
FilterUpdate(hwnd);
}
break;
case IDM_RENDER_5XBRZ:
{
Lock lock (win_backbuffer_sync);
video.setfilter(video._5XBRZ);
FilterUpdate(hwnd);
}
break;
case IDM_STATE_LOAD:
{

View File

@ -947,6 +947,14 @@
#define ID_FSNITRO_VIEW 40112
#define IDM_FAQ 40116
#define IDM_WIKI 40117
#define ID_MAGNIFICATIONFILTER_2XBRZ 40118
#define IDM_RENDER_2XBRZ 40119
#define ID_MAGNIFICATIONFILTER_3XBRZ 40120
#define ID_MAGNIFICATIONFILTER_4XBRZ 40121
#define ID_MAGNIFICATIONFILTER_5XBRZ 40122
#define IDM_RENDER_3XBRZ 40123
#define IDM_RENDER_4XBRZ 40124
#define IDM_RENDER_5XBRZ 40125
#define ID_LABEL_HK3b 44670
#define ID_LABEL_HK3c 44671
#define ID_LABEL_HK3d 44672
@ -1053,7 +1061,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 128
#define _APS_NEXT_COMMAND_VALUE 40118
#define _APS_NEXT_COMMAND_VALUE 40126
#define _APS_NEXT_CONTROL_VALUE 1059
#define _APS_NEXT_SYMED_VALUE 101
#endif

View File

@ -31,7 +31,7 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTI
CAPTION "NITRO File System"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
CONTROL "",IDC_FILES_TREE,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | TVS_INFOTIP | WS_BORDER | WS_HSCROLL | WS_TABSTOP,7,7,359,294
CONTROL "",IDC_FILES_TREE,"SysTreeView32",TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_BORDER | WS_HSCROLL | WS_TABSTOP | 0x800,7,7,359,294
PUSHBUTTON "Close",IDCANCEL,316,320,50,14
EDITTEXT IDC_FILE_INFO,8,322,306,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP
LTEXT "Static",IDC_FILE_QVIEW,7,303,359,15,NOT WS_GROUP
@ -1623,6 +1623,10 @@ BEGIN
MENUITEM "EPX+", IDM_RENDER_EPXPLUS
MENUITEM "EPX 1.5X", IDM_RENDER_EPX1POINT5
MENUITEM "EPX+ 1.5X", IDM_RENDER_EPXPLUS1POINT5
MENUITEM "2xBRZ", IDM_RENDER_2XBRZ
MENUITEM "3xBRZ", IDM_RENDER_3XBRZ
MENUITEM "4xBRZ", IDM_RENDER_4XBRZ
MENUITEM "5xBRZ", IDM_RENDER_5XBRZ
END
MENUITEM "&Maintain Asect Ratio", IDC_FORCERATIO
MENUITEM "&Pad To Integer", IDC_VIEW_PADTOINTEGER

View File

@ -49,13 +49,17 @@ public:
HQ2XS,
LQ2X,
LQ2XS,
EPX,
NEARESTPLUS1POINT5,
NEAREST1POINT5,
EPXPLUS,
EPX1POINT5,
EPXPLUS1POINT5,
HQ4X,
EPX,
NEARESTPLUS1POINT5,
NEAREST1POINT5,
EPXPLUS,
EPX1POINT5,
EPXPLUS1POINT5,
HQ4X,
_2XBRZ,
_3XBRZ,
_4XBRZ,
_5XBRZ,
NUM_FILTERS,
};
@ -95,10 +99,24 @@ public:
width = 256*3/2;
height = 384*3/2;
break;
case _5XBRZ:
width = 256*5;
height = 384*5;
break;
case HQ4X:
case _4XBRZ:
width = 256*4;
height = 384*4;
break;
case _3XBRZ:
width = 256*3;
height = 384*3;
break;
case _2XBRZ:
default:
width = 256*2;
height = 384*2;
@ -183,6 +201,18 @@ public:
case NEARESTPLUS1POINT5:
RenderNearestPlus_1Point5x(src,dst);
break;
case _2XBRZ:
Render2xBRZ(src,dst);
break;
case _3XBRZ:
Render3xBRZ(src,dst);
break;
case _4XBRZ:
Render4xBRZ(src,dst);
break;
case _5XBRZ:
Render5xBRZ(src,dst);
break;
}
}