Commit graph

586 commits

Author SHA1 Message Date
Richard Davey
cb09374f9d Tilemaps.Components.StaggeredWorldToTileY is a new function that converts world Y coordinates from pixels to staggered tile Y coordinates. 2020-10-02 10:30:43 +01:00
Richard Davey
17df0f7135 Restored to previous version. #4992 2020-10-02 10:30:30 +01:00
Richard Davey
398bdf4314 Tilemap.hexSideLength is a new property that holds the length of the hexagon sides, if using Hexagonal Tilemaps. 2020-10-02 10:30:08 +01:00
Richard Davey
24437485af Fixed static function #4992 2020-10-02 10:19:13 +01:00
Richard Davey
ba4be029be Create TilemapOrientationType.js 2020-10-02 10:18:57 +01:00
Richard Davey
a8bd2204f2 Fixed updatePixelXY and prioritied orthogonal maps. #4992 2020-10-02 09:52:40 +01:00
Richard Davey
555c47e773 Moved Tilemap const declarations to the correct place. #4992 2020-10-02 09:48:44 +01:00
Richard Davey
c3c35322c4
Merge pull request #4992 from svipal/master
Preliminary PR for isometric support
2020-10-02 09:42:47 +01:00
Richard Davey
8d51e8ab2c Fix #4859 2020-09-23 12:59:03 +01:00
svipal
79920709e5 removed useless change 2020-09-23 01:13:20 +02:00
Svipal
3997cad5a7 same work 2020-09-19 13:05:56 +02:00
Svipal
5fd854fd26 fixed dynamic layer 2020-09-19 11:45:46 +02:00
Svipal
a9e8c49bf0 fixed typo 2020-09-19 11:04:28 +02:00
Svipal
299f83c13d fixed conflicts 2020-09-19 10:56:05 +02:00
svipal
79fe9abc6e finished updating culling system 2020-09-18 17:16:52 +02:00
Richard Davey
6a966e3f3b Removed interpolationPercentage parameter from all render methods, as it has never been used. 2020-09-14 15:33:58 +01:00
Richard Davey
951457c881 As a result of the change to the shader, all uses of the WebGL Util function getTintAppendFloatAlphaAndSwap have been replaced with getTintAppendFloatAlpha instead. 2020-09-14 15:02:13 +01:00
Richard Davey
e450bf2f1f Swap to using constants for pipeline names 2020-09-09 13:05:18 +01:00
Richard Davey
d198818d80 Game Objects now call the new Pipeline Manager methods directly 2020-09-09 13:05:18 +01:00
Svipal
1994185d6f merged master 2020-09-08 22:17:04 +02:00
Richard Davey
0d934c730e Every single Tilemap.Component function has now been made public. This means you can call the Component functions directly, should you need to, outside of the Tilemap system. 2020-09-02 11:54:24 +01:00
Richard Davey
07865a5823 Final set of namespace changes. Fix #5062 2020-09-01 20:28:42 +01:00
Richard Davey
0dd07333af Updated to use MultiPipeline 2020-08-21 16:14:59 +01:00
Svipal
40a26256c4 oop 2020-08-09 15:55:00 +02:00
Svipal
809d0b7495 merged master 2020-08-09 13:13:09 +02:00
Svipal
241d4193e8 let's try again 2020-08-09 12:33:52 +02:00
Svipal
97bb9b4a8f bad bad idea 2020-08-09 12:33:26 +02:00
Svipal
c77731d127 bad idea 2020-08-09 12:24:56 +02:00
Svipal
b4a1473fea test 2020-08-09 12:13:29 +02:00
Svipal
a72efc8ac8 Update ParseTileLayers.js 2020-08-09 11:50:25 +02:00
Richard Davey
f3ebada1e0 Tidy up everything after rendering 2020-07-17 15:49:03 +01:00
Richard Davey
9280a73bf9 StaticTilemapLayer now includes the ModelViewProjection mixin, so it doesn't need to modify the pipeline during rendering. 2020-07-17 15:48:53 +01:00
Richard Davey
10c19bd24d StaticTilemapLayer.upload will now set the vertex attributes and buffer the data, and handles internal checks more efficiently. 2020-07-17 13:58:38 +01:00
Richard Davey
6e15f6b77d Refactored to tidy it up and also now works with Light2D pipeline 2020-07-17 13:56:56 +01:00
Richard Davey
dc04949d3d Needs fixing tomorrow 2020-07-16 18:10:40 +01:00
Richard Davey
f89d53ca0d Update DynamicTilemapLayerWebGLRenderer.js 2020-07-16 17:43:14 +01:00
Richard Davey
d34d52550d Renders using setTextureZero 2020-07-15 18:03:57 +01:00
Richard Davey
0003d278fd Updated to use new external MVP functions 2020-07-14 16:49:30 +01:00
Richard Davey
2a2a2eafe8 Reverted PR #5219 because it breaks camera zooming on tilemaps 2020-07-14 08:47:52 +01:00
Richard Davey
cbba26e08c
Merge pull request #5215 from cruzdanilo/layer-webgl-transform
StaticTilemapLayerWebGLRenderer: apply rotation and parent transform
2020-07-13 13:18:02 +01:00
danilo neves cruz
7302ad1041 StaticTilemapLayerWebGLRenderer: apply rotation and parent transform 2020-07-11 02:35:20 +07:00
Svipal
b4d9d71009 fixed orthogonal world to tile 2020-06-25 15:04:57 +02:00
Svipal
9bd310810d done 2020-06-06 11:13:11 +02:00
Svipal
9c8cdd4063 trying to fix conflic in ParseTileLayers 2020-06-06 11:11:43 +02:00
Svipal
e6d468cda7 worldToTile fixed 2020-06-06 00:23:16 +02:00
samme
c963768c1e Docs: SetCollisionByExclusion() and friends
Fixes #5179

