Commit graph

55 commits

Author SHA1 Message Date
Mariano Javier Suligoy
c64ab97063 TileSet editor Fixes
Properly draw navigation and oclusion polygons for SINGLE type tiles. Fixes #21398
Add some checks for TileID validation before accessing to it's properties. Fixes #21397
Fix 'Keep inside region' snap option for tiles with SINGLE_TILE mode. Fixes #21402
Restore hability to asign/unasign an script to a tileset. Fixes #20886
2018-08-26 17:10:01 -03:00
Paul Joannon
3f1b977263
tilemap_editor: change move and duplicate tools
* Move now behaves like a Cut
* Duplicate now behaves like a Copy
* You can continue Pasting after Cut or Copy
2018-08-24 11:58:01 +02:00
Michael Alexsander Silva Dias
6fa1b5eca7 Add option to move Tile/GridMap editors to another side 2018-08-22 19:18:23 -03:00
Laurent Van Acker
4d6a6e0813 Add modulation of tiles from tileset in palette and editor draw 2018-08-22 01:36:43 +02:00
Markar
e46c2dbf74 Fix bucket fill behaviour when selecting multiple tiles 2018-08-17 01:55:21 +02:00
Łukasz Rutkowski
81fb81de9d Do not use theme to set LineEdit right_icon 2018-08-11 12:04:26 +02:00
Łukasz Rutkowski
e8a435c8cd Add clear text button to LineEdit
- Add pressed state to clear button
- Enable clear button on all inputs with search icon
- Remove duplicate clear buttons
- Fix rendering of icon for center and right alignments
- Add clear button to more search fields
- Add clear icon to default theme
- Add method to control enabled state of clear button
- Add property to enable clear button from inspector
2018-08-11 12:04:26 +02:00
MAriano Javier Suligoy
ce87a30e45 New TileSet Editor 2018-08-09 20:38:02 -03:00
Hein-Pieter van Braam
0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Marcelo Fernandez
ff95bbc6c4 Fixed Bucket Fill tool 2018-07-24 13:11:38 -03:00
Max Hilbrunner
81fd48eb1e
Tilemap editor: Fix crash introduced in #17582 2018-07-24 17:42:24 +02:00
Ovnuniarchos
d9d78786dc Tile randomizer for tilemap editor. 2018-07-01 20:50:56 +02:00
Rémi Verschelde
f036353b93
Merge pull request #19164 from marcelofg55/tilemap_undo2
Improve TileMap undo operations, second try
2018-06-26 20:57:39 +02:00
James Beedie
6cbafdea16 Added autotile override 2018-06-02 21:25:09 -04:00
Marcelo Fernandez
cadd72793b Improve TileMap undo operations, second try 2018-05-29 19:35:30 -03:00
Rémi Verschelde
665319de35
Revert "Improve TileMap undo operations" 2018-05-25 13:00:28 +02:00
Marcelo Fernandez
f1383f80bf Improve TileMap undo operations 2018-05-23 14:31:51 -03:00
Anish
cca7633739 Replaces CTRL with CMD in TileMapEditor for MacOS.
Replacing CTRL with CMD makes sense dure to consistency
with MacOS and avoiding conflict with the accessibility
hotkey (ctrl+lmb = rmb)

