summaryrefslogtreecommitdiff
path: root/modules/gdscript
AgeCommit message (Collapse)Author
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-11Merge pull request #49511 from akien-mga/core-diraccess-fileaccess-ioRémi Verschelde
Core: Move DirAccess and FileAccess to `core/io`
2021-06-11Merge pull request #49279 from Calinou/rename-string-is-abs-path-methodRémi Verschelde
Rename `String.is_abs_path()` to `String.is_absolute_path()`
2021-06-11Merge pull request #34566 from Heikki00/34541_to_json_precisionRémi Verschelde
Increased String::num default decimal precision
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-10Fix regression from 160c260 causing export of non-@export properties.Lyuma
2021-06-07Merge pull request #49367 from Calinou/gdscript-highligher-add-annotationsRémi Verschelde
Highlight annotations in the GDScript syntax highlighter
2021-06-07Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde
[Net] Refactor RPCs, remove RSETs
2021-06-06Highlight annotations in the GDScript syntax highlighterHugo Locurcio
By default, a orange color is used to highlight annotations in the script editor.
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Rename `String.is_abs_path()` to `String.is_absolute_path()`Hugo Locurcio
This is more consistent with `NodePath.is_absolute()`.
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-06-01[Net] Refactor RPCs, remove RSETsFabio Alessandrelli
In this PR: - Removed rset - rpc_config can now optionally configure transfer mode (reliable/unreliable/ordered) and channel (channels are not actually implemented yet.) - Refactor how the RPC id is computed to minimize the logic in Node and scripts that now only needs a single `get_rpc_methods` function.
2021-06-01Merge pull request #49067 from JFonS/fix_gcc_warningsRémi Verschelde
Fix some warnings raised by GCC-11.1
2021-05-31Rename the bundled text editor themes for consistency with themesHugo Locurcio
The Adaptive text editor theme is the default, and has therefore been renamed Default for consistency with the Default theme preset. It keeps its automatic dark/light switch status. The Default text editor theme was actually a legacy Godot 2-style theme, so it has been renamed to Godot 2 to match the theme preset. Its background color has been changed to be a constant opaque color, since the new editor theme made the theme look less good on a translucent background. The previous background color on light theme also lacked contrast.
2021-05-29Increase String::num default decimal precisionHeikki Simojoki
Fixes #34541 Renamed MAX_DIGITS to MAX_DECIMALS, since it only changes the amount of digits after the decimal point. Increased MAX_DECIMALS to 32, and made String::num use MAX_DECIMALS consistently. If -1 is passed as decimal precision to String::num, it now gets changed to the correct precision based on the number's magnitude, instead of using printf default(which is 6) String::num_real also calculates the correct precision now. Also made the types used in floating-point math more consistent in a few places.
2021-05-26Merge pull request #49114 from vnen/gdscript-fix-self-function-type-checkRémi Verschelde
GDScript: Fix function signature check for self calls
2021-05-26Merge pull request #49112 from vnen/gdscript-assign-type-checkRémi Verschelde
GDScript: Use analyzer data to decide assignment conversion
2021-05-26GDScript: Fix function signature check for self callsGeorge Marques
2021-05-26GDScript: Use analyzer data to decide assignment conversionGeorge Marques
Since there might be tricky cases in the analyzer (in the case of unsafe lines) which would need to be properly checked again. Instead, this splits the code generator in two functions and use information set by the analyzer to tell which function to use, without a need to re-check.
2021-05-25Fix some warnings raised by GCC-11.1jfons
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-24Merge pull request #49037 from vnen/fix-callable-freed-crashRémi Verschelde
2021-05-24Make Callable not crash on call when the object has been freedGeorge Marques
Also add a GDScript test for this case.
2021-05-24GDScript: Fix error handler for testsGeorge Marques
This changes the error message to be more clear on the output files and also fixes an issue with the relative path of the offending file that was not trimmed correctly.
2021-05-20Change behavior of String.rightTomasz Chabora
2021-05-20Fix typos with codespellRémi Verschelde
Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2021-05-19Merge pull request #48657 from Calinou/test-add-gdscriptRémi Verschelde
Add a unit test suite for GDScript
2021-05-19Show colored rects for autocompletion of Color constants in functionsYuri Roubinsky
2021-05-17Merge pull request #48347 from Blackiris/fix-temporary-key-not-releasedGeorge Marques
GDScript: Fix temporary value not released when used as a dictionary key
2021-05-17Merge pull request #48793 from vnen/gdscript-fix-temp-type-adjustRémi Verschelde
GDScript: Fix crash caused by uninitialized temp stack slots
2021-05-17GDScript: Fix crash caused by uninitialized temp stack slotsGeorge Marques
This adds initialization to every typed temporary stack slot at the beginning of the function call instead of emitting instructions, since those might be in a conditional branch and not be called.
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-16Merge pull request #48767 from vnen/gdscript-builtin-static-methodsRémi Verschelde
GDScript: Add support for builtin static method calls
2021-05-16GDScript: Add support for builtin static method callsGeorge Marques
2021-05-12Add a unit test suite for GDScriptHugo Locurcio
This tests run-time script loading.
2021-05-07Merge pull request #33577 from Calinou/highlight-control-flow-keywordsRémi Verschelde
Highlight control flow keywords with a different color
2021-05-06Fix temporary value not released when used as a dictionary keyJulien Nguyen
2021-05-06Merge pull request #47776 from Razoric480/foreportRémi Verschelde
Implement LSP didDeleteFiles & make parser aware of sub-nodes
2021-05-06Merge pull request #46714 from HaSa1002/fix-gdscript-underscore-strictRémi Verschelde
Fix GDScript Tokenizer being very strict about the number of underscores
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-05-04Merge pull request #47798 from ray90514/bug#47620Rémi Verschelde
Fix constants at function scope are not defined as constants for completion
2021-05-03Merge pull request #47958 from Xrayez/gdscript-rename-test-scriptsRémi Verschelde
Rename GDScript test script filenames to use `snake_case`
2021-04-29Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde
Follow-up to #38736 (these uses were likely added after this PR was merged).
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")