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