Skip to content

Releases: huderlem/porymap

6.3.0

26 Dec 21:14

Choose a tag to compare

Added

  • Add option to sort Locations and Layouts lists by value, rather than alphabetically.
  • Add color space settings for exported images.
  • Add setting to disable the project loading screen.

Changed

  • Separate File > Duplicate Current Map/Layout into two options to allow duplicating the current layout when a map is open.
  • The name field now receives focus immediately for the new map/layout dialogs.
  • The middle mouse button can now be used to pan around the map views, rather than needing to select the Map Tool. This is a very convenient shortcut that matches popular image-editing programs.
    • Previously, the middle mouse button could be used as a shortcut with the pencil tool to switch to bucket-fill mode. This is now achieved using the Alt key.

Fixed

  • Fix crash when a painted tile selection goes out of bounds of the metatile layer view in the Tileset Editor.
  • Fix crash on older versions of Qt when reopening a project with certain windows open.
  • Fix potential crash when painting and the cursor leaves the map area.
  • Fix potential crash when changing maps with the Tileset Editor open.
  • Fix rare crash while quitting Porymap.
  • Fix Edit > Clear Map Entries in the Region Map Editor not saving the applied changes.
  • Fix Edit > Undo/Redo appearing enabled even when they don't do anything.
  • Fix Help > Open Manual being disabled when no project is open.
  • Fix new tilesets potentially overwriting data in an existing directory.
  • Fix exported images on macOS using a different color space than in Porymap.
  • Fix some INCBIN statements not being parsed correctly.
  • Fix excessive logging if Porymap fails to monitor all map files.
  • Fix map connections getting cut off in exported map images if they're on the same side as another short map connection.
  • Fix the project version check failing for some versions of git.
  • Fix some error highlights persisting after the error is resolved.
  • Fix the Layout/Tileset labels on the Metatiles panel disappearing if the panel is too narrow.

6.2.0

08 Aug 20:22

Choose a tag to compare

Added

  • Add View > Show Unused Colors to the Palette Editor.
  • Add Tools > Find Color Usage to the Palette Editor. This opens a dialog showing which metatiles use a particular color.
  • Add Edit > Swap Metatiles to the Tileset Editor. While in this mode, selecting two metatiles in the selector will swap their positions. When changes to the tilesets are saved these relocations will be applied to all layouts that use the relevant tileset(s).
  • Add View > Layer Arrangement to the Tileset Editor, which changes whether the metatile layer view is oriented vertically (default) or horizontally.
  • Add an Export Metatiles Image option to the Tileset Editor that provides many more options for customizing metatile images.
  • Add an Export Porytiles Layer Images option to the Tileset Editor, which is a shortcut for individually exporting layer images that Porytiles can use.
  • Add an option under Preferences to include common scripts in the autocomplete for Script labels.
  • Add a setting under Project Settings to change the width of the metatile selectors.
  • Add versions of the API functions [get|set]MetatileLayerOrder and [get|set]MetatileLayerOpacity that work globally, rather than on individual layouts.
  • A link to Porymap's manual is now available under Help.

Changed

  • The Player View Rectangle is now visible on the Events tab, as is the Cursor Tile Outline for certain tools.
  • When hovering over tiles in the Tileset Editor their palette and x/yflip are now listed alongside the tile ID.
  • The scroll position of the map view now remains the same between the Connections tab and the Map/Events tabs.
  • The Move tool now behaves more like a traditional pan tool (with no momentum).
  • The map image exporter now uses a checkered background to indicate transparency.
  • Invalid tile IDs are now rendered as magenta (like invalid metatiles), instead of rendering the same as a transparent tile.
  • While holding down Ctrl (Cmd on macOS) painting on the metatile layer view will now only change the tile's palette.
  • Full menu paths are now listed for shortcuts in the Shortcuts Editor.
  • Adding new event data to a map that has a shared_events_map will now remove the shared_events_map, rather than discard the event data.

