Commit Graph

634 Commits

Author SHA1 Message Date
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Mat M 08d45b9fea Merge pull request #3794 from EmptyChaos/frame-advance-race
Core: Add synchronization to state changes (Fix Frame Step and FIFO Player -  Issue 8718)
2016-05-22 15:19:16 -04:00
Tyler Dunn cf65199d86 [Android] Fix extra character in screenshot folder path
Environment.getExternalStorageDirectory().getPath() covers the end of the path with a slash, get rid of the extra slash to fix the path.
2016-05-20 15:24:49 -04:00
Tyler Dunn 4a0a92e95e [Android] Bump gradle plugin to 2.1.0
And fix deprecation warning in script
2016-05-18 22:31:54 -04:00
Tyler Dunn a5b72abf2c [Android] Reduce code redundancy 2016-05-18 22:13:33 -04:00
Tyler Dunn 937caea1c9 [Android] Drop commit() for apply()
Apply is asynchronous, and we aren't expecting a return value so there
is no reason not to use apply.
2016-05-18 22:10:52 -04:00
Tyler Dunn a0b54f558e [Android] Don't hardcode SD card path 2016-05-18 22:10:42 -04:00
Tyler Dunn 6a870c2417 [Android] Fix possible leak of fileCursor 2016-05-18 22:10:29 -04:00
JosJuice dc3bbeb92f Fix reading CISO files on Android 2016-05-17 14:20:59 +02:00
EmptyChaos c1944f623b Core/Movie: Add ability to run code in Host context
EndPlayInput runs on the CPU thread so it can't directly call
UpdateWantDeterminism. PlayController also tries to ChangeDisc
from the CPU Thread which is also invalid. It now just pauses
execution and posts a request to the Host to fix it instead.

The Core itself also did dodgy things like PauseAndLock-ing
from the CPU Thread and SetState from EmuThread which have been
removed.
2016-05-13 09:23:44 +10:00
EmptyChaos c1922783f8 Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
2016-05-13 09:23:44 +10:00
degasus 2030ad4577 SCM: Use std::string.
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-05-05 00:22:49 +02:00
degasus 3a4ff30745 Android: Also create directorys for the Wii files. 2016-04-24 14:44:30 +02:00
degasus 18db9498d7 Android: Check asset overwrite per file.
So new files will be added, eg the missed Wii directory.
2016-04-24 14:44:30 +02:00
degasus 3f704dca75 Android: Also copy sys/Wii directory.
Seems like this one was just missed, some games just did not start without it.
2016-04-24 14:44:30 +02:00
sigmabeta 57eea4f330 Fix android builds permanently. 2016-04-02 10:14:40 -04:00
degasus 6cd7740f4b Android: Update gradle version 2016-04-02 13:56:30 +02:00
Pierre Bourdon 2d1c0e4092 Merge pull request #3722 from Sonicadvance1/upgrade_to_new_MaJoR1
Update to MaJoR1's latest on screen buttons
2016-03-27 22:43:22 +02:00
Ryan Houdek 38a5183eb4 Fix Android buildbot 2016-03-12 15:44:13 -06:00
Ryan Houdek baee7f0d15 Update to MaJoR1's latest on screen buttons 2016-03-08 20:27:03 -06:00
Tyler Dunn 309b0c53bf [Android] Remove CPUHelper class 2016-03-04 16:17:41 -05:00
Ryan Houdek b57cb30c41 [Android] Make sure the file extension check isn't case sensitive 2016-03-03 08:29:51 -06:00
Pierre Bourdon 265c6408d6 Merge pull request #3686 from Armada651/revert-3578
Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
2016-03-03 02:03:03 +01:00
Pierre Bourdon 8e1aff34df Merge pull request #3682 from Alcaro/master
Run pngout and zopflipng on every single PNG in this repo.
2016-02-29 17:27:29 +01:00
Alcaro da68dfc2f4 Use optipng too. 2016-02-29 17:08:18 +01:00
Ryan Houdek c82feb6c08 Merge pull request #3626 from Sonicadvance1/more_robust_gcadapter
Improve stability of the Wii U Gamecube Controller adapter under Android.
2016-02-29 09:54:01 -05:00
Jules Blok 6d1628eda4 Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
This reverts commit e2a1a085b6, reversing
changes made to 2aea549eef.
2016-02-29 00:55:51 +01:00
Alcaro a79d9ccfa1 Run pngout and zopflipng on every single PNG in this repo. 2016-02-27 22:25:51 +01:00
Ryan Houdek 6513062144 Merge pull request #3596 from Sonicadvance1/fix_android_crash
[Android] Fix crash when we don't have access to a folder.
2016-02-22 16:15:54 -05:00
Jules Blok e2a1a085b6 Merge pull request #3578 from Armada651/forced-slow-depth
VideoConfig: Replace FastDepthCalc by ForcedSlowDepth.
2016-02-22 11:29:09 +01:00
Ryan Houdek 6cc40b1235 Improve stability of the Wii U Gamecube Controller adapter under Android.
Under failure conditions of the GC Adapter, When interface count is zero and we can't open the device.
Then there were race conditions on shutdown of the threads which could result in crashing.

