summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
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)
2018-12-21ProjectManager: Warn when projects have different config_versionRémi Verschelde
When opening projects for edition through the project manager, the following checks are now done: 1. If the config_version is lower than the one used by the current engine version, users are asked if they want to convert to the new format or abort editing. Fixes #20626. 2. If the config_version is higher than the expected one (project from a more recent and incompatible engine version), projects are grayed out and can't be edited. Fixes #18758. When editing from the command line, the behaviour is unchanged: projects in situation (1) are automatically converted, while projects in situation (2) show an error message (made more explicit). The "Run" option from the project manager was not changed, so it will still run (1) projects without converting them, and fail running (2) projects. Co-authored-by: groud <gilles.roudiere@gmail.com>
2018-12-20Merge pull request #24500 from akien-mga/drop-global_defaultsRémi Verschelde
Core: Drop unused global_defaults logic
2018-12-20Core: Drop unused global_defaults logicRémi Verschelde
It used to be used for Android and iOS to specify platform-specific project settings overrides, but we now have feature tags for that.
2018-12-20Added OS.get_system_time_msecs()volzhs
2018-12-17Merge pull request #24388 from Chaosus/fix_csv_spamRémi Verschelde
Removed error message arriving whenever csv file changed
2018-12-16Merge pull request #24385 from hpvb/reduce-string-coewRémi Verschelde
Reduce String CoW
2018-12-16Reduce String CoWHein-Pieter van Braam
By introducing an intermediate proxy class for the array subscript operator for String and CharString we can control better when CowData will actually CoW. This should improve performance of String usage for most cases.
2018-12-16Merge pull request #19501 from Zylann/custom_loadersRémi Verschelde
Added basic support for custom resource savers and loaders
2018-12-16Removed error message arriving whenever csv file changedChaosus
2018-12-15Added basic support for custom resource savers and loadersMarc Gilleron
2018-12-14Don't allocate in Vector's ctorHein-Pieter van Braam
By relying on the fact that a struct or class's first member has the same address as the struct itself we can cast VectorWriteProxy<T> to Vector<T> and access the CowData field. This allows a Vector to be moved in memory without invalidating the pointer to the cowdata field.
2018-12-14Merge pull request #21856 from AlexHolly/fix-undo-not-showing-errorRémi Verschelde
Fix undo redo not showing errors
2018-12-14Merge pull request #23799 from marcelofg55/custom_psRémi Verschelde
Add application/config/project_settings_override option to override project settings
2018-12-13Add application/config/project_settings_override option to override project ↵Marcelo Fernandez
settings