StepMania 5.1.0 Alpha 2

StepMania 5.1.0 Alpha 2; release notes compiled and Markdown formatted by @kyzentun:

Compiling:

Check the section on Compiling in the release notes for the previous 5.1.0 alpha release. Those instructions still apply.

Linux Fullscreen:

The backend for fullscreen mode on linux has been rewritten to allow control
over which display is used and whether stepmania uses exclusive mode.

NewField changes:

All themes use the NewField in gameplay now. The old NoteField actor does
not exist on gameplay anymore.

Compatibility mode:

NewField has a special mode to make it use the old PlayerOptions mods instead
of the mods that are built into it. Anything that touches the old
PlayerOptions mods will trigger the auto detection to put the field into
defective mode for that player.

Edit Mode:

If the beat bars are misaligned and the receptors are shaking when htting play in edit mode, something is triggering the defective mode detection in the NewField. Look for things that touch PlayerOptions and remove them if you're a themer.

NewSkin changes:

Noteskin parameters

This is a system for allowing a noteskin to provide choices to the player
that change the behavior of the noteskin. The noteskin creates some
variables and decides what to do with them, the theme provides a menu, and
the engine saves the parameters in the player's profile.

Other changes

  • Added support for 3D noteskins.
  • Added anim_time and anim_uses_beats for controlling how fast taps are
    animated.
  • Added quantum_time for controlling how many beats the quantizations are
    spread over. This should make is possible to make a noteskin where half
    notes look different from 4th notes.
  • Added edgy, EasyV2 and ExactV2 noteskins, which support dance, pump, and
    solo.
  • Removed rotations table from the column data. Set the rotation of the taps
    with InitCommand instead.
  • layers_above_notes and layers_below_notes fields merged into a single
    layers field. Each layer must set its draw order so the NewField knows
    when to render it. Each layer should also set its fade type and transform
    type so that the NewField knows which mods to apply to it.

Lifts:

Lifts are rendered with a hold body preceding them to give the player some
warning time. The length of the hold body defaults to .25 seconds or .25
beats, whichever puts it further away from the note. The hold body is purely
visual, it is not judged with a hold judgment.

Other NewField changes:

  • reverse_percent changed to reverse_scale to simplify reverse code.
  • Themers should reread Docs/Themerdocs/5.1_incompatibilities/NewField.md.

Player Options:

The default theme has a new Player Options screen designed to allow setting
all the NewField related options.

Other bug fixes:

  • Fixed bug that broke charts that had scroll segments but not other timing
    segments.

Themer visible changes:

CustomSpeedMods:

The CustomSpeedMods system that reads SpeedMods.txt from the profile is
deprecated and its load function is no longer called. Using CustomSpeedMods
or ArbitrarySpeedMods will trigger the defective mode auto detection.

GameState:

The ApplyGameCommand function has been removed. Everything that it did has
been possible through other functions for a year, so it's obsolete.

Item Scroller:

A lua based alternative to ActorScroller. Docs/Themerdocs/item_scroller.md.

Judgment/Combo:

The JudgmentUnderField and ComboUnderField metrics are no longer used. The
judgment and combo must set their draw order to control whether they are
under notes or not. The draw order for the judgment and combo works the same
as for a layer in the NewField. This allows players to choose different
settings for judge and combo placement.

Lua config system:

A lua based system for per-profile settings. Designed to save arbitrary lua
tables. Read Docs/Themerdocs/lua_config_system.md.

Notefield board:

Graphics/Notefield board is not loaded by NewField. Create
Graphics/Notefield layers instead, which returns a table of actors that are
rendered by draw order.

Graphics/NoteColumn layers is loaded by each column in the NewField and also
drawn in order of draw order.

PlayerState:

  • [F] get_read_bpm added.