summaryrefslogtreecommitdiffstats
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #62185 from reduz/export-node-pointer-pathRémi Verschelde2022-06-272-0/+2
|\ | | | | Add ability to export Node pointers as NodePaths
| * Add ability to export Node pointers as NodePathsreduz2022-06-252-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This PR implements: * A new hint: PROPERTY_HINT_NODE_TYPE for variant type OBJECT, which can take specific node types as hint string. * The editor will show it as a node path, but will set it as a pointer to a node from the current scene if you select a path. * When scene is saved, the node path is saved, then restored as a pointer. NOTE: This is a proof of concept and this approach will most likely not work. The reason if that, if the node referenced is deleted, then when trying to edit this the node will become invalid. Potential workarounds: Since this uses the Variant API, it should obtain the pointer from the Variant object ID. Yet, this would either only really work in GDScript or it would need to be implemented with workarounds in every language. Alternative ways to make this work: Nodes could export an additional property with a node path (like for which_node, it could be which_node_path). Another alternative: Path editing could happen as a hidden metadata (ignoring the pointer).
* | Merge pull request #62309 from reduz/remake-resource-thread-safetyRémi Verschelde2022-06-254-81/+80
|\ \ | | | | | | Remake ResourceCache thread safety code and API
| * | Remake resource thread safety and APIreduz2022-06-224-81/+80
| | | | | | | | | | | | | | | | | | | | | | | | * Ensures thread safety when resources are destroyed. * Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe. * Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem. Supersedes #57533
* | | Rename export_range's noslider option to no_sliderMarcus Elg2022-06-241-1/+1
| | |
* | | Restore the openexr grayscale property.K. S. Ernest (iFire) Lee2022-06-232-3/+3
| | |
* | | Merge pull request #62238 from V-Sekai/openexr-bufferRémi Verschelde2022-06-242-0/+12
|\ \ \ | | | | | | | | For in-engine processing allow saving openexr to a buffer.
| * | | For in-engine processing allow saving openexr to a buffer.K. S. Ernest (iFire) Lee2022-06-232-0/+12
| |/ /
* | | Merge pull request #60356 from ↵Rémi Verschelde2022-06-233-0/+118
|\ \ \ | | | | | | | | | | | | | | | | piiertho/feature/add-core-types-enum-description-to-extention-api-json Add core types enums description to extension api json
| * | | Add core types enums description to extension api jsonPierre-Thomas Meisels2022-06-233-0/+118
| | |/ | |/|
* | | Merge pull request #62327 from Geometror/hash-containers-fastmod-optimizationRémi Verschelde2022-06-233-30/+98
|\ \ \ | | | | | | | | HashMap/HashSet optimization: fast modulo
| * | | Optimize HashMap/HashSet using fastmodHendrik Brucker2022-06-233-30/+98
| | |/ | |/|
* | | Merge pull request #62342 from reduz/methodinfo-varargsRémi Verschelde2022-06-233-228/+59
|\ \ \ | |_|/ |/| | Implement varargs in Methodinfo
| * | Implement varargs in Methodinforeduz2022-06-233-228/+59
| | | | | | | | | | | | Variadic templates are an awful thing. Implements #62233 using them in MethodInfo so less changes are required.
* | | Merge pull request #62326 from KoBeWi/userbindRémi Verschelde2022-06-232-43/+6
|\ \ \ | |/ / |/| |
| * | Remove userdata from Thread.start()kobewi2022-06-232-43/+6
| |/
* / Add surface indices to TriangleMeshreduz2022-06-222-6/+17
|/ | | | Helps unblock #56597
* Add support for saving WebP imagesAaron Franke2022-06-212-0/+29
|
* Merge pull request #62122 from reduz/implement-movie-writerRémi Verschelde2022-06-217-1/+33
|\ | | | | Implement a Movie Maker mode
| * Implement Running Godot as Movie Writerreduz2022-06-217-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allows running the game in "movie writer" mode. * It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time). * If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult. * Implements a simple, default MJPEG writer. This new features has two main use cases, which have high demand: * Saving game videos in high quality and ensuring the frame rate is *completely* stable, always. * Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this). **Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly). Usage: $ godot --write-movie movie.avi [scene_file.tscn] Missing: * Options for configuring video writing via GLOBAL_DEF * UI Menu for launching with this mode from the editor. * Add to list of command line options. * Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
* | Revert "Disable VRAM compression by default for small textures in Detect 3D"Juan Linietsky2022-06-201-3/+0
| |
* | Clean up Hash Functionsreduz2022-06-2014-154/+315
| | | | | | | | | | | | | | Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934 * Clean up usage of murmur3 * Fixed usages of binary murmur3 on floats (this is invalid) * Changed DJB2 to use xor (which seems to be better)
* | Merge pull request #62210 from MarcusElg/autocomplete-nosliderYuri Rubinsky2022-06-192-0/+38
|\ \
| * | Allow autocompletion of "noslider" in export_rangeMarcus Elg2022-06-192-0/+38
| | |
* | | GDExtension: print error messages for different error paths during loadingJan Haller2022-06-191-0/+7
|/ /
* | Merge pull request #62156 from madmiraal/fix-61457Rémi Verschelde2022-06-171-1/+1
|\ \ | | | | | | Ensure AudioFrame variables l and r are always initialised
| * | Ensure AudioFrame variables l and r are always initialisedMarcel Admiraal2022-06-171-1/+1
| | |
* | | Merge pull request #62023 from Calinou/detect-3d-small-textures-no-vram-compressRémi Verschelde2022-06-171-0/+3
|\ \ \ | | | | | | | | Disable VRAM compression by default for small textures in Detect 3D
| * | | Disable VRAM compression by default for small textures in Detect 3DHugo Locurcio2022-06-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done to prevent reducing texture quality when it doesn't save much video memory, especially for pixel art. The size threshold can be adjusted in the project settings. To get the previous behavior where textures detected to be used in 3D had their compression mode always set to VRAM, set this to the lowest value (16).
* | | | Merge pull request #61991 from bruvzg/property_shortcutRémi Verschelde2022-06-178-32/+32
|\ \ \ \ | | | | | | | | | | Make enum/constant binds 64-bit.
| * | | | Make enum/constant binds 64-bit.bruvzg2022-06-178-32/+32
| | |/ / | |/| |
* / | | Audio: Expose 2D/3D panning strength parametersEllen Poe2022-06-171-0/+4
|/ / /
* | / Adding function key support from F17 to F35gregcsokas2022-06-163-48/+124
| |/ |/| | | | | | | | | OSX supports everything by default, Linux is also capable of supporting every function key, Windows as I know support only up to F24
* | Remove redundand header from `a_star.h`Yuri Rubinsky2022-06-161-1/+0
| |
* | Make AStar to use 64-bit logicYuri Rubinsky2022-06-162-145/+140
| |
* | Merge pull request #58669 from theraot/ASar2DbidirectionalRémi Verschelde2022-06-162-8/+8
|\ \ | | | | | | AStar2D bidirectional
| * | Added missing p_bidirectional to AStar2D methodsTheraot2022-03-012-8/+8
| | | | | | | | | The methods disconnect_points and are_points_connected now have an optional p_bidirectional parameter matching AStar.
* | | Validate every source element separately Array::append_array()Pedro J. Estébanez2022-06-151-1/+3
| | |
* | | Merge pull request #61812 from Chaosus/fix_wrapfRémi Verschelde2022-06-151-2/+10
|\ \ \
| * | | Fix `wrapf` to correct wrap values with 0.1 steppingYuri Rubinsky2022-06-081-2/+10
| | | |
* | | | Merge pull request #61934 from Geometror/hashfuncsRémi Verschelde2022-06-152-150/+121
|\ \ \ \ | | | | | | | | | | Hash function improvements
| * | | | Hash function improvementsHendrik Brucker2022-06-152-150/+121
| | | | |
* | | | | Merge pull request #62030 from KoBeWi/SetName/GetNameRémi Verschelde2022-06-142-6/+6
|\ \ \ \ \
| * | | | | Change set/get binding to use StringNamekobewi2022-06-142-6/+6
| | |_|_|/ | |/| | |
* / | | | Add vector value linkingkobewi2022-06-142-0/+2
|/ / / / | | | | | | | | | | | | Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
* | | | Fix parameter name for String.left and String.rightHaoyu Qiu2022-06-123-16/+16
| | | |
* | | | Merge pull request #61949 from ↵Rémi Verschelde2022-06-121-3/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | touilleMan/native_extension_open_library_handle_initialization_error Fix NativeExtension::open_library return value when the undelying lib fails to initialize
| * | | | Fix NativeExtension::open_library return value when the undelying lib fails ↵Emmanuel Leblond2022-06-121-3/+6
| |/ / / | | | | | | | | | | | | to initialize
* / / / Add suffixes to all nodes and resourcesFireForge2022-06-111-9/+9
|/ / /
* / / Fix (again) loading binary resources with float=64xutaxkamay2022-06-081-9/+10
|/ / | | | | | | | | | | | | | | I had an error while importing my GLB file from 32-bit precision floating point, I guess this was forgotten while implementing 64-bit precision floating point. I'm not sure if there's any other left to do though.