diff options
| author | MrLavender <mrlavender@f2s.com> | 2017-07-07 22:06:16 +0100 |
|---|---|---|
| committer | MrLavender <mrlavender@f2s.com> | 2017-07-15 00:39:53 +0100 |
| commit | afe8c4acc66f4a73b012ffebf942db217540ecc6 (patch) | |
| tree | 6660b9aeb3f4aedf384a0a1c76d3a849d4f43146 /macosx/plugins/PeopsXgl/macsrc | |
| parent | f38cec65e902896a440c535dd3682c8f2cefbbcf (diff) | |
| download | pcsxr-afe8c4acc66f4a73b012ffebf942db217540ecc6.tar.gz | |
Various fixes to PeopsOpenGL preferences UI on OSX
- Fixed frame buffer effects options
- Added frame buffer access options
- Frame limit setting was being ignored
- VSync setting was being ignored
- Texture filtering was being restrained to a 0-2 range instead of 0-6
- Scanline color picker was not being enabled properly
- Dithering is a boolean option so changed it to a checkbox
- Minor layout problem with the windowWidth field on OS X 10.10+
Diffstat (limited to 'macosx/plugins/PeopsXgl/macsrc')
| -rwxr-xr-x | macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h | 4 | ||||
| -rwxr-xr-x | macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m | 31 |
2 files changed, 25 insertions, 10 deletions
diff --git a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h index 918fe825..65b9a08f 100755 --- a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h +++ b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h @@ -9,7 +9,7 @@ @interface NetSfPeopsOpenGLPluginConfigController : NSWindowController @property (weak) IBOutlet NSCell *autoFullScreen; -@property (weak) IBOutlet NSPopUpButton *ditherMode; +@property (weak) IBOutlet NSCell *limitFrameRate; @property (weak) IBOutlet NSCell *fpsCounter; @property (weak) IBOutlet NSCell *frameSkipping; @property (weak) IBOutlet NSCell *vSync; @@ -22,6 +22,7 @@ @property (weak) IBOutlet NSSlider *texFiltering; @property (weak) IBOutlet NSSlider *texEnhancment; @property (weak) IBOutlet NSPopUpButton *frameBufferEffects; +@property (weak) IBOutlet NSPopUpButton *frameBufferAccess; @property (weak) IBOutlet NSCell *drawScanlines; @property (weak) IBOutlet NSCell *advancedBlending; @property (weak) IBOutlet NSCell *opaquePass; @@ -31,6 +32,7 @@ @property (weak) IBOutlet NSCell *mjpegDecoder; @property (weak) IBOutlet NSCell *mjpegDecoder15bit; @property (weak) IBOutlet NSCell *gteAccuracy; +@property (weak) IBOutlet NSCell *colorDithering; @property (weak) IBOutlet NSColorWell *scanlineColorWell; @property (weak) IBOutlet NSMatrix *hacksMatrix; @property (weak) IBOutlet NSControl *hackEnable; diff --git a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m index c882c00b..f2ae0d38 100755 --- a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m +++ b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m @@ -162,6 +162,7 @@ void PrepFactoryDefaultPreferences(void) @"Texture Enhancement Level": @0, @"Texture Filter Level": @0, @"Frame Buffer Level": @0, + @"Frame Buffer Access": @0, kWindowSize: NSStringFromSize(NSMakeSize(800, 600)), @"Draw Scanlines": @NO, // nasty: @@ -199,7 +200,9 @@ void ReadConfig(void) iFrameLimit = 2; // required fFrameRate = 60; // required (some number, 60 seems ok) } - + + iForceVSync = [keyValues[kVSync] boolValue] ? 1 : 0; + // Dithering is either on or off in OpenGL plug, but hey bDrawDither = [keyValues[@"Dither Mode"] intValue]; @@ -241,13 +244,17 @@ void ReadConfig(void) if (iFrameTexType > 3) iFrameTexType = 3; if (iFrameTexType < 0) iFrameTexType = 0; + iFrameReadType = [keyValues[@"Frame Buffer Access"] intValue]; + if (iFrameReadType > 4) iFrameReadType = 4; + if (iFrameReadType < 0) iFrameReadType = 0; + iTexQuality = [keyValues[@"Texture Color Depth Level"] intValue]; if (iTexQuality > 4) iTexQuality = 4; if (iTexQuality < 0) iTexQuality = 0; // MAG_FILTER = LINEAR, etc. iFilterType = [keyValues[@"Texture Filter Level"] intValue]; - if (iFilterType > 2) iFilterType = 2; + if (iFilterType > 6) iFilterType = 6; if (iFilterType < 0) iFilterType = 0; // stretches textures (more detail). You'd think it would look great, but it's not massively better. NEEDS iFilterType to be of any use. @@ -294,7 +301,7 @@ void ReadConfig(void) @implementation NetSfPeopsOpenGLPluginConfigController @synthesize autoFullScreen; -@synthesize ditherMode; +@synthesize limitFrameRate; @synthesize fpsCounter; @synthesize frameSkipping; @synthesize vSync; @@ -307,6 +314,7 @@ void ReadConfig(void) @synthesize texFiltering; @synthesize texEnhancment; @synthesize frameBufferEffects; +@synthesize frameBufferAccess; @synthesize drawScanlines; @synthesize advancedBlending; @synthesize opaquePass; @@ -316,6 +324,7 @@ void ReadConfig(void) @synthesize mjpegDecoder; @synthesize mjpegDecoder15bit; @synthesize gteAccuracy; +@synthesize colorDithering; @synthesize scanlineColorWell; @synthesize hacksMatrix; @synthesize hackEnable; @@ -337,14 +346,14 @@ void ReadConfig(void) writeDic[@"Scanline Color"] = [NSArchiver archivedDataWithRootObject:[scanlineColorWell color]]; writeDic[kFrameSkipping] = ([frameSkipping integerValue] ? @YES : @NO); writeDic[kAutoFullScreen] = ([autoFullScreen integerValue] ? @YES : @NO); - //[writeDic setObject:([frameLimit integerValue] ? @YES : @NO) forKey:kFrameLimit]; + writeDic[kFrameLimit] = ([limitFrameRate integerValue] ? @YES : @NO); writeDic[@"Proportional Resize"] = ([proportionalResize integerValue] ? @YES : @NO); - writeDic[@"Dither Mode"] = @([ditherMode indexOfSelectedItem]); writeDic[@"Offscreen Drawing Level"] = @([offscreenDrawing indexOfSelectedItem]); writeDic[@"Texture Color Depth Level"] = @([texColorDepth indexOfSelectedItem]); writeDic[@"Texture Enhancement Level"] = @([texEnhancment integerValue]); writeDic[@"Texture Filter Level"] = @([texFiltering integerValue]); writeDic[@"Frame Buffer Level"] = @([frameBufferEffects indexOfSelectedItem]); + writeDic[@"Frame Buffer Access"] = @([frameBufferAccess indexOfSelectedItem]); writeDic[@"Draw Scanlines"] = ([drawScanlines integerValue] ? @YES : @NO); writeDic[@"Advanced Blending"] = ([advancedBlending integerValue] ? @YES : @NO); writeDic[@"Opaque Pass"] = ([opaquePass integerValue] ? @YES : @NO); @@ -354,6 +363,7 @@ void ReadConfig(void) writeDic[@"Emulate mjpeg decoder"] = ([mjpegDecoder integerValue] ? @YES : @NO); writeDic[@"Fast mjpeg decoder"] = ([mjpegDecoder15bit integerValue] ? @YES : @NO); writeDic[@"GteAccuracy"] = ([gteAccuracy integerValue] ? @YES : @NO); + writeDic[@"Dither Mode"] = @([colorDithering integerValue]); writeDic[kVSync] = ([vSync integerValue] ? @YES : @NO); writeDic[kWindowSize] = NSStringFromSize(NSMakeSize([windowWidth integerValue], [windowHeighth integerValue])); @@ -408,7 +418,7 @@ void ReadConfig(void) [self loadHacksValues]; [autoFullScreen setIntegerValue:[keyValues[kAutoFullScreen] boolValue]]; - [ditherMode selectItemAtIndex:[keyValues[@"Dither Mode"] integerValue]]; + [limitFrameRate setIntegerValue:[keyValues[kFrameLimit] boolValue]]; [fpsCounter setIntegerValue:[keyValues[kFPSCounter] boolValue]]; [scanlineColorWell setColor:[NSUnarchiver unarchiveObjectWithData: keyValues[@"Scanline Color"]]]; [frameSkipping setIntegerValue:[keyValues[kFrameSkipping] boolValue]]; @@ -426,8 +436,10 @@ void ReadConfig(void) [blurEffect setIntegerValue:[keyValues[@"Blur"] boolValue]]; [texColorDepth selectItemAtIndex:[keyValues[@"Texture Color Depth Level"] integerValue]]; [gteAccuracy setIntegerValue:[keyValues[@"GteAccuracy"] boolValue]]; + [colorDithering setIntegerValue:[keyValues[@"Dither Mode"] integerValue]]; [scanlineColorWell setEnabled:[keyValues[@"Draw Scanlines"] boolValue]]; [frameBufferEffects selectItemAtIndex:[keyValues[@"Frame Buffer Level"] integerValue]]; + [frameBufferAccess selectItemAtIndex:[keyValues[@"Frame Buffer Access"] integerValue]]; [vSync setIntegerValue:[keyValues[kVSync] boolValue]]; [proportionalResize setIntegerValue:[keyValues[@"Proportional Resize"] boolValue]]; NSSize winSize = NSSizeFromString(keyValues[kWindowSize]); @@ -438,6 +450,9 @@ void ReadConfig(void) - (void)awakeFromNib { [[NSColorPanel sharedColorPanel] setShowsAlpha:YES]; // eliminate dumb behavior! + + // Kludge fix for windowWidth field layout problem on OS X 10.10+ + windowWidth.titleWidth = windowWidth.titleWidth + FLT_MIN; } - (void)hacksSheetDidEnd:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo @@ -475,9 +490,7 @@ void ReadConfig(void) - (IBAction)toggleCheck:(id)sender { - if([sender tag] == 1) { - [scanlineColorWell setEnabled: [sender intValue] ? YES : NO]; - } + scanlineColorWell.enabled = drawScanlines.integerValue; } @end |
