Age | Commit message (Collapse) | Author |
|
Modernize atomics (and fix `volatile`)
|
|
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile bool` by the new `SafeFlag`
- Platform-specific implementations no longer needed
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
|
|
-Advanced Settings toggle also hides advanced properties when disabled
-Simplified Advanced Bar (errors were just plain redundant)
-Reorganized rendering quality settings.
-Reorganized miscelaneous settings for clean up.
|
|
|
|
flag is true. If it is false it is likely the library does other things and can't be unloaded
|
|
-Added a new method in Resource: reset_state , used for reloading the same resource from disk
-Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type)
-Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
|
|
|
|
Improve GDNative API and JSON generation further
|
|
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
|
|
- Add indexed type to the builtin types output, which is useful for
bindings implementing array-like access.
- Use getter type instead of hint for property types, as the hint can be
unreliable and include multiple comma-separated possible types.
|
|
- Moved Variant struct definition to its own file so it can be used
without include cycles (like on Dictionary).
- Add `index` operator function so bindings like C++ can implement the
operator[] overload (which needs a reference to the actual value).
- Added missing new/destroy functions to Vector3i array.
- Added print error/warning functions as helpers so bindings can print
messages in the same manner as Godot itself does.
|
|
|
|
`bool` is otherwise not defined in C.
|
|
Modernize Thread
|
|
Which can be used by language bindings to generate code statically. This
is generated as a different file from the class API because it has
different requirements (the builtin types have constructors and don't
have signals), so bindings can better make use of each JSON file without
extra parsing.
This also cleans up a bit the old API generator, mainly initializing
structs and renaming "instanciable" to the more correct "instantiable".
The argument description in help text was updated to better reflect how
it should be used. The <path> argument is mandatory.
|
|
- Based on C++11's `thread` and `thread_local`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed (except for the few cases of non-portable functions)
- Simpler for `NO_THREADS`
- Thread ids are now the same across platforms (main is 1; others follow)
|
|
Define GDNative sizes using sizeof(godot_real) and sizeof(int32_t)
|
|
free library when no nativescripts reference it
|
|
|
|
Those are now utilities so the function pointer can be fetched when
needed.
|
|
This API now uses the discovery functions present in Variant instead of
wrapping every built-in function. Users now need to query for function
pointers and use those.
|
|
|
|
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
|
|
Rename Vector2.tangent() to Vector2.orthogonal()
|
|
|
|
|
|
This enables hot reload for gdnative.
|
|
|
|
Renames:
- set_type() -> set_tracker_type()
- set_name() -> set_tracker_name()
- get_tracks_orientation() - `is_tracking_orientation()
- get_tracks_position() -> `is_tracking_position()
- get_hand() -> get_tracker_hand()
- set_hand() -> set_tracker_hand()
|
|
Rename TrackerHand enums
|
|
|
|
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
|
|
|
|
Renames:
TRACKER_LEFT_HAND -> TRACKER_HAND_LEFT
TRACKER_RIGHT_HAND -> TRACKER_HAND_RIGHT
|
|
touilleMan/constify-ScriptLanguage.can_inherit_from_file
Constify ScriptLanguage.can_inherit_from_file
|
|
Add PluginScript support for global class naming/icon path
|
|
|
|
|
|
|
|
[HTML5] Optional GDNative Support
|
|
|
|
This is suboptimal as it requires adding an extra compile flag, but
rewriting how feature tags work is beyond the scope of this work.
|
|
Working with emscripten >= 2.0.10
|
|
To be consistent with the naming everywhere else.
|
|
|
|
- ClassDoc added to GDScript and property reflection data were extracted
from parse tree
- GDScript comments are collected from tokenizer for documentation and
applied to the ClassDoc by the GDScript compiler
- private docs were excluded (name with underscore prefix and doesn't
have any doc comments)
- default values (of non exported vars), arguments are extraced from the
parser
- Integrated with GDScript 2.0 and new enums were added.
- merge conflicts fixed
|
|
|
|
ptrcall is now also used to optimize calls in GDScript, on top of the existing
use by the GDNative and Mono modules.
It no longer makes sense to make it optional.
|
|
|
|
* Using C-style function pointers now, InternalMethod is gone.
* This ensures much better performance in typed code.
* Renamed builtin_funcs to utility_funcs, to avoid naming confusion
|