Thanks @BoltKey
2020-06-05 10:01:30 -07:00
Richard Davey
96b1d4c783 Update LayerDataConfig.js 2020-04-27 16:16:50 +01:00
Richard Davey
cef9aa2120 New Type Defs 2020-04-27 16:13:49 +01:00
Richard Davey
b035d190e9 Added JSDocs 2020-04-27 16:13:40 +01:00
Richard Davey
bf9cbabe50 Fixed lint errors with #4964 PR 2020-04-27 13:46:37 +01:00
Richard Davey
06f8d1b8a5
Merge pull request #4964 from gogoprog/feature/tilemapImageCollections
Create tilesets from image collections
2020-04-27 13:42:46 +01:00
Richard Davey
63eb41eb94
Merge pull request #5051 from samme/feature/tiled-point-and-createFromObjects
Add Tiled point object and change offset in createFromObjects()
2020-04-27 13:10:34 +01:00
Richard Davey
91bfd7d0c2
Merge pull request #4984 from Nightspeller/issue#4983
Proposed fix for the issue#4983
2020-04-27 12:39:24 +01:00
samme
56ad38f17d Docs: correct Tilemap#renderDebugFull 2020-04-26 12:38:20 -07:00
svipal
5911b94d35 Revert "clean up"
This reverts commit 854589ddbe.

