Age | Commit message (Collapse) | Author |
|
Now the process uses a Map to lookup node pointers instead of iterating
over all modified node paths in a list and comparing them for each
property to check.
The process also avoids checking properties with empty node paths and
does an early exit on deleted nodes to avoid checking the node and its
descendants.
Also made a minor change in NodePath::rel_path_to() to avoid resizing a
Vector many times for long paths (with copy-on-write each time). Now
it's down to 2 resize calls in any case.
|
|
* Unifies how material parameters are updated.
* Single function, easier to maintain.
* Updates materials properly when textures change.
|
|
shortcuts
|
|
|
|
Would cause memory leak when the context was `start`ed but not
`finish`ed.
|
|
This commit adds a new method to the `InputMap`, allowing the user to get the value of an action's dead zone as a float.
|
|
Force String as Dictionary key instead of StringName
|
|
* Lua table syntax uses named indexing: `{ mykey = myvalue }`
* Python style syntax uses string indexing: `{ "mykey" : myvalue }`
* Both are incompatible since a StringName key wont fetch a String key, hence confusing.
* This PR proposes always using String for indexing at a very minimal performance cost. Always indexing with StringNames will be faster, but they are considerably more expensive to create.
|
|
Also use const more often.
|
|
LocalVector: Don't error if `from` >= `count`
|
|
Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.x
|
|
Vector handles this silently by returning -1, and we should do the same here.
Otherwise we get errors when calling `find()` on e.g. a LocalVector of size 0,
while `find()` is expected to always work (if the parameters are invalid then
it doesn't find anything, so -1).
Fixup to #49925.
|
|
|
|
Network port comparison is always false
|
|
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:
* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
|
|
error: comparison is always false due to limited range of data type [-Werror=type-limits]
ERR_FAIL_COND_V_MSG(p_port < 0 || p_port > 65535, ERR_INVALID_PARAMETER, "The local port number must be between 0 and 65535 (inclusive).");
|
|
* Ability to allocate empty objects in RID_Owner, so RID_PtrOwner is not needed in most cases.
* Improves cache usage, as objects are now allocated together
* Should improve performance in 2D rendering
|
|
Make use of variable "from" in local_vector find() function.
|
|
|
|
Validate image formats, check if resize_to_po2 failed
|
|
|
|
|
|
|
|
* Deprecates GDNative in favor of a simpler, lower level interface.
* New extension system allows registering core engine classes.
* Simple header interface in gdnative_interace.h
|
|
Fix crash when freeing GradientTexture and NoiseTexture
|
|
|
|
|
|
|
|
Also MIDIMessage
|
|
|
|
|
|
|
|
Added support for scripts reporting multiple errors to ScriptTextEditor
|
|
Binary serialization for reals
|
|
Fix `InputMap.action_erase_event()` failing to erase events correctly.
|
|
Consolidate JSON, JSONParseResults and JSONParser into JSON
|
|
Scripts can now report multiple errors to the scripting editors in the engine. UI elements were added to support multiple errors.
|
|
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.
|
|
Make some Variant internal functions public.
|
|
|
|
Add Quaternion angle_to method
|
|
Allow multiplying Transforms and Basis by numbers
|
|
Add PROPERTY_USAGE_NONE and use it
|
|
|
|
Added new "encode_real" methods for handling real_t, and used them for vector types. Types are encoded based on compilation setting.
But for decoding, always check how it was encoded. This way, serialized data is cross-compatible with Godot compiled with singles and Godot compiled with doubles. At least, in theory.
|
|
|
|
|
|
-Make constructors, ops and setget inline functions public
-Should help optimizing the GDScript VM
|
|
|