summaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
2021-04-16Rename GDScript test script filenames to use `snake_case`Andrii Doroshenko (Xrayez)
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-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
2021-04-14Fix corrupt scene when export var has setterJulien Nguyen
2021-04-13Export gltf2 normal textures correctly.K. S. Ernest (iFire) Lee
2021-04-13Add `etcpak` library for faster ETC/ETC2/S3TC imports.K. S. Ernest (iFire) Lee
- `etc` module was renamed to `etcpak` and modified to use the new library. - PKM importer is removed in the process, it's obsolete. - Old library `etc2comp` is removed. - S3TC compression no longer done via `squish` (but decompression still is). - Slight modifications to etcpak sources for MinGW compatibility, to fix LLVM `-Wc++11-narrowing` errors, and to allow using vendored or system libpng. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-04-11Fix type argument in is_builtin which was treated as an addressJulien Nguyen
2021-04-08Reduce number of addressing modes in GDScript VMGeorge Marques
There's now only 3 addressing modes: stack, constant, and member. Self, class, and nil are now present respectively in the first 3 stack slots. Global and class constants are moved to local constants when compiling. Named globals is only present on editor to use on tool singletons, so its use now emits a new instruction to copy the global to the stack. This allow us to further optimize the VM later by embedding the addressing modes in the instructions themselves, which is better done with less permutations.
2021-04-08Add runner for GDScript testingGeorge Marques
This is meant for testing the GDScript implementation, not for testing user scripts nor testing the engine using scripts. Tests consists in a GDScript file and a .out file with the expected output. The .out file format is: expected status (based on the enum GDScriptTest::TestStatus) on the first line, followed by either an error message or the resulting output. Warnings are added after the first line, before the output (or compiler errors) if the parser pass without any error. The test script must have a function called `test()` which takes no argument. Such function will be called by the test runner. The test should not have any dependency unless it's part of the test too. Global classes (using `class_name`) are registered before the runner starts, so those should work if needed. Use the command `godot --gdscript-generate-tests godot-source/modules/gdscript/tests/scripts` to update the .out files with the current output (make sure the output are the expected values before committing). The tests themselves are part of the doctest suite so those can be executed with `godot --test`. Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
2021-04-08Fix crash on importing empty .fbx fileLyuma
2021-04-08Merge pull request #47708 from Calinou/doc-websocketclient-secureFabio Alessandrelli
Document secure wss:// caveats for WebSocketClient
2021-04-07Merge pull request #47648 from Blackiris/fix-gdscript-editor-hangsRémi Verschelde
Fix infinite loop when guessing argument type from parent class
2021-04-07Merge pull request #47672 from Blackiris/fix-setter-stackoverflowRémi Verschelde
Fix stack overflow in setter
2021-04-07Document secure wss:// caveats for WebSocketClientHugo Locurcio
See https://github.com/godotengine/godot/issues/37739.
2021-04-07Merge pull request #46877 from ↵Rémi Verschelde
W4RH4WK/always-dynamically-allocate-property-table Always dynamically allocate PropertyTable
2021-04-06Check for the use of an empty shape in Bullet Kinematic collisionsMarcel Admiraal
2021-04-06Fix stack overflow in setterJulien Nguyen
2021-04-06Only cleanup meta data if GDNative library is reloadable and we're about to ↵Bastiaan Olij
unload it
2021-04-05Fix infinite loop when guessing argument type from parent classJulien Nguyen
2021-04-05Merge pull request #47569 from vnen/gdscript-typed-returnRémi Verschelde
GDScript: Properly validate return type
2021-04-05GDScript: Properly validate return typeGeorge Marques
When the type cannot be validated at compile time, the runtime must do a check to ensure type safety is kept, as the code might be assuming the return type is correct in another place, leading to crashes if the contract is broken.
2021-04-05Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-default-member-init`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-bool-literals`Rémi Verschelde
2021-04-05Merge pull request #47592 from ↵Rémi Verschelde
jmb462/fix-VisualScriptFunctionState-connect-to-null-signal-crash Fix VisualScriptFunctionState connect to null object crash (Fix #47572)
2021-04-05Merge pull request #47627 from Blackiris/fix-gdscript-var-addressRémi Verschelde
Fix GDScript variables addresses getting mixed
2021-04-05Merge pull request #47636 from qarmin/inputRémi Verschelde
Fix crashes in *_input functions
2021-04-05Fix crashes in *_input functionsRafał Mikrut
2021-04-04Fix GDScript variables addresses getting mixedJulien Nguyen
2021-04-04Fixes #47607 (forgotten statement in GDNative cleanup)Jan Haller
Co-authored-by: geekrelief <geekrelief@gmail.com>
2021-04-03Fix VisualScriptFunctionState connect to null object crashjmb462
2021-04-03Merge pull request #47452 from BastiaanOlij/xr_positional_tracker_refRémi Verschelde
Change XRPositionalTracker to a reference (master)
2021-04-01Merge pull request #46991 from madmiraal/rename-invert-reverseRémi Verschelde
Rename Array.invert() to Array.reverse()
2021-03-31Fix gdnative config file set as nullKyle
Fixes # Setting a GDNativeLibrary config file as null or any other object but a ConfigFile will now cause an error.
2021-03-31Merge pull request #47250 from BastiaanOlij/check_vulkan_versionRémi Verschelde
Obtain supported Vulkan API
2021-03-31As GLSLang seems to be all or nothing, added our own definesBastiaan Olij
2021-03-31[Complex Text Layouts] Provide access to glyph contour points.bruvzg
2021-03-30Merge pull request #47131 from vnen/gdscript-export-fixRémi Verschelde
Fix a few issues with @export in GDScript
2021-03-30Merge pull request #47492 from vnen/gdscript-typed-arraysRémi Verschelde
GDScript: Fix array type check on constants
2021-03-30GDScript: Fix array type check on constantsGeorge Marques
They mistakenly pointing to the wrong union member (variable instead of constant).
2021-03-30GDScript: Implement export of typed arraysGeorge Marques