summaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
2020-12-02xatlas: Sync with upstream 5571fc7Adam Brown
Fixes #44017 by changing the `normalize()` function to check for non-negative rather than non-zero via an epsilon check.
2020-11-30Merge pull request #43992 from vnen/variant-internal-object-setRémi Verschelde
Fix VariantInternal initialization and setting of object
2020-11-30Merge pull request #43504 from AndreaCatania/gds_fix_2Rémi Verschelde
Implement proper error print, Fixes a crash when no error messages are generated by the analyser.
2020-11-30Fix VariantInternal initialization and setting of objectGeorge Marques
- Initialize Object pointer to nullptr so it's not used by mistake. - When setting an Object check if it's a reference so refcounting works as intended.
2020-11-30GDScript: Don't construct ref values in compilerGeorge Marques
Values that are passed by reference are not suited for being constructed at compile time because in this case they would be shared across all the construction statements.
2020-11-28Implement proper error print, Fixes a crash when no error messages are ↵AndreaCatania
generated by the analyser.
2020-11-28Merge pull request #42109 from EricEzaM/PR/input-and-shortcuts-reworkRémi Verschelde
Shortcuts rework - fixed issues with input propagation and triggering of unwanted shortcuts.
2020-11-28Merge pull request #41100 from bruvzg/ctl_text_server_interfaceRémi Verschelde
[Complex Text Layouts] Implement TextServer interface.
2020-11-27Merge pull request #43500 from AndreaCatania/gds_fixesRémi Verschelde
Fixes crash when parse_expression returns nullptr.
2020-11-27Merge pull request #43914 from ThakeeNathees/range-argument-type-bug-fixRémi Verschelde
GDScript: range function type check bug fixed
2020-11-27Merge pull request #43226 from mateosss/unreachable-prop-crashGeorge Marques
Fix crash due to unreachable code in properties
2020-11-27GDScript range function typecheck bug fixedThakee Nathees
Fix: #43586
2020-11-26Unregister GDScriptFunctionState classGeorge Marques
This is not user accessible anymore so it does not need to be show in documentation.
2020-11-26Merge pull request #43895 from vnen/gdscript-operators-fixRémi Verschelde
GDScript: Improve handling of operators
2020-11-26Merge pull request #43894 from vnen/gdscript-some-fixesRémi Verschelde
Some GDScript fixes
2020-11-26GDScript: Improve handling of operatorsGeorge Marques
- Use the new functions in Variant to determine the validity and resulting type of operators. - Split the operator function in codegen between binary and unary, since the unary ones have now a special requirement of having the second argument to be the NIL type when requesting info.
2020-11-26GDScript: Don't clear depended parsers too soonGeorge Marques
It can wait until the analyzer itself is destructed, otherwise other phases might be using freed parsers.
2020-11-26GDScript: Give an error if dependency can't be parsedGeorge Marques
Otherwise this may lead to a crash when the dependency is not present.
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-11-26[Complex Text Layouts] Implement GDNative interface for TextServer.bruvzg
2020-11-26[Complex Text Layouts] Implement ICU / HarfBuzz based TextServer module.bruvzg
2020-11-26[Complex Text Layouts] Add third-party TextServer dependencies (ICU, ↵bruvzg
HarfBuzz, Graphite).
2020-11-26[Complex Text Layouts] Implement TextServer interface. Implement Fallback ↵bruvzg
TextServer.
2020-11-25fixes crash for OPCODE_CAST_TO_NATIVE opcode in gdscript disassemlberJordan Schidlowsky
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-23Implement new shortcuts system.Eric M
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
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