Age | Commit message (Collapse) | Author |
|
Now that we have a built-in stacktrace on a segfault it would be useful
to have debug information on debug_release builds so that bugreports can
include this information. Without this debug info we will still get
function names in the backtrace but not file location.
This commit will by default build all targets with minimal debug info
and then strip the information into separate files. On MacOS this is a
.dSYM file, on Linux/MingW this is a .debug file. MacOSX will
automatically load a dSYM file if it exists in its debugger. On
Linux/MingW we create a 'gnu debuglink' meaning that gdb and friends
will automatically find the debug symbols if they exist.
Existing workflow for developers does not change at all, except that we
now create two instead of one build artifact by default.
This commit also adds a 'debug_symbols' option to X11, MacOS, and MingW
targets. The default is 'yes' which corresponds to -g1. The alternatives
are 'no' (don't generate debug infos at all) or 'full' which runs with
-g2. A target=debug build will now build with -g3.
|
|
Fix enums bindings
|
|
Seems like this property isn't present on some gamepads...
Fixes #10958
|
|
|
|
Add missed bindings for enums
Move some enums to class to have correct output of api.json
|
|
|
|
Fixed loading package from resource folder, exporting textures to bun…
|
|
[ci skip]
|
|
|
|
Implemented DirAccess get_drive and get_drive_count for OS X
|
|
|
|
X11 - Hint the window manager to disable desktop compositing in fullscreen mode
|
|
Fix unused variable warnings
|
|
Remove assignment and declarations in if statements
|
|
|
|
HTML5 start-up overhaul with download progress display
|
|
- Implement promise-based JS interface for custom HTML page
integration
- Add download progress callback
- Add progress bar and indeterminate spinner to default HTML page
- Try downloading files multiple times when failing
- Get rid of godotfs.js
- Separate steps for engine initialization, game initialization and game
start
- Allow multiple games on one HTML page
- Substitution placeholders only used in .html file
- Placeholders renamed: $GODOT_BASE => $GODOT_BASENAME,
$GODOT_TMEM -> $GODOT_TOTAL_MEMORY
- Emscripten Module is now Engine.RuntimeEnvironment (no longer a global)
|
|
|
|
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
|
|
After discussing with @reduz and @akien-mga it was decided that we do
not allow assignments or declarations in if statements. This PR removes
the instances of this I could find by automated means.
|
|
added a bit of feedback for a debug compile
|
|
Prevent sending MainLoop notifications before initialized
|
|
|
|
|
|
The second in my quest to make Godot 3.x compile with -Werror on GCC7
|
|
Fix signed and unsigned comparisons
|
|
Corrections to audio buffer size calculations
|
|
|
|
|
|
The first in my quest to make Godot 3.x compile with -Werror on GCC7
|
|
Make GDNative work on Android
|
|
Replacement of internal RegEx with PCRE2
|
|
Fix pre-Lollipop Android debug
|
|
Implements OS_OSX::get_system_dir()
|
|
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.
|
|
And renaming the `Device.release` field to `api_level` for correctness.
|
|
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
|
|
|
|
|
|
Sanitize Android debug
|
|
Improve Mac/UNIX conformance/reliability
|
|
Added new WASAPI driver for Windows
|
|
- The Windows, UWP, Android (on Windows) and Linux builds are
tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
|
|
|
|
|
|
|
|
Some badly formatted code has managed to pass through our CI...
|
|
Added/Fixed null pointer checks
|
|
Free memory when Main::setup returns an error
|