summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-02-19Improve robustness of atomicsPedro J. Estébanez
And fix increment in `CowData` not being conditional anymore after the recent changes. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18Merge pull request #46131 from bruvzg/move_tablet_to_dsRémi Verschelde
Move tablet driver API from OS to DisplayServer
2021-02-18Merge pull request #45617 from RandomShaper/modernize_atomicsRémi Verschelde
Modernize atomics (and fix `volatile`)
2021-02-18Modernize atomicsPedro J. Estébanez
- Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18Removed hardcoded shortcuts from /scene and converted to input actionsEric M
This removes hardcoded actions from things like LineEdit and TextEdit. Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.
2021-02-18Added ability to override built-in actions for the editorEric M
This adds the ability to add overrides for built-in actions (i.e. ui_*) in the editor. Also added a number of additional built-in actions for various text-related actions, gui-generic actions (like copy and paste) and graph-related actions (duplicate nodes), etc. Moved the definition of input actions to input_map, rather than in project_settings so the editor can make use of these actions as well.
2021-02-18Added convenience create_reference methods for Key and JoyButton inputsEric M
2021-02-18Move tablet driver API from OS to DisplayServer.bruvzg
2021-02-18Reorganize Project Settingsreduz
-Advanced Settings toggle also hides advanced properties when disabled -Simplified Advanced Bar (errors were just plain redundant) -Reorganized rendering quality settings. -Reorganized miscelaneous settings for clean up.
2021-02-16Use Vector3.UP as a default value for look_at's up vectorAaron Franke
2021-02-16Added signed_angle_to for Vector3JestemStefan
2021-02-15Merge pull request #44355 from ↵Rémi Verschelde
EricEzaM/PR/fix-action-false-positives-and-allow-checking-exact-matches Allow checking for exact matches with Action events.
2021-02-13Don't save project settings when not necessarykobewi
2021-02-13Merge pull request #44396 from Calinou/add-file-flush-methodRémi Verschelde
Expose a `File.flush()` method to scripting
2021-02-13Expose a `File.flush()` method to scriptingHugo Locurcio
This can be used to ensure a file has its contents saved even if the project crashes or is killed by the user (among other use cases). See discussion in #29075.
2021-02-12Add ability to change Icon Saturationreduz
-Allows for more theme freedom -Allows for entirely B&W themes.
2021-02-11Improve resource load cachereduz
-Added a new method in Resource: reset_state , used for reloading the same resource from disk -Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type) -Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10Cylinder support in Godot Physics 3DPouleyKetchoupp
Cylinder collision detection uses a mix of SAT and GJKEPA. GJKEPA is used to find the best separation axis in cases where finding it analytically is too complex. Changes in SAT solver: Added support for generating separation axes for cylinder shape. Added support for generating contact points with circle feature. Changes in GJKEPA solver: Updated from latest Bullet version which includes EPA fixes in some scenarios. Setting a lower EPA_ACCURACY to fix accuracy problems with cylinder vs. cylinder in some cases.
2021-02-10Make Servers truly Thread Safereduz
-Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
2021-02-10Merge pull request #31747 from KoBeWi/scene_stalkingRémi Verschelde
Detect external modification of scenes
2021-02-09Fixes crash when exiting with --verbose with leaked resourcesGilles Roudière
2021-02-09Detect external modification of project.godotkobewi
2021-02-09Make String::ends_with don't use String::rfindkleonc
2021-02-08Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@f72b68b8b090e689ed21f600e89db9a661edb696. Partial revert of #45790.
2021-02-08Merge pull request #45797 from madmiraal/add-new-sdl-keywordsRémi Verschelde
Add support for new SDL gamecontroller keywords.
2021-02-07Add support for new SDL gamecontroller keywords.Marcel Admiraal
2021-02-07Fix issues in last GameControllerDB syncRémi Verschelde
We don't support 'misc1' as an output string yet (seems used for PS5 controller). Yet another broken CSV line with 'CO.,LTD'.
2021-02-06Merge pull request #45756 from Faless/js/4.x_gamepads_dbRémi Verschelde
Add some HTML5 controllers mapping.
2021-02-06Add some HTML5 controllers mapping.Fabio Alessandrelli
2021-02-06Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@c7cf1397c1e07182de936e72fa1bc5cc22ab8cc1.
2021-02-04Change sort_custom/bsearch_custom to use Callableskobewi
2021-02-03Merge pull request #45658 from RandomShaper/fix_frozen_peakRémi Verschelde
Make audio bus channels' peak volume consistent
2021-02-02Make audio bus channels' peak volume consistentPedro J. Estébanez
Channels that are inactive -or when playback has not started yet- will report -200 dB as their peak value (which is also the lowest value possible during playback).
2021-02-01Replace ColorN and from HTML with a string constructorAaron Franke
2021-02-01Merge pull request #37547 from aaronfranke/tauRémi Verschelde
Use Math_TAU and deg2rad/etc in more places and optimize code
2021-01-31Merge pull request #45315 from RandomShaper/modernize_threadRémi Verschelde
Modernize Thread
2021-01-29Modernize ThreadPedro J. Estébanez
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
2021-01-28Unify URI encoding/decoding and add to C#Aaron Franke
http_escape and percent_encode have been unified into uri_encode, and http_unescape and percent_decode have been unified into uri_decode.
2021-01-28Make hex_to_int and bin_to_int handle the prefix automaticallyAaron Franke
Also add BinToInt to C#
2021-01-27Merge pull request #45489 from aaronfranke/coreRémi Verschelde
Type consistencies in core
2021-01-26Type consistencies in coreAaron Franke
2021-01-26Renamed String.ord_at to unicode_atYuri Roubinsky
2021-01-26Merge pull request #45373 from aaronfranke/gdnative-sizeofGeorge Marques
Define GDNative sizes using sizeof(godot_real) and sizeof(int32_t)
2021-01-26Merge pull request #44732 from Calinou/os-add-get-thread-caller-idRémi Verschelde
Add an `OS.get_thread_caller_id()` method
2021-01-26Merge pull request #45309 from VedatGunel/fix-string-ends-withRémi Verschelde
Fix String.ends_with() for empty string arguments
2021-01-26Remove Quat set methods in favour of constructorsMarcel Admiraal
2021-01-25Define GDNative sizes using sizeof(godot_real_t) and sizeof(int32_t)Aaron Franke
2021-01-22Merge pull request #45314 from RandomShaper/modernize_rwlockRémi Verschelde
Modernize RWLock
2021-01-20Merge pull request #45023 from reduz/optimize-shader-vgpr1Rémi Verschelde
Shader optimizations to reduce VGPR usage and increase occupancy