<liclass="toctree-l2"><aclass="reference internal"href="../manual/editing-map-events.html#adding-deleting-events">Adding & Deleting Events</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../manual/editing-wild-encounters.html#adding-new-encounter-groups">Adding New Encounter Groups</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../manual/editing-wild-encounters.html#configuring-the-wild-encounter-fields">Configuring the Wild Encounter Fields</a></li>
<liclass="toctree-l2"><aclass="reference internal"href="../manual/scripting-capabilities.html#writing-a-custom-script">Writing a Custom Script</a></li>
and this project somewhat adheres to <aclass="reference external"href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>. The MAJOR version number is bumped when there are breaking changes in the pret projects.</p>
<p>The <strong>“Breaking Changes”</strong> listed below are changes that have been made in the decompilation projects (e.g. pokeemerald), which porymap requires in order to work properly. It also includes changes to the scripting API that may change the behavior of existing porymap scripts. If porymap is used with a project or API script that is not up-to-date with the breaking changes, then porymap will likely break or behave improperly.</p>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/5.3.0...HEAD">Unreleased</a><aclass="headerlink"href="#unreleased"title="Permalink to this headline">¶</a></h2>
<p>Nothing, yet.</p>
</div>
<divclass="section"id="id1">
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/5.2.0...5.3.0">5.3.0</a> - 2024-01-15<aclass="headerlink"href="#id1"title="Permalink to this headline">¶</a></h2>
<li>Add <codeclass="docutils literal notranslate"><spanclass="pre">getMetatileBehaviorName</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">setMetatileBehaviorName</span></code> to the API.</li>
<li>Add <codeclass="docutils literal notranslate"><spanclass="pre">metatile_behaviors</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">num_primary_palettes</span></code>, and <codeclass="docutils literal notranslate"><spanclass="pre">num_secondary_palettes</span></code> to <codeclass="docutils literal notranslate"><spanclass="pre">constants</span></code> in the API.</li>
</ul>
</div>
<divclass="section"id="changed">
<h3>Changed<aclass="headerlink"href="#changed"title="Permalink to this headline">¶</a></h3>
<ulclass="simple">
<li>Metatile ID strings are now padded to their current max, not the overall max.</li>
<li>Non-existent directories are now removed from the Open Recent Project menu.</li>
<li>Hovering on the layer view in the Tileset Editor now displays the tile ID.</li>
<li>Labels in the Script dropdown are now sorted alphabetically.</li>
<li>The name of the Heal Locations table is no longer enforced.</li>
<li>The API functions <codeclass="docutils literal notranslate"><spanclass="pre">addImage</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">createImage</span></code> now support project-relative paths.</li>
</ul>
</div>
<divclass="section"id="fixed">
<h3>Fixed<aclass="headerlink"href="#fixed"title="Permalink to this headline">¶</a></h3>
<ulclass="simple">
<li>Fix the metatile selector rectangle jumping when selecting up or left of the origin.</li>
<li>Fix the event group tabs sometimes showing an event from the wrong group.</li>
<li>Fix the clear buttons in the Shortcuts Editor not actually removing shortcuts.</li>
<li>Fix slow speed for the script label autcomplete.</li>
<li>Fix deleted script labels still appearing in the autocomplete after project reload.</li>
<li>Fix the map search bar stealing focus on startup.</li>
<li>Fix border metatiles view not resizing properly.</li>
<li>Fix Open Recent Project not clearing the API overlay</li>
<li>Fix API error reporting.</li>
</ul>
</div>
</div>
<divclass="section"id="id2">
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/5.1.1...5.2.0">5.2.0</a> - 2024-01-02<aclass="headerlink"href="#id2"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id3">
<h3>Added<aclass="headerlink"href="#id3"title="Permalink to this headline">¶</a></h3>
<li>Add an editor window under <codeclass="docutils literal notranslate"><spanclass="pre">Options</span><spanclass="pre">-></span><spanclass="pre">Project</span><spanclass="pre">Settings...</span></code> to customize the project-specific settings in <codeclass="docutils literal notranslate"><spanclass="pre">porymap.project.cfg</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">porymap.user.cfg</span></code>.</li>
<li>Add an editor window under <codeclass="docutils literal notranslate"><spanclass="pre">Options</span><spanclass="pre">-></span><spanclass="pre">Custom</span><spanclass="pre">Scripts...</span></code> for Porymap’s API scripts.</li>
<li>Add an <codeclass="docutils literal notranslate"><spanclass="pre">Open</span><spanclass="pre">Recent</span><spanclass="pre">Project</span></code> menu</li>
<li>Add a warning to warp events if they’re on an incompatible metatile behavior.</li>
<li>Add settings for custom images, including the collision graphics, default event icons, and pokémon icons.</li>
<li>Add settings to override any symbol or macro names Porymap expects to find.</li>
<li>Add a zoom slider to the Collision tab.</li>
<li>Add toggleable grids to the Tileset Editor.</li>
<li>Support for custom metatile ID, collision, and elevation data sizes.</li>
<li><codeclass="docutils literal notranslate"><spanclass="pre">Script</span></code> dropdowns now include scripts from the current map’s scripts file.</li>
<li>Encounter Rate now defaults to the most commonly used value, rather than 0.</li>
<li>The Collision tab now allows selection of any valid elevation/collision value.</li>
<li>The Palette Editor now remembers the Bit Depth setting.</li>
<li>The min/max levels on the Wild Pokémon tab will now adjust automatically if they invalidate each other.</li>
<li>If the recent project directory doesn’t exist Porymap will open an empty project instead of failing with a misleading error message.</li>
<li>Settings under <codeclass="docutils literal notranslate"><spanclass="pre">Options</span></code> were relocated either to the <codeclass="docutils literal notranslate"><spanclass="pre">Preferences</span></code> window or <codeclass="docutils literal notranslate"><spanclass="pre">Options</span><spanclass="pre">-></span><spanclass="pre">Project</span><spanclass="pre">Settings</span></code>.</li>
<li>Secret Base and Weather Trigger events are automatically disabled if their respective constants files fail to parse, instead of not opening the project.</li>
<li>If a Pokémon icon fails to load Porymap will attempt to predict its filepath. If this also fails it will appear with a placeholder icon, and won’t disappear when edited.</li>
<li>The bits in metatile attribute masks are now allowed to be non-contiguous.</li>
<li>Porymap will now attempt to read metatile attribute masks from the project.</li>
<li>Fix text boxes in the Palette Editor calculating color incorrectly.</li>
<li>Fix metatile labels being sorted incorrectly for tileset names with multiple underscores.</li>
<li>Fix default object sprites retaining dimensions and transparency of the previous sprite.</li>
<li>Fix connections not being deleted when the map name text box is cleared.</li>
<li>Fix the map border not updating when a tileset is changed.</li>
<li>Improve the poor speed of the API functions <codeclass="docutils literal notranslate"><spanclass="pre">setMetatileTile</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">setMetatileTiles</span></code>.</li>
<li>Stop the Tileset Editor from scrolling to the initially selected metatile when saving.</li>
<li>Fix <codeclass="docutils literal notranslate"><spanclass="pre">0x0</span></code>/<codeclass="docutils literal notranslate"><spanclass="pre">NULL</span></code> appearing more than once in the scripts dropdown.</li>
<li>Fix the selection outline sticking in single-tile mode on the Prefab tab.</li>
<li>Fix heal location data being cleared if certain spaces aren’t used in the table.</li>
<li>Fix bad URL color contrast on dark themes.</li>
<li>Fix some issues when too few/many pokémon are specified for a wild encounter group.</li>
<li>Fix Porymap reporting errors for macros it doesn’t use.</li>
<li>Fix painting on the Collision tab with the opacity slider at 0 painting metatiles.</li>
<li>Fix crashes when File->Reload Project fails.</li>
<li>Fix overworld sprite facing directions if spritesheet has vertical layout.</li>
<li>Stop reporting <codeclass="docutils literal notranslate"><spanclass="pre">Error:</span><spanclass="pre">Interrupted</span></code> for custom scripts during project reopen</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/5.1.0...5.1.1">5.1.1</a> - 2023-02-20<aclass="headerlink"href="#id6"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id7">
<h3>Added<aclass="headerlink"href="#id7"title="Permalink to this headline">¶</a></h3>
<li>Fix null characters being unpredictably written to some JSON files.</li>
<li>Fix tilesets that share part of their name loading incorrectly.</li>
<li>Fix events being hidden behind connecting maps.</li>
<li>Metatile labels with values defined outside their tileset are no longer deleted.</li>
<li>Fix the Tileset Editor retaining edit history after changing tilesets.</li>
<li>Fix some minor visual issues on the Connections tab.</li>
<li>Fix bug which caused encounter configurator to crash if slots in fields containing groups were deleted.</li>
<li>Fix bug which caused encounter configurator to crash if last field was deleted.</li>
<li>Fix map render when collision view was active while map changed.</li>
<li>Fix the updated pokefirered region map graphics appearing in grayscale.</li>
<li>Fix the API function <codeclass="docutils literal notranslate"><spanclass="pre">registerAction</span></code> not correctly handling actions with the same name.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/5.0.0...5.1.0">5.1.0</a> - 2023-01-22<aclass="headerlink"href="#id10"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id11">
<h3>Added<aclass="headerlink"href="#id11"title="Permalink to this headline">¶</a></h3>
<li>Fix the Region Map Editor being opened by the Shortcuts Editor.</li>
<li>Fix New Map settings being preserved when switching projects.</li>
<li>Fix scripting API callback <codeclass="docutils literal notranslate"><spanclass="pre">onMapResized</span></code> not triggering.</li>
<li>Fix crash when importing AdvanceMap metatiles while <codeclass="docutils literal notranslate"><spanclass="pre">enable_triple_layer_metatiles</span></code> is enabled.</li>
<li>Fix <codeclass="docutils literal notranslate"><spanclass="pre">File</span><spanclass="pre">-></span><spanclass="pre">Open</span><spanclass="pre">Project</span></code> not resolving folder shortcuts.</li>
<li>Fix bug where “Requires Itemfinder” checkbox is being checked by wrong data.</li>
<li>Fix the map border not immediately reflecting Tileset Editor changes.</li>
<li>Fix pasting metatiles in the Tileset Editor not triggering the unsaved changes warning.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/4.5.0...5.0.0">5.0.0</a> - 2022-10-30<aclass="headerlink"href="#id14"title="Permalink to this headline">¶</a></h2>
<h3>Breaking Changes<aclass="headerlink"href="#breaking-changes"title="Permalink to this headline">¶</a></h3>
<ulclass="simple">
<li>Proper support for pokefirered’s clone objects was added, which requires the changes made in <aclass="reference external"href="https://github.com/pret/pokefirered/pull/484">pokefirered/#484</a>.</li>
<li>Warp IDs are now treated as strings, which requires the change to <codeclass="docutils literal notranslate"><spanclass="pre">mapjson</span></code> made in <aclass="reference external"href="https://github.com/pret/pokeemerald/pull/1755">pokeemerald/#1755</a>. Additionally <codeclass="docutils literal notranslate"><spanclass="pre">MAP_NONE</span></code> was renamed to <codeclass="docutils literal notranslate"><spanclass="pre">MAP_DYNAMIC</span></code>. Both changes also apply to pokefirered and pokeruby.</li>
<li>Overhauled the region map editor, adding support for tilemaps, and significant customization. Also now supports pokefirered. Requires the changes made in <aclass="reference external"href="https://github.com/pret/pokeemerald/pull/1651">pokeemerald/#1651</a>, <aclass="reference external"href="https://github.com/pret/pokefirered/pull/500">pokefirered/#500</a>, or <aclass="reference external"href="https://github.com/pret/pokeruby/pull/842">pokeruby/#842</a>.</li>
<li>Many API functions which were previously accessible via the <codeclass="docutils literal notranslate"><spanclass="pre">map</span></code> object are now accessible via one of the new objects <codeclass="docutils literal notranslate"><spanclass="pre">overlay</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">utility</span></code>, or <codeclass="docutils literal notranslate"><spanclass="pre">constants</span></code>. Some functions were renamed accordingly. See <aclass="reference external"href="https://github.com/huderlem/porymap/pull/460">porymap/#460</a> for a full list of API function name changes.</li>
<li>Arguments for the API function <codeclass="docutils literal notranslate"><spanclass="pre">createImage</span></code> have changed: <codeclass="docutils literal notranslate"><spanclass="pre">xflip</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">yflip</span></code> have been replaced with <codeclass="docutils literal notranslate"><spanclass="pre">hScale</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">vScale</span></code>, and <codeclass="docutils literal notranslate"><spanclass="pre">offset</span></code> has been replaced with <codeclass="docutils literal notranslate"><spanclass="pre">xOffset</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">yOffset</span></code>.</li>
<li>The API function <codeclass="docutils literal notranslate"><spanclass="pre">addFilledRect</span></code> has been removed; it’s been replaced by new arguments in <codeclass="docutils literal notranslate"><spanclass="pre">addRect</span></code>: <codeclass="docutils literal notranslate"><spanclass="pre">color</span></code> has been replaced with <codeclass="docutils literal notranslate"><spanclass="pre">borderColor</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">fillColor</span></code>, and a new <codeclass="docutils literal notranslate"><spanclass="pre">rounding</span></code> argument allows ellipses to be drawn.</li>
<li>Add Cut/Copy/Paste for metatiles in the Tileset Editor.</li>
<li>Add button to copy the full metatile label to the clipboard in the Tileset Editor.</li>
<li>Add ability to export an image of the primary or secondary tileset’s metatiles.</li>
<li>Add new config options for customizing how new maps are filled, setting default tilesets, and whether the most recent project should be opened on launch.</li>
<li>Add color picker to palette editor for taking colors from the screen.</li>
<li>Add new features to the scripting API, including the ability to display messages and user input windows, set the overlay’s opacity, rotation, scale, and clipping, interact with map header properties and the map border, read tile pixel data, and more.</li>
<li>Previous settings will be remembered in the New Map Options window.</li>
<li>The Custom Attributes table for map headers and events now supports types other than strings.</li>
<li>If an object event is inanimate, it will always render using its first frame.</li>
<li>Unused metatile attribute bits are preserved instead of being cleared.</li>
<li>The wild encounter editor is automatically disabled if the encounter JSON data cannot be read</li>
<li>Metatiles are always rendered accurately with 3 layers, and the unused layer is not assumed to be transparent.</li>
<li><codeclass="docutils literal notranslate"><spanclass="pre">object_event_graphics_info.h</span></code> can now be parsed correctly if it uses structs with attributes.</li>
<li>Tileset data in <codeclass="docutils literal notranslate"><spanclass="pre">headers</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">graphics</span></code>, and <codeclass="docutils literal notranslate"><spanclass="pre">metatiles</span></code> can now be parsed if written in C.</li>
<li>The amount of time it takes to render the event panel has been reduced, which is most noticeable when selecting multiple events at once.</li>
<li>The selection is no longer reset when pasting events. The newly pasted events are selected instead.</li>
<li>The currently selected event for each event group will persist between tabs.</li>
<li>An object event’s sprite will now render if a number is specified instead of a graphics constant.</li>
<li>Palette editor ui is updated a bit to allow hex and rgb value input.</li>
<li>Heal location constants will no longer be deleted if they’re not used in the data tables.</li>
<li>The heal location prefixes <codeclass="docutils literal notranslate"><spanclass="pre">SPAWN_</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">HEAL_LOCATION_</span></code> may now be used interchangeably.</li>
<li>The number and order of entries in the heal location data tables can now be changed arbitrarily, and independently of each other.</li>
<li>The metatile behavior is now displayed in the bottom bar mouseover text.</li>
<li>Number values are now allowed in the Tileset Editor’s Metatile Behavior field.</li>
<li>Removed some unnecessary error logs from the scripting API and added new useful ones.</li>
<li>If any JSON data is the incorrect type Porymap will now attempt to convert it.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/4.4.0...4.5.0">4.5.0</a> - 2021-12-26<aclass="headerlink"href="#id18"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id19">
<h3>Added<aclass="headerlink"href="#id19"title="Permalink to this headline">¶</a></h3>
<li>WSL project paths are now supported. (For example, \wsl$\Ubuntu-20.04\home\huderlem\pokeemerald)</li>
<li>Add ability to export map timelapse animated GIFs with <codeclass="docutils literal notranslate"><spanclass="pre">File</span><spanclass="pre">-></span><spanclass="pre">Export</span><spanclass="pre">Map</span><spanclass="pre">Timelapse</span><spanclass="pre">Image...</span></code>.</li>
<li>Add tool to count the times each metatile or tile is used in the tileset editor.</li>
<li>Events, current metatile selections, and map images can now be copied and pasted, including between windows.</li>
<li>The grid and map border visibility are now saved as config options.</li>
<li>Add ~60 new scripting API functions, including new features like reading/writing metatile data, layering, moving, and hiding items in the overlay, creating modified images and tile/metatile images, reading tileset sizes, logging warnings and errors, and more.</li>
<li>Fix % operator in C defines not being evaluated</li>
<li>Fix tileset palette editor crash that could occur when switching maps or tilesets with it open.</li>
<li>The metatile selection is no longer reset if it becomes invalid by changing the tileset. Invalid metatiles in the selection will be temporarily replaced with metatile 0.</li>
<li>Loading wild encounters will now properly preserve the original order, so saving the file will not give huge diffs.</li>
<li>Fix bug where the tile selection cursor could be toggld on in the Events tab.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/4.3.1...4.4.0">4.4.0</a> - 2020-12-20<aclass="headerlink"href="#id22"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id23">
<h3>Added<aclass="headerlink"href="#id23"title="Permalink to this headline">¶</a></h3>
<li>Add undoable edit history for Events tab.</li>
<li>Add keyboard shortcut for <codeclass="docutils literal notranslate"><spanclass="pre">DEL</span></code> key to delete the currently selected event(s).</li>
<li>Disable ui while there is no open project to prevent crashing.</li>
<li>Add “Straight Paths” feature for drawing straight lines while holding <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl</span></code>.</li>
<li>The New Map dialog now gives an option to specify the “Show Location Name” field.</li>
<li>Some new shortcuts were added in <aclass="reference external"href="https://github.com/huderlem/porymap/pull/290">porymap/#290</a>.</li>
<li>All plain text boxes now have a clear button to delete the text.</li>
<li>The window sizes and positions of the tileset editor, palette editor, and region map editor are now stored in <codeclass="docutils literal notranslate"><spanclass="pre">porymap.cfg</span></code>.</li>
<li>Add ruler tool for measuring metatile distance in events tab (Right-click to turn on/off, left-click to lock in place).</li>
<li>Add delete button to wild pokemon encounters tab.</li>
<li>Add shortcut customization via <codeclass="docutils literal notranslate"><spanclass="pre">Options</span><spanclass="pre">-></span><spanclass="pre">Edit</span><spanclass="pre">Shortcuts</span></code>.</li>
<li>Add custom text editor commands in <codeclass="docutils literal notranslate"><spanclass="pre">Options</span><spanclass="pre">-></span><spanclass="pre">Edit</span><spanclass="pre">Preferences</span></code>, a tool-button next to the <codeclass="docutils literal notranslate"><spanclass="pre">Script</span></code> combo-box, and <codeclass="docutils literal notranslate"><spanclass="pre">Tools</span><spanclass="pre">-></span><spanclass="pre">Open</span><spanclass="pre">Project</span><spanclass="pre">in</span><spanclass="pre">Text</span><spanclass="pre">Editor</span></code>. The tool-button will open the containing file to the cooresponding script.</li>
<li>Holding <codeclass="docutils literal notranslate"><spanclass="pre">shift</span></code> now toggles “Smart Path” drawing; when the “Smart Paths” checkbox is checked, holding <codeclass="docutils literal notranslate"><spanclass="pre">shift</span></code> will temporarily disable it.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/4.3.0...4.3.1">4.3.1</a> - 2020-07-17<aclass="headerlink"href="#id26"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id27">
<h3>Added<aclass="headerlink"href="#id27"title="Permalink to this headline">¶</a></h3>
<li>Add keyboard shortcut <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl</span><spanclass="pre">+</span><spanclass="pre">D</span></code> for duplicating map events.</li>
<li>Add keyboard shortcut <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl</span><spanclass="pre">+</span><spanclass="pre">Shift</span><spanclass="pre">+</span><spanclass="pre">Z</span></code> for “redo” in the tileset editor.</li>
<li>Add scripting api to reorder metatile layers and draw them with opacity.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/4.2.0...4.3.0">4.3.0</a> - 2020-06-27<aclass="headerlink"href="#id30"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id31">
<h3>Added<aclass="headerlink"href="#id31"title="Permalink to this headline">¶</a></h3>
<li>The “Open Scripts” button will fall back to <codeclass="docutils literal notranslate"><spanclass="pre">scripts.inc</span></code> if <codeclass="docutils literal notranslate"><spanclass="pre">scripts.pory</span></code> doesn’t exist.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/4.1.0...4.2.0">4.2.0</a> - 2020-06-06<aclass="headerlink"href="#id34"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id35">
<h3>Added<aclass="headerlink"href="#id35"title="Permalink to this headline">¶</a></h3>
<li>Reduce time it takes to load maps and save in the tileset editor.</li>
<li>Fix crash that could occur when parsing unknown symbols when evaluating <codeclass="docutils literal notranslate"><spanclass="pre">define</span></code> expressions.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/4.0.0...4.1.0">4.1.0</a> - 2020-05-18<aclass="headerlink"href="#id38"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id39">
<h3>Added<aclass="headerlink"href="#id39"title="Permalink to this headline">¶</a></h3>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/3.0.1...4.0.0">4.0.0</a> - 2020-04-28<aclass="headerlink"href="#id42"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id43">
<h3>Breaking Changes<aclass="headerlink"href="#id43"title="Permalink to this headline">¶</a></h3>
<li>If you are using pokeemerald or pokeruby, there were changes made in <aclass="reference external"href="https://github.com/pret/pokeemerald/pull/1010">pokeemerald/#1010</a> and <aclass="reference external"href="https://github.com/pret/pokeruby/pull/776">pokeruby/#776</a> that you will need to integrate in order to use this version of porymap.</li>
<li>Support for <aclass="reference external"href="https://github.com/pret/pokefirered">pokefirered</a>. Kanto fans rejoice! At long last porymap supports the FRLG decompilation project.</li>
<li>Add ability to export map stitches with <codeclass="docutils literal notranslate"><spanclass="pre">File</span><spanclass="pre">-></span><spanclass="pre">Export</span><spanclass="pre">Map</span><spanclass="pre">Stitch</span><spanclass="pre">Image...</span></code>.</li>
<li>Add new project config option <codeclass="docutils literal notranslate"><spanclass="pre">use_custom_border_size</span></code>.</li>
<li>Add ability to toggle project settings in <codeclass="docutils literal notranslate"><spanclass="pre">Options</span></code> menu.</li>
<li>Add file monitoring, so Porymap will prompt the user to reload the project if certain project files are modified outside of Porymap.</li>
<li>Add ability to reload project.</li>
<li>Add <codeclass="docutils literal notranslate"><spanclass="pre">Pencil</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">Move</span></code>, and <codeclass="docutils literal notranslate"><spanclass="pre">Map</span><spanclass="pre">Shift</span></code> tools to the Events tab.</li>
<li>Porymap now saves map and encounter json data in an order consistent with the upstream repos. This will provide more comprehensible diffs when files are saved.</li>
<li>Update Porymap icon.</li>
<li>The “Map” and “Events” tabs now render using the same view, so jumping between them is smooth.</li>
<li>Extend connection min and max offsets to player’s view boundary, rather than the map’s boundary.</li>
<li>Fix bug where pressing TAB key did not navigate through widgets in the wild encounter tables.</li>
<li>Fix bug that allowed selecting an invalid metatile in the metatile selector.</li>
<li>Don’t allow <codeclass="docutils literal notranslate"><spanclass="pre">.</span></code> or <codeclass="docutils literal notranslate"><spanclass="pre">-</span></code> characters in new tileset names.</li>
<li>Fix regression that prevented selecting empty region map squares</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/3.0.0...3.0.1">3.0.1</a> - 2020-03-04<aclass="headerlink"href="#id47"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id48">
<h3>Fixed<aclass="headerlink"href="#id48"title="Permalink to this headline">¶</a></h3>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/2.0.0...3.0.0">3.0.0</a> - 2020-03-04<aclass="headerlink"href="#id49"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id50">
<h3>Breaking Changes<aclass="headerlink"href="#id50"title="Permalink to this headline">¶</a></h3>
<li>pokeemerald and pokeruby both underwent a naming consistency update with respect to “object events”. As such, these naming changes break old versions of Porymap.<ul>
<li>Add optional support for Poryscript script files via the <codeclass="docutils literal notranslate"><spanclass="pre">use_poryscript</span></code> config option.</li>
<li>Selecting a group of metatiles from the map area now also copies the collision properties, too.</li>
<li>Add keyboard shortcut <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl</span><spanclass="pre">+</span><spanclass="pre">G</span></code> for toggling the map grid.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/1.2.2...2.0.0">2.0.0</a> - 2019-10-16<aclass="headerlink"href="#id54"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id55">
<h3>Breaking Changes<aclass="headerlink"href="#id55"title="Permalink to this headline">¶</a></h3>
<li>Accomodate event object graphics pointer table being explicitly indexed. From changes introduced in commits <aclass="reference external"href="https://github.com/pret/pokeemerald/commit/cdae0c1444bed98e652c87dc3e3edcecacfef8be">cdae0c1444bed98e652c87dc3e3edcecacfef8be</a> and <aclass="reference external"href="https://github.com/pret/pokeruby/commit/0e8ccfc4fd3544001f4c25fafd401f7558bdefba">0e8ccfc4fd3544001f4c25fafd401f7558bdefba</a>.</li>
<li>New “field” key in wild encounter JSON data from pokeemerald and pokeruby commits <aclass="reference external"href="https://github.com/pret/pokeemerald/commit/adb0a444577b59eb02788c782a3d04bc285be0ba">adb0a444577b59eb02788c782a3d04bc285be0ba</a> and <aclass="reference external"href="c73de8bed752ca538d90cfc93c4a9e8c7965f8c9">https://github.com/pret/pokeruby/commit/c73de8bed752ca538d90cfc93c4a9e8c7965f8c9</a>.</li>
<li>Support metatile labels file introduced in pokeruby and pokeemerald commits <aclass="reference external"href="https://github.com/pret/pokeruby/commit/ad365a35c1536740cbcbc10bee66e5dd908c39e7">ad365a35c1536740cbcbc10bee66e5dd908c39e7</a> and <aclass="reference external"href="https://github.com/pret/pokeemerald/commit/c68ba9f4e8e260f2e3389eccd15f6ee5f4bdcd3e">c68ba9f4e8e260f2e3389eccd15f6ee5f4bdcd3e</a>.</li>
<li>Add warning when closing porymap with unsaved changes.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/1.2.1...1.2.2">1.2.2</a> - 2019-05-16<aclass="headerlink"href="#id59"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id60">
<h3>Added<aclass="headerlink"href="#id60"title="Permalink to this headline">¶</a></h3>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/1.2.0...1.2.1">1.2.1</a> - 2019-02-16<aclass="headerlink"href="#id63"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id64">
<h3>Added<aclass="headerlink"href="#id64"title="Permalink to this headline">¶</a></h3>
<li>Fix crash when creating a new map from a layout that has no pre-existing maps that use it.</li>
<li>Fix bug where <codeclass="docutils literal notranslate"><spanclass="pre">var_value</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">trainer_type</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">trainer_sight_or_berry_tree_id</span></code> JSON fields were being interpreted as integers.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/1.1.0...1.2.0">1.2.0</a> - 2019-02-04<aclass="headerlink"href="#id66"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id67">
<h3>Breaking Changes<aclass="headerlink"href="#id67"title="Permalink to this headline">¶</a></h3>
<li>New JSON map data format in pokeemerald and pokeruby from commits <aclass="reference external"href="https://github.com/pret/pokeemerald/commit/82abc164dc9f6a74fdf0c535cc1621b7ed05318b">82abc164dc9f6a74fdf0c535cc1621b7ed05318b</a> and <aclass="reference external"href="https://github.com/pret/pokeruby/commit/a0ba1b7c6353f7e4f3066025514c05b323a0123d">a0ba1b7c6353f7e4f3066025514c05b323a0123d</a>.</li>
<li>Add “magic fill” mode to fill tool (hold down CTRL key). This fills all matching metatiles on the map, rather than only the contiguous region.</li>
<li>Add ability to export tileset tiles as indexed .png images. The currently-selected palette is used.</li>
<li>Restore window sizes the next time the application is opened.</li>
<li>Add ability to import metatiles from Advance Map 1.92 (.bvd files).</li>
<li>Add About window that contains porymap information and changelog. (Found in file menu <codeclass="docutils literal notranslate"><spanclass="pre">Help</span><spanclass="pre">></span><spanclass="pre">About</span><spanclass="pre">Porymap</span></code>)</li>
<li>Add option to show player’s in-game view when hovering the mouse on the map.</li>
<li>Add option to show an outline around the currently-hovered map tile. Its size depends on the size of the current metatile selection.</li>
<li>Add ability to define custom fields for map header and all events.</li>
<li>Collision view now has a transparency slider to help make it easier to view the underlying metatiles.</li>
<li>When importing tileset tiles from an image that is not indexed, the user can also provide a palette for the image. This is for the scenario where the user exports tiles and a palette from Advance Map.</li>
<li>When creating a new map, the user specifies all of the map properties in a new window prompt.</li>
<li>New maps can be created using existing layouts by right-clicking on an existing layout folder in the map list panel when sorted by “Layout”.</li>
<li>The map list panel now has “expand-all” and “collapse-all” buttons.</li>
<li>Events without sprites are now partially transparent so the underlying metatile can be seen. (Warps, signs, etc.)</li>
<li>Changed the Trainer checkbox to a combobox, since there are actually 3 valid values for the trainer type.</li>
<li>Multiline comments are now respected when parsing C defines.</li>
<li>The tiles image in the tileset editor will no longer flip according to the x/y flip checkboxes. The individual tile selection still flips, though.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/compare/1.0.0...1.1.0">1.1.0</a> - 2018-12-27<aclass="headerlink"href="#id71"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="id72">
<h3>Breaking Changes<aclass="headerlink"href="#id72"title="Permalink to this headline">¶</a></h3>
<li>New map header format in pokeemerald from commit <aclass="reference external"href="https://github.com/pret/pokeemerald/commit/a1ea3b5e394bc115ba9b86348c161094a00dcca7">a1ea3b5e394bc115ba9b86348c161094a00dcca7</a>.</li>
<li>Add <codeclass="docutils literal notranslate"><spanclass="pre">porymap.project.cfg</span></code> config file to project repos, in order to house project-specific settings, such as <codeclass="docutils literal notranslate"><spanclass="pre">base_game_version=pokeemerald</span></code>.</li>
<li>Write all logs to <codeclass="docutils literal notranslate"><spanclass="pre">porymap.log</span></code> file, so users can view any errors that porymap hits.</li>
<li>Add <codeclass="docutils literal notranslate"><spanclass="pre">porymap.cfg</span></code> base config file, rather than using built-in system settings (e.g. registry on Windows).</li>
<li>Properly read/write map headers for <codeclass="docutils literal notranslate"><spanclass="pre">pokeemerald</span></code>.</li>
<li>Overhauled event editing pane, which now contains tabs for each different event. Events of the same type can be iterated through using the spinner at the top of the tab. This makes it possible to edit events that are outside the viewing window.</li>
<li>Creating new hidden-item events now uses a valid default flag value.</li>
<li>Fix bug where tilesets were sometimes not displaying their bottom row of metatiles.</li>
<li>Fix bug where porymap crashes on startup due to missing map headers.</li>
<li>Fix tileset editor crash that only happened on macOS.</li>
<li>Fix minor bug when parsing C defines.</li>
<li>Write <codeclass="docutils literal notranslate"><spanclass="pre">MAP_GROUPS_COUNT</span></code> define to <codeclass="docutils literal notranslate"><spanclass="pre">maps.h</span></code>.</li>
<li>Fix bug where opening multiple projects and saving would cause junk to be written to <codeclass="docutils literal notranslate"><spanclass="pre">layouts_table.inc</span></code>.</li>
<h2><aclass="reference external"href="https://github.com/huderlem/porymap/tree/1.0.0">1.0.0</a> - 2018-10-26<aclass="headerlink"href="#id76"title="Permalink to this headline">¶</a></h2>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.