The Region Map Editor¶
This is where you edit the region maps for your game. You are able to edit the background tilemap, the layout of map sections, and the array of map section entries which determines the dimensions of each section.
To open the region map editor, navigate to Tools -> Region Map Editor from
porymap’s main window. There is also a keyboard shortcut which is by default Ctrl+M
.
When you first open the region map editor, you will need to configure porymap to read your region map data. There are defaults for every base game project available which should be sufficient for most users.
Porymap supports multiple region maps for any project. By default, pokeemerald and pokefirered use this feature. For a more custom region map, you can use the Add Region Map… button to create a new region map configuration from scratch. You can also double-click on any existing region map in the list to bring this window up to make changes.
This window has many options for users to define:
Field | Explanation | Restrictions |
---|---|---|
alias | something for porymap to distinguish between your maps | unique & valid json string |
Tilemap Properties | ||
format | format of the tiles | Plain or 4bpp or 8bpp |
width | width in tiles of the tilemap | 16 or 32 or 64 or 128 |
height | height in tiles of the tilemap | valid corresponding height based on width |
tileset path | the relative path to the tile image from project root | valid filepath string |
tilemap path | the relative path to the tilemap binary from project root | valid filepath string |
palette path | optional relative path to .pal file from project root |
valid filepath string |
Layout Properties | can be unchecked for maps without layouts | |
format | the format to read the layout file | C array or binary |
layout path | the relative path from project root to layout file | valid filepath string |
width | the width of the layout | non-negative integer |
left offset | the position on the tilemap which defines layout x=0 | width + left offset < tilemap width |
height | the height of the layout | non-negative integer |
top offset | the position on the tilemap which defines layout y=0 | height + top offset < tilemap height |
When you are finished configuring your region maps, you can select OK. This will display the main editor window.
This window has a combobox labeled “Region” which you can use to select the current region map you want to edit.
You will notice that there are three different tabs above the image of the region map (Background Image, Map Layout, Map Entries). Let’s take a look at each tab’s functionality in more detail…
Background Image Tab¶
When this tab is selected, you can draw on the region map. Select tiles from
the tile selector on the right. You can single-click or drag your mouse around
to paint the selected tile onto the region map image. If you make a mistake, or
are unhappy with what you have done, you can undo (Ctrl+Z
or Edit -> Undo)
and redo (Ctrl+Y
or Edit -> Redo) your changes. Right-clicking on the map
image will select the tile under your mouse from the tile selector.
If your tilemap format is not “Plain”, then you can also select the palette, h-flip, and v-flip of any tile you are painting with.
If you want to clear the background image, Edit -> Clear Background Image will set all tiles to the first tile in the tile selector.
You can use the sliders to zoom in and out on each of the view panes.
Map Layout Tab¶
The layout tab is where map sections are placed on the region map. When the player looks at the region map in-game, the layout determines the map under the cursor.
To modify the region map layout, select a position by clicking on the map image
and higlighting a single square. The “Map Section” combobox will be populated
with all of the map sections defined in include/constants/region_map_sections.h
.
Select the map section you want to associate with the selected position on the
region map.
There are a couple of tools which make editing multiple layout squares simultaneously easier.
Edit -> Clear Map Layout will set all squares in the layout to MAPSEC_NONE
.
Edit -> Swap Layout Sections… will exchange two layout sections with each other.
Edit -> Replace Layout Section… will replace all instances of one section with another.
The “Delete Square” button simply resets a single layout square to MAPSEC_NONE
.
Map Entries Tab¶
A region map entry is the area on the region map that spans an entire map section.
This determines, for example, where the player’s head appears on the region map
in-game. Entries are stored in src/data/region_map/region_map_sections.json
.
To edit an entry, select a map section from the “Map Section” combobox. You can use the “Location” “x” and “y” spinboxes to change the coordinates of the entry. You can also drag the entry around the map. The “x” and “y” values correspond to the position of the entry’s top-left square on the region map. The “Dimensions” “width” and “height” spinboxes will change the size of the map entry.
To change the popup name of the map section when you enter the map, type it into the “Map Name” box.