From 91c53cc772d0c55fad6d5e5419b361906b602f70 Mon Sep 17 00:00:00 2001 From: rogerman Date: Thu, 17 Jan 2013 01:22:53 +0000 Subject: [PATCH] Cocoa Port: - New feature: Add support for the OpenGL renderer's multisample antialiasing (MSAA) feature. - Update UI tooltips for the 3D renderers to reflect the current state of the code. --- desmume/src/cocoa/DefaultUserPrefs.plist | Bin 5051 -> 5083 bytes desmume/src/cocoa/cocoa_globals.h | 1 + desmume/src/cocoa/cocoa_output.h | 4 + desmume/src/cocoa/cocoa_output.mm | 38 ++ .../English.lproj/MainMenu.strings | Bin 286698 -> 289698 bytes .../translations/English.lproj/MainMenu.xib | 415 ++++++++++++++---- desmume/src/cocoa/userinterface/displayView.h | 1 + .../src/cocoa/userinterface/displayView.mm | 7 + .../cocoa/userinterface/emuWindowDelegate.h | 1 + .../cocoa/userinterface/emuWindowDelegate.mm | 7 + 10 files changed, 383 insertions(+), 91 deletions(-) diff --git a/desmume/src/cocoa/DefaultUserPrefs.plist b/desmume/src/cocoa/DefaultUserPrefs.plist index 6b32facf2728947ce9d234658467de007e425745..5c2538845005fae2faa97036042c1c8d19e11ecd 100644 GIT binary patch delta 1625 zcmYk4XLM9W7>3_(%iJ>e-We8H2w;SO0Zd3jOCwTDG=OxD2N7wKh+t?5SP%&!h)9vJ zQBayhgwO>9MY&K{+-8Uj2@CTaM;KUN?%vp&`qk3v1nfci;R8+gYi1D@gY9O zLM+F6Y{MQL#z~amD*nbDa*{#SsV+69X4K9%i;WL`)sG<QBHL>5M4 z43d43%52XYHr~Wr7>lJ@3cZp#|+HGN0@~i%!UuSj~wxc(PSu@r= zo3&sqSuBfZiL4b%Vy#&l)|RznPqSo}!aB26Y%|-<_OhSYQRZi7*(LTXD`nT&O?Hd@ z%kC>sn4&8}siM?S!jwizgwkH=sl22NRv@ zwbVLll-g9yZlQKipH~N{L)0d zx;{!Dr%%>%^!fTqeVbmO@6!+JXS4OI`V9`wxtBNMkvy8W<(+shK8O$JBl$!=iBI8k z`4YaCZ{d6ReqO|j`FVbwmm9j_HR>7ljh05d(aPv#ykHD6Mi^s_>BdYW$H+6*7@Lg( zYiSOf@^2eayjTrkOq7oN7)p7nqC8JadD&!`yG4FiXq} z=1udqdDk+mnpS-)+Df##S_7>#Yp^xW`oQv8^R0YqgSFE-X8Ent)>-Qh>yB`XDx!`E z6)~c@h!v@#r|2h!iZNoGm??5Zu2?6wiUM&&6p1V1nkbV(hReqNWQ2^BiSjA=qD+?= zGE0t^v*di4FE`5VaGEGR3`PS%>P$e F{vU~+ufG5Q delta 1600 zcmYk433QD|7>3{PF7xmIKmN!~2vcoU0nuoV7{tC>v1nE?W6%a|y=U=W7UScc(Z$DOea;L1!icXhUYaq~!{@ZA$aut1 z-`q!Gc2@|Cw06bYu5PS;#3+1$DR5yie#A!P;UG@n3`%hoxAB08Wbz{?g;5l>cIB|~ z&Vj}F7=thvpI``vVi-Qfa3o^{QZN#2T)9S)D@$l(rn)g2V~~ci_za(89FkpeN~9}D z40MbyLOL=q0TVF^U*aodVzL(pxRS*7j;TeMhUu7rnfMyBFdK6)_Z1FydBkw@8#m@* zJ{I6xEW~$Mvcx3ajzMYxYqo#LRLd8*8u@Iar7F*x<7x zp3bHkv};ofC8xs zRiz-RM%BIe#a9NqHtTiG8g2@vniN8{D3oeb9be(Y7MNmDePYo#2S2)#h zIvW;KBWg@ds3|q0XlhO|6pLhPK`rS`YE{u?)17g})P~y9Thxx?sXcX|j%Y>+)TyG= zuTW=KAD)$7if0uMc2?*;X#`ECMYM%V$zw4s^(=9g?v@nGY|C29AxoL%o|Ri`TU%Na ztpltX)>YQ+)>GEIw#v3_=3oIVkX1=%RarIWWHneY3t_cbD67rturL=yH|`|Pp61XVDEdP1}iCnO5Jgb#&bLYgp5SSjQP z8-!e8x3Etr6iS4vf=75JLNrBxF;J{8rpJiw#4ciQ@gs4dm?mb5Q^e`wGBHQoF6N8J z#bU8c^oS3|rxK(}Qgta@Y9h6kI!b+{e$ofhXlbG}Q<^WWkk(1L(gEqHbV4eW%A}jp z1KB1Ua*$kKZYVdA6XYIpk~~;Wl{4g7@^U#_UMFvq_sb{bv*~iVd|Q5`s0vs7lu#u~ zX`ysb-cjCF1}cM;A<8&qisDk1Dr=PWO1^SHDNu@)%gQa~k!n{3wTfCzt)WJ#E!7Tc zceS6Itfr``YNk3@U7}{IThs#ehZ%{#uw8p*7H2Yl&J7RJ)@+(FNU4cj}Gxc)g>Zs3++|^)Y&eK0{xiuhO^a zdHP;`zkXW3s9)Fb8!#+JWh20-YD5^(Mq8t+(c4HeQjAn1&6sB_GqQ~>M!s>}IAfF< z9xii@8@y^C?&LLjE1tl+@m{VP@XW%$xbX?`Jk% z2JXKNT)E1gaV5Uz7!+UzbeM$_Oi+K0+8K&;7=$5Yy)2I1CO?g5$ogRlIu6QAfZ;@6=D z7fIPPsjWZ->m?S$Ql52-GR)%TFJf1sS%5i`Uw{iW1K507hhCIyLex|2xJoXpVEoyAkRp*ep)dRTtjvZ=>mAE39 zidDfP!U78eFIcdH29UB}>tTFkNFS~|6xOYIk;FSH3;8GDyl0xrGTDZPF2h;Z%Q94H zLWfE6utH#$J%1-*iXs>I0?oUBT`=7C#|{&6FbWy^61W!PQ7q<}+61Nt#~yGsHVz{+ zpQAiQBBVyAY|RU^&`?BEL*Tmczu)@iQ(j2qeo?c`&o#rxUs<2#83g;G7Y2@o=Zyun&mI`uy9E>;3u!cbGDww8os`-?U}AZUYq&nmBijTc^|1kW s8rcY8c3Wk;+s*TK@BRmPxDVN`D?zW%BsIMEnRi(&Bi4AxE?WwG1Bi`=ga7~l delta 439 zcmZ22zT33aAv+krw)*iae*z}U0j2hb;+?kd!f|>0Oo=n>vJef~jo4#)@Bb&SeLpnn$Lq0<; zkSt*+VyI+L0J0OobP_}AbbB=xSz$e(pesWKSV1aSY0mW38cfR5A4D+9P3Kc)QJBu9 z$a01nCI;j(s!UYSm^?v}V|s!-3(NKoN-SxN)G!(B);M*bTf InputPrefsView - + 268 YES @@ -7055,6 +7055,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 12 {{13, 10}, {463, 401}} + YES @@ -7079,6 +7080,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{72, 44}, {84, 17}} + YES 68288064 @@ -7095,6 +7097,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{44, 16}, {112, 17}} + YES 68288064 @@ -7111,6 +7114,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{158, 38}, {126, 26}} + YES -2076049856 @@ -7191,6 +7195,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{289, 14}, {96, 22}} + YES -1804468671 @@ -7268,6 +7273,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{63, 72}, {93, 17}} + YES 68288064 @@ -7284,6 +7290,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{158, 66}, {126, 26}} + YES -2076049856 @@ -7351,6 +7358,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{158, 11}, {126, 26}} + YES -2076049856 @@ -7452,10 +7460,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {429, 100}} + {{6, 187}, {431, 116}} + {0, 0} 67239424 @@ -7499,6 +7509,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {100, 38}} + YES 2 1 @@ -7689,10 +7700,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {194, 62}} + {{15, 10}, {196, 78}} + {0, 0} 67239424 @@ -7726,6 +7739,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {150, 38}} + YES 2 1 @@ -7916,10 +7930,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {194, 62}} + {{218, 10}, {196, 78}} + {0, 0} 67239424 @@ -7941,10 +7957,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {429, 98}} + {{6, 69}, {431, 114}} + {0, 0} 67239424 @@ -7966,6 +7984,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{10, 33}, {443, 355}} + Display Views @@ -8566,7 +8585,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - {{74, 81}, {295, 124}} + {{74, 110}, {295, 124}} {0, 0} @@ -8589,7 +8608,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{217, 297}, {152, 26}} + {{217, 318}, {152, 26}} YES @@ -8655,7 +8674,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{74, 303}, {141, 17}} + {{74, 324}, {141, 17}} YES @@ -8671,7 +8690,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{205, 34}, {165, 26}} + {{205, 13}, {165, 26}} YES @@ -8750,7 +8769,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{47, 40}, {156, 17}} + {{47, 19}, {156, 17}} YES @@ -8822,7 +8841,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - {{74, 209}, {295, 74}} + {{74, 238}, {295, 74}} {0, 0} @@ -8842,6 +8861,63 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2 NO + + + 12 + + YES + + + 256 + + YES + + + 268 + {{16, 12}, {223, 18}} + + YES + + 67239424 + 0 + Enable Multisample Antialiasing + + + 1211912703 + 2 + + + + + 200 + 25 + + + + {{1, 1}, {293, 38}} + + + + {{74, 52}, {295, 54}} + + {0, 0} + + 67239424 + 0 + OpenGL Options + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 2 + NO + {{10, 33}, {443, 355}} @@ -8862,6 +8938,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {489, 425} + + NSView @@ -16048,14 +16126,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 279 2 - {{230, 59}, {284, 482}} + {{230, 1}, {284, 540}} -461896704 3D Rendering Settings NSPanel {1.79769e+308, 1.79769e+308} - + 256 YES @@ -16074,6 +16152,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 77}, {206, 18}} + YES -2080244224 @@ -16096,6 +16175,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 57}, {134, 18}} + YES -2080244224 @@ -16118,6 +16198,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 37}, {80, 18}} + YES -2080244224 @@ -16140,6 +16221,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{185, 12}, {45, 19}} + YES -1804468671 @@ -16220,6 +16302,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 14}, {165, 14}} + YES 68288064 @@ -16234,10 +16317,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 103}} + - {{17, 163}, {250, 119}} + {{17, 221}, {250, 119}} + {0, 0} 67239424 @@ -16261,6 +16346,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{65, 18}, {154, 19}} + YES -2080244224 @@ -16291,6 +16377,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {107, 58}} + YES 3 1 @@ -16495,10 +16582,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 82}} + - {{17, 364}, {250, 98}} + {{17, 422}, {250, 98}} + {0, 0} 67239424 @@ -16532,6 +16621,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {120, 78}} + YES 4 1 @@ -16783,10 +16873,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 102}} + {{17, 41}, {250, 118}} + {0, 0} 67239424 @@ -16820,6 +16912,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 32}, {113, 18}} + YES -2080244224 @@ -16842,6 +16935,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 12}, {108, 18}} + YES -2080244224 @@ -16862,10 +16956,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 58}} + - {{17, 286}, {250, 74}} + {{17, 344}, {250, 74}} + {0, 0} 67239424 @@ -16884,8 +16980,70 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2 NO + + + 12 + + YES + + + 256 + + YES + + + 268 + {{16, 12}, {192, 18}} + + + YES + + 67239424 + 131072 + Enable Multisample Antialiasing + + + 1211912703 + 2 + + + + + 200 + 25 + + + + {{1, 1}, {248, 38}} + + + + + {{17, 163}, {250, 54}} + + + {0, 0} + + 67239424 + 0 + OpenGL Options + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 2 + NO + - {284, 482} + {284, 540} + + {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -21207,6 +21365,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA useVerticalSync displayOrientation displayOrder + render3DMultisample YES @@ -30791,6 +30950,46 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 6616 + + + value: selection.render3DMultisample + + + + + + value: selection.render3DMultisample + value + selection.render3DMultisample + 2 + + + 6621 + + + + value: values.Render3D_Multisample + + + + + + value: values.Render3D_Multisample + value + values.Render3D_Multisample + 2 + + + 6625 + + + + change3DRenderMultisample: + + + + 6626 + @@ -35623,12 +35822,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - + + @@ -35790,9 +35990,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - - + + + @@ -42043,6 +42244,52 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + 6617 + + + YES + + + + + + 6618 + + + YES + + + + + + 6619 + + + + + 6622 + + + YES + + + + + + 6623 + + + YES + + + + + + 6624 + + + @@ -44147,6 +44394,16 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 6611.IBPluginDependency 6611.IBViewBoundsToFrameTransform 6612.IBPluginDependency + 6617.IBPluginDependency + 6618.IBAttributePlaceholdersKey + 6618.IBPluginDependency + 6618.IBViewBoundsToFrameTransform + 6619.IBPluginDependency + 6622.IBPluginDependency + 6622.IBViewBoundsToFrameTransform + 6623.IBAttributePlaceholdersKey + 6623.IBPluginDependency + 6624.IBPluginDependency 714.IBEditorWindowLastContentRect 714.IBPluginDependency 714.IBViewBoundsToFrameTransform @@ -44898,7 +45155,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{1040, 623}, {489, 425}} + {{1000, 634}, {489, 425}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -45925,7 +46182,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABBcAAAwpIAAA + P4AAAL+AAABBcAAAwlQAAA com.apple.InterfaceBuilder.CocoaPlugin @@ -45971,9 +46228,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA AUGIAABDIwAAA com.apple.InterfaceBuilder.CocoaPlugin - {{1219, 241}, {284, 482}} + {{1300, 177}, {284, 540}} com.apple.InterfaceBuilder.CocoaPlugin - {{1219, 241}, {284, 482}} + {{1300, 177}, {284, 540}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -45983,7 +46240,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - AUKUAABCwAAAA + AUKUAABC3AAAA com.apple.InterfaceBuilder.CocoaPlugin @@ -46080,7 +46337,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA ToolTip - DeSmuME's internal software 3D rendering engine. Very high CPU usage. Recommended setting. + DeSmuME's internal software 3D rendering engine. Has the best 3D emulation accuracy. Very high CPU usage. Recommended setting. com.apple.InterfaceBuilder.CocoaPlugin @@ -46098,7 +46355,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA P4AAAL+AAABDXAAAw5qAAA com.apple.InterfaceBuilder.CocoaPlugin - {{1269, 906}, {152, 63}} + {{1229, 938}, {152, 63}} com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -46114,7 +46371,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA ToolTip - DeSmuME's internal software 3D rendering engine. Very high CPU usage. Recommended setting. + DeSmuME's internal software 3D rendering engine. Has the best 3D emulation accuracy. Very high CPU usage. Recommended setting. com.apple.InterfaceBuilder.CocoaPlugin @@ -46188,7 +46445,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA ToolTip - Sets the default number of processing threads that SoftRasterizer will use for 3D rendering. This is an option for advanced users. For most cases, it's best to keep this set to Automatic. + Sets the default number of processing threads that DeSmuME will use for 3D rendering. This is an option for advanced users. For most cases, it's best to keep this set to Automatic. com.apple.InterfaceBuilder.CocoaPlugin @@ -46241,7 +46498,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - AUKUAABDXQAAA + AUKUAABDUQAAA ToolTip @@ -48129,7 +48386,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA ToolTip - OpenGL-based 3D rendering engine. Some 3D objects may have better looking texturing, but the geometry may be less accurate. Extremely high CPU usage. + OpenGL-based 3D rendering engine. Some 3D objects may have better looking texturing, but 3D emulation is less accurate overall. Low CPU usage. However, it requires the usage of your GPU. com.apple.InterfaceBuilder.CocoaPlugin @@ -48138,7 +48395,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA ToolTip - OpenGL-based 3D rendering engine. Some 3D objects may have better looking texturing, but the geometry may be less accurate. Extremely high CPU usage. + OpenGL-based 3D rendering engine. Some 3D objects may have better looking texturing, but 3D emulation is less accurate overall. Low CPU usage. However, it requires the usage of your GPU. com.apple.InterfaceBuilder.CocoaPlugin @@ -48418,6 +48675,34 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA P4AAAL+AAABDqwAAwpQAAA com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Smooths the edges of 3D objects using multisample antialiasing (MSAA). No CPU usage. However, it requires additional VRAM from your GPU. + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBgAAAwrAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + AUKUAABCUAAAA + + + ToolTip + + ToolTip + + Smooths the edges of 3D objects using multisample antialiasing (MSAA) by default. No CPU usage. However, it requires additional VRAM from your GPU. + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin {{1191, 651}, {328, 434}} com.apple.InterfaceBuilder.CocoaPlugin @@ -48767,7 +49052,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - 6616 + 6626 @@ -49293,6 +49578,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA change3DRenderHighPrecisionColorInterpolation: change3DRenderLineHack: change3DRenderMethod: + change3DRenderMultisample: change3DRenderTextures: change3DRenderThreads: changeAudioEngine: @@ -49323,9 +49609,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA hudDisable: importRomSave: loadEmuSaveStateSlot: - loadLastRom: - loadReplay: - loadRomToggle: openEmuSaveState: openRom: resetCore: @@ -49338,16 +49621,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA selectScreenshotFileFormat: speedLimitDisable: toggleAutoFrameSkip: - toggleDisplayLayoutSettingsDrawer: toggleGPUState: toggleKeepMinDisplaySizeAtNormal: toggleStatusBar: - toggleVideoOutputSettingsDrawer: writeDefaults3DRenderingSettings: - writeDefaultsComboDisplayLayoutSettings: writeDefaultsDisplayRotation: writeDefaultsEmulationSettings: - writeDefaultsGeneralDisplayLayoutSettings: writeDefaultsHUDSettings: writeDefaultsSoundSettings: writeDefaultsVideoOutputSettings: @@ -49412,12 +49691,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA id id id - id - id - id - id - id - id @@ -49430,6 +49703,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA change3DRenderHighPrecisionColorInterpolation: change3DRenderLineHack: change3DRenderMethod: + change3DRenderMultisample: change3DRenderTextures: change3DRenderThreads: changeAudioEngine: @@ -49460,9 +49734,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA hudDisable: importRomSave: loadEmuSaveStateSlot: - loadLastRom: - loadReplay: - loadRomToggle: openEmuSaveState: openRom: resetCore: @@ -49475,16 +49746,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA selectScreenshotFileFormat: speedLimitDisable: toggleAutoFrameSkip: - toggleDisplayLayoutSettingsDrawer: toggleGPUState: toggleKeepMinDisplaySizeAtNormal: toggleStatusBar: - toggleVideoOutputSettingsDrawer: writeDefaults3DRenderingSettings: - writeDefaultsComboDisplayLayoutSettings: writeDefaultsDisplayRotation: writeDefaultsEmulationSettings: - writeDefaultsGeneralDisplayLayoutSettings: writeDefaultsHUDSettings: writeDefaultsSoundSettings: writeDefaultsVideoOutputSettings: @@ -49515,6 +49782,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA change3DRenderMethod: id + + change3DRenderMultisample: + id + change3DRenderTextures: id @@ -49635,18 +49906,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA loadEmuSaveStateSlot: id - - loadLastRom: - id - - - loadReplay: - id - - - loadRomToggle: - id - openEmuSaveState: id @@ -49695,10 +49954,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA toggleAutoFrameSkip: id - - toggleDisplayLayoutSettingsDrawer: - id - toggleGPUState: id @@ -49711,18 +49966,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA toggleStatusBar: id - - toggleVideoOutputSettingsDrawer: - id - writeDefaults3DRenderingSettings: id - - writeDefaultsComboDisplayLayoutSettings: - id - writeDefaultsDisplayRotation: id @@ -49731,10 +49978,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA writeDefaultsEmulationSettings: id - - writeDefaultsGeneralDisplayLayoutSettings: - id - writeDefaultsHUDSettings: id @@ -49760,7 +50003,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA cheatListController cheatWindowController cheatWindowDelegate - displayLayoutSettingsDrawer displayView emuWindowController exportRomSavePanelAccessoryView @@ -49769,7 +50011,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA saveFileMigrationSheet saveScreenshotPanelAccessoryView saveStatePrecloseSheet - videoOutputSettingsDrawer window @@ -49781,7 +50022,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSArrayController NSObjectController CheatWindowDelegate - NSDrawer NSView NSObjectController NSView @@ -49790,7 +50030,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSWindow NSView NSWindow - NSDrawer NSWindow @@ -49805,7 +50044,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA cheatListController cheatWindowController cheatWindowDelegate - displayLayoutSettingsDrawer displayView emuWindowController exportRomSavePanelAccessoryView @@ -49814,7 +50052,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA saveFileMigrationSheet saveScreenshotPanelAccessoryView saveStatePrecloseSheet - videoOutputSettingsDrawer window @@ -49847,10 +50084,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA cheatWindowDelegate CheatWindowDelegate - - displayLayoutSettingsDrawer - NSDrawer - displayView NSView @@ -49883,10 +50116,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA saveStatePrecloseSheet NSWindow - - videoOutputSettingsDrawer - NSDrawer - window NSWindow @@ -51160,6 +51389,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin.macosx + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 diff --git a/desmume/src/cocoa/userinterface/displayView.h b/desmume/src/cocoa/userinterface/displayView.h index be537c6c5..41ef63f33 100644 --- a/desmume/src/cocoa/userinterface/displayView.h +++ b/desmume/src/cocoa/userinterface/displayView.h @@ -95,6 +95,7 @@ - (void) setRender3DDepthComparisonThreshold:(NSUInteger)threshold; - (void) setRender3DThreads:(NSUInteger)numberThreads; - (void) setRender3DLineHack:(BOOL)state; +- (void) setRender3DMultisample:(BOOL)state; - (void) setViewToBlack; - (void) setViewToWhite; - (void) requestScreenshot:(NSURL *)fileURL fileType:(NSBitmapImageFileType)fileType; diff --git a/desmume/src/cocoa/userinterface/displayView.mm b/desmume/src/cocoa/userinterface/displayView.mm index 404ea8c28..b8d2010e2 100644 --- a/desmume/src/cocoa/userinterface/displayView.mm +++ b/desmume/src/cocoa/userinterface/displayView.mm @@ -171,6 +171,7 @@ CGLContextObj OSXOpenGLRendererContext = NULL; [bindings setValue:[NSNumber numberWithInteger:0] forKey:@"render3DDepthComparisonThreshold"]; [bindings setValue:[NSNumber numberWithInteger:0] forKey:@"render3DThreads"]; [bindings setValue:[NSNumber numberWithBool:YES] forKey:@"render3DLineHack"]; + [bindings setValue:[NSNumber numberWithBool:NO] forKey:@"render3DMultisample"]; return self; } @@ -471,6 +472,12 @@ CGLContextObj OSXOpenGLRendererContext = NULL; [CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_LINE_HACK boolValue:state]; } +- (void) setRender3DMultisample:(BOOL)state +{ + [bindings setValue:[NSNumber numberWithBool:state] forKey:@"render3DMultisample"]; + [CocoaDSUtil messageSendOneWayWithBool:self.sendPortDisplay msgID:MESSAGE_SET_RENDER3D_MULTISAMPLE boolValue:state]; +} + - (void) setViewToBlack { [CocoaDSUtil messageSendOneWay:self.sendPortDisplay msgID:MESSAGE_SET_VIEW_TO_BLACK]; diff --git a/desmume/src/cocoa/userinterface/emuWindowDelegate.h b/desmume/src/cocoa/userinterface/emuWindowDelegate.h index 7ec3754a1..60766d985 100644 --- a/desmume/src/cocoa/userinterface/emuWindowDelegate.h +++ b/desmume/src/cocoa/userinterface/emuWindowDelegate.h @@ -200,6 +200,7 @@ - (IBAction) change3DRenderDepthComparisonThreshold:(id)sender; - (IBAction) change3DRenderThreads:(id)sender; - (IBAction) change3DRenderLineHack:(id)sender; +- (IBAction) change3DRenderMultisample:(id)sender; - (void) setShowStatusBar:(BOOL)showStatusBar; diff --git a/desmume/src/cocoa/userinterface/emuWindowDelegate.mm b/desmume/src/cocoa/userinterface/emuWindowDelegate.mm index c0e157c67..c334efeb3 100644 --- a/desmume/src/cocoa/userinterface/emuWindowDelegate.mm +++ b/desmume/src/cocoa/userinterface/emuWindowDelegate.mm @@ -984,6 +984,11 @@ [dispViewDelegate setRender3DLineHack:[CocoaDSUtil getIBActionSenderButtonStateBool:sender]]; } +- (IBAction) change3DRenderMultisample:(id)sender +{ + [dispViewDelegate setRender3DMultisample:[CocoaDSUtil getIBActionSenderButtonStateBool:sender]]; +} + - (IBAction) hudDisable:(id)sender { if ([dispViewDelegate isHudEnabled]) @@ -2075,6 +2080,7 @@ [[self dispViewDelegate] setRender3DTextures:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Textures"]]; [[self dispViewDelegate] setRender3DDepthComparisonThreshold:(NSUInteger)[[NSUserDefaults standardUserDefaults] integerForKey:@"Render3D_DepthComparisonThreshold"]]; [[self dispViewDelegate] setRender3DLineHack:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_LineHack"]]; + [[self dispViewDelegate] setRender3DMultisample:[[NSUserDefaults standardUserDefaults] boolForKey:@"Render3D_Multisample"]]; } - (IBAction) writeDefaultsDisplayRotation:(id)sender @@ -2113,6 +2119,7 @@ [[NSUserDefaults standardUserDefaults] setInteger:[[dispViewBindings valueForKey:@"render3DDepthComparisonThreshold"] integerValue] forKey:@"Render3D_DepthComparisonThreshold"]; [[NSUserDefaults standardUserDefaults] setInteger:[[dispViewBindings valueForKey:@"render3DThreads"] integerValue] forKey:@"Render3D_Threads"]; [[NSUserDefaults standardUserDefaults] setBool:[[dispViewBindings valueForKey:@"render3DLineHack"] boolValue] forKey:@"Render3D_LineHack"]; + [[NSUserDefaults standardUserDefaults] setBool:[[dispViewBindings valueForKey:@"render3DMultisample"] boolValue] forKey:@"Render3D_Multisample"]; } - (IBAction) writeDefaultsEmulationSettings:(id)sender