Age | Commit message (Collapse) | Author |
|
Performance is around the same as using pure set() through GDScript.
|
|
|
|
|
|
After discussing this with @reduz on IRC we agreed to remove these
checks. We now consider cast_to() to be NULL safe
|
|
- Makes vararg methods automatically use PROPERTY_USAGE_NIL_IS_VARIANT on return types
- Completely removes the ":type" suffix for method names. Virtual methods must use the MethodInfo constructors that takes Variant::Type or PropertyHint as the first parameter for the return type (with CLASS_INFO as a helper to get the PropertyInfo). Parameters must use PROPERTY_HINT_RESOURCE_TYPE and hint string.
- PROPERTY_USAGE_NIL_IS_VARIANT is no longer needed for parameters, because parameters cannot be void.
- Adds missing PROPERTY_USAGE_NIL_IS_VARIANT to virtual and built-in methods that return Variant.
|
|
|
|
|
|
|
|
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/
|
|
This is to prepare to replace all instances of the member version of
cast_to().
|
|
now.
Also changed PropertyInfo to include informatino about class names.
|
|
Partial revert of #10380 based on contributor ~~bullying~~ feedback.
|
|
-Changed the way objects are marshalled and sent to the debugger
-Editing debugged objects happens in the remote inspector now
|
|
Also renames `set_message_translation` to `set_message_localization`
for consistency.
|
|
Fixes #10244.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Implement well-defined handling of unrecoverable errors
|
|
Plus the addition of some convenience CRASH_* error macros.
Plus transient avoidance of the flood of warnings emitted by Clang when checking 'this' for NULL.
Plus explanation about the do-while(0) loop in some error macros.
|
|
Ability to get a list of signals that are targeting given object
|
|
-Some changes to tree to support this properly
|
|
|
|
-Restored resource previews!
|
|
|
|
From https://github.com/lucasdemarchi/codespell
|
|
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
|
|
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:
* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.
* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.
* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.
* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.
C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.
GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.
This fixes #7354 and fixes #6947.
|
|
This saves typing and is a step towards fixing #56
|
|
|
|
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.
Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
|
|
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
|
|
|
|
-Changed clip to a property in Control which can be set by the user
|
|
renamed to PoolVector
|
|
|
|
Variant.
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
|
|
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
|
|
-Block switches to 2d/3d editor if editing visual script
-Added cast node in flow control
-Added ability to do RPC in visual script
-Comment nodes
-Fix bug with inverted cable in connecting backwards
-Copy and paste nodes, including from different scripts
|
|
This one has an ordered list, built-in description, search, etc.
|
|
|
|
such as playing a sample, an animation, etc.
-Better interpolation of discrete tracks, fixes #4417
|
|
-Made it possible to change the editor theme
-Added two options to theme editor plugin to create empty template themes and editor themes
-Make sure that saved themes to .tres keep the null theme fields, to make it easier to keep those when saving/loading the theme
|
|
those with export()
-Added PROPERTY_USAGE_SCRIPT_VARIABLE to identify what comes from script
-closes #5146
|
|
Ping @reduz.
|
|
should help properly implement #5058
|
|
|