Solarus Forum

Solarus => Bugs & Feature requests => Topic started by: ffomega on July 10, 2016, 08:42:37 am

Title: [SOLVED] Connecting maps of different size?
Post by: ffomega on July 10, 2016, 08:42:37 am
Hey Chris, I had a question regarding teletransporters when using them to connect map edges to one another.

Currently, when you place a teletransporter on the edge of one map, set it to scrolling, place destination to side of the map, and give it a destination map to port the hero to, it works just fine, except that the map it teleports to must be of the same size as the map the hero is coming from.

Here's an example:

In Link to the Past, Hyrule Castle is 1024 x 1024.  Below it, you have two separate maps; Link's house (512 x 512), and the area to the west of Link's house (also 512 x 512).  If you place a teletransporter on the Hyrule Castle map, at the bottom right area of the map, linking it to Link's house, the map successfully scrolls, but it sends the hero off the map, thus freezing the game.  The only way to solve this, is to combine the maps for Link's house and the map to the west of Link's house (1024 x 512).  When doing this, the hero will succesfully transfer to the map at the right place.

Will this issue be fixed in future builds (if not already), or will all developers need to make each individual map the same size in order to avoid sending the hero off the map and locking their games?
Title: Re: Connecting maps of different size?
Post by: Christopho on July 10, 2016, 11:26:53 am
You just need to set the correct location to both maps. There is a "Location in its world" field in left panel of the map editor. The x location of the Hyrule castle should be 512 pixels less than the x location of Link's house map.

More exactly, since you are reproducing A Link to the Past, the Hyrule Castle map location is 1536, 1536 and Link's house map location is 2048, 2560.
Title: Re: Connecting maps of different size?
Post by: ffomega on July 17, 2016, 06:37:20 pm
I had actually considered making the map size the default Link to the Past 4096 x 4096 and just eliminationg teletransporters that scroll and connect to a separate map, and just use the separators instead, but I wondered about performance issues, not with the tilesets, but with the map size itself.
Title: Re: Connecting maps of different size?
Post by: Christopho on July 17, 2016, 10:54:07 pm
There should be no performance issue but what is wrong with the solution I suggested? The location field of maps is designed just for that.
Title: Re: Connecting maps of different size?
Post by: ffomega on July 18, 2016, 04:10:55 am
Oh no, please don't misunderstand me :) I only considered making one large map because I did not know that the "location in its world" fields were made for that purpose.  Much of what I am learning from Solarus is coming from dissecting other games made by Solarus.  I must have just overlooked the fields completely.