Changing to worldmap using the editor: Select File->Properties, the property at the bottom of the screen should be "TilesetFile" change this to "worldmap.strf" or "ice_world.strf" to have the editor automatically change into worldmap mode. I think you still need to save and then re-open the worldmap to ensure the graphics are all updated. I'd suggest doing this only with a new (empty) level, as otherwise could cause some funky behavior. Also, I think you will have to manually delete the spawn point and replace it with a worldmap spawn point. The worldmap spawn point should be in the objects menu (where you find badguys normally, it looks like a penguin) which should be populated with worldmap objects instead of regular level objects.
Note that you cannot currently test worldmaps using the "play" feature of the editor.
Using custom tiles: This is a bit more tricky, but still doable in the editor. First you will need to generate a tile-mapping file. These are normally located in data/images/ and have the .strf extension. Probably easiest thing to do is copy "tiles.strf" and then modify with any text editor. When modifying, you will need to do two things to access your tiles via the editor. First set up the actual mapping, this assigns a unique number to each tile of your image. For example, the large (2x2 tile) basic solid block has the following mapping code:
- {l Code}: {l Select All Code}
(tiles
(width 2)
(height 2)
(ids
50 49
51 52
)
(attributes
1 1
1 1
)
(image "tiles/blocks/bigblock.png")
)
For attributes, 1=solid, and 0=unsolid, you can search the file for examples of other attributes if you need to (for example slopped, unisolid, ice, hurting, etc. some of these will then need an additional designation for data, again if you get this complex you can look at "data/images/tiles.strf" for examples). The image used is your custom artwork and must match the dimensions of width and height (in units of tiles=32 pixels). The ids are unique numerical values that tell SuperTux which tile to use. You must make sure you assign numbers that have not been used yet (see the bottom of the file for the next available number). Currently id values have reached past 3000, if you intend to keep your custom tiles self-contained you can be lazy and just start numbering from an arbitrary high value such as 6000.
After mapping, it is advisable to give the tiles a group so you can find them easily in the editor. For example I can make a group "Big Block" which will show up in the tile group pull-down menu in the editor with the following code:
- {l Code}: {l Select All Code}
(tilegroup
(name "Big Block")
(tiles
50 49 0 0
51 52 0 0
)
)
The extra zeros are to make the image look pretty in the editor, which makes for easier placement (tiles are displayed in rows of 4 and I didn't want to break up the block). This may make more sense when you are actually setting it up yourself when you can see the results in the editor. Strictly speaking this second bit of code is not necessary, but it makes it a lot easier than scrolling through all available tiles in numerical order.
Once your .strf tile mapping file is all set, you need to select it for the level properties in the editor. This is done the same way as selecting worldmap tiles. If you do this in an already created level, you will need to save and re-open if you want old tiles to be updated.
Note if you want to make custom worldmap tiles- the process is largely the same; however, to get the editor to treat your worldmap tiles as a worldmap, you need to include "world" in the filename. For example: "super_awesome_worldmap_tiles.strf", "stickyworld.strf" or "toads_world.strf"- it doesn't really matter just so long as "world" is part of the string. This also means you do not want the string "world" included in any level tileset you put together, otherwise the editor will treat it like a worldmap and you won't be able to place badguys etc..
I think that about covers it. If I missed some critical detail or you want more info/clarification, feel free to ask.