From cf109b69dd9d5741bee3fcce6599c6b9ec123d90 Mon Sep 17 00:00:00 2001 From: rogerman Date: Mon, 10 Feb 2014 07:14:05 +0000 Subject: [PATCH] Cocoa Port: - Add SoftRasterizer hack from r4984. - Update UI to reflect the current feature set. - Do some code cleanup. --- desmume/src/cocoa/DefaultUserPrefs.plist | 2 + desmume/src/cocoa/OGLDisplayOutput.cpp | 2 +- desmume/src/cocoa/OGLDisplayOutput.h | 10 +- desmume/src/cocoa/cocoa_GPU.h | 3 +- desmume/src/cocoa/cocoa_GPU.mm | 17 + desmume/src/cocoa/cocoa_output.h | 2 +- desmume/src/cocoa/cocoa_output.mm | 25 +- .../English.lproj/MainMenu.strings | Bin 313328 -> 316320 bytes .../translations/English.lproj/MainMenu.xib | 1005 ++++++++++++----- .../userinterface/DisplayWindowController.mm | 4 +- .../userinterface/EmuControllerDelegate.h | 10 - .../userinterface/EmuControllerDelegate.mm | 170 +-- 12 files changed, 755 insertions(+), 495 deletions(-) diff --git a/desmume/src/cocoa/DefaultUserPrefs.plist b/desmume/src/cocoa/DefaultUserPrefs.plist index 8c72a93f1..101d8a702 100644 --- a/desmume/src/cocoa/DefaultUserPrefs.plist +++ b/desmume/src/cocoa/DefaultUserPrefs.plist @@ -686,6 +686,8 @@ Render3D_Fog + Render3D_FragmentSamplingHack + Render3D_HighPrecisionColorInterpolation Render3D_LineHack diff --git a/desmume/src/cocoa/OGLDisplayOutput.cpp b/desmume/src/cocoa/OGLDisplayOutput.cpp index 020274f61..adfbe110a 100644 --- a/desmume/src/cocoa/OGLDisplayOutput.cpp +++ b/desmume/src/cocoa/OGLDisplayOutput.cpp @@ -363,7 +363,7 @@ void OGLVideoOutput::UpdateDisplayTransformationOGL() } } -void OGLVideoOutput::RespondToVideoFilterChangeOGL(const VideoFilterTypeID videoFilterTypeID) +void OGLVideoOutput::SetVideoFilterOGL(const VideoFilterTypeID videoFilterTypeID) { this->_vfSingle->ChangeFilterByID(videoFilterTypeID); this->_vfDual->ChangeFilterByID(videoFilterTypeID); diff --git a/desmume/src/cocoa/OGLDisplayOutput.h b/desmume/src/cocoa/OGLDisplayOutput.h index d0b25e3db..911a0a47f 100644 --- a/desmume/src/cocoa/OGLDisplayOutput.h +++ b/desmume/src/cocoa/OGLDisplayOutput.h @@ -70,6 +70,10 @@ protected: GLubyte vtxIndexBuffer[12]; size_t _vtxBufferOffset; + void CalculateDisplayNormalSize(double *w, double *h); + void UpdateVertices(); + void UpdateTexCoords(GLfloat s, GLfloat t); + void GetExtensionSetOGL(std::set *oglExtensionSet); bool IsExtensionPresent(const std::set &oglExtensionSet, const std::string &extensionName) const; bool SetupShadersOGL(const char *vertexProgram, const char *fragmentProgram); @@ -90,11 +94,7 @@ public: virtual void RenderOGL(); virtual void SetViewportSizeOGL(GLsizei w, GLsizei h); virtual void UpdateDisplayTransformationOGL(); - virtual void RespondToVideoFilterChangeOGL(const VideoFilterTypeID videoFilterTypeID); - - void CalculateDisplayNormalSize(double *w, double *h); - void UpdateVertices(); - void UpdateTexCoords(GLfloat s, GLfloat t); + virtual void SetVideoFilterOGL(const VideoFilterTypeID videoFilterTypeID); int GetDisplayMode(); void SetDisplayMode(int dispMode); diff --git a/desmume/src/cocoa/cocoa_GPU.h b/desmume/src/cocoa/cocoa_GPU.h index b2e9dce83..b9892b088 100644 --- a/desmume/src/cocoa/cocoa_GPU.h +++ b/desmume/src/cocoa/cocoa_GPU.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2013 DeSmuME team + Copyright (C) 2013-2014 DeSmuME team This file is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,6 +54,7 @@ @property (assign) NSUInteger render3DThreads; @property (assign) BOOL render3DLineHack; @property (assign) BOOL render3DMultisample; +@property (assign) BOOL render3DFragmentSamplingHack; - (BOOL) gpuStateByBit:(const UInt32)stateBit; - (BOOL) isGPUTypeDisplayed:(const NSInteger)theGpuType; diff --git a/desmume/src/cocoa/cocoa_GPU.mm b/desmume/src/cocoa/cocoa_GPU.mm index f3a4359e8..489dafffa 100644 --- a/desmume/src/cocoa/cocoa_GPU.mm +++ b/desmume/src/cocoa/cocoa_GPU.mm @@ -67,6 +67,7 @@ GPU3DInterface *core3DList[] = { @dynamic render3DThreads; @dynamic render3DLineHack; @dynamic render3DMultisample; +@dynamic render3DFragmentSamplingHack; - (id)init @@ -321,6 +322,22 @@ GPU3DInterface *core3DList[] = { return state; } +- (void) setRender3DFragmentSamplingHack:(BOOL)state +{ + pthread_mutex_lock(self.mutexProducer); + CommonSettings.GFX3D_TXTHack = state ? true : false; + pthread_mutex_unlock(self.mutexProducer); +} + +- (BOOL) render3DFragmentSamplingHack +{ + pthread_mutex_lock(self.mutexProducer); + const BOOL state = CommonSettings.GFX3D_TXTHack ? YES : NO; + pthread_mutex_unlock(self.mutexProducer); + + return state; +} + - (void) setLayerMainGPU:(BOOL)gpuState { pthread_mutex_lock(self.mutexProducer); diff --git a/desmume/src/cocoa/cocoa_output.h b/desmume/src/cocoa/cocoa_output.h index d68250030..c108b5b3c 100644 --- a/desmume/src/cocoa/cocoa_output.h +++ b/desmume/src/cocoa/cocoa_output.h @@ -1,6 +1,6 @@ /* Copyright (C) 2011 Roger Manuel - Copyright (C) 2011-2013 DeSmuME team + Copyright (C) 2011-2014 DeSmuME team This file is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/desmume/src/cocoa/cocoa_output.mm b/desmume/src/cocoa/cocoa_output.mm index c9663e34a..bf60059c8 100644 --- a/desmume/src/cocoa/cocoa_output.mm +++ b/desmume/src/cocoa/cocoa_output.mm @@ -1,6 +1,6 @@ /* Copyright (C) 2011 Roger Manuel - Copyright (C) 2011-2013 DeSmuME team + Copyright (C) 2011-2014 DeSmuME team This file is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -971,30 +971,7 @@ const float gapScalar = *(float *)[displayGapScalarData bytes]; [(id)delegate doDisplayGapChanged:gapScalar]; } -/* -- (void) handleChangeBilinearOutput:(NSData *)bilinearStateData -{ - if (delegate == nil || ![delegate respondsToSelector:@selector(doBilinearOutputChanged:)]) - { - return; - } - - const BOOL theState = *(BOOL *)[bilinearStateData bytes]; - [(id)delegate doBilinearOutputChanged:theState]; - [self handleEmuFrameProcessed:self.frameData attributes:self.frameAttributesData]; -} -- (void) handleChangeVerticalSync:(NSData *)verticalSyncStateData -{ - if (delegate == nil || ![delegate respondsToSelector:@selector(doVerticalSyncChanged:)]) - { - return; - } - - const BOOL theState = *(BOOL *)[verticalSyncStateData bytes]; - [(id)delegate doVerticalSyncChanged:theState]; -} -*/ - (void) handleChangeVideoFilter:(NSData *)videoFilterTypeIdData { if (delegate == nil || ![delegate respondsToSelector:@selector(doVideoFilterChanged:)]) diff --git a/desmume/src/cocoa/translations/English.lproj/MainMenu.strings b/desmume/src/cocoa/translations/English.lproj/MainMenu.strings index f7d8c2cef8a01544ff890109e4c46d4378d46598..eef8ecd1c0537467a99e2318fea32ca28b2b1899 100644 GIT binary patch delta 1367 zcmeHHJxgOj6utL3F8G0<&k&wM^5P=6Yf!TIwoq_Q;TIw*f|cNgs4=_AMokv9P&8x< zQBaxUHiC9mf`x@BvJgev*xIR`jVZU>I};I1;}1|?@rHBHJu{p+ck-L&-oCk#!Hkh9 zITHCR`LO1Z!;^l>Wkr*0h}Y0?RtRj9tA2~d2eD<_ZldLL;m0-#9taZy@;Y5lH|HYF zNZ>@6B>`Y|sYUsL0(&bc1a%HzIpr^e2OX+D)htK)sw}y+t&3mf-m!-&SFqNahIt4< z1mZ9SzaRxRgdqVjNYL(Q!(Eo-VjN~6Msw|G(%}!|Lt}``DW=bJLrAY|{>NA(!B~`$ z8HmfrOE-&0VL?kOc8Xb1?y(^vvDvJMaF1e#VTJ YES + @@ -2719,9 +2720,11 @@ {1.7976931348623157e+308, 1.7976931348623157e+308} - + 256 {400, 100} + + {{0, 0}, {1440, 878}} {1.7976931348623157e+308, 1.7976931348623157e+308} @@ -3769,7 +3772,7 @@ L3d3dy5hZHZhbnNjZW5lLmNvbS9vZmZsaW5lL2RhdGFzL0FEVkFOc0NFbmVfUlRvb2xEUy56aXAInputPrefsView - + 268 YES @@ -3783,7 +3786,7 @@ L3d3dy5hZHZhbnNjZW5lLmNvbS9vZmZsaW5lL2RhdGFzL0FEVkFOc0NFbmVfUlRvb2xEUy56aXA 1 - + 256 YES @@ -5049,7 +5052,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{10, 33}, {443, 355}} - Display Views @@ -5163,6 +5165,50 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 18 + + + 2xBRZ + + 2147483647 + + + _popUpItemAction: + 19 + + + + + 3xBRZ + + 2147483647 + + + _popUpItemAction: + 20 + + + + + 4xBRZ + + 2147483647 + + + _popUpItemAction: + 21 + + + + + 5xBRZ + + 2147483647 + + + _popUpItemAction: + 22 + + 2xSaI @@ -5432,7 +5478,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 4 - + 256 YES @@ -5449,7 +5495,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{16, 82}, {239, 18}} + {{16, 121}, {239, 18}} YES @@ -5472,7 +5518,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{16, 62}, {154, 18}} + {{16, 101}, {154, 18}} YES @@ -5495,7 +5541,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{16, 42}, {91, 18}} + {{16, 81}, {91, 18}} YES @@ -5518,7 +5564,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{215, 14}, {60, 22}} + {{215, 13}, {60, 22}} YES @@ -5650,7 +5696,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{15, 16}, {195, 17}} + {{15, 15}, {195, 17}} YES @@ -5668,7 +5714,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{276, 11}, {19, 27}} + {{276, 10}, {19, 27}} YES @@ -5682,12 +5728,58 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO + + + 268 + {{16, 61}, {129, 18}} + + YES + + -2080374784 + 0 + Enable Line Hack + + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{16, 41}, {225, 18}} + + YES + + -2080374784 + 0 + Enable Fragment Sampling Hack + + + 1211912448 + 2 + + + + + 200 + 25 + + NO + - {{1, 1}, {310, 108}} + {{1, 1.57421875}, {310, 147}} - {{64, 110}, {312, 124}} + {{64, 99}, {312, 163.57421875}} {0, 0} @@ -5710,7 +5802,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{207, 318}, {169, 26}} + {{207, 323}, {169, 26}} YES @@ -5777,7 +5869,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{37, 324}, {168, 17}} + {{37, 329}, {168, 17}} YES @@ -5908,29 +6000,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 274 YES - - - 268 - {{16, 32}, {129, 18}} - - YES - - -2080374784 - 0 - Enable Line Hack - - - 1211912448 - 2 - - - - - 200 - 25 - - NO - 268 @@ -5955,11 +6024,11 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO - {{1, 1}, {310, 58}} + {{1, 1}, {310, 38}} - {{64, 238}, {312, 74}} + {{64, 267}, {312, 54}} {0, 0} @@ -6017,7 +6086,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 - {{64, 52}, {312, 54}} + {{64, 41}, {312, 54}} {0, 0} @@ -6039,24 +6108,26 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{10, 33}, {443, 355}} + 3D Rendering - + 0 YES YES YES - + {489, 425} + NSView @@ -19886,7 +19957,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {1.7976931348623157e+308, 1.7976931348623157e+308} - + 256 YES @@ -19895,6 +19966,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{20, 18}, {164, 19}} + YES -2080374784 @@ -19926,6 +19998,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{18, 14}, {132, 458}} + YES NO @@ -20530,11 +20603,13 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{1, 1}, {168, 482}} + {{17, 41}, {170, 498}} + {0, 0} @@ -20559,6 +20634,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{17, 565}, {169, 18}} + YES @@ -20583,6 +20659,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{17, 545}, {135, 18}} + YES @@ -20604,6 +20681,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {204, 601} + + {{0, 0}, {1440, 878}} @@ -20614,7 +20693,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 279 2 - {{149, 108}, {301, 560}} + {{149, 82}, {301, 586}} -461896704 3D Rendering Settings NSPanel @@ -20622,7 +20701,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {1.7976931348623157e+308, 1.7976931348623157e+308} - + 256 YES @@ -20639,8 +20718,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{15, 77}, {206, 18}} + {{15, 122}, {206, 18}} + YES -2080374784 @@ -20662,8 +20742,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{15, 57}, {134, 18}} + {{15, 102}, {134, 18}} + YES -2080374784 @@ -20685,8 +20766,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{15, 37}, {81, 18}} + {{15, 82}, {81, 18}} + YES -2080374784 @@ -20708,8 +20790,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{185, 12}, {45, 19}} + {{185, 16}, {45, 19}} + YES -1804599231 @@ -20791,8 +20874,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{15, 14}, {165, 14}} + {{15, 18}, {165, 14}} + YES 68157504 @@ -20809,8 +20893,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{231, 7}, {19, 27}} + {{231, 11}, {19, 27}} + YES 67895328 @@ -20823,13 +20908,63 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO + + + 268 + {{15, 62}, {113, 18}} + + + YES + + -2080374784 + 131072 + Enable Line Hack + + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{15, 42}, {194, 18}} + + + YES + + -2080374784 + 131072 + Enable Fragment Sampling Hack + + + 1211912448 + 2 + + + + + 200 + 25 + + NO + - {{1, 1}, {265, 103}} + {{1, 1}, {265, 148}} + - {{17, 241}, {267, 119}} + {{17, 241}, {267, 164}} + {0, 0} 67108864 @@ -20853,6 +20988,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{73, 18}, {154, 19}} + YES -2080374784 @@ -20884,6 +21020,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{18, 14}, {107, 58}} + YES NO 3 @@ -21142,10 +21279,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{1, 1}, {265, 82}} + - {{17, 442}, {267, 98}} + {{17, 468}, {267, 98}} + {0, 0} 67108864 @@ -21179,6 +21318,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{18, 14}, {120, 98}} + YES NO 5 @@ -21497,10 +21637,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{1, 1}, {265, 122}} + {{17, 41}, {267, 138}} + {0, 0} 67108864 @@ -21529,34 +21671,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 274 YES - - - 268 - {{15, 32}, {113, 18}} - - YES - - -2080374784 - 131072 - Enable Line Hack - - - 1211912448 - 2 - - - - - 200 - 25 - - NO - 268 {{15, 12}, {108, 18}} + YES -2080374784 @@ -21576,12 +21696,14 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO - {{1, 1}, {265, 58}} + {{1, 1}, {265, 38}} + - {{17, 364}, {267, 74}} + {{17, 410}, {267, 54}} + {0, 0} 67108864 @@ -21615,6 +21737,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 {{16, 12}, {192, 18}} + YES 67108864 @@ -21636,10 +21759,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{1, 1}, {265, 38}} + {{17, 183}, {267, 54}} + {0, 0} 67108864 @@ -21659,7 +21784,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO - {301, 560} + {301, 586} + + {{0, 0}, {1920, 1178}} {1.7976931348623157e+308, 1.7976931348623157e+308} @@ -26752,6 +26879,16 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 coreState frameStatus executionSpeedStatus + cdsGPU.render3DRenderingEngine + cdsGPU.render3DTextures + cdsGPU.render3DHighPrecisionColorInterpolation + cdsGPU.render3DEdgeMarking + cdsGPU.render3DFog + cdsGPU.render3DLineHack + cdsGPU.render3DDepthComparisonThreshold + cdsGPU.render3DMultisample + cdsGPU.render3DThreads + cdsGPU.render3DFragmentSamplingHack CocoaDSCore @@ -26783,15 +26920,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 currentSaveStateURL selectedRomSaveTypeID currentRom - render3DRenderingEngine - render3DHighPrecisionColorInterpolation - render3DEdgeMarking - render3DFog - render3DTextures - render3DDepthComparisonThreshold - render3DThreads - render3DLineHack - render3DMultisample mainWindow mainWindow.displayRotation mainWindow.videoFilterType @@ -27085,6 +27213,11 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 YES + + YES + Render3D_TextureAlignmentHack + Render3D_FragmentSamplingHack + YES @@ -32585,150 +32718,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 6809 - - - selectedTag: selection.render3DRenderingEngine - - - - - - selectedTag: selection.render3DRenderingEngine - selectedTag - selection.render3DRenderingEngine - 2 - - - 6815 - - - - value: selection.render3DLineHack - - - - - - value: selection.render3DLineHack - value - selection.render3DLineHack - 2 - - - 6816 - - - - value: selection.render3DTextures - - - - - - value: selection.render3DTextures - value - selection.render3DTextures - 2 - - - 6817 - - - - value: selection.render3DHighPrecisionColorInterpolation - - - - - - value: selection.render3DHighPrecisionColorInterpolation - value - selection.render3DHighPrecisionColorInterpolation - 2 - - - 6818 - - - - value: selection.render3DEdgeMarking - - - - - - value: selection.render3DEdgeMarking - value - selection.render3DEdgeMarking - 2 - - - 6819 - - - - value: selection.render3DFog - - - - - - value: selection.render3DFog - value - selection.render3DFog - 2 - - - 6820 - - - - value: selection.render3DDepthComparisonThreshold - - - - - - value: selection.render3DDepthComparisonThreshold - value - selection.render3DDepthComparisonThreshold - 2 - - - 6821 - - - - value: selection.render3DMultisample - - - - - - value: selection.render3DMultisample - value - selection.render3DMultisample - 2 - - - 6822 - - - - selectedTag: selection.render3DThreads - - - - - - selectedTag: selection.render3DThreads - selectedTag - selection.render3DThreads - 2 - - - 6823 - cdsSoundController @@ -35907,22 +35896,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 8180 - - - value: selection.render3DDepthComparisonThreshold - - - - - - value: selection.render3DDepthComparisonThreshold - value - selection.render3DDepthComparisonThreshold - 2 - - - 8193 - value: values.Render3D_DepthComparisonThreshold @@ -38139,6 +38112,230 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 9143 + + + selectVideoFilterType: + + + + 9145 + + + + selectVideoFilterType: + + + + 9147 + + + + selectVideoFilterType: + + + + 9149 + + + + selectVideoFilterType: + + + + 9151 + + + + selectedTag: selection.cdsGPU.render3DRenderingEngine + + + + + + selectedTag: selection.cdsGPU.render3DRenderingEngine + selectedTag + selection.cdsGPU.render3DRenderingEngine + 2 + + + 9160 + + + + value: selection.cdsGPU.render3DTextures + + + + + + value: selection.cdsGPU.render3DTextures + value + selection.cdsGPU.render3DTextures + 2 + + + 9162 + + + + value: selection.cdsGPU.render3DHighPrecisionColorInterpolation + + + + + + value: selection.cdsGPU.render3DHighPrecisionColorInterpolation + value + selection.cdsGPU.render3DHighPrecisionColorInterpolation + 2 + + + 9164 + + + + value: selection.cdsGPU.render3DEdgeMarking + + + + + + value: selection.cdsGPU.render3DEdgeMarking + value + selection.cdsGPU.render3DEdgeMarking + 2 + + + 9166 + + + + value: selection.cdsGPU.render3DFog + + + + + + value: selection.cdsGPU.render3DFog + value + selection.cdsGPU.render3DFog + 2 + + + 9168 + + + + value: selection.cdsGPU.render3DLineHack + + + + + + value: selection.cdsGPU.render3DLineHack + value + selection.cdsGPU.render3DLineHack + 2 + + + 9170 + + + + value: selection.cdsGPU.render3DDepthComparisonThreshold + + + + + + value: selection.cdsGPU.render3DDepthComparisonThreshold + value + selection.cdsGPU.render3DDepthComparisonThreshold + 2 + + + 9174 + + + + value: selection.cdsGPU.render3DDepthComparisonThreshold + + + + + + value: selection.cdsGPU.render3DDepthComparisonThreshold + value + selection.cdsGPU.render3DDepthComparisonThreshold + 2 + + + 9176 + + + + value: selection.cdsGPU.render3DMultisample + + + + + + value: selection.cdsGPU.render3DMultisample + value + selection.cdsGPU.render3DMultisample + 2 + + + 9178 + + + + selectedTag: selection.cdsGPU.render3DThreads + + + + + + selectedTag: selection.cdsGPU.render3DThreads + selectedTag + selection.cdsGPU.render3DThreads + 2 + + + 9180 + + + + value: selection.cdsGPU.render3DFragmentSamplingHack + + + + + + value: selection.cdsGPU.render3DFragmentSamplingHack + value + selection.cdsGPU.render3DFragmentSamplingHack + 2 + + + 9182 + + + + value: values.Render3D_FragmentSamplingHack + + + + + + value: values.Render3D_FragmentSamplingHack + value + values.Render3D_FragmentSamplingHack + 2 + + + 9183 + @@ -39760,6 +39957,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 + + + + @@ -41472,12 +41673,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 YES - - + + + - @@ -41632,12 +41833,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 YES - - - - + + + + @@ -41646,11 +41847,13 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 YES - - + + + + @@ -41754,11 +41957,13 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 YES - - + + + + @@ -41984,25 +42189,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 YES - - - 3886 - - - YES - - - - - - 3887 - - - 3888 @@ -42073,25 +42263,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 YES - - - 3900 - - - YES - - - - - - 3901 - - - 3935 @@ -51458,6 +51633,82 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 + + 9144 + + + + + 9146 + + + + + 9148 + + + + + 9150 + + + + + 3900 + + + YES + + + + + + 3901 + + + + + 9152 + + + YES + + + + + + 9153 + + + + + 3886 + + + YES + + + + + + 3887 + + + + + 9156 + + + YES + + + + + + 9157 + + + @@ -51549,6 +51800,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 1626.IBAttributePlaceholdersKey 1626.IBPluginDependency 1627.IBPluginDependency + 1628.IBEditorWindowLastContentRect 1628.IBPluginDependency 1629.IBPluginDependency 1630.IBPluginDependency @@ -51955,17 +52207,21 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 3776.IBPluginDependency 3777.IBAttributePlaceholdersKey 3777.IBPluginDependency + 3777.IBViewBoundsToFrameTransform 3778.IBPluginDependency 3779.IBAttributePlaceholdersKey 3779.IBPluginDependency + 3779.IBViewBoundsToFrameTransform 3780.IBPluginDependency 3781.IBNumberFormatterBehaviorMetadataKey 3781.IBNumberFormatterLocalizesFormatMetadataKey 3781.IBPluginDependency 3782.IBPluginDependency + 3782.IBViewBoundsToFrameTransform 3783.IBPluginDependency 3784.IBPluginDependency 3786.IBPluginDependency + 3786.IBViewBoundsToFrameTransform 3787.IBPluginDependency 3788.IBPluginDependency 3789.IBPluginDependency @@ -51975,19 +52231,27 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 3790.NSWindowTemplate.visibleAtLaunch 3791.IBPluginDependency 3793.IBPluginDependency + 3793.IBViewBoundsToFrameTransform 3794.IBPluginDependency 3798.IBPluginDependency + 3798.IBViewBoundsToFrameTransform 3799.IBPluginDependency + 3799.IBViewBoundsToFrameTransform 3800.IBAttributePlaceholdersKey 3800.IBPluginDependency + 3800.IBViewBoundsToFrameTransform 3801.IBAttributePlaceholdersKey 3801.IBPluginDependency + 3801.IBViewBoundsToFrameTransform 3802.IBAttributePlaceholdersKey 3802.IBPluginDependency + 3802.IBViewBoundsToFrameTransform 3803.IBAttributePlaceholdersKey 3803.IBPluginDependency + 3803.IBViewBoundsToFrameTransform 3804.IBAttributePlaceholdersKey 3804.IBPluginDependency + 3804.IBViewBoundsToFrameTransform 3805.IBPluginDependency 3806.IBPluginDependency 3807.IBPluginDependency @@ -51999,6 +52263,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 3811.IBPluginDependency 3837.IBPluginDependency 3838.IBPluginDependency + 3838.IBViewBoundsToFrameTransform 3839.IBAttributePlaceholdersKey 3839.IBPluginDependency 3840.IBAttributePlaceholdersKey @@ -52006,6 +52271,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 3841.IBPluginDependency 3843.IBAttributePlaceholdersKey 3843.IBPluginDependency + 3843.IBViewBoundsToFrameTransform 3844.IBPluginDependency 3845.IBPluginDependency 3846.IBAttributePlaceholdersKey @@ -52013,8 +52279,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 3847.IBAttributePlaceholdersKey 3847.IBPluginDependency 3849.IBPluginDependency + 3849.IBViewBoundsToFrameTransform 3850.IBPluginDependency 3878.IBPluginDependency + 3878.IBViewBoundsToFrameTransform 3879.IBPluginDependency 3880.IBAttributePlaceholdersKey 3880.IBPluginDependency @@ -52026,11 +52294,14 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 3884.IBAttributePlaceholdersKey 3884.IBPluginDependency 3885.IBPluginDependency + 3885.IBViewBoundsToFrameTransform 3886.IBAttributePlaceholdersKey 3886.IBPluginDependency + 3886.IBViewBoundsToFrameTransform 3887.IBPluginDependency 3888.IBAttributePlaceholdersKey 3888.IBPluginDependency + 3888.IBViewBoundsToFrameTransform 3889.IBPluginDependency 3890.IBPluginDependency 3891.IBAttributePlaceholdersKey @@ -52042,10 +52313,13 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 3894.IBAttributePlaceholdersKey 3894.IBPluginDependency 3896.IBPluginDependency + 3896.IBViewBoundsToFrameTransform 3897.IBPluginDependency 3899.IBPluginDependency + 3899.IBViewBoundsToFrameTransform 3900.IBAttributePlaceholdersKey 3900.IBPluginDependency + 3900.IBViewBoundsToFrameTransform 3901.IBPluginDependency 3935.IBPluginDependency 3936.IBEditorWindowLastContentRect @@ -52682,10 +52956,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 6611.IBPluginDependency 6612.IBPluginDependency 6617.IBPluginDependency + 6617.IBViewBoundsToFrameTransform 6618.IBAttributePlaceholdersKey 6618.IBPluginDependency 6619.IBPluginDependency 6622.IBPluginDependency + 6622.IBViewBoundsToFrameTransform 6623.IBAttributePlaceholdersKey 6623.IBPluginDependency 6624.IBPluginDependency @@ -53208,8 +53484,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 8185.IBPluginDependency 8186.IBPluginDependency 8188.IBPluginDependency + 8188.IBViewBoundsToFrameTransform 8189.IBPluginDependency 8194.IBPluginDependency + 8194.IBViewBoundsToFrameTransform 8195.IBPluginDependency 823.IBPluginDependency 824.IBPluginDependency @@ -53676,6 +53954,18 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 9139.IBPluginDependency 914.IBPluginDependency 9140.IBPluginDependency + 9144.IBPluginDependency + 9146.IBPluginDependency + 9148.IBPluginDependency + 9150.IBPluginDependency + 9152.IBAttributePlaceholdersKey + 9152.IBPluginDependency + 9152.IBViewBoundsToFrameTransform + 9153.IBPluginDependency + 9156.IBAttributePlaceholdersKey + 9156.IBPluginDependency + 9156.IBViewBoundsToFrameTransform + 9157.IBPluginDependency 92.IBPluginDependency 924.IBPluginDependency 925.IBPluginDependency @@ -53839,7 +54129,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{812, 642}, {489, 425}} + {{13, 431}, {489, 425}} com.apple.InterfaceBuilder.CocoaPlugin InitialTabViewItem @@ -53864,6 +54154,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + {{144, 295}, {151, 463}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -54269,7 +54560,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{331, 836}, {512, 20}} + {{384, 835}, {512, 20}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -54278,7 +54569,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{605, 543}, {315, 293}} + {{658, 542}, {315, 293}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -54512,6 +54803,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBcAAAweAAAA + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -54522,26 +54816,44 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDOQAAwgAAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBcAAAwegAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGIAABDhzSAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{343, 119}, {301, 560}} + {{42, 72}, {301, 586}} com.apple.InterfaceBuilder.CocoaPlugin - {{343, 119}, {301, 560}} + {{42, 72}, {301, 586}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCkgAAwgwAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUKAAABCvAAAA + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBcAAAwfAAAA + ToolTip @@ -54551,6 +54863,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDVwAAwgQAAA + ToolTip @@ -54560,6 +54875,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwsQAAA + ToolTip @@ -54569,6 +54887,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwpwAAA + ToolTip @@ -54578,6 +54899,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwmgAAA + ToolTip @@ -54587,6 +54911,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAweAAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -54598,6 +54925,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBkAAAwowAAA + ToolTip @@ -54626,6 +54956,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDTwAAw6sAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -54647,8 +54980,14 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCFAAAw6mAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGIAABCJAAAA + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -54688,6 +55027,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGIAABD8AAAA + ToolTip @@ -54697,6 +55039,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBcAAAwu4AAA + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -54707,6 +55052,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDQwAAwgAAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -54746,8 +55094,14 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCFAAAwegAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUKAAABDgwAAA + ToolTip @@ -54757,6 +55111,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwpoAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{884, 773}, {132, 63}} @@ -55460,7 +55817,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{655, 783}, {196, 53}} + {{864, 783}, {196, 53}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -55529,7 +55886,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{884, 713}, {178, 43}} + {{1129, 713}, {178, 43}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -55708,6 +56065,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUGIAABDNwAAA + ToolTip @@ -55719,6 +56079,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUKAAABCEAAAA + ToolTip @@ -56142,7 +56505,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{884, 603}, {118, 133}} + {{973, 602}, {118, 133}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -56445,13 +56808,19 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + AUNnAABBIAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + AUOKAABBIAAAA + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{920, 173}, {239, 543}} + {{973, 172}, {239, 543}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -57156,6 +57525,36 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + When set, fragment colors will be sampled using an alternate algorithm. This may fix certain graphical glitches, such as the text in some Atlus games like Etrian Odyssey III. + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBqAAAwpAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + When set, fragment colors will be sampled using an alternate algorithm. This may fix certain graphical glitches, such as the text in some Atlus games like Etrian Odyssey III. + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBoAAAwuLSAA + + 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 @@ -57223,7 +57622,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 - 9143 + 9183 diff --git a/desmume/src/cocoa/userinterface/DisplayWindowController.mm b/desmume/src/cocoa/userinterface/DisplayWindowController.mm index 2a6eacf0b..066a47edc 100644 --- a/desmume/src/cocoa/userinterface/DisplayWindowController.mm +++ b/desmume/src/cocoa/userinterface/DisplayWindowController.mm @@ -1081,8 +1081,6 @@ static std::tr1::unordered_map _screenMap // Set the video filter source size now since the proper size is needed on initialization. // If we don't do this, new windows could draw incorrectly. - //const NSSize vfSrcSize = NSMakeSize(GPU_DISPLAY_WIDTH, ([self displayMode] == DS_DISPLAY_TYPE_DUAL) ? GPU_DISPLAY_HEIGHT * 2 : GPU_DISPLAY_HEIGHT); - //[[cdsVideoOutput vf] setSourceSize:vfSrcSize]; [CocoaDSUtil messageSendOneWayWithInteger:[cdsVideoOutput receivePort] msgID:MESSAGE_CHANGE_VIDEO_FILTER integerValue:[self videoFilterType]]; // Add the video thread to the output list. @@ -1785,7 +1783,7 @@ static std::tr1::unordered_map _screenMap { CGLLockContext(cglDisplayContext); CGLSetCurrentContext(cglDisplayContext); - oglv->RespondToVideoFilterChangeOGL((const VideoFilterTypeID)videoFilterTypeID); + oglv->SetVideoFilterOGL((const VideoFilterTypeID)videoFilterTypeID); CGLUnlockContext(cglDisplayContext); } diff --git a/desmume/src/cocoa/userinterface/EmuControllerDelegate.h b/desmume/src/cocoa/userinterface/EmuControllerDelegate.h index 03127bf23..fb85ee922 100644 --- a/desmume/src/cocoa/userinterface/EmuControllerDelegate.h +++ b/desmume/src/cocoa/userinterface/EmuControllerDelegate.h @@ -139,16 +139,6 @@ class AudioSampleBlockGenerator; @property (assign) NSInteger frameJumpFramesForward; @property (assign) NSInteger frameJumpToFrame; -@property (assign) NSInteger render3DRenderingEngine; -@property (assign) BOOL render3DHighPrecisionColorInterpolation; -@property (assign) BOOL render3DEdgeMarking; -@property (assign) BOOL render3DFog; -@property (assign) BOOL render3DTextures; -@property (assign) NSInteger render3DDepthComparisonThreshold; -@property (assign) NSInteger render3DThreads; -@property (assign) BOOL render3DLineHack; -@property (assign) BOOL render3DMultisample; - @property (retain) DisplayWindowController *mainWindow; @property (readonly) NSMutableArray *windowList; diff --git a/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm b/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm index f4803e147..62954cccb 100644 --- a/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm +++ b/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm @@ -85,16 +85,6 @@ @synthesize frameJumpFramesForward; @synthesize frameJumpToFrame; -@dynamic render3DRenderingEngine; -@dynamic render3DHighPrecisionColorInterpolation; -@dynamic render3DEdgeMarking; -@dynamic render3DFog; -@dynamic render3DTextures; -@dynamic render3DDepthComparisonThreshold; -@dynamic render3DThreads; -@dynamic render3DLineHack; -@dynamic render3DMultisample; - @synthesize mainWindow; @synthesize windowList; @@ -318,124 +308,6 @@ return currentVolumeValue; } -- (void) setRender3DRenderingEngine:(NSInteger)engineID -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DRenderingEngine:engineID]; -} - -- (NSInteger) render3DRenderingEngine -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DRenderingEngine]; -} - -- (void) setRender3DHighPrecisionColorInterpolation:(BOOL)theState -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DHighPrecisionColorInterpolation:theState]; -} - -- (BOOL) render3DHighPrecisionColorInterpolation -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DHighPrecisionColorInterpolation]; -} - -- (void) setRender3DEdgeMarking:(BOOL)theState -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DEdgeMarking:theState]; -} - -- (BOOL) render3DEdgeMarking -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DEdgeMarking]; -} - -- (void) setRender3DFog:(BOOL)theState -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DFog:theState]; -} - -- (BOOL) render3DFog -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DFog]; -} - -- (void) setRender3DTextures:(BOOL)theState -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DTextures:theState]; -} - -- (BOOL) render3DTextures -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DTextures]; -} - -- (void) setRender3DDepthComparisonThreshold:(NSInteger)threshold -{ - if (threshold < 0) - { - return; - } - - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DDepthComparisonThreshold:(NSUInteger)threshold]; -} - -- (NSInteger) render3DDepthComparisonThreshold -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DDepthComparisonThreshold]; -} - -- (void) setRender3DThreads:(NSInteger)threadCount -{ - if (threadCount < 0) - { - return; - } - - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DThreads:(NSUInteger)threadCount]; -} - -- (NSInteger) render3DThreads -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DThreads]; -} - -- (void) setRender3DLineHack:(BOOL)theState -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DLineHack:theState]; -} - -- (BOOL) render3DLineHack -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DLineHack]; -} - -- (void) setRender3DMultisample:(BOOL)theState -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - [cdsCore.cdsGPU setRender3DMultisample:theState]; -} - -- (BOOL) render3DMultisample -{ - CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; - return [cdsCore.cdsGPU render3DMultisample]; -} - #pragma mark IBActions - (IBAction) newDisplayWindow:(id)sender @@ -1019,15 +891,16 @@ // Force end of editing of any text fields. [[(NSControl *)sender window] makeFirstResponder:nil]; - [[NSUserDefaults standardUserDefaults] setInteger:[cdsCore.cdsGPU render3DRenderingEngine] forKey:@"Render3D_RenderingEngine"]; - [[NSUserDefaults standardUserDefaults] setBool:[cdsCore.cdsGPU render3DHighPrecisionColorInterpolation] forKey:@"Render3D_HighPrecisionColorInterpolation"]; - [[NSUserDefaults standardUserDefaults] setBool:[cdsCore.cdsGPU render3DEdgeMarking] forKey:@"Render3D_EdgeMarking"]; - [[NSUserDefaults standardUserDefaults] setBool:[cdsCore.cdsGPU render3DFog] forKey:@"Render3D_Fog"]; - [[NSUserDefaults standardUserDefaults] setBool:[cdsCore.cdsGPU render3DTextures] forKey:@"Render3D_Textures"]; - [[NSUserDefaults standardUserDefaults] setInteger:[cdsCore.cdsGPU render3DDepthComparisonThreshold] forKey:@"Render3D_DepthComparisonThreshold"]; - [[NSUserDefaults standardUserDefaults] setInteger:[cdsCore.cdsGPU render3DThreads] forKey:@"Render3D_Threads"]; - [[NSUserDefaults standardUserDefaults] setBool:[cdsCore.cdsGPU render3DLineHack] forKey:@"Render3D_LineHack"]; - [[NSUserDefaults standardUserDefaults] setBool:[cdsCore.cdsGPU render3DMultisample] forKey:@"Render3D_Multisample"]; + [[NSUserDefaults standardUserDefaults] setInteger:[[cdsCore cdsGPU] render3DRenderingEngine] forKey:@"Render3D_RenderingEngine"]; + [[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DHighPrecisionColorInterpolation] forKey:@"Render3D_HighPrecisionColorInterpolation"]; + [[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DEdgeMarking] forKey:@"Render3D_EdgeMarking"]; + [[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DFog] forKey:@"Render3D_Fog"]; + [[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DTextures] forKey:@"Render3D_Textures"]; + [[NSUserDefaults standardUserDefaults] setInteger:[[cdsCore cdsGPU] render3DDepthComparisonThreshold] forKey:@"Render3D_DepthComparisonThreshold"]; + [[NSUserDefaults standardUserDefaults] setInteger:[[cdsCore cdsGPU] render3DThreads] forKey:@"Render3D_Threads"]; + [[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DLineHack] forKey:@"Render3D_LineHack"]; + [[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DMultisample] forKey:@"Render3D_Multisample"]; + [[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DFragmentSamplingHack] forKey:@"Render3D_FragmentSamplingHack"]; } - (IBAction) writeDefaultsEmulationSettings:(id)sender @@ -2177,15 +2050,17 @@ [[self cdsSpeaker] setSpuSyncMethod:[[NSUserDefaults standardUserDefaults] integerForKey:@"SPU_SyncMethod"]]; // Set the 3D rendering options per user preferences. - [self setRender3DThreads:(NSUInteger)[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_Threads"]]; - [self setRender3DRenderingEngine:[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_RenderingEngine"]]; - [self setRender3DHighPrecisionColorInterpolation:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_HighPrecisionColorInterpolation"]]; - [self setRender3DEdgeMarking:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_EdgeMarking"]]; - [self setRender3DFog:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Fog"]]; - [self setRender3DTextures:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Textures"]]; - [self setRender3DDepthComparisonThreshold:(NSUInteger)[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_DepthComparisonThreshold"]]; - [self setRender3DLineHack:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_LineHack"]]; - [self setRender3DMultisample:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Multisample"]]; + CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; + [[cdsCore cdsGPU] setRender3DThreads:(NSUInteger)[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_Threads"]]; + [[cdsCore cdsGPU] setRender3DRenderingEngine:[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_RenderingEngine"]]; + [[cdsCore cdsGPU] setRender3DHighPrecisionColorInterpolation:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_HighPrecisionColorInterpolation"]]; + [[cdsCore cdsGPU] setRender3DEdgeMarking:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_EdgeMarking"]]; + [[cdsCore cdsGPU] setRender3DFog:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Fog"]]; + [[cdsCore cdsGPU] setRender3DTextures:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Textures"]]; + [[cdsCore cdsGPU] setRender3DDepthComparisonThreshold:(NSUInteger)[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_DepthComparisonThreshold"]]; + [[cdsCore cdsGPU] setRender3DLineHack:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_LineHack"]]; + [[cdsCore cdsGPU] setRender3DMultisample:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Multisample"]]; + [[cdsCore cdsGPU] setRender3DFragmentSamplingHack:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_FragmentSamplingHack"]]; } #pragma mark NSUserInterfaceValidations Protocol @@ -2466,7 +2341,8 @@ - (void)controlTextDidEndEditing:(NSNotification *)aNotification { - [self setRender3DDepthComparisonThreshold:[(NSNumber *)[aNotification object] integerValue]]; + CocoaDSCore *cdsCore = (CocoaDSCore *)[cdsCoreController content]; + [[cdsCore cdsGPU] setRender3DDepthComparisonThreshold:[(NSNumber *)[aNotification object] integerValue]]; } @end