summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-08-28Merge pull request #52180 from timothyqiu/config-file-propHugo Locurcio
Quote and escape ConfigFile keys when necessary
2021-08-28Merge pull request #47406 from mashumafi/master-Array-insert-rcMax Hilbrunner
Array::insert consistent with Pool*Array::insert
2021-08-28Merge pull request #43522 from qarmin/divide_by_zero_in_vectoriMax Hilbrunner
Fix crash when dividing by 0 in Vector2/3i
2021-08-28Quote and escape ConfigFile keys when necessaryHaoyu Qiu
2021-08-27Merge pull request #52122 from V-Sekai/autoload_listK. S. Ernest (iFire) Lee
Use sorted map for autoloads in ProjectSettings to preserve order.
2021-08-27Merge pull request #52090 from balloonpopper/bug52060Max Hilbrunner
Correct null and boolean values being capitalised by the str command
2021-08-27Add a SafeList data structure for future audio server usage.Ellen Poe
2021-08-27Merge pull request #52110 from nekomatata/fix-segment-intersectionCamille Mohr-Daurat
Fix segment intersection consistency in Geometry2D
2021-08-26Use OrderedHashMap for autoloads to preserve orderLyuma
2021-08-27Add an `Array.pop_at()` method to pop an element at an arbitrary indexHugo Locurcio
Negative indices are supported to pop an element relative from the end.
2021-08-26Merge pull request #52121 from groud/fix_localvector_insertJuan Linietsky
Fix LocalVector crash on insert.
2021-08-26Merge pull request #52107 from timothyqiu/overridenJuan Linietsky
Fix misspelled "overriden"
2021-08-26Merge pull request #51928 from reduz/extension-loaderJuan Linietsky
Implement Extension Loader
2021-08-26Merge pull request #52077 from reduz/error-ret-docJuan Linietsky
Implement error return documentation
2021-08-26Fix LocalVector crash on insert.Gilles Roudière
2021-08-26Correct null and boolean values being capitalised by the str commandBalloonpopper
2021-08-25Fix segment intersection consistency in Geometry2DPouleyKetchoupp
Segment collision results could be different depending on the direction when they exactly touch (order of the points in segments). This was due to the way parallelism was checked, using different logic based on positive or negative sign of cross products. Now the results are the same whatever the direction, without changing the current design, which is that parallel or colinear segments are not considered colinear. Fixes inconsistencies with raycasts exactly on edges of convex shapes depending on the direction.
2021-08-26Fix misspelled "overriden"Haoyu Qiu
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-25Add ability to register singletons from engine APIreduz
* Exposed functions in Engine to register and unregister singletons. * Added the concept of user singletons, which can be removed (the system ones can't).
2021-08-24Implement error return documetationreduz
Adds ability to add error return documetation to the binder and class reference. Usage example: ```C++ void MyClass::_bind_method() { [..] BIND_METHOD_ERR_RETURN_DOC("load", ERR_FILE_CANT_OPEN, ERR_FILE_UNRECOGNIZED); } ``` One function of ConfigFile was changed as example.
2021-08-24Merge pull request #52041 from Rubonnek/expose-simplify-pathMax Hilbrunner
Expose `String.simplify_path`
2021-08-24Expose String.simplify_pathWilson E. Alvarez
2021-08-23Expose RID creation utilities.reduz
* Exposed as utility functions. * Not very useful for script, but vital for creating servers using native extensions.
2021-08-23Merge pull request #52036 from reduz/native-extension-argument-pointersJuan Linietsky
Implement NativeExtension pointer arguments
2021-08-23Implement NativeExtension pointer argumentsreduz
* Allows calling into native extensions directly with a pointer * Makes it easier to implement some APIs more efficiently * Appears with a "*" in the documentation for the argument. * Implementing the pointer handling is entirely up to the implementation, although the extension API provides some hint. * AudioStream has been implemented as an example, allowing to create NativeExtension based AudioStreams.
2021-08-23Merge pull request #51791 from mhilbrunner/better-error-namesMax Hilbrunner
Improve error descriptions
2021-08-23Improve error descriptionsMax Hilbrunner
2021-08-23Merge pull request #51971 from aaronfranke/httpsMax Hilbrunner
Replace HTTP URLs with HTTPS for sites with HTTPS versions
2021-08-23Merge pull request #51750 from jmb462/inputmap_action_suggestionsMax Hilbrunner
Adding InputMap action error suggestions for Input singleton (Fix #51634)
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-22Replace HTTP links with HTTPS for sites with HTTPS versionsAaron Franke
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-21Merge pull request #51836 from akien-mga/string-remove-NO_USE_STDLIBRémi Verschelde
String: Remove old NO_USE_STDLIB code path
2021-08-20Implement Extension Loaderreduz
* Extensions are now scanned and loaded on demand. * Extensions found are cached into a file that is used to load them (which is also exported). * Editor will ask to restart when an extension requires core functionality. * Editor will attempt to load extensions always before importing or loading scenes. This ensures extensions can register the relevant types.
2021-08-20Fix winding of new convex hull implementation.Morris Tabor
2021-08-20Merge pull request #51902 from vnen/variant-internal-constructorRémi Verschelde
Fix initialization of objects in VariantInternal
2021-08-19Fix initialization of objects in VariantInternalGeorge Marques
2021-08-19Fix capsule height/radius setters with linked propertiesPouleyKetchoupp
Capsule height and radius setters can modify each other, rather than using clamping, to avoid cases where values are not set correctly when loading a scene (depending on the order of properties). Inspector undo/redo: Added the possibility to link properties together in the editor, so they can be undone together, for cases where a property can modify another one. Gizmo undo/redo: Capsule handles pass both radius and height values so they can be undone together.
2021-08-18Merge pull request #51627 from mhilbrunner/todo-for-neikeqRémi Verschelde
2021-08-18String: Remove old NO_USE_STDLIB code pathRémi Verschelde
We're using the standard library in many core classes by now so this code path no longer makes sense.
2021-08-18[Net] MultiplayerReplicator with initial state.Fabio Alessandrelli
Move the former "spawnables" functions to a dedicated MultiplayerReplicator class. Support custom overrides in replicator. Spawn/despawn messages can now contain a state. The state can be automatically encoded/decoded by passing the desired object properties to `spawnable_config`. You can use script properties to optimize the state representation. 2 Callables can be also specified to completely override the default implementation for sending and receiving the spawn/despawn event. (9 bytes overhead, and there's room for improvement here). When using a custom implementation `spawn` and `despawn` can be called with any Object, `send_spawn`/`send_despawn` can receive any Variant as a state, and the path is not required. Two new functions, `spawn` and `despawn`, convey the implementation independent method for requesting a spawn/despawn of an Object, while `send_spawn` and `send_despawn` represent the more low-level send event for a Variant to be used by the custom implementations.
2021-08-18Merge pull request #51787 from akien-mga/string-num-fix-default-decimalsRémi Verschelde
String: Fix default decimals truncation in num and num_real
2021-08-18Merge pull request #51807 from vnen/extension-fixesRémi Verschelde
Some fixes for the extension API
2021-08-17Properly set up virtual calls for extensionsGeorge Marques
2021-08-18String: Fix default decimals truncation in num and num_realRémi Verschelde
Fixes undefined behavior, and fixes the logic for negative powers of ten. Fixes #51764. Adds tests to validate the changes and prevent regressions. Adds docs for `String.num`.
2021-08-17Fixes to tests for Variant and Geometry3DAaron Franke
2021-08-17A few fixes in the extension C APIGeorge Marques
- Add MethodBind call (besides ptrcall), since vararg methods don't work with ptrcall. - Fix argument name in register constant function to the way it actually is used in the engine. - Change the integer constant type to GDNativeInt to keep it consistent.
2021-08-17Initialize call error struct when calling extensionsGeorge Marques
This allows users to not need to set it when the call is correct.
2021-08-17Merge pull request #51775 from timothyqiu/disable-undo-redoRémi Verschelde
Improve Undo/Redo menu items
2021-08-17Namespaces instead of underscore prefix for bindsMax Hilbrunner
Thanks to neikeq for the initial work. Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>