| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
|
|
|
|
|
|
|
|
| |
Adds the is_process_running function to the native OS class and exposes it to script.
This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.
Documentation is updated to reflect new API function.
|
|
|
|
|
|
| |
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
|
| |
|
| |
|
|
|
|
|
| |
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We might want to re-add something like this if/when we find a good use case
for it and do the effort to categorize all objects in the API properly.
Until then, it's better to remove that boilerplate since it's not needed.
Closes #18711.
|
|/
|
|
|
|
|
|
|
| |
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core
This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
|
|
|
|
|
|
|
|
|
| |
* Based on the work done for Variant in the past.
* Added `ClassDB::bind_static_method`
* Cleaned up ClassDB::bind_method to use variadic templates.
This adds support for having static methods in Object derived classes.
Note that this does not make it work yet in GDScript or Mono and, while it works for GDExtension, GodotCPP needs to be updated.
|
|\ |
|
| |
| |
| |
| |
| | |
enh: Add FLAG_NONE to SaverFlags in ResourceSaver to fix api inconsistency
fix: flags parameter of ResourceSaver::save is now uint32_t to allow flag composition in scripts
|
| |
| |
| |
| |
| |
| |
| |
| | |
This method can be used to get the CPU model name.
It can be used in conjunction with
`RenderingServer.get_video_adapter_name()` and
`RenderingServer.get_video_adapter_vendor()` for annotating benchmarks
and automatic graphics quality configuration.
|
|/
|
|
|
| |
Uses GDExtension, replaces old Callable system for profilers, and is
also used internally.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Always build with the GUI subsystem.
Redirect stdout and stderr output to the parent process console.
Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with `create_process`).
Add `open_console` argument to the `execute` and `create_process` to open a new console window.
Remove `interface/editor/hide_console_window` editor setting.
Remove `Toggle System Console` menu option.
Remove `set_console_visible` and `is_console_visible` functions.
|
|/
|
|
| |
Happy new year to the wonderful Godot community!
|
| |
|
|
|
|
|
| |
This makes it possible to test the system's crash handler without
having to modify engine code or exploit an engine bug.
|
| |
|
| |
|
|
|
|
| |
[macOS] Modify `create_project` function to detect and run app bundles using NSWorkspace to ensure app window is registered and activated correctly.
|
|
|
|
|
|
|
|
|
|
| |
- Rename OpenGL to GLES3 in the source code per community feedback.
- The renderer is still exposed as "OpenGL 3" to the user.
- Hide renderer selection dropdown until OpenGL support is more mature.
- The renderer can still be changed in the Project Settings or using
the `--rendering-driver opengl` command line argument.
- Remove commented out exporter code.
- Remove some OpenGL/DisplayServer-related debugging prints.
|
|
|
|
|
| |
- Use lowercase driver names for the `--rendering-driver`
command line argument.
|
| |
|
|
|
|
| |
Replacing `is_active` resolves an API discrepancy between core_bind Thread and core/os Thread.
|
| |
|
|
|
|
|
|
|
|
|
| |
This method extracts the 2 or 3-letter language code from `OS::get_locale()`,
making it easier for users to identify the "main" language code for users
that might have different OS locales due to different OS or region, but
should be matched to the same translation (e.g. "generic" Spanish).
Fixes #40703.
|
| |
|
|
|
|
|
| |
* Exposed functions in Engine to register and unregister singletons.
* Added the concept of user singletons, which can be removed (the system ones can't).
|
|
|
|
|
|
| |
Thanks to neikeq for the initial work.
Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
|
|
|
|
|
| |
This is done by providing API access to app specific directories which don't have any limitations and allows us to bump the target sdk version to 30.
In addition, we're also bumping the min sdk version to 19 as version 18 is no longer supported by Google Play Services and only account of 0.3% of Android devices.
|
|
|
|
|
|
|
|
| |
This makes it clearer that this property is only about physics FPS,
not rendering FPS.
The `physics_fps` project setting was also renamed to
`physics_ticks_per_second` for consistency.
|
| |
|
| |
|
|
|
|
| |
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This can be used during unit test suite runs to hide error and warning
messages.
Care should be taken when using this feature, as it can hide important
information if used wrongly.
|
| | |
|
|\ \
| | |
| | | |
Consolidate JSON, JSONParseResults and JSONParser into JSON
|
| | |
| | |
| | |
| | |
| | | |
Renames JSON.parse_string() to parse()
Renames JSON.decode_data() to stringify()
|
|/ /
| |
| |
| |
| |
| | |
This can be used by editor plugins and non-game applications to
store data in the correct directories according to the
XDG Base Directory specification.
|
|\ \
| | |
| | | |
Add a Time singleton
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Core: Move DirAccess and FileAccess to `core/io`
|
| |/ /
| | |
| | |
| | |
| | | |
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
|
|\ \ \
| |/ /
|/| | |
Increased String::num default decimal precision
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes #34541
Renamed MAX_DIGITS to MAX_DECIMALS, since it only changes the
amount of digits after the decimal point.
Increased MAX_DECIMALS to 32, and made String::num use
MAX_DECIMALS consistently. If -1 is passed as
decimal precision to String::num, it now gets changed to
the correct precision based on the number's magnitude,
instead of using printf default(which is 6)
String::num_real also calculates the correct precision now.
Also made the types used in floating-point math more
consistent in a few places.
|