Commit Graph

28462 Commits

Author SHA1 Message Date
JosJuice 3805b84906 Android: Add content provider support to File::Delete 2020-09-16 18:38:53 +02:00
JosJuice 6e1e6d2311 Android: Add content provider support to File::IOFile
Taking the hit now to prepare us for when Google Play will
force us to use scoped storage...
2020-09-16 18:38:53 +02:00
JosJuice d9f3e382fe Android: Add a progress dialog for disc image conversion 2020-09-16 18:38:52 +02:00
JosJuice 7d6debb907 Android: Add disc image conversion 2020-09-16 18:38:07 +02:00
JosJuice ca46028cde DiscIO: Use std::function for compression callback 2020-09-16 18:36:50 +02:00
JosJuice 161f99b864 Android: Move OSD out of the way when menu is open
https://bugs.dolphin-emu.org/issues/12256
2020-09-16 18:36:15 +02:00
JosJuice 6e6446be83 Android: Add Wii SYSCONF settings to GUI
Now that PR 8975 is merged, we can finally add this without hacks.

https://bugs.dolphin-emu.org/issues/11605
2020-09-16 12:49:55 +02:00
JosJuice 9c97654603 Config: Add SYSCONF to IsSettingSaveable
SYSCONF very much is saveable. Whether it's in IsSettingSaveable
or not hasn't mattered until now since the SYSCONF settings use
separate config loader code that doesn't check IsSettingSaveable,
but the next commit will require SYSCONF to be marked as saveable.
2020-09-16 12:15:50 +02:00
JosJuice fb2e633e1e Android: Don't assume SliderSetting minimum is 0 2020-09-16 11:59:38 +02:00
JosJuice a7b9e6857b
Merge pull request #8975 from JosJuice/android-new-config
Android: Hook up the new config system
2020-09-16 09:49:16 +02:00
JMC47 e4e50691fb
Merge pull request #9086 from JosJuice/wiimote-init-order
Core: Run Wiimote::Initialize before HW::Init to avoid crash
2020-09-16 02:26:17 -04:00
JosJuice 744c0b13cf Android: Display default path when no path is set 2020-09-15 19:10:57 +02:00
JosJuice 003696fd78 Android: Fix race condition when exiting emulation
The main activity loads settings essentially as soon as it
starts, in order to determine which tab to show. If the process
of stopping emulation has not finished at this point, a race
condition may be triggered where two IOS kernels are created
at once due to the emulation thread loading or saving the
SYSCONF while the GUI thread is loading the SYSCONF. To fix
this, we can wait for emulation to fully end before returning.

Because this race condition is hard to reproduce, I have not
been able to test that this actually fixes the race condition,
or even that the cause of the race condition is exactly what I
believe it is. But I am relatively confident.
2020-09-15 19:10:56 +02:00
JosJuice 9c19309a03 Android: Allow editing settings during emulation 2020-09-15 19:10:56 +02:00
JosJuice 736505f020 Android: Show overridden game settings in bold 2020-09-15 19:10:56 +02:00
JosJuice e24d50e881 Android: Hook up game settings to the new config system 2020-09-15 19:10:56 +02:00
JosJuice a538301891 Android: Hook up global settings to the new config system 2020-09-15 19:10:55 +02:00
JMC47 e0117a86ad
Merge pull request #8819 from JosJuice/panic-alert-deadlock-pause-on-focus-loss
DolphinQt: Fix the panic alert deadlock, Pause on Focus Loss edition
2020-09-15 11:46:46 -04:00
JosJuice de7ef47548 Core: Run Wiimote::Initialize before HW::Init to avoid crash
Fixes a crash on Android (probably nogui too?) caused by PR 8985:

