summaryrefslogtreecommitdiff
path: root/core/object
AgeCommit message (Collapse)Author
2022-02-08Merge pull request #57066 from KoBeWi/in_the_name_of_the_customRémi Verschelde
2022-02-08Merge pull request #43015 from Xrayez/refactor-auto-instapropRémi Verschelde
Refactor auto-instantiation of `Object` properties in editor
2022-02-07Fix script editor errors with CustomCallableskobewi
2022-02-03Merge pull request #57562 from AnilBK/string-add-containsRémi Verschelde
String: Add contains().
2022-02-04String: Add contains().Anilforextra
2022-02-03[GDExtension] Fix registration of functions with enum or native pointer ↵bruvzg
return type.
2022-01-29simplify formatting scripts, add a clang-tidy script, and run clang-tidyNathan Franke
2022-01-18Improve locale detection.bruvzg
Use separate language, script and country lists. Add locale selection dialog and property hint.
2022-01-12Merge pull request #56492 from akien-mga/remove-author-docstringsRémi Verschelde
2022-01-06Merge pull request #55851 from Chaosus/better-completion-options-list_rebasedRémi Verschelde
2022-01-04Style: Remove inconsistently used `@author` docstringsRémi Verschelde
Each file in Godot has had multiple contributors who co-authored it over the years, and the information of who was the original person to create that file is not very relevant, especially when used so inconsistently. `git blame` is a much better way to know who initially authored or later modified a given chunk of code, and most IDEs now have good integration to show this information.
2022-01-04Merge pull request #56469 from Zylann/remove_gdclass_inherits_staticRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2022-01-03Remove unused `inherits_static` from GDCLASSMarc Gilleron
2022-01-02Improve editor template workflowfabriceci
Co-Authored-By: jmb462 <jmb462@gmail.com>
2021-12-28Refactor auto-instantiation of `Object` properties in editorAndrii Doroshenko (Xrayez)
Auto-instantiation is used by the create dialog, but should also be used by the editor inspector. This refactors object properties auto-instantiation into a dedicated method to be reused throughout editor (and possibly scripting).
2021-12-12Fix highlight for completion options match (rebased)Yuri Roubinsky
Co-authored-by: Gustav Andersson <gvekan@users.noreply.github.com>
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-11-30Change gdnative interface so that Godot object initialization should be ↵Gilles Roudière
triggered from the extension side
2021-11-26Fix wrong comparison with default valuesRicardo Subtil
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A
2021-11-17Fix the exceptions in signal disconnectionXwdit
Use the correct method to get SignalData to fix exceptions in signal disconnection
2021-11-14Merge pull request #53710 from ↵Hugo Locurcio
CaptainProton42/fix-extension-class-inspector-properties
2021-11-04Add is_built_in() method to Resourcekobewi
2021-11-03Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio
This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-10-28CI: Update to clang-format 13 using LLVM repoRémi Verschelde
2021-10-28clang-format: Disable alignment of operands, too unreliableRémi Verschelde
Sets `AlignOperands` to `DontAlign`. `clang-format` developers seem to mostly care about space-based indentation and every other version of clang-format breaks the bad mismatch of tabs and spaces that it seems to use for operand alignment. So it's better without, so that it respects our two-tabs `ContinuationIndentWidth`.
2021-10-28Remove ItemList editor and replace it by a property arrayGilles Roudière
2021-10-26Save all 64 bits of get_ticks_msec() in more casesMax Hilbrunner
2021-10-18Fix memory leak in exported projectqarmin
2021-10-13Merge pull request #53757 from groud/fix_undoRémi Verschelde
2021-10-13Fix undo in inspector not workingGilles Roudière
2021-10-12Merge pull request #52293 from neikeq/class-db-api-type-bugRémi Verschelde
Fix ClassDB API type mismatch bug between --editor and player
2021-10-12Fetch extension class props from ClassDBCaptainProton42
Extension class properties that have been registered with ClassDB(`GDNativeInterface::classdb_register_extension_class_property`) were not fetched previously. (Only directly providing a property list using `GDNativeExtensionClassCreationInfo::get_property_list_func` would work.) This especially caused problems with the C++ bindings since they exclusively rely on ClassDB to register properties.
2021-10-12Fix useless debug printGilles Roudière
2021-10-12Add a way to force undo/redo operations to be kept in MERGE_ENDS modeGilles Roudière
2021-10-07Enable method type information on release buildsGeorge Marques
This is needed to ensure GDScript compilation works properly on release builds and make use of optimized typed instructions.
2021-10-05Improve error message when instantiating virtual classMaxime Lapointe
2021-10-01Merge pull request #47442 from Shatur/fix-connect-reference-countedRémi Verschelde
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-22[ClassDB] Unify construct/extension retrieval.Fabio Alessandrelli
2021-09-22[Core] Add ClassDB functions to retrieve/construct extensions.Fabio Alessandrelli
Calling the constructor alone is not enough if the class to be instantiated is not a base class. This commit adds two functions, one for retrieving the the extension class reference, the other to construct an instance using the constructor and the extension class reference.
2021-09-07Merge pull request #52442 from Faless/mp/4.x_rpc_managerMax Hilbrunner
[Net] Move multiplayer classes to own subfolder. Split RPC from MultiplayerAPI.
2021-09-07[Net] Move multiplayer to core subdir, split RPCManager.Fabio Alessandrelli
Move multiplayer classes to "core/multiplayer" subdir. Move the RPCConfig and enums (TransferMode, RPCMode) to a separate file (multiplayer.h), and bind them to the global namespace. Move the RPC handling code to its own class (RPCManager). Renames "get_rpc_sender_id" to "get_remote_sender_id".
2021-09-07Implement properties arrays in the Inspector.Gilles Roudière
2021-09-05Apply set_read_only() to child classes of EditorProperty elementsSilc 'Tokage' Renew
2021-08-31Fix ClassDB API type mismatch bug between --editor and playerIgnacio Roldán Etcheverry
There are two ways a class can be added to ClassDB: - `A`: When an instance of the class is created for the first time. When this happends the class is not registered/exposed to scripts. - `B`: When calling `GDREGISTER_CLASS(ClassName)` or similar. When this happens the class is registered/exposed to scripts. ClassDB has an API type property to differentiate between the core and editor APIs. Up until now the API type was determined whenever the class is added to ClassDB (either `A` or `B`). The problem comes when a class is instantiated (`A`) before being registered (`B`). If at this point the current defined API is not the same as when the class is later registered, this will result in a mismatch between `--editor` and non-editor apps. This is specially bad for C# as it makes the editor player abort. This was happening with `EditorPaths` which, while being registered during the editor API classes registrations, it was also being instantiated earlier when running the editor or the project manager, via a call to `EditorPaths::create()`. This regression was introduced in 1074017f043ec9155b12ea97cd00cf11361ccdf0. This commit fixes this simply by re-assigning the class API type when the class is registered (`B`). This is correct because API type describes registered/exposed classes. It shouldn't cause any regressions as the API type should not be accessed of classes that are not (or not yet) registered/exposed. Code locations for reference: - Method to add a class to ClassDB: `ClassDB::_add_class2` - Code that adds classes to ClassDB post first initialization (`A`): `memnew` macros -> `Object::_postinitialize` -> `Object::initialize_class` -> `ClassDB::_add_class2`. - Code adds class to ClassDB and registers/exposes it to scripts: `GDREGISTER_CLASS` macros -> `ClassDB::register_class<T>` -> `Object::initialize_class` -> `ClassDB::_add_class2`.
2021-08-26Merge pull request #52107 from timothyqiu/overridenJuan Linietsky
Fix misspelled "overriden"
2021-08-26Fix misspelled "overriden"Haoyu Qiu
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-24Implement error return documetationreduz
Adds ability to add error return documetation to the binder and class reference. Usage example: ```C++ void MyClass::_bind_method() { [..] BIND_METHOD_ERR_RETURN_DOC("load", ERR_FILE_CANT_OPEN, ERR_FILE_UNRECOGNIZED); } ``` One function of ConfigFile was changed as example.