- almost all the colors are generated now. They get adapted based on
the theme color. All the correct icons are used
- error label now uses error color
- added missing button colors in editor theme
Namely, automatically pick debug over Wi-Fi for devices with an older release and debug over USB otherwise.
A message is printed both in editor output window and console (uppercase here) to let the user know about what mechanism is being used and why.
This changes the order of creating some of the dialogs that may appear
during project import/startup. It is possible for the 'accept' dialog to
be required before it is initialized.
This moves all of these dialogs to earlier in the constructor so this
can't happen.
The changes include work done to ensure that GDNative apps and Nim
integration specifically can run on Android. The changes have been
tested on our WIP game, which uses godot-nim and depends on several
third-party .so libs, and Platformer demo to ensure nothing got broken.
- .so libraries are exported to lib/ folder in .apk, instead of assets/,
because that's where Android expects them to be and it resolves the
library name into "lib/<ABI>/<name>", where <ABI> is the ABI matching
the current device. So we establish the convention that Android .so
files in the project must be located in the folder corresponding to
the ABI they were compiled for.
- Godot callbacks (event handlers) are now called from the same thread
from which Main::iteration is called. It is also what Godot now
considers to be the main thread, because Main::setup is also called
from there. This makes threading on Android more consistent with
other platforms, making the code that depends on Thread::get_main_id
more portable (GDNative has such code).
- Sizes of GDNative API types have been fixed to work on 32-bit
platforms.
Apparently -ffast-math generates incorrect code with recent versions of
GCC and Clang. The manual page for GCC warns about this possibility.
In my tests it doesn't actually appear to be measurably slower in this
case, and this is used in a batch process so it seems safe to disable
this.
This fixes#10758 and fixes#10070
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.
Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.