std::__ndk1::__throw_out_of_range(char const*) stdexcept:265
std::__ndk1::__vector_base_common<true>::__throw_out_of_range() const vector:319
InputConfig::GetController(int) InputConfig.cpp:160
WiimoteCommon::GetHIDWiimoteSource(unsigned int) Wiimote.cpp:71
IOS::HLE::WiimoteDevice::WiimoteDevice(IOS::HLE::Device::BluetoothEmu*, int, std::__ndk1::array<unsigned char, 6ul>) WiimoteDevice.cpp:71
IOS::HLE::Device::BluetoothEmu::BluetoothEmu(IOS::HLE::Kernel&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&) BTEmu.cpp:64
IOS::HLE::Kernel::AddStaticDevices() IOS.cpp:435
IOS::HLE::Init() IOS.cpp:837
Core::EmuThread(std::__ndk1::unique_ptr<BootParameters, std::__ndk1::default_delete<BootParameters> >, WindowSystemInfo) Core.cpp:442
2020-09-15 12:19:00 +02:00
LC 9e3c08394a
Merge pull request #9085 from Techjar/better-monospace
Qt: Use better method of getting default monospace font
2020-09-15 05:01:15 -04:00
LC f0422512e6
Merge pull request #9082 from JosJuice/android-touch-pointer-recreate
Android: Fix touch pointer not working after activity recreation
2020-09-15 04:58:41 -04:00
LC 601ff182db
Merge pull request #9084 from Techjar/custom-rtc-tz-fix
Qt/AdvancedPane: Force UTC time for custom RTC entry
2020-09-15 04:58:26 -04:00
Techjar 0759ead9b6 Qt: Use better method of getting default monospace font
This should give us a nicer font on Windows, while also not severely
impacting the existing behavior on Linux.
2020-09-15 04:48:44 -04:00
Techjar 4d15fb62d9 Qt/AdvancedPane: Force UTC time for custom RTC entry 2020-09-14 22:09:14 -04:00
JosJuice c8a76e6928 Android: Fix touch pointer not working after activity recreation
The only place where initTouchPointer was called automatically
was Host_RequestRenderWindowSize, which is called at least once
after emulation start, but not after activity recreation.
2020-09-14 14:13:29 +02:00
JMC47 4f1f849c9d
Merge pull request #8985 from jordan-woyak/btemu-cleanup
BTEmu/Wiimote: Fixes and Cleanups.
2020-09-14 02:09:27 -04:00
LC eae68194b3
Merge pull request #9076 from iwubcode/qt_graphics_controls_destruction
DolphinQt: properly remove slot connection for ConfigChange when object is destructed
2020-09-13 10:39:44 -04:00
JosJuice 8bd704304e Android: Check for granted permission when returning to MainActivity 2020-09-13 14:25:14 +02:00
iwubcode 2bb7d207b7 DolphinQt: fix other widgets that use lambdas (capturing this) without setting the receiver 2020-09-12 17:53:17 -05:00
iwubcode a83bf8bc59 DolphinQt: properly remove slot connection for ConfigChange when object is destructed 2020-09-12 17:35:58 -05:00
JosJuice f011e859b4 Android: Centralize default values for settings
I was hoping we would be able to pull in the default values
from C++, but it seems like more trouble than it's worth,
partially because of different settings having default values
of different types and partially because we don't have any
convenient way to get a list of all C++ settings.
2020-09-12 14:59:34 +02:00
JosJuice 13d1ef6681 Android: Centralize setting definitions
Except controller settings, because those would be annoying
to fit into the same system, and I only need the non-controller
settings to be brought over for the next commits to work.
2020-09-12 14:29:34 +02:00
JosJuice d51f58f828 Android: Wait for initialization before launching EmulationActivity
...instead of waiting for it after launching EmulationActivity.
We need this because there is code that runs very early in
EmulationActivity that accesses the settings.
2020-09-12 14:25:19 +02:00
JMC47 b1fecbb71c
Merge pull request #9004 from JosJuice/android-menu-back
Android: Use Back to open the emulation menu on all devices
2020-09-12 08:17:23 -04:00
JMC47 1335df8eb5
Merge pull request #9039 from shuffle2/bt-dll
windows: keep an extra reference to BluetoothApis.dll
2020-09-11 04:28:55 -04:00
JMC47 dcbe9da279
Merge pull request #8743 from Techjar/apple-pls-support-standard-api
VideoBackends: Disable GPU Texture Decoding under MoltenVK
2020-09-10 09:54:11 -04:00
Vincent Milum Jr 4e443ed857
Adding AmdPowerXpressRequestHighPerformance
Adding AmdPowerXpressRequestHighPerformance

