summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-07-24Merge pull request #50535 from ChristopheClaustre/packedbytearray_decode_apiRémi Verschelde
Change in PackedByteArray decode api and docs
2021-07-24New to_***_array method to decode PackedByteArray to Packed***ArrayChristopheClaustre
Documentation for new PackedByteArray::to_***_array methods Documentation for to_byte_array method for PackedInt32/Int64/Float32/Float64Array
2021-07-24Merge pull request #50786 from reduz/implement-resource-uidsRémi Verschelde
Implement Resource UIDs
2021-07-24Implement Resource UIDsreduz
* Most resource types now have unique identifiers. * Applies to text, binary and imported resources. * File formats reference both by text and UID (when available). UID always has priority. * Resource UIDs are 64 bits for better compatibility with the engine. * Can be represented and used textually, example `uuid://dapwmgsmnl28u`. * A special binary cache file is used and exported, containing the mappings. Example of how it looks: ```GDScript [gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"] [ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"] ``` GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files. This will be reserved for future PRs.
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-23Merge pull request #50789 from aaronfranke/fix-input-action-raw-strRémi Verschelde
Fix Input get_action_raw_strength binding
2021-07-23Merge pull request #50748 from JFonS/gizmo_reworkRémi Verschelde
Node3D gizmo improvements
2021-07-23Node3D gizmo improvementsjfons
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs. * Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins. * Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes. * Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles. * Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
2021-07-23Merge pull request #50765 from Calinou/resource-importer-expose-order-enumRémi Verschelde
Expose an ImportOrder enum in ResourceImporter
2021-07-23Merge pull request #50782 from timothyqiu/undoredo-refRémi Verschelde
Fix UndoRedo crash when clearing history
2021-07-23Merge pull request #50747 from bruvzg/move_alert_to_osRémi Verschelde
Move `alert` function from `DisplayServer` to `OS`.
2021-07-24Fix UndoRedo crash when clearing historyHaoyu Qiu
2021-07-23Expose an ImportOrder enum in ResourceImporterHugo Locurcio
This avoids using magic numbers in code.
2021-07-22Fix Input get_action_raw_strengthAaron Franke
2021-07-22Make Object "meta" functions take StringName.Fabio Alessandrelli
The various get_meta, set_meta, has_meta, get_meta_list, remove_meta functions now uses StringName, allowing further optimizations via the SNAME macro when used from C++ (this PR does not change the various usage though).
2021-07-22Move `alert` function from `DisplayServer` to `OS`.bruvzg
2021-07-22Implement textual ext/subresource IDs.reduz
* Friendlier with version control. * Generates pseudo unique IDs, to minimize conflicts when merging, but still user readable (so, not UUID). * Eventually will also allow to have more precisely named sub-resources in imported files. * This will allow better reloading on changes (including resources already loaded) as well as better keeping track of changes on the DCC. * Keeps backward compatibility with the old formats. * Binary and text format version incremented to mark breakage in forward compatibility.
2021-07-22Merge pull request #50319 from nekomatata/optimize-node-path-checkRémi Verschelde
Optimize NodePath update when renaming or deleting nodes in the editor
2021-07-21Add min_axis and max_axis to Vector2iGilles Roudière
2021-07-21Use the standard C `INFINITY` and `NAN` constants directlyHugo Locurcio
The `Math_INF` and `Math_NAN` defines were just aliases for those constants, so we might as well use them directly. Some portions of the code were already using `INFINITY` directly.
2021-07-20Adds ability to debug stringnamesreduz
* References (which include hash tables) can be profiled with --debug-stringnames
2021-07-20Merge pull request #50655 from JFonS/sname_optRémi Verschelde
Editor StringName and Viewport optimizations
2021-07-20Editor StringName and Viewport optimizationsJoan Fons
* Added explicit return type to the SNAME macro. * Add some extra SNAME usages. * Change some ClassDB methods to use const StringName & arguments. * Cache the Window parent in Control because it's used in is_layout_rtl(), which is called often. * Only enable internal processing for viewports that need it. * Change CanvasItem::group to be a StringName because it's only used as that.
2021-07-20Merge pull request #49882 from Faless/mp/4.x_rpc_gdFabio Alessandrelli
[Net] New `@rpc` annotation, "sync" is no longer part of mode.
2021-07-20Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@241fed0a4425d1b7679e3d3d7abdd2a2cd7fa57c.
2021-07-20[Net] Single `rpc` annotation. "sync" no longer part of mode.Fabio Alessandrelli
- Move the "sync" property for RPCs to RPCConfig. - Unify GDScript annotations into a single one: - `@rpc(master)` # default - `@rpc(puppet)` - `@rpc(any)` # former `@remote` - Implement three additional `@rpc` options: - The second parameter is the "sync" option (which also calls the function locally when RPCing). One of "sync", "nosync". - The third parameter is the transfer mode (reliable, unreliable, ordered). - The third parameter is the channel (unused for now).
2021-07-20Merge pull request #50518 from timothyqiu/locale-azRémi Verschelde
Fix missing locale names
2021-07-20Merge pull request #50206 from groud/undoredo_increase_args_countRémi Verschelde
Increase the number of arguments accepted by UndoRedo methods
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-17[HTML5] Add 2 controllers to the godot database.Fabio Alessandrelli
Sony PlayStation DualShock 4 (054c:05c4 first gen). Unofficial Switch controller.
2021-07-16Merge pull request #46554 from likeich/is_server_quiet_failureFabio Alessandrelli
MultiplayerAPI is_network_server Fails Silently
2021-07-16Merge pull request #47395 from sygi/shape_idx_collisionHugo Locurcio
Add shape_idx to CollisionObject2D mouse_entered signal
2021-07-16Fix missing locale namesHaoyu Qiu
2021-07-15Add ability to set object instance binding on creationreduz
* Required by binding generators * Makes it easier to create the bindings on construction.
2021-07-15Fix equality operators in List's ConstIteratorJoan Fons
2021-07-15Misc cleanup of header includesRémi Verschelde
Was looking for misuse of module headers without checking that the module is actually enabled and got carried away...
2021-07-13Merge pull request #50056 from Blackiris/fix-in-operatorGeorge Marques
Fix 'in' operator to check if an object member exists
2021-07-13Merge pull request #50381 from reduz/implement-disable-classesRémi Verschelde
Implement the ability to disable classes
2021-07-13Merge pull request #50169 from pycbouh/theme-type-variationsRémi Verschelde
2021-07-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-13Merge pull request #50412 from timothyqiu/fastlz-decompressRémi Verschelde
2021-07-13Let thread func have optional parameterFaymoon
Fixes #38042.
2021-07-13Fix decompression with FastLZ when buffer size is less than 16 bytesHaoyu Qiu
2021-07-13Merge pull request #49291 from NoFr1ends/fix-49262Rémi Verschelde
String::format leave passed values untouched
2021-07-13Merge pull request #50304 from timothyqiu/memfree-paramRémi Verschelde
Fix memfree parameter name
2021-07-13Add type variations to ThemeYuri Sizov
2021-07-12[Net] Rename NetworkedMultiplayerPeer to MultiplayerPeer.Fabio Alessandrelli
2021-07-12Change VSync mode project setting enum type from string to integerHendrik Brucker
2021-07-11[Net] Fix crash when receiving RPC on node without a script.Fabio Alessandrelli
2021-07-11Merge pull request #50362 from timothyqiu/http-eofRémi Verschelde
Fix unicode invalid skip error in AssetLib