summaryrefslogtreecommitdiffstats
path: root/editor/editor_data.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Replace Array return types with TypedArraykobewi2022-08-221-2/+2
|
* Add per-scene UndoRedokobewi2022-08-221-25/+53
|
* Remove Signal connect bindsJuan Linietsky2022-07-291-1/+1
| | | | | Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
* Fix heap-use-after-free when closing a scene with its builtin script openHaoyu Qiu2022-07-061-0/+1
|
* Add a new HashSet templatereduz2022-05-201-2/+2
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Replace most uses of Map by HashMapreduz2022-05-161-9/+9
| | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Add a new HashMap implementationreduz2022-05-121-6/+3
| | | | | | | | | | | | | | | | | Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
* Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-031-1/+1
| | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* Fix some issues found by cppcheck.bruvzg2022-04-061-1/+1
|
* Cleanup EditorNode and EditorDataHendrik Brucker2022-03-301-142/+101
| | | | Co-authored-by: Eric M <itsjusteza@gmail.com>
* Initialize bools in the headers in editorAaron Franke2022-03-121-3/+0
|
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-5/+0
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Editor: Cleanup some includes dependenciesRémi Verschelde2022-02-151-2/+2
| | | | | | | | | | | Removes some unnecessary includes from `editor_node.h`, and instead add those where they're used. Removes unnecessary `editor_node.h` includes in various editor classes. Renames `dynamicfont` to `dynamic_font` in a couple files. Misc cleanup while jumping through that rabbit hole.
* Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker2022-02-121-2/+2
|
* Merge pull request #43015 from Xrayez/refactor-auto-instapropRémi Verschelde2022-02-081-0/+15
|\ | | | | Refactor auto-instantiation of `Object` properties in editor
| * Refactor auto-instantiation of `Object` properties in editorAndrii Doroshenko (Xrayez)2021-12-281-0/+15
| | | | | | | | | | | | | | | | 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).
* | Use ScriptServer::get_global_class_base instead of script_class_get_base in ↵Jason Knight2022-02-071-12/+3
| | | | | | | | script_class_is_parent.
* | Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
|/ | | | Happy new year to the wonderful Godot community!
* Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-9/+9
| | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* Fix a crash in editor's script parent class checkYuri Sizov2021-11-301-1/+6
|
* Rename `remove()` to `remove_at()` when removing by indexLightning_A2021-11-231-4/+4
|
* Use range iterators for `Map`Lightning_A2021-09-301-7/+7
|
* Rename Node's `filename` property to `scene_file_path` for clarityHugo Locurcio2021-09-301-16/+16
|
* Close built-in script from any scenekobewi2021-09-071-0/+4
|
* Implement properties arrays in the Inspector.Gilles Roudière2021-09-071-0/+15
|
* Use const references where possible for List range iteratorsRémi Verschelde2021-07-251-6/+6
|
* Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-19/+19
|
* Optimize StringName usagereduz2021-07-181-4/+4
| | | | | | | | | | | * Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-4/+4
|
* Rename Reference to RefCountedPedro J. Estébanez2021-06-111-1/+1
|
* Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde2021-06-111-2/+2
| | | | | File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
* Provide a way to hook into Inspectors UndoRedo.Gilles Roudière2021-05-041-0/+12
|
* Display scene file extensions in the editor only if there's ambiguityHugo Locurcio2021-03-201-6/+22
| | | | | This also simplifies the Editor Settings as the extension is now automatically shown to avoid ambiguity.
* Don't save project settings when not necessarykobewi2021-02-131-0/+8
|
* Merge pull request #31747 from KoBeWi/scene_stalkingRémi Verschelde2021-02-101-0/+20
|\ | | | | Detect external modification of scenes
| * Detect external modification of scenesTomasz Chabora2021-01-161-0/+20
| |
* | Merge pull request #43222 from KoBeWi/sub_editor_oblivionRémi Verschelde2021-01-291-10/+0
|\ \ | |/ |/| Remove unused get_subeditor() method
| * Remove unused get_subeditor() methodTomasz Chabora2020-10-301-10/+0
| |
* | Fix cases of resources destroyed too earlyPedro J. Estébanez2021-01-061-11/+12
| |
* | Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* | Rename empty() to is_empty()Marcel Admiraal2020-12-281-5/+5
| |
* | Cleanup unused engine codeTomasz Chabora2020-12-091-5/+0
| |
* | Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-1/+1
|/ | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Check for global script class information before clearing itAaron Franke2020-10-051-1/+3
|
* Don't write global script class information if there is noneAaron Franke2020-10-031-1/+5
|
* Iterate backwards over EditorPlugin's list of plugins in get_editor etcAaron Franke2020-08-271-4/+6
|
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-58/+108
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-103/+0
| | | | | | | | | | | | | | 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.
* Add proper type to most public API uses of ArrayJuan Linietsky2020-04-211-2/+2
|