From 8fd2f554fc3148da64664011ecbb5ee7388333e9 Mon Sep 17 00:00:00 2001 From: Riley Testut Date: Wed, 13 Jan 2016 13:29:52 -0800 Subject: [PATCH] Adds support for toggling Fast Forward from pause menu --- Cores/DeltaCore | 2 +- Cores/SNESDeltaCore | 2 +- Delta/Emulation/EmulationViewController.swift | 14 ++++++---- .../Assets.xcassets/Pause Icons/Contents.json | 6 ++++ .../FastForward.imageset/Contents.json | 26 ++++++++++++++++++ .../FastForward.imageset/FastForward.png | Bin 0 -> 884 bytes .../FastForward.imageset/FastForward@2x.png | Bin 0 -> 1242 bytes .../FastForward.imageset/FastForward@3x.png | Bin 0 -> 1813 bytes .../Pause.imageset/Contents.json | 0 .../Pause.imageset/Pause.png | Bin .../Pause.imageset/Pause@2x.png | Bin .../Pause.imageset/Pause@3x.png | Bin .../SmallPause.imageset/Contents.json | 0 .../SmallPause.imageset/SmallPause.png | Bin .../SmallPause.imageset/SmallPause@2x.png | Bin .../SmallPause.imageset/SmallPause@3x.png | Bin 16 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 Resources/Assets.xcassets/Pause Icons/Contents.json create mode 100644 Resources/Assets.xcassets/Pause Icons/FastForward.imageset/Contents.json create mode 100644 Resources/Assets.xcassets/Pause Icons/FastForward.imageset/FastForward.png create mode 100644 Resources/Assets.xcassets/Pause Icons/FastForward.imageset/FastForward@2x.png create mode 100644 Resources/Assets.xcassets/Pause Icons/FastForward.imageset/FastForward@3x.png rename Resources/Assets.xcassets/{ => Pause Icons}/Pause.imageset/Contents.json (100%) rename Resources/Assets.xcassets/{ => Pause Icons}/Pause.imageset/Pause.png (100%) rename Resources/Assets.xcassets/{ => Pause Icons}/Pause.imageset/Pause@2x.png (100%) rename Resources/Assets.xcassets/{ => Pause Icons}/Pause.imageset/Pause@3x.png (100%) rename Resources/Assets.xcassets/{ => Pause Icons}/SmallPause.imageset/Contents.json (100%) rename Resources/Assets.xcassets/{ => Pause Icons}/SmallPause.imageset/SmallPause.png (100%) rename Resources/Assets.xcassets/{ => Pause Icons}/SmallPause.imageset/SmallPause@2x.png (100%) rename Resources/Assets.xcassets/{ => Pause Icons}/SmallPause.imageset/SmallPause@3x.png (100%) diff --git a/Cores/DeltaCore b/Cores/DeltaCore index 08b0e43..76cd963 160000 --- a/Cores/DeltaCore +++ b/Cores/DeltaCore @@ -1 +1 @@ -Subproject commit 08b0e43293282cf92ba7a2838dc1b1e2cc7fbdae +Subproject commit 76cd9633d0ad97c4a422787fcc5f2cc5060e6199 diff --git a/Cores/SNESDeltaCore b/Cores/SNESDeltaCore index ab500a8..f4e2781 160000 --- a/Cores/SNESDeltaCore +++ b/Cores/SNESDeltaCore @@ -1 +1 @@ -Subproject commit ab500a88abf285393b5498b0d2cda594a6f2a1e2 +Subproject commit f4e27814258993234883fbca040ea66dc1d9609e diff --git a/Delta/Emulation/EmulationViewController.swift b/Delta/Emulation/EmulationViewController.swift index cdfebf3..7ddd159 100644 --- a/Delta/Emulation/EmulationViewController.swift +++ b/Delta/Emulation/EmulationViewController.swift @@ -147,12 +147,16 @@ class EmulationViewController: UIViewController let dismissAction: (PauseItem -> Void) = { item in pauseViewController.dismiss() } + + let saveStateItem = PauseItem(image: UIImage(named: "SmallPause")!, text: NSLocalizedString("Save State", comment: ""), action: dismissAction) + let loadStateItem = PauseItem(image: UIImage(named: "SmallPause")!, text: NSLocalizedString("Load State", comment: ""), action: dismissAction) + let cheatCodesItem = PauseItem(image: UIImage(named: "SmallPause")!, text: NSLocalizedString("Cheat Codes", comment: ""), action: dismissAction) + let sustainButtonItem = PauseItem(image: UIImage(named: "SmallPause")!, text: NSLocalizedString("Sustain Button", comment: ""), action: dismissAction) - let saveStateItem = PauseItem(image: UIImage(named: "SmallPause")!, text: "Save State", action: dismissAction) - let loadStateItem = PauseItem(image: UIImage(named: "SmallPause")!, text: "Load State", action: dismissAction) - let cheatCodesItem = PauseItem(image: UIImage(named: "SmallPause")!, text: "Cheat Codes", action: dismissAction) - let fastForwardItem = PauseItem(image: UIImage(named: "SmallPause")!, text: "Fast Forward", action: dismissAction) - let sustainButtonItem = PauseItem(image: UIImage(named: "SmallPause")!, text: "Sustain Button", action: dismissAction) + var fastForwardItem = PauseItem(image: UIImage(named: "FastForward")!, text: NSLocalizedString("Fast Forward", comment: ""), action: { [weak self] item in + self?.emulatorCore.fastForwarding = item.selected + }) + fastForwardItem.selected = self.emulatorCore.fastForwarding pauseViewController.items = [saveStateItem, loadStateItem, cheatCodesItem, fastForwardItem, sustainButtonItem] } diff --git a/Resources/Assets.xcassets/Pause Icons/Contents.json b/Resources/Assets.xcassets/Pause Icons/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Resources/Assets.xcassets/Pause Icons/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Resources/Assets.xcassets/Pause Icons/FastForward.imageset/Contents.json b/Resources/Assets.xcassets/Pause Icons/FastForward.imageset/Contents.json new file mode 100644 index 0000000..f4f1d3c --- /dev/null +++ b/Resources/Assets.xcassets/Pause Icons/FastForward.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "FastForward.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "FastForward@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "FastForward@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "template" + } +} \ No newline at end of file diff --git a/Resources/Assets.xcassets/Pause Icons/FastForward.imageset/FastForward.png b/Resources/Assets.xcassets/Pause Icons/FastForward.imageset/FastForward.png new file mode 100644 index 0000000000000000000000000000000000000000..b871621ca3b089d64b474d7192d8fd2071d1e6cb GIT binary patch literal 884 zcmeAS@N?(olHy`uVBq!ia0vp^DnKm8!3HE(Y_hWhQY`6?zK#qG8~eHcB(gFvFh*vE zM3hAM`dB6B=jtV<RtPXT0ZVp4u- ziLH_n$Rap^xU(cP4PjGWG1OZ?59)(t^bPe4^x#Frq*Yw7(?dk4 z)oJm?jErrI7GBaU4O#J`q(nu?N=tRFpX<_~OcN2QR;NV*PA-3H&3~)SoM~=feoaOF z^Rsi7&*#?8zBAKpv0b0W*XyTWozgm!X&UYLr?r@0P4tdHYWpMp8?3g9PMN+;ocj)n zy{szWfHvH+C`vX4z>8z413DZ+;?D?;H zYob^DY@U@R`wnDEY!UXj_mxZR%=$+^?>qA>eZIx|iTD1NBTM6-$xaqMy<)C@NuS-V z#a>LUyDB^telE&ZxOvpH@yVRqYzvG1q&;fSJ!LxSo4|F%O>e>-mTwKe)FyD1^aQ?J zH-+mRtPXT0ZVp4u- ziLH_n$Rap^xU(cP4PjGWG1OZ?59)(t^bPe4^x3JD>)v#F|THJ%|Em! zs8Cno)tv)XsuNd+#uw zO{ZVw(XJ+yzB=Y=mea9;4J!^Vo#(ACS~!38b0x-1yJ;#y+d#6KqTd-@c-ML^;Z`^} zYt{2A#zk$@R4$1Mxb_7X`a4twgnpf4_4UiD=YEV5-mUYJv)Aw*yZcp3L-6$1UyT{_ z6NFw%?J>AfzU6n!r7)%HO0k{Sg%Y!Cjuy={o%sE~rW^C4>#rnp_N=OAdUUGRW=8G7 z_6&ob|BPkDZr=J1rptdfUdeFKH@tOe^{osCpSQm^%=)!~TS1QRJ)hgGe*&Bx?T2q) zK0NKeX%cIp@SY$IMXn2i$I5@6ZB$<{&G&-zgyYfY4sQO+bY&N371JZZLr+EBy-skQ z0P+}SSvxKHoU?B`!>1c8Ya6EZ37ieM)VH=_2WOlQv+2EPhNpc3y_4GRW-%5D*BJ05 z{<^}n;tNNj(6V!;4aZ8SBt_KdE?8xCO3A0zo53}&X=y`LpTMleC!aI8<~OM}MD+`( z8NAxVvf{Yf4we&DEf-{b>$n2W`xfv`I4*dI#cl5KhOAc_M>qV?bjT~6;yU9O*M+Fr z30x=k_FYoZo!4;f4hyTsBaVqri_~sEdhhR6@!@yW1+zsbEm@wPs{C=@y~j}cGk=Gq V)Z+BFUfb4}o-wtykDE2m~6L62aoL=toH> zxakCT0yjR9AWY8$i4X``NCLz3L_QlUOi#<;k%Sc7CW8dV8!&*wZc_Lh3XVk&!v=D* z6S3X|FTw$w4+4wDlCu*|lESHnx6;8A1((d{XOaLwAP^7)o&;`o65viG5`hCAfQJVj zWZ-!@8GN=7pTXPnM&u72Y9jAMc1k8cg`0uh&}GMSKj%|$xDBJX<4v9Xl#~B;%HVCa z1vUt5+yL%`1HfBtFqOQ4k{H=3iJ$iUlY z^FbU{?u&##U`ZiV{|F&;tnS0vq(J)tL3Jhd{o>*TYm^fT)zHvs^Ifuxj5zXKV&^38 zzoc~~J2fhH!yMkTaez6%U@#O48Gu99Rq8cVm)<;{riV9A@#LM{N9@%f9=4L~D7HihxJI+^2QTLS+Tmrq}#5-hZZF z6yN1+8H&beMQh0r$381BiZ6SqcuGD!Uc&SE9_K!B=N^)10c(d%=-O{G9~j!ZuL~vw|PKk z^{#9;|G8R|`E7V?-nSmG>#X-4>DapYs`@@d79e4 z-+xbTL@O5!$0wgo14A*)N9<9`a6!rHKhHDfy4VEKJK8!XXx{TDxFsbTc+^~ zl+|GIsSiwcqRDeE_w=n8gZ=2g#ky41gw-6)MIs$mi<$&Cbp)kRBCV`dr_RvS$*g!Q z4b6q!Eyb@4*4q4%XZ1TxovP}}NcX++#m%!ptAm=-dC{aUo+FoAWZL+K%c7(6TF1x4 zM+2fLoMj3A-HUqF1992|*$nXo%_mrBkhHyfj&*feGV^jb1Mt0a{HE@Htw}<0@}_*e zI#^eV4}3&!d;EO$n3tD!Po4t*_ugCL(<28GQzvMI*iXOj?G`1RJvGzUf-&r3&Y2{A zwP!vQRASy~VV7O1#hl+>`nqdbf&@)lM3c_S?$gxDw%IF2BQzZ8r)_C+9Bu94IXJu4lhygcsp|LB2rS~2;rwobF&FnJH8O-_e)4B-X#c*8Z!<=_Q zM>oM{hh`1p!q;*^?tYMk*nmP`e4Vb16`9-|f=PxgwU#u)vu1V1^qMkBl_qK|q z^+2FTO9^TS1*(RLCRF3&X{d1r{~-~D=#Jvame$NhSLzgP{^PJkw326eD=K?>{D*d} zMTaUCR=WhnNAY@<0sE`yK5^R>9^+>GYTM+|+B*)8sk|ST3yF|B`ScMKW~9-(dcT`$ zGII&agPb!&)i?Xp2XP3;S+X0y&6`g_+?Krk@LSN!DcQs(B(3M<`&Fo8+B<$7%Bsmd zmajk;CO)&~w{1C)54D;$99BLVY1_(ubbGWPeizD`>M6`!E_7_`jbXF#-xv$^NP52C z{l{c=QLdq|4(f{ScdDB5sfS;7P(6X`;yV6vv_PRL+eDh#-uZsE+ZuvDpdH7InEzlA zQJ}a+-hL?}P!_Em9fRwB_1!Hq7VgYJM|7SF%i9U6_Z%b3Q)bX0%GhD5YmF4tbl?Y& zx8X702xi;&jw}Qdg=taKjH0VVkSyMjF%EC~q|_arK4+dAQxukP8>xot3hDJP%%9CN zI|6NfyW6jIT3{FWiLWt7q+pd_hb35orMz}7pIvfQb^hdhzkRJh;gr7)Wjv|-)I~gh QcH{R72@0jQ2gDWq2cU5