summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2020-06-12Object: Add usage hint to instantiate Object properties in editorRémi Verschelde
Fixes #36372 as Path2D/Path3D's `curve` property no longer uses a Curve instance as default value, but instead it gets a (unique) default Curve instance when created through the editor (CreateDialog). ClassDB gets a sanity check to ensure that we don't do the same mistake for other properties in the future, but instead use the dedicated property usage hint. Fixes #36372. Fixes #36650. Supersedes #36644 and #36656. Co-authored-by: Thakee Nathees <thakeenathees@gmail.com> Co-authored-by: simpuid <utkarsh.email@yahoo.com>
2020-06-11String: Use ABS macro in padding codeRémi Verschelde
Follow-up to #39261.
2020-06-11Merge pull request #39230 from ntfshard/expression_string_singlequoteRémi Verschelde
Fix for Expression class: string inside an expression can't be single quoted
2020-06-11Merge pull request #39261 from mrushyendra/string_paddingRémi Verschelde
Enable zero padding with float specifier for format strings
2020-06-10Fix potential crash when listing leaked objectsPedro J. Estébanez
Note: Casting to the C++ classes and calling the methods there would work as well, but would require including he header files for the specific object types handled here, which wouldn't be OK either.
2020-06-10Merge pull request #39409 from akien-mga/astar-get_closest_point-deterministicRémi Verschelde
AStar: Make get_closest_point() deterministic for equidistant points
2020-06-09AStar: Make get_closest_point() deterministic for equidistant pointsRémi Verschelde
Closes godotengine/godot-docs#3667. Supersedes #39405.
2020-06-08Core: Add hints to run with --verbose when leaking nodes/resources at exitRémi Verschelde
2020-06-08VariantParser: Fix crash on malformed vectorsRémi Verschelde
Each time `r_err_str` is set, we should return a parse error. Removed redundant `return OK;` which were already handled after the big `if`/`else if`/`else` for `TK_IDENTIFIER`. Part of #17372.
2020-06-07Merge pull request #39200 from azagaya/fix-blend-2Rémi Verschelde
Fixing wrong blending rect methods
2020-06-06Crypto as a custom instance class.Fabio Alessandrelli
2020-06-06Fix editor crash when mbedtls is disabled.Fabio Alessandrelli
2020-06-05Merge pull request #39316 from Anutrix/remove-hashmap-reduntant-funcRémi Verschelde
Remove unused function get_key_value_ptr_array from hash_map.h and another tiny fix.
2020-06-05Remove unused function get_key_value_ptr_array from hash_map.h and also fix ↵unknown
parameter name in function get_key_list.
2020-06-04Sync controller mappings DB with SDL2 community repoRémi Verschelde
Synced with gabomdq/SDL_GameControllerDB@6191f6333bd66644c6a208fabb9fd5dabf0a5d43.
2020-06-03Enable zero padding with float specifier for format stringsMaganty Rushyendra
Godot currently supports zero padding for integers, octals and hexadecimals when using format strings, but not for floats. This commit adds support for zero padding for floats, thus ensuring consistent behavior for all types, and making Godot's format specifiers' behavior closer to c's `printf()`. Before: `print("<%07.2f>" % -0.2345)` prints `< -0.23>`. Now: `print("<%07.2f>" % -0.2345)` prints `<-000.23>`. `print("<%7.2f>" % -0.2345)` prints `< -0.23>`.
2020-06-03Fix docs generation for Vector2i/Vector3i/Rect2iYuri Roubinsky
2020-06-02Fix for Expression class: inner string can be single quotedntfs.hard
2020-05-31Print errors when calling MIDI input methods on unsupported platformsHugo Locurcio
This partially addresses #32065.
2020-05-31Fixing wrong blending rect methodsazagaya
Using Color.blend function instead of custom code Fixed clang_format Removed unnecessary help
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-27Fix unsigned integer bug in LocalVector::eraseMaganty Rushyendra
`erase()` calls `find()` to get the index of the element to remove, if any. https://github.com/godotengine/godot/blob/c2151e18135817c9f926a5a00341016ac77301d4/core/local_vector.h#L77-L81 `find()` returns a signed integer. In particular, it returns -1 if no element is found. Since `erase()` converts this to an unsigned type, the wrong element may be erroneously removed from the vector. Other ways to fix this would involve changing function signatures, so this seemed to be the least disruptive change. Fixes #38884
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-25Improve documentation of ProjectSettings::setupRémi Verschelde
Subsequent PRs adding and fixing support for bundled PCKs did not update the documentation /o\
2020-05-25Merge pull request #38887 from AndreaCatania/oahash_impRémi Verschelde
OAHashMap crash fix and copy feature.
2020-05-25- Make sure it's impossible to initialize an OAHashMap with 0 capacity ↵Andrea Catania
(would cause division by 0) - Added possibility to copy an OAHashMap - Added unit tests This code is generously donated by IMVU.
2020-05-23Merge pull request #38396 from nekomatata/unexpose-sort-childrenRémi Verschelde
Fix Container sorting not working when overriding _sort_children in gdscript
2020-05-22Merge pull request #38886 from Xrayez/save-png-to-buffer-bindRémi Verschelde
Expose `Image.save_png_to_buffer` method
2020-05-20Docs: Fix order of variant constants.bruvzg
2020-05-20Expose `Image.save_png_to_buffer` methodAndrii Doroshenko (Xrayez)
2020-05-20[Windows] Add tablet driver selection.bruvzg
2020-05-19Style: Remove unnecessary semicolons from `core`Rémi Verschelde
Semicolons are not necessary after function definitions or control flow blocks, and having some code use them makes things inconsistent (and occasionally can mess up `clang-format`'s formatting). Removing them is tedious work though, I had to do this manually (regex + manual review) as I couldn't find a tool for that. All other code folders would need to get the same treatment.
2020-05-19Style: Fix unnecessary semicolons that confused clang-formatRémi Verschelde
2020-05-19Merge pull request #38567 from AndreaCatania/AndreaCatania-patch-3Rémi Verschelde
Removed const from OAHashMap iterator value
2020-05-18Fix leaks and crashes in OAHashMapPedro J. Estébanez
This changes the way the lifespan of items is managed to be consistent. Bonus: Simplify cases of destroy-then-emplace.
2020-05-16Fix Container sorting not working when overriding _sort_children in gdscriptPouleyKetchoupp
Remove _sort_children from script bindings: _sort_children is an internal method which shouldn't be exposed to scripts. Added support for non-bound methods in MessageQueue: So we can use deferred calls without exposing internal methods to scripts. Added debug checks in CallableCustomMethodPointer: Adding method pointer callables to the message queue was causing crashes in case an object was destroyed and the same memory was allocated for another one. The new object had a valid object id but the call was erroneous. Release will be fixed later, along with Variant which has the same problem and is also fixed for debug only.
2020-05-16Remove HQ2X and the `Image.expand_2x_hq2x()` methodHugo Locurcio
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme and icons on hiDPI displays, which limited its effective uses. HQ2X was also used to upscale the project theme when the "Use Hidpi" project setting was enabled, but results were often less than ideal. The new StyleBoxFlat and SVG support also make HQ2X less important to have as a core feature. This decreases binary sizes slightly (-150 KB on most platforms, -212 KB on WebAssembly release). This partially addresses #12419.
2020-05-15Merge pull request #38760 from akien-mga/error-macros-styleRémi Verschelde
Error macros: Improve style of error messages
2020-05-15Error macros: Improve style of error messagesRémi Verschelde
Document why the `if (1) {} else ((void)0)` construct is used.
2020-05-15Merge pull request #38717 from madmiraal/fix-image-uninitialized-warningRémi Verschelde
Silence 'w' may be used uninitialized in image.cpp warning.
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-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-14Silence 'w' may be used uninitialized in image.cpp warning.Marcel Admiraal
Rename `w` to the more meaningful `data_write`
2020-05-14Enforce use of bool literals instead of integersRémi Verschelde
Using clang-tidy's `modernize-use-bool-literals`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14Modernize remaining uses of 0/NULL instead of nullptr (C++11)Rémi Verschelde
Using clang-tidy's `modernize-use-nullptr`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-05-13Implement half axis and inverted axis mapping.Marcel Admiraal