Commit Graph

98 Commits

Author SHA1 Message Date
Rémi Verschelde 0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde 07bc4e2f96 Style: Enforce separation line between function definitions
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.
2020-05-14 16:54:55 +02:00
Rémi Verschelde 0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
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.
2020-05-14 16:54:55 +02:00
Rémi Verschelde 69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde fdf58a5858 Rename InputFilter back to Input
It changed name as part of the DisplayServer and input refactoring
in #37317, with the rationale that input no longer goes through the
main loop, so the previous Input singleton now only does filtering.

But the gains in consistency are quite limited in the renaming, and
it breaks compatibility for all scripts and tutorials that access
the Input singleton via the scripting language. A temporary option
was suggested to keep the scripting singleton named `Input` even if
its type is `InputFilter`, but that adds inconsistency and breaks C#.

Fixes godotengine/godot-proposals#639.
Fixes #37319.
Fixes #37690.
2020-04-28 15:19:49 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky 441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky 4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Juan Linietsky 8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky 4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Rémi Verschelde 48ed841dd0 Signals: Fix some regressions from #36426
- Fix `callable_mp` bindings to methods which used to have default
  arguments passed to `bind_method`. We now have to re-specify them
  manually when connecting.
- Re-add `GroupsEditor::update_tree` binding.
- Misc code quality changes along the way.
2020-03-03 11:44:06 +01:00
Rémi Verschelde e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Rémi Verschelde 01afc442c7 Signals: Port connect calls to use callable_mp
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-28 14:24:09 +01:00
bruvzg 1af06d3d46
Rename `scancode` to `keycode`.
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-25 12:30:33 +02:00
Hugo Locurcio 5dd851e849
Mention version compatibility when there are no results in the assetlib
This closes #36469.
2020-02-23 23:27:42 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Juan Linietsky 3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Juan Linietsky 3f335ce3d4 Texture refactor
-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-11 11:53:26 +01:00
Rémi Verschelde 50e940129a Merge pull request #33815 from Calinou/assetlib-focus-search-shortcut
Make Ctrl+F focus the editor asset library's search field
2020-02-10 11:34:47 +01:00
Rémi Verschelde f003b3efaa
Merge pull request #35068 from akien-mga/containers-mouse-filter-pass
Use MOUSE_FILTER_PASS for all containers
2020-02-06 12:23:39 +01:00
Marcel Admiraal f0db13502a Remove duplicate WARN_PRINT macro. 2020-02-05 11:13:24 +01:00
Eric Rybicki 99346e9654 Fix asset library video play overlay not being centered on the thumbnail 2020-01-21 08:04:32 +01:00
dankan1890 29daba5b0c AssetLibrary when the download size is unknown:
hidden progress bar
added in the description the downloaded bytes
Fixes #35267
2020-01-18 21:07:51 +01:00
Haoyu Qiu 43ad6e8c96 Fixes AssetLib crash when JPG module is disabled
JPG module is optional, so check it's existence before using.
2020-01-15 22:16:12 +08:00
Rémi Verschelde e2bebfbd4c Use MOUSE_FILTER_PASS for all containers (but PanelContainer)
Containers are meant to forward mouse input to their the Controls
they contain.

PanelContainer has a visible Panel stylebox, so it still defaults
to STOP.

Fixes #34933.
2020-01-13 14:49:01 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
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.
2020-01-01 11:16:22 +01:00
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Haoyu Qiu a3ab1cb698 Center error icon vertically in AssetLib 2019-12-16 09:24:02 +08:00
Haoyu Qiu d151e1eaf9 Make more editor strings translatable 2019-12-13 16:09:29 +08:00
Hugo Locurcio 0899fce7a5
Make Ctrl+F focus the editor asset library's search field 2019-11-22 00:40:19 +01:00
Hugo Locurcio 41c89880f8
Display a message if no results are found in the asset library
This closes https://github.com/godotengine/godot-proposals/issues/184.
2019-10-26 01:07:02 +02:00
Marcel Admiraal a8836ba28d Remove dependency on the editor directory being in the build's include path.
- Add or remove the necessary subdirectorires to the includes to remove
dependency on the editor directory being in the build's include path.
- Ensure includes in modified files conform to style guideline.
- Remove editor from the build include path.
2019-10-10 08:57:00 +02:00
Hugo Locurcio a4a0295154
Improve sorting options in the asset library
The reverse sorting options are now integrated in the list of
sorting options, making the "Reverse" button unnecessary.
This pattern tends to be easier to discover by users.

