Skip to content

5.0.0

Compare
Choose a tag to compare
@huderlem huderlem released this 30 Oct 15:11
· 526 commits to master since this release

Breaking Changes

  • Proper support for pokefirered's clone objects was added, which requires the changes made in pokefirered/#484.
  • Warp IDs are now treated as strings, which requires the change to mapjson made in pokeemerald/#1755. Additionally MAP_NONE was renamed to MAP_DYNAMIC. Both changes also apply to pokefirered and pokeruby.
  • Many API functions which were previously accessible via the map object are now accessible via one of the new objects overlay, utility, or constants. Some functions were renamed accordingly. See porymap/#460 for a full list of API function name changes.
  • Arguments for the API function createImage have changed: xflip and yflip have been replaced with hScale and vScale, and offset has been replaced with xOffset and yOffset.
  • The API function addFilledRect has been removed; it's been replaced by new arguments in addRect: color has been replaced with borderColor and fillColor, and a new rounding argument allows ellipses to be drawn.

Added

  • Add prefab support
  • Add Cut/Copy/Paste for metatiles in the Tileset Editor.
  • Add button to copy the full metatile label to the clipboard in the Tileset Editor.
  • Add ability to export an image of the primary or secondary tileset's metatiles.
  • 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.
  • Add color picker to palette editor for taking colors from the screen.
  • 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.

Changed

  • Overhauled the region map editor, adding support for tilemaps, and significant customization. Also now supports pokefirered.
  • Previous settings will be remembered in the New Map Options window.
  • The Custom Attributes table for map headers and events now supports types other than strings.
  • If an object event is inanimate, it will always render using its first frame.
  • Unused metatile attribute bits are preserved instead of being cleared.
  • The wild encounter editor is automatically disabled if the encounter JSON data cannot be read
  • Metatiles are always rendered accurately with 3 layers, and the unused layer is not assumed to be transparent.
  • object_event_graphics_info.h can now be parsed correctly if it uses structs with attributes.
  • Tileset data in headers, graphics, and metatiles can now be parsed if written in C.
  • The amount of time it takes to render the event panel has been reduced, which is most noticeable when selecting multiple events at once.
  • The selection is no longer reset when pasting events. The newly pasted events are selected instead.
  • The currently selected event for each event group will persist between tabs.
  • An object event's sprite will now render if a number is specified instead of a graphics constant.
  • Palette editor ui is updated a bit to allow hex and rgb value input.
  • Heal location constants will no longer be deleted if they're not used in the data tables.
  • The heal location prefixes SPAWN_ and HEAL_LOCATION_ may now be used interchangeably.
  • The number and order of entries in the heal location data tables can now be changed arbitrarily, and independently of each other.
  • The metatile behavior is now displayed in the bottom bar mouseover text.
  • Number values are now allowed in the Tileset Editor's Metatile Behavior field.
  • Removed some unnecessary error logs from the scripting API and added new useful ones.
  • If any JSON data is the incorrect type Porymap will now attempt to convert it.

Fixed

  • Fix events losing their assigned script when the script autocomplete is used.
  • Fix the unsaved changes indicator not disappearing when saving changes to events.
  • Fix copy and paste for events not including their custom attributes.
  • Fix cursor tile outline not updating at the end of a dragged selection.
  • Fix cursor tile and player view outlines exiting map bounds while painting.
  • Fix cursor tile and player view outlines not updating immediately when toggled in Collision view.
  • Fix selected space not updating while painting in Collision view.
  • Fix collision values of 2 or 3 not rendering properly.
  • Fix the map tree view arrows not displaying for custom themes.
  • Fix the map music dropdown being empty when importing a map from Advance Map.
  • Fix object events added by pasting ignoring the map event limit.
  • Fix a bug where saving the tileset editor would reselect the main editor's first selected metatile.
  • Fix crashes / unexpected behavior if certain scripting API functions are given invalid palette or tile numbers.
  • Fix drawing large amounts of text with the scripting API causing a significant drop in performance.
  • Silence unnecessary error logging when parsing C defines Porymap doesn't use.
  • Fix some windows like the Tileset Editor not raising to the front when reactivated.
  • Fix incorrect limits on Floor Number and Border Width/Height in the New Map Options window.
  • Fix Border Width/Height being set to 0 when creating a new map from an existing layout.
  • Fix certain UI elements not highlighting red on some platforms.
  • Fix Open Config Folder not responding
  • Properly update the minimum offset for a connection when the map is changed.