<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.0.0...HEAD">Unreleased</a><aclass="headerlink"href="#unreleased"title="Permalink to this heading"></a></h2>
<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="#id1"title="Permalink to this heading"></a></h2>
<sectionid="breaking-changes">
<h3>Breaking Changes<aclass="headerlink"href="#breaking-changes"title="Permalink to this heading"></a></h3>
<li><p>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>.</p></li>
<li><p>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.</p></li>
<li><p>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.</p></li>
<li><p>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>.</p></li>
<li><p>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.</p></li>
<li><p>Add ability to export an image of the primary or secondary tileset’s metatiles.</p></li>
<li><p>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.</p></li>
<li><p>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.</p></li>
<li><p>The wild encounter editor is automatically disabled if the encounter JSON data cannot be read</p></li>
<li><p>Metatiles are always rendered accurately with 3 layers, and the unused layer is not assumed to be transparent.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">object_event_graphics_info.h</span></code> can now be parsed correctly if it uses structs with attributes.</p></li>
<li><p>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.</p></li>
<li><p>The amount of time it takes to render the event panel has been reduced, which is most noticeable when selecting multiple events at once.</p></li>
<li><p>Heal location constants will no longer be deleted if they’re not used in the data tables.</p></li>
<li><p>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.</p></li>
<li><p>The number and order of entries in the heal location data tables can now be changed arbitrarily, and independently of each other.</p></li>
<li><p>The metatile behavior is now displayed in the bottom bar mouseover text.</p></li>
<li><p>Number values are now allowed in the Tileset Editor’s Metatile Behavior field.</p></li>
<li><p>Removed some unnecessary error logs from the scripting API and added new useful ones.</p></li>
<li><p>If any JSON data is the incorrect type Porymap will now attempt to convert it.</p></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="#id2"title="Permalink to this heading"></a></h2>
<sectionid="id3">
<h3>Added<aclass="headerlink"href="#id3"title="Permalink to this heading"></a></h3>
<li><p>WSL project paths are now supported. (For example, \wsl$\Ubuntu-20.04\home\huderlem\pokeemerald)</p></li>
<li><p>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>.</p></li>
<li><p>Add tool to count the times each metatile or tile is used in the tileset editor.</p></li>
<li><p>Events, current metatile selections, and map images can now be copied and pasted, including between windows.</p></li>
<li><p>The grid and map border visibility are now saved as config options.</p></li>
<li><p>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.</p></li>
<li><p>Add 7 new scripting API callbacks.</p></li>
<li><p>Porymap is now compatible with Qt6.</p></li>
<li><p>Fix % operator in C defines not being evaluated</p></li>
<li><p>Fix tileset palette editor crash that could occur when switching maps or tilesets with it open.</p></li>
<li><p>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.</p></li>
<li><p>Loading wild encounters will now properly preserve the original order, so saving the file will not give huge diffs.</p></li>
<li><p>Fix bug where the tile selection cursor could be toggld on in the Events tab.</p></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="#id6"title="Permalink to this heading"></a></h2>
<sectionid="id7">
<h3>Added<aclass="headerlink"href="#id7"title="Permalink to this heading"></a></h3>
<li><p>Add undoable edit history for Events tab.</p></li>
<li><p>Add keyboard shortcut for <codeclass="docutils literal notranslate"><spanclass="pre">DEL</span></code> key to delete the currently selected event(s).</p></li>
<li><p>Disable ui while there is no open project to prevent crashing.</p></li>
<li><p>Add “Straight Paths” feature for drawing straight lines while holding <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl</span></code>.</p></li>
<li><p>The New Map dialog now gives an option to specify the “Show Location Name” field.</p></li>
<li><p>Some new shortcuts were added in <aclass="reference external"href="https://github.com/huderlem/porymap/pull/290">porymap/#290</a>.</p></li>
<li><p>All plain text boxes now have a clear button to delete the text.</p></li>
<li><p>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>.</p></li>
<li><p>Add ruler tool for measuring metatile distance in events tab (Right-click to turn on/off, left-click to lock in place).</p></li>
<li><p>Add delete button to wild pokemon encounters tab.</p></li>
<li><p>Add shortcut customization via <codeclass="docutils literal notranslate"><spanclass="pre">Options</span><spanclass="pre">-></span><spanclass="pre">Edit</span><spanclass="pre">Shortcuts</span></code>.</p></li>
<li><p>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.</p></li>
<li><p>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.</p></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="#id10"title="Permalink to this heading"></a></h2>
<sectionid="id11">
<h3>Added<aclass="headerlink"href="#id11"title="Permalink to this heading"></a></h3>
<li><p>Add keyboard shortcut <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl</span><spanclass="pre">+</span><spanclass="pre">D</span></code> for duplicating map events.</p></li>
<li><p>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.</p></li>
<li><p>Add scripting api to reorder metatile layers and draw them with opacity.</p></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="#id14"title="Permalink to this heading"></a></h2>
<sectionid="id15">
<h3>Added<aclass="headerlink"href="#id15"title="Permalink to this heading"></a></h3>
<li><p>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.</p></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="#id18"title="Permalink to this heading"></a></h2>
<sectionid="id19">
<h3>Added<aclass="headerlink"href="#id19"title="Permalink to this heading"></a></h3>
<li><p>Reduce time it takes to load maps and save in the tileset editor.</p></li>
<li><p>Fix crash that could occur when parsing unknown symbols when evaluating <codeclass="docutils literal notranslate"><spanclass="pre">define</span></code> expressions.</p></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="#id22"title="Permalink to this heading"></a></h2>
<sectionid="id23">
<h3>Added<aclass="headerlink"href="#id23"title="Permalink to this heading"></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="#id26"title="Permalink to this heading"></a></h2>
<sectionid="id27">
<h3>Breaking Changes<aclass="headerlink"href="#id27"title="Permalink to this heading"></a></h3>
<li><p>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.</p></li>
<li><p>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.</p></li>
<li><p>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>.</p></li>
<li><p>Add new project config option <codeclass="docutils literal notranslate"><spanclass="pre">use_custom_border_size</span></code>.</p></li>
<li><p>Add ability to toggle project settings in <codeclass="docutils literal notranslate"><spanclass="pre">Options</span></code> menu.</p></li>
<li><p>Add file monitoring, so Porymap will prompt the user to reload the project if certain project files are modified outside of Porymap.</p></li>
<li><p>Add ability to reload project.</p></li>
<li><p>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.</p></li>
<li><p>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.</p></li>
<li><p>Update Porymap icon.</p></li>
<li><p>The “Map” and “Events” tabs now render using the same view, so jumping between them is smooth.</p></li>
<li><p>Extend connection min and max offsets to player’s view boundary, rather than the map’s boundary.</p></li>
<li><p>Fix bug where pressing TAB key did not navigate through widgets in the wild encounter tables.</p></li>
<li><p>Fix bug that allowed selecting an invalid metatile in the metatile selector.</p></li>
<li><p>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.</p></li>
<li><p>Fix regression that prevented selecting empty region map squares</p></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="#id31"title="Permalink to this heading"></a></h2>
<sectionid="id32">
<h3>Fixed<aclass="headerlink"href="#id32"title="Permalink to this heading"></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="#id33"title="Permalink to this heading"></a></h2>
<sectionid="id34">
<h3>Breaking Changes<aclass="headerlink"href="#id34"title="Permalink to this heading"></a></h3>
<li><p>pokeemerald and pokeruby both underwent a naming consistency update with respect to “object events”. As such, these naming changes break old versions of Porymap.</p>
<li><p>Add optional support for Poryscript script files via the <codeclass="docutils literal notranslate"><spanclass="pre">use_poryscript</span></code> config option.</p></li>
<li><p>Selecting a group of metatiles from the map area now also copies the collision properties, too.</p></li>
<li><p>Add keyboard shortcut <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl</span><spanclass="pre">+</span><spanclass="pre">G</span></code> for toggling the map grid.</p></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="#id38"title="Permalink to this heading"></a></h2>
<sectionid="id39">
<h3>Breaking Changes<aclass="headerlink"href="#id39"title="Permalink to this heading"></a></h3>
<li><p>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>.</p></li>
<li><p>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>.</p></li>
<li><p>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>.</p></li>
<li><p>Add warning when closing porymap with unsaved changes.</p></li>
<li><p>Exporting map images is now more configurable. Events, connections, collision, etc. can be toggled on and off before exporting the image.</p></li>
<li><p>The entire Tileset Editor selection is now conveniently flipped when selecting x-flip or y-flip.</p></li>
<li><p>Autocomplete for porymap’s comboboxes no longer require typing the full string prefix.</p></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="#id43"title="Permalink to this heading"></a></h2>
<sectionid="id44">
<h3>Added<aclass="headerlink"href="#id44"title="Permalink to this heading"></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="#id47"title="Permalink to this heading"></a></h2>
<sectionid="id48">
<h3>Added<aclass="headerlink"href="#id48"title="Permalink to this heading"></a></h3>
<li><p>Fix crash when creating a new map from a layout that has no pre-existing maps that use it.</p></li>
<li><p>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.</p></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="#id50"title="Permalink to this heading"></a></h2>
<sectionid="id51">
<h3>Breaking Changes<aclass="headerlink"href="#id51"title="Permalink to this heading"></a></h3>
<li><p>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>.</p></li>
<li><p>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.</p></li>
<li><p>Add ability to export tileset tiles as indexed .png images. The currently-selected palette is used.</p></li>
<li><p>Restore window sizes the next time the application is opened.</p></li>
<li><p>Add ability to import metatiles from Advance Map 1.92 (.bvd files).</p></li>
<li><p>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>)</p></li>
<li><p>Add option to show player’s in-game view when hovering the mouse on the map.</p></li>
<li><p>Add option to show an outline around the currently-hovered map tile. Its size depends on the size of the current metatile selection.</p></li>
<li><p>Add ability to define custom fields for map header and all events.</p></li>
<li><p>Collision view now has a transparency slider to help make it easier to view the underlying metatiles.</p></li>
<li><p>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.</p></li>
<li><p>When creating a new map, the user specifies all of the map properties in a new window prompt.</p></li>
<li><p>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”.</p></li>
<li><p>The map list panel now has “expand-all” and “collapse-all” buttons.</p></li>
<li><p>Events without sprites are now partially transparent so the underlying metatile can be seen. (Warps, signs, etc.)</p></li>
<li><p>Changed the Trainer checkbox to a combobox, since there are actually 3 valid values for the trainer type.</p></li>
<li><p>Multiline comments are now respected when parsing C defines.</p></li>
<li><p>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.</p></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="#id55"title="Permalink to this heading"></a></h2>
<sectionid="id56">
<h3>Breaking Changes<aclass="headerlink"href="#id56"title="Permalink to this heading"></a></h3>
<li><p>New map header format in pokeemerald from commit <aclass="reference external"href="https://github.com/pret/pokeemerald/commit/a1ea3b5e394bc115ba9b86348c161094a00dcca7">a1ea3b5e394bc115ba9b86348c161094a00dcca7</a>.</p></li>
<li><p>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>.</p></li>
<li><p>Write all logs to <codeclass="docutils literal notranslate"><spanclass="pre">porymap.log</span></code> file, so users can view any errors that porymap hits.</p></li>
<li><p>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).</p></li>
<li><p>Properly read/write map headers for <codeclass="docutils literal notranslate"><spanclass="pre">pokeemerald</span></code>.</p></li>
<li><p>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.</p></li>
<li><p>Creating new hidden-item events now uses a valid default flag value.</p></li>
<li><p>Fix bug where tilesets were sometimes not displaying their bottom row of metatiles.</p></li>
<li><p>Fix bug where porymap crashes on startup due to missing map headers.</p></li>
<li><p>Fix tileset editor crash that only happened on macOS.</p></li>
<li><p>Fix minor bug when parsing C defines.</p></li>
<li><p>Write <codeclass="docutils literal notranslate"><spanclass="pre">MAP_GROUPS_COUNT</span></code> define to <codeclass="docutils literal notranslate"><spanclass="pre">maps.h</span></code>.</p></li>
<li><p>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>.</p></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="#id60"title="Permalink to this heading"></a></h2>