From 7b0a383ad0df2908a768f124e19016441836768e Mon Sep 17 00:00:00 2001 From: Diego Waxemberg Date: Mon, 29 Dec 2014 10:51:09 -0500 Subject: [PATCH] added L1/L2, R1/R2, Start, and Select buttons to on-screen controls --- .../Images.xcassets/L1.imageset/Contents.json | 23 +++ .../Images.xcassets/L1.imageset/L1-1.png | Bin 0 -> 8138 bytes .../Images.xcassets/L1.imageset/L1-2.png | Bin 0 -> 8138 bytes Limelight/Images.xcassets/L1.imageset/L1.png | Bin 0 -> 8138 bytes .../Images.xcassets/L2.imageset/Contents.json | 23 +++ .../Images.xcassets/L2.imageset/L2-1.png | Bin 0 -> 10215 bytes .../Images.xcassets/L2.imageset/L2-2.png | Bin 0 -> 10215 bytes Limelight/Images.xcassets/L2.imageset/L2.png | Bin 0 -> 10215 bytes .../Images.xcassets/R1.imageset/Contents.json | 23 +++ .../Images.xcassets/R1.imageset/R1-1.png | Bin 0 -> 10446 bytes .../Images.xcassets/R1.imageset/R1-2.png | Bin 0 -> 10446 bytes Limelight/Images.xcassets/R1.imageset/R1.png | Bin 0 -> 10446 bytes .../Images.xcassets/R2.imageset/Contents.json | 23 +++ .../Images.xcassets/R2.imageset/R2-1.png | Bin 0 -> 11860 bytes .../Images.xcassets/R2.imageset/R2-2.png | Bin 0 -> 11860 bytes Limelight/Images.xcassets/R2.imageset/R2.png | Bin 0 -> 11860 bytes .../SelectButton.imageset/Contents.json | 23 +++ .../SelectButton.imageset/select_button-1.png | Bin 0 -> 735 bytes .../SelectButton.imageset/select_button-2.png | Bin 0 -> 735 bytes .../SelectButton.imageset/select_button.png | Bin 0 -> 735 bytes .../StartButton.imageset/Contents.json | 23 +++ .../StartButton.imageset/start_button-1.png | Bin 0 -> 774 bytes .../StartButton.imageset/start_button-2.png | Bin 0 -> 774 bytes .../StartButton.imageset/start_button.png | Bin 0 -> 774 bytes Limelight/Input/OnScreenControls.m | 150 +++++++++++++----- 25 files changed, 248 insertions(+), 40 deletions(-) create mode 100644 Limelight/Images.xcassets/L1.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/L1.imageset/L1-1.png create mode 100644 Limelight/Images.xcassets/L1.imageset/L1-2.png create mode 100644 Limelight/Images.xcassets/L1.imageset/L1.png create mode 100644 Limelight/Images.xcassets/L2.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/L2.imageset/L2-1.png create mode 100644 Limelight/Images.xcassets/L2.imageset/L2-2.png create mode 100644 Limelight/Images.xcassets/L2.imageset/L2.png create mode 100644 Limelight/Images.xcassets/R1.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/R1.imageset/R1-1.png create mode 100644 Limelight/Images.xcassets/R1.imageset/R1-2.png create mode 100644 Limelight/Images.xcassets/R1.imageset/R1.png create mode 100644 Limelight/Images.xcassets/R2.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/R2.imageset/R2-1.png create mode 100644 Limelight/Images.xcassets/R2.imageset/R2-2.png create mode 100644 Limelight/Images.xcassets/R2.imageset/R2.png create mode 100644 Limelight/Images.xcassets/SelectButton.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/SelectButton.imageset/select_button-1.png create mode 100644 Limelight/Images.xcassets/SelectButton.imageset/select_button-2.png create mode 100644 Limelight/Images.xcassets/SelectButton.imageset/select_button.png create mode 100644 Limelight/Images.xcassets/StartButton.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/StartButton.imageset/start_button-1.png create mode 100644 Limelight/Images.xcassets/StartButton.imageset/start_button-2.png create mode 100644 Limelight/Images.xcassets/StartButton.imageset/start_button.png diff --git a/Limelight/Images.xcassets/L1.imageset/Contents.json b/Limelight/Images.xcassets/L1.imageset/Contents.json new file mode 100644 index 0000000..a22f6eb --- /dev/null +++ b/Limelight/Images.xcassets/L1.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "L1-1.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "L1.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "L1-2.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Limelight/Images.xcassets/L1.imageset/L1-1.png b/Limelight/Images.xcassets/L1.imageset/L1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..925cad3ade8988e693b1bef1c03d1dbd87c05400 GIT binary patch literal 8138 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 literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/R1.imageset/R1-2.png b/Limelight/Images.xcassets/R1.imageset/R1-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ae2881f566374b9301b0bf3d315ec42e5236de GIT binary patch literal 10446 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 literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/R1.imageset/R1.png b/Limelight/Images.xcassets/R1.imageset/R1.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ae2881f566374b9301b0bf3d315ec42e5236de GIT binary patch literal 10446 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 literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/R2.imageset/Contents.json b/Limelight/Images.xcassets/R2.imageset/Contents.json new file mode 100644 index 0000000..fac4fd2 --- /dev/null +++ b/Limelight/Images.xcassets/R2.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "R2-1.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "R2.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "R2-2.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Limelight/Images.xcassets/R2.imageset/R2-1.png b/Limelight/Images.xcassets/R2.imageset/R2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5cabf1e3826ecba47b77220ff61977553db214fb GIT binary patch literal 11860 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 BSL*-( literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/R2.imageset/R2-2.png b/Limelight/Images.xcassets/R2.imageset/R2-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5cabf1e3826ecba47b77220ff61977553db214fb GIT binary patch literal 11860 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 BSL*-( literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/R2.imageset/R2.png b/Limelight/Images.xcassets/R2.imageset/R2.png new file mode 100644 index 0000000000000000000000000000000000000000..5cabf1e3826ecba47b77220ff61977553db214fb GIT binary patch literal 11860 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 BSL*-( literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/SelectButton.imageset/Contents.json b/Limelight/Images.xcassets/SelectButton.imageset/Contents.json new file mode 100644 index 0000000..c587132 --- /dev/null +++ b/Limelight/Images.xcassets/SelectButton.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "select_button-1.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "select_button.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "select_button-2.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Limelight/Images.xcassets/SelectButton.imageset/select_button-1.png b/Limelight/Images.xcassets/SelectButton.imageset/select_button-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4969cdd335d7551bfe0790ae6109979d3cd51231 GIT binary patch literal 735 zcmV<50wDc~P)VR`kyMKJY=kdwBJp&-uRZy~8U>EF2EUBag?k$0A0! z-R>vs^(ojMGY3;2DwLO-d+)wSX`P0}uuv z48j0}0SJRI0AT>aAPhhlfG`MKA6~Ebna}5YZl+=cgFz(_2)u+a4efUO$3z!{!C=VG z_xt_pi6Ba)(g(^J4u`k&`4~*Xv)6E_yT? zsoN5^D9_fyNDN&hNzooJm&>2@!q~s=M%2zK!ivRWRg`nZg6Gw0wJ-d5I2=B>U?FO= zP$*Pw(IxT=9*@WOqMS_%<2k)v?|hZtZyRBaM&rA-JGo>L3WXFSVe`7O|LGD>S~uOOn--SK<=%@XArQ92Y*A5^xB4zIo6Q!q{A-tJ)J`Ii zIN~|+c>Fblt$5eATCMiB#;~6(Aj|+Z8~m6`rSe8aVB_1jZ3)xQ5{YKB*|NPbR_NcN zu_cqq94{Kf`12YUW)%E}nD^{NHxA{KItkwev0}uvb0Kx!-K^TBA0AUaYAPhj*t_s7p zMb?2_Ve29bG2Oa|Hk`utMdpVb{oT>c>2yBc`?J*>iepY<DO=WiC)oM=~@;Zewp`Wpbzn Rf9?PP002ovPDHLkV1nKySyli5 literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/SelectButton.imageset/select_button-2.png b/Limelight/Images.xcassets/SelectButton.imageset/select_button-2.png new file mode 100644 index 0000000000000000000000000000000000000000..4969cdd335d7551bfe0790ae6109979d3cd51231 GIT binary patch literal 735 zcmV<50wDc~P)VR`kyMKJY=kdwBJp&-uRZy~8U>EF2EUBag?k$0A0! z-R>vs^(ojMGY3;2DwLO-d+)wSX`P0}uuv z48j0}0SJRI0AT>aAPhhlfG`MKA6~Ebna}5YZl+=cgFz(_2)u+a4efUO$3z!{!C=VG z_xt_pi6Ba)(g(^J4u`k&`4~*Xv)6E_yT? zsoN5^D9_fyNDN&hNzooJm&>2@!q~s=M%2zK!ivRWRg`nZg6Gw0wJ-d5I2=B>U?FO= zP$*Pw(IxT=9*@WOqMS_%<2k)v?|hZtZyRBaM&rA-JGo>L3WXFSVe`7O|LGD>S~uOOn--SK<=%@XArQ92Y*A5^xB4zIo6Q!q{A-tJ)J`Ii zIN~|+c>Fblt$5eATCMiB#;~6(Aj|+Z8~m6`rSe8aVB_1jZ3)xQ5{YKB*|NPbR_NcN zu_cqq94{Kf`12YUW)%E}nD^{NHxA{KItkwev0}uvb0Kx!-K^TBA0AUaYAPhj*t_s7p zMb?2_Ve29bG2Oa|Hk`utMdpVb{oT>c>2yBc`?J*>iepY<DO=WiC)oM=~@;Zewp`Wpbzn Rf9?PP002ovPDHLkV1nKySyli5 literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/SelectButton.imageset/select_button.png b/Limelight/Images.xcassets/SelectButton.imageset/select_button.png new file mode 100644 index 0000000000000000000000000000000000000000..4969cdd335d7551bfe0790ae6109979d3cd51231 GIT binary patch literal 735 zcmV<50wDc~P)VR`kyMKJY=kdwBJp&-uRZy~8U>EF2EUBag?k$0A0! z-R>vs^(ojMGY3;2DwLO-d+)wSX`P0}uuv z48j0}0SJRI0AT>aAPhhlfG`MKA6~Ebna}5YZl+=cgFz(_2)u+a4efUO$3z!{!C=VG z_xt_pi6Ba)(g(^J4u`k&`4~*Xv)6E_yT? zsoN5^D9_fyNDN&hNzooJm&>2@!q~s=M%2zK!ivRWRg`nZg6Gw0wJ-d5I2=B>U?FO= zP$*Pw(IxT=9*@WOqMS_%<2k)v?|hZtZyRBaM&rA-JGo>L3WXFSVe`7O|LGD>S~uOOn--SK<=%@XArQ92Y*A5^xB4zIo6Q!q{A-tJ)J`Ii zIN~|+c>Fblt$5eATCMiB#;~6(Aj|+Z8~m6`rSe8aVB_1jZ3)xQ5{YKB*|NPbR_NcN zu_cqq94{Kf`12YUW)%E}nD^{NHxA{KItkwev0}uvb0Kx!-K^TBA0AUaYAPhj*t_s7p zMb?2_Ve29bG2Oa|Hk`utMdpVb{oT>c>2yBc`?J*>iepY<DO=WiC)oM=~@;Zewp`Wpbzn Rf9?PP002ovPDHLkV1nKySyli5 literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/StartButton.imageset/Contents.json b/Limelight/Images.xcassets/StartButton.imageset/Contents.json new file mode 100644 index 0000000..bdd774e --- /dev/null +++ b/Limelight/Images.xcassets/StartButton.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x", + "filename" : "start_button-1.png" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "start_button.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "start_button-2.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Limelight/Images.xcassets/StartButton.imageset/start_button-1.png b/Limelight/Images.xcassets/StartButton.imageset/start_button-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c60040457700a5e25c1482a940fe952786014d65 GIT binary patch literal 774 zcmV+h1Nr=kP)up<`^cJv(%0kzMdqf&_Yy0#k?rkxasn zV3$%`4N}*x3Z)s_j5RSm-t3!w5c%-?gAdBg_#S>g&U^DbjG~aT*=*NbF4qpJJ&M!m zyh&bff&a&E2WubH4Rxe&vTh)x&Bozy#Mjcun_UEA8ELx;E`Qd#OezS%T0j_t0SE&S z24Mig0E9spfG_}I5C$L&Kp2GmJKS#fzSrx$4JjKgtkr70xzN;XHk;GFTCMi-!k|1J z&pv;=Mx)VWeW6fD)t+xUou2C*hn|a#F>~In5LT&Fp6i9NSS*%igX8-?l9ClhtKaYU zAnX#T82aTWlgSspy-+AT)sD?%GLKkTqT}UqxsoiX zwOai!8Y>gra=H9Y`>WOJ3pTb~F4v5N1p_geDrRT)RzEniaGK3#OE$Q8Jbq}jsuNuj$$f8inGgv3do}nZ zkw_fs2_yHQhHP-%ZubN08;wR|9@d^tr;qi71%tu6+GRb2380~gW<)ZXJdzELo0YFc zeS^W^Otk1YCB?@1e7-vnCV)JDP4r|Hi^XTMzw}fpb;R2Je*b~?bJ`W4o-khQcs%|L zVG=~6(fjzX5dYRg7=SPUVGsr&3_uu!0SE&S24Mig0EBI)Fl<|79jGg8U1TBFTNlv{ zr?7p|=0hF*+0o5zw_o4+wbdKK*-ZARBkJlW>zOpR3VB!20000jbVXQnQ*UN;cVTj6 z0AhJAVr*}3WMp|RV{&KQKGBibQV{c?-a;OG>?f?J)07*qoM6N<$ Ef)O!d7XSbN literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/StartButton.imageset/start_button-2.png b/Limelight/Images.xcassets/StartButton.imageset/start_button-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c60040457700a5e25c1482a940fe952786014d65 GIT binary patch literal 774 zcmV+h1Nr=kP)up<`^cJv(%0kzMdqf&_Yy0#k?rkxasn zV3$%`4N}*x3Z)s_j5RSm-t3!w5c%-?gAdBg_#S>g&U^DbjG~aT*=*NbF4qpJJ&M!m zyh&bff&a&E2WubH4Rxe&vTh)x&Bozy#Mjcun_UEA8ELx;E`Qd#OezS%T0j_t0SE&S z24Mig0E9spfG_}I5C$L&Kp2GmJKS#fzSrx$4JjKgtkr70xzN;XHk;GFTCMi-!k|1J z&pv;=Mx)VWeW6fD)t+xUou2C*hn|a#F>~In5LT&Fp6i9NSS*%igX8-?l9ClhtKaYU zAnX#T82aTWlgSspy-+AT)sD?%GLKkTqT}UqxsoiX zwOai!8Y>gra=H9Y`>WOJ3pTb~F4v5N1p_geDrRT)RzEniaGK3#OE$Q8Jbq}jsuNuj$$f8inGgv3do}nZ zkw_fs2_yHQhHP-%ZubN08;wR|9@d^tr;qi71%tu6+GRb2380~gW<)ZXJdzELo0YFc zeS^W^Otk1YCB?@1e7-vnCV)JDP4r|Hi^XTMzw}fpb;R2Je*b~?bJ`W4o-khQcs%|L zVG=~6(fjzX5dYRg7=SPUVGsr&3_uu!0SE&S24Mig0EBI)Fl<|79jGg8U1TBFTNlv{ zr?7p|=0hF*+0o5zw_o4+wbdKK*-ZARBkJlW>zOpR3VB!20000jbVXQnQ*UN;cVTj6 z0AhJAVr*}3WMp|RV{&KQKGBibQV{c?-a;OG>?f?J)07*qoM6N<$ Ef)O!d7XSbN literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/StartButton.imageset/start_button.png b/Limelight/Images.xcassets/StartButton.imageset/start_button.png new file mode 100644 index 0000000000000000000000000000000000000000..c60040457700a5e25c1482a940fe952786014d65 GIT binary patch literal 774 zcmV+h1Nr=kP)up<`^cJv(%0kzMdqf&_Yy0#k?rkxasn zV3$%`4N}*x3Z)s_j5RSm-t3!w5c%-?gAdBg_#S>g&U^DbjG~aT*=*NbF4qpJJ&M!m zyh&bff&a&E2WubH4Rxe&vTh)x&Bozy#Mjcun_UEA8ELx;E`Qd#OezS%T0j_t0SE&S z24Mig0E9spfG_}I5C$L&Kp2GmJKS#fzSrx$4JjKgtkr70xzN;XHk;GFTCMi-!k|1J z&pv;=Mx)VWeW6fD)t+xUou2C*hn|a#F>~In5LT&Fp6i9NSS*%igX8-?l9ClhtKaYU zAnX#T82aTWlgSspy-+AT)sD?%GLKkTqT}UqxsoiX zwOai!8Y>gra=H9Y`>WOJ3pTb~F4v5N1p_geDrRT)RzEniaGK3#OE$Q8Jbq}jsuNuj$$f8inGgv3do}nZ zkw_fs2_yHQhHP-%ZubN08;wR|9@d^tr;qi71%tu6+GRb2380~gW<)ZXJdzELo0YFc zeS^W^Otk1YCB?@1e7-vnCV)JDP4r|Hi^XTMzw}fpb;R2Je*b~?bJ`W4o-khQcs%|L zVG=~6(fjzX5dYRg7=SPUVGsr&3_uu!0SE&S24Mig0EBI)Fl<|79jGg8U1TBFTNlv{ zr?7p|=0hF*+0o5zw_o4+wbdKK*-ZARBkJlW>zOpR3VB!20000jbVXQnQ*UN;cVTj6 z0AhJAVr*}3WMp|RV{&KQKGBibQV{c?-a;OG>?f?J)07*qoM6N<$ Ef)O!d7XSbN literal 0 HcmV?d00001 diff --git a/Limelight/Input/OnScreenControls.m b/Limelight/Input/OnScreenControls.m index a00cc74..825d0ad 100644 --- a/Limelight/Input/OnScreenControls.m +++ b/Limelight/Input/OnScreenControls.m @@ -23,6 +23,12 @@ CALayer* _rightButton; CALayer* _leftStick; CALayer* _rightStick; + CALayer* _startButton; + CALayer* _selectButton; + CALayer* _r1Button; + CALayer* _r2Button; + CALayer* _l1Button; + CALayer* _l2Button; short buttonFlags; short leftStickX, leftStickY; @@ -54,21 +60,57 @@ static float LS_CENTER_Y; static float RS_CENTER_X; static float RS_CENTER_Y; +static const float START_WIDTH = 50; +static const float START_HEIGHT = 30; +static float START_X; +static float START_Y; + +static const float SELECT_WIDTH = 50; +static const float SELECT_HEIGHT = 30; +static float SELECT_X; +static float SELECT_Y; + +static const float BUMPER_SIZE = 70; +static const float TRIGGER_SIZE = 80; + +static float R1_X; +static float R1_Y; +static float R2_X; +static float R2_Y; +static float L1_X; +static float L1_Y; +static float L2_X; +static float L2_Y; + - (id) initWithView:(UIView*)view { self = [self init]; _view = view; shouldDrawControls = YES; D_PAD_CENTER_X = _view.frame.size.width * .15; - D_PAD_CENTER_Y = _view.frame.size.height * .5; + D_PAD_CENTER_Y = _view.frame.size.height * .55; BUTTON_CENTER_X = _view.frame.size.width * .85; - BUTTON_CENTER_Y = _view.frame.size.height * .5; + BUTTON_CENTER_Y = _view.frame.size.height * .55; LS_CENTER_X = _view.frame.size.width * .35; LS_CENTER_Y = _view.frame.size.height * .75; RS_CENTER_X = _view.frame.size.width * .65; RS_CENTER_Y = _view.frame.size.height * .75; + START_X = _view.frame.size.width * .55; + START_Y = _view.frame.size.height * .1; + SELECT_X = _view.frame.size.width * .45; + SELECT_Y = _view.frame.size.height * .1; + + L1_X = _view.frame.size.width * .15; + L1_Y = _view.frame.size.height * .25; + L2_X = _view.frame.size.width * .15; + L2_Y = _view.frame.size.height * .1; + R1_X = _view.frame.size.width * .85; + R1_Y = _view.frame.size.height * .25; + R2_X = _view.frame.size.width * .85; + R2_Y = _view.frame.size.height * .1; + [self drawButtons]; [self drawSticks]; return self; @@ -77,8 +119,9 @@ static float RS_CENTER_Y; - (void) drawButtons { // create A button _aButton = [CALayer layer]; - _aButton.frame = CGRectMake(BUTTON_CENTER_X - BUTTON_SIZE / 2, BUTTON_CENTER_Y + BUTTON_DIST, BUTTON_SIZE, BUTTON_SIZE); _aButton.contents = (id) [UIImage imageNamed:@"AButton"].CGImage; + _aButton.frame = CGRectMake(BUTTON_CENTER_X - BUTTON_SIZE / 2, BUTTON_CENTER_Y + BUTTON_DIST, BUTTON_SIZE, BUTTON_SIZE); + [_view.layer addSublayer:_aButton]; // create B button @@ -122,6 +165,42 @@ static float RS_CENTER_Y; _leftButton.frame = CGRectMake(D_PAD_CENTER_X - D_PAD_DIST - D_PAD_LONG, D_PAD_CENTER_Y - D_PAD_SHORT / 2, D_PAD_LONG, D_PAD_SHORT); _leftButton.contents = (id) [UIImage imageNamed:@"LeftButton"].CGImage; [_view.layer addSublayer:_leftButton]; + + // create Start button + _startButton = [CALayer layer]; + _startButton.frame = CGRectMake(START_X - START_WIDTH / 2, START_Y - START_HEIGHT / 2, START_WIDTH, START_HEIGHT); + _startButton.contents = (id) [UIImage imageNamed:@"StartButton"].CGImage; + [_view.layer addSublayer:_startButton]; + + // create Select button + _selectButton = [CALayer layer]; + _selectButton.frame = CGRectMake(SELECT_X - SELECT_WIDTH / 2, SELECT_Y - SELECT_HEIGHT / 2, SELECT_WIDTH, SELECT_HEIGHT); + _selectButton.contents = (id) [UIImage imageNamed:@"SelectButton"].CGImage; + [_view.layer addSublayer:_selectButton]; + + // create L1 button + _l1Button = [CALayer layer]; + _l1Button.frame = CGRectMake(L1_X - BUMPER_SIZE / 2, L1_Y - BUMPER_SIZE / 2, BUMPER_SIZE, BUMPER_SIZE); + _l1Button.contents = (id) [UIImage imageNamed:@"L1"].CGImage; + [_view.layer addSublayer:_l1Button]; + + // create L2 button + _l2Button = [CALayer layer]; + _l2Button.frame = CGRectMake(L2_X - TRIGGER_SIZE / 2, L2_Y - TRIGGER_SIZE / 2, TRIGGER_SIZE, TRIGGER_SIZE); + _l2Button.contents = (id) [UIImage imageNamed:@"L2"].CGImage; + [_view.layer addSublayer:_l2Button]; + + // create R1 button + _r1Button = [CALayer layer]; + _r1Button.frame = CGRectMake(R1_X - BUMPER_SIZE / 2, R1_Y - BUMPER_SIZE / 2, BUMPER_SIZE, BUMPER_SIZE); + _r1Button.contents = (id) [UIImage imageNamed:@"R1"].CGImage; + [_view.layer addSublayer:_r1Button]; + + // create R2 button + _r2Button = [CALayer layer]; + _r2Button.frame = CGRectMake(R2_X - TRIGGER_SIZE / 2, R2_Y - TRIGGER_SIZE / 2, TRIGGER_SIZE, TRIGGER_SIZE); + _r2Button.contents = (id) [UIImage imageNamed:@"R2"].CGImage; + [_view.layer addSublayer:_r2Button]; } - (void) drawSticks { @@ -170,9 +249,8 @@ static float RS_CENTER_Y; _leftStick.frame = CGRectMake(xLoc, yLoc, STICK_INNER_SIZE, STICK_INNER_SIZE); - leftStickX = 0x7FFF * (xLoc - LS_CENTER_X) / (lsMaxX - LS_CENTER_X); - leftStickY = 0x7FFF * (yLoc - LS_CENTER_Y) / (lsMaxY - LS_CENTER_Y); - NSLog(@"Left Stick: x: %d y: %d", leftStickX, leftStickY); + leftStickX = 0x7FFE * (xLoc - LS_CENTER_X) / (lsMaxX - LS_CENTER_X); + leftStickY = 0x7FFE * (yLoc - LS_CENTER_Y) / (lsMaxY - LS_CENTER_Y); } else if (touch == rsTouch) { if (xLoc > rsMaxX) xLoc = rsMaxX; @@ -182,9 +260,8 @@ static float RS_CENTER_Y; _rightStick.frame = CGRectMake(xLoc, yLoc, STICK_INNER_SIZE, STICK_INNER_SIZE); - rightStickX = 0x7FFF * (xLoc - RS_CENTER_X) / (rsMaxX - RS_CENTER_X); - rightStickY = 0x7FFF * (yLoc - RS_CENTER_Y) / (rsMaxY - RS_CENTER_Y); - NSLog(@"Right Stick: x: %d y: %d", rightStickX, rightStickY); + rightStickX = 0x7FFE * (xLoc - RS_CENTER_X) / (rsMaxX - RS_CENTER_X); + rightStickY = 0x7FFE * (yLoc - RS_CENTER_Y) / (rsMaxY - RS_CENTER_Y); } } LiSendControllerEvent(buttonFlags, leftTrigger, rightTrigger, @@ -211,27 +288,23 @@ static float RS_CENTER_Y; UPDATE_BUTTON(LEFT_FLAG, 1); } else if ([_rightButton.presentationLayer hitTest:touchLocation]) { UPDATE_BUTTON(RIGHT_FLAG, 1); + } else if ([_startButton.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(PLAY_FLAG, 1); + } else if ([_selectButton.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(BACK_FLAG, 1); + } else if ([_l1Button.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(LB_FLAG, 1); + } else if ([_r1Button.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(RB_FLAG, 1); + } else if ([_l2Button.presentationLayer hitTest:touchLocation]) { + leftTrigger = 1 * 0xFF; + } else if ([_r2Button.presentationLayer hitTest:touchLocation]) { + rightTrigger = 1 * 0xFF; } else if ([_leftStick.presentationLayer hitTest:touchLocation]) { lsTouch = touch; } else if ([_rightStick.presentationLayer hitTest:touchLocation]) { rsTouch = touch; } - /* - - UPDATE_BUTTON(LB_FLAG, gamepad.leftShoulder.pressed); - UPDATE_BUTTON(RB_FLAG, gamepad.rightShoulder.pressed); - - leftStickX = gamepad.leftThumbstick.xAxis.value * 0x7FFE; - leftStickY = gamepad.leftThumbstick.yAxis.value * 0x7FFE; - - rightStickX = gamepad.rightThumbstick.xAxis.value * 0x7FFE; - rightStickY = gamepad.rightThumbstick.yAxis.value * 0x7FFE; - - leftTrigger = gamepad.leftTrigger.value * 0xFF; - rightTrigger = gamepad.rightTrigger.value * 0xFF; - */ - // We call LiSendControllerEvent while holding a lock to prevent - // multiple simultaneous calls since this function isn't thread safe. } LiSendControllerEvent(buttonFlags, leftTrigger, rightTrigger, leftStickX, leftStickY, rightStickX, rightStickY); @@ -258,27 +331,24 @@ static float RS_CENTER_Y; UPDATE_BUTTON(LEFT_FLAG, 0); } else if ([_rightButton.presentationLayer hitTest:touchLocation]) { UPDATE_BUTTON(RIGHT_FLAG, 0); + } else if ([_startButton.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(PLAY_FLAG, 0); + } else if ([_selectButton.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(BACK_FLAG, 0); + } else if ([_l1Button.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(LB_FLAG, 0); + } else if ([_r1Button.presentationLayer hitTest:touchLocation]) { + UPDATE_BUTTON(RB_FLAG, 0); + } else if ([_l2Button.presentationLayer hitTest:touchLocation]) { + leftTrigger = 0 * 0xFF; + } else if ([_r2Button.presentationLayer hitTest:touchLocation]) { + rightTrigger = 0 * 0xFF; } if (touch == lsTouch) { _leftStick.frame = CGRectMake(LS_CENTER_X - STICK_INNER_SIZE / 2, LS_CENTER_Y - STICK_INNER_SIZE / 2, STICK_INNER_SIZE, STICK_INNER_SIZE); } else if (touch == rsTouch) { _rightStick.frame = CGRectMake(RS_CENTER_X - STICK_INNER_SIZE / 2, RS_CENTER_Y - STICK_INNER_SIZE / 2, STICK_INNER_SIZE, STICK_INNER_SIZE); } - /* - UPDATE_BUTTON(LB_FLAG, gamepad.leftShoulder.pressed); - UPDATE_BUTTON(RB_FLAG, gamepad.rightShoulder.pressed); - - leftStickX = gamepad.leftThumbstick.xAxis.value * 0x7FFE; - leftStickY = gamepad.leftThumbstick.yAxis.value * 0x7FFE; - - rightStickX = gamepad.rightThumbstick.xAxis.value * 0x7FFE; - rightStickY = gamepad.rightThumbstick.yAxis.value * 0x7FFE; - - leftTrigger = gamepad.leftTrigger.value * 0xFF; - rightTrigger = gamepad.rightTrigger.value * 0xFF; - */ - // We call LiSendControllerEvent while holding a lock to prevent - // multiple simultaneous calls since this function isn't thread safe. } LiSendControllerEvent(buttonFlags, leftTrigger, rightTrigger, leftStickX, leftStickY, rightStickX, rightStickY);