summaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
2021-04-28GDScript: Fix crash when base of an attribute is invalidGeorge Marques
In attribute expressions (`a.b`) it's possible that the base has an incorrect syntax and thus become a nullptr expression in the tree. This commit add the check for this case to fail gracefully instead of crashing.
2021-04-28GDScript: Implement lambdas compilation and runtimeGeorge Marques
2021-04-28GDScript: Add lambdas to the type analyzerGeorge Marques
- Lambdas are always callables (no specific signature match). - Captures from the current context are evaluated.
2021-04-28GDScript: Add lambda syntax parsingGeorge Marques
Lambda syntax is the same as a the function syntax (using the same `func` keyword) except that the name is optional and it can be embedded anywhere an expression is expected. E.g.: func _ready(): var my_lambda = func(x): print(x) my_lambda.call("hello")
2021-04-28Raycast: Fix use of removed copymem after #48239Rémi Verschelde
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Merge pull request #48245 from madmiraal/fix-24111Rémi Verschelde
Update CSGMesh3D's documentation to explain how vertex normals are used
2021-04-27Update CSGMesh3D's documentation to explain how vertex normals are usedMarcel Admiraal
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Fix CSG Path Polygon cache being removed after connectJohannes Witt
fixes #30229
2021-04-27Merge pull request #48187 from brakhane/remove-dupe-commentsRémi Verschelde
Remove duplicate comments
2021-04-26Merge pull request #48185 from Calinou/codestyle-no-autoRémi Verschelde
Remove uses of `auto` for better readability and online code reviews
2021-04-26Remove uses of `auto` for better readability and online code reviewsHugo Locurcio
The current code style guidelines forbid the use of `auto`. Some uses of `auto` are still present, such as in UWP code (which can't be currently tested) and macros (where removing `auto` isn't easy).
2021-04-26Merge pull request #48172 from madmiraal/fix-empty-csgshape-errorRémi Verschelde
Fix new `CSGMesh` errors
2021-04-25Remove duplicate commentsDennis Brakhane
A few single line comments were duplicated, probably due to bad merges. This commit removes the obviously duplicate ones.
2021-04-25Fix CSGMesh undo not refreshing gizmoMarcel Admiraal
2021-04-25Fix empty CSGShape errorMarcel Admiraal
2021-04-24Merge pull request #48139 from vnen/gdscript-dict-keysRémi Verschelde
Fix mismatch between String and StringName in dictionary keys
2021-04-24Merge pull request #47891 from Razoric480/lsp-update-filesystemRémi Verschelde
Make LSP update the filesystem for changed scripts
2021-04-23Implement occlusion cullingjfons
Added an occlusion culling system with support for static occluder meshes. It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`. Occluders are defined via the new `Occluder3D` resource and instanced using the new `OccluderInstance3D` node. The occluders can also be automatically baked from a scene using the built-in editor plugin.
2021-04-23GDScript: Make sure Lua-style dicts use StringName as keysGeorge Marques
2021-04-23GDScript: Fix resolution of dictionary keysGeorge Marques
There was a mixup between String and StringName keys. Now they're clearly separated. This also means you have to consider which type you're using for the dictionary keys and how you are accessing them.
2021-04-22Unexpose _direct_state_changed in PhysicsBodyrafallus
Removed _direct_state_changed bindings Affects 2D and 3D nodes Callbacks now use Callable Tests were changed accordingly
2021-04-22Merge pull request #48074 from akien-mga/fbx-fix-zlib-unbundlingRémi Verschelde
fbx: Fix include for zlib that broke unbundling
2021-04-22ICU: Update to version 69.1, improve ICU data export process.bruvzg
2021-04-22Fix crash on GDNative API json generator exit.bruvzg
2021-04-22fbx: Fix include for zlib that broke unbundlingRémi Verschelde
It's possible to link against system zlib on Linux, so we should use system paths.
2021-04-20Merge pull request #47896 from Calinou/videoplayer-stream-position-warningRémi Verschelde
Print a warning when trying to seek in VideoPlayer
2021-04-20Merge pull request #47347 from nekomatata/heightmap-supportRémi Verschelde
Heightmap collision shape support in Godot Physics
2021-04-20Merge pull request #47956 from vnen/gdscript-double-stackRémi Verschelde
GDScript: Use special stack space for temporaries to reduce type changes
2021-04-19Merge pull request #47448 from madmiraal/rename-lineedit-cursorRémi Verschelde
Rename LineEdit getters and setters to match property names
2021-04-18Merge pull request #47917 from akien-mga/squish-decompress-onlyRémi Verschelde
Import: Cleanup and optimize etcpak compression method
2021-04-17Rename LineEdit caret_* properties getters and setters to match propertyMarcel Admiraal
2021-04-17C#: Fix `double` casting in wasm m2n trampolinesIgnacio Roldán Etcheverry
The trampolines were casting double to `size_t` (likely a copy-paste mistake), so the value was getting truncated.
2021-04-16Import: Cleanup and optimize etcpak compression methodRémi Verschelde
Avoid unnecessary allocation of temporary buffers for each mip, and creates only one Image with the compressed data. Also renames variable and reorders code for clarity. Clarify that squish is now only used for decompression. Documented which formats can be decompressed in Image.
2021-04-16GDScript: Adjust type of temporaries when neededGeorge Marques
2021-04-16Merge pull request #47701 from vnen/gdscript-test-runnerRémi Verschelde
2021-04-16Merge pull request #47880 from RevoluPowered/fix-fbx-parserRémi Verschelde
FBX Improve Parser and File Compatibility
2021-04-15Merge pull request #47878 from clayjohn/rename-get_surface_materialRémi Verschelde
Rename get_surface_material to get_surface_override_material
2021-04-15This stops using FBXPropertyTable as a pointer.Gordon MacPherson
The base object will inherit the property table, for every FBX object, if it doesn't exist it will be ignored. The previous code was dangerous and not simple to understand, this makes the code simpler and should result in no leaks with PropertyTable. Features/Fixes: Adds ability for multiple millions of polygons to be loaded. Fixes memory leaks with tokens Fixes memory leaks with property table Fixes loading some corrupt files Fixes meshes not having a unique name to the mesh node. Opens up loading for two more versions: 7100 and 7200, up to 2020. Preliminary support for Cinema4D files in parser now, before this was not possible it would cause memory corruption, which is gone now. FBXProperties not being pointers presented simpler challenges in the long run also, fixed a bunch of bugs.
2021-04-14Rename get_surface_material to get_surface_override_materialclayjohn
2021-04-14Print a warning when trying to seek in VideoPlayerHugo Locurcio
Seeking isn't implemented in built-in video formats and can only be supported in GDNative-provided video formats.
2021-04-14GDScript: Pool temporary values by type on the stackGeorge Marques
So the stack slots perform less type changes, which is useful for future optimizations.
2021-04-14Make LSP update the filesystem of changed scriptsFrancois Belair
This updates global classes and exposes base member variables. Fixes #39713
2021-04-14Merge pull request #47890 from akien-mga/etcpak-compress-onlyRémi Verschelde
etcpak: We only need the compression code, remove rest of etcpak app
2021-04-14etcpak: We only need the compression code, remove rest of etcpak appRémi Verschelde
We do our own image loading, threading, and memory management in Godot already, so the only components we need from etcpak (at least as of now) are the `Compress*` methods defined in `ProcessDxtc.cpp` and `ProcessRGB.cpp`. So we don't need to compile or vendor the rest.
2021-04-14Refactor GLSL shader compilationreduz
-Used a more consistent set of keywords for the shader -Remove all harcoded entry points -Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization. -Entry point for sky shaders is now sky(). -Entry point for particle shaders is now process().
2021-04-14Merge pull request #47330 from ↵George Marques
Blackiris/fix-corrupt-scene-when-export-has-setter Fix corrupt scene when export var has setter
2021-04-14Merge pull request #47807 from Blackiris/fix-is-type-treated-as-addressRémi Verschelde
Fix type argument in is_builtin which was treated as an address