The "Downloads" sorting option was also removed as it's not
implemented in the backend.
2019-09-03 15:16:58 +02:00
Hugo Locurcio 6f915d386a
Refresh the asset library only once on startup
This avoids unnecessary calls to the API when switching between tabs
in the editor or project manager.
2019-09-02 20:08:55 +02:00
Hugo Locurcio d6984f7311
Increase line spacing in the editor help and asset library descriptions
This makes for more readable text.
2019-08-30 15:08:24 +02:00
Michael Alexsander Silva Dias edc3600560 Minor cleanup of the AssetLib's asset dialog 2019-08-29 02:37:44 -03:00
Michael Alexsander Silva Dias 6ce2701abe AssetLib minor fixes and enhancements 2019-08-28 01:36:09 -03:00
Rémi Verschelde d8de8d5e34
Merge pull request #31722 from Calinou/assetlib-improve-image-loading-speed
Improve image loading performance in the asset library
2019-08-27 20:19:17 +02:00
Hugo Locurcio 89c13c3ae9
Display a "broken file" icon for missing images in the asset library
This partially addresses #31683.
2019-08-27 19:45:25 +02:00
Hugo Locurcio 2ed7bf58ba
Improve image loading performance in the asset library
This closes #31614.
2019-08-27 19:41:49 +02:00
Hugo Locurcio f524dc5da6
Improve loading UX in the asset library
The asset library will now fade when loading pages instead
of displaying a progress bar, which is a more common design pattern
when browsing an online resource's pages.

A "Loading..." text will be displayed before the first page loads.
2019-08-24 03:08:52 +02:00
Davide Busterna 7434966f10 Automatically select the first image of the assets page 2019-08-15 13:43:00 +02:00
Hugo Locurcio 8f2bcfd909
Use Lanczos filtering for variable-sized images such as project icons
This results in better-looking icons with less artifacts
induced by downscaling.
2019-08-13 22:08:23 +02:00
Rémi Verschelde 37a16fee05 Export: Remove temp files from cache after export
So far we left most temporary files lying around, so this attempts to
fix that.

I added a helper method to DirAccess to factor out the boilerplate of
creating a DirAccess, checking if the file exists, remove it or print
an error on failure.
2019-08-12 13:31:59 +02:00
Michael Alexsander Silva Dias eeb9268800 Minor cosmetic changes in some editor plugins 2019-08-08 23:22:33 -03:00
Bojidar Marinov 2b08cc16f1
Handle all download errors in the asset library
Addresses part of #31115
2019-08-08 10:06:26 +03:00
Hugo Locurcio ddf83d93b3
Improve preview and screenshot display in the asset library
Images are now resized with Lanczos interpolation for higher quality.
Video thumbnails now display a "pointing hand" cursor when hovered
as they will open in an external browser.
2019-07-18 20:10:30 +02:00
Michael Alexsander Silva Dias 19d261336b Minor improvements to the AssetLib 2019-07-17 12:35:57 -03:00
Rémi Verschelde 1e5a02f006
Merge pull request #29599 from Calinou/assetlib-project-icon-loading
Display a "loading" placeholder while icons are loading in the assetlib
2019-06-12 13:36:06 +02:00
Hugo Locurcio 75f1e93ac0
Remove some references to unimplemented features in the assetlib
This removes rating icons and the associated sorting option as
this feature wasn't implemented (and is unlikely to be in the
near future).

This also renames "Cost" to "License", as the "cost" field refers
to SPDX license names on the Godot Asset Library.
2019-06-12 12:26:37 +02:00