Fixed

  • Fix crash when rendering tiles with invalid palette numbers.
  • Fix crash when opening the Tileset Editor for tilesets with no metatiles.
  • Fix crash when changing the map/border size in certain API callbacks.
  • Fix metatile images exporting at 2x scale.
  • Fix display errors when a project's metatile limits are not divisible by 8.
  • Fix incorrect dividing line position for primary tiles images that are smaller than the maximum size.
  • Fix the checkered background of the Change Dimensions popup shifting while scrolling around.
  • Fix pasting Wild Pokémon data then changing maps resetting the pasted data.
  • Fix click-drag map selections behaving unexpectedly when the cursor is outside the map grid.
  • Fix events being dragged in negative coordinates lagging behind the cursor.
  • Fix the shortcut for duplicating events working while on the Connections tab.
  • Fix the Shortcuts Editor displaying the duplicate shortcut prompt repeatedly.
  • Fix the clear text button on the left in each row of the Shortcuts Editor also clearing the shortcut on the right.
  • Fix Undo/Redo ignoring the automatic resizing that occurs if a layout/border was an unexpected size.
  • Fix Undo/Redo in the Tileset and Palette Editors and Paste in the Tileset Editor appearing enabled even when they don't do anything.
  • Fix Ctrl+Shift+Z not being set as a default shortcut for Redo in the Palette Editor like it is for other windows.
  • Fix the Tileset Editor's status bar not updating while selecting tiles in the metatile layer view, or when pasting metatiles.
  • Fix the main window's status bar not immediately reflecting changes made while painting metatiles / movement permissions.
  • Fix cleared metatile labels not updating until the project is reloaded.
  • Fix some changes in the Tileset Editor being discarded if the window is closed too quickly.
  • Fix the Region Map Editor incorrectly displaying whether a MAPSEC has region map data.
  • Fix the Primary/Secondary Tileset selectors allowing invalid text, and considering a map unsaved if changed to invalid text then back again.
  • Fix broken error message for the primary tileset on the new map/layout dialogs.
  • Fix the dialog for duplicating/importing a map layout not allowing the tilesets to be changed.
  • Fix warning not appearing when the log file exceeds maximum size.
  • Fix possible lag while using the Tileset Editor's tile selector.
  • Fix unnecessary resources being used to watch files.
  • Fix possible crash on Linux if too many inotify instances are requested.

6.1.0

09 Jun 19:01

Choose a tag to compare

Added

  • Add settings to change the application font and the map list font.

Changed

  • The scale of the map can now be changed while resizing the map.

Fixed

  • Fix duplicated maps writing the wrong name.
  • Fix small maps being difficult to see while resizing.
  • Fix the map border sometimes not updating to reflect changes.
  • Fix expressions using the prefix '0X' as opposed to '0x' not being recognized as hex numbers.
  • Fix certain characters not writing correctly to JSON files.
  • Fix all map.json files being added to the file watcher at launch.
  • Fix files sometimes being removed from the file watcher if they're deleted as part of a write.
  • Fix porymap.cfg and porymap.shortcuts.cfg writing outside the pret/porymap folder.

6.0.0

27 May 15:39

Choose a tag to compare

Breaking Changes

Added

  • Redesigned the map list, adding new features including opening/editing layouts with no associated map, editing the names of map groups, rearranging maps and map groups, and hiding empty folders.
  • Add a drop-down for changing the layout of the currently opened map.
  • Add an option to duplicate maps/layouts.
  • Redesigned the Connections tab, adding new features including the option to open or display diving maps and a list UI for easier edit access.
  • Add a Close Project option
  • Add a search button to the Wild Pokémon tab that shows the encounter data for a species across all maps.
  • Add charts to the Wild Pokémon tab that show species and level distributions for the current map.
  • Add options for customizing the map grid under View -> Grid Settings.
  • Add an option to display Event sprites while editing the map.
  • Add an option to display a dividing line between tilesets in the Tileset Editor.
  • Add an input field to the Tileset Editor for editing the full metatile attributes value directly, including unused bits.
  • An alert will be displayed when attempting to open a seemingly invalid project.
  • Add support for defining project values with enum where #define was expected.
  • Add support for referring to object events and warps with named IDs, rather than referring to them with their index number.
  • Add a setting to specify the tile values to use for the unused metatile layer.
  • Add a setting to specify the maximum number of events in a group. A warning will be shown if too many events are added.
  • Add a setting to customize the size and position of the player view distance.
  • Add onLayoutOpened to the scripting API.
  • Add a splash loading screen for project openings.
  • Add Back/Forward buttons for navigating to previous maps or layouts.

