From 7cd08c13ed39ae9576f2dd0f8393fe4f4a2bc0ed Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Sun, 9 Feb 2014 11:25:51 -0500 Subject: [PATCH] Add runtime configuration for toggling the LimitPFS option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There ya go @hooby3dfx. I hope it’s everything you dreamed it would be ;) --- shell/android/jni/src/Android.cpp | 6 ++++++ shell/android/psd/dctemplate.psd | Bin 155094 -> 169912 bytes .../android/res/drawable/frames_limit_off.png | Bin 0 -> 9762 bytes .../android/res/drawable/frames_limit_on.png | Bin 0 -> 9483 bytes .../com/reicast/emulator/GL2JNIActivity.java | 20 ++++++++++++++++++ .../src/com/reicast/emulator/JNIdc.java | 1 + 6 files changed, 27 insertions(+) create mode 100644 shell/android/res/drawable/frames_limit_off.png create mode 100644 shell/android/res/drawable/frames_limit_on.png diff --git a/shell/android/jni/src/Android.cpp b/shell/android/jni/src/Android.cpp index f7d24309c..08dacc4d8 100644 --- a/shell/android/jni/src/Android.cpp +++ b/shell/android/jni/src/Android.cpp @@ -43,6 +43,7 @@ extern "C" JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_frameskip(JNIEnv *env,jobject obj, jint frames) __attribute__((visibility("default"))); JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_widescreen(JNIEnv *env,jobject obj, jint stretch) __attribute__((visibility("default"))); + JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_limitfps(JNIEnv *env,jobject obj, jint limiter) __attribute__((visibility("default"))); }; @@ -332,6 +333,11 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_widescreen(JNIEnv *env,jo settings.rend.WideScreen = stretch; } +JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_limitfps(JNIEnv *env,jobject obj, jint limiter) +{ + settings.aica.LimitFPS = limiter; +} + JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_rendinit(JNIEnv * env, jobject obj, jint w,jint h) { screen_width = w; diff --git a/shell/android/psd/dctemplate.psd b/shell/android/psd/dctemplate.psd index 9e488654ac69462154734631600828ddf61c502d..a5ef4461f5523cd18d503cde7b884e0218784f79 100644 GIT binary patch delta 11846 zcmeHMXINC%x?VHtCb^zO&q=Pw=!5j$rE07Q`+j@I7=%PQdHivI;5eJL-t~TEt@W)n^So1?{%K0W ze|d?2uIjZ>ZnymG*@*hL!h6+M-kbktexS=u_3w?-meLD~qV?u%u1`9N(PyvOD7BWb zqRR;zoHY9AEc#YS!u@aJ#40h2(}=~-5%rIY2t$8cBFR~{bvf;`AB7Rg^tBF zIlEntikhe2@?G3T{2ER#=O);CeMk#dx&#zpY6i#(uKk-dkN8M zEnQDM5A-A|{JN-gmMX)b65(mHme|fJ6e84OiB|JzfH2@vAEAS*SKc^C;XDtt7P&6x zmpT9M`86q^3SVWl-tZQF$OhcuGd?x=2^Z|2=WJw~4zz zpv6w+kzDgg+5`4+a7`WPMKC=~_>x4Qzw?rSg_3~fSb}~)E8+b;S^>znfGvmC3P4uD zdoeI10R8qI+s|3XU(l83&~B=!@`jgiK$PXaqIFGXr`~Q+kizj-7|G-+RvQ z>0S7J>;=LWsX7O^8m=Be*mCAY)+O!lULYj0#)V;DA^PsvSED4o*jnrvqN$|5B5COw zuMnCL@HL{%z5a}(bsv6-Xy2wo>+bT`BF3BK#{lnqLZX0CL_0VRjqPKiFhimVj3e5- zXCov^0Ql%IiPnuHgj0zQp?Y{`K)2!*NpIypd`ZrVMrg-NlHR~?cty^BJ_jL+I7|^| zWgw(GO470!;P4v@lri+o=Th797&TD56#-);dI9S+r|UI2+r^9| zm7XEgHb&C36ht&wRC)%p7-;OLaIPSdLP;XDY=P5ZKY`PL z;y#f>Q8b?*#Dx@6fw6^RcuZhumjL6+Q#5PoBi*||@_bIk-`2)Jw2VB15X|g5BB$Vb@lW;>U)~bEg9kOZ*e6Jk?mk zJq=Awjg1ZUwT)ff-CgZ1%}w=njh%fxo$alS4Yf5by}bZ7*4ETFHFrGaCh~leTN4;~ zO#Xu_2?8%2Rn`bNn4W!S-^=8iMPA&dXhuwS?v=z!AB)q>pyBR@>6q8Gw6_i>a(JGZ z)z=s?c=p|Z#7b{V+)g)mq`Q6^={GbsG<0#&3cNG<>@`vO5B!oUd~F>Zaig%IuKEwp zeymokos-J*NfU&vxy~!XeQ#CzojHHr+0mFi&{_BX#cQao9jg)Rh`&|r&27Jd!Ojt! zDxY$ajGN8#x!oFrg;iGgBv%50#U~aL+`4cqR8Z}6r-}gNR!X6FS_K;mt*rFAQ%ND* z%m*I&>BS*fL}7tnTBR32>3R9?8HFKOOm?P!MwL4t+4pk2a_$FVF?kt&S=DY3EOYi< zpIm+@7FCq%n_YJqILQz!tvMEpEWPKOBVbWTe355L!woFF;(=cdFA5M=|JU^GI5hGy z9=K=Jv#}cqS%Ddq=K#q_DD=A17mLLvrTeEsogakx z3HWZA6+}4>P->-XCO;SpOwaPoE~kPeN7uWg)?dTe@wWr>il`KmuRbW)-^V_ zb#(U)3=MR*zwQtlN>2yl_HeP#Vw~rFuPW4SoLF%tYV>9QzudSLJa=G|>gtz8}MgV}eRE+$nFjKGFc+%0R^Tf_9A+t}FP z(1-1tYg>Cd2lMh8&nNTU8UD=`?irmI)DK)78y^~;hIvb!ptWZtBdy($Q|89-uc{yn z(*zgQeaZ2`k!ji23m&#VyM4Rw+|5Q7<7#$s5Vyc4m?WP(fARe3uTMrsU+D zXlre1Y^bZLZES7t?j0EZ_1WWoF8K}Jk2c}v+>99i;l25fiT5VloXv~rIy5}-4ktb) zk{#$5#<`OabuE0i(mM?Nn8?G&gq)jSM`ZF4oqT zuKvMC-JKns9W5=r1O0u_Y;A3ai}z{R`A{9#jPs1M>v)q;xh(#qOKyrH(bs;Z)dU)|VPS6vB>vdZe3{(y6A?aOJ7j9;z<8#u)>B_%9} z+RFdP{twI_)(-jFhcVsn*fY)%tdmaBOxYdZSq-+9{XzH!d`fshwV;P^4AUfT+AKC$Eo85IK3aRL{Qf?Pq?MqVW%P@ zPh5;WQI0S#yD)9nRC~<&Mhx>}3=VfzL!{X$GI+}}rsxTyw6i2D_7 z7FgMbu(XM!V}Jzw!q)NR;+WmFAZ_29dVsL(!nNF!A;riLT-P_;7N8)9Fb(fmO9&sX z<9E%Ba^xJY>3iK2vy6&7;dfmh5cZ`|reByLW)^XSNknP^a?L$V!!P0_X6+lM>k~x< zi*O6k@Zwlvc22%0y2m87_6s{u!#&{wAS{O)ny!%0ndo3u_e48Df}C$?c}7A)acotuo2Gz-xy5LBT{FQ9 zqpz#`#ApK&elbqd2M|+FKOG|K2<6A-_Hp-HHkgfrtC4@00wDhO+~eo(J76{*{(4t% zKMjBaow*wLeH^n12-XhrJ2`H%&erCr>riiXO-;1`&P{n~3BQKvihE@m+q=uxTe7{ zijIL(qq5v!WUvOl`Aow+KPyM7a?sDIK1`ixTL=R!opAHEx5Mq+-r3nkdhIlj zRdrBdDC-)_C|GYo%02Z3#r$IUf4{Jzs+ZvQ7rhQq(ATDPlt#L-iPQvx3={A6I_D?5X2T zD?FswX}{Z0ifJjoRt;BWZdNprTQ4iMP`|gna2n|sjTeixJ1U%%VH)mUb4*iL=75RZ zzhxMkzBUq0-~+QS7~_exIm#O{j$6pDR?LWJYoDeTFi} z&G%u7CKl_Jg^1HZ11SysTcxwO|pM&0OVY`>+Uq`KA5fVds7lsbNL3%1kDY`uoLbU6;;_ghPA z8f?M#sxTRvrmKMDBx}D(&2|@daPQG=Ck%e15IJ1xuq!OHGIO(z#(F?5?8T+`yB=P1 zSW{nGS3_pk&YinB_+hi#m3x-jEcFLa4VUco}HU|E5CA# zFV=BE5to+7_c0FP21XloEVr)NuyMnJBNb&CS?@E?NxvPRSIIBtcU(G*%N(%ynQ_3} z^xs;p+ZO-yBev&ZMP~K~%(+Ri_o_?y9d63!HXSmOW$d@b%_TKFrRFa}TdD}FDb~&%H$>|Bo4SA@?5tY-}{-0qTU{^|4(!mn*5BGDHL92 zw9FYTb4JUY(K2VW%s-N1|Nm*3Xo{AJrf8XHik69lS|&bG%S2POOf*HyL{qd(G)2n< zWRjMNuv8AuJ-w2Ru`7yvbBfsT-6`V^&odh@3B*DwN_}!lSO8_E6nN$GSXfX=xp!8n zHz2v0JolVp7RJuv`Dd1024u1p3XUdep)l7;S}2;Lg+hu#EfoJ<3`JAKP)KN!7z)TF zEfgG0(n6`(zpI79?Eg#)#osGuP7y;tx)zH6xf0v|2V&?)*Fy0>6@nrBR5A3UYoTAy zh@mrL=*JdA$thweIaLfLr--2>HdzcMr--5C6fu;XB8GyWNn$Acl=Qn8Dkc;|0s3A- z^y|`OH4{8eQZvbS)J#gugb7U&Gr{2`F_WAkW|C9HO!#$avYH8wCaIa^yJ{wgndHY3 zGx5KmW`0aD6aNcp=EoE>@xP#E{&g`^P|C}HP&63m!Bak+Y0a>|c$Is28Qp2(FHSS^ eCXYWOZ_db@GxFw)y!kQZ%~Le)#+~$#1^)*;q#IuV delta 764 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 literal 0 HcmV?d00001 diff --git a/shell/android/res/drawable/frames_limit_on.png b/shell/android/res/drawable/frames_limit_on.png new file mode 100644 index 0000000000000000000000000000000000000000..2abe5b723cf478ce00087ec7ddcd9d88e15d9ba3 GIT binary patch literal 9483 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 literal 0 HcmV?d00001 diff --git a/shell/android/src/com/reicast/emulator/GL2JNIActivity.java b/shell/android/src/com/reicast/emulator/GL2JNIActivity.java index 8bb7ce229..f414efd54 100644 --- a/shell/android/src/com/reicast/emulator/GL2JNIActivity.java +++ b/shell/android/src/com/reicast/emulator/GL2JNIActivity.java @@ -51,6 +51,7 @@ public class GL2JNIActivity extends Activity { private String home_directory = sdcard + "/dc"; private int frameskip; private boolean widescreen; + private boolean limitframes; public static HashMap deviceId_deviceDescriptor = new HashMap(); public static HashMap deviceDescriptor_PlayerNum = new HashMap(); @@ -218,6 +219,25 @@ public class GL2JNIActivity extends Activity { if (frameskip <= 0) { frames_down.setEnabled(false); } + View framelimit; + if (!limitframes) { + framelimit = addbut(R.drawable.frames_limit_on, new OnClickListener() { + public void onClick(View v) { + JNIdc.limitfps(1); + popUpConfig.dismiss(); + limitframes = true; + } + }); + } else { + framelimit = addbut(R.drawable.frames_limit_off, new OnClickListener() { + public void onClick(View v) { + JNIdc.limitfps(0); + popUpConfig.dismiss(); + limitframes = false; + } + }); + } + hlay.addView(framelimit, params); hlay.addView(addbut(R.drawable.up, new OnClickListener() { public void onClick(View v) { popUpConfig.dismiss(); diff --git a/shell/android/src/com/reicast/emulator/JNIdc.java b/shell/android/src/com/reicast/emulator/JNIdc.java index bceda1cb9..83bdf9041 100644 --- a/shell/android/src/com/reicast/emulator/JNIdc.java +++ b/shell/android/src/com/reicast/emulator/JNIdc.java @@ -28,6 +28,7 @@ public class JNIdc public static native void frameskip(int frames); public static native void widescreen(int stretch); + public static native void limitfps(int stretch); public static void show_osd() { JNIdc.vjoy(13, 1,0,0,0);