Skip to content

Commit 7a2e4bb

Browse files
2 parents 0718da2 + e2b1a1e commit 7a2e4bb

File tree

120 files changed

+6005
-2651
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+6005
-2651
lines changed

CHANGELOG.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,58 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project somewhat adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The MAJOR version number is bumped when there are **"Breaking Changes"** in the pret projects. For more on this, see [the manual page on breaking changes](https://huderlem.github.io/porymap/manual/breaking-changes.html).
66

77
## [Unreleased]
8-
Nothing, yet.
8+
### Added
9+
- Add `View > Show Unused Colors` to the Palette Editor.
10+
- Add `Tools > Find Color Usage` to the Palette Editor. This opens a dialog showing which metatiles use a particular color.
11+
- 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).
12+
- Add `View > Layer Arrangement` to the Tileset Editor, which changes whether the metatile layer view is oriented vertically (default) or horizontally.
13+
- Add an `Export Metatiles Image` option to the Tileset Editor that provides many more options for customizing metatile images.
14+
- Add an `Export Porytiles Layer Images` option to the Tileset Editor, which is a shortcut for individually exporting layer images that Porytiles can use.
15+
- Add an option under `Preferences` to include common scripts in the autocomplete for Script labels.
16+
- Add a setting under `Project Settings` to change the width of the metatile selectors.
17+
- Add versions of the API functions `[get|set]MetatileLayerOrder` and `[get|set]MetatileLayerOpacity` that work globally, rather than on individual layouts.
18+
- A link to Porymap's manual is now available under `Help`.
19+
20+
### Changed
21+
- The Player View Rectangle is now visible on the Events tab, as is the Cursor Tile Outline for certain tools.
22+
- When hovering over tiles in the Tileset Editor their palette and x/yflip are now listed alongside the tile ID.
23+
- The scroll position of the map view now remains the same between the Connections tab and the Map/Events tabs.
24+
- The Move tool now behaves more like a traditional pan tool (with no momentum).
25+
- The map image exporter now uses a checkered background to indicate transparency.
26+
- Invalid tile IDs are now rendered as magenta (like invalid metatiles), instead of rendering the same as a transparent tile.
27+
- While holding down `Ctrl` (`Cmd` on macOS) painting on the metatile layer view will now only change the tile's palette.
28+
- Full menu paths are now listed for shortcuts in the Shortcuts Editor.
29+
- 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.
30+
31+
### Fixed
32+
- Fix crash when rendering tiles with invalid palette numbers.
33+
- Fix crash when opening the Tileset Editor for tilesets with no metatiles.
34+
- Fix crash when changing the map/border size in certain API callbacks.
35+
- Fix metatile images exporting at 2x scale.
36+
- Fix display errors when a project's metatile limits are not divisible by 8.
37+
- Fix incorrect dividing line position for primary tiles images that are smaller than the maximum size.
38+
- Fix the checkered background of the `Change Dimensions` popup shifting while scrolling around.
39+
- Fix pasting Wild Pokémon data then changing maps resetting the pasted data.
40+
- Fix click-drag map selections behaving unexpectedly when the cursor is outside the map grid.
41+
- Fix events being dragged in negative coordinates lagging behind the cursor.
42+
- Fix the shortcut for duplicating events working while on the Connections tab.
43+
- Fix the Shortcuts Editor displaying the duplicate shortcut prompt repeatedly.
44+
- Fix the clear text button on the left in each row of the Shortcuts Editor also clearing the shortcut on the right.
45+
- Fix Undo/Redo ignoring the automatic resizing that occurs if a layout/border was an unexpected size.
46+
- Fix Undo/Redo in the Tileset and Palette Editors and Paste in the Tileset Editor appearing enabled even when they don't do anything.
47+
- Fix `Ctrl+Shift+Z` not being set as a default shortcut for Redo in the Palette Editor like it is for other windows.
48+
- Fix the Tileset Editor's status bar not updating while selecting tiles in the metatile layer view, or when pasting metatiles.
49+
- Fix the main window's status bar not immediately reflecting changes made while painting metatiles / movement permissions.
50+
- Fix cleared metatile labels not updating until the project is reloaded.
51+
- Fix some changes in the Tileset Editor being discarded if the window is closed too quickly.
52+
- Fix the Region Map Editor incorrectly displaying whether a `MAPSEC` has region map data.
53+
- Fix the Primary/Secondary Tileset selectors allowing invalid text, and considering a map unsaved if changed to invalid text then back again.
54+
- Fix broken error message for the primary tileset on the new map/layout dialogs.
55+
- Fix the dialog for duplicating/importing a map layout not allowing the tilesets to be changed.
56+
- Fix warning not appearing when the log file exceeds maximum size.
57+
- Fix possible lag while using the Tileset Editor's tile selector.
58+
- Fix unnecessary resources being used to watch files.
59+
- Fix possible crash on Linux if too many inotify instances are requested.
960

