summaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
2020-11-25Merge pull request #43856 from vnen/gdscript-some-fixesRémi Verschelde
A couple of GDScript fixes
2020-11-25Merge pull request #43775 from vnen/gdscript-fix-stackRémi Verschelde
GDScript: Fix mishandling of stack pointers
2020-11-25GDScript: Fix return of cast expression on compilationGeorge Marques
It was mistakenly returning the source instead of the result.
2020-11-25GDScript: Fix range() being treated as array when optimized outGeorge Marques
The call of range() in a for loop is optimized to use int or vectors, to avoid allocating an array, however the type was set as array still. With the new typed VM this is an issue as the type mismatch the actual value, resulting in wrong instructions to be selected.
2020-11-25GDScript: Fix mishandling of stack pointersGeorge Marques
- Replace the for loop temporaries by locals. They cause conflicts with the stack when being popped, while locals are properly handled in the scope. - Change the interface for the codegen so the for loop list doesn't live through the whole block if it's a temporary. - Keep track of the actual amount of local variables in the stack. Using the size of the map is misleading in cases where multiple locals have the same name (which is allowed when there's no shadowing). - Added a few debug checks for temporaries, to avoid them being wrongly manipulated in the future. They should not live more than a line of code. - Rearrange some of compiler code to make sure the temporaries don't live across blocks.
2020-11-25Core: Always enable ptrcall, remove PTRCALL_ENABLED defineRémi Verschelde
ptrcall is now also used to optimize calls in GDScript, on top of the existing use by the GDNative and Mono modules. It no longer makes sense to make it optional.
2020-11-25Fix useless assignement in webrtc/library_godot_webrtc.jsMarcel Admiraal
2020-11-23Merge pull request #43747 from Faless/js/4.0_lintRémi Verschelde
[HTML5] Linting, fixes.
2020-11-23[HTML5] Run eslint --fix.Fabio Alessandrelli
Should I write a poem about this whole new world? ;)
2020-11-23Merge pull request #43781 from MaxMutantMayer/regex_unit_testsRémi Verschelde
Move and add new RegEx test cases
2020-11-23Merge pull request #43725 from vnen/gdscript-typed-vm-2Rémi Verschelde
GDScript: Typed VM Take 2
2020-11-22Move and add new RegEx test casesMaximilian Mayer
Test cases for 'RegEx' are moved from 'test_string.h' to own test suite in 'test_regex.h'. Additionally, new tests are introduced and '_init' is removed as it isn't implemented/used anywhere.
2020-11-22Document that WebM videos don't support the alpha channelHugo Locurcio
2020-11-21GDScript: Add faster instruction for validated constructorGeorge Marques
Only for built-in types.
2020-11-21GDScript: Add typed iterate instructionsGeorge Marques
2020-11-21GDScript: Add faster call instructions for builtin methodsGeorge Marques
Methods from builtin types can be called by using the function pointer when the argument and base types are known at compile time.
2020-11-21GDScript: Add faster call instructions for native methodsGeorge Marques
2020-11-21GDScript: Add speficic set/get instructionsGeorge Marques
When the base type is known at compile-time, we can get a direct function pointer that is faster than the regular set/get paths.
2020-11-21GDScript: Add faster operator for known typesGeorge Marques
It now uses the direct operator function pointer, which increases performance in evaluation.
2020-11-21GDScript: Gather instructions arguments beforehandGeorge Marques
Almost all instructions need variant arguments. With this change they are loaded in an array before each instruction call. This makes the addressing code be localized to less places, improving compilation overhead and binary size by a small margin. This should not affect performance.
2020-11-21GDScript: Split Function code into multiple filesGeorge Marques
To improve organization and reduce the size of compilation units.
2020-11-21[HTML5] Libraries refactor for linting.Fabio Alessandrelli
Initial work to make liniting easier. This includes: - Rename http_request.js to library_godot_http_request.js. - Rename externs.js to engine.externs.js. - New library_godot_runtime.js (GodotRuntime) wraps around emscripten functions. - Refactor of XMLHttpRequest handler in engine/preloader.js. - Few fixes to bugs spotted by early stage linting.
2020-11-20doc: Warn about using Node internal processingRémi Verschelde
See #43689. Also 'fixed' some spelling for behavior in publicly visible strings. (Sorry en_GB, en_CA, en_AU, and more... Silicon Valley won the tech spelling war.)
2020-11-17Fix godot_js_websocket_send function unused assignment.Marcel Admiraal
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-16Merge pull request #42167 from madmiraal/fix-42108Rémi Verschelde
Remove the unnecessary sync() and the restrictions it imposes on 3D Physics.
2020-11-16Merge pull request #43250 from aaronfranke/strext-lstripRémi Verschelde
Add LStrip, RStrip, and HexEncode to C#
2020-11-13Improve comments in Color documentationAaron Franke
2020-11-13GDScript: Fix native class not set with inheritanceGeorge Marques
2020-11-11Removing unneeded FuncRef code in C#Grzegorz Puławski
2020-11-11Refactor variant built-in methods yet again.reduz
* Using C-style function pointers now, InternalMethod is gone. * This ensures much better performance in typed code. * Renamed builtin_funcs to utility_funcs, to avoid naming confusion
2020-11-11Merge pull request #43372 from aaronfranke/clamp-fixesRémi Verschelde
Minor clamp and float fixes
2020-11-11Merge pull request #43443 from Faless/js/4.0_audio_workletRémi Verschelde
[HTML5] Port inline JS code to libraries, AudioWorklet support.
2020-11-10Minor clamp and float fixesAaron Franke
2020-11-10iOS Modules: separate main platform code from modulesSergey Minakov
Moved previously builtin modules 'GameCenter', 'AppStore', 'iCloud' to separate modules to be represented as plugin. Modified 'ARKit' and 'Camera' to not be builtin into engine and work as plugin. Changed platform code so it's not affected by the move. Modified Xcode project file to remove parameters that doesn't make any effect. Added basic '.gdip' plugin config file.
2020-11-10Fix completion for built-in load functionGustav
2020-11-10Merge pull request #43434 from sneik15/patch-1Rémi Verschelde
Updated gd_glue.cpp to work in the variant refactoring (Mono enabled)
2020-11-10[HTML5] Port JavaScript inline code to libraries.Fabio Alessandrelli
The API is implemented in javascript, and generates C functions that can be called from godot. This allows much cleaner code replacing all `EM_ASM` calls in our C++ code with plain C function calls. This also gets rid of few hacks and comes with few optimizations (e.g. custom cursor shapes should be much faster now).
2020-11-10Fix gdnative build when WebRTC module is disabled.Fabio Alessandrelli
2020-11-10Merge pull request #43423 from Calinou/doc-assert-avoid-side-effectsRémi Verschelde
Clarify that code in `assert()` should avoid side effects
2020-11-10Updated gd_glue.cpp to work with the latest changes in the variant refactoringAdrian Adeva
Without this change the engine dont compile with the mono module enabled.
2020-11-10Merge pull request #43383 from vnen/gdnative-string-headerRémi Verschelde
GDNative: Define special char types in string.h
2020-11-09Variant: Sync docs with new constructors, fixups after #43403Rémi Verschelde
Change DocData comparators for MethodDoc and ArgumentDoc to get a better ordering of constructors.
2020-11-09Clarify that code in `assert()` should avoid side effectsHugo Locurcio
2020-11-09Variant: Rename Type::_RID to Type::RIDRémi Verschelde
The underscore prefix was used to avoid the conflict between the `RID` class name and the matching enum value in `Variant::Type`. This can be fixed differently by prefixing uses of the `RID` class in `Variant` with the scope resolution operator, as done already for `AABB`.
2020-11-09Refactored variant constructor logicreduz
2020-11-09Add HexEncode to C#Aaron Franke
2020-11-09Add LStrip and RStrip to C# stringsAaron Franke
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-11-07GDNative: Define special char types in string.hGeorge Marques
Those are standard types in C++ but not in C. This also removes the wchar header which is not needed anymore and use stddef.h instead (which is needed for size_t).