summaryrefslogtreecommitdiff
path: root/scene/main
AgeCommit message (Collapse)Author
2020-03-08Refactor ScriptDebugger.Fabio Alessandrelli
EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.
2020-03-01Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodesRémi Verschelde
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
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-27Improve the `Node.add_child_below_node()` documentationHugo Locurcio
This closes https://github.com/godotengine/godot-docs/issues/2730.
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-25Rename `scancode` to `keycode`.bruvzg
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap. Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-21Added StringName as a variant type.Juan Linietsky
Also changed all relevant properties defined manually to StringName.
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-20Fix MIMPAMPS typos in constants throughout the engineAndrii Doroshenko (Xrayez)
2020-02-18Fix compilation warnings and re-enable werror=yes on TravisRémi Verschelde
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings raised by GCC 8 and 9. Fix -Wunused-function, -Wunused-private-field and -Wtautological-constant-out-of-range-compare raised by Clang. Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison operation). GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising errors and will thus not abort compilation with `werror=yes`. Treat glslang headers are system headers to avoid raising warnings. Re-enables us to build with `werror=yes` on Linux and macOS, thus catching warnings that would be introduced by new code. Fixes #36132.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-13Remove more deprecated methods and codeRémi Verschelde
2020-02-12ObjectID converted to a structure, fixes many bugs where used incorrectly as ↵Juan Linietsky
32 bits.
2020-02-12Optmized data sent during RPC and RSet calls.Andrea Catania
- Now is sent the method ID rather the full function name. - The passed IDs (Node and Method) are compressed so to use less possible space. - The variant (INT and BOOL) is now encoded and compressed so to use much less data. - Optimized RPCMode retrieval for GDScript functions. - Added checksum to assert the methods are the same across peers. This work has been kindly sponsored by IMVU.
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-11Auto exposure re-implemented in VulkanJuan Linietsky
2020-02-11More GIProbe work and fixesJuan Linietsky
2020-02-11Fixed display menu visualizations.Juan Linietsky
2020-02-11GIProbes working.Juan Linietsky
2020-02-11Modernized default 3D material, fixes material bugs.Juan Linietsky
2020-02-11Several fixes to 3D rendering, and multimesh implementation.Juan Linietsky
2020-02-11Rewrote large part of rendering, omni and spot shadows now work.Juan Linietsky
2020-02-11Base 3D engine done, still untested, though.Juan Linietsky
2020-02-11Vulkan/RD rasterizer now does clean exit.Juan Linietsky
2020-02-11Bugfixes and ability to better specify filter and repeat modes everywhere.Juan Linietsky
Removes antialiased flag for draw_* methods.
2020-02-11basic 2D engine is more or less working with Vulkan, including editor.Juan Linietsky
Still a lot to do
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-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-05Add do..while(0) wrappers to macros without one.Marcel Admiraal
- Add do..while(0) wrapper to ERR_FAIL_NULL macros. - Add do..while(0) wrapper to ERR_FAIL_COND macros. - Add do..while(0) wrapper to ERR_CONTINUE macros. - Add do..while(0) wrapper to ERR_BREAK macros. - Add do..while(0) wrapper to CRASH_COND macros. - Add do..while(0) wrapper to ERR_FAIL macros. - Add do..while(0) wrapper to ERR_PRINT macros. - Add do..while(0) wrapper to WARN_PRINT macros. - Add do..while(0) wrapper to WARN_DEPRECATED macros. - Add do..while(0) wrapper to CRASH_NOW macros.
2020-02-05Remove duplicate WARN_PRINT macro.Marcel Admiraal
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-19SceneTree: Abort change_scene if we're quittingRémi Verschelde
Otherwise we can have a segmentation fault if we try to call `add_child` on an already freed node. Fixes #35323.
2020-01-17Fix crash when confirming dialogs with Return keyRémi Verschelde
Regression from #34040, apparently making this a const reference introduces issues (not sure why, but previous code worked fine). Fixes #34691. Co-authored-by: dankan1890 <mewuidev2@gmail.com>
2020-01-07Don't show conf warning if script is not toolTomasz Chabora
2020-01-06Merge pull request #33987 from nekomatata/own-world-environmentRémi Verschelde
Viewport environment is updated properly when set to own world
2020-01-03Add a shorthand for setting the exit code using `SceneTree::quit()`Hugo Locurcio
This reduces the amount of code required to exit a process with a non-zero exit code. This pattern is also found in most other programming languages.
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-28Improve the Timer wait time property hintHugo Locurcio
- Make it possible to enter more precise values (up to 3 decimals). - Make it possible to enter values above 4096.
2019-12-18Revert "Allow tab key to be used for shortcuts"Rémi Verschelde
This reverts commit cafb888361eba08297dd88b18dc71f4d418525c0. Fixes #34405. Reopens #8799, #24064.
2019-12-11Scroll ScrollContainer to focused childrenTomasz Chabora
2019-12-10Removed unused variables, add some constants numbersRafał Mikrut
2019-11-29Viewport environment is updated properly when set to own worldPouleyKetchoupp
When own_world property is set, the viewport stores a unique resource for the world. With this change it keeps being updated from changes made to the world property instead of storing a default empty world with environment settings that can't be modified. Fixes #23412
2019-11-27Added more details in Timer.start() error message.x2f
2019-11-25Merge pull request #33862 from Faless/net/http_request_chunk_sizeRémi Verschelde
Add download_chunk_size property to HTTPRequest.
2019-11-24Add download_chunk_size property to HTTPRequest.Fabio Alessandrelli
This allows setting the `read_chunk_size` of the internal HTTPClient. This is important to reduce the allocation overhead and number of file writes when downloading large files, allowing for better download speed.
2019-11-21Setting the node process priority should not trigger an errorMartin Capitanio
Fixes #33749 This function can be called outside the scene tree.
2019-11-20Rename External MSAA to AndroidVR MSAA on Viewport propertyvolzhs
following up f392c4ea7a778db6c5c73a1c6b9348b84707ee81