This will allow AMD drivers to detect the request to use the dGPU instead of the iGPU on compatible hybrid graphics systems.

Reference: https://community.amd.com/thread/169965
2020-09-09 22:09:34 -07:00
Admiral H. Curtiss c74ea6696e Settings: Fix incorrect config key for enabled analytics. 2020-09-09 20:19:30 +02:00
JMC47 a31c204ca8
Merge pull request #8765 from AdmiralCurtiss/jit-reuse-memory
Jit64 codegen space reuse.
2020-09-09 08:16:09 -04:00
Techjar 8423f848d0 ControllerInterface: Combine evdev devices with the same physical location in addition to unique ID 2020-09-08 18:52:15 -04:00
JosJuice cecec756ec Android: Always show Exit Emulation at bottom of menu
To make it easier to access on touchscreens.
2020-09-08 16:39:34 +02:00
JosJuice 6b68b76aed Android: Remove redundant pause/unpause code 2020-09-08 16:39:34 +02:00
JosJuice 1fdabc7481 Android: Exit emulation by long pressing Back 2020-09-08 16:39:34 +02:00
JosJuice a03f40ab15 Android: Change "Exit" to "Exit Emulation" 2020-09-08 16:39:34 +02:00
JosJuice 29bb51c456 Android: Adjust margins for game title in menu 2020-09-08 16:39:34 +02:00
JosJuice 7aa9222dac Android: Hide Refresh Wii Remotes menu entry for GameCube games 2020-09-08 16:39:34 +02:00
JosJuice 36a3b54c1f Android: Port over settings from the old menu 2020-09-08 16:39:34 +02:00
JosJuice 364b9702f4 Android: Use narrow layout for savestate slot picker in portrait 2020-09-08 16:35:26 +02:00
JosJuice 772a98e853 Android: Ensure menu is always wide enough
25% of the screen isn't necessarily wide enough on phones,
especially not in portrait mode.
2020-09-08 16:35:26 +02:00
JosJuice 48de1333df Android: Close the menu when tapping outside of it 2020-09-08 16:35:26 +02:00
JosJuice 48c34bba8a Android: Don't hide the menu when pressing Exit
Removing the menu for a split second before showing the transition
back to the main activity looks janky.
2020-09-08 16:27:09 +02:00
JosJuice 27554d2f26 Android: Remove inappropriate leanback checks
Android TV devices aren't the only devices without touchscreens.

Regarding MotionAlertDialog, I could've replaced the leanback
check with a touchscreen check instead of just removing it,
but I thought there was no reason to prevent people with
touchscreens from doing a long back press if they want to.
2020-09-08 16:27:09 +02:00
JosJuice cf51642c17 Android: Use Back to open the emulation menu on all devices
https://bugs.dolphin-emu.org/issues/12029

We currently have one way of opening the menu on touch screen
devices (swiping down from the top of the screen to bring up the
action bar and selecting the menu in the action bar), and another
way of opening the menu on Android TV (pressing Back). However,
some devices that claim to support touch (or don't support
leanback? Dolphin currently conflates the two) don't actually let
you swipe down from the top of the screen in the way that Dolphin
expects, notably Chromebooks. There are also some phones where you
can swipe down from the top of the screen but this for some reason
doesn't lead to the action bar becoming visible, though we are
getting less reports about this nowadays than in the past.

This change makes us use the Back method on all devices,
since it should work on all devices with no significant drawbacks.

