summaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
2020-06-04Merge pull request #39041 from swarnimarun/patch-1Rémi Verschelde
Fix crashing of VisualScript due to function change
2020-06-03SCons: Validate dependencies for linked multimedia modulesRémi Verschelde
This is still a bit hacky and eventually we should rework the way we handle optional dependencies (especially with regard to builtin/system libs), but it's a simple first step. Fixes #39219.
2020-05-30Fixes building mono release templatesNutmegStudio
2020-05-29Actually set GDScript static referenceGeorge Marques
2020-05-29Merge pull request #39085 from madmiraal/fix-39059Rémi Verschelde
Correct Bullet's default Area angular damp value.
2020-05-29Merge pull request #39051 from Xrayez/geometry-splitRémi Verschelde
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-28Use translated docs in PropertySelectorRémi Verschelde
And do the dedent and stripping for both translated and non-translated strings for consistency, and so that we don't need to do it at the call site.
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27Correct Bullet's default Area angular damp value.Marcel Admiraal
2020-05-27Merge pull request #39064 from bruvzg/gdn_packed_array_ptrRémi Verschelde
GDNative: Add bindings for the Packed*Array ptr() and ptrw() functions.
2020-05-27Merge pull request #39074 from vnen/gdscript-assert-messageRémi Verschelde
Fix assert message when no custom message is set
2020-05-26GDScript: Fix assert message when no custom message is setGeorge Marques
2020-05-26GDNative: Add bindings for the Packed*Array ptr() and ptrw() functions.bruvzg
2020-05-26Update Mono C# warning to reflect latest list of platforms supportedMaganty Rushyendra
Simple fix for #38627. iOS (#20268) and HTML5 (#20270) removed from list of exceptions for platforms supported in warning message.
2020-05-25Fix crashing of VisualScript due to...Swarnim Arun
Attempting to move the function node to another function whose data connection is a dependency of the node the specific node being moved to a different function during changes to sequence connections. By skipping, if the from_node is a function_node during the data connection dependencies scan. Should fix #37991
2020-05-25Merge pull request #39015 from ↵Rémi Verschelde
ThakeeNathees/dict-key-autocomplete-regression-fix regression: dictionary key no autocomplete fix
2020-05-25Add `custom_modules` build option to compile external user modulesAndrii Doroshenko (Xrayez)
This patch adds ability to include external, user-defined C++ modules to be compiled as part of Godot via `custom_modules` build option which can be passed to `scons`. ``` scons platform=x11 tools=yes custom_modules="../project/modules" ``` Features: - detects all available modules under `custom_modules` directory the same way as it does for built-in modules (not recursive); - works with both relative and absolute paths on the filesystem; - multiple search paths can be specified as a comma-separated list. Module custom documentation and editor icons collection and generation process is adapted to work with absolute paths needed by such modules. Also fixed doctool bug mixing absolute and relative paths respectively. Implementation details: - `env.module_list` is a dictionary now, which holds both module name as key and either a relative or absolute path to a module as a value. - `methods.detect_modules` is run twice: once for built-in modules, and second for external modules, all combined later. - `methods.detect_modules` was not doing what it says on the tin. It is split into `detect_modules` which collects a list of available modules and `write_modules` which generates `register_types` sources for each. - whether a module is built-in or external is distinguished by relative or absolute paths respectively. `custom_modules` scons converter ensures that the path is absolute even if relative path is supplied, including expanding user paths and symbolic links. - treats the parent directory as if it was Godot's base directory, so that there's no need to change include paths in cases where custom modules are included as dependencies in other modules.
2020-05-24regression: dictionary key no autocomplete fixThakee Nathees
Fix: #38998
2020-05-22Merge pull request #38962 from neikeq/4.0-scons-option-build-cilRémi Verschelde
Add SCons option to not build C# solutions
2020-05-22Add SCons option to not build C# solutionsIgnacio Etcheverry
2020-05-22Merge pull request #38366 from akien-mga/xatlas-470576dRémi Verschelde
xatlas: Sync with upstream 470576d
2020-05-22Merge pull request #38943 from neikeq/yakamashiRémi Verschelde
Mono/C#: Don't try to load project assembly in project manager
2020-05-22Mono/C#: Don't try to load project assembly in project managerIgnacio Etcheverry
This was causing an error message when launching the manager, because there is no project assembly to load.
2020-05-22Mono/C#: Fix values not updated in remote inspectorIgnacio Etcheverry
2020-05-21Merge pull request #33689 from jbuck3/signal-errorRémi Verschelde
Trigger an error when trying to define a preexisting signal in GDScript
2020-05-21Merge pull request #35900 from yamgent/unreachableRémi Verschelde
Fix false positive "Unreachable code" warning for loops
2020-05-20xatlas: Sync with upstream 470576dRémi Verschelde
2020-05-19Merge pull request #38863 from neikeq/csharp-no-false-error-objtype-reloadRémi Verschelde
Mono/C#: Remove script load error about not a Godot.Object
2020-05-19Mono/C#: Remove script load error about not a Godot.ObjectIgnacio Etcheverry
Any C# file can be loaded as script and at load time we don't yet know if it's actually meant to be used as a script. As such, such an check can result in a lot of false errors. If the file is really meant to be used as a script, an error would be printed later when attempting to instantiate it any way.
2020-05-19Fix too eager GDScriptFunctionState stack cleanupPedro J. Estébanez
2020-05-19Style: Fix unnecessary semicolons that confused clang-formatRémi Verschelde
2020-05-18Merge pull request #38826 from bruvzg/gdnative_core_typesRémi Verschelde
Add new (and rename changed) core types to GDNative API.
2020-05-18Merge pull request #38723 from neikeq/initial-classdb-testRémi Verschelde
Added tests for ClassDB
2020-05-18GDNative add new core types.bruvzg
2020-05-18GLSL: Change shader type specifier from [vertex] to #[vertex]Rémi Verschelde
The added `#` prevents clang-format from misinterpreting the meaning of this statement and thus messing up the formatting of the next lines up until the first `layout` statement. Similarly, a semicolon is now enforced on `versions` defines to prevent clang-format from messing up formatting and putting them all on a single line. Note: In its current state the code will ignore chained statements on a single line separated by a semicolon. Also removed some extraneous lines missed in previous style changes or added by mistake with said changes (e.g. after uniform definitions that clang-format messes up somewhat too, but we live with it).
2020-05-16Added tests for ClassDBIgnacio Etcheverry
2020-05-16gdscript_parser: Fix "unreachable code" false positive for loopsTan Wang Leng
Depending on the conditional statements of the 'for' and 'while' loops, their body may not even execute once. For example: func a(): var arr = [] for i in arr: return i # can be reached, but analysis says cannot return -1 func b(): var should_loop = false while should_loop: return 1 # can be reached, but analysis says cannot return 0 The parser will complain that the statements after the comment cannot be reached, but it is clearly possible for our scenario. This is because the parser falsely assumes that the loop body will always execute at least once. Fix the code to remove this assumption for both of those loops.
2020-05-16Fix GDNative wrapper type sizes (RID, Variant, Packed*Array), add size ↵bruvzg
checking static asserts.
2020-05-16websocket: Fix crash at exit when not running the editorIgnacio Etcheverry
EditorDebuggerServer::register_protocol_handler must not be called before editor initialization. Otherwise, if the editor is never initialized, the added StringName will not be released until static destructors are called (instead of being release during editor deinitialization).
2020-05-15Fix incorrect capabilities notification in LSPOliver Frank
(cherry picked from commit 2173d041af711c111d60d1fc1f45f96f4f8c7271)
2020-05-15Improve jsonrpc error reportingOliver Frank
(cherry picked from commit dac8b7b6f4fec0136a3dc95afae0aa8aa8ce9fd9)
2020-05-15break, continue outside of a loop, match statement handledThakee Nathees
2020-05-14Merge pull request #38738 from akien-mga/cause-we-never-go-out-of-styleRémi Verschelde
Style: Remove new line at block start, enforce line between functions, enforce braces in if and loop blocks
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Merge pull request #38610 from ThakeeNathees/infer-type-null-errorRémi Verschelde
set parser error when infer type is null
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Style: Fix missing/invalid copyright headersRémi Verschelde
2020-05-14Merge pull request #38611 from ThakeeNathees/shadow-var-warning-bug-fixRémi Verschelde
shadowed var warning in nested block bug fix
2020-05-14Remove redundant void argument listsRémi Verschelde
Using clang-tidy's `modernize-redundant-void-arg`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html