Commit Graph

132 Commits

Author SHA1 Message Date
Rémi Verschelde 391e46830f doc: Sync classref with current source
Fix various missing arguments in bindings.
2018-07-26 11:56:21 +02: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
Pieter-Jan Briers b2c797c584 Defer TileMap::update_dirty_quadrants once again.
This fixes #20323.

#11077 is now technically re-broken,
but you can now call update_dirty_quadrants as workaround.
2018-07-22 15:26:14 +02:00
Max Hilbrunner b21c1f64cd
Merge pull request #18634 from groud/fix_control_child_of_node2d
Fixes the bad calculation of margin & anchors when child of Node2D
2018-07-03 18:06:15 +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
Marcelo Fernandez 67a78e020a Optimize _recreate_quadrants 2018-06-26 00:07:48 -03:00
Rémi Verschelde 3aed396a30
Merge pull request #19343 from bojidar-bg/x-fix-tilemap-shape-rotation
Fix bugs related to bad handling of rotated/translated shapes in tilemap
2018-06-08 18:15:51 +02:00
groud 4d78e16bc1 Fixes the bad calculation of margin & anchors when child of Node2D 2018-06-07 21:25:15 +02:00
Bojidar Marinov d73cdeb248
Fix bugs related to bad handling of rotated/translated shapes in tilemap
Fixup #18529 and #12870
2018-06-03 16:32:23 +03: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
isaacremnant e4f0ac558d Restore support for minimal 3x3 autotile sets 2018-05-17 09:49:14 -04:00
Mariano Javier Suligoy ba134d44b8
Merge pull request #15909 from authenticate/tilemap_fix
TileMap Navigation Fixes
2018-05-16 20:22:19 -03:00
James 69ee7945d7 Fixing a bug where tilemap navigation would not be accurate after a tilemap exits and then re-enters the tree. Fixing a bug where deleting a tile and then querying navigation would result in an incorrect path if both happened within the same frame. 2018-05-15 20:14:37 -04:00
mateusak ab0220affb
Allow uncommon bitmask for autotile - Fixes #16511
Removes some conditions that were there to create compatibility from 2X2 to 3X3.
Further dissociates 2X2 and 3X3 but adds more flexibility to 3X3.
2018-05-04 19:58:21 -03:00
Pieter-Jan Briers 20dd2204db Adds z-index properties to TileSets. 2018-05-01 17:24:57 +02:00
Gilles Roudiere 72ed1e4244 Remove the selection rect for nodes that do not require it 2018-04-03 22:04:19 +02:00
Benedikt Bär 84d60b0829 Implement missing navgiation polygon debugging in tilemap 2018-03-30 17:28:53 +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
ShyRed 67f4944a21 Update TileMap when its TileSet changes
Make TileMap monitor its TileSet for changes and emit a signal when the TileSet changes. This makes the editor update and show the updated version of the TileSet.
2018-03-11 12:24:50 +01: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
Bojidar Marinov 9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02: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 f9f6f250e6
Merge pull request #15191 from Jerome67000/z_renaming
renames "z" Node2D property to "z_index"
2018-01-04 00:41:45 +01:00
Jerome67000 42ae3525a3 #15078 renamed "z" -> "z_index" property in Node2D 2018-01-03 13:02:26 +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
Poommetee Ketson 6c897707ca Add missing parameter names 2017-12-25 21:19:56 +07:00
Rémi Verschelde caf3a405ab
Merge pull request #13991 from CyanBlob/master
TileMap: Add update_bitmask_region(2), expose update_bitmask_area(1) …
2017-12-16 16:38:59 +01:00
Andrew Thomas d8c4324cfb TileMap: Add update_bitmask_region(2), expose update_bitmask_area(1) and update_bitmask_region(2) to GDscript 2017-12-16 08:18:54 -06:00
Nathan Warden 38caa4126f Renamed navmesh/poly_create to navmesh/poly_add since no navmesh is created. 2017-12-15 15:09:06 -05:00
Rémi Verschelde 48cefc9c96 TileMap: Drop unused center_x/center_y booleans
Two years later they are still unused and we do not know
their intend use case, so tschüss.
Closes #2513.
2017-12-10 16:40:31 +01:00
Rémi Verschelde 09fe926ab3
Merge pull request #14454 from CyanBlob/TileMap
Convert tilemap format in get_tile_data()
2017-12-09 19:05:07 +01:00
Andrew Thomas c3a005011b Convert tilemap format in get_tile_data() 2017-12-09 10:44:26 -06:00
PJB3005 cea5078ebe Fixes TileMap occluder offsets.
This is NOT related to #14388!

This fixes a graphical bug where the light occluders used by tilemaps weren't getting offset anymore, this they'd be positioned incorrectly.

I tried on all 3 tilemap positioning modes and it seemed to work on every one.
2017-12-08 20:14:06 +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
Ruslan Mustakov e967dbca6f Fix TileMap and TileSet ClassDB bindings 2017-11-24 11:43:15 +07: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
Vito 5515d28107 Fixing tilemap rotation for non top-left tiles. 2017-11-15 09:22:07 +00:00
Juan Linietsky 19b1ff0fc5 Disabled filter clip by default and made it optional, fixes #12368, likely others too 2017-11-10 09:22:25 -03:00
Juan Linietsky 192a4d7de5 Reworked how servers preallocate RIDs, should fix #10970 2017-11-09 23:35:34 -03:00
letheed 5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Rémi Verschelde 348eb4e4c5 Merge pull request #10361 from RandomShaper/tilemap-global-mtl
Let TileMap apply its material
2017-08-30 16:02:12 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Juan Linietsky 3061eca190 Removed old fp_adjust code that conflicts with clipped rects, fixes #9925 2017-08-25 10:40:29 -03: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
Ignacio Etcheverry 32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
TwistedTwigleg 00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00