Commit graph

134 commits

Author SHA1 Message Date
Marcus Elg 8e2608b2d6 Make tilemap lines/rectangles their own tools 2020-06-26 15:52:09 +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
Hugo Locurcio def2059d67
Implement zooming using Ctrl + Mouse wheel in the TileMap editor
This was previously implemented in the GridMap editor. This makes
the same feature available in the TileMap editor.
2020-06-03 22:17:13 +02:00
Rémi Verschelde 28b33718b0 Add shortcut for Pan Mode (G)
And change TileMap Bucket Fill shortcut to (B).

Fixes #8582.
2020-05-26 15:31:32 +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 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
dankan1890 ef08e64afb Fixed output prints " Signal 'node_removed' is already connected " when the editor settings window is closed.
Close #38012
2020-04-22 04:26:44 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Tomasz Chabora 37ffb40047 Properly handle node remove via undo 2020-03-29 19:59:04 +02:00
Juan Linietsky 441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +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 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
Rémi Verschelde 2cf6ac6c50 Replace FALLTHROUGH macro by C++17 [[fallthrough]]
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.

Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.

Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +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
Hugo Locurcio 88213b54ba
Change the Pick Tile and Select default shortcuts in the TileMap editor
The new default keys were chosen to match common graphics editing
software. A modifier is no longer required to use the Select tool,
making it faster to use.

This closes #34170.
2020-02-09 17:46:01 +01:00
Haoyu Qiu ca537dea76 Fixes invalid read when using fill tool in empty tilemap 2020-01-27 20:39:49 +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
Hugo Locurcio 13f98f80b6
Use the CanvasItemEditor info overlay to display TileMap coordinates
This also removes the editor setting that toggles coordinate display,
as it no longer solves an existing bug.

This closes #28135.
2019-11-22 23:58:36 +01:00
Tomasz Chabora f7476359e0 Make sure tile is selected when selecting TileMap 2019-11-13 14:26:37 +01:00
PouleyKetchoupp 13c88878c4 Fixed cases where labels with autowrap can overflow the editor ui
Fixes #33155
2019-11-04 10:12:36 +01:00
dankan1890 2bdde74d45 Changed the appearance of the rotation icons in the Tilemap.
Make them more intuitive.
2019-09-26 10:59:48 +02:00
Rémi Verschelde cf540f853d
Merge pull request #31974 from YeldhamDev/tilegrid_map_fixes
Small fixes for the Tile/GridMap editors
2019-09-24 11:06:34 +02:00
Michael Alexsander Silva Dias fd0dace4b5 Small fixes for the Tile/GridMap editors 2019-09-04 16:54:05 -03:00
Michael Alexsander Silva Dias 5f3a55acb7 Add informational messages to various editors 2019-09-04 12:37:11 -03:00
Tomasz Chabora 9520d9706a Edit TileMap only with TOOL_SELECT 2019-08-21 20:56:15 +02:00
Tomasz Chabora 7e075029c8 Fix various typos and style errors in text 2019-08-19 20:43:42 +02:00
rzllmr 653039151a Fix row-column-swap in TileMap palette
Due to the TileSet coordinates using x for columns and y for rows, the
columns are assigned to the rows in the TileMap palette and distort the
order. Thus the default sorting algorithm prioritizing x is replaced
with a custom one prioritizing y.

Fixes #24751
2019-08-03 21:32:13 +02:00
Tomasz Chabora 38d9434098 Add tilemap editor rotation hotkeys 2019-07-14 15:46:47 +02:00
qarmin 01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
Ranoller 14e2a99129 Tilemap fix displaced textures and shapes and added center texture and compatibility mode
This commit fix #22989 #15249 #28206. Main problem is that tilemap displace textures in different tile origins in a strange way and doesn´t respect coincidence between texture and shapes in not uniform tiles. This issue is present in godot 3.0 and godot 3.1. To maintain compatibility are added a compatibility mode and a center texture option. Other related issues and pull request: #28896 #29487 #29519 #29961. Idications of #30204 are added
2019-07-02 17:12:58 +02:00
hbina085 9f0c6a6009 Many fallthrough switch cases now have the FALLTHROUGH macro to tell the compiler that this is intended. 2019-06-29 16:08:48 -04:00
qarmin 4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Rémi Verschelde 94fbaf71a6
Merge pull request #29474 from YeldhamDev/pick_subtile_fix
Fix subtile picking in TileMap editor
2019-06-12 12:50:31 +02:00
Ranoller f26e9daab5 Make tilemap texture origin point top-left.
Fix https://github.com/godotengine/godot/issues/29487. In this commit: https://github.com/godotengine/godot/pull/28896 bad offset of textures and shapes was fixed, but a center of texture was added too, and this seems not dessired by default because breaks too much compatibility with demos and user projects. A future Check box for center texture can be added
2019-06-05 23:23:36 +02:00
Rémi Verschelde e22dde1b18
Merge pull request #29452 from YeldhamDev/remember_selected_subtile
Remember selected subtile when updating the TileMap editor
2019-06-04 17:16:03 +02:00
Rémi Verschelde 33163c0040
Merge pull request #29460 from YeldhamDev/tilemapeditor_atlas_copy_fix
Fix TileMap editor not correctly copying atlas tiles
2019-06-04 16:56:59 +02:00
Michael Alexsander Silva Dias 6be7fea798 Fix subtile picking in TileMap editor
Fixes #29445.
2019-06-04 11:36:05 -03:00
Michael Alexsander Silva Dias 412a0b73e9 Fix error spam when typing in the TileMap editor's search box while having no results 2019-06-04 01:44:38 -03:00
Michael Alexsander Silva Dias 6b7d8fd946 Fix TileMap editor not correctly copying atlas tiles
Fixes #29307.
2019-06-04 00:44:01 -03:00
Michael Alexsander Silva Dias 0a03ed7544 Remember selected subtile when updating the TileMap editor
Fixes #29444.
2019-06-03 21:20:38 -03:00
Rémi Verschelde 4b399034aa
Merge pull request #24560 from guilhermefelipecgs/fix_24549
Add EDITMODE_PRIORITY for ATLAS_TILE
2019-06-01 09:49:18 +02:00
Ranoller 7a8e4f64b8 Fix tilemap displaced textures and shapes with origin point BOTTOM_LEFT and CENTER and other casuistry
This commit fix https://github.com/godotengine/godot/issues/22989 fixing displaced textures and not coincident shapes in tilemap. Fix too: https://github.com/godotengine/godot/issues/15249, https://github.com/godotengine/godot/issues/28206, https://github.com/godotengine/godot/issues/28610 and probably others
2019-05-15 04:14:27 +02:00
Rémi Verschelde ac0369e9ff
Merge pull request #27845 from samdze/master
Make TileMap overridable "set_cell" function called on undo/redo
2019-04-30 10:55:53 +02:00
Guilherme Felipe 99958c99da [TileMapEditor] Improve tool picking usability
When KEY_CONTROL is released, go back to the last tool.

Also add a tooltip for paint button with shortcuts for line draw and
rectangle paint.
2019-04-29 12:38:33 -03:00