@@ -17,6 +17,7 @@ GNU General Public License v3.0
1717#define MAX_CAPTURE_DEVICE_FORMATS 1024U
1818#define MAX_RECENT_PROFILES 20U
1919#define MAX_RECENT_IMPORTS 20U
20+ #define MAX_SUBFRAMES 10U
2021
2122#define WM_PIXEL_SIZE (i ) (static_cast <UINT>(WM_USER) + i)
2223#define WM_ASPECT_RATIO (i ) (static_cast <UINT> WM_PIXEL_SIZE (MAX_PIXEL_SIZES) + i)
@@ -28,6 +29,7 @@ GNU General Public License v3.0
2829#define WM_RECENT_PROFILE (i ) (static_cast <UINT> WM_CAPTURE_DISPLAY (MAX_CAPTURE_DISPLAYS) + i)
2930#define WM_RECENT_IMPORT (i ) (static_cast <UINT> WM_RECENT_PROFILE (MAX_RECENT_PROFILES) + i)
3031#define WM_CAPTURE_DEVICE_FORMAT (i ) (static_cast <UINT> WM_RECENT_IMPORT (MAX_RECENT_IMPORTS) + i)
32+ #define WM_SUBFRAMES (i ) (static_cast <UINT> WM_CAPTURE_DEVICE_FORMAT (MAX_CAPTURE_DEVICE_FORMATS) + i)
3133
3234#define CUSTOM_MNEMONIC " Custom"
3335
@@ -59,6 +61,15 @@ struct FrameSkipInfo
5961 FrameSkipInfo (int s, LPCWSTR text, const char * mnemonic) : s(s), text(text), mnemonic(mnemonic) { }
6062};
6163
64+ struct SubFrameInfo
65+ {
66+ unsigned s;
67+ LPCWSTR text;
68+ const char * mnemonic;
69+
70+ SubFrameInfo (int s, LPCWSTR text, const char * mnemonic) : s(s), text(text), mnemonic(mnemonic) { }
71+ };
72+
6273struct OutputScaleInfo
6374{
6475 float s;
@@ -132,6 +143,15 @@ static const std::map<UINT, PixelSizeInfo> pixelSizes = {{WM_PIXEL_SIZE(0), Pixe
132143 {WM_PIXEL_SIZE (13 ), PixelSizeInfo (10 .0f , 10 .0f , L" x10" , " 10" )},
133144 {WM_PIXEL_SIZE (14 ), PixelSizeInfo (10 .8f , 10 .8f , L" x10.8 (200p -> 4K)" , " 10.8" )}};
134145
146+ static const std::map<UINT, SubFrameInfo> subFrames = {{WM_SUBFRAMES (0 ), SubFrameInfo (0 , L" disabled" , " 0" )},
147+ {WM_SUBFRAMES (1 ), SubFrameInfo (2 , L" 2 (120 Hz)" , " 2" )},
148+ {WM_SUBFRAMES (2 ), SubFrameInfo (3 , L" 3 (180 Hz)" , " 3" )},
149+ {WM_SUBFRAMES (3 ), SubFrameInfo (4 , L" 4 (240 Hz)" , " 4" )},
150+ {WM_SUBFRAMES (4 ), SubFrameInfo (5 , L" 5 (300 Hz)" , " 5" )},
151+ {WM_SUBFRAMES (5 ), SubFrameInfo (6 , L" 6 (360 Hz)" , " 6" )},
152+ {WM_SUBFRAMES (6 ), SubFrameInfo (7 , L" 7 (420 Hz)" , " 7" )},
153+ {WM_SUBFRAMES (7 ), SubFrameInfo (8 , L" 8 (480 Hz)" , " 8" )}};
154+
135155static std::map<UINT, AspectRatioInfo> aspectRatios = {
136156 {WM_ASPECT_RATIO (0 ), AspectRatioInfo (1 .0f , L" None" , " 1" )},
137157 {WM_ASPECT_RATIO (1 ), AspectRatioInfo (1 .2f , L" x1.2 (DOS, NTSC)" , " 1.2" )},
@@ -173,25 +193,5 @@ static const std::map<UINT, OutputScaleInfo> outputScales = {{WM_OUTPUT_SCALE(0)
173193 {WM_OUTPUT_SCALE (11 ), OutputScaleInfo (9 .0f , L" 900%" , " 900" )},
174194 {WM_OUTPUT_SCALE (12 ), OutputScaleInfo (10 .0f , L" 1000%" , " 1000" )}};
175195
176- static const char * defaultPreset = " newpixie-crt" ;
177- static const char * favoritePresets[] = {" bayer_4x4" ,
178- " crt-geom" ,
179- " crt-guest-advanced-ntsc" ,
180- " crt-mattias" ,
181- " crt-royale" ,
182- " ega" ,
183- " fxaa" ,
184- " gb-pocket" ,
185- " gtu-v050" ,
186- " kawase_glow" ,
187- " MegaBezel_STD" ,
188- " MMJ_Cel_Shader" ,
189- " newpixie-crt" ,
190- " ntsc-vcr" ,
191- " pal-r57shell" ,
192- " scalefx" ,
193- " scanline" ,
194- " supereagle" ,
195- " technicolor" ,
196- " uborder-bezel-reflections" ,
197- " vhs" };
196+ static const char * defaultPreset = " crt-beam-simulator" ;
197+ // static const char* favoritePresets[] = {};
0 commit comments