| Age | Commit message (Collapse) | Author |
|
If libusb fails to initialize, an assertion fails, but if that happens before the main window is created, then Dolphin just dies. Now, the panic alert is properly shown and the user can ignore it.
|
|
Android: Get rid of the boot timeout
|
|
This lets us finally get rid of BootManager's ConfigCache!
|
|
We don't have a timeout like this on other platforms, and it doesn't
accomplish anything useful as far as I can tell. If you trigger it,
all that happens is that you don't get a working game and also can't
press Exit Emulation without Dolphin hanging (stuck in Core::Shutdown).
|
|
Android: Add online system update functionality
|
|
|
|
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)
By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
|
|
Most of these became unneeded when fmt was introduced.
|
|
separators.
|
|
|
|
|
|
This replaces the MAX_LOGLEVEL define with a constexpr variable
in order to fix self-comparison warnings in the logging macros
when compiling with Clang. (Without this change, the log level check
in the logging macros is expanded into something like this:
`if (LINFO <= LINFO)`, which triggers a tautological compare warning.)
|
|
Fixes a crash which was uncovered (or just made more likely?)
by the previous commit.
|
|
|
|
|
|
|
|
|
|
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
|
|
|
|
|
|
A C compiler would very much be unable to build this code anyway.
|
|
|
|
I'm trying to move away from dumping every native method
in NativeLibrary.
|
|
|
|
This is already handled by SurfaceDestroyed. In the worst case,
the extra code could even race with SurfaceDestroyed if they
are triggered at the same time, but this is highly improbable.
|
|
Time for yet another new iteration of working around the
"surface destruction during boot" problem...
This time, the strategy is to use a mutex in MainAndroid.cpp.
|
|
This makes EmulationActivity automatically close if booting
fails, and lets us get rid of s_emulation_end_event.
|
|
|
|
Static methods use jclass, and non-static methods use jobject.
|
|
|
|
|
|
Android: Remove unnecessary JNI function declarations
|
|
|
|
Trying to get it from a GameFile before emulation starts is unreliable.
|
|
We generally have no reason to call these functions on our own, so
there's not much reason to declare them, especially not in the cpp
file where they're defined. In case we ever do get a reason to do
it, we can add declarations for just the functions that need them.
|
|
|
|
|
|
Android: Add disc image conversion
|
|
|
|
|
|
https://bugs.dolphin-emu.org/issues/12256
|
|
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.
|
|
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.
|
|
Replaces the inflexible INI functions in NativeLibrary.
|
|
|
|
Long sequences of JNI calls are both hard to read and slow.
|
|
|
|
|
|
This lets Android automatically delete data in the cache
directory when the device is running low on space or
when Dolphin is uninstalled.
|
|
Currently, the touch controller overlay uses a square gate for
sticks. This commit changes that so that it instead uses the
stick gate configured in the INI, which ensures that the values
sent to the core are appropriately scaled regardless of what
is configured in the INI and makes the overlay look nicer
if the INI is set to a stick gate that matches the graphics.
|