Commit Graph

195 Commits

Author SHA1 Message Date
bruvzg df968d577a
[macOS] Implement seamless display scaling. 2020-07-04 10:36:33 +03:00
Stijn Hinlopen 929b98d24b Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
Hugo Locurcio 31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
hilfazer 512aaf018c Fixed "Favourite Project" button in Project Manager 2020-06-13 12:43:54 +02:00
Dominik 'dreamsComeTrue' Jasiński 1ec8f59397 Grabbing focus on ProjectList after clicking an item.
Fixes: #39012
2020-05-30 21:19:50 +02:00
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 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
Hugo Locurcio 72da1667e0
Improve path search behavior discoverability in the project manager
This closes #38185.
2020-04-25 21:59:38 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
bruvzg 15a9f94346 Add macOS DisplayServer implementation.
Change global menu to use Callable, add support for check items and submenus.
2020-03-26 16:24:05 +01:00
Mateo Kuruk Miccino f387b9b4f4 Multiple changes to DisplayServerX11
- Travis: Change x11 to linuxbsd
- SCons: Change x11 plataform to linuxbsd
- Plugins: Remove ; to avoid fallthrough warning
- DisplayServerX11: Implement set_icon
- DisplayServerX11: Fix X11 bug when a window was erased from windows
  map, all the changes from that erased windows are sending to the main
  window
- DisplayServerX11: Reorder create_window commands
- DisplayServerX11: Change every Size2 to Size2i and Rect2 to Rect2i
  where it belongs

+ More X11 fixes which have been integrated directly back into reduz's
original commits while rebasing the branch.
2020-03-26 15:49:54 +01: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 f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
clayjohn 61a74739ca Working sky shader implementation 2020-03-21 20:43:44 -07:00
Mateo Miccino 86b48093eb Signals: filter_changed from ProjectListFilter now is emitted when it's on scene tree to avoid unexpected call 2020-03-07 18:34:10 -03: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 f742dabafe Signals: Manually port most of remaining connect_compat uses
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-28 14:24:09 +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
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
Marcin Zawiejski dc793bb816 fix Vulkan project description 2020-02-13 21:04:43 +01:00
Rémi Verschelde 386968ea97 Remove obsolete GLES3 backend
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-13 10:36:44 +01:00
Rémi Verschelde 57dca8b8cc
Merge pull request #36152 from Calinou/project-manager-rename-last-modified
Rename the "Last Modified" project list sorting option to "Last Edited"
2020-02-13 09:09:24 +01:00
Hugo Locurcio bb2fffa10c
Disable the GLES2 renderer option in the Project Manager
It will be re-enabled once the GLES2 renderer is refactored to work
in Godot 4.0.
2020-02-13 00:29:17 +01:00
Hugo Locurcio e10460e36f
Rename the "Last Modified" project list sorting option to "Last Edited"
The `project.godot` file will always be modified when editing a project,
but not when running it. This effectively makes the option sort by
last edition date, rather than modification as is typically understood
by users.

This closes #36127.
2020-02-12 18:13:32 +01:00
Teashrock 919293b369 Changed in-text driver name to "Vulkan"
But it still requires a change of "driver_name" in backend itself.
2020-02-12 11:07:33 +02: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 01d487c4f5 Merge pull request #34027 from Calinou/tweak-project-manager-renderer-selection
Improve the renderer selection display in the project manager
2020-02-10 11:28:32 +01:00
Rémi Verschelde 1ceba5a653 Merge pull request #35260 from Calinou/project-manager-enter-open-first
Select the first project when searching in the project manager
2020-02-10 11:16:47 +01:00
Rémi Verschelde f5fa2b41df
Merge pull request #35892 from Calinou/project-manager-allow-hidden-files
Allow existing hidden files/directories when creating a new project
2020-02-06 11:21:17 +01:00
Haoyu Qiu c1011178c0 Centers icon vertically in project list 2020-02-06 10:56:43 +08:00
Hugo Locurcio 34b747bac0
Allow existing hidden files/directories when creating a new project
For instance, this lets users initialize a Git repository
and still be able to create a project in the directory afterwards.

This closes https://github.com/godotengine/godot-proposals/issues/291.
2020-02-03 21:35:00 +01:00
Hugo Locurcio 56aae0e8bc
Use a loading placeholder for project icons in the project manager
Now that projects are loaded asynchronously, some projects in the
list may be displayed before their icon is done loading. This is
especially common on slower hardware.

In such cases, this makes the project manager display a loading
placeholder instead of the default project icon.
2020-01-21 22:56:19 +01:00
Hugo Locurcio d72f5e0938
Only create the editor theme once
This prevents the editor theme from being created twice.
This speeds up the project editor and editor startup
significantly; startup is now 1.3 times faster on average
(tested on a debug build). RAM usage was also lowered by 7.5 MB
on average.

This partially addresses #35321.
2020-01-19 21:51:21 +01:00
Hugo Locurcio 2897918426
Select the first project when searching in the project manager
This makes the project manager usable for opening existing projects
without ever touching the mouse. Just enter text in the autofocused
search box and press Enter.

This partially addresses #8149.
2020-01-18 00:58:52 +01:00
Haoyu Qiu 047d66cc6f Fixes the New Window option in macOS dock menu 2020-01-13 08:58:12 +08: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
Marc Gilleron 4c7d02dea1 Fix wrong project opening in some situations, hidden nodes were not reordered 2019-12-30 17:04:29 +00:00
Rémi Verschelde 45908eebf3 i18n: Sync translation template with current source 2019-12-17 11:47:29 +01:00
Haoyu Qiu 7a9c337dfe Makes more strings in editor translatable
* File type names in file dialogs
* Layout option names
* Visual shader editor UI
2019-12-16 16:41:07 +08:00
Rémi Verschelde 2845e6a21a
Merge pull request #34040 from qarmin/unused_variable_more_precise_numbers
Removed unused variables, add some constants numbers
2019-12-10 08:25:31 +01:00
Rafał Mikrut ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Hugo Locurcio 82c8751e65
Improve the renderer selection display in the project manager
- Format characteristics as a bullet-point list.
- Fade out secondary text to make other fields more prominent.
2019-12-07 23:00:27 +01:00
Haoyu Qiu 22b345c969 Fixes translation for project sort options 2019-12-04 15:17:45 +08:00
bruvzg 2f3db42de8
Update dock menu on project list changes, add favourites separator. 2019-10-24 13:25:21 +03:00
lupoDharkael 4753c51de6 Project Manager: Update template dialog position after window resize 2019-10-01 12:10:58 +02:00