summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2019-02-12Merge pull request #25481 from hpvb/fix-ubsan-asan-reportsRémi Verschelde
Fix many asan and ubsan reported issues
2019-02-10Merge pull request #25727 from aaronfranke/matrix3-basisRémi Verschelde
[Core] Rename Matrix3 file to Basis
2019-02-09Warn when using GPU particles with GLES2Rémi Verschelde
Closes #25733.
2019-02-09[Core] Rename Matrix3 file to BasisAaron Franke
The code already referred to "Basis", it's just the file name that was different for some reason.
2019-02-08Image: Fix decompressing ETC2Rémi Verschelde
Thanks to @Rriik for finding the bug and its cause. Fixes #25595.
2019-02-03Mono: Lifetime fixes for CSharpInstance and instance binding dataIgnacio Etcheverry
Avoid CSharpInstance from accessing its state after self destructing (by deleting the Reference owner). It's now safe to replace the script instance without leaking or crashing. Also fixed godot_icall_Object_weakref return reference being freed before returning.
2019-02-03Merge pull request #25478 from neikeq/rrIgnacio Etcheverry
Mono: Fix MonoPosixHelper not being found
2019-02-03Added set_environment to OS classIgnacio Etcheverry
2019-01-31Merge pull request #25494 from RandomShaper/fix-21677Rémi Verschelde
Let memory stat functions return uint64_t
2019-01-30Fix AStar crashing with large (>1e30) estimated valuesBojidar Marinov
Fixes #21601
2019-01-30Let memory stat functions return uint64_tPedro J. Estébanez
2019-01-30Fix many asan and ubsan reported issuesHein-Pieter van Braam
This allows most demos to run without any ubsan or asan errors. There are still some things in thirdpart/ and some things in AudioServer that needs a look but this fixes a lot of issues. This should help debug less obvious issues, hopefully. This fixes #25217 and fixes #25218
2019-01-28Prevent upscaled SVG from exceeding Image boundsRémi Verschelde
Also expose Image MAX_WIDTH and MAX_HEIGHT. Fixes #24455.
2019-01-27Avoid cyclic resource loading of any type, fixes #22673Juan Linietsky
2019-01-26Fix code style issuesRémi Verschelde
2019-01-26Warn of invalid pointer when converting object to RID, closes #19023Juan Linietsky
2019-01-23Expose InputEventMIDI to scriptsMarcelo Fernandez
2019-01-23Revert "Revert "Update random_pcg.h""Rémi Verschelde
This reverts commit 6f704c338aa7448a65ced554804ae568063f35eb. Sorry about this, this was a test and not meant to be pushed to master. :/
2019-01-23Revert "Update random_pcg.h"Rémi Verschelde
This reverts commit 64e584a97e0505cec592d3c98a2899ba8426f35a.
2019-01-22Fixed possible crash in pck_packer.cpp due to wrong memory freeing.Ivan Ponomarev
2019-01-21Add function to obtain filesystem type from DirAccess.Juan Linietsky
Change EditorFileSystem to not use directory modification times on FAT32, fixes #20946
2019-01-20Fix HTML5 build warningLeon Krause
2019-01-15Don't reset MultiplayerAPI when setting same peer.Fabio Alessandrelli
A GDScript call to: `multiplayer.network_peer.some_prop = true` seems to transalte to: ``` var temp = multiplayer.network_peer temp.some_prop = true multiplayer.network_peer = temp ``` Which caused the MultiplayerAPI to be resetted. The call to set_network_peer is now ignored if the peer that's beeing set is the same as the currently set one.
2019-01-15Fix MultiplayerAPI initialization, clear.Fabio Alessandrelli
rpc_sender_id is now correctly initialized to 0 so get_rpc_sender_id() work reliably even if called before receiving any RPC. root_node is initialized to NULL (fix crashes when incorrectly using the MultiplayerAPI). clear function now resets the packet cache size to free more memory when not running.
2019-01-14Merge pull request #24987 from akien-mga/gles2-nvidia-rect-hack-opt-inRémi Verschelde
GLES2: Make Nvidia flicker workaround opt-in
2019-01-14Added a flag to specify an exported node path must be supplied from scene ↵Juan Linietsky
root, fixes #24412
2019-01-14GLES2: Make Nvidia flicker workaround opt-inRémi Verschelde
It has a big impact on 2D and text rendering performance (cf. #24466) so the solution seems worse than the bug it aims to work around. It's now opt-in via "rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround" for those who need it and have a simple enough game for the performance drop not to be an issue. Fixes #24466.
2019-01-14Do not use the workaround for desktop nvidia on mobile and html5.Juan Linietsky
2019-01-14Do not allow flushing while already flushing the message queue. Added to ↵Juan Linietsky
help track bugs in ProgressDialog in editor.
2019-01-14Do not allow adding tasks while in the middle of flushing a message queueJuan Linietsky
2019-01-13Revert "fixed invalid implementation of Plane::intersects_segment and ↵Rémi Verschelde
Plane::intersects_ray"
2019-01-11Merge pull request #24897 from GlaDos28/masterRémi Verschelde
fixed invalid implementation of Plane::intersects_segment and Plane::intersects_ray
2019-01-12fixed invalid implementations of Plane::intersects_segment and ↵Evgeny Savelyev
Plane::intersects_ray
2019-01-11Fix error explanation in core_bind Thread::_start_funcPoommetee Ketson
2019-01-10Merge pull request #24877 from neikeq/issue-24280Rémi Verschelde
Fix properties being lost when reloading placeholder GDScript instance
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-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-08Removed splits in Polygon editor, replace by internal vertices and polygon ↵Juan Linietsky
support.
2019-01-07Update random_pcg.hCalamander
little fix to function types
2019-01-07Repair String lstrip and rstrip.Ibrahn Sahir
Background: lstrip and rstrip were broken by changes to String in: 0e29f7974b59e4440cf02e1388fb9d8ab2b5c5fd which removed it's access to Vector::find(CharType). Moved Vector's find up into CowData so it can be shared by Vector and String. Added String::find_char using CowData::find. Implemented rstrip and lstrip using find_char. Added a few tests for String rstrip and lstrip.
2019-01-04Merge pull request #21708 from hpvb/fix-21242v2Hein-Pieter van Braam
String[size()] should return a default constructed CharType
2019-01-04String[size()] should return a default constructed CharTypeHein-Pieter van Braam
As per the C++ standard 21.3.4.1 for std::string: Returns: If pos < size(), returns data()[pos]. Otherwise, if pos == size(), the const version returns charT(). Otherwise, the behavior is undefined. Since the behavior is undefined Godot now does the same thing for const and non-const versions of operator[]. This fixes #21242 and fixes #22221.
2019-01-04Merge pull request #24585 from Xrayez/fix-crash-hex-numberRémi Verschelde
Fix crash when checking empty string for valid hex number
2019-01-04Merge pull request #24732 from hpvb/vector-pod-optimizationRémi Verschelde
Optimizations for trivial types
2019-01-03Update zstd to 1.3.8Guilherme Felipe
2019-01-03Optimizations for trivial typesHein-Pieter van Braam
Relying on various compiler primitives we can reduce the work done in our memory allocators and CowData. For types with trivial ctors or dtors we can skip looping over all elements when creating, resizing, and destroying lists of objects. These primitives are supported by clang, msvc, and GCC. However, once we've moved to C++11 we can rely on several std:: primitives that do the same thing and are standardized. In my testing the extra conditionals introduced here get removed from the generated program entirely as the results for these primitives is known at compile time.
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-27doc: Sync classref with current sourceRémi Verschelde
Fix various code formatting issues and argument names.
2018-12-24Bind `is_valid_hex_number` string method to GDScriptAndrii Doroshenko (Xrayez)
2018-12-24Fix crash when checking empty string for valid hex numberAndrii Doroshenko (Xrayez)