summaryrefslogtreecommitdiff
path: root/modules
AgeCommit message (Collapse)Author
2019-01-27Mono: Test Windows binaries with lowercase extensionRémi Verschelde
To help users writing good cross-platform code, Godot's `FileAccessWindows:open()` will issue a warning on case mismatch, which happens here with capitalized extensions given by `PATHEXT` compared to actual file extensions which are lowercase 99% of the time. Fixes #25368.
2019-01-27Bullet: Enable BT_DEBUG on debug buildsRémi Verschelde
Fixes #25301.
2019-01-26Workaround GCC 6 & 7 ICE on armv7hlRémi Verschelde
Fixes #16100.
2019-01-25Ensure get script method list also checks base classes, fixes #23384Juan Linietsky
2019-01-23GDScript: do second pass of parsing on releaseGeorge Marques
Some construct (like match) actually depends on the second pass. This adds some extra checks to not perform specific type-checks on release since not all type information is available.
2019-01-23GDScript: fix default value for autoexported typed varsGeorge Marques
2019-01-23GDScript: read constants from parent scriptsGeorge Marques
This is needed to create export variables from enums defined in a parent class.
2019-01-23GDScript: don't allow calling non-static function from scriptGeorge Marques
2019-01-23GDScript: allow local classes to be used as typesGeorge Marques
2019-01-22Mono: Fix hot reload build errors and cleanupIgnacio Etcheverry
2019-01-21Mono: Add assembly reloading to running gamesIgnacio Etcheverry
Add environment variable to specify a custom --debugger-agent for mono.
2019-01-21Merge pull request #25180 from AndreaCatania/arovRémi Verschelde
Fixed area overlaps if not move
2019-01-21Fixed area overlaps if not moveAndrea Catania
2019-01-21Fix C# script metadata creation error due to missing directoryIgnacio Etcheverry
2019-01-21Workaround for bug with Mono's MSBuild and BaseIntermediateOutputPathIgnacio Etcheverry
BaseIntermediateOutputPath seems to be empty by default. The workaround is to explicitly set it. Also fixed passing char instead of char[] to String.Split. Why was this even working with Mono?
2019-01-18GDScript: Fix return value of "lerp" builtinRémi Verschelde
Fixes #25082, fixes #24709.
2019-01-18Merge pull request #25080 from neikeq/mm-cIgnacio Etcheverry
C# Bindings Generator: Fix vararg methods with custom return type
2019-01-18Merge pull request #25079 from neikeq/mm-bIgnacio Etcheverry
C#: Fix trying to build when there's no solution
2019-01-18Merge pull request #25078 from neikeq/mm-aIgnacio Etcheverry
C#: Fix crash due to missing gchandle ref null check
2019-01-18C# Bindings Generator: Fix vararg methods with custom return typeIgnacio Etcheverry
2019-01-18C#: Fix trying to build when there's no solutionIgnacio Etcheverry
This would cause errors that shouldn't happen unless there was something to build.
2019-01-17C#: Fix crash due to missing gchandle ref null checkIgnacio Etcheverry
2019-01-17Merge pull request #25069 from vnen/gdscript-fixesHein-Pieter van Braam
A bit more of GDScript fixes
2019-01-17GDScript compiler: check if subclass exists before comparisonGeorge Marques
Otherwise these checks might trigger the insertion of an empty value, leading to crashes.
2019-01-16GDScript: clarify error message about cyclesGeorge Marques
They may happen with any cyclic dependency, not only with inheritance.
2019-01-16GDScript: fix type-check of indexed valuesGeorge Marques
2019-01-16Merge pull request #25001 from jlahman/gdscript-export-var-fixRémi Verschelde
Fixes export PackedScene "reset to default" throwing errors
2019-01-16Android: Add support for x86_64 architectureRémi Verschelde
Like arm64v8, this is only supported by API 21 and later, so we enforce 21 as min API for x86_64. Part of #25030.
2019-01-16Merge pull request #25032 from akien-mga/static-analysisRémi Verschelde
Fix some errors found by static analysis
2019-01-16Fix some errors found by static analysisRémi Verschelde
Fixes items 10, 16 and 19 from PVS-Studio blog post in #24014.
2019-01-15Fixes export PackedScene "reset to default" throwing errorsjlahman
When exporting variables from a gdscript, default values of uninitialized variables would never be set. This caused the default value to be Variant::NIL, and when a user tried to reset the variable through the editor, an error would be thrown because too few arguments would be counted(end of argument list for calls are detected by NIL values). Fixed by simply setting default value to an empty variant of the proper type in gdscript parser.
2019-01-15GDScript: check for underscore prefix when type-checkingGeorge Marques
Some classes are represented internally with an underscore prefix, so we need to make sure we match this representation when type-checking, otherwise the check might fail on a valid scenario.
2019-01-15GDScript: consider constructors as always existingGeorge Marques
There's always a constructor, even if implicit, especially for native types. Also don't check for signature match on function call, since this information is not available in release builds.
2019-01-15GDScript: allow objects to be keys of dictionariesGeorge Marques
The engine allows this already, so the parser should not fail in this case.
2019-01-15GDScript: don't check types on release buildsGeorge Marques
A lot of information is missing on release, and the checks might take a performance hit. Also, having GDScript more lenient on release is usually desirable.
2019-01-15GDScript autocomplete: don't carry values when guessing from `is`George Marques
Guessing the type from an `is` operator should no be considered an assigment. This would cause crashes in certain scenarios.
2019-01-12Fixed infinite loop at end of video.Anish
A missing condition caused infinite looping, despite the video playing flag being set to false. Small change to fix. Fixes: #20552
2019-01-10Merge pull request #24877 from neikeq/issue-24280Rémi Verschelde
Fix properties being lost when reloading placeholder GDScript instance
2019-01-10doc: Sync classref with current source + AUTHORS editRémi Verschelde
2019-01-10Merge pull request #24883 from akien-mga/resourceformat-unregisterRémi Verschelde
Consistency in resource format saver/loader de-registration
2019-01-10Merge pull request #24884 from Xrayez/fix-#24881Rémi Verschelde
Fix broken encrypted scripts during export
2019-01-10Fix broken encrypted scripts during exportAndrii Doroshenko (Xrayez)
Use temporary cache directory instead of editor settings directory in order to resolve encrypted file access needed for encrypting scripts on all platforms.
2019-01-10Consistency in resource format saver/loader de-registrationRémi Verschelde
Some used 'is_valid()' checks, others not. Validity is already checked in 'unref()', and 'remove_resource_format_*()' has an ERR_FAIL condition on 'is_null()' already (which shouldn't happen since we're only unregistering things that we previously registered. Also add missing GDCLASS statement in ResourceFormatLoaderVideoStreamGDNative, missed in #20552 which was last amended before #19501 was merged.
2019-01-10Remove vsgdnative loader on exitMarcin Zawiejski
2019-01-10Fix properties being lost when reloading placeholder GDScript instanceIgnacio Etcheverry
During reloading in `GDScriptLanguage::reload_all_scripts` a placeholder instance that must remain so is replaced with a new placeholder instance. The state is then restored by calling `ScriptInstance::set` for each property. This does not work if the script is missing the properties due to build/parse failing. The fix for such cases is to call `placeholder_set_fallback` instead of `set` on the script instance. I took this chance to move the `build_failed` flag from `PlaceHolderScriptInstance` to `Script`. That improves the code a lot. I also renamed it to `placeholder_fallback_enabled` which is a much better name (`build_failed` could lead to misunderstandings).
2019-01-09Merge pull request #20552 from KidRigger/gsoc-peerRémi Verschelde
Added interface for GDNative Videodecoder.
2019-01-09Don't use -ffast-math or other unsafe math optimizationsHein-Pieter van Braam
Godot supports many different compilers and for production releases we have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers all do slightly different things with -ffast-math and it is causing issues now. See #24841, #24540, #10758, #10070. And probably other complaints about physics differences between release and release_debug builds. I've done some performance comparisons on Linux x86_64. All tests are ran 20 times. Bunnymark: (higher is better) (bunnies) min max stdev average fast-math 7332 7597 71 7432 this pr 7379 7779 108 7621 (102%) FPBench (gdscript port http://fpbench.org/) (lower is better) (ms) fast-math 15441 16127 192 15764 this pr 15671 16855 326 16001 (99%) Float_add (adding floats in a tight loop) (lower is better) (sec) fast-math 5.49 5.78 0.07 5.65 this pr 5.65 5.90 0.06 5.76 (98%) Float_div (dividing floats in a tight loop) (lower is better) (sec) fast-math 11.70 12.36 0.18 11.99 this pr 11.92 12.32 0.12 12.12 (99%) Float_mul (multiplying floats in a tight loop) (lower is better) (sec) fast-math 11.72 12.17 0.12 11.93 this pr 12.01 12.62 0.17 12.26 (97%) I have also looked at FPS numbers for tps-demo, 3d platformer, 2d platformer, and sponza and could not find any measurable difference. I believe that given the issues and oft-reported (physics) glitches on release builds I believe that the couple of percent of tight-loop floating point performance regression is well worth it. This fixes #24540 and fixes #24841
2019-01-08Use 'release_debug' for mono export templatesHein-Pieter van Braam
This fixes the previously wrong PR Because we don't actually ship 'debug' templates to users make sure the mono exporter picks the correct 'data' directory for export templates. This fixes #24752
2019-01-07Use 'release_debug' for mono export templatesHein-Pieter van Braam
Because we don't actually ship 'debug' templates to users make sure the mono exporter picks the correct 'data' directory for export templates. This fixes #24752
2019-01-07doc: Fix wrong references found by Sphinx and new makerst.pyRémi Verschelde