Unfortunately, we not only have two different ways of triggering
the menu but actually two entirely different menus, with the
non-touch menu not implementing options that only are revelant
when using a touch screen. A later commit will add the missing
features to the menu that we now use on all devices.
2020-09-08 16:27:09 +02:00
LC 67761c7d31
Merge pull request #9067 from Ebola16/Fixes4
Android: Optimize imports
2020-09-08 09:47:59 -04:00
Ryan Meredith 1aacb575de Android: Remove calling create immediately before show 2020-09-08 06:20:19 -04:00
Ryan Meredith 10e85ff40c Android: Remove unnecessary getString calls 2020-09-08 06:14:58 -04:00
Ryan Meredith 255e8ff007 Android: Optimize imports 2020-09-08 06:01:34 -04:00
Ryan Meredith 1ec2ac780d Android: Update code-style-java for androidx files 2020-09-08 05:59:08 -04:00
JMC47 3d33b1c2c5
Merge pull request #9060 from Pokechu22/ignore-pi-reset-code
Ignore PI_RESET_CODE resetting DI in Wii mode
2020-09-08 01:56:19 -04:00
LC b350cf043b
Merge pull request #8976 from JosJuice/port-some-settings
Port some settings to the new config system
2020-09-07 22:37:46 -04:00
LC fa91b47863
Merge pull request #9054 from sepalani/hle-cleanup
HLE cleanup
2020-09-07 22:36:19 -04:00
LC 8e505ad8d5
Merge pull request #9055 from JosJuice/gc-sample-rate
AudioInterface: Use 32029/48043 Hz in more places
2020-09-07 22:35:00 -04:00
LC a3dfb228fd
Merge pull request #9062 from JosJuice/android-dir-init-fail-message
Android: Optional AfterDirectoryInitializationRunner failure message
2020-09-07 22:33:52 -04:00
LC 95376208a1
Merge pull request #9064 from JosJuice/android-filepicker-normal
Android: Make FilePicker act like a normal setting
2020-09-07 22:33:10 -04:00
LC 48cfc32bf3
Merge pull request #8935 from JosJuice/di-read-latency
DVDInterface: Increase the latency for read commands
2020-09-07 22:31:18 -04:00
Techjar 69358b2186 VideoBackends: Disable GPU Texture Decoding under MoltenVK
It's broken and causes spectacular artifacts and crashes.
2020-09-07 17:28:05 -04:00
JMC47 e7e5175606
Merge pull request #8861 from JosJuice/netplay-hash
Make netplay's "same game" check more robust
2020-09-06 17:14:08 -04:00
JMC47 344fdabf23
Merge pull request #8943 from JosJuice/android-horizontal-wiimote-buttons
Android: Fix saving Horizonal Wii Remote overlay A/B/1/2 positions
2020-09-06 17:09:51 -04:00
JosJuice bd44106fec AudioCommon: Get initial sample rates from AudioInterface 2020-09-06 15:37:20 +02:00
JosJuice 00a8f4faaa Android: Make FilePicker act like a normal setting
The reason why the finish() call was added no longer exists.
(Also, there was never a duplicate SettingsActivity as far as
I can tell, only a duplicate SettingsFragment.)
2020-09-06 14:41:01 +02:00
JosJuice ee9444a8f9 Android: Create separate InvertedCheckBoxSetting and PercentSliderSetting classes
This way we don't have to hardcode any keys inside the classes.
2020-09-06 13:29:57 +02:00
JosJuice c6a308380c Android: Replace Java INI parser with C++ INI parser
Fixes https://bugs.dolphin-emu.org/issues/12096.
2020-09-06 13:29:56 +02:00
JosJuice 74f197caed Android: Expose a proper interface for C++ IniFile class
Replaces the inflexible INI functions in NativeLibrary.
2020-09-06 13:29:52 +02:00
JMC47 c8c4ec28ce
Merge pull request #8644 from JosJuice/rework-tgc
DiscIO: Rework the implementation of TGC reading
2020-09-06 07:06:26 -04:00
JosJuice 6eefc3c524 Make default graphics backend not show up as empty
Fixes https://bugs.dolphin-emu.org/issues/12245.

