summaryrefslogtreecommitdiffstats
path: root/modules
Commit message (Collapse)AuthorAgeFilesLines
* Unexpose _direct_state_changed in PhysicsBodyrafallus2021-04-224-13/+12
| | | | | | | Removed _direct_state_changed bindings Affects 2D and 3D nodes Callbacks now use Callable Tests were changed accordingly
* Merge pull request #48074 from akien-mga/fbx-fix-zlib-unbundlingRémi Verschelde2021-04-222-1/+4
|\ | | | | fbx: Fix include for zlib that broke unbundling
| * fbx: Fix include for zlib that broke unbundlingRémi Verschelde2021-04-222-1/+4
| | | | | | | | It's possible to link against system zlib on Linux, so we should use system paths.
* | ICU: Update to version 69.1, improve ICU data export process.bruvzg2021-04-221-1/+1
| |
* | Fix crash on GDNative API json generator exit.bruvzg2021-04-221-0/+4
|/
* Merge pull request #47896 from Calinou/videoplayer-stream-position-warningRémi Verschelde2021-04-202-1/+2
|\ | | | | Print a warning when trying to seek in VideoPlayer
| * Print a warning when trying to seek in VideoPlayerHugo Locurcio2021-04-142-1/+2
| | | | | | | | | | Seeking isn't implemented in built-in video formats and can only be supported in GDNative-provided video formats.
* | Merge pull request #47347 from nekomatata/heightmap-supportRémi Verschelde2021-04-202-21/+10
|\ \ | | | | | | Heightmap collision shape support in Godot Physics
| * | Heightmap collision shape support in Godot PhysicsPouleyKetchoupp2021-03-252-21/+10
| | |
* | | Merge pull request #47956 from vnen/gdscript-double-stackRémi Verschelde2021-04-208-56/+400
|\ \ \ | | | | | | | | GDScript: Use special stack space for temporaries to reduce type changes
| * | | GDScript: Adjust type of temporaries when neededGeorge Marques2021-04-166-8/+286
| | | |
| * | | GDScript: Pool temporary values by type on the stackGeorge Marques2021-04-145-49/+115
| | | | | | | | | | | | | | | | | | | | So the stack slots perform less type changes, which is useful for future optimizations.
* | | | Merge pull request #47448 from madmiraal/rename-lineedit-cursorRémi Verschelde2021-04-191-4/+4
|\ \ \ \ | | | | | | | | | | Rename LineEdit getters and setters to match property names
| * | | | Rename LineEdit caret_* properties getters and setters to match propertyMarcel Admiraal2021-04-171-4/+4
| | | | |
* | | | | Merge pull request #47917 from akien-mga/squish-decompress-onlyRémi Verschelde2021-04-187-83/+104
|\ \ \ \ \ | |/ / / / |/| | | | Import: Cleanup and optimize etcpak compression method
| * | | | Import: Cleanup and optimize etcpak compression methodRémi Verschelde2021-04-167-83/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | C#: Fix `double` casting in wasm m2n trampolinesIgnacio Roldán Etcheverry2021-04-171-1/+1
|/ / / / | | | | | | | | | | | | | | | | The trampolines were casting double to `size_t` (likely a copy-paste mistake), so the value was getting truncated.
* | | | Merge pull request #47701 from vnen/gdscript-test-runnerRémi Verschelde2021-04-1633-78/+882
|\ \ \ \
| * | | | Add runner for GDScript testingGeorge Marques2021-04-0833-78/+882
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | Merge pull request #47880 from RevoluPowered/fix-fbx-parserRémi Verschelde2021-04-1621-375/+221
|\ \ \ \ \ | | | | | | | | | | | | FBX Improve Parser and File Compatibility
| * | | | | This stops using FBXPropertyTable as a pointer.Gordon MacPherson2021-04-1521-375/+221
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge pull request #47878 from clayjohn/rename-get_surface_materialRémi Verschelde2021-04-151-2/+2
|\ \ \ \ \ | |_|_|_|/ |/| | | | Rename get_surface_material to get_surface_override_material
| * | | | Rename get_surface_material to get_surface_override_materialclayjohn2021-04-141-2/+2
| |/ / /
* | | | Merge pull request #47890 from akien-mga/etcpak-compress-onlyRémi Verschelde2021-04-141-16/+0
|\ \ \ \ | | | | | | | | | | etcpak: We only need the compression code, remove rest of etcpak app
| * | | | etcpak: We only need the compression code, remove rest of etcpak appRémi Verschelde2021-04-141-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Refactor GLSL shader compilationreduz2021-04-143-5/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | -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().
* | | | Merge pull request #47330 from ↵George Marques2021-04-141-2/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Blackiris/fix-corrupt-scene-when-export-has-setter Fix corrupt scene when export var has setter
| * | | | Fix corrupt scene when export var has setterJulien Nguyen2021-04-141-2/+1
| | | | |
* | | | | Merge pull request #47807 from Blackiris/fix-is-type-treated-as-addressRémi Verschelde2021-04-141-1/+1
|\ \ \ \ \ | |/ / / / |/| | | | Fix type argument in is_builtin which was treated as an address
| * | | | Fix type argument in is_builtin which was treated as an addressJulien Nguyen2021-04-111-1/+1
| | | | |
* | | | | Export gltf2 normal textures correctly.K. S. Ernest (iFire) Lee2021-04-131-0/+1
| |/ / / |/| | |
* | | | Add `etcpak` library for faster ETC/ETC2/S3TC imports.K. S. Ernest (iFire) Lee2021-04-1313-544/+253
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - `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>
* | | Reduce number of addressing modes in GDScript VMGeorge Marques2021-04-088-193/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Fix crash on importing empty .fbx fileLyuma2021-04-081-0/+3
| | |
* | | Merge pull request #47708 from Calinou/doc-websocketclient-secureFabio Alessandrelli2021-04-081-0/+1
|\ \ \ | | | | | | | | Document secure wss:// caveats for WebSocketClient
| * | | Document secure wss:// caveats for WebSocketClientHugo Locurcio2021-04-071-0/+1
| |/ / | | | | | | | | | See https://github.com/godotengine/godot/issues/37739.
* | | Merge pull request #47648 from Blackiris/fix-gdscript-editor-hangsRémi Verschelde2021-04-071-1/+1
|\ \ \ | | | | | | | | Fix infinite loop when guessing argument type from parent class
| * | | Fix infinite loop when guessing argument type from parent classJulien Nguyen2021-04-051-1/+1
| | | |
* | | | Merge pull request #47672 from Blackiris/fix-setter-stackoverflowRémi Verschelde2021-04-071-0/+2
|\ \ \ \ | |_|/ / |/| | | Fix stack overflow in setter
| * | | Fix stack overflow in setterJulien Nguyen2021-04-061-0/+2
| | | |
* | | | Merge pull request #46877 from ↵Rémi Verschelde2021-04-073-1/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | W4RH4WK/always-dynamically-allocate-property-table Always dynamically allocate PropertyTable
| * | | | Always dynamically allocate PropertyTableAlex Hirsch2021-03-103-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - `Texture::~Texture` expects `props` to be dynamically allocated. - `GetPropertyTable` returned a pointer to an existing `PropertyTable` but is expected to return a newly, dynamically allocated one. - `PropertyTable::PropertyTable()` suggests that an empty `element` property is valid. fix #46876 fix #45573
* | | | | Check for the use of an empty shape in Bullet Kinematic collisionsMarcel Admiraal2021-04-061-0/+4
| |/ / / |/| | |
* | | | Only cleanup meta data if GDNative library is reloadable and we're about to ↵Bastiaan Olij2021-04-061-28/+32
| |/ / |/| | | | | | | | unload it
* | | Merge pull request #47569 from vnen/gdscript-typed-returnRémi Verschelde2021-04-054-6/+304
|\ \ \ | | | | | | | | GDScript: Properly validate return type
| * | | GDScript: Properly validate return typeGeorge Marques2021-04-054-6/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde2021-04-0513-86/+169
| | | |
* | | | Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde2021-04-0510-23/+23
| | | |
* | | | Style: Apply clang-tidy's `modernize-use-default-member-init`Rémi Verschelde2021-04-057-50/+38
| | | |
* | | | Style: Apply clang-tidy's `modernize-use-bool-literals`Rémi Verschelde2021-04-051-1/+1
| | | |