StepMania 3.9 StepMania 5.1-3 - Change Log

Player visible changes:


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.

Edit mode


The screen for picking a for edit mode has been completely reworked.

NoteField options

Other stuff

Player Options

Debug Menu

Key mapping


Themer visible changes:

Obsolete things removed

The lua config system explained in Docs/Themerdocs/ 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.


Old notefield and noteskin systems removed

Various metrics and functions removed while removing all traces of the old notefield and noteskin system. See Docs/Themerdocs/5.1_incompatibilities/ for details.

Other stuff


Item Scroller

Added item_params arg to item_scroller:create_actors. item_params is passed to each item when it is created.

Nesty Menus

Defective mode


OptionRows Deprecated

Bad for setting numbers

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.

Cannot handle dynamic menus

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.

Per-player menus handled poorly

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.

Negative version numbers

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.

- kyzentun