woops
2020-04-10 20:55:31 +02:00
svipal
854589ddbe clean up 2020-04-10 20:40:52 +02:00
samme
4a711e42fe Docs: fix description for TiledObject.point 2020-04-03 20:13:13 -07:00
Svipal
8665e08f13 refactored things so that there is no more switching at runtime depending on orientation 2020-04-03 19:36:13 +02:00
samme
bc8606c65c Add Phaser.Types.Tilemaps.TiledObject.point 2020-03-22 16:09:23 -07:00
samme
5ec9e6b91a Offset by object data dimensions, allowing zero offset 2020-03-22 09:37:42 -07:00
samme
fb881a54b9 Add 'point' property for points
https://doc.mapeditor.org/en/latest/reference/json-map-format/#point-example
2020-03-22 09:29:10 -07:00
samme
df1537fa36 Remove redundant assignments
Already picked
2020-03-22 09:28:24 -07:00
Svipal
1ccc815ce7 removed a few debug prints, moved isoBounds to a new component, started to add constants 2020-03-22 12:35:24 +01:00
Svipal
33daee1d27 canvas renderer typo fix 2020-03-22 08:48:26 +01:00
svipal
9c23f7e72f
Update src/tilemaps/ParseToTilemap.js
Co-Authored-By: Chris Andrew <hex727@gmail.com>
2020-03-22 08:46:07 +01:00
Svipal
72cb3343d6 cleaning up debug prints and such 2020-03-21 11:25:04 +01:00
Svipal
cec71a85ea added hexagonal support 2020-03-21 10:19:03 +01:00
Svipal
406e6eb093 fixed worldtotilex on odd tiles 2020-03-14 10:57:19 +01:00
Svipal
66e99bccc6 changed a few things, preparing tiles 2020-03-14 10:23:13 +01:00
Svipal
a7d4816564 added staggered support 2020-03-14 10:11:04 +01:00
svipal
9780592a90 Update StaticTilemapLayer.js 2020-02-08 15:55:22 +01:00
svipal
8e30c5ef1c
Update TileToWorldX.js 2020-02-08 15:53:53 +01:00
svipal
cf622269e8 Update PutTileAt.js 2020-02-08 15:51:12 +01:00
svipal
a40ff084f9
Update DynamicTilemapLayerWebGLRenderer.js 2020-02-08 15:25:51 +01:00
svipal
304ff79b2b
Update StaticTilemapLayer.js 2020-02-08 12:23:09 +01:00
svipal
283bb46358
Update ParseJSONTiled.js 2020-02-08 12:15:30 +01:00
svipal
71cf182d97
Update LayerData.js 2020-02-08 12:14:49 +01:00
svipal
a8719c5697
Update StaticTilemapLayer.js 2020-02-08 12:06:02 +01:00
svipal
e8fe850edf Update StaticTilemapLayerCanvasRenderer.js 2020-02-08 12:03:43 +01:00
svipal
7122ea0b6b
Update GetTilesWithinShape.js 2020-02-08 11:56:38 +01:00
svipal
e4c43e59ba
Update CullTiles.js 2020-02-08 11:55:33 +01:00
svipal
dc604e6336
Update TilemapCreator.js 2020-02-08 11:54:09 +01:00
svipal
b63a4e1107
Update Tilemap.js 2020-02-08 11:53:27 +01:00
svipal
7ba3771045
Update Tile.js 2020-02-08 11:51:14 +01:00
svipal
4ca9f5dbf1
Update Tile.js 2020-02-08 11:47:43 +01:00
svipal
4007e92be0
Update GetTileAt.js 2020-02-08 10:32:35 +01:00
svipal
f48e4aa9aa
Update GetTileAt.js 2020-02-08 10:31:59 +01:00
Svipal
9b86c5e6ed commented 2020-02-07 15:31:15 +01:00
Svipal
1573e25214 added isoCullDistances parameter to DynamicTilemapLayer 2020-02-07 15:21:11 +01:00
Svipal
d7a857697f fixed worldToTileXY and tileToWorldXY undefined point mistakes. Fixed getTilesWithinXY incorrect snaptoFloor setting 2020-02-07 14:05:42 +01:00
Svipal
dc330aaf4a linted everything 2020-02-06 11:02:44 +01:00
Svipal
5747f7102d fixed problems with removeTileAt 2020-02-05 18:42:20 +01:00
Svipal
aaf512b9cd fixed problems with putting tiles from null tiles 2020-02-05 18:37:40 +01:00
Serg
29c7fcaa7d Proposed fix for the issue with inconsistent type of 'properties' member of Tile Layer data. 2020-02-04 22:47:22 -05:00
Svipal
a8b60cf946 fixed dynamic layer rendering 2020-02-04 04:57:28 +01:00
Svipal
fd29e96a5d changed orientation to be part of the layer, really cleaned up API. Started tests on the dynamic layer. Trying to understand getTileAt bug 2020-01-30 15:58:07 +01:00
Svipal
70cbdc0925 preparing for WIP PR 4 2020-01-29 20:32:08 +01:00
Svipal
95df0be94a changed orientation localisation to layer, will make easier the fixing of pixelwidth and height and makes more sense overall 2020-01-29 20:27:40 +01:00
Svipal
d6489d1146 preparing WIP PR 2 2020-01-29 19:21:27 +01:00
Svipal
ccbff39074 preparing WIP PR 2020-01-29 19:20:25 +01:00
Svipal
a82b27ce6f added deep copy, doesn't change anything , this.orientation in the tile still bugging 2020-01-29 19:01:22 +01:00
Svipal
050325bff0 tried to pin down where the orientation became undefined, no success. 2020-01-29 17:42:39 +01:00
Svipal
95d2ff9996 need to compare across commits to understand regression regarding this.x 2020-01-27 20:12:53 +01:00
Svipal
946857f756 pixel changes 2020-01-26 22:51:01 +01:00
Gauthier Billot
78e2027a0c Create tilesets from image collections 2020-01-21 22:15:52 +01:00
Svipal
e4857ce48a yoyuee 2020-01-19 20:55:09 +01:00
Svipal
fbe3345e54 Updated RemoveTileAtWorldXy, PutTileAtWorldXY, GetTilesWithinShape and GetTilesWithinWorldXY 2020-01-19 20:50:57 +01:00
svipal
eb90fc2ab4
Merge pull request #2 from photonstorm/master
keeping up with master #2
2020-01-18 14:21:26 +01:00
No
1a88ff95ba updated dynamic layer and tilemap 2020-01-17 16:15:59 +01:00
No
f17aef0abf wordtotileX or Y cannot be called independently either 2020-01-17 15:15:15 +01:00
No
ddbcf85194 woops 2020-01-17 14:49:02 +01:00
No
83bbf08902 changed world to tile and tile to world in isometric mode 2020-01-17 14:47:33 +01:00
Richard Davey
ff65e69cd1 Changed copyright date to 2020 2020-01-15 12:07:09 +00:00
Alex
77dc14ee2f Changed tile getTint function to use getTintAppendFloatAlphaAndSwap 2019-12-29 21:46:50 -05:00
samme
f1001578c5
Bracket notation for type
Phaser.Tilemaps.LayerData#data
2019-12-23 12:57:58 -08:00
samme
77ad6c66fe
Correct type for Phaser.Tilemaps.LayerData#data
Fixes #4904 ?
2019-12-08 15:23:15 -08:00
Richard Davey
467aac2308 JSDoc fix 2019-11-22 17:46:26 +00:00
Josh Soref
315d43f893 spelling: receive 2019-10-29 02:33:06 -04:00
Josh Soref
013ece9373 spelling: indices 2019-10-29 02:22:43 -04:00
Josh Soref
9fb412bb07 spelling: coordinates 2019-10-29 01:50:33 -04:00
Richard Davey
7b530ee699 Code format fixes 2019-11-18 16:08:36 +00:00
Richard Davey
9863eafc00
Merge pull request #4820 from Olliebrown/tiled-layer-groups
Support for Tiled layer groups
2019-11-18 16:01:04 +00:00
Seth Berrier
13b6d6d5ae Fix for bug related to Issue #4737
- When removing a layer from a tilemap, layerIndex can become invalid
- Added loop to fix any existing tilemapLayer.layerIndex vales
2019-10-31 16:03:48 -05:00
Seth Berrier
61479c5188 Remove debugging output 2019-10-25 11:32:24 -05:00
Seth Berrier
13625a5f8c Updates for Supporting Group Layers
- Updated documentation to mention support for groups and naming layers
- Added more verbose output when an unknown layer name is specified
    > Error output now lists the valid layer names
