From e57165ae3f1706afec533d7b3cae17555a0f38ad Mon Sep 17 00:00:00 2001 From: "SND\\MaddTheSane_cp" Date: Wed, 21 Aug 2013 00:36:42 +0000 Subject: Implement window size for the PeopsXGL plug-in on OS X. This plug-in will also try to fix the old, broken, and unused "Window Size" pref key. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@86779 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- .../English.lproj/NetSfPeopsOpenGLConfig.xib | 344 +++++++++++++++++++-- .../NetSfPeopsOpenGLPluginConfigController.h | 3 +- .../NetSfPeopsOpenGLPluginConfigController.m | 66 ++-- 3 files changed, 358 insertions(+), 55 deletions(-) (limited to 'macosx/plugins') diff --git a/macosx/plugins/PeopsXgl/English.lproj/NetSfPeopsOpenGLConfig.xib b/macosx/plugins/PeopsXgl/English.lproj/NetSfPeopsOpenGLConfig.xib index 6f72db44..6e528364 100644 --- a/macosx/plugins/PeopsXgl/English.lproj/NetSfPeopsOpenGLConfig.xib +++ b/macosx/plugins/PeopsXgl/English.lproj/NetSfPeopsOpenGLConfig.xib @@ -17,9 +17,12 @@ NSButtonCell NSColorWell NSCustomObject + NSForm + NSFormCell NSMatrix NSMenu NSMenuItem + NSNumberFormatter NSPopUpButton NSPopUpButtonCell NSSlider @@ -183,7 +186,7 @@ {{307, 80}, {148, 18}} - + YES 67108864 @@ -393,7 +396,7 @@ {{307, 100}, {129, 18}} - + YES 67108864 @@ -418,10 +421,10 @@ 256 - {{18, 60}, {155, 18}} + {{18, 73}, {155, 18}} - + YES 67108864 @@ -443,7 +446,7 @@ 268 - {{125, 14}, {91, 32}} + {{145, 22}, {91, 32}} @@ -465,6 +468,196 @@ NO + + + 268 + {{17, 13}, {126, 52}} + + + + _NS:9 + YES + NO + 2 + 1 + + YES + + 342884417 + -1941961728 + + + + + YES + + YES + allowsFloats + formatterBehavior + locale + minimum + negativeInfinitySymbol + nilSymbol + positiveInfinitySymbol + + + YES + + + + + + + -∞ + + +∞ + + + # + # + + + + + + + + NaN + + YES + + YES + + + + + + + 0 + 0 + YES + NO + 1 + AAAAAAAAAAAAAAAAAAAAAA + + + 3 + YES + YES + YES + + . + , + NO + NO + YES + + + 49.703125 + + 67108864 + 67108864 + Width: + + + + + + 342884417 + -1941961728 + + + + + YES + + YES + allowsFloats + formatterBehavior + locale + minimum + negativeInfinitySymbol + nilSymbol + numberStyle + positiveInfinitySymbol + + + YES + + + + + -∞ + + + +∞ + + + # + # + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + NO + NO + YES + + + 1 + 49.703125 + + 67108864 + 67108864 + Height: + + + + + + {126, 22} + {1, 8} + 76021760 + NSActionCell + + 342884416 + 205521920 + + + 49.703125 + + 67108864 + 67108864 + Field: + + + + -1 + -1 + + + 3 + MQA + + + YES + {{2, 2}, {510, 127}} @@ -490,10 +683,7 @@ 6 System textBackgroundColor - - 3 - MQA - + 3 @@ -951,7 +1141,18 @@ 400 75 - + + + default + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + YES @@ -959,17 +1160,7 @@ YES - - - default - - 1048576 - 2147483647 - - - _popUpItemAction: - - + RGBA 16 @@ -1379,7 +1570,7 @@ 15 2 - {{196, 207}, {497, 379}} + {{196, 207}, {497, 367}} 1685586944 Hacks NSWindow @@ -1734,7 +1925,7 @@ 269 - {{143, 269}, {211, 68}} + {{143, 269}, {211, 56}} @@ -1756,7 +1947,7 @@ A 269 - {{195, 343}, {106, 18}} + {{195, 331}, {106, 18}} @@ -1829,7 +2020,7 @@ A NO - {497, 379} + {497, 367} @@ -2219,6 +2410,22 @@ A 527 + + + windowWidth + + + + 532 + + + + windowHeighth + + + + 533 + delegate @@ -2249,9 +2456,7 @@ A YES 0 - - YES - + @@ -2330,6 +2535,7 @@ A + @@ -3031,9 +3237,9 @@ A YES - + @@ -3226,6 +3432,50 @@ A + + 528 + + + YES + + + + + + + + 529 + + + + + 530 + + + YES + + + + + + 531 + + + YES + + + + + + 534 + + + + + 535 + + + @@ -3402,6 +3652,16 @@ A 502.IBPluginDependency 503.IBPluginDependency 504.IBPluginDependency + 528.IBPluginDependency + 529.IBPluginDependency + 530.IBPluginDependency + 531.IBPluginDependency + 534.IBNumberFormatterBehaviorMetadataKey + 534.IBNumberFormatterLocalizesFormatMetadataKey + 534.IBPluginDependency + 535.IBNumberFormatterBehaviorMetadataKey + 535.IBNumberFormatterLocalizesFormatMetadataKey + 535.IBPluginDependency 6.IBPluginDependency 7.IBPluginDependency 8.IBPluginDependency @@ -3885,6 +4145,16 @@ A com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -3935,7 +4205,7 @@ A - 527 + 535 @@ -4055,7 +4325,9 @@ A texEnhancment texFiltering vSync + windowHeighth windowSize + windowWidth wireframeOnly zMaskClipping @@ -4084,7 +4356,9 @@ A NSSlider NSSlider NSControl + NSFormCell NSPopUpButton + NSFormCell NSControl NSControl @@ -4116,7 +4390,9 @@ A texEnhancment texFiltering vSync + windowHeighth windowSize + windowWidth wireframeOnly zMaskClipping @@ -4214,10 +4490,18 @@ A vSync NSControl + + windowHeighth + NSFormCell + windowSize NSPopUpButton + + windowWidth + NSFormCell + wireframeOnly NSControl diff --git a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h index 6039cb34..2bc40052 100755 --- a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h +++ b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.h @@ -21,8 +21,9 @@ IBOutlet NSControl *vSync; IBOutlet NSControl *proportionalResize; - IBOutlet NSPopUpButton *windowSize; IBOutlet NSPopUpButton *fullscreenSize; + IBOutlet NSFormCell *windowWidth; + IBOutlet NSFormCell *windowHeighth; IBOutlet NSPopUpButton *offscreenDrawing; IBOutlet NSPopUpButton *texColorDepth; diff --git a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m index af6ee458..c963c35a 100755 --- a/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m +++ b/macosx/plugins/PeopsXgl/macsrc/NetSfPeopsOpenGLPluginConfigController.m @@ -123,6 +123,17 @@ void PrepFactoryDefaultPreferences(void) NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + NSDictionary* keyValues = [defaults dictionaryForKey:PrefsKey]; + + if (keyValues && [[keyValues objectForKey:@"Window Size"] isKindOfClass:[NSNumber class]]) { + NSMutableDictionary *tmpDict = [[NSMutableDictionary alloc] initWithDictionary:keyValues]; + [tmpDict setObject:NSStringFromSize(NSMakeSize(800, 600)) forKey:@"Window Size"]; + [defaults setObject:tmpDict forKey:PrefsKey]; + [defaults synchronize]; + RELEASEOBJ(tmpDict); + } + + [defaults registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys: [NSDictionary dictionaryWithObjectsAndKeys: @NO, kFPSCounter, @@ -141,7 +152,7 @@ void PrepFactoryDefaultPreferences(void) @0, @"Texture Enhancement Level", @0, @"Texture Filter Level", @0, @"Frame Buffer Level", - @0, @"Window Size", + NSStringFromSize(NSMakeSize(800, 600)), @"Window Size", @NO, @"Draw Scanlines", // nasty: [NSArchiver archivedDataWithRootObject: [NSColor colorWithCalibratedRed:0 green:0 blue:0 alpha:0.25]], @"Scanline Color", @@ -169,7 +180,7 @@ void ReadConfig(void) PrepFactoryDefaultPreferences(); // in case user deletes, or on new startup NSDictionary* keyValues = [[NSUserDefaults standardUserDefaults] dictionaryForKey:PrefsKey]; - + // bind all prefs settings to their PCSXR counterparts // with a little finagling to make it work as expected iShowFPS = [[keyValues objectForKey:kFPSCounter] boolValue]; @@ -191,8 +202,14 @@ void ReadConfig(void) // we always start out at 800x600 (at least until resizing the window is implemented) - iResX = 800; - iResY = 600; + NSSize winSize = NSSizeFromString([keyValues objectForKey:@"Window Size"]); + if (bChangeWinMode == 1) { + iResX = winSize.width; + iResY = winSize.height; + } else { + iResX = 800; + iResY = 600; + } iBlurBuffer = [[keyValues objectForKey:@"Blur"] boolValue]; // not noticeable, but doesn't harm iUseScanLines = [[keyValues objectForKey:@"Draw Scanlines"] boolValue]; // works @@ -277,7 +294,6 @@ void ReadConfig(void) - (IBAction)ok:(id)sender { - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; unsigned int hackValues = 0; @@ -290,31 +306,31 @@ void ReadConfig(void) self.keyValues = [NSMutableDictionary dictionaryWithDictionary: [[NSUserDefaults standardUserDefaults] dictionaryForKey:PrefsKey]]; NSMutableDictionary *writeDic = [NSMutableDictionary dictionaryWithDictionary:keyValues]; - [writeDic setObject:@((unsigned int)hackValues) forKey:kHacks]; - [writeDic setObject:@((BOOL)[hackEnable integerValue]) forKey:kHacksEnable]; - [writeDic setObject:@((BOOL)[fpsCounter integerValue]) forKey:kFPSCounter]; + [writeDic setObject:@(hackValues) forKey:kHacks]; + [writeDic setObject:([hackEnable integerValue] ? @YES : @NO) forKey:kHacksEnable]; + [writeDic setObject:([fpsCounter integerValue] ? @YES : @NO) forKey:kFPSCounter]; [writeDic setObject:[NSArchiver archivedDataWithRootObject:[scanlineColorWell color]] forKey:@"Scanline Color"]; - [writeDic setObject:@((BOOL)[frameSkipping integerValue]) forKey:kFrameSkipping]; - [writeDic setObject:@((BOOL)[autoFullScreen integerValue]) forKey:kAutoFullScreen]; - //[writeDic setObject:@((BOOL)[frameLimit integerValue]) forKey:kFrameLimit]; - [writeDic setObject:@((BOOL)[proportionalResize integerValue]) forKey:@"Proportional Resize"]; + [writeDic setObject:([frameSkipping integerValue] ? @YES : @NO) forKey:kFrameSkipping]; + [writeDic setObject:([autoFullScreen integerValue] ? @YES : @NO) forKey:kAutoFullScreen]; + //[writeDic setObject:([frameLimit integerValue] ? @YES : @NO) forKey:kFrameLimit]; + [writeDic setObject:([proportionalResize integerValue] ? @YES : @NO) forKey:@"Proportional Resize"]; [writeDic setObject:@([ditherMode indexOfItem:[ditherMode selectedItem]]) forKey:@"Dither Mode"]; [writeDic setObject:@([offscreenDrawing indexOfItem:[offscreenDrawing selectedItem]]) forKey:@"Offscreen Drawing Level"]; [writeDic setObject:@([texColorDepth indexOfItem:[texColorDepth selectedItem]]) forKey:@"Texture Color Depth Level"]; [writeDic setObject:@([texEnhancment integerValue]) forKey:@"Texture Enhancement Level"]; [writeDic setObject:@([texFiltering integerValue]) forKey:@"Texture Filter Level"]; [writeDic setObject:@([frameBufferEffects indexOfItem:[frameBufferEffects selectedItem]]) forKey:@"Frame Buffer Level"]; - [writeDic setObject:@((BOOL)[drawScanlines integerValue]) forKey:@"Draw Scanlines"]; - [writeDic setObject:@((BOOL)[advancedBlending integerValue]) forKey:@"Advanced Blending"]; - [writeDic setObject:@((BOOL)[opaquePass integerValue]) forKey:@"Opaque Pass"]; - [writeDic setObject:@((BOOL)[blurEffect integerValue]) forKey:@"Blur"]; - [writeDic setObject:@((BOOL)[zMaskClipping integerValue]) forKey:@"Z Mask Clipping"]; - [writeDic setObject:@((BOOL)[wireframeOnly integerValue]) forKey:@"Wireframe Mode"]; - [writeDic setObject:@((BOOL)[mjpegDecoder integerValue]) forKey:@"Emulate mjpeg decoder"]; - [writeDic setObject:@((BOOL)[mjpegDecoder15bit integerValue]) forKey:@"Fast mjpeg decoder"]; - [writeDic setObject:@((BOOL)[gteAccuracy integerValue]) forKey:@"GteAccuracy"]; - [writeDic setObject:@((BOOL)[vSync integerValue]) forKey:kVSync]; - + [writeDic setObject:([drawScanlines integerValue] ? @YES : @NO) forKey:@"Draw Scanlines"]; + [writeDic setObject:([advancedBlending integerValue] ? @YES : @NO) forKey:@"Advanced Blending"]; + [writeDic setObject:([opaquePass integerValue] ? @YES : @NO) forKey:@"Opaque Pass"]; + [writeDic setObject:([blurEffect integerValue] ? @YES : @NO) forKey:@"Blur"]; + [writeDic setObject:([zMaskClipping integerValue] ? @YES : @NO) forKey:@"Z Mask Clipping"]; + [writeDic setObject:([wireframeOnly integerValue] ? @YES : @NO) forKey:@"Wireframe Mode"]; + [writeDic setObject:([mjpegDecoder integerValue] ? @YES : @NO) forKey:@"Emulate mjpeg decoder"]; + [writeDic setObject:([mjpegDecoder15bit integerValue] ? @YES : @NO) forKey:@"Fast mjpeg decoder"]; + [writeDic setObject:([gteAccuracy integerValue] ? @YES : @NO) forKey:@"GteAccuracy"]; + [writeDic setObject:([vSync integerValue] ? @YES : @NO) forKey:kVSync]; + [writeDic setObject:NSStringFromSize(NSMakeSize([windowWidth integerValue], [windowHeighth integerValue])) forKey:@"Window Size"]; //[writeDic setObject:@([windowSize indexOfItem:[windowSize selectedItem]]) forKey:@"Window Size"]; @@ -392,7 +408,9 @@ void ReadConfig(void) [frameBufferEffects selectItemAtIndex:[[keyValues objectForKey:@"Frame Buffer Level"] integerValue]]; [vSync setIntegerValue:[[keyValues objectForKey:kVSync] boolValue]]; [proportionalResize setIntegerValue:[[keyValues objectForKey:@"Proportional Resize"] boolValue]]; - + NSSize winSize = NSSizeFromString([keyValues objectForKey:@"Window Size"]); + [windowWidth setIntegerValue:winSize.width]; + [windowHeighth setIntegerValue:winSize.height]; //[windowSize selectItemAtIndex:[[keyValues objectForKey:@"Window Size"] integerValue]]; } -- cgit v1.2.3