Commit graph

317 commits

Author SHA1 Message Date
Lioncash
77eb9ce725 [Android] Add the capability to dynamically enable and disable the input overlay during emulation. 2013-10-25 23:10:17 -04:00
Lioncash
d9be95ed9e [Android] Fix alignment issues with the overlay config settings. 2013-10-25 21:29:06 -04:00
Lioncash
7c6caa388a [Android] Prevent automatic alignments within the overlay configuration settings. Let the user do this on their own. 2013-10-25 21:14:11 -04:00
Lioncash
c1ed54832c [Android] Maintain the chosen button layout when returning to the input overlay configuration menu.
- Also make the overlay configuration screen fullscreen for the app.

- Also force the overlay activity to be landscape, since this is the only orientation the EmulationActivity supports.
2013-10-25 21:05:42 -04:00
Lioncash
c8cf71c913 [Android] The emulation overlay now sets the button positions based upon the locations chosen in the input overlay configuration settings. Documented the hell out of how the initialization of the Drawables works inside InputOverlay.java.
Also made the use of InputOverlayItem.java obsolete. So this is now removed.
2013-10-25 20:34:38 -04:00
Lioncash
88c797a9c0 [Android] Slight cleanup for previous commit. Mostly UI adjustments.
Makes the buttons appear uniformly on the overlay config activity.
2013-10-25 17:39:23 -04:00
Lioncash
9f36081a8f [Android] Implement a very basic version of the input overlay configuration screen.
Still a bit of a mess, but this will get cleaned up during finalizations.
2013-10-25 16:52:46 -04:00
Lioncash
1267877e80 [Android] Documentation typo cleanups from the last commit.
Also cleaned up the Javadoc for the constructor of MotionAlertDialog.
2013-10-24 15:10:25 -04:00
Lioncash
079147ca07 [Android] Refactor InputConfigFragment a little bit in preparation for the implementation of the new input overlay.
This moves all of the dialog handling into the actual MotionAlertDialog class itself. This is something I should have done a long time ago.
Also moved the Gamecube input binding preferences into their own PreferenceScreen.
2013-10-24 14:55:10 -04:00
Ryan Houdek
187827624f [Android] 0.12 release. 2013-10-21 12:09:15 -05:00
Lioncash
2015cd0928 [Android] Implement OnSharedPreferenceChangeListener within PrefsActivity.java. This allows us to immediately save to the ini config when a preference in the front-end is changed, rather than waiting for the settings window to close. This also allows us to remove handling for preferences from CPUSettingsFragment.java and VideoSettingsFragment.java. 2013-10-13 22:20:34 -04:00
lioncash
615bac7ebc [Android] Replace the getter for the adapter backing the GameListFragment with a function that simply clears the array adapter. Maintains encapsulation this way. Simplified the actual setting of the backing ArrayAdapter for GameListFragment; this allows us to make a class variable a method variable now.
Also fixed up the Javadoc for the OnGameListZeroListener.
2013-10-10 17:08:46 -04:00
Lioncash
511de71736 [Android] Actually show the currently selected CPU core and video backend within the settings screen. 2013-10-10 11:57:18 -04:00
Lioncash
8b6ff7a358 Revert "{Android] Eliminate need for even using a byte array when copying assets over."
Turns out Android devs decided to opt for one of the most retarded ways of handling assets. Assets with some specific extensions are not compressed (png, jpeg, etc), and anything else is compressed. The AssetManager is so revolutionary, that you actually can't retrieve valid FileChannel descriptors from these compressed files! To add to this revolutionary system, they actually didn't give you a straightforward way of disabling this compression. Now using FileChannels are not possible, and thus we must use the much slower way of copying everything over. Thank you Android devs. Godforbid someone would like to use a non-array based way of copying things that's actually efficient, considering DMA access is possible with FileChannels.

