summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
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
2021-01-19Added GPU based cluster builderreduz
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
2021-01-19Remove useless "else" statements from vector3.hPouleyKetchoupp
2021-01-19Fix String.ends_with() for empty string argumentsVedat Günel
2021-01-19Modernize RWLockPedro J. Estébanez
- Based on C++14's `shared_time_mutex` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed - Simpler for `NO_THREADS`
2021-01-18[HTML5] Custom Gamepad library to allow remapping.Fabio Alessandrelli
No longer use emscripten functions for gamepads, implement them as library functions in library_godot_display.js instead. This allows us to do a better job at "guessing" vendorId, productId, OS, etc. thus allowing us to better find the remapping for the controller.
2021-01-18Better gamepad axis event injection.Fabio Alessandrelli
In the core input handling code we have checks to make sure that if axis rapidly change sign we inject mid-points to release any pending inputmap action. The function though, did not correctly insert the mid-point causing dpads mapped to an axis that behaves like tri-state buttons (-1,0,1) to not be released correctly. This commit fixes that by including in the check the case where the axis swtiches from abs(1) to 0.
2021-01-14Merge pull request #45161 from Xrayez/bind-emit-changedRémi Verschelde
Expose `Resource.emit_changed()` to script
2021-01-13Merge pull request #45136 from akien-mga/clang-format-11Rémi Verschelde
CI: Update to clang-format 11 and apply ternary operator changes
2021-01-13Expose `Resource.emit_changed()` to scriptAndrii Doroshenko (Xrayez)
Also known as `emit_signal("changed")`.
2021-01-12Merge pull request #45125 from aaronfranke/poly-libRémi Verschelde
Update PolyPartition / Triangulator library
2021-01-12Update PolyPartition / Triangulator libraryAaron Franke
2021-01-12CI: Update to clang-format 11 and apply ternary operator changesRémi Verschelde