1061
## [6.1.0] - 2025-06-09
1162
### Added

docsrc/manual/scripting-capabilities.rst

Lines changed: 75 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ Porymap is extensible via scripting capabilities. This allows the user to write
1111
- Procedurally Generated Maps
1212
- Randomize Grass Patterns
1313

14+
.. note::
15+
If you are compiling Porymap yourself, these features will only be available if Qt's ``qml`` module is installed.
16+
1417

1518
Custom Scripts Editor
1619
---------------------
@@ -1222,6 +1225,58 @@ All tileset functions are callable via the global ``map`` object.
12221225
:returns: the pixel data
12231226
:rtype: array
12241227

1228+
.. |describe-metatile-layer-order|
1229+
replace:: where ``0`` is the bottom layer, ``1`` is the middle layer, and ``2`` is the top layer. The default order is ``[0, 1, 2]``
1230+
1231+
.. |describe-metatile-layer-order-handling|
1232+
replace:: If no elements are provided the layer order will be reset to the default. Any layer not listed in the provided ``order`` will not be rendered. Any additional elements after the first 3 are ignored
1233+
1234+
.. js:function:: map.getMetatileLayerOrder()
1235+
1236+
Gets the order that metatile layers are rendered for the current layout, |describe-metatile-layer-order|.
1237+
1238+
If you'd like to get the default metatile layer order for all layouts, see :js:func:`utility.getMetatileLayerOrder` instead.
1239+
1240+
:returns: array of layers
1241+
:rtype: array
1242+
1243+
.. js:function:: map.setMetatileLayerOrder(order)
1244+
1245+
Sets the order that metatile layers are rendered for the current layout, |describe-metatile-layer-order|.
1246+
1247+
|describe-metatile-layer-order-handling|.
1248+
1249+
If you'd like to set the default metatile layer order for all layouts, see :js:func:`utility.setMetatileLayerOrder` instead.
1250+
1251+
:param order: array of layers
1252+
:type order: array
1253+
1254+
.. |describe-metatile-layer-opacity|
1255+
replace:: where the first element is the bottom layer, the second element is the middle layer, and the third element is the top layer. The default opacities are ``[1.0, 1.0, 1.0]``
1256+
1257+
.. |describe-metatile-layer-opacity-handling|
1258+
replace:: Any additional elements after the first 3 are ignored. Any elements not provided will be rendered with opacity ``1.0``
1259+
1260+
.. js:function:: map.getMetatileLayerOpacity()
1261+
1262+
Gets the opacities that metatile layers are rendered with for the current layout, |describe-metatile-layer-opacity|.
1263+
1264+
If you'd like to get the default metatile layer opacities for all layouts, see :js:func:`utility.getMetatileLayerOpacity` instead.
1265+
1266+
:returns: array of opacities for each layer
1267+
:rtype: array
1268+
1269+
.. js:function:: map.setMetatileLayerOpacity(opacities)
1270+
1271+
Sets the opacities that metatile layers are rendered with for the current layout, |describe-metatile-layer-opacity|.
1272+
1273+
|describe-metatile-layer-opacity-handling|.
1274+
1275+
If you'd like to set the default metatile layer opacities for all layouts, see :js:func:`utility.setMetatileLayerOpacity` instead.
1276+
1277+
:param opacities: array of opacities for each layer
1278+
:type opacities: array
1279+
12251280
Overlay Functions
12261281
^^^^^^^^^^^^^^^^^
12271282

