summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2020-04-08Refactored shadowmapping.Juan Linietsky
- Made shadow bias size independent, so it will remain when changing light or camera size. - Implemented normal offset bias, which greatly enhances quality. - Added transmission to subsurface scattering - Reimplemented shadow filter modes Closes #17260
2020-04-07Merge pull request #37579 from Calinou/improve-shader-error-outputRémi Verschelde
Improve the shader error console output
2020-04-05Fix aspect ratio on hmd projection matrixBastiaan Olij
(cherry picked from commit a7438f0e61fca161b6324a230b8914e4f6c56b3f)
2020-04-04Improve the shader error console outputHugo Locurcio
This makes the line gutter look more like an actual line gutter, which makes it less confusing.
2020-04-03Fix C# bindings after recent breaking changesIgnacio Etcheverry
2020-04-02Replace more occurrences of NULL with nullptrRémi Verschelde
2020-04-02Replace NULL with nullptrlupoDharkael
2020-04-02Merge pull request #37504 from qarmin/out_of_bound_cursorRémi Verschelde
Fix array out of bounds access caused by uninitialised variables
2020-04-01Make dict erase node sequenced godotengine#37477Zak Grumbles
* Updated macro call to make the visual Dictionary Erase node sequenced.
2020-04-01Fix out of bound array access caused by unassigned variableRafał Mikrut
2020-04-01some typo in method binds fixedThakee Nathees
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
2020-03-27Ensure COWData does not reallocate on push back, fixes #22561Juan Linietsky
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
2020-03-27Fix some -Wmaybe-uninitialized warningsRémi Verschelde
Namely: ``` modules/basis_universal/register_types.cpp: In function 'Ref<Image> basis_universal_unpacker(const Vector<unsigned char>&)': modules/basis_universal/register_types.cpp:266:15: warning: 'imgfmt' may be used uninitialized in this function [-Wmaybe-uninitialized] 266 | image->create(info.m_width, info.m_height, info.m_total_levels > 1, imgfmt, gpudata); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ modules/basis_universal/register_types.cpp:255:39: warning: 'format' may be used uninitialized in this function [-Wmaybe-uninitialized] 255 | bool ret = tr.transcode_image_level(ptr, size, 0, i, dst + ofs, level.m_total_blocks - i, format); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` ``` servers/visual_server.cpp: In member function 'Error VisualServer::_surface_set_data(Array, uint32_t, uint32_t*, uint32_t, Vector<unsigned char>&, int, Vector<unsigned char>&, int, AABB&, Vector<AABB>&)': servers/visual_server.cpp:636:15: warning: 'iw' may be used uninitialized in this function [-Wmaybe-uninitialized] 636 | copymem(&iw[i * 2], &v, 2); | ^ ``` ``` core/image.cpp: In member function 'Error Image::generate_mipmap_roughness(Image::RoughnessChannel, const Ref<Image>&)': core/image.cpp:1683:11: warning: 'roughness' may be used uninitialized in this function [-Wmaybe-uninitialized] 1683 | float roughness; | ^~~~~~~~~ ```
2020-03-26Add macOS DisplayServer implementation.bruvzg
Change global menu to use Callable, add support for check items and submenus.
2020-03-26Separate DisplayServer from OS on WindowsJuan Linietsky
2020-03-26Working multiple window support, including editorJuan Linietsky
2020-03-26Refactored input, goes all via windows now.Juan Linietsky
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky
2020-03-26Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky
2020-03-25SCons: Drop support for Python 2Rémi Verschelde
We now require SCons 3.0+ (first version with Python 3 support), and we set min required Python 3 version to 3.5 (3.4 and earlier are EOL).
2020-03-25Style: Harmonize header guards to style guide [Core]Rémi Verschelde
2020-03-24Tweak the message queue maximum size property hintHugo Locurcio
The minimum slider value no longer allows decreasing the value below the default, as this can cause things to break in the editor. The maximum slider value was also increased to 4096 since it can safely be increased to that value (some add-ons may require it). This closes #37052.
2020-03-23Merge pull request #33508 from nekomatata/object-has-signalRémi Verschelde
Added has_signal method for Object
2020-03-23Added has_signal method for ObjectPouleyKetchoupp
2020-03-21Fix potential divisions by 0 reported by MSVCRémi Verschelde
The `TextEdit` one was indeed a potential bug. The `PCKPacker` one seems to be a false positive, it's already in a `for` loop that depends on `files.size()`.
2020-03-20i18n: Fix parsing of multiple escapes before quotesThakee Nathees
See https://github.com/godotengine/godot/pull/37114#issuecomment-601463765
2020-03-20i18n: Add support for translating the class referenceRémi Verschelde
- Parse `.po` files from `doc/translations/*.po` like already done with `editor/translations/*.po`. - Add logic to register a doc translation mapping in `TranslationServer` and `EditorSettings`. - Add `DTR()` to lookup the doc translation mapping (similar to `TTR()`). Strings are automatically dedented and stripped of whitespace to ensure that they would match the translation catalog. - Use `DTR()` to translate relevant strings in `EditorHelp`, `EditorInspector`, `CreateDialog`, `ConnectionsDialog`. - Small simplification to `TranslationLoaderPO`, the path argument was not really meaningful.
2020-03-19Merge pull request #37039 from Chaosus/astar2d_costRémi Verschelde
Implements estimate/compute_cost for AStar2D
2020-03-18doc: Sync classref with current sourceRémi Verschelde
Fix wrong binding after #37111.
2020-03-17Fix C# bindings after recent breaking changesIgnacio Etcheverry
Implementation for new Variant types Callable, Signal, StringName. Added support for PackedInt64Array and PackedFloat64Array. Add generation of signal members as events, as well as support for user created signals as events. NOTE: As of now, raising such events will not emit the signal. As such, one must use `EmitSignal` instead of raising the event directly. Removed old ThreadLocal fallback class. It's safe to use thread_local now since it's supported on all minimum versions of compilers we support.
2020-03-17Merge pull request #37111 from RandomShaper/imvu/unexpose_include_driveRémi Verschelde
Remove meaningless parameter from bindings
2020-03-17Remove meaningless parameter from bindingsPedro J. Estébanez
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-16Merge pull request #36896 from kuruk-mm/doc_return_variant_2Rémi Verschelde
Doctool and core: Fix return type in docs for some Variant methods...
2020-03-16Tweak the invalid Unicode error message to be more descriptiveHugo Locurcio
This closes #28503.
2020-03-14Implements estimate/compute_cost for AStar2DYuri Roubinsky
2020-03-13Merge pull request #36599 from AndreaCatania/gen_rpc_data_exportRémi Verschelde
Generates the rpc and rset info for exported GDScript.
2020-03-12Merge pull request #36994 from akien-mga/typedefs-cleanupRémi Verschelde
typedefs: Cleanup unused macros and unnecessary checks
2020-03-11typedefs: Cleanup unused macros and unnecessary checksRémi Verschelde
We now require a compiler with C++17 support, so we don't need to check for features added to GCC 5 or Clang 3.2. Clang builtin availability checks were unused anyway as Clang defines `__GNUC__` as it's also a GNU C implementation. Fixes #36986.
2020-03-11Fix various typosluz.paz
Found via `codespell`
2020-03-11Merge pull request #36905 from Faless/js/restore_and_ciRémi Verschelde
Resurrect HTML5 platform, add it to CI (no rendering yet)
2020-03-10Fix -Wshadow=local warning in EngineDebuggerRémi Verschelde
2020-03-09Doctool and core: Fix return type in docs for some Variant methods assigning ↵Mateo Miccino
PROPERTY_USAGE_NIL_IS_VARIANT to MethodInfo usage when we have something to return
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-08ScriptDebuggerRemote use threadsFabio Alessandrelli
2020-03-08Add TCP poll function (not exposed).Fabio Alessandrelli
Used to know if we can read or write without blocking.
2020-03-08Fix mutex when building with no threads.Fabio Alessandrelli
2020-03-05Re-architecture of the Godot Android plugin.fhuya