StepMania 5.1.-3; release notes compiled and Markdown formatted by @kyzentun:
NoteSkins for 5.1 go in the NoteSkins folder now. NoteSkins made for 5.1.-2
will need trivial fixes before they work on 5.1.-3.
NoteSkins for 5.1.-3 and 5.0.x should be able to peacefully coexist.
Remember that NoteSkins for 5.1 go directly in the folder. They are not
separated by game type. If you put a NoteSkin for 5.1 inside
"NoteSkins/dance/", it won't show up.
The screen for picking a for edit mode has been completely reworked.
Screenshot key can be remapped.
Docs/Themerdocs/5.1_incompatibilities/ThemePrefs_removed.md
The lua config system explained in Docs/Themerdocs/lua_config_system.md
replaces ThemePrefs, UserPrefs, and GamePrefs. Having a single system for
handling custom preferences is easier for developers to maintain.
CustomSpeedMods was replaced by ArbitrarySpeedMods two years ago.
ArbitrarySpeedMods is an inferior version of the speed mod menu that is built
into the nesty menu system.
Various metrics and functions removed while removing all traces of the old notefield and noteskin system. See Docs/Themerdocs/5.1_incompatibilities/oldfield_removal_notes.md for details.
Added item_params arg to item_scroller:create_actors. item_params is passed
to each item when it is created.
OptionRows is based around picking from a list of choices, not changing a
number. So when a number needs to be changed, it's a mile long list of
choices, or a list that is too short to give everyone the needed precision.
Look at the mess speed mod choices went through.
The nesty menu system has an actor specifically for showing the current value
of the number being changed. Each item on the menu changes the value by
some amount.
The OptionRows menu system does not have the adaptability to handle dynamic
menus. The Noteskin Params menu is one example of a dynamic menu. It allows
the player to set options in the noteskin. Those options are created by the
noteskin, and can be different for every noteskin. So the menu must be
dynamically generated based on the noteskin the player has chosen. When there
are two players, they can choose different noteskins. Each player must have
their own noteskin params menu.
Dynamically generated menus is part of the core of the nesty menu system.
It is possible to set flags in an OptionRow to only allow one player to use
it, but this does not hide the row. The other player's cursor skips over the row.
This feels strange and confusing.
Each player has their own menu, on their own side of the screen in the nesty
menu system.
Just a random idea I had one day. "Alpha" or "beta" releases get a negative
patch version number to indicate that some things are incompatible with the
previous release, and some things might not be compatible with the next
release. Eventually there will be 5.1.0, and 5.1.1 after that won't break
anything more.