Lioncash
76843b450b
[Android] Build the configuration window for the overlay programmatically. Moved the overlay configuration classes into their own package. Also launch the overlay config activity through the preference XML via an embedded Intent. Lets us remove code explicitly handling this.
2013-11-25 14:23:28 -05:00
Ryan Houdek
7ed8e6a29c
[Android] Fix the check for the Qualcomm graphics driver version for v53 drivers with the screen being rotated 90 degrees. Initialize the OpenGL information grabbing only once. Check for v14 Qualcomm drivers and spit out an error if the user tries selecting OpenGL ES 3.
2013-11-24 22:45:48 -06:00
Ryan Houdek
ba18f38e70
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Android/res/values-ja/strings.xml
Source/Android/res/values/strings.xml
Source/Android/src/org/dolphinemu/dolphinemu/AboutFragment.java
Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java
Source/Android/src/org/dolphinemu/dolphinemu/folderbrowser/FolderBrowser.java
Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java
Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-24 16:12:00 -06:00
Ryan Houdek
f292819ff5
[Android] Due to recent changes in code breaking Tegra 4 support, and also the upcoming code which will be breaking GLES2 support entirely. Taking the initiative to drop the remaining support code from the codebase in preparation for the upcoming changes. For a look at how Dolphin on Tegra 4 looked like prior and would not have been able to be fixed at all due to Tegra 4 not supporting the precision we need in our shaders; Look at this Youtube video http://youtu.be/Ga7Jc_Ote7U
2013-11-24 15:49:23 -06:00
Ryan Houdek
f6f2b1fc60
[Android-overlay] Support multiple gamepads with touch screen controls.
2013-11-24 15:04:53 -06:00
Lioncash
42f8562e5c
[Android] Basic Wiimote binding settings now implemented.
2013-11-19 19:28:10 -05:00
Lioncash
7e544d8996
[Android] Basic UI functionality for enabling/disabling aforementioned Gamecube controllers.
2013-11-19 16:14:40 -05:00
Lioncash
53ab104d5f
[Android] Expand the input binding UI in the settings to handle 4 Gamecube controllers in the future.
...
Other changes:
- Broke out MotionAlertDialog into it's own separate class.
- Made a preference specifically for handling input bindings.
2013-11-19 15:53:30 -05:00
Ryan Houdek
ae11fba069
[Android] Make joysticks less dumb from a configuration standpoint.
2013-11-18 14:48:08 -06:00
Lioncash
ee32c8b4e9
[Android] Remove accidental fragment tag in GameListActivity (it was useless, since it's an empty string)
2013-11-16 15:17:37 -05:00
Lioncash
11a156615f
[Android] Like the previous commit (but for the GameListFragment), don't constantly create a new adapter when filling the game list.
2013-11-16 05:30:58 -05:00
Lioncash
d98664b053
[Android] Simplify the FolderBrowserAdapter a little, as well as the Fill method within FolderBrowser.java. Previously the fill method would create an entire new adapter and assign it to the backing ListView. This is pretty unnecessary, so what it now does is, when the function is called, it clears out the adapter, then simply fills it in again with the new directory's contents. Simple, and doesn't require a reference to the actual ListView to be used.
2013-11-16 04:36:22 -05:00
Lioncash
c8ddc70c97
[Android] Simplify the AboutFragment view inflating. Considering the backing layout is a direct ListView, the original rootView can just be casted to a ListView, no need for an intermediate.
2013-11-16 04:09:30 -05:00
Lioncash
94f8c68a35
[Android] Use the ViewHolder design pattern for the FolderBrowserAdapter. In directories with a lot of files, this should be noticeably smoother in terms of scrolling. Also fixed the case where the subtitle text might disappear.
2013-11-16 03:56:58 -05:00
Lioncash
c90ce1aad1
[Android] Change the name of the XML layout file gamelist_folderbrowser_list.xml to gamelist_folderbrowser_list_item.xml. More accurate name on what it is.
2013-11-16 03:31:02 -05:00
Lioncash
21a196f9af
[Android] Eliminate the need to hold a reference to the shown Fragment within GameListActivity. Now we only care about the numeric ID of the one being shown.
2013-11-16 03:09:07 -05:00
Lioncash
777b5a109b
[Android] Fix the handling of orientation changes for the Fragments related to the game list. Now screen orientation changes don't kick you back to the root view.
2013-11-16 01:48:17 -05:00
Lioncash
23c84c220f
[Android] Add ability to take screenshots into the emulation menu.
2013-11-15 22:21:50 -05:00
Ryan Houdek
15bb974224
[Android] Add screenshot nativelibrary function.
2013-11-15 17:32:50 -06:00
Ryan Houdek
0720026dab
[Android] Disable the workaround for Qualcomm devices with driver >= 53 for the rotated framebuffer since it is fixed now.
2013-11-15 16:56:21 -06:00
Lioncash
483a28f34a
[Android] Simplify the AboutFragmentAdapter a little bit.
...
- Removes an unnecessary variable.
- Shortens the LayoutInflater usage.
- Gets rid of an unnecessary override of onAttach.
2013-11-15 17:19:09 -05:00
Lioncash
8c7d1afd5f
[Android] Externalize the device compatibility warning strings.
2013-11-15 17:05:56 -05:00
Lioncash
4bb22aa0ab
[Android] Indicate whether or not the device supports NEON within the About fragment.
2013-11-15 16:48:36 -05:00
Lioncash
d3731d0827
[Android] Get rid of some unnecessary variables in the getView() methods of some adapters.
...
Directly referencing convertView is fine.
2013-11-15 16:32:52 -05:00
Ryan Houdek
0e415467c4
[Android] Spawn a message if someone's phone doesn't support NEON. NEON is a requirement for Dolphin Mobile on ARM, CPU core will crash without it.
2013-11-15 14:17:47 -06:00
Lioncash
07765aa6f0
[Android] Documentation and some cleanup.
2013-11-15 12:26:17 -05:00
Ryan Houdek
1e90a838f2
Make sure to add our resources for the joystick.
2013-11-14 15:20:44 -06:00
Ryan Houdek
feedee5c23
[Android-overlay] Support touch screen axises in native. Have a non-configurable main joystick on screen at this point.
2013-11-14 15:18:33 -06:00
Lioncash
9d3d568ae4
[Android] Bump the targetSdkVersion in the AndroidManifest XML file to 19 (KitKat). Nothing we do would require compatibility behaviors to be enabled to maintain forward compatibility.
2013-11-14 11:01:44 -05:00
Lioncash
f15a0c17d0
[Android] Get rid of some unnecessary onAttach overrides in AboutFragment, VideoSettingsFragment, and FolderBrowser. These can just be replaced with calls to getActivity().
2013-11-14 10:45:45 -05:00
Ryan Houdek
2a23bdde6f
Merge branch 'master' into android-new-control-input-overlay
...
Conflicts:
Source/Core/DolphinWX/Src/Android/ButtonManager.h
2013-11-13 16:17:42 -06:00
Ryan Houdek
0f061e4e7c
[Android] Do /not/ give users the benefit of the doubt that the device supports OpenGL ES 3 when we can't grab an OpenGL context. The only devices that fail to do so is PowerVR5 and we can't run with them anyway.
2013-10-31 07:30:18 -05:00
Ryan Houdek
58d42f43e3
[Android] Fix PCH build. Clean up DolphinWX cmake file a little bit. Modify our android cmake toolchain file to make the default build location not be source root, because that is stupid.
2013-10-28 19:59:03 -05:00
Lioncash
3c7613fc83
[Android] More cleanup. We don't need the preference to enable/disable the overlay in the video preferences anymore.
2013-10-28 16:36:26 -04:00
Lioncash
4e999fe0ee
[Android] General cleanup.
...
We no longer need the buttons in Assets, considering they are now resources (ie. drawables).
Also remove (now) junk code from VideoSettingsFragment.java. We handle the input overlay within the InputSettingsFragment.
Also add a TODO detailing what needs to be refactored when axis support is finally added.
2013-10-27 22:15:49 -04:00
Lioncash
d1834b3058
[Android] Overlay now works during emulation.
2013-10-27 22:08:41 -04:00
Ryan Houdek
c24dfe559b
[Android] Change how the onTouchEvent native method works. Just pass in the correct Button ID and Action and it'll be pressed or not. Not actually rigged up to the Java code yet. Doesn't support anything with an Axis yet so no C stick, main stick, L and R triggers
2013-10-26 05:36:20 -05:00
Lioncash
c3e4aa1f35
[Android] Add the copyright header to some Java source files that were lacking them.
2013-10-26 01:06:00 -04:00
Lioncash
c78d5a9751
[Android] Improve an if statement check in InputConfigFragment.java. Also clarify it.
2013-10-26 00:59:53 -04:00
Lioncash
8d71a83ae5
[Android] Fix the super-mature string that was a placeholder for the title for the overlay configuration setting.
...
Also fix a NullPointerException possibility. Fixed it by giving the PreferenceScreen a title.
2013-10-26 00:55:07 -04:00
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