@@ -1811,30 +1866,42 @@ All settings functions are callable via the global ``utility`` object.
18111866

18121867
.. js:function:: utility.getMetatileLayerOrder()
18131868

1814-
Gets the order that metatile layers are rendered.
1869+
Gets the order that metatile layers are rendered by default, |describe-metatile-layer-order|.
18151870

1816-
:returns: array of layers. The bottom layer is represented as 0.
1871+
If you'd like to get the metatile layer order for only the current layout, see :js:func:`map.getMetatileLayerOrder` instead.
1872+
1873+
:returns: array of layers
18171874
:rtype: array
18181875

18191876
.. js:function:: utility.setMetatileLayerOrder(order)
18201877

1821-
Sets the order that metatile layers are rendered.
1878+
Sets the order that metatile layers are rendered by default, |describe-metatile-layer-order|.
1879+
1880+
|describe-metatile-layer-order-handling|.
18221881

1823-
:param order: array of layers. The bottom layer is represented as 0.
1882+
If you'd like to set the metatile layer order for only the current layout, see :js:func:`map.setMetatileLayerOrder` instead.
1883+
1884+
:param order: array of layers
18241885
:type order: array
18251886

18261887
.. js:function:: utility.getMetatileLayerOpacity()
18271888

1828-
Gets the opacities that metatile layers are rendered with.
1889+
Gets the opacities that metatile layers are rendered with by default, |describe-metatile-layer-opacity|.
1890+
1891+
If you'd like to get the metatile layer opacities for only the current layout, see :js:func:`map.getMetatileLayerOpacity` instead.
18291892

1830-
:returns: array of opacities for each layer. The bottom layer is the first element.
1893+
:returns: array of opacities for each layer
18311894
:rtype: array
18321895

18331896
.. js:function:: utility.setMetatileLayerOpacity(opacities)
18341897

1835-
Sets the opacities that metatile layers are rendered with.
1898+
Sets the opacities that metatile layers are rendered with by default, |describe-metatile-layer-opacity|.
1899+
1900+
|describe-metatile-layer-opacity-handling|.
1901+
1902+
If you'd like to set the metatile layer opacities for only the current layout, see :js:func:`map.setMetatileLayerOpacity` instead.
18361903

1837-
:param opacities: array of opacities for each layer. The bottom layer is the first element.
1904+
:param opacities: array of opacities for each layer
18381905
:type opacities: array
18391906

18401907

forms/mainwindow.ui

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1638,9 +1638,6 @@
16381638
</item>
16391639
<item row="1" column="0">
16401640
<widget class="QLabel" name="label_NoEvents">
1641-
<property name="text">
1642-
<string>There are no events on the current map.</string>
1643-
</property>
16441641
<property name="alignment">
16451642
<set>Qt::AlignmentFlag::AlignCenter</set>
16461643
</property>
@@ -2926,6 +2923,7 @@
29262923
<string>Help</string>
29272924
</property>
29282925
<addaction name="actionAbout_Porymap"/>
2926+
<addaction name="actionOpen_Manual"/>
29292927
<addaction name="actionOpen_Log_File"/>
29302928
<addaction name="actionOpen_Config_Folder"/>
29312929
<addaction name="actionCheck_for_Updates"/>
@@ -3267,6 +3265,11 @@
32673265
<string>Alt+Right</string>
32683266
</property>
32693267
</action>
3268+
<action name="actionOpen_Manual">
3269+
<property name="text">
3270+
<string>Open Manual</string>
3271+
</property>
3272+
</action>
32703273
</widget>
32713274
<layoutdefault spacing="6" margin="11"/>
32723275
<customwidgets>

0 commit comments

Comments
 (0)