I considered making a change to DolphinQt instead of
the core, but then additional effort would've been
required to add the same fix to the Android GUI once
we start using the new config system there.
2020-09-06 12:56:45 +02:00
JosJuice 2959e76f4a Android: Optional AfterDirectoryInitializationRunner failure message
This centralizes the code for showing the write_permission_needed
and external_storage_not_mounted toasts.
2020-09-06 00:47:36 +02:00
Pokechu22 8142712c88 Ignore PI_RESET_CODE resetting DI in Wii mode
Fixes bug 12241
2020-09-04 16:54:00 -07:00
LC db067104ed
Merge pull request #9047 from JosJuice/wia-header-heuristic
DiscIO: Adjust WIA/RVZ header size heuristic
2020-09-01 17:58:51 -04:00
LC 936702bd04
Merge pull request #9033 from leoetlino/scan-thread
IOS/USB: Move scan thread logic into a separate class
2020-09-01 17:56:33 -04:00
LC fb32f1ab88
Merge pull request #9042 from Ebola16/FP
Android: Minor cleanup
2020-09-01 07:27:07 -04:00
LC d17c407f09
Merge pull request #9052 from Ebola16/GCAT
Android: Better GCAdapter scanning thread management
2020-09-01 07:25:59 -04:00
LC 42a7c959e1
Merge pull request #9056 from JosJuice/supportsreadwiidecrypted-parameter
DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted
2020-09-01 07:25:31 -04:00
LC 6bd7687893
Merge pull request #9050 from stblr/memory-watcher-fix
MemoryWatcher: Do not follow invalid pointers
2020-09-01 07:24:05 -04:00
Ryan Meredith 05f3c4d579 Android: Remove unused files 2020-08-31 11:42:27 -04:00
Ryan Meredith 85ddb8fc86 Android: Minor cleanup 2 2020-08-31 11:23:59 -04:00
JosJuice bdd28c0edf DiscIO: Expand WIA/RVZ header size heuristic comments 2020-08-31 14:46:13 +02:00
Ryan Meredith 30ea98177a Android: Minor cleanup 2020-08-31 07:20:02 -04:00
Ryan Meredith 7d39ed9bcc Android: res cleanup 2020-08-31 06:49:10 -04:00
Jordan Woyak e0b64e0ef8
Merge pull request #9049 from Ebola16/GCAC
GCAdapter_Android: Minor cleanup
2020-08-30 19:48:07 -05:00
Shawn Hoffman e601bc5532 windows: keep an extra reference to BluetoothApis.dll 2020-08-30 17:46:32 -07:00
Jordan Woyak 0a63340c20
Merge pull request #9037 from shuffle2/code-cleanup
Code cleanup
2020-08-30 19:43:23 -05:00
Pablo Stebler ff168469b7
MemoryWatcher: Do not follow invalid pointers 2020-08-30 10:29:40 +02:00
JosJuice 047bb80337 DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted
It's possible (but rare) for a WIA or RVZ file to support
this for some partitions but not all, and for the game and
the blob code to disagree on how large a partition is.
2020-08-29 15:18:52 +02:00
JosJuice 1a1b89e7e8 AudioInterface: Use 32029/48043 Hz in more places
In particular, I wanted to do change this in
AudioInterface::Init so that dumped GC audio doesn't need
to have a file split (changing from 32000 Hz to 32029 Hz)
when the emulated software initializes the AI registers.
I've also made the same change to DI's DTK code.
2020-08-29 13:24:39 +02:00
Sepalani 4c75b96254 HLE: Improve naming
Replace 'function' with 'hook' when appropriate
2020-08-28 20:29:05 +04:00
Shawn Hoffman 24e8ed8e27 msbuild: add experimental:deterministic for safety 2020-08-28 01:39:38 -07:00
Shawn Hoffman 5d334d4756 msbuild: explicitly disable incremental linking
Previously the default was used, which would
enable incremental linking for debug builds.
2020-08-27 23:59:22 -07:00
Shawn Hoffman 969ea6e4f5 msvc: enable /Zc:preprocessor and make build compile cleanly 2020-08-27 21:58:48 -07:00
Shawn Hoffman 4db06bf85b ogl: init ProgramShaderCache::s_ubo_align to 1.
silences a warning that it may cause div-by-zero.
2020-08-27 15:15:52 -07:00
Shawn Hoffman 8068ff92bf msbuild: use x64-hosted toolchain 2020-08-27 15:15:52 -07:00