This reverts commit 0dd32986b8.
2013-10-10 00:11:33 -04:00
Ryan Houdek
715d5ae8a7 Merge branch 'JitArmIL'
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
2013-10-09 23:16:07 +00:00
Ryan Houdek
ba9f2d52e1 Add the JITIL Arm recompiler to the Android settings. 2013-10-09 23:08:12 +00:00
Lioncash
0dd32986b8 {Android] Eliminate need for even using a byte array when copying assets over. 2013-10-09 12:35:12 -04:00
Lioncash
a317391e3d [Android] Change the names of the functions responsible for loading/saving config values in UserPreferences.java. Makes readability better, since they have names that actually go with each other now. LoadIniToPrefs() and SavePrefsToIni(). 2013-10-08 19:08:06 -04:00
Lioncash
efac4bc608 [Android] Rephrase a comment in VideoSettingsFragment.java. 2013-10-08 18:45:10 -04:00
Lioncash
fb4cc76b11 [Android] Remove unnecessary equals comparison in VideoSettingsFragment.java in function SupportsGLES3(). contains() can handle this situation. 2013-10-07 19:50:50 -04:00
Ryan Houdek
a40daac5b1 [Android] Fix an issue where emulation would crash if we couldn't retrieve GPU information. Also if we can't get the graphics information, give them the benefit of the doubt and enable the GLES3 option. 2013-10-06 21:32:05 -05:00
Lioncash
cf1b634c33 [Android] Remove unnecessary attributes from the ViewPager layout XML file. 2013-10-06 20:04:53 -04:00
Lioncash
5bee29c7c2 [Android] Reflect the string change in the Tegra 4 support commit with the JP strings as well. 2013-10-06 10:45:05 -04:00
Ryan Houdek
6bdcde9dd6 [Android] Tegra 4 'support.' This brings up the OpenGL backend to support Tegra 4 to the point where it will run games but it doesn't have any video output for some reason. This is a large change that doesn't actually change much functionally. Walking through the changes.
It changes the string in the Android backend select to just OpenGL ES.
Adds a check in the Android code to check for Tegra 4 and to enable the option to select the OpenGL ES backend.
Adds a DriverDetails bug under BUG_ISTEGRA as a blanket case of Tegra 4 support.
The changes that effects most lines in this change. Removing all float suffixes in the pixel/vertex/util shaders since OpenGL ES 2 doesn't support float suffixes.
Disables the shaders for reinterpreting the EFB format since Tegra 4 doesn't support integers.
Changes GLFunctions.cpp to grab the correct Tegra extension functions.
Readds the GLSL 1.2 'hacks' as GLSLES2 'hacks' since they are required for GLSL ES 2
Adds a GLSLES2 to the GLSL_VERSION enum.
Disable the SamplerCache on Tegra since Tegra doesn't support samplers...
Enable glBufferSubData on Tegra since it is the only mobile GPU to correctly work with it.
Disable glDrawRangeElements on Tegra since it doesn't support it, This uses glDrawElements instead.
2013-10-06 03:12:29 -05:00
Lioncash
da46da17dc [Android] Make sure to change the title accordingly when coming back from the folder browser. 2013-10-02 22:55:16 -04:00
Lioncash
8dfc752780 [Android] Simplify LayoutInflater retrieval within GameListAdapter, FolderBrowserAdapter, and SideMenuAdapter.
Also added Javadoc to SideMenuAdapter. Gave the context variables a full spelling as well.
2013-10-02 22:42:43 -04:00
Lioncash
4e08a6cc8d [Android] Simplify a string retrieval in FolderBrowserAdapter.
Also remove an unnecessary import from EmulationActivity.java. This should have been removed in the previous commit.
2013-10-02 22:31:17 -04:00
Lioncash
c517b7fe7e [Android] Simplify call for getting the WindowManager instance within EmulationActivity. 2013-10-02 21:59:09 -04:00
Lioncash
b1268bfcd2 [Android] General documentation cleanup and additions. Adjusts the documentation to conform to the multitude of changes that have been made over time.
Very minor code changes were made as well (of which were mostly for formatting). Such as adding override annotations to methods from the Comparable interface, so that they are clearly marked as such.
2013-10-02 15:28:02 -04:00
Lioncash
cd6a863eec [Android] Make the GameListFragment extend a ListFragment instead of a Fragment. This allows us to simplify behavior a little by eliminating the need for an AdapterView. Now we just override "onListClick" and achieve the same result. 2013-10-01 21:43:27 -04:00
lioncash
16fb0b04d8 [Android] Externalize how the formatting is used in the file size string, the file clicked string, and the current dir string. 2013-10-01 10:32:05 -04:00
lioncash
80a4cbdbb4 [Android] Add xxhdpi versions of the file icon and the folder icon used in the folder browser. 2013-10-01 10:05:17 -04:00
lioncash
ca177539b6 [Android] Add correct density-sized images of the navigation drawer icon. Now all icons are density-specific. 2013-10-01 09:53:47 -04:00
lioncash
c3c1afcc09 [Android] Explicitly specify the allowBackup attribute in the manifest.
It's considered good practice to specify it, so why not?

