summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2022-06-28Avoid manual memory management of certain arrays in Vulkan RDPedro J. Estébanez
2022-06-28Merge pull request #62468 from V-Sekai/core-const-expressionsRémi Verschelde
Add a const call mode to Object, Variant and Script.
2022-06-27Merge pull request #62449 from Chaosus/wrap_funcRémi Verschelde
Add generalized version of `wrap` function
2022-06-27Merge pull request #62462 from vnen/gdscript-setter-chainingRémi Verschelde
GDScript: Fix setter being called in chains for shared types
2022-06-27Merge pull request #62458 from Geometror/interpolation-function-cleanupRémi Verschelde
Refactor Bezier interpolation functions
2022-06-27Add a const call mode to Object, Variant and Script.K. S. Ernest (iFire) Lee
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script). This mode ensures only const functions can be called, making it safe to use from the editor. Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27Merge pull request #62396 from reduz/fix-local-vector-transitions-in-node3dRémi Verschelde
Fix VECTOR/LOCAL transitions in Node3D
2022-06-27Refactor bezier interpolation functionsHendrik Brucker
2022-06-27GDScript: Fix setter being called in chains for shared typesGeorge Marques
When a type is shared (i.e. passed by reference) it doesn't need to be called in a setter chain (e.g. `a.b.c = 0`) since it will be updated in place. This commit adds an instruction that jumps when the value is shared so it can be used to skip those cases and avoid redundant calls of setters. It also solves issues when assigning to sub-properties of read-only properties.
2022-06-27Add generalized version of `wrap` functionYuri Rubinsky
2022-06-27Fix VECTOR/LOCAL transitions in Node3Dreduz
Fixes #62225, supersedes #62227
2022-06-27Merge pull request #62185 from reduz/export-node-pointer-pathRémi Verschelde
Add ability to export Node pointers as NodePaths
2022-06-25Add ability to export Node pointers as NodePathsreduz
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).
2022-06-25Merge pull request #62309 from reduz/remake-resource-thread-safetyRémi Verschelde
Remake ResourceCache thread safety code and API
2022-06-24Rename export_range's noslider option to no_sliderMarcus Elg
2022-06-23Restore the openexr grayscale property.K. S. Ernest (iFire) Lee
2022-06-24Merge pull request #62238 from V-Sekai/openexr-bufferRémi Verschelde
For in-engine processing allow saving openexr to a buffer.
2022-06-23Merge pull request #60356 from ↵Rémi Verschelde
piiertho/feature/add-core-types-enum-description-to-extention-api-json Add core types enums description to extension api json
2022-06-23Merge pull request #62327 from Geometror/hash-containers-fastmod-optimizationRémi Verschelde
HashMap/HashSet optimization: fast modulo
2022-06-23Merge pull request #62342 from reduz/methodinfo-varargsRémi Verschelde
Implement varargs in Methodinfo
2022-06-23Add core types enums description to extension api jsonPierre-Thomas Meisels
2022-06-23Optimize HashMap/HashSet using fastmodHendrik Brucker
2022-06-23For in-engine processing allow saving openexr to a buffer.K. S. Ernest (iFire) Lee
2022-06-23Merge pull request #62326 from KoBeWi/userbindRémi Verschelde
2022-06-23Implement varargs in Methodinforeduz
Variadic templates are an awful thing. Implements #62233 using them in MethodInfo so less changes are required.
2022-06-23Remove userdata from Thread.start()kobewi
2022-06-22Add surface indices to TriangleMeshreduz
Helps unblock #56597
2022-06-22Remake resource thread safety and APIreduz
* 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
2022-06-21Add support for saving WebP imagesAaron Franke
2022-06-21Merge pull request #62122 from reduz/implement-movie-writerRémi Verschelde
Implement a Movie Maker mode
2022-06-21Implement Running Godot as Movie Writerreduz
* 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).
2022-06-20Revert "Disable VRAM compression by default for small textures in Detect 3D"Juan Linietsky
2022-06-20Clean up Hash Functionsreduz
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)
2022-06-19Merge pull request #62210 from MarcusElg/autocomplete-nosliderYuri Rubinsky
2022-06-19Allow autocompletion of "noslider" in export_rangeMarcus Elg
2022-06-19GDExtension: print error messages for different error paths during loadingJan Haller
2022-06-17Merge pull request #62156 from madmiraal/fix-61457Rémi Verschelde
Ensure AudioFrame variables l and r are always initialised
2022-06-17Merge pull request #62023 from Calinou/detect-3d-small-textures-no-vram-compressRémi Verschelde
Disable VRAM compression by default for small textures in Detect 3D
2022-06-17Merge pull request #61991 from bruvzg/property_shortcutRémi Verschelde
Make enum/constant binds 64-bit.
2022-06-17Ensure AudioFrame variables l and r are always initialisedMarcel Admiraal
2022-06-17Make enum/constant binds 64-bit.bruvzg
2022-06-17Audio: Expose 2D/3D panning strength parametersEllen Poe
2022-06-16Adding function key support from F17 to F35gregcsokas
OSX supports everything by default, Linux is also capable of supporting every function key, Windows as I know support only up to F24
2022-06-16Remove redundand header from `a_star.h`Yuri Rubinsky
2022-06-16Make AStar to use 64-bit logicYuri Rubinsky
2022-06-16Merge pull request #58669 from theraot/ASar2DbidirectionalRémi Verschelde
AStar2D bidirectional
2022-06-15Validate every source element separately Array::append_array()Pedro J. Estébanez
2022-06-15Merge pull request #61812 from Chaosus/fix_wrapfRémi Verschelde
2022-06-15Merge pull request #61934 from Geometror/hashfuncsRémi Verschelde
Hash function improvements
2022-06-15Hash function improvementsHendrik Brucker