diff --git a/docsrc/manual/editing-map-events.rst b/docsrc/manual/editing-map-events.rst index 22e30983..cbd462d3 100644 --- a/docsrc/manual/editing-map-events.rst +++ b/docsrc/manual/editing-map-events.rst @@ -110,7 +110,7 @@ Target Map Warp Events ----------- -Warp events are how the player is able to warp to other maps, such as entering a building. Double-clicking on a warp will automatically open the destination map and select the destination warp. This makes it very easy to navigate around in Porymap. +Warp events are how the player is able to warp to other maps, such as entering a building. Double-clicking on a warp will automatically open the destination map and select the destination warp. This makes it very easy to navigate around in Porymap. Warps need to be on specific metatiles to function as an exit; a warning will appear if the warp event is not on one of these exits. .. figure:: images/editing-map-events/event-warp.png :alt: Warp Event Properties diff --git a/docsrc/manual/images/settings-and-options/tab-events.png b/docsrc/manual/images/settings-and-options/tab-events.png index c2e0b4fb..1fd1da8a 100644 Binary files a/docsrc/manual/images/settings-and-options/tab-events.png and b/docsrc/manual/images/settings-and-options/tab-events.png differ diff --git a/docsrc/manual/images/settings-and-options/tab-files.png b/docsrc/manual/images/settings-and-options/tab-files.png new file mode 100644 index 00000000..447df124 Binary files /dev/null and b/docsrc/manual/images/settings-and-options/tab-files.png differ diff --git a/docsrc/manual/images/settings-and-options/tab-general.png b/docsrc/manual/images/settings-and-options/tab-general.png index e05eb9f4..eb787a4f 100644 Binary files a/docsrc/manual/images/settings-and-options/tab-general.png and b/docsrc/manual/images/settings-and-options/tab-general.png differ diff --git a/docsrc/manual/images/settings-and-options/tab-identifiers.png b/docsrc/manual/images/settings-and-options/tab-identifiers.png new file mode 100644 index 00000000..87a5ea81 Binary files /dev/null and b/docsrc/manual/images/settings-and-options/tab-identifiers.png differ diff --git a/docsrc/manual/images/settings-and-options/tab-maps.png b/docsrc/manual/images/settings-and-options/tab-maps.png index 97004993..4ff22e46 100644 Binary files a/docsrc/manual/images/settings-and-options/tab-maps.png and b/docsrc/manual/images/settings-and-options/tab-maps.png differ diff --git a/docsrc/manual/images/settings-and-options/tab-project-files.png b/docsrc/manual/images/settings-and-options/tab-project-files.png deleted file mode 100644 index 846490ee..00000000 Binary files a/docsrc/manual/images/settings-and-options/tab-project-files.png and /dev/null differ diff --git a/docsrc/manual/images/settings-and-options/tab-tilesets.png b/docsrc/manual/images/settings-and-options/tab-tilesets.png index ca0c8a36..3a1e767a 100644 Binary files a/docsrc/manual/images/settings-and-options/tab-tilesets.png and b/docsrc/manual/images/settings-and-options/tab-tilesets.png differ diff --git a/docsrc/manual/settings-and-options.rst b/docsrc/manual/settings-and-options.rst index 9369d49f..13278411 100644 --- a/docsrc/manual/settings-and-options.rst +++ b/docsrc/manual/settings-and-options.rst @@ -23,7 +23,7 @@ Project settings * :ref:`Maps ` * :ref:`Tilesets ` * :ref:`Events ` - * :ref:`Project Files ` + * :ref:`Files & Identifiers ` A config file for project-specific settings is also created when opening a project in porymap for the first time. It is stored in your project root as ``porymap.project.cfg``. You may want to force commit this file so that other users will automatically have access to your project settings. @@ -98,32 +98,38 @@ Maps .. figure:: images/settings-and-options/tab-maps.png :alt: Maps tab -Border Metatiles - This is list of metatile ID values that will be used to fill the border on new maps. The spin boxes correspond to the top-left, top-right, bottom-left, and bottom-right border metatiles respectively. +Map Data Defaults + Border Metatiles + This is list of metatile ID values that will be used to fill the border on new maps. The spin boxes correspond to the top-left, top-right, bottom-left, and bottom-right border metatiles respectively. - If ``Enable Custom Border Size`` is checked, this will instead be a comma-separated list of metatile ID values that will be used to fill the border on new maps. Values in the list will be read sequentially to fill the new border left-to-right top-to-bottom. If the number of metatiles in the border for a new map is not the same as the number of values in the list then the border will be filled with metatile ID ``0x000`` instead. + If ``Enable Custom Border Size`` is checked, this will instead be a comma-separated list of metatile ID values that will be used to fill the border on new maps. Values in the list will be read sequentially to fill the new border left-to-right top-to-bottom. If the number of metatiles in the border for a new map is not the same as the number of values in the list then the border will be filled with metatile ID ``0x000`` instead. - Defaults to ``0x014``, ``0x015``, ``0x01C``, ``0x01D`` for ``pokefirered``, and ``0x1D4``, ``0x1D5``, ``0x1DC``, ``0x1DD`` for other versions. + Defaults to ``0x014``, ``0x015``, ``0x01C``, ``0x01D`` for ``pokefirered``, and ``0x1D4``, ``0x1D5``, ``0x1DC``, ``0x1DD`` for other versions. -Fill Metatile - This is the metatile ID value that will be used to fill new maps. + Metatile ID + This is the metatile ID value that will be used to fill new maps. - Defaults to ``0x1``. + Defaults to ``0x1``. -Elevation - This is the elevation that will be used to fill new maps. It will also be used to set the default selection on the Collision tab when a map is opened. + Collision + This is the collision value that will be used to fill new maps. It will also be used to set the default selection on the Collision tab when the project is first opened. - Defaults to ``3``. + Defaults to ``0``. -Collision - This is the collision that will be used to fill new maps. It will also be used to set the default selection on the Collision tab when a map is opened. + Elevation + This is the elevation value that will be used to fill new maps. It will also be used to set the default selection on the Collision tab when the project is first opened. - Defaults to ``0``. + Defaults to ``3``. -Create separate text file - If this is checked, a ``text.inc`` (or ``text.pory``) file will be created alongside new maps. + Create separate text file + If this is checked, a ``text.inc`` (or ``text.pory``) file will be created alongside new maps. - Defaults to ``unchecked`` for ``pokeemerald`` and ``checked`` for other versions. + Defaults to ``unchecked`` for ``pokeemerald`` and ``checked`` for other versions. + +Map Data Layout + Each of these three settings are bit masks that will be used to read and write an attribute of the data that makes up each map space (metatile ID, collision, and elevation). A warning will be displayed if any of the masks overlap. Their values may be read from ``#define`` s in your project, in which case editing will be disabled and you can change their values by modifying them in your project. + + Default to being read from ``MAPGRID_METATILE_ID_MASK``, ``MAPGRID_COLLISION_MASK``, and ``MAPGRID_ELEVATION_MASK``. If they can't be read, they default to ``0x3FF``, ``0xC00``, and ``0xF000`` respectively. Enable 'Floor Number' If this is checked, a ``Floor Number`` option will become available on the ``Header`` tab and on the new map prompt. For more information see `Editing Map Headers `_. @@ -172,30 +178,27 @@ Attributes size Attribute masks Each of these four settings are bit masks that will be used to read and write a specific metatile attribute from the metatile attributes data. If you are instead importing metatile attribute data from AdvanceMap, a default mask value will be used to read the data, and the mask value specified here will be used to write the new file. - If any of the mask values are set to ``0x0``, the corresponding option in the Tileset Editor will be removed. The maximum for all the attribute masks is determined by the Attributes size setting. + If any of the mask values are set to ``0x0``, the corresponding option in the Tileset Editor will be removed. The maximum for all the attribute masks is determined by the Attributes size setting. A warning will be displayed if any of the masks overlap. - Metatile Behavior mask This is the mask value for the ``Metatile Behavior`` metatile attribute. - Defaults to ``0x1FF`` for ``pokefirered``, and ``0xFF`` for other versions. + Defaults to being read from ``sMetatileAttrMasks`` or ``METATILE_ATTR_BEHAVIOR_MASK``. If these can't be read, defaults to ``0x1FF`` for ``pokefirered``, and ``0xFF`` for other versions. - Layer Type mask This is the mask value for the ``Layer Type`` metatile attribute. If the value is set to ``0x0`` the ``Layer Type`` option will be disabled in the Tileset Editor, and all metatiles will be treated in the editor as if they had the ``Normal`` layer type. - Defaults to ``0x60000000`` for ``pokefirered`` and ``0xF000`` for other versions. + Defaults to being read from ``sMetatileAttrMasks`` or ``METATILE_ATTR_LAYER_MASK``. If these can't be read, defaults to ``0x60000000`` for ``pokefirered``, and ``0xF000`` for other versions. - Encounter Type mask This is the mask value for the ``Encounter Type`` metatile attribute. - Defaults to ``0x7000000`` for ``pokefirered`` and ``0x0`` for other versions. + Defaults to being read from ``sMetatileAttrMasks``. If this can't be read, defaults to ``0x7000000`` for ``pokefirered``, and ``0x0`` for other versions. - Terrain Type mask This is the mask value for the ``Terrain Type`` metatile attribute. - Defaults to ``0x3E00`` for ``pokefirered`` and ``0x0`` for other versions. - - .. warning:: - If any of the metatile attribute masks have overlapping or discontinous bits they may behave in unexpected ways. A warning will be logged in the Porymap log file if this happens + Defaults to being read from ``sMetatileAttrMasks``. If this can't be read, defaults to ``0x3E00`` for ``pokefirered``, and ``0x0`` for other versions. Output 'callback' and 'isCompressed' fields If these are checked, then ``callback`` and ``isCompressed`` fields will be output in the C data for new tilesets. Their default values will be ``NULL`` and ``TRUE``, respectively. @@ -217,6 +220,11 @@ Default Icons The filepaths default to empty, which will use `Porymap's original icons `_. +Warp Behaviors + By default, Warp Events only function as exits if they're positioned on a metatile whose Metatile Behavior is treated specially in your project's code. If any Warp Events are positioned on a metatile that doesn't have one of these behaviors they will display a warning. Here you can disable that warning, or edit the list of behavior names that will silence the warning. + + Defaults to ``unchecked``, i.e. the warning is enabled. The list of behaviors is initially populated with all the vanilla warp behavior names across pokeemerald, pokefirered, and pokeruby. + Enable Clone Objects If this is checked Clone Object Events will be available on the ``Events`` tab. For more information see `Clone Object Events `_. @@ -248,15 +256,22 @@ Enable 'Repsawn Map/NPC' for Heal Locations Defaults to ``checked`` for ``pokefirered`` and ``unchecked`` for other versions. -.. _project-files: +.. _files-identifiers: -Project Files -------------- +Files & Identifiers +------------------- -.. figure:: images/settings-and-options/tab-project-files.png - :alt: Project Files tab +.. figure:: images/settings-and-options/tab-files.png + :alt: Files tab -This is a list of the files and folders Porymap expects from your project. Each can be overridden by typing a new path or selecting a file/folder with the folder button. If the file/folder doesn't exist when the project is loaded then the default path will be used instead. +.. figure:: images/settings-and-options/tab-identifiers.png + :alt: Identifiers tab -For more information on each of these files/folders, see `Project Files `_. +These two tabs provide a way to override the filepaths and symbol/macro names Porymap expects to find in your project. + +For ``Files``, each can be overridden by typing a new path or selecting a file/folder with the |button-folder| button. If the file/folder doesn't exist when the project is loaded then the default path will be used instead. + +For ``Identifiers``, each can be overridden by typing a new name in the line edit. Overrides with ``regex`` in the name support the `regular expression syntax `_ used by Qt. + +For more information on what each of these overrides does, see `Project Files `_. diff --git a/forms/projectsettingseditor.ui b/forms/projectsettingseditor.ui index bf2ede83..5230b74c 100644 --- a/forms/projectsettingseditor.ui +++ b/forms/projectsettingseditor.ui @@ -39,7 +39,7 @@ 0 0 559 - 607 + 568 @@ -343,7 +343,7 @@ 20 - 40 + 1 @@ -370,7 +370,7 @@ 0 0 559 - 587 + 548 @@ -398,6 +398,43 @@ + + + + The default metatile value that will be used to fill new maps + + + 0x + + + 16 + + + + + + + Elevation + + + + + + + Metatile ID + + + + + + + Whether a separate text.inc or text.pory file will be created for new maps, alongside the scripts file + + + Create separate text file + + + @@ -500,61 +537,24 @@ - - - - Fill Metatile - - - - - - - Elevation - - - - - - - Collision - - - - - - - The default metatile value that will be used to fill new maps - - - 0x - - - 16 - - - - + The default elevation that will be used to fill new maps - - - - The default collision that will be used to fill new maps + + + + Collision - - + + - Whether a separate text.inc or text.pory file will be created for new maps, alongside the scripts file - - - Create separate text file + The default collision that will be used to fill new maps @@ -717,7 +717,7 @@ 20 - 40 + 1 @@ -1007,7 +1007,7 @@ 0 0 559 - 827 + 788 @@ -1340,7 +1340,7 @@ 20 - 40 + 1