- Added functions to return array of tile, object, or image layer names
2019-10-23 15:56:35 -05:00
Seth Berrier
a9e897370a Support for Tiled Groups and Infinite Map Fixes
- Added support for Tiled group layers (issue #4099)
- Fixed some layer offset bugs for infinite maps
2019-10-23 12:35:25 -05:00
Richard Davey
6b973dcf58 DynamicTilemapLayer.setCollision would cause an indexOf error when trying to access the layer data. Fix #4800 2019-10-15 11:34:32 +01:00
Richard Davey
312797dc8e JSDoc fixes 2019-10-11 18:29:55 +01:00
Richard Davey
3a3ce8b914
Merge branch 'master' into tile-collision-update 2019-10-02 15:15:18 +01:00
Richard Davey
0aaa67957a Tilemap Canvas Render functions now respect game pixel art settings 2019-10-01 16:10:29 +01:00
Richard Davey
f4002471d7 Updated context lost / restored handlers 2019-07-17 16:38:00 +01:00
Richard Davey
e012115df4 DynamicTilemapLayer.destroy will now no longer run its destroy sequence again if it has already been run once. Fix #4634 2019-07-03 15:53:47 +01:00
samme
268d206e41 Fix scene arg in createFromObjects() 2019-06-29 12:13:15 -07:00
Fabadiculous
255232dd2a Fix bug where graphics methods were not renamed 2019-06-22 16:55:50 +10:00
Richard Davey
ea8bb89554 Exposed all of the Tilemap Parser functions. Fix #4318 2019-06-12 12:35:41 +01:00
Richard Davey
0f592ba91a Moved the Pick function to the object utils 2019-06-12 12:35:03 +01:00
Richard Davey
89fe081f74 Added new Tiled Object and Object Layer defs. Fix #4364 2019-06-06 11:20:40 +01:00
Richard Davey
3da69ade29 Tilemap.createDynamicLayer would fail if you called it without setting the x and y arguments, even though they were flagged as being optional. Fix #4508 2019-06-06 10:43:46 +01:00
Richard Davey
04ec7b26a1 Tilemap.createBlankDynamicLayer would fail if you provided a string for the tileset as the base tile width and height were incorrectly read from the tileset argument. Fix #4495 2019-06-06 10:29:28 +01:00
Benjamin
35776fcd2d JSDoc: Make createDynamicLayer() position optional 2019-05-22 19:18:54 +02: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
d75431fc2b lint fixes 2019-05-03 17:38:27 +01:00
Richard Davey
0012ed3524 Added Tilemap.renderDebugFull method. 2019-04-08 16:05:12 +01:00
Richard Davey
c1400f9514 Fixed lots of Tilemap methods that claimed to return null but didn't 2019-04-08 15:59:48 +01:00
Richard Davey
0514d27efc Added new argument removeFromTilemap 2019-04-08 15:59:30 +01:00
Richard Davey
d63321eba5 Layers now remove themselves from the Tilemap when destroyed. Fix #4319 2019-04-08 15:45:43 +01:00
Richard Davey
a8027bab7f Added removeLayer and destroyLayer methods. 2019-04-08 15:45:16 +01:00
Richard Davey
c85defe920
Merge branch 'master' into feature/support-infinite-tiled-maps 2019-04-08 14:00:03 +01:00
Richard Davey
f41cacde25
Merge pull request #4336 from florianvazelle/master
Fix getCenter methods returning wrong value for scaled layers
2019-04-08 10:20:32 +01:00
Richard Davey
e2c68c5d86
Merge pull request #4418 from martinlindhe/ts-styleconfig
improve ts type hints for Phaser.Tilemaps.Types.StyleConfig
2019-04-08 09:53:39 +01:00
Richard Davey
7dd411ddc9
Merge pull request #4419 from peterellisjones/master
Swap incorrect terms in Tilemap#convertLayerToStatic documentation
2019-04-08 09:52:11 +01:00
Richard Davey
780b0bca90 Removed missing component 2019-03-25 12:54:49 +00:00
Richard Davey
e017691c68 The ScaleMode Component has been removed from every Game Object, and along with it the scaleMode property and setScaleMode method. These did nothing anyway as they were not hooked to the render pipeline and scale mode should be set on the texture, not the Game Object. Fix #4413 2019-03-24 23:07:27 +00:00
Peter Ellis Jones
2682874d1f Fix incorrect documentation for Phaser.Tilemaps.Tilemap#convertLayerToStatic 2019-03-09 15:47:49 +02:00
Martin Lindhe
38444d3443 improve ts type hints for Phaser.Tilemaps.Types.StyleConfig 2019-03-09 11:51:00 +01:00
Richard Davey
0ee2442597 Bumping to 3.17.0 2019-03-07 12:31:06 +00:00
Richard Davey
197fef7b52 Tilemap.removeTile is a new method that allows you to remove a tile, or an array of tiles, by passing in references to the tiles themselves, rather than coordinates. The tiles can be replaced with new tiles of the given index, or removed entirely, and the method can optionally recalculate interesting faces on the layer. 2019-03-05 14:45:53 +00:00
Richard Davey
73617da673 Tidied up the formatting 2019-03-05 14:41:35 +00:00
Jeremie Corpinot
e40ff20a2c
Update Tile.properties type to any
Update `Tile.properties` type from ` object` to `any` so we can access any un-declared property without TypeScript throwing an error.

Solve issue https://github.com/photonstorm/phaser/issues/4356
2019-02-13 20:04:45 +01:00
Richard Davey
4fc817c519 Final batch of typedefs 2019-02-13 16:06:00 +00:00
Richard Davey
60542a25cc Numerous jsdoc and TS related fixes 2019-02-04 17:16:08 +00:00
Richard Davey
348306cafb Lots more jsdoc fixes and new documentation 2019-01-31 14:47:50 +00:00
Richard Davey
4f6f6ee72f Lots of jsdoc and type fixes 2019-01-31 12:19:01 +00:00
florianvazelle
01f1daad51 Fix getCenter methods returning wrong value for scaled layers 2019-01-30 15:57:51 +01:00
Richard Davey
974c5342e7 Fixed jsdoc types (#4311) 2019-01-28 13:45:48 +00:00
jestarray
ade92db0e9
Updated Docs 2019-01-23 15:01:56 -08:00
jestarray
8a41b1f56a
Updated Docs 2019-01-23 15:00:07 -08:00
jestarray
4b0464a632 Updated tilemap jsdocs 2019-01-23 11:30:08 -08:00
Richard Davey
498ea6bf9a Fixed jsdocs. 2019-01-23 16:24:02 +00:00
Richard Davey
1eccff1e3b Fixed jsdoc links and markdown bullet lists 2019-01-18 15:20:56 +00:00
Richard Davey
aa341854c7 Happy New Year 2019-01-15 16:20:22 +00:00
Craig Whiteside
48fc7dc388
Merge branch 'master' into feature/support-infinite-tiled-maps 2018-12-20 16:51:42 +00:00
Richard Davey
b3c3b4bae7 Adjust pixel position so scaled tiles don't offset 2018-12-13 13:16:46 +00:00
Richard Davey
aae1cf5ae5 Tidying up 2018-12-13 13:10:31 +00:00
Richard Davey
ffd217dbdd Fixed size calculation and updated docs 2018-12-13 11:46:17 +00:00
Richard Davey
eef553d4c2 Fixed layer size calculations. Also changed rendering to use tileset tile sizes, as it should do. 2018-12-13 11:07:53 +00:00
Richard Davey
74d5af20c6 Tidying up 2018-12-13 11:07:20 +00:00
Richard Davey
79ee2229ad
Merge pull request #4207 from tfelix/fix/tilemap-layer-typedef-fix
fixes the typedef for the layer parameter
2018-12-12 11:28:57 +00:00
Richard Davey
2780babe10 Final Doc Jam merge 2018-12-03 15:16:23 +00:00
Thomas Felix
bd5f2b3bf5 fixes the typedef for the layer parameter
The layer parameter is used to call getLayer() so the parameter type for
the parent function should match the on of getLayer().
2018-12-01 20:40:17 +01:00
Richard Davey
6f8759c186 Whenever Camera.roundPixels was enabled it would use a bitwise operation to truncate the float (x |= 0) - this has been replaced across all files that used it, with a call to Math.round instead. This gives far better results when zooming cameras both in and out of a Scene, stopping thin gaps appearing between closely packed Game Objects. 2018-11-30 10:27:25 +00:00
Richard Davey
1e32537276 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-11-20 12:45:52 +00:00
Richard Davey
625955178e Updated docs 2018-11-20 12:45:47 +00:00
Richard Davey
ee2459652c
Merge pull request #4173 from WaSa42/master
Fix: Cannot read property 'index' of undefined at GetTileAt and RemoveTileAt
2018-11-20 12:41:53 +00:00
Richard Davey
5c45b477b3 Fixed lint errors in #4152 2018-11-20 12:33:08 +00:00
Richard Davey
45342229cb
Merge pull request #4152 from quadrupleslap-forks-things/master
Fix Tile.tileset to return just the containing tileset instead of all…
2018-11-20 12:28:53 +00:00
Richard Davey
5985e33caf
Merge pull request #4105 from the-realest-stu/master
Fix #4104
2018-11-20 11:05:05 +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
Ram Kaniyur
e5ebfe861f Fix Tile.tileset to return just the containing tileset instead of all of them. 2018-11-08 21:27:16 +11:00
Richard Davey
956a0913b8 Added new jsdocs 2018-10-22 12:12:31 +01:00
Richard Davey
a73249563e Fixed formatting 2018-10-19 13:51:32 +01:00
Richard Davey
0eafcc0d57
Merge pull request #4119 from nkholski/master
Pick up animation data from Tiled 1.2+
2018-10-19 13:49:10 +01:00
Richard Davey
8a58ceeded
Merge pull request #4113 from Siyalatas/culling-fix
Simple fix for a reference error when culling tilemaps
2018-10-19 13:36:31 +01:00
Richard Davey
4c4421c47f Docjam merge 2018-10-19 12:32:43 +01:00
Niklas Berg
206c12d70d Pick up animation data from Tiled 1.2+ 2018-10-17 15:12:41 +02:00
foobar
e481ea4cfd Fix reference error when culling 2018-10-15 20:31:46 +02:00
Richard Davey
4b1c762296 Updated @memberOf to @memberof 2018-10-10 10:49:13 +01:00
Stuart Lindstrom
526067f7b6 Fix #4104 2018-10-09 14:34:47 -04:00
Richard Davey
a9063604dc Replace @readOnly with @readonly 2018-10-09 13:40:00 +01:00
Richard Davey
1b85512de2 Fixed a bug in the canvas rendering of both the Static and Dynamic Tilemap Layers where the camera matrix was being multiplied twice with the layer, causing the scale and placement to be off 2018-10-02 12:51:02 +01:00
Richard Davey
e297b3272e Added hundreds of new jsdoc descriptions 2018-10-01 11:35:01 +01:00
Richard Davey
b687f051e9 Added new jsdocs 2018-09-28 15:00:55 +01:00
Richard Davey
c16ea9b93d Completed DynamicTilemapLayer jsdocs 2018-09-28 14:46:31 +01:00
Richard Davey
5115847791 Finished all the Tilemap component descriptions 2018-09-28 14:32:36 +01:00
Richard Davey
43067aa30e Completed Tilemap class docs 2018-09-28 14:02:12 +01:00
Richard Davey
95d4651db8 Dynamic Layers support multiple tilesets now 2018-09-27 13:09:40 +01:00
Richard Davey
0d5b209259 Consolidated gidMap creation 2018-09-27 13:09:23 +01:00
Richard Davey
e05f7c7ed0 Dynamic Tilemap Layers now support multiple tilesets per layer 2018-09-27 13:09:08 +01:00
Richard Davey
d92c7bf5b0 Added setTilesets method. 2018-09-27 12:12:29 +01:00
Richard Davey
d59f772d66 Tilemap.getTileset is a new method that will return a Tileset based on its name. 2018-09-27 12:12:16 +01:00
Richard Davey
53b57ccbab Clear arrays on destroy and updated docs 2018-09-27 11:48:04 +01:00
Richard Davey
07e1f07caf Added support for Static Tilemap Layers to support multiple Tilesets per layer. 2018-09-27 11:34:37 +01:00
Richard Davey
c1d6e438cc Removed un-used property. 2018-09-27 11:34:13 +01:00
Richard Davey
39c55ef719 Made warnings shorter. 2018-09-27 11:33:58 +01:00
Richard Davey
bed4abc8ed Updated ParseTilesets function to handle Tiled 1.2 and 1.1 formats 2018-09-27 00:41:11 +01:00
Richard Davey
32bd01daba If you used a scaled Dynamic Tilemap Layer and rotated or flipped tiles, the tiles that were rotated or flipped would be positioned incorrectly in WebGL. Fix #3778 2018-09-26 16:49:18 +01:00
Richard Davey
25f8d29659 If you used a RenderTexture as a tileset then Dynamic Tilemap Layers would render the tiles inversed on the y-axis in WebGL. Fix #4017 2018-09-26 16:32:27 +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
c0e5197f7c Static Tilemap Layers now support tile rotation and flipping. Previously this was a feature only for Dynamic Tilemap Layers, but now both have it. Close #4037 2018-09-26 16:07:32 +01:00
Richard Davey
94d21da3ca The Static Tilemap Layer would stop drawing all tiles from that point on, if it encountered a tile which had invalid texture coordinates (such as a tile from another tileset). It now skips invalid tiles properly again. Fix #4002 2018-09-26 15:27:19 +01:00
Richard Davey
13a72f961e lint fix 2018-09-25 16:23:14 +01:00
Richard Davey
2985a97c56 TileSet.getTileData() has been updated so it will return tile data from either Tiled 1.1.x or the new Tiled 1.2.x JSON structure. Fix #3998 2018-09-25 16:20:34 +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
41920b07cc Tilemap.setBaseTileSize now sets the size into the LayerData baseTileWidth and baseTileHeight properties accordingly. Fix #4057 2018-09-25 15:19:57 +01:00
Richard Davey
89b9f42f3e Adding jsdocs 2018-09-24 23:20:43 +01:00
Richard Davey
502b66bcac lint fix 2018-08-21 18:13:53 +01:00
Richard Davey
f8b3fcf539 Cull Tiles now needs a render order for the layer data. 2018-08-21 18:02:00 +01:00
Richard Davey
838cdfc418 Added renderOrder property, setRenderOrder method and updated upload to use the setting. 2018-08-21 18:01:47 +01:00
Richard Davey
cc5bf41b25 Added renderOrder property and setRenderOrder method. 2018-08-21 18:01:33 +01:00
Richard Davey
b0888d2762 Added renderOrder property, setRenderOrder and apply them during layer creation. 2018-08-21 17:59:28 +01:00
Richard Davey
a7847e9cb9 Added renderOrder property. 2018-08-21 17:55:40 +01:00
Richard Davey
a462250cd9 Now extracts the renderorder property from the Tiled JSON 2018-08-21 17:54:49 +01:00
Richard Davey
36dd7ae405
Merge pull request #3819 from samme/feature/createFromObjects
Copy custom properties in createFromObjects()
2018-08-21 15:38:48 +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
702e738ffc When a Static Tilemap Layer is generated in WebGL it will use the Cameras roundPixels value to clamp the tile coordinates. 2018-08-06 14:16:36 +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
4deb8e49ad eslint fixes 2018-08-03 19:37:42 +01:00
Richard Davey
ae46e11e35 Skip processing if no tiles 2018-08-03 18:56:52 +01:00
Richard Davey
e8e32ecf2c Swap look-up for direct reference 2018-08-03 18:56:12 +01:00
Richard Davey
70b234952a Updated the canvas tilemap layer renderers to support parent matrix and tidied up the internal flow 2018-08-03 00:50:45 +01:00
Richard Davey
6ef7033b44 Added in parent matrix support and refactored the drawing 2018-08-03 00:42: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
Richard Davey
318cc87e59 Use proper matrix for static layer, so we can do fun things with Render Textures 2018-08-02 22:15:08 +01:00
Richard Davey
8135b687fb Added all the missing cull methods and properties into the Static Tilemap Layer, which is used by the Canvas Renderer 2018-08-02 22:14:51 +01:00
Richard Davey
f1d3412c38 Corrected data types 2018-08-02 22:14:32 +01:00
Richard Davey
0967bfcab4 Should use currentContext, not gameContext 2018-08-02 17:59:30 +01:00
Richard Davey
f540d03346 Removed un-needed checks (willRender handles it now) 2018-08-01 16:03:58 +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
samme
b7ca32eb40 Copy custom properties in createFromObjects()
Closes #3808
2018-07-14 09:43:21 -07:00
Richard Davey
b4ddd44105 Added cullCallback support - the final step in culling. Don't like ours? Roll your own! 2018-07-12 17:06:36 +01: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
4b607a3cca Removed cull tests 2018-07-12 16:32:12 +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
a8fa98e39b Skip all rendering if alpha <= 0 2018-07-12 15:31:00 +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
Richard Davey
d9ac16bcb0 Shorter texture path 2018-07-12 01:14:02 +01:00
Richard Davey
5fdf51ce59 Using direct pipeline calls 2018-07-02 13:32:56 +01:00
Richard Davey
17112ecd20 Tileset.glTexture is a new property that maps to the WebGL Texture for the Tileset image. It's used internally by the renderer to avoid expensive object look-ups and is set automatically in the Tileset.setImage method. 2018-07-02 13:32:35 +01:00
Richard Davey
1941d8a494 Removed drawStaticTilemapLayer method and updated layer vertex code 2018-07-02 12:07:39 +01:00
tarsupin
6613bc28e9
Fixing removeTileAt, removeTileAtWorldXY docs
The 'tile' parameter was not included in the actual code, so it's removed here from the documentation.
2018-06-30 15:09:41 -05:00
Craig Whiteside
858c858106 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-06-30 08:49:13 +01:00
Craig Whiteside
016c5722b5 Added Support for Infinite Tiled Maps. 2018-06-30 08:47:43 +01:00
Andre van Tonder
32ff6df5b3 fixed JsDoc for Phaser.Tilemaps.Tilemap#createBlankDynamicLayer
x, y, width, height, tileWidth, tileHeight are all optional params

I also add x, y params to jsdoc  as they were missing
2018-06-27 10:33:35 +08:00
Richard Davey
7aa46657c2 Tidying up jsdocs and changing float to number 2018-06-26 23:19:14 +01:00
Richard Davey
dade336b29
Merge pull request #3782 from Upperfoot/hotfix/tile-culling
Account for position of tilemapLayer when culling tiles
2018-06-25 22:46:36 +01:00
Richard Davey
c6c9b25fdc Camera.alpha (and its related method Camera.setAlpha) allows you to get an alpha level for the entire camera. This impacts everything it is rendering, even if those objects also have their own alpha values too. You can tween the property to make the camera contents fade in / out, or you can set it as needed in your game. 2018-06-25 17:35:36 +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
5a0fe89a7e Swap _id to id 2018-06-23 12:26:39 +01:00
Richard Davey
0b8915520b Added eslint rules. Fixed incorrect ES6 use. 2018-06-11 09:05:52 +01:00
Richard Davey
3d9da060c5 Camera.shake would not effect dynamic tilemap layers. Fix #3669 2018-05-24 23:02:59 +01:00
Mike Kruk
c0ce45cfa3
Update Base64Decode.js
The array length should be 1/4 the size of the raw binary string, otherwise you end up with a bunch of undefined array values at the end.
2018-05-02 19:39:56 -04: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
6299019838 Updated to use typeof DefinePlugin check. 2018-04-20 00:23:24 +01:00
Richard Davey
32ce8d7947 jsdoc fixes and removed un-used ResetKey file. 2018-04-19 12:30:38 +01:00
Richard Davey
ea0bdce26a Updated jsdocs 2018-04-16 16:37:07 +01:00
Richard Davey
28e2764723 More jsdoc fixes 2018-04-16 16:02:27 +01: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
112a1eabb5 Typo 2018-04-12 14:25:52 +01:00
Richard Davey
9fb1a72b70 Typo 2018-04-10 15:21:10 +01:00