summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-07-09Optimize NodePath update when renaming or deleting nodes in the editorPouleyKetchoupp
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.
2021-07-06Unify material parameter updatereduz
* Unifies how material parameters are updated. * Single function, easier to maintain. * Updates materials properly when textures change.
2021-07-06Added EditorInspectorPlugin to aid in editing InputEvents in resources and ↵Eric M
shortcuts
2021-07-05Fix Variant tags parsing.bruvzg
2021-07-03[Crypto] Delete mbedtls ctx in deconstructor.Fabio Alessandrelli
Would cause memory leak when the context was `start`ed but not `finish`ed.
2021-07-02Add `get_dead_zone()` method to `InputMap`Nick H
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.
2021-07-01Merge pull request #50057 from reduz/force-string-in-dictionaryRémi Verschelde
Force String as Dictionary key instead of StringName
2021-07-01Force String as Dictionary key instead of StringNamereduz
* 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.
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-07-01Merge pull request #50044 from akien-mga/localvector-find-noerrorRémi Verschelde
LocalVector: Don't error if `from` >= `count`
2021-07-01Merge pull request #50026 from lyuma/callable_is_validRémi Verschelde
Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.x
2021-07-01LocalVector: Don't error if `from` >= `count`Rémi Verschelde
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.
2021-07-01Add Callable.is_valid() analogous to FuncRef.is_valid() from 3.xLyuma
2021-07-01Merge pull request #50018 from fire/port-falseRémi Verschelde
Network port comparison is always false
2021-06-30Fix editor suffixes and degrees conversionreduz
* 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.
2021-06-30Network port comparison is always falseK. S. Ernest (iFire) Lee
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).");
2021-06-29Improve RID_Owner memory usagereduz
* 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
2021-06-29Merge pull request #49925 from RicardRC/FindFromNopRémi Verschelde
Make use of variable "from" in local_vector find() function.
2021-06-29Use unused from in local vector find function.Ricard Rovira
2021-06-29Merge pull request #49905 from pfertyk/issue-46480-image-compress-crashes-godotRémi Verschelde
Validate image formats, check if resize_to_po2 failed
2021-06-29Implement painting properties over TileSetsGilles Roudière
2021-06-28Validate image formats, check if resize_to_po2 failedPaweł Fertyk
2021-06-27Fix Image.adjust_bcs crash when image format is invalidHaoyu Qiu
2021-06-25Implement native extension systemreduz
* 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
2021-06-24Merge pull request #49583 from timothyqiu/texture-crashRémi Verschelde
Fix crash when freeing GradientTexture and NoiseTexture
2021-06-23[Net] Makes HTTPClient a custom instance class.Fabio Alessandrelli
2021-06-23[Net] Unify HTTPClient request and request_raw.Fabio Alessandrelli
2021-06-21Improved some error messages (from ERR_FAIL_*) in Object.Eric M
2021-06-20Use mouse and joypad enums instead of plain integersAaron Franke
Also MIDIMessage
2021-06-20Move many input enums to their own fileAaron Franke
2021-06-20Merge pull request #48359 from Calinou/add-engine-print-error-propertyRémi Verschelde
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #48804 from EricEzaM/scripting-multi-error-supportRémi Verschelde
Added support for scripts reporting multiple errors to ScriptTextEditor
2021-06-20Merge pull request #48080 from aaronfranke/real-serializationRémi Verschelde
Binary serialization for reals
2021-06-20Merge pull request #48696 from madmiraal/fix-48692Rémi Verschelde
Fix `InputMap.action_erase_event()` failing to erase events correctly.
2021-06-19Merge pull request #44806 from madmiraal/consolidate_jsonRémi Verschelde
Consolidate JSON, JSONParseResults and JSONParser into JSON
2021-06-19Added support for scripts reporting multiple errors to ScriptTextEditorEric M
Scripts can now report multiple errors to the scripting editors in the engine. UI elements were added to support multiple errors.
2021-06-19Consolidate JSON, JSONParseResults and JSONParser into JSONMarcel Admiraal
Renames JSON.parse_string() to parse() Renames JSON.decode_data() to stringify()
2021-06-19Expose OS data directory getter methodsHugo Locurcio
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.
2021-06-19Merge pull request #49287 from reduz/expose-variant-internal-bindersRémi Verschelde
Make some Variant internal functions public.
2021-06-18Merge pull request #49659 from LightningAA/string-valid-integer-to-intRémi Verschelde
2021-06-18Merge pull request #44156 from aaronfranke/quat-angle-toRémi Verschelde
Add Quaternion angle_to method
2021-06-18Merge pull request #49638 from aaronfranke/multiply-transformsRémi Verschelde
Allow multiplying Transforms and Basis by numbers
2021-06-18Merge pull request #49698 from aaronfranke/prop-no-usageRémi Verschelde
Add PROPERTY_USAGE_NONE and use it
2021-06-17Add Quaternion angle_to methodAaron Franke
2021-06-17Binary serialization for realsAaron Franke
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.
2021-06-18Better format arguments in variant parserMichael Alexsander Silva Dias
2021-06-17Add PROPERTY_USAGE_NONE and use itAaron Franke
2021-06-17Make some variant internal functions public.reduz
-Make constructors, ops and setget inline functions public -Should help optimizing the GDScript VM
2021-06-17Consider a thread done if current_work is nullLyuma