update docs for new rme

This commit is contained in:
garak 2022-06-27 14:34:51 -04:00 committed by garakmon
parent 5f3653e7b0
commit f989096f30
7 changed files with 76 additions and 73 deletions

View file

@ -20,7 +20,7 @@ The **"Breaking Changes"** listed below are changes that have been made in the d
- Only log "Unknown custom script function" when a registered script function is not present in any script.
- Unused metatile attribute bits that are set are preserved instead of being cleared.
- The wild encounter editor is automatically disabled if the encounter JSON data cannot be read
- Overhauled the region map editor, adding support for tilemaps, and significant customization. Also support pokefirered.
- Overhauled the region map editor, adding support for tilemaps, and significant customization. Also now supports pokefirered.
### Fixed
- Fix cursor tile outline not updating at the end of a dragged selection.

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

View file

@ -2,24 +2,73 @@
The Region Map Editor
*********************
This is where you edit the region map for your game. To open the region map
editor, navigate to *Tools -> Region Map Editor* from porymap's main window.
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.
.. note::
The region map editor is currently only available for pokeemerald and pokeruby.
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, your window will look like this:
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.
.. figure:: images/region-map-editor/rme-new-window.png
:scale: 75%
.. figure:: images/region-map-editor/new-configure-window.png
:align: center
:width: 75%
:alt: RME Window
Region Maps Configurator
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.
.. figure:: images/region-map-editor/rme-config-properties.png
:align: center
:width: 50%
:alt: RME Config Prop
Region Map Properties Window
This window has many options for users to define:
.. csv-table::
:header: Field,Explanation,Restrictions
:widths: 10, 30, 20
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.
.. figure:: images/region-map-editor/rme-main-window.png
:align: center
:width: 75%
:alt: RME Config Prop
Region Map Editor Window
This window is split vertically--the region map editing is done at the top,
while the zoomed-in city maps are edited at the bottom. You can use the
sliders to zoom in and out on each of the view panes. You will notice
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
(:ref:`Background Image <background-image-tab>`,
:ref:`Map Layout <map-layout-tab>`,
@ -39,24 +88,13 @@ 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.
.. figure:: images/region-map-editor/rme-painting-image.gif
:scale: 75%
:align: center
:alt: RME Paint
Drawing on the Region Map Image
It is likely that you will want to use your own tiles for your region map. You
can import a tile image by navigating to *Tools -> Import Region Map Image Tiles*.
There are strict requirements for your region map tile image. It must (1) be
indexed with a 256 color palette\*, (2) be composed of 8x8 pixel tiles, (3) have 256
or fewer tiles.
\* While the region map tile image requires a 256-color palette, the image only
uses the 32 colors beginning at index 112 in the palette.
You can use the sliders to zoom in and out on each of the view panes.
.. _map-layout-tab:
@ -67,9 +105,9 @@ 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.
.. figure:: images/region-map-editor/rme-layout-tab.png
:scale: 75%
.. figure:: images/region-map-editor/rme-new-layout-tab.png
:align: center
:width: 75%
:alt: RME Layout
RME Layout Tab
@ -78,29 +116,15 @@ 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. To change the popup name of the map section when you enter the map,
type it into the "Map Name" box. The popup name is tied to the map section, so
each layout square with the same map section will share a name.
region map.
If you want to start from a blank layout, *Edit -> Clear Map Layout* will set
all layout squares to the value of ``MAPSEC_NONE``.
There are a couple of tools which make editing multiple layout squares simultaneously easier.
When adding new region map sections, the layout will be affected. This is
because the layout is stored as a binary file and uses the raw value of each
map section. In order to fix your layout to account for this, you can swap two
values for the entire layout with *Edit -> Swap*.
*Edit -> Clear Map Layout* will set all squares in the layout to ``MAPSEC_NONE``.
In this example, ``MAPSEC_NEW_MAPSEC`` is inserted before ``MAPSEC_NONE``, and
therefore the layout will link the original value of ``MAPSEC_NONE`` to the new
map section ``MAPSEC_NEW_MAPSEC``. Instances of ``MAPSEC_NEW_MAPSEC`` are swapped
with ``MAPSEC_NONE``.
*Edit -> Swap Layout Sections...* will exchange two layout sections with each other.
.. figure:: images/region-map-editor/rme-layout-swap.gif
:scale: 75%
:align: center
:alt: RME Swap
Swapping Map Sections
*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``.
@ -111,10 +135,10 @@ 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 at ``src/data/region_map/region_map_entries.h``.
in-game. Entries are stored in ``src/data/region_map/region_map_sections.json``.
.. figure:: images/region-map-editor/rme-entries-tab.png
:scale: 75%
.. figure:: images/region-map-editor/rme-new-entries-tab.png
:width: 75%
:align: center
:alt: RME Entries
@ -126,29 +150,8 @@ You can also drag the entry around the map. The "x" and "y" values correspond t
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.
City Maps
---------
In the bottom half of the region map editor window, city maps can be edited.
You paint on this the same way you paint on the region map background image.
.. figure:: images/region-map-editor/rme-painting-city.gif
:scale: 60%
:align: center
:alt: City Paint
Drawing on the City Map
To use custom tiles, there is a tile image importer under
*Tools -> Import City Map Image Tiles*. These images must (1) be indexed with a
16 color palette, (2) be made up of 8x8 pixel tiles, (3) have 256 or fewer tiles.
You can add a new city map by pressing the |new-city-map-button| button.
.. |new-city-map-button|
image:: images/region-map-editor/rme-new-city-map-button.png
Currently, it is not possible to associate a city map to a region map location,
but that functionality will be added in a future update.
To change the popup name of the map section when you enter the map, type it
into the "Map Name" box.