Commit graph

65 commits

Author SHA1 Message Date
photonstorm
f40cfbe2ae 2015 - 2016. 2016-04-04 22:16:16 +01:00
Richard Davey
2c87d14ede Merge pull request #2412 from MannyC/keep_tiled_layer_encoding_synced
Remove encoding metadata from Tiled json if data has already had its …
2016-04-04 17:07:31 +01:00
MannyC
7178b7abf4 Remove encoding metadata from Tiled json if data has already had its encoding removed. 2016-04-03 23:33:38 +01:00
MannyC
b29a77f4a4 Detect if layer compression is used in a Tiled layer. Display warning and skip layer. 2016-04-03 23:17:41 +01:00
Thomas ten Cate
cfd924d931 Rename inner loop variable from 'i' to 'j'
Fixes #2233
2015-12-03 16:22:34 +01:00
photonstorm
3d1306d440 jsdoc fix. 2015-11-17 14:07:48 +00:00
photonstorm
8b0224e7b4 TilemapParser accidentally redeclared i when parsing the ImageCollections which would cause an infinite loop (thanks DanHett) 2015-11-12 13:39:42 +00:00
Lisandro Lorea
daff43fd77 Fix for tile ids between 0x7FFFFFFF and 0xFFFFFFFF
2147483647 tile ids should be enough for anybody, but it is now working for any valid tile id.
2015-09-15 01:36:13 -03:00
Lisandro Lorea
f52ca58d7d Correctly interpret binaryString as a sequence of uint32-le values
The previous implementation was ignoring the 3 most significant bytes of each value and would result on improper parsing of any map with tile ids higher than 255
2015-09-14 20:38:58 -03:00
Lisandro Lorea
8528f0c700 Fixed variable naming style 2015-09-13 12:15:02 -03:00
Lisandro Lorea
308ce6b57c Add support for TiledJSON with base64 encoding
Tiled 0.13.0 added support for layer data compression when exporting as LUA or JSON. This means that any .tmx stored unsing base64 encoding will start exporting layer data as a base64 encoded string rather than a native array. 
Phaser would try to load the level anyway without emitting any errors, resulting in a corrupted level while playing. 
This PR adds detection and support for base64 encoded levels as long as they don't use compression.
2015-09-13 12:07:57 -03:00
photonstorm
486c15f16f New docs. 2015-08-24 15:43:45 +01:00
photonstorm
cc7b632a37 Phaser.TilemapParser.INSERT_NULL is a new boolean that controls what happens when the parser encounters an empty tile: When scanning the Tiled map data the TilemapParser can either insert a null value (true) or a Phaser.Tile instance with an index of -1 (false, the default). Depending on your game type depends how this should be configured. If you've a large sparsely populated map and the tile data doesn't need to change then setting this value to true will help with memory consumption. However if your map is small, or you need to update the tiles (perhaps the map dynamically changes during the game) then leave the default value set (thanks #1982) 2015-08-24 12:36:23 +01:00
photonstorm
5056eedb58 Optimised local vars to reduce file size.
Trying out null tile properties.
2015-08-24 12:03:32 +01:00
photonstorm
f15fe6706c All undefined argument checks were changed from if (typeof x === 'undefined') to if (x === undefined) removing the typeof check and saving some bytes across the codebase in the process. 2015-07-22 10:37:15 +01:00
asyed94
8fefabcf59 Implemented Tiled Image Collection support.
Created class ImageCollection.js to internally handle Image Collection
data.

Added imagecollections member to Tilemap.js to access parsed Image
Collection data.

Added ability to parse Image Collections from Tiled json data to
TilemapParser.js
2015-06-27 15:30:26 -05:00
photonstorm
5ef9b0a5e6 TilemapParser.parseTiledJSON would ignore 'falsey' properties set on Objects in Tiled JSON tilemaps, such as x: 0 or visible: false. These properties are now accurately copied over to the destination map data (thanks @MaksJS #1818) 2015-05-27 18:07:33 +01:00
photonstorm
a69e53f901 Copyright date change. 2015-02-25 03:36:23 +00:00
photonstorm
daf8440247 Tile.properties is now unique to that specific Tile, and not a reference to the Tileset index bound properties object. Tile.properties can now be modified freely without impacting other tiles sharing the same id (#1254) 2015-02-11 21:40:37 +00:00
Mika Turunen
be3edd8437 Now the backwards compatibility is not broken
As implementation is leaning on 0.11.0 feature of Tiled, I made sure the earlier Tiled files that might be used are not going to break from this. Defaulting to empty string if the .type property is not defined by Tiled (for Tiled < 0.11.0), otherwise we use the provided value.
2015-02-10 14:54:14 +02:00
Mika Turunen
8a197b6023 Read ObjectLayer Objects .type property for Tiles
Why isn't the .type already read from the objects details as it's there? Latest release version of Tiled 0.11.0 has this field for Objects and it's quite extensively used by other frameworks.

Well, I need this and I suppose there are other people too who might be interested in having this in here too. Currently I go around this by creating a custom property of "type" and setting my value on it but that's just extremely silly.
2015-02-10 11:05:28 +02:00
photonstorm
35a04b2f1e TilemapParser now supports Tiled 0.11 version maps which includes the rotation property on all Object types.
Tilemap.createFromObjects now checks for a `rotation` property on the Object and if present will set it as the Sprite.angle (#1433)
2015-02-08 23:25:41 +00:00
emailto@niklasberg.se
a0ea73a4cd Support for tiles rotated and/or flipped in Tiled 2015-02-08 21:21:39 +01:00
emailto@niklasberg.se
a70dd81a80 Support for tiles rotated and/or flipped in Tiled 2015-02-08 21:03:19 +01:00
paul-reilly
ce603c3510 TilemapParser: fixed check for image collection 2014-12-10 22:42:17 +00:00
Paul
47c49b18cf Tilemap - Tiled image size calculation
Addresses https://github.com/photonstorm/phaser/issues/1371 - where Tiled
used floor calculations and Phaser used round calculations.

There are no breaking changes with the demos; however, if there was code
that relied on behavior that _deviated_ from the defactor Tilemap behavior
then may be prone to "incorrect results" if using tileset images that are
not correctly aligned to tilesize multiples.

This also adds/corrects some warnings:
- A warning when the tileset size is not an even multiple (it was
  suppressed due to using `round` prior to the checks.
- A warning if loading an image changes the cols/rows of a Tileset
- A specific warning for Tileset Image Collections which are not yet
  supported
2014-11-26 19:50:07 -08:00
photonstorm
5546e5903c Tiled polylines are now imported into the map objects property as well as map collision (#1117) 2014-08-29 16:56:30 +01:00
photonstorm
10e7d8ff7e TilemapParser.getEmptyData now correct adds an empty bodies array into layers. This fixes an issue where p2 couldn't convert a csv map into collision tiles (thanks @sru #845) 2014-08-29 16:30:29 +01:00
Richard Davey
afb094a6eb Merge pull request #1126 from beeglebug/feature/tile-properties
copy tile properties to tiles when parsing map
2014-08-28 01:35:20 +01:00
beeglebug
23f077a4e8 copy tile properties to tiles when parsing map 2014-08-21 21:08:05 +01:00
Alessandro Cuzzocrea
5e76eb4834 Added support for Tiled object's type field 2014-08-16 21:44:21 +02:00
Pablo Barbáchano
7f733a0b82 [tilemap] parse polygon, ellipses and rectangles 2014-05-01 13:13:53 +02:00
photonstorm
74108148ac CSV Tilemap tiles would incorrectly set the Tile layer reference, causing collision to fail (thanks @Chapelin, fix #692) 2014-04-28 23:21:57 +01:00
Christian Wesselhoeft
89a1639952 Fix jshint issues in src/tilemap 2014-03-25 14:56:04 -07:00
Christian Wesselhoeft
61f18b675c Trim trailing whitespace. 2014-03-25 14:56:04 -07:00
photonstorm
46d5069110 Tilemap.createFromObjects has a new parameter: adjustY, which is true by default. Because Tiled uses a bottom-left coordinate system Phaser used to set the Sprite anchor to 0,1 to compensate. If adjustY is true it now reduces the y value by the object height instead. 2014-03-17 23:54:04 +00:00
photonstorm
90ef694347 Tilemap.createFromObjects used to set the Sprite anchor to 0,1 because Tiled uses a bottom-left coordinate system. It now calculates the offset in TilemapParser. 2014-03-17 23:27:13 +00:00
photonstorm
0e29bd4300 Tile Collision Callbacks working properly. CSV / Blank map examples added. Multiple tilesets per map working again. That's it folks! 2014-03-14 04:21:56 +00:00
photonstorm
c73b4eaea0 json is now the default tilemap format when not defined (thanks RyanDansie, #528)
Updated docstrap
2014-03-10 00:50:06 +00:00
photonstorm
4a370c82cf You can now load in CSV Tilemaps again and they get created properly (fixes #391)
You can now create blank Tilemaps and then populate them with data later.
2014-03-03 13:45:47 +00:00
photonstorm
d8f5832fa2 Completely empty Tilemaps can now be created. This allows for dynamic map generation at runtime.
Loads of updates across most the Tilemap files. Not finished yet, still CSV loading to do and a multi-tileset issue to resolve, but it's a lot more flexible now.
2014-03-03 05:19:46 +00:00
photonstorm
29fcfc515d Fixed TilemapParser - would spit out a tileset warning if margin/spacing were set (fix #485, thanks Cybolic) 2014-02-26 01:20:24 +00:00
photonstorm
5a00a0ad97 TilemapParser will now throw a warning if the tileset image isn't the right size for the tile dimensions (fixes #377) 2014-02-21 16:57:45 +00:00
photonstorm
251b819bdb Fixed InputHandler group check #463 2014-02-21 10:06:53 +00:00
photonstorm
5d5c64d22f Tilemap.createCollisionObjects will parse Tiled data for objectgroups and convert polyline instances into physics objects you can collide with in the world.
After defining tiles that collide on a Tilemap, you need to call Tilemap.generateCollisionData(layer) to populate the physics world with the data required.
Debug.renderPhysicsBody updated to take camera location and body rotation into account.
Body movement functions put back to velocity :)
Updated to latest dev version of pixi and latest p2.js
Updated docs
2014-02-18 03:01:51 +00:00
photonstorm
0896c2fac7 Updating copyright year and README. 2014-02-05 16:54:59 +00:00
photonstorm
651858372c Added Game core loop stepping support. Super-useful for debugging, and helped me track down the issue with jittery physics collision. Double-win! 2014-01-29 17:10:13 +00:00
photonstorm
bd66be1804 Updated Tilemap classes and further tests. 2014-01-14 22:34:41 +00:00
photonstorm
e7c2b6ae9c Fixed nearly all of the tilemap examples to use the new tilemap system. 2014-01-14 00:31:58 +00:00
photonstorm
0acef49a7c RenderTexture now displays correctly in Canvas games.
Stage.display property added. A direct reference to the root Pixi Stage object (very useful for RenderTexture manipulation)
2013-12-23 04:20:09 +00:00