Make adapter opening more robust like the Mayflash DolphinBar.
Make shutdown more robust by making the read thread control the write thread.
Make sure that there is actual data to be written when kicking the write thread. So it doesn't attempt a write a shutdown.
Make a toast on screen to tell the user that the adapter needs to be unplugged and plugged back in again for it to work.
2016-02-13 08:17:20 -06:00
sigmabeta c2d03e62e7 Add Wiimote graphic 2016-02-08 21:23:16 -05:00
sigmabeta dd4082f216 Add Wiimote Speaker option 2016-02-08 21:23:16 -05:00
sigmabeta 85cf07e87e Add Wiimote Input menu 2016-02-08 21:23:16 -05:00
Jules Blok fb2f8e49bb Android: Remove FastDepthCalc option. 2016-02-08 12:26:56 +01:00
Ryan Houdek fe53461611 [Android] Implement support for real Wiimotes with the DolphinBar
This is the only way to get Wiimotes working under Android now.
This, just like the Wii U Gamecube Controller Adapter, completely goes around Android's limitations and talks with the device directly through USBManager.

Couple notes.
Continuous scanning must be enabled otherwise the Wiimotes won't be seen.
The UI doesn't expose support for this yet. One must change the Wiimote source and continuous scanning settings manually.

Testing up to two wiimotes in Taiko No Tatsujin, no reason to believe all four won't work.
2016-02-07 05:31:48 -06:00
Ryan Houdek 07434e3a65 [Android] Fix crash when we don't have access to a folder. 2016-02-05 22:03:33 -06:00
sigmabeta 7542eafd58 Fix capitalization on "GameCube" strings 2016-01-31 10:17:30 -05:00
sigmabeta 93056e3988 Change SettingsActivity label to "Settings" instead of "CPU Settings" 2016-01-31 10:06:00 -05:00
sigmabeta 9215878868 Add some stability fixes, though probably not enough 2016-01-30 10:24:44 -05:00
sigmabeta bc03bbccf1 Make necessary modifications to Java_GCAdapter for permissions request 2016-01-30 10:10:15 -05:00
sigmabeta 6115d39a7a Implement Gamecube Input setting screen 2016-01-29 23:33:06 -05:00
Ryan Houdek f1ca95eec7 Merge pull request #3553 from Sonicadvance1/more_android_gc_adapter
Implement requesting permission for using the GC Wii U Adapter.
2016-01-29 23:12:37 -05:00
Ryan Houdek b846ec084e Implement requesting permission for using the GC Wii U Adapter. 2016-01-27 15:08:45 -06:00
sigmabeta 28bcd2636b Fix CPU Core selection on x86-64 devices (really, just the Android emulator) 2016-01-25 09:28:57 -05:00
sigmabeta 96e7f774ae Fix rotations in Settings screen breaking everything 2016-01-25 09:28:57 -05:00
sigmabeta fb04622039 Fix bugs in Setting screen & add a way to exit without saving 2016-01-24 19:31:34 -05:00
sigmabeta cf7f5d078b Fix accessing video settings on Android TV 2016-01-24 10:04:06 -05:00
sigmabeta 04974835d6 Add fragment transition animations to the Settings UI screen 2016-01-23 17:00:54 -05:00
sigmabeta 2190496ce8 Fix special case for XFB & update EFB to match desktop 2016-01-23 12:28:51 -05:00