Age | Commit message (Collapse) | Author |
|
|
|
customizable for editor too)
|
|
Restore rendering on a separate thread
|
|
And make it configurable, too.
|
|
Fix x11 boot logo position in fullscreen and in maximized
|
|
Removes the need for _MKSTR all over the place which has the drawback of
converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing
a compilation error.
|
|
really use"
This reverts commit ca194033061b4b29fe00d8e9bddf2f0478b3c3f0.
See discussion in https://github.com/godotengine/godot/commit/ca194033061b4b29fe00d8e9bddf2f0478b3c3f0#commitcomment-25715906
It also did not fix the issue it claimed to fix.
|
|
Facilitate documenting platform-exclusive classes
|
|
|
|
This makes the interfaces available, without implementation, in other
platforms and the editor, which facilitates documenting platform-exclusive
classes.
Platform-exclusive APIs must be set up in platform/<platform>/api/api.cpp.
Provide noop method-implementations where necessary.
Also setup and document the HTML5 platform's JavaScript singleton.
|
|
a lot more cpu. Fixes #11030
|
|
|
|
|
|
|
|
Physics server plug
|
|
Moved init_physics
Implemented physics 2D plug
Fix clang
Fix clang
Fix static check
Fix clang
Fix static check
Moved physics server initialization
Moved physics server settings initialization
|
|
|
|
|
|
|
|
|
|
Removed directory scan from project load
|
|
Added 'exposed' field to ClassInfo for registered classes
|
|
|
|
This field represents if the class is exposed to the scripting API.
The value is 'true' if the class was registered manually ('ClassDB::register_*class()'), otherwise it's false (registered on '_post_initialize').
- Added missing registration of classes that are meant to be exposed.
|
|
Set it to on by default for editor.
Many integrated GPUs can't really get enough performance to play games at hidpi, so this should be enabled manually.
|
|
to has_setting. Fixes #11844
|
|
Extract logging logic
|
|
|
|
Previously logging logic was scattered over OS class implementations
with plenty of duplication. Major changes in this commit:
- Extracted logging logic into a separate Logger hierarchy. It allows
easy configuration of logging mechanism depending on compile-time or
run-time configuration.
- Implemented RotatedFileLogger which is usually used with StdLogger,
providing persistency of logs. It is often important to be able to
obtain logs of the game even in production to be able to understand
what happened prior to some problem. On mobile there previously was
no way to obtain the logs aside from having the device connected to
your machine.
- flush() is not performed in release mode for every logged line. It
is only performed for errors.
|
|
|
|
Also fix some help strings.
|
|
Fix setting the default icon briefly with tools=no
|
|
|
|
|
|
|
|
[ci skip]
|
|
possible to save module files in module directories and the build system will
recognize them.
|
|
|
|
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
|
|
several more issues. Made it optional in the project settings but defaults to true.
|
|
Make GDNative work on Android
|
|
Now hopefully with correct code style
|
|
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.
|
|
Sanitize Android debug
|
|
|
|
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.
This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.
It is explained in this article: https://www.viva64.com/en/b/0226/
|
|
A change in `Main`'s API is needed. Please read the comment in the diff for an explanation.
|
|
|
|
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Always use long form of arguments when starting a new Godot process from C++, for clarity and easy grepping
- Cleanup obsolete code here and there
|
|
Also improves the command-line help text readability.
|