Basically it allows the application to be backed up or restored via ADB.
2013-10-01 09:31:02 -04:00
lioncash
cb9ff3d9f8 [Android] Remove an unnecessary method override from GameListActivity.java. We don't actually do anything different from the default behavior of this method, so we don't need to explicitly define it.
This method is intended to be used for modifying the contents of a menu before displaying it. We don't really have a need for this, since it doesn't need to be modified.
2013-10-01 09:18:17 -04:00
Lioncash
1c4c00d171 [Android] Return true upon displaying the exit confirmations dialog in EmulationActivity.java. Now multiple games can be launched like normal. Previously it was returning false. 2013-09-27 18:17:29 -04:00
Lioncash
69d2ecff52 Simplify SwitchPage() within GameListActivity.java. We no longer need the first switch statement, since case 0 will be hit when SwitchPage(0) is called from the folder browser. This means we can also get rid of recreateFragment(), since the only time this needs to be called is within the onCreate() function. When SwitchPage(0) is called, SwitchPage will perform basically the same actions as recreateFragment() would; thus the reason it can be removed. 2013-09-27 17:16:59 -04:00
Lioncash
689aca2788 [Android] Remove commented out code within EmulationActivity.java. Since the back button handling has a specific purpose, this is no longer needed. 2013-09-26 23:40:39 -04:00
Lioncash
f6a8733660 [Android] Tiny inline documentation cleanup. 2013-09-26 23:32:41 -04:00
Lioncash
8aba748735 [Android] Fix a situation within the FolderBrowser where the application would crash. listFiles() returns null when either the File object it's called on isn't a directory or if an I/O error happens (in their infinite wisdom, they actually thought NOT throwing an exception was a cool way to handle this. How about that?). In the case of trying to access system directories as a normal user, an I/O error will occur due to permission access rights. This fixes that. 2013-09-26 23:06:10 -04:00
Lioncash
d903983564 [Android] Move EmulationActivity.java and NativeGLSurfaceView.java into a new sub-package called emulation. Now, all that's kept within the base package is the main class, the native calling class, etc. 2013-09-23 07:14:51 -04:00
Ryan Houdek
96a77f9feb [Android] Fix the ability to stop the game and start another. 2013-09-23 01:43:18 -05:00
Ryan Houdek
bab91494d5 Merge branch 'master' into android-core-control 2013-09-23 00:47:57 -05:00
Ryan Houdek
1da6469c62 [Android] Use new 4.0 icon. 2013-09-23 00:25:34 -05:00
Lioncash
af7ed820f5 [Android] Add a JP version of the string for FSAA. Also correct the English string too. 2013-09-22 19:16:32 -04:00
Ryan Houdek
bdae5d1027 [Android] Fix typo, FSAA stands for full scene antialiasing. 2013-09-22 11:59:10 -05:00
Ryan Houdek
6340ad68be Merge branch 'GLES3-FSAA' 2013-09-22 10:00:51 -05:00
Ryan Houdek
81effb8099 [Android] Add in FSAA option. 2013-09-22 09:25:38 -05:00
Pierre Bourdon
1f95a294cd Add the new 'Clean' themes from MaJoR and default to Clean by changing the name of the config key (yes, hack) 2013-09-22 16:00:56 +02:00
Lioncash
49fff7979b [Android] Make the FolderBrowser extend a ListFragment instead of a regular fragment. Lets us get rid of the need for an AdapterView.OnItemClickListener when handling list item clicks. Simplifies the implementation of the FolderBrowser a tiny bit. 2013-09-18 22:17:23 -04:00
Ryan Houdek
24a44ecfb8 [ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had. 2013-09-18 02:37:10 -05:00
Lioncash
db7f8697ba [Android] Use a simpler "startActivity()" call in DolphinEmulator.java. Turns out the other one isn't 4.0 compatible, but actually only 4.1 and up. Also, in this case, we really don't actually care about the saved instance state bundle. 2013-09-18 01:57:01 -04:00
Lioncash
988544389a [Android] Slightly change the layout of the AboutFragment. Looks more like an actual list view now. 2013-09-16 22:04:59 -04:00
Lioncash
b4883e2ada [Android] Make the AboutFragment extend the ListFragment, since this is basically what this fragment acts as. Much more descriptive than simply extending Fragment.
Also made the list non-clickable, since it isn't supposed to be interacted with.
2013-09-16 21:04:58 -04:00
Lioncash
449cd3b267 [Android] No need to use startActivityForResult in DolphinEmulator.java any more. Just some leftover stuff from the big refactor. 2013-09-15 22:11:17 -04:00
Lioncash
5a0f0b908e [Android] Fix the name of the parameters in some unused interface methods.
There are some interface methods that are simply stubbed for the time being. It would be better to give the parameters better names despite not being used.
2013-09-15 14:34:30 -04:00
Pierre Bourdon
c3eec379df Move global User/Wii to Sys/Wii 2013-09-14 06:08:30 +02:00
Ryan Houdek
751fae4965 [Android] Make sure the default config file has fastmem disabled. 2013-09-13 21:17:40 -05:00
Lioncash
7a15159c34 [Android] Explicitly set the defaults for the CPU settings. 2013-09-13 00:29:59 -04:00
Lioncash
0490d7d59c [Android] JP strings for the Fastmem option. 2013-09-13 00:24:06 -04:00
Ryan Houdek
ba05db7828 [Android] Add a fastmem option to the cpu options, default disabled. 2013-09-12 23:08:00 -05:00
lioncash
84db868187 [Android] Android uppercases the name of the tabs in the settings by default. So we don't have to call ".toUpperCase" in the string returns in getPageTitle(). 2013-09-10 11:21:13 -04:00
lioncash
8ceb72612a [Android] Kick the targetSdkVersion in the AndroidManifest XML file to 18. Since this app basically works on 4.x.x, we don't need to make compatibility modes kick in for anything above 4.0.0.
Also very minor cleanup to the XML.
2013-09-10 09:29:05 -04:00
lioncash
ce5f80b151 [Android] Give the exceptions in compareTo implementations in GameListItem and FolderBrowserItem some messages. If the exceptions ever actually get thrown, at least you're given a reason as to why the exception was thrown now. Also changed the exception type to NullPointerException. IllegalArgumentException is intended to be used for validating the parameters in constructors/methods. 2013-09-10 08:32:11 -04:00
Lioncash
a3ef35a1bf [Android] Fix a bug where the video backend would not load correctly. 2013-09-09 22:38:09 -04:00
Lioncash
f382a53500 [Android] Organize the list of allowed file extensions for the folder browser and game list alphabetically.
Keeps things nice and sorted.
2013-09-08 17:52:26 -04:00
Lioncash
c306dafe44 [Android] Simplify some checks within the the folder browser in regards to checking if a file is hidden or not. Also potentially fixed the case where items in the game list would not remain saved to the config. 2013-09-08 16:45:37 -04:00
Lioncash
f753b9ae97 [Android] Show the full text for save and load states if there's room on the screen. If not, let it overflow into a context menu. 2013-09-07 19:19:28 -04:00
Lioncash
cc054b9da3 [Android] Make the MotionAlertDialog private. This isn't needed to be protected anymore. The only reason it was protected was for when the input settings were coupled as all hell to the GameListActivity (lol). Also documented the interface method within it. 2013-09-07 18:51:15 -04:00
Lioncash
86d10ec19e [Android] Fix the input binding string.
Forgot a period at the end. Thanks for pointing that out pauldachz
2013-09-07 06:19:24 -04:00
Lioncash
10eb9f09b4 [Android] Change a check for an empty path from !path.equals("") to !path.isEmpty() in GameListItem.
Also simplify the logging exception tag in the constructor.
2013-09-04 08:02:32 -04:00
Lioncash
b94a462fca [Android] Remove the compareTo implementation from SideMenuItem. We don't perform any operations that require it. 2013-09-04 07:43:56 -04:00
Lioncash
38304a7e42 [Android] Simplify the JP settings labels. 2013-09-04 07:36:28 -04:00
Lioncash
48cda9d26f [Android] Display the name of the control that is being bound in the input settings. Makes the binding description more informative. 2013-09-04 07:32:28 -04:00
Lioncash
a83d4e7226 [Android] Correct a typo for the load state menu root in the menu overlay XML. Should be "loadStateRoot", not "loadtateRoot" 2013-09-04 07:19:02 -04:00
Lioncash
a7c2b27a6a [Android] Remove unused strings from the resource XML files. 2013-09-04 07:09:29 -04:00
Lioncash
bdc04f9119 [Android] Change the exception logging in NativeLibrary to be an error instead of a warning.
Technically not having the required library should be regarded as an error, since the app won't even load without it.

Also changed the logging tag in FolderBrowser.
2013-09-04 06:46:11 -04:00
Lioncash
70cfe96492 [Android] Fix an accidental call to the wrong method in the superclass of EmulationActivity. Should have been returning "super.onMenuItemSelected(itemId, item)" instead of "super.onOptionsItemSelected(item)". 2013-09-03 17:25:45 -04:00
Lioncash
4f72671d32 [Android] Change the documentation of the FolderBrowser class. We don't show invalid items anymore. 2013-09-03 07:05:02 -04:00
Lioncash
e198e201e4 [Android] Fix the video settings from crashing the app. Was broke in the commit "Removal of my terrible idea"
https://code.google.com/p/dolphin-emu/source/detail?r=2897619ddbd3e3aae8427fc503647c65e770d466

Didn't comment out the line for that preference in the XML. This is disabled for now until the UI overlay for the buttons are implemented directly into the Java front-end.
2013-09-02 11:00:22 -04:00
Ryan Houdek
2897619ddb Removal of my terrible idea. 2013-09-02 05:31:48 -05:00
Lioncash
d41eb76378 [Android] Fix the last commit. On-screen control drawing wouldn't re-enable upon flipping video backends. 2013-09-01 20:36:47 -04:00
Lioncash
acf3bd8697 [Android] On-screen controls work for Software Renderer, but not the OpenGL ES 3 video backend yet. Enabled it for Software Rendering and disabled it for Open GL ES 3. 2013-09-01 20:31:45 -04:00
Lioncash
d84312c799 Merge branch 'master' of https://code.google.com/p/dolphin-emu into android-core-control 2013-09-01 15:24:29 -04:00
Lioncash
c092c65d4a [Android] Disable most video preferences if Software Rendering is chosen. Since the software renderer and other renderers have little in common, it doesn't make sense to keep many of the video preferences enabled. 2013-09-01 15:20:15 -04:00
Lioncash
440ae412b0 [Android] Add the option to show the on-screen FPS counter. 2013-09-01 03:07:16 -04:00
Lioncash
51c814f34e [Android] Removed the unnecessary MainActivity generics declaration in the DolphinEmulator class. It's unused (and likely won't be used). 2013-08-30 15:47:04 -04:00
Lioncash
c633c2bb13 [Android] Some various cleanups. Also make some class variables final.
Localize some variables as well, and clean up an import.
2013-08-30 15:31:25 -04:00
Lioncash
fae0c860f6 [Android] Woops forgot a JP TL of a UI string. 2013-08-29 22:56:40 -04:00
Lioncash
cf96bfc2be [Android] Add a button in the emulation view that allows a person to exit emulation and go back to the game list.
However, this does not work correctly yet. It will stop correctly. But the SurfaceView will not render the next game selected.
2013-08-29 22:52:09 -04:00
Lioncash
90918cdb84 [Android] Remove garbage loggers for when I was debugging why the overlay buttons wouldn't work. 2013-08-29 21:09:38 -04:00
Lioncash
dac9659c58 [Android] Preliminary save-state support. Have the UI set up. Crashes with SIGABRT however. 2013-08-29 21:07:17 -04:00
Lioncash
b5d5296250 [Android] Accidentally enabled screen rotation in the emulator window. Disabled it. 2013-08-29 19:09:56 -04:00
Ryan Houdek
96394da1c2 [Android] Let NativeLibrary handle initial folder structure creation. 2013-08-29 18:07:32 -05:00
Ryan Houdek
957c263367 [Android] Add save state native functions. 2013-08-29 17:47:50 -05:00
Ryan Houdek
1dcede4d56 [Android] Stop the play store from overwriting buildbot builds. 2013-08-29 22:28:23 +00:00
Lioncash
5a749cc7ca [Android] The back button now toggles the visibility of the action bar in the emulation window. This can be used in the future to implement the overlay for save states and other things. 2013-08-29 18:26:45 -04:00
Lioncash
aeec249626 [Android] Decouple the emulation processes from the Main activity. Moved them into their own activity called EmulationActivity. 2013-08-29 17:21:17 -04:00
Lioncash
335839b27f [Android] Move the instantiation of the NativeGLSurfaceView into a layout file. This will allow the addition of other components in the future, such as overlays, etc. 2013-08-29 13:13:44 -04:00
Lioncash
01764fef67 [Android] Forgot to make the AboutFragmentAdapter class 'final' 2013-08-29 12:45:40 -04:00