summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-06-11Merge pull request #49312 from RandomShaper/reference_to_ref_countRémi Verschelde
Rename `Reference` to `RefCounted`
2021-06-11Merge pull request #47835 from mortarroad/master-lossless-webpRémi Verschelde
Implement lossless WebP encoding
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-11Implement lossless WebP encodingMorris Tabor
2021-06-11Merge pull request #49421 from floppyhammer/fix-vram-compressed-mipmapsJuan Linietsky
Fix mipmaps of VRAM compressed textures
2021-06-11Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11Merge pull request #49279 from Calinou/rename-string-is-abs-path-methodRémi Verschelde
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11Merge pull request #34566 from Heikki00/34541_to_json_precisionRémi Verschelde
Increased String::num default decimal precision
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-10Let var2str display StringName with correct sigilJonathan Gollnick
2021-06-10Add OS.get_external_data_dir() to get Android external directoryMarcel Admiraal
2021-06-09Refactor CommandQueueMTreduz
* RingBuffer had no reason to be in this context * A single buffer is used that can grow as much as the game needs. This should make thread loading entirely reliable.
2021-06-08fix-vram-compressed-mipmapsfloppyhammer
2021-06-07Merge pull request #49394 from akien-mga/fileaccess-store_buffer-err-len-0Rémi Verschelde
FileAccess: Don't err in `store_buffer` with buffer of size 0
2021-06-07Merge pull request #49318 from reduz/native-extensionRémi Verschelde
Add API for registering native extensions
2021-06-07FileAccess: Don't err in `store_buffer` with buffer of size 0Rémi Verschelde
The error check was added for `FileAccessUnix` but it's not an error when both `p_src` and `p_length` are zero. Added correct error checks to all implementations to prevent the actual erroneous case: `p_src` is nullptr but `p_length > 0` (risk of null pointer indexing). Fixes #33564.
2021-06-07Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde
[Net] Refactor RPCs, remove RSETs
2021-06-07Style: Cleanup uses of double spaces between wordsRémi Verschelde
Or after punctuation. Tried to leave third-party stuff alone, unless it has been heavily modified for Godot.
2021-06-05New and improved IK system for Skeleton2DTwistedTwigleg
This PR and commit adds a new IK system for 2D with the Skeleton2D node that adds several new IK solvers, a way to control bones in a Skeleton2D node similar to that in Skeleton3D. It also adds additional changes and functionality. This work was sponsored by GSoC 2020 and TwistedTwigleg. Full list of changes: * Adds a SkeletonModifier2D resource * This resource is the base where all IK code is written and executed * Has a function for clamping angles, since it is so commonly used * Modifiers are unique when duplicated so it works with instancing * Adds a SkeletonModifierStack2D resource * This resource manages a series of SkeletonModification2Ds * This is what the Skeleton2D directly interfaces with to make IK possible * Adds SkeletonModifier2D resources for LookAt, CCDIK, FABRIK, Jiggle, and TwoBoneIK * Each modification is in its own file * There is also a SkeletonModifier2D resource that acts as a stack for using multiple stacks together * Adds a PhysicalBone2D node * Works similar to the PhysicalBone3D node, but uses a RigidBody2D node * Changes to Skeleton2D listed below: * Skeleton2D now holds a single SkeletonModificationStack2D for IK * Skeleton2D now has a local_pose_override, which overrides the Bone2D position similar to how the overrides work in Skeleton3D * Changes to Bone2D listed below: * The default_length property has been changed to length. Length is the length of the bone to its child bone node * New bone_angle property, which is the angle the bone has to its first child bone node * Bone2D caches its transform when not modified by IK for IK interpolation purposes * Bone2D draws its own editor gizmo, though this is stated to change in the future * Changes to CanvasItemEditor listed below: * Bone2D gizmo drawing code removed * The 2D IK code is removed. Now Bone2D is the only bone system for 2D * Transform2D now has a looking_at function for rotating to face a position * Two new node notifications: NOTIFICATION_EDITOR_PRE_SAVE and NOTIFICATION_EDITOR_POST_SAVE * These notifications only are called in the editor right before and after saving a scene * Needed for not saving the IK position when executing IK in the editor * Documentation for all the changes listed above.
2021-06-04Add API for registering native extensionsreduz
* First step for GDNative to behave more like modules * Only Object and ClassDB, the rest needs to happen on the GDNative side.
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-04Add "Transform" compatibility name for "Transform3D" in VariantParserAaron Franke
2021-06-04Merge pull request #47336 from Calinou/rename-shader-file-extensionRémi Verschelde
Rename the `.shader` file extension to `.gdshader`
2021-06-03Merge pull request #38430 from aaronfranke/transform3dRémi Verschelde
2021-06-03Merge pull request #43450 from aaronfranke/mouse-mode-bitwiseRémi Verschelde
Add MOUSE_MODE_CONFINED_HIDDEN to MouseMode enum
2021-06-03Merge pull request #45624 from aaronfranke/clampRémi Verschelde
Allow clamping vectors and colors in addition to floats and ints
2021-06-03Merge pull request #49269 from sarchar/fix-dns-locksRémi Verschelde
Fix DNS resolve mutex locks
2021-06-03Allow clamping vectors and colorsAaron Franke
2021-06-03Rename Vector2 clamped to limit_length and add limit_length to Vector3Aaron Franke
2021-06-03Fix DNS resolve mutex locksChuck
This fixes #49261, which was happening because of a deadlock in the resolver mutex. There was leftover old mutex code and it's all be converted to new MutexLock class now.
2021-06-03Add MOUSE_MODE_CONFINED_HIDDENAaron Franke
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-06-03Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio
This is more consistent with `NodePath.is_absolute()`.
2021-06-03Merge pull request #48889 from Calinou/file-rename-endian-swapRémi Verschelde
Rename File's `endian_swap` to `big_endian`
2021-06-03Rename files and the exposed name for Transform3DAaron Franke
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-06-01Merge pull request #49026 from sarchar/multiple-dns-resolvesRémi Verschelde
2021-06-01Merge pull request #45393 from Paulb23/code_edit_autocompleteRémi Verschelde
2021-06-01[Net] Refactor RPCs, remove RSETsFabio Alessandrelli
In this PR: - Removed rset - rpc_config can now optionally configure transfer mode (reliable/unreliable/ordered) and channel (channels are not actually implemented yet.) - Refactor how the RPC id is computed to minimize the logic in Node and scripts that now only needs a single `get_rpc_methods` function.
2021-06-01Move and expose AutoComplete in CodeEditPaulb23
2021-06-01Support multiple address resolution in DNS requestsChuck
Add two new functions to the IP class that returns all addresses/aliases associated with a given address. This is a cherry-pick merge from 010a3433df43a94fee95474360ffa6662c7441b9 which was merged in 2.1, and has been updated to build with the latest code. This merge adds two new methods IP.resolve_hostname_addresses and IP.get_resolve_item_addresses that returns a List of all addresses returned from the DNS request.
2021-05-31Merge pull request #49142 from Chaosus/bvh_fix_possible_crashRémi Verschelde
Fixed possible crash in `DynamicBVH::optimize_incremental`
2021-05-31Merge pull request #49173 from KoBeWi/navigational_oblivionRémi Verschelde
Tweak arguments of list_dir_begin() (skips navigational and hidden files by default)
2021-05-31Tweak arguments of list_dir_begin()kobewi
2021-05-31Merge pull request #49192 from lawnjelly/bvh_current_tree4Rémi Verschelde
BVH - fix stale current_tree in deactivate function [4.x]
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-29BVH - fix stale current_tree in deactivate function [4.x]lawnjelly
Changes passing of current_tree from a member variable to a function argument, making bugs due to stale state less likely. Fix a bug in deactivate where current_tree variable was stale. This may have resulted in visual anomalies.
2021-05-29Increase String::num default decimal precisionHeikki Simojoki
Fixes #34541 Renamed MAX_DIGITS to MAX_DECIMALS, since it only changes the amount of digits after the decimal point. Increased MAX_DECIMALS to 32, and made String::num use MAX_DECIMALS consistently. If -1 is passed as decimal precision to String::num, it now gets changed to the correct precision based on the number's magnitude, instead of using printf default(which is 6) String::num_real also calculates the correct precision now. Also made the types used in floating-point math more consistent in a few places.
2021-05-27Fixed possible crash in `DynamicBVH::optimize_incremental`Yuri Roubinsky
2021-05-25Return error when decompressing empty PoolByteArrayPaweł Fertyk