Fixes: #18238
2018-04-23 19:39:01 +05:30
Alexander Alekseev
0853ac2006 Update transform buttons in tile editor while using T, A, S shortcuts (fixes #17962) 2018-04-04 16:02:44 +03:00
Martin Rieke
d538fcd92d Add functionality to move selected tiles in tile map editor
This change adds a new entry "Move Selection" to the "Tile Map"
menu in the tile map editor. It allows the user to easily move
as set of selected tiles.
2018-04-04 09:23:56 +02:00
Rémi Verschelde
c81356153e
Merge pull request #16971 from Noshyaar/tilemap
TileMap: add fix_invalid_tiles
2018-03-13 13:57:58 +01:00
Rémi Verschelde
65dc4abca3
Merge pull request #16978 from Noshyaar/tmsc
Add icon to TileMapEditor popupmenu
2018-03-13 13:57:10 +01:00
Poommetee Ketson
2de1dfa42f Update icons when theme changed 2018-02-25 23:04:16 +07:00
Poommetee Ketson
0f36c7aae5 Add icon to TileMapEditor popupmenu 2018-02-24 20:39:19 +07:00
Poommetee Ketson
7effe46461 TileMap: add fix_invalid_tiles 2018-02-24 19:34:41 +07:00
Damar Indra
e69dd47501 Tileset Editor Improvement 2018-02-20 22:33:59 +07:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Andreas Haas
34e489f060
TileMapEditor: Fix tile placement.
Fixes #14625
2017-12-13 16:46:22 +01:00
Mariano Suligoy
af719a90a7 TileMap Fixes 2017-12-02 20:49:01 -03:00
Matthias Hoelzl
2beadf7ac0 Fix displacement for centered tilemaps
- Fixes tile and collision placement for tilemaps with
  `tile_origin` set to `TILE_ORIGIN_CENTER`.
- Also fixes a bug in the offset computation for collision shapes
  with `flip_v` flag set to true if `tile_origin` is
  `TILE_ORIGIN_BOTTOM_LEFT`.
2017-11-27 15:12:30 +01:00
Pedro J. Estébanez
3f31925b18 Universalize draw-over API for EditorPlugins
- Now it is usable from both `CanvasItem` and `Spatial` editors.
- `EditorPlugin` API changes:
 - `forward_draw_over_canvas()` becomes `forward_draw_over_viewport()`.
 - `update_canvas()` becomes `update_overlays()`, which now triggers the update of every overlay on top of any 2D or 3D viewports present. Also now it returns the number of such viewports, which is useful whenever you need to know the number of draw-over calls you'll get.
 - New: `[set/is]_force_draw_over_forwarding_enabled()` to force overlaying regardless it handles the current object type, in a similar fashion as `[set/is]_input_event_forwarding_always_enabled`. This kind of overlay is also on top of those for regular handled node types.
 - New: `forward_force_draw_over_canvas()`, which is the callback that gets called for plugins that enable forced overlaying.
2017-11-24 21:24:15 +01:00
Mariano Suligoy
bcfb0a09f8 Implement auto-tiling 2017-11-20 06:27:47 -03:00
Gilles Roudiere
8d1f2b1857 Rework the canvas_item API for further improves to the canvas item editor 2017-11-19 13:36:31 +01:00
Marc Gilleron
0b7ae364ea Fix tilemap undo/redo 2017-11-08 22:26:19 +01:00
Marc Gilleron
e9f6ff5bd1 Use bresenham line in freehand tilemap painting to fill discontinuities 2017-10-23 01:26:51 +02:00
Gilles Roudiere
fc02605b49 Fixes snapping and replaces the _draw_canvas by forward_canvas_draw 2017-10-18 00:01:59 +02:00
Marcelo Fernandez
6f1ac101b8 Bucket fill will now incrementally process the queue on preview mode 2017-09-24 10:35:55 -03:00
Marcelo Fernandez
3571087843 Fix possible infinite loop with bucket fill tool 2017-09-23 23:30:00 -03:00
Jakob Schwab
f98f65fd7f Adds missing shortcuts to TileEditor. Keeps fill-tool selected after use
The following keyboard shortcuts are now available:
-Bucket fill (G)
-Paint Tile (P)
-Transpose Tile (T)
Fixes #10918
2017-09-17 13:09:04 +02:00
Hein-Pieter van Braam
b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Andreas Haas
6134d8741d Editor: Add some more translatable strings. 2017-08-25 18:49:45 +02:00
Hein-Pieter van Braam
cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Rémi Verschelde
19aff15a1a Tilemap Editor: Setting to hide tile info in the menu bar
Based on e513ecb7a1.
2017-08-16 19:51:55 +02:00
Daniel J. Ramirez
e4a9233a83 Hide tilemap menu when no tilemap is selected 2017-08-10 14:48:48 -05:00
Juan Linietsky
dbb6a39722 Moved mirror and rotations to the tile mapen, to avoid taking up too much toolbar space, fixes #6461 2017-08-08 22:46:26 -03:00
Andreas Haas
95da12212b
TileMap: Fix infinite loop when trying to bucket-delete empty tiles.
Right-clicking when the bucket tool is enabled means "erase all instances of this tile".
So it doesn't make sense to try doing this for empty tiles :P

Fixes #10065
2017-08-03 20:46:13 +02:00
alexholly
a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00