summaryrefslogtreecommitdiff
path: root/editor/editor_node.cpp
AgeCommit message (Collapse)Author
2020-03-09Merge pull request #36920 from Faless/debugger/more_instancesRémi Verschelde
Move Debug menu logic to DebuggerEditorPlugin, allow 4 debug instances
2020-03-09Keeps the filename when marking scene as unsavedHaoyu Qiu
2020-03-08Move Debug menu logic to DebuggerEditorPluginFabio Alessandrelli
2020-03-05Fix EditorFolding crash when switching scenesThakee Nathees
2020-02-28Signals: Manually port most of remaining connect_compat usesRémi Verschelde
It's tedious work... Some can't be ported as they depend on private or protected methods of different classes, which is not supported by callable_mp (even if it's a class inherited by the current one).
2020-02-28Signals: Port connect calls to use callable_mpRémi Verschelde
Remove now unnecessary bindings of signal callbacks in the public API. There might be some false positives that need rebinding if they were meant to be public. No regular expressions were harmed in the making of this commit. (Nah, just kidding.)
2020-02-28Merge pull request #36556 from RandomShaper/rework_mutexRémi Verschelde
Reimplement `Mutex` with C++'s `<mutex>` (plus more)
2020-02-27Make internal editor key order consistentAaron Franke
Godot already displays controls in the order Control+Shift+Alt, so the order used with the bitmask flags should be the same.
2020-02-26Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-23Replace FALLTHROUGH macro by C++17 [[fallthrough]]Rémi Verschelde
This attribute is now part of the standard we target so we no longer need compiler-specific hacks. Also enables -Wimplicit-fallthrough for Clang now that we can properly support it. It's already on by default for GCC's -Wextra. Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-21Huge Debugger/EditorDebugger refactor.Fabio Alessandrelli
2020-02-20Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky
objects and made them default.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-15Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr.Juan Linietsky
2020-02-14Merge pull request #36066 from timothyqiu/float-step-rangeRémi Verschelde
Fixes range hint for default_float_step
2020-02-13Disable video driver option in editor since switching to GLES2 wouldDoug Richardson
currently cause a crash on restart. Fixes #36190.
2020-02-13Remove obsolete GLES3 backendRémi Verschelde
Due to the port to Vulkan and complete redesign of the rendering backend, the `drivers/gles3` code is no longer usable in this state and is not planned to be ported to the new architecture. The GLES2 backend is kept (while still disabled and non-working) as it will eventually be ported to serve as the low-end renderer for Godot 4.0. Some GLES3 features might be selectively ported to the updated GLES2 backend if there's a need for them, and extensions we can use for that. So long, OpenGL driver bugs!
2020-02-12Added high-end (Vulkan) label to some functions in visual shaderYuri Roubinsky
2020-02-12ObjectID converted to a structure, fixes many bugs where used incorrectly as ↵Juan Linietsky
32 bits.
2020-02-11Don't flip screenshot.K. S. Ernest (iFire) Lee
2020-02-11Added normalmap guided roughness mipmap generator, and a global roughness ↵Juan Linietsky
limiter.
2020-02-11Re-implemented screen space ambient occlusionJuan Linietsky
2020-02-11DOF fully implemented, can be edited on the fly.Juan Linietsky
2020-02-11GIProbes working.Juan Linietsky
2020-02-11Rewritten StreamTexture for better code reuse, added basis universal supportJuan Linietsky
2020-02-11Modernized default 3D material, fixes material bugs.Juan Linietsky
2020-02-11Base 3D engine done, still untested, though.Juan Linietsky
2020-02-11Add static Vulkan loader.bruvzg
Initial Vulkan support for Windows. Initial Vulkan support for macOS.
2020-02-11Bugfixes and ability to better specify filter and repeat modes everywhere.Juan Linietsky
Removes antialiased flag for draw_* methods.
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
2020-02-10Remove AnimationTreePlayer nodeMichael Alexsander
2020-02-10- Integrated NavigationServer and Navigation2DServer.Andrea Catania
- Added Navigation Agents and Obstacles. - Integrated Collision Avoidance. This work has been kindly sponsored by IMVU.
2020-02-10Fixes range hint for default_float_stepHaoyu Qiu
2020-02-05Remove duplicate WARN_PRINT macro.Marcel Admiraal
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-24Fixed Inspector update when a node is renamedPouleyKetchoupp
Whenever any node is renamed, EditorNode::_edit_current() is called and it resets plugins used for current edited properties. This change forces the inspector to update even though the same object is edited, to make sure all plugins are restored properly from unfolded properties/resources/etc. Fixes #32832
2020-01-14Export: Properly disable resource preview threadRémi Verschelde
Fixes #26857. Fixes #34433. Fixes #34826.
2020-01-13EditorNode: Delay addon init to NOTIFICATION_READYRémi Verschelde
Fixes #25635.
2020-01-13Fixes the New Window option in macOS dock menuHaoyu Qiu
2020-01-08Export: Add dedicated --export-pack option to export data packRémi Verschelde
The previous behavior relying on the provided extension was problematic on macOS since .zip is the main extension used for the full project export (binary + data pack). We add a dedicated `--export-pack` command line option to define when only the data pack should be exported. Its extension will still be inferred from the path. Fixes #23073.
2020-01-07Export: Improve usability of command line interfaceRémi Verschelde
I'm barely scratching the surface of the changes needed to make the --export command line interface easy to use, but this should already improve things somewhat. - Streamline `can_export()` templates check in all platforms, checking first for the presence of official templates, then of any defined custom template, and reporting on the absence of any. Shouldn't change the actual return value much which is still true if either release or debug is usable - we might want to change that eventually and better validate against the requested target. - Fix discrepancy between platforms using `custom_package/debug` and `custom_template/debug` (resp. `release`). All now use `custom_template`, which will break compatibility for `export_presets.cfg` with earlier projects (but is easy to fix). - Use `can_export()` when attempting a command line export and report the same errors that would be shown in the editor. - Improve error reporting after a failed export attempt, handling missing template and invalid path more gracefully. - Cleanup of unused stuff in EditorNode around the export workflow. - Improve --export documentation in --help a bit. Fixes #16949 (at least many of the misunderstandings listed there). Fixes #18470.
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-30Merge pull request #34680 from Calinou/editor-export-nonzero-exit-code-errorRémi Verschelde
Exit the editor export process with a non-zero exit code on error
2019-12-30Merge pull request #34614 from qarmin/dont_create_preview_of_empty_sceneRémi Verschelde
Don't create preview of empty scene.
2019-12-30Exit the editor export process with a non-zero exit code on errorHugo Locurcio
This closes #34672.
2019-12-26Don't create preview of empty scene.Rafał Mikrut
2019-12-24Cleans up headers included in editor_node.hHaoyu Qiu
2019-12-23Centers Dock Position textHaoyu Qiu
2019-12-16Makes more strings in editor translatableHaoyu Qiu
* File type names in file dialogs * Layout option names * Visual shader editor UI