Changed

  • Change Dimensions now has an interactive resizing rectangle.
  • Redesigned the new map dialog, including better error checking and a collapsible section for header data.
  • New maps/layouts are no longer saved automatically, and can be fully discarded by closing without saving.
  • Map groups and MAPSEC names specified when creating a new map will be added automatically if they don't already exist.
  • Custom fields in JSON files that Porymap writes are no longer discarded.
  • Edits to map connections now have Undo/Redo and can be viewed in exported timelapses.
  • Changes to the "Mirror to Connecting Maps" setting will now be saved between sessions.
  • A notice will be displayed when attempting to open the "Dynamic" map, rather than nothing happening.
  • The base game version is now auto-detected if the project name contains only one of "emerald", "firered/leafgreen", or "ruby/sapphire".
  • It's now possible to cancel quitting if there are unsaved changes in sub-windows.
  • The triple-layer metatiles setting can now be set automatically using a project constant.
  • Export Map Stitch Image and Export Map Timelapse Image now show a preview of the full image/gif, not just the current map.
  • Custom Attributes tables now display numbers using spin boxes. The type column was removed, because value's type is now obvious.
  • Unrecognized map names in Event or Connections data will no longer be overwritten.
  • It's now possible to click on an event's sprite even if a different event's rectangle is overlapping it. The old selection behavior is available via a new setting.
  • Reduced diff noise when saving maps.
  • Map names and MAP_NAME constants are no longer required to match.
  • Porymap will no longer overwrite include/constants/map_groups.h or include/constants/layouts.h.
  • Primary/secondary metatile images are now kept on separate rows, rather than blending together if the primary size is not divisible by 8.
  • The prompt to reload the project when a file has changed will now only appear when Porymap is the active application.
  • Script dropdowns now autocomplete only with scripts from the current map, rather than every script in the project. The old behavior is available via a new setting.
  • Script dropdowns now update automatically if the current map's scripts file is edited.
  • The options for Encounter Type and Terrain Type in the Tileset Editor are not hardcoded anymore, they're now read from the project.
  • The symbol_wild_encounters setting was replaced; this value is now read from the project.
  • The max encounter rate is now read from the project, rather than assuming the default value from RSE.
  • MAP_OFFSET_W and MAP_OFFSET_H (used to limit the maximum map size) are now read from the project.
  • The rendered area of the map border is now limited to the maximum player view distance (prior to this it included two extra rows on the top and bottom).
  • Right-clicking on the border metatiles image will now select that metatile.
  • An error message will now be shown when Porymap is unable to save changes (e.g. if Porymap doesn't have write permissions for your project).
  • Error and warning logs are now displayed in the status bar. This can be changed with a new setting.
  • A project may now be opened even if it has no maps or map groups. A minimum of one map layout is required.
  • The file extensions that are expected for .png and .pal data files and the extensions outputted when creating a new tileset can now be customized.
  • Miscellaneous performance improvements, especially for opening projects.

Fixed

  • Fix Add Region Map... not updating the region map settings file.
  • Fix some crashes on invalid region map tilesets.
  • Improve error reporting for invalid region map editor settings.
  • Fix the region map editor's palette resetting between region maps.
  • Fix the region map editor's h-flip and v-flip settings being swapped.
  • Fix config files being written before the project is opened successfully.
  • Fix the map and other project info still displaying if a new project fails to open.
  • Fix unsaved changes being ignored when quitting (such as with Cmd+Q on macOS).
  • Fix selections with multiple events not always clearing when making a new selection.
  • Fix the new event button not updating correctly when selecting object events.
  • Fix duplicated Hidden Item events not copying the Requires Itemfinder field.
  • Fix event sprites disappearing in certain areas outside the map boundaries.
  • Fix deselecting an event still allowing you to drag the event around.
  • Fix events rendering on top of the ruler at very high y values.
  • Fix new map names not appearing in event dropdowns that have already been populated.
  • Fix About porymap opening a new window each time it's activated.
  • Fix the Edit History window not raising to the front when reactivated.
  • New maps are now always inserted in map dropdowns at the correct position, rather than at the bottom of the list until the project is reloaded.
  • Fix species on the wild pokémon tab retaining icons from previously-opened projects.
  • Fix invalid species names clearing from wild pokémon data when revisited.
  • Fix editing wild pokémon data not marking the map as unsaved.
  • Fix editing an event's Custom Attributes not marking the map as unsaved.
  • Fix changes to map connections not marking connected maps as unsaved.
  • Fix numerous issues related to connecting a map to itself.
  • Fix incorrect map connections getting selected when opening a map by double-clicking a map connection.
  • Fix a visual issue when quickly dragging map connections around.
  • Fix map connections rendering incorrectly if their direction name was unknown.
  • Fix map connections rendering incorrectly if their dimensions were smaller than the border draw distance.
  • Fix metatile/collision selection images skewing off-center after opening a map from the Connections tab.
  • Fix the map list filter retaining text between project open/close.
  • Fix the map list mishandling value gaps when sorting by Area.
  • Fix a freeze on startup if project values are defined with mismatched parentheses.
  • Fix stitched map images sometimes rendering garbage
  • Fix the Reset button on Export Map Timelapse Image not resetting the Timelapse settings.
  • Fix events in exported map stitch images being occluded by neighboring maps.
  • Fix the map connections in exported map images coming from the map currently open in the editor, rather than the map shown in the export window.
  • Fix crash when exporting a map stitch image if a map fails to load.
  • Fix possible crash when exporting a timelapse that has events edit history.
  • Fix exported timelapses excluding pasted events and certain map size changes.
  • Fix exporting a timelapse sometimes altering the state of the current map's edit history.
  • Stop sliders in the Palette Editor from creating a bunch of edit history when used.
  • Fix scrolling on some containers locking up when the mouse stops over a spin box or combo box.
  • Fix the selection index for some combo boxes differing from their displayed text.
  • Fix some file dialogs returning to an incorrect window when closed.
  • Fix bug where reloading a layout would overwrite all unsaved changes.
  • Fix bug where layout json and blockdata could be saved separately leading to inconsistent data.
  • Fix crash when saving tilesets with fewer palettes than the maximum.
  • Fix projects not opening on Windows if the project filepath contains certain characters.
  • Fix custom project filepaths not converting Windows file separators.
  • Fix exported tile images containing garbage pixels after the end of the tiles.
  • Fix fully transparent pixels rendering with the incorrect color.
  • Fix the values for some config fields shuffling their order every save.
  • Fix keys in Custom Attributes disappearing if given an empty name or the name of an existing field.
  • Fix some problems with tileset detection when importin...
Read more

qt-static-6.9.0-windows

19 May 00:05
825cd51

Choose a tag to compare

Pre-compiled static QT 6.9.0 Windows artifacts used for CI pipeline.

5.4.1

21 Mar 19:45

Choose a tag to compare

Fixed

  • Fix object event sprites not loading for some struct data formats.

5.4.0

13 Feb 21:48

Choose a tag to compare

Added

  • Add a Check for Updates option to show new releases (Windows and macOS only).

Changed

  • If Wild Encounters fail to load they are now only disabled for that session, and the settings remain unchanged.
  • Defaults are used if project constants are missing, rather than failing to open the project or changing settings.
  • Selector images now center on the selection when eyedropping or zooming.

Fixed

  • Fix some minor visual issues with the various zoom sliders.
  • Smooth out scrolling when mouse is over tile/metatile images.
  • Fix the Tileset Editor selectors getting extra white space when changing tilesets.
  • Fix a crash when adding disabled events with the Pencil tool.
  • Fix error log about failing to find the scripts file when a new map is created.

5.3.0

15 Jan 22:35

Choose a tag to compare

Added

  • Add zoom sliders to the Tileset Editor.
  • Add getMetatileBehaviorName and setMetatileBehaviorName to the API.
  • Add metatile_behaviors, num_primary_palettes, and num_secondary_palettes to constants in the API.

Changed

  • Metatile ID strings are now padded to their current max, not the overall max.
  • Non-existent directories are now removed from the Open Recent Project menu.
  • Hovering on the layer view in the Tileset Editor now displays the tile ID.
  • Labels in the Script dropdown are now sorted alphabetically.
  • The name of the Heal Locations table is no longer enforced.
  • The API functions addImage and createImage now support project-relative paths.

Fixed

  • Fix the metatile selector rectangle jumping when selecting up or left of the origin.
  • Fix the event group tabs sometimes showing an event from the wrong group.
  • Fix the clear buttons in the Shortcuts Editor not actually removing shortcuts.
  • Fix slow speed for the script label autcomplete.
  • Fix deleted script labels still appearing in the autocomplete after project reload.
  • Fix the map search bar stealing focus on startup.
  • Fix border metatiles view not resizing properly.
  • Fix Open Recent Project not clearing the API overlay
  • Fix API error reporting.

5.2.0

02 Jan 20:27

Choose a tag to compare

Added

  • Add an editor window under Options -> Project Settings... to customize the project-specific settings in porymap.project.cfg and porymap.user.cfg.
  • Add an editor window under Options -> Custom Scripts... for Porymap's API scripts.
  • Add an Open Recent Project menu
  • Add a warning to warp events if they're on an incompatible metatile behavior.
  • Add settings for custom images, including the collision graphics, default event icons, and pokémon icons.
  • Add settings to override any symbol or macro names Porymap expects to find.
  • Add a zoom slider to the Collision tab.
  • Add toggleable grids to the Tileset Editor.
  • Support for custom metatile ID, collision, and elevation data sizes.
  • Support for 8bpp tileset tile images.

Changed

  • Script dropdowns now include scripts from the current map's scripts file.
  • Encounter Rate now defaults to the most commonly used value, rather than 0.
  • The Collision tab now allows selection of any valid elevation/collision value.
  • The Palette Editor now remembers the Bit Depth setting.
  • The min/max levels on the Wild Pokémon tab will now adjust automatically if they invalidate each other.
  • If the recent project directory doesn't exist Porymap will open an empty project instead of failing with a misleading error message.
  • Settings under Options were relocated either to the Preferences window or Options -> Project Settings.
  • Secret Base and Weather Trigger events are automatically disabled if their respective constants files fail to parse, instead of not opening the project.
  • 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.
  • The bits in metatile attribute masks are now allowed to be non-contiguous.
  • Porymap will now attempt to read metatile attribute masks from the project.

Fixed

  • Fix text boxes in the Palette Editor calculating color incorrectly.
  • Fix metatile labels being sorted incorrectly for tileset names with multiple underscores.
  • Fix default object sprites retaining dimensions and transparency of the previous sprite.
  • Fix connections not being deleted when the map name text box is cleared.
  • Fix the map border not updating when a tileset is changed.
  • Improve the poor speed of the API functions setMetatileTile and setMetatileTiles.
  • Stop the Tileset Editor from scrolling to the initially selected metatile when saving.
  • Fix 0x0/NULL appearing more than once in the scripts dropdown.
  • Fix the selection outline sticking in single-tile mode on the Prefab tab.
  • Fix heal location data being cleared if certain spaces aren't used in the table.
  • Fix bad URL color contrast on dark themes.
  • Fix some issues when too few/many pokémon are specified for a wild encounter group.
  • Fix Porymap reporting errors for macros it doesn't use.
  • Fix painting on the Collision tab with the opacity slider at 0 painting metatiles.
  • Fix crashes when File->Reload Project fails.
  • Fix overworld sprite facing directions if spritesheet has vertical layout.
  • Stop reporting Error: Interrupted for custom scripts during project reopen

5.1.1

21 Feb 00:46

Choose a tag to compare

Added

  • Add registerToggleAction to the scripting API

Changed

  • Change encounter tab copy and paste behavior.
  • A warning will appear if a custom script fails to load or an action fails to run.

Fixed

  • Fix null characters being unpredictably written to some JSON files.
  • Fix tilesets that share part of their name loading incorrectly.
  • Fix events being hidden behind connecting maps.
  • Metatile labels with values defined outside their tileset are no longer deleted.
  • Fix the Tileset Editor retaining edit history after changing tilesets.
  • Fix some minor visual issues on the Connections tab.
  • Fix bug which caused encounter configurator to crash if slots in fields containing groups were deleted.
  • Fix bug which caused encounter configurator to crash if last field was deleted.
  • Fix map render when collision view was active while map changed.
  • Fix the updated pokefirered region map graphics appearing in grayscale.
  • Fix the API function registerAction not correctly handling actions with the same name.