diff --git a/desmume/src/cocoa/DefaultUserPrefs.plist b/desmume/src/cocoa/DefaultUserPrefs.plist
index de83dcf97..f4cfbfa1e 100644
--- a/desmume/src/cocoa/DefaultUserPrefs.plist
+++ b/desmume/src/cocoa/DefaultUserPrefs.plist
@@ -720,6 +720,10 @@
1
Render3D_Textures
+ Render3D_TextureDeposterize
+
+ Render3D_TextureScalingFactor
+ 1
Render3D_Threads
0
RomInfoPanel_SectionViewState
diff --git a/desmume/src/cocoa/cocoa_GPU.h b/desmume/src/cocoa/cocoa_GPU.h
index c95dfb352..791eb53cb 100644
--- a/desmume/src/cocoa/cocoa_GPU.h
+++ b/desmume/src/cocoa/cocoa_GPU.h
@@ -61,6 +61,8 @@ class GPUEventHandlerOSX;
@property (assign) NSUInteger render3DThreads;
@property (assign) BOOL render3DLineHack;
@property (assign) BOOL render3DMultisample;
+@property (assign) BOOL render3DTextureDeposterize;
+@property (assign) NSUInteger render3DTextureScalingFactor;
@property (assign) BOOL render3DFragmentSamplingHack;
- (void) setOutputList:(NSMutableArray *)theOutputList mutexPtr:(pthread_mutex_t *)theMutex;
diff --git a/desmume/src/cocoa/cocoa_GPU.mm b/desmume/src/cocoa/cocoa_GPU.mm
index 25d9abc6c..c727e038e 100644
--- a/desmume/src/cocoa/cocoa_GPU.mm
+++ b/desmume/src/cocoa/cocoa_GPU.mm
@@ -103,6 +103,8 @@ public:
@dynamic render3DThreads;
@dynamic render3DLineHack;
@dynamic render3DMultisample;
+@dynamic render3DTextureDeposterize;
+@dynamic render3DTextureScalingFactor;
@dynamic render3DFragmentSamplingHack;
@@ -411,6 +413,55 @@ public:
return state;
}
+- (void) setRender3DTextureDeposterize:(BOOL)state
+{
+ gpuEvent->Render3DLock();
+ CommonSettings.GFX3D_Renderer_TextureDeposterize = state ? true : false;
+ gpuEvent->Render3DUnlock();
+}
+
+- (BOOL) render3DTextureDeposterize
+{
+ gpuEvent->Render3DLock();
+ const BOOL state = CommonSettings.GFX3D_Renderer_TextureDeposterize ? YES : NO;
+ gpuEvent->Render3DUnlock();
+
+ return state;
+}
+
+- (void) setRender3DTextureScalingFactor:(NSUInteger)scalingFactor
+{
+ int newScalingFactor = (int)scalingFactor;
+
+ if (scalingFactor < 1)
+ {
+ newScalingFactor = 1;
+ }
+ else if (scalingFactor > 4)
+ {
+ newScalingFactor = 4;
+ }
+
+ gpuEvent->Render3DLock();
+
+ if (newScalingFactor == 3)
+ {
+ newScalingFactor = (newScalingFactor < CommonSettings.GFX3D_Renderer_TextureScalingFactor) ? 2 : 4;
+ }
+
+ CommonSettings.GFX3D_Renderer_TextureScalingFactor = newScalingFactor;
+ gpuEvent->Render3DUnlock();
+}
+
+- (NSUInteger) render3DTextureScalingFactor
+{
+ gpuEvent->Render3DLock();
+ const NSUInteger scalingFactor = (NSUInteger)CommonSettings.GFX3D_Renderer_TextureScalingFactor;
+ gpuEvent->Render3DUnlock();
+
+ return scalingFactor;
+}
+
- (void) setRender3DFragmentSamplingHack:(BOOL)state
{
gpuEvent->Render3DLock();
diff --git a/desmume/src/cocoa/translations/English.lproj/MainMenu.strings b/desmume/src/cocoa/translations/English.lproj/MainMenu.strings
index d964738a3..903e2ec27 100644
Binary files a/desmume/src/cocoa/translations/English.lproj/MainMenu.strings and b/desmume/src/cocoa/translations/English.lproj/MainMenu.strings differ
diff --git a/desmume/src/cocoa/translations/English.lproj/MainMenu.xib b/desmume/src/cocoa/translations/English.lproj/MainMenu.xib
index 4cf7f04f7..5ac410a1e 100644
--- a/desmume/src/cocoa/translations/English.lproj/MainMenu.xib
+++ b/desmume/src/cocoa/translations/English.lproj/MainMenu.xib
@@ -13,6 +13,7 @@
- {{13, 10}, {528, 423}}
+ {{13, 10}, {528, 473}}
- {{6, 303}, {496, 74}}
+ {{6, 333}, {496, 74}}
{0, 0}
@@ -7538,7 +7539,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{6, 221}, {496, 78}}
+ {{6, 251}, {496, 78}}
{0, 0}
@@ -7786,7 +7787,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
_NS:11
- {{6, 141}, {496, 76}}
+ {{6, 171}, {496, 76}}
_NS:9
@@ -7845,7 +7846,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{6, 83}, {496, 54}}
+ {{6, 113}, {496, 54}}
{0, 0}
@@ -7926,7 +7927,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{6, 5}, {496, 74}}
+ {{6, 35}, {496, 74}}
{0, 0}
@@ -7945,7 +7946,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
NO
- {{10, 33}, {508, 377}}
+ {{10, 33}, {508, 427}}
@@ -8172,7 +8173,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{6, 183}, {496, 159}}
+ {{6, 217}, {496, 159}}
{0, 0}
@@ -8338,7 +8339,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{6, 44}, {496, 135}}
+ {{6, 78}, {496, 135}}
{0, 0}
@@ -8357,7 +8358,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
NO
- {{10, 33}, {508, 377}}
+ {{10, 33}, {508, 427}}
BIOS and Firmware
@@ -8752,7 +8753,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{101, 60}, {312, 153}}
+ {{101, 110}, {312, 153}}
{0, 0}
@@ -8773,7 +8774,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{101, 217}, {312, 123}}
+ {{101, 267}, {312, 123}}
{0, 0}
@@ -9096,7 +9097,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
+
+
+ 268
+ {{16, 39}, {158, 18}}
+
+ YES
+
+ 67108864
+ 0
+ Deposterize Textures
+
+
+ 1211912448
+ 2
+
+
+
+
+ 200
+ 25
+
+ NO
+
+
+
+
+ 268
+ {{15, 16}, {149, 17}}
+
+
+ YES
+
+ 68157504
+ 4195328
+ Texture Scaling Factor:
+
+
+
+
+
+ NO
+ 1
+
- {{1, 1}, {310, 38}}
+ {{1, 1}, {310, 85}}
- {{101, 2}, {312, 54}}
+ {{101, 5}, {312, 101}}
{0, 0}
@@ -9141,7 +9251,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
NO
- {{10, 33}, {508, 377}}
+ {{10, 33}, {508, 427}}
3D Rendering
@@ -9160,7 +9270,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {554, 447}
+ {554, 497}
NSView
@@ -22288,7 +22398,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
279
2
- {{149, 201}, {301, 493}}
+ {{149, 168}, {301, 526}}
-461896704
3D Rendering Settings
NSPanel
@@ -22296,7 +22406,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
{1.7976931348623157e+308, 1.7976931348623157e+308}
-
+
256
YES
@@ -22641,7 +22751,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{17, 100}, {267, 150}}
+ {{17, 133}, {267, 150}}
{0, 0}
@@ -22662,7 +22772,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
268
- {{69, 19}, {162, 19}}
+ {{69, 10}, {162, 19}}
YES
@@ -22957,7 +23067,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{17, 375}, {267, 98}}
+ {{17, 408}, {267, 98}}
{0, 0}
@@ -23160,7 +23270,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
268
- {{187, 70}, {19, 27}}
+ {{187, 69}, {19, 27}}
_NS:1592
@@ -23183,7 +23293,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- {{17, 254}, {267, 117}}
+ {{17, 287}, {267, 117}}
{0, 0}
@@ -23214,7 +23324,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
268
- {{16, 12}, {192, 18}}
+ {{16, 54}, {192, 18}}
YES
@@ -23235,13 +23345,147 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
NO
+
+
+ 268
+ {{16, 34}, {137, 18}}
+
+ YES
+
+ 67108864
+ 131072
+ Deposterize Textures
+
+
+ 1211912448
+ 2
+
+
+
+
+ 200
+ 25
+
+ NO
+
+
+
+ 268
+ {{16, 14}, {127, 14}}
+
+ YES
+
+ 68157504
+ 4326400
+ Texture Scaling Factor:
+
+
+
+
+
+ NO
+ 1
+
+
+
+ 268
+ {{164, 7}, {19, 27}}
+
+ YES
+
+ 67895328
+ 0
+
+
+ 1
+ 1
+ 4
+ 1
+ YES
+
+ NO
+
+
+
+ 268
+ {{143, 14}, {19, 14}}
+
+ _NS:4068
+ YES
+
+ 68157504
+ 71435264
+
+
+
+ YES
+
+ YES
+ allowsFloats
+ formatterBehavior
+ locale
+ negativeInfinitySymbol
+ nilSymbol
+ numberStyle
+ positiveFormat
+ positiveInfinitySymbol
+ usesGroupingSeparator
+
+
+ YES
+
+
+
+ -∞
+
+
+ #0
+ +∞
+
+
+
+ #0
+ #0
+
+
+
+
+
+
+
+ NaN
+
+
+
+
+
+ 3
+ YES
+ YES
+ YES
+
+ .
+ ,
+ NO
+ NO
+ NO
+
+ %d
+ _NS:4068
+
+
+
+
+ NO
+ 1
+
- {{1, 1}, {265, 38}}
+ {{1, 1}, {265, 80}}
- {{17, 42}, {267, 54}}
+ {{17, 33}, {267, 96}}
{0, 0}
@@ -23260,7 +23504,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
NO
- {301, 493}
+ {301, 526}
+
{{0, 0}, {1920, 1177}}
@@ -29811,6 +30056,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
gdbStubPortARM9
gdbStubPortARM7
isInDebugTrap
+ cdsGPU.render3DTextureDeposterize
+ cdsGPU.render3DTextureScalingFactor
CocoaDSCore
@@ -42804,6 +43051,86 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
10204
+
+
+ value: selection.cdsGPU.render3DTextureDeposterize
+
+
+
+
+
+ value: selection.cdsGPU.render3DTextureDeposterize
+ value
+ selection.cdsGPU.render3DTextureDeposterize
+ 2
+
+
+ 10216
+
+
+
+ selectedTag: values.Render3D_TextureScalingFactor
+
+
+
+
+
+ selectedTag: values.Render3D_TextureScalingFactor
+ selectedTag
+ values.Render3D_TextureScalingFactor
+ 2
+
+
+ 10234
+
+
+
+ value: values.Render3D_TextureDeposterize
+
+
+
+
+
+ value: values.Render3D_TextureDeposterize
+ value
+ values.Render3D_TextureDeposterize
+ 2
+
+
+ 10235
+
+
+
+ value: selection.cdsGPU.render3DTextureScalingFactor
+
+
+
+
+
+ value: selection.cdsGPU.render3DTextureScalingFactor
+ value
+ selection.cdsGPU.render3DTextureScalingFactor
+ 2
+
+
+ 10238
+
+
+
+ value: selection.cdsGPU.render3DTextureScalingFactor
+
+
+
+
+
+ value: selection.cdsGPU.render3DTextureScalingFactor
+ value
+ selection.cdsGPU.render3DTextureScalingFactor
+ 2
+
+
+ 10242
+
@@ -45093,9 +45420,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
YES
+
-
@@ -45108,10 +45435,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
-
+
-
+
@@ -49216,6 +49543,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
YES
+
+
+
+
@@ -51894,11 +52225,11 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
YES
-
+
@@ -56738,8 +57069,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
-
+
@@ -56749,6 +57080,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
YES
+
+
+
@@ -56757,14 +57091,14 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
YES
-
-
+
+
@@ -57937,6 +58271,143 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
+
+ 10205
+
+
+ YES
+
+
+
+
+
+ 10206
+
+
+
+
+ 10213
+
+
+ YES
+
+
+
+
+
+ 10214
+
+
+
+
+ 10218
+
+
+ YES
+
+
+
+
+
+ 10219
+
+
+
+
+ 10221
+
+
+ YES
+
+
+
+
+
+ 10222
+
+
+ YES
+
+
+
+
+
+ 10223
+
+
+
+
+ 10224
+
+
+ YES
+
+
+
+
+
+ 10225
+
+
+ YES
+
+
+
+
+
+
+
+ 10227
+
+
+
+
+ 10228
+
+
+
+
+ 10229
+
+
+
+
+ 10236
+
+
+ YES
+
+
+
+
+
+ 10237
+
+
+
+
+ 10239
+
+
+ YES
+
+
+
+
+
+ 10240
+
+
+ YES
+
+
+
+
+
+ 10241
+
+
+
@@ -58016,6 +58487,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
10093.IBPluginDependency
10094.IBPluginDependency
10108.IBPluginDependency
+ 10108.IBViewBoundsToFrameTransform
10109.IBPluginDependency
10110.IBAttributePlaceholdersKey
10110.IBPluginDependency
@@ -58024,6 +58496,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
10112.IBNumberFormatterLocalizesFormatMetadataKey
10112.IBPluginDependency
10113.IBPluginDependency
+ 10113.IBViewBoundsToFrameTransform
10114.IBPluginDependency
10115.IBPluginDependency
10116.IBPluginDependency
@@ -58078,6 +58551,43 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
10197.IBPluginDependency
10201.IBPluginDependency
10203.IBPluginDependency
+ 10205.IBPluginDependency
+ 10205.IBViewBoundsToFrameTransform
+ 10206.IBPluginDependency
+ 10213.IBAttributePlaceholdersKey
+ 10213.IBPluginDependency
+ 10213.IBViewBoundsToFrameTransform
+ 10214.IBPluginDependency
+ 10218.IBAttributePlaceholdersKey
+ 10218.IBPluginDependency
+ 10218.IBViewBoundsToFrameTransform
+ 10219.IBPluginDependency
+ 10221.IBAttributePlaceholdersKey
+ 10221.IBPluginDependency
+ 10221.IBViewBoundsToFrameTransform
+ 10222.IBAttributePlaceholdersKey
+ 10222.IBPluginDependency
+ 10222.IBViewBoundsToFrameTransform
+ 10223.IBPluginDependency
+ 10224.IBPluginDependency
+ 10225.IBEditorWindowLastContentRect
+ 10225.IBPluginDependency
+ 10227.IBAttributePlaceholdersKey
+ 10227.IBPluginDependency
+ 10228.IBAttributePlaceholdersKey
+ 10228.IBPluginDependency
+ 10229.IBAttributePlaceholdersKey
+ 10229.IBPluginDependency
+ 10236.IBPluginDependency
+ 10236.IBViewBoundsToFrameTransform
+ 10237.IBPluginDependency
+ 10239.IBAttributePlaceholdersKey
+ 10239.IBPluginDependency
+ 10239.IBViewBoundsToFrameTransform
+ 10240.IBPluginDependency
+ 10241.IBNumberFormatterBehaviorMetadataKey
+ 10241.IBNumberFormatterLocalizesFormatMetadataKey
+ 10241.IBPluginDependency
1034.IBPluginDependency
1035.IBPluginDependency
1036.IBPluginDependency
@@ -58252,6 +58762,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
2331.IBPluginDependency
2332.IBAttributePlaceholdersKey
2332.IBPluginDependency
+ 2339.IBEditorWindowLastContentRect
2339.IBNSViewMetadataGestureRecognizers
2339.IBPersistedLastKnownCanvasPosition
2339.IBPluginDependency
@@ -58259,6 +58770,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
2340.designableToolbarItemIdentifier
2340.toolbarItem.selectable
2341.IBPluginDependency
+ 2341.IBViewBoundsToFrameTransform
2342.IBPluginDependency
2343.IBPluginDependency
2344.IBPluginDependency
@@ -58527,10 +59039,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
3784.IBViewBoundsToFrameTransform
3786.IBNSViewMetadataGestureRecognizers
3786.IBPluginDependency
+ 3786.IBViewBoundsToFrameTransform
3787.IBPluginDependency
3788.IBNSViewMetadataGestureRecognizers
3788.IBPluginDependency
3789.IBPluginDependency
+ 3790.IBEditorWindowLastContentRect
3790.IBPersistedLastKnownCanvasPosition
3790.IBPluginDependency
3790.IBWindowTemplateEditedContentRect
@@ -58561,6 +59075,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
3810.IBPluginDependency
3811.IBPluginDependency
3837.IBPluginDependency
+ 3837.IBViewBoundsToFrameTransform
3838.IBPluginDependency
3839.IBAttributePlaceholdersKey
3839.IBPluginDependency
@@ -58569,6 +59084,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
3841.IBPluginDependency
3843.IBAttributePlaceholdersKey
3843.IBPluginDependency
+ 3843.IBViewBoundsToFrameTransform
3844.IBPluginDependency
3845.IBPluginDependency
3846.IBAttributePlaceholdersKey
@@ -58576,6 +59092,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
3847.IBAttributePlaceholdersKey
3847.IBPluginDependency
3849.IBPluginDependency
+ 3849.IBViewBoundsToFrameTransform
3850.IBPluginDependency
3885.IBNSViewMetadataGestureRecognizers
3885.IBPluginDependency
@@ -58584,6 +59101,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
3887.IBPluginDependency
3888.IBAttributePlaceholdersKey
3888.IBPluginDependency
+ 3888.IBViewBoundsToFrameTransform
3889.IBPluginDependency
3890.IBPluginDependency
3891.IBAttributePlaceholdersKey
@@ -58595,9 +59113,11 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
3894.IBAttributePlaceholdersKey
3894.IBPluginDependency
3896.IBPluginDependency
+ 3896.IBViewBoundsToFrameTransform
3897.IBPluginDependency
3899.IBNSViewMetadataGestureRecognizers
3899.IBPluginDependency
+ 3899.IBViewBoundsToFrameTransform
3900.IBAttributePlaceholdersKey
3900.IBPluginDependency
3901.IBPluginDependency
@@ -59215,12 +59735,16 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
6611.IBPluginDependency
6612.IBPluginDependency
6617.IBPluginDependency
+ 6617.IBViewBoundsToFrameTransform
6618.IBAttributePlaceholdersKey
6618.IBPluginDependency
+ 6618.IBViewBoundsToFrameTransform
6619.IBPluginDependency
6622.IBPluginDependency
+ 6622.IBViewBoundsToFrameTransform
6623.IBAttributePlaceholdersKey
6623.IBPluginDependency
+ 6623.IBViewBoundsToFrameTransform
6624.IBPluginDependency
6627.IBAttributePlaceholdersKey
6627.IBPluginDependency
@@ -59699,6 +60223,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
8164.IBPluginDependency
8181.IBNSViewMetadataGestureRecognizers
8181.IBPluginDependency
+ 8181.IBViewBoundsToFrameTransform
8182.IBPluginDependency
8183.IBPluginDependency
8184.IBNSViewMetadataGestureRecognizers
@@ -59707,6 +60232,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
8185.IBPluginDependency
8186.IBPluginDependency
8188.IBPluginDependency
+ 8188.IBViewBoundsToFrameTransform
8189.IBPluginDependency
8194.IBPluginDependency
8195.IBPluginDependency
@@ -60133,9 +60659,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
9289.IBPluginDependency
929.IBPluginDependency
9290.IBPluginDependency
+ 9290.IBViewBoundsToFrameTransform
9291.IBPluginDependency
9292.IBPluginDependency
+ 9292.IBViewBoundsToFrameTransform
9293.IBPluginDependency
+ 9294.IBEditorWindowLastContentRect
9294.IBPluginDependency
9295.IBPluginDependency
9296.IBPluginDependency
@@ -60482,6 +61011,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBgAAAwrAAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
ToolTip
@@ -60497,6 +61029,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUM7AABCigAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -60577,6 +61112,109 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBgAAAwcAAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ ToolTip
+
+ ToolTip
+
+ When set, helps to preserve the color gradations of the texture. This can compensate for poor color blending from the original 16-bit NDS color palette, or for posterization caused by texture upscaling filters. Moderate CPU usage.
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBgAAAwlAAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ ToolTip
+
+ ToolTip
+
+ When set, helps to preserve the color gradations of the texture. This can compensate for poor color blending from the original 16-bit NDS color palette, or for posterization caused by texture upscaling filters. Moderate CPU usage.
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBgAAAwlgAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ ToolTip
+
+ ToolTip
+
+ When the scaling factor is greater than 1x, automatically upscale all textures using the xBRZ filter. This adds additional details to textures, which can improve the appearance of textures at higher GPU scaling factors. Very high CPU usage.
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABDJgAAwggAAA
+
+
+ YES
+
+
+ YES
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBcAAAwegAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ {{296, 493}, {129, 63}}
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ YES
+
+
+ YES
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ YES
+
+
+ YES
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ YES
+
+
+ YES
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUNlAABAwAAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ ToolTip
+
+ ToolTip
+
+ When the scaling factor is greater than 1x, automatically upscale all textures using the xBRZ filter. This adds additional details to textures, which can improve the appearance of textures at higher GPU scaling factors. Very high CPU usage.
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABDEAAAwcgAAA
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -60837,6 +61475,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
+ {{16, 492}, {554, 497}}
{686, 460.5}
com.apple.InterfaceBuilder.CocoaPlugin
@@ -60844,6 +61483,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
Emulation
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUDAAABDpoAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -61307,13 +61949,17 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUGIAABDfwAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+ {{609, 429}, {301, 526}}
{193.5, 488.5}
com.apple.InterfaceBuilder.CocoaPlugin
- {{84, 481}, {301, 467}}
+ {{609, 429}, {301, 526}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -61376,6 +62022,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUGIAABDzAAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
ToolTip
@@ -61405,6 +62054,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABDdAAAw7kAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -61426,6 +62078,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABClAAAw7eAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -61448,6 +62103,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABDEQAAwggAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -61487,9 +62145,15 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBcAAAwfgAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AULKAABDWQAAA
+
ToolTip
@@ -62423,6 +63087,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUGIAABCBAAAA
+
ToolTip
@@ -62432,8 +63099,14 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBgAAAwpAAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AULKAABAwAAAA
+
ToolTip
@@ -62443,6 +63116,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBgAAAwmgAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
ToolTip
@@ -63088,6 +63764,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBUAAAw/CAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -63096,6 +63775,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ AUNnAABCCAAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -63674,9 +64356,16 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABBcAAAwdgAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
+
+ P4AAAL+AAABC/AAAwfAAAA
+
com.apple.InterfaceBuilder.CocoaPlugin
+ {{495, 434}, {138, 122}}
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
com.apple.InterfaceBuilder.CocoaPlugin
@@ -63965,7 +64654,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2
- 10204
+ 10242
diff --git a/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm b/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm
index 6397de580..e9a4e1760 100644
--- a/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm
+++ b/desmume/src/cocoa/userinterface/EmuControllerDelegate.mm
@@ -952,6 +952,8 @@
[[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] render3DTextureDeposterize] forKey:@"Render3D_TextureDeposterize"];
+ [[NSUserDefaults standardUserDefaults] setInteger:[[cdsCore cdsGPU] render3DTextureScalingFactor] forKey:@"Render3D_TextureScalingFactor"];
[[NSUserDefaults standardUserDefaults] setBool:[[cdsCore cdsGPU] render3DFragmentSamplingHack] forKey:@"Render3D_FragmentSamplingHack"];
[[NSUserDefaults standardUserDefaults] setInteger:[[cdsCore cdsGPU] gpuScale] forKey:@"Render3D_ScalingFactor"];
@@ -2203,6 +2205,8 @@
[[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] setRender3DTextureDeposterize:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_TextureDeposterize"]];
+ [[cdsCore cdsGPU] setRender3DTextureScalingFactor:(NSUInteger)[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_TextureScalingFactor"]];
[[cdsCore cdsGPU] setRender3DFragmentSamplingHack:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_FragmentSamplingHack"]];
[[cdsCore cdsGPU] setGpuScale:(NSUInteger)[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_ScalingFactor"]];