Josh Soref
013ece9373
spelling: indices
2019-10-29 02:22:43 -04:00
Richard Davey
3a3ce8b914
Merge branch 'master' into tile-collision-update
2019-10-02 15:15:18 +01:00
Fabadiculous
255232dd2a
Fix bug where graphics methods were not renamed
2019-06-22 16:55:50 +10:00
Richard Davey
c91ed91ce3
License link update
2019-05-10 16:15:04 +01:00
Richard Davey
a6341a97a8
Fixed Types references
2019-05-09 15:32:53 +01:00
Richard Davey
44faa01578
Tilemap Types
2019-05-09 12:39:19 +01:00
Richard Davey
73617da673
Tidied up the formatting
2019-03-05 14:41:35 +00:00
Richard Davey
4fc817c519
Final batch of typedefs
2019-02-13 16:06:00 +00:00
Richard Davey
aa341854c7
Happy New Year
2019-01-15 16:20:22 +00:00
Nicolas Rouvière
7b9f7f0217
Fix: Cannot read property 'index' of undefined at GetTileAt and RemoveTileAt
2018-11-19 00:08:36 +01:00
foobar
e481ea4cfd
Fix reference error when culling
2018-10-15 20:31:46 +02:00
Richard Davey
5115847791
Finished all the Tilemap component descriptions
2018-09-28 14:32:36 +01:00
Richard Davey
b4e59405b4
Calling Tilemap.renderDebug
ignored the layer scale when drawing to the Graphics object. It will now scale the layer before drawing. Fix #4026
2018-09-26 16:18:44 +01:00
Richard Davey
df8c0d8673
Calling Tilemap.renderDebug
ignored the layer world position when drawing to the Graphics object. It will now translate to the layer position before drawing. Fix #4061
2018-09-25 15:37:46 +01:00
Richard Davey
89b9f42f3e
Adding jsdocs
2018-09-24 23:20:43 +01:00
Richard Davey
f8b3fcf539
Cull Tiles now needs a render order for the layer data.
2018-08-21 18:02:00 +01:00
rootasjey
e2c505554a
Fix JSDoc in Tilemap
2018-08-20 13:20:23 +02:00
Richard Davey
fcf5d20d7b
Disable culling if layer has non-1 scroll factor #3893
2018-08-06 22:22:32 +01:00
Richard Davey
86965c28e4
The Tilemap Culling function now uses the Tilemap tile dimensions for its bounds calculations, instead of the layer tile sizes, as they two don't have to match and it's the underlying grid size that takes precedence when calculating visible tiles. Fix #3893
2018-08-06 13:31:27 +01:00
Richard Davey
31421ee00a
The CullTiles
updates from 3.11 didn't factor in the position of the Tilemap Layer to its bounds calculations, causing Static layers displayed out of the Camera viewport to never render in Canvas mode. The method has also been optimized further, with less divisions and less checks if culling is disabled.
2018-08-03 00:40:56 +01:00
ampled
50c787a9c8
- add typedef for SpriteConfig extends GameObjectConfig
...
- allow update-function signature to be overriden by GameObject subclasses
2018-07-29 12:19:04 +02:00
Skysteed
5cd60b3378
Major Optimization for Tilemap Collision Indexing
...
This update optimizes an existing feature (Tilemap Collision Indexing).
This optimization will apply to [nearly] everyone using procedural generation tilemaps, infinite tilemaps, multiplayer tilemaps, particularly large tilemaps (especially those dyanmic in nature) or who otherwise intend to index collisions before the tiles are loaded.
Benchmarking:
Using the standard approach, indexing collisions for a 500x450 tileset took 2530ms. By pre-building the collision index array in its entirety, I was able to reduce that to 259ms. However, this implementation reduces it to 8 ms. Larger tilemaps would be exponentially affected.
There are some considerations to make here since there are better implementations, but it would require deprecating some existing code. The advantage would be that the standard approach itself would be optimized, (thus avoiding the sort of 2500+ms costs here), rather than fairly obscured as it is with this implementation.
2018-07-19 10:59:35 -05:00
Richard Davey
20f1b37256
eslint fix and log update
2018-07-18 15:06:56 +01:00
Richard Davey
5ada70409e
Modified tile sizes.
2018-07-16 15:20:46 +01:00
Richard Davey
0cc52f6002
Swapped 4 ternaries for a single conditional #3834
2018-07-16 14:55:51 +01:00
tarsupin
ad24a0b8ec
Removed repetative code.
2018-07-14 20:09:36 -05:00
tarsupin
00a38f744a
Switching tabs to spaces
2018-07-14 14:41:13 -05:00
tarsupin
9ac505d5cc
Build is requiring me to pre-declare x, y, tile.
2018-07-14 14:38:19 -05:00
tarsupin
4fa3dc7159
Update CullTiles.js
2018-07-14 14:30:15 -05:00
tarsupin
e3d64c63b3
Major Optimization for Culling Tilemaps
...
Refine the loop to only scan through the drawn boundaries that are being tested against (except when skipping cull). This eliminates a huge bottleneck / lookup time from the original loop each frame.
The update should affect tilemaps exponentially based on their size. It reduced my culling time to 1/70th for 1000x1000 tilemaps, and by about 1/20th on 250x250 tilemaps. It also reduced my requestAnimationFrame time from over 16ms per frame to ~1ms for the larger map.
2018-07-14 14:14:55 -05:00
Richard Davey
8981cf4a03
Swapped from vec2 to explicit values for cullPadding
2018-07-12 16:51:54 +01:00
Richard Davey
b03d3ff783
Added support for cull padding
2018-07-12 16:44:36 +01:00
Richard Davey
e66cf4e00b
Adjusted bounds +- 1 tile
2018-07-12 16:32:25 +01:00
Richard Davey
12c6736c67
Stats recorded in tilesDrawn
and tilesTotal
.
2018-07-12 16:12:55 +01:00
Richard Davey
89db84377e
Added skipCull
property and setSkipCull
method
2018-07-12 15:31:25 +01:00
Richard Davey
a447d85401
CullTiles recoded to use Camera worldView - finally, properly culling, regardless of layer scale or camera zoom! Fix #3818
2018-07-12 15:07:45 +01:00
Richard Davey
869087044b
Starting work on proper tile culling
2018-07-12 01:14:34 +01:00
Craig Whiteside
375b1f8f18
Pulled out calculation for tile pixel position amended with tilemapLayer position
2018-06-23 21:20:54 +01:00
Craig Whiteside
ac82e39314
Fix whitespace
2018-06-23 16:40:19 +01:00
Craig Whiteside
86f1cbcabf
Made it more specific to the tile offset.
2018-06-23 16:34:45 +01:00
Craig Whiteside
a73e47e508
Account for position of tilemapLayer when culling tiles
2018-06-23 16:28:45 +01:00
Richard Davey
3d9da060c5
Camera.shake would not effect dynamic tilemap layers. Fix #3669
2018-05-24 23:02:59 +01:00
Richard Davey
cd288b33c2
eslint fixes
2018-04-23 23:52:57 +01:00
Felipe Alfonso
1ce2311465
tile culling and clipping progress
2018-04-23 13:45:42 -03:00
Richard Davey
f02eb5874f
Marked all Tilemap components as private
2018-04-16 15:25:22 +01:00
Richard Davey
18585de81d
Lots of jsdoc fixes
2018-04-16 14:43:24 +01:00
Richard Davey
9fb1a72b70
Typo
2018-04-10 15:21:10 +01:00
Richard Davey
cdfe2e0ea2
Fixed references
2018-04-10 04:13:38 +01:00
Richard Davey
eebe58f1c9
Removed duplicate parameters
2018-03-21 15:17:40 +00:00
orblazer
9375bb0530
Fix multiple types on Tilemaps
2018-03-20 16:11:33 +01:00