StepMania 5 Changelog
________________________________________________________________________________
The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes
from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt.
________________________________________________________________________________

2015/06/10
----------
* [global] get_music_file_length lua function added. [kyzentun]
  multiapproach lua function now takes an optional 4th argument to multiply
  the speeds by. [kyzentun]
* [NoteDisplay] 1px seam in hold cap rendering fixed. [A.C/waiei]
* [RageSound] get_length lua function added. [kyzentun]

2015/06/06
----------
* [ScreenInitialScreenIsInvalid] Error screen for themes that set an invalid
  initial screen. [kyzentun]

2015/06/05
----------
* [global] update_centering lua function exposed. [kyzentun]
* [ScreenOverscanConfig] New screen in _fallback for interactively adjusting
  the preferences that already existed for dealing with overscan. [kyzentun]
* [Actor] BlendMode_Subtract no longer crashes on the d3d renderer.  It does
  not do subtraction blending correctly, this just prevents the crash.
  [kyzentun]

2015/06/03
----------
* [Actor] bounce and bob effects no longer round pixel coords. [kyzentun]
* [RageFile] Exposed Flush function to Lua. [kyzentun]

2015/05/29
----------
* [OptionsList] The OptionsListQuickChange, OptionsListLeft, and
  OptionsListRight messages now have a Selection parameter that has the id of
  the selection the player moved to. [nixtrix]

2015/05/24
----------
* [Gameplay] Autokeysounds are no longer twice as loud when playing
  keysounded charts with two players. [nixtrix]

2015/05/15
----------
* [BMS] .lua files defined in the #BMP tags now work as BG animations, and the
  #difficulty tag is now supported. [nixtrix]
* [general] BackInEventMode code now works when called from either player.
  [nixtrix]
* [cmake] JACK is now properly found by CMake.
* [theme] Preview music fadeout time is now adjustable by the metric
  SampleMusicFadeoutSeconds. [nixtrix]
* [Song] Setting a sample length of 0 uses the length of the entire preview
  file. [nixtrix]

================================================================================
StepMania 5.0.8 | 20150510
--------------------------------------------------------------------------------

2015/05/10
----------
* [General] Screenshots are not tagged with song title or screen name because
  this causes problems when titles have UTF8 or slashes. [kyzentun]

2015/05/09
----------
* [general] Workaround for the axis problem added.  Set the Axis Fix
  preference under Input Options to true if you have the axis problem.
  [Fighter19]
* [general] Added XML to Lua converter.  See Docs/Themerdocs/XmlToLua.txt for
  details. [kyzentun]

2015/05/08
----------
* [compiling] Added -DWITH_CRYSTALHD_DISABLED cmake options to allow more
  users to build on Linux. [wolfman2000]

2015/05/05
----------
* [Gameplay] Holding Select on gameplay now skips the current song in course
  or endless mode. [kyzentun]

2015/04/30
----------
* [beat] Default key configuration slightly tweaked, space is now the
  default scratch key, key7 is now mapped to right instead of key3.
  Backwards and shuffle chart mods now ignore the scratch column. [jobn]

2015/04/27
----------
* [general] "Do not show again" button on missing texture dialog works now.
  If the background or banner file for a song doesn't exist when the song is
  cached, the cache file will have a blank path so Stepmania won't try to
  load the nonexistent banner or background.

2015/04/25
----------
* [General] Screenshot key now checks whether there is a current song, and
  puts the song title and current screen name in the screenshot filename. [kyzentun]

2015/04/24
----------
* [Gameplay] Toasty animation can now occur multiple times during gameplay. [kyzentun]

2015/04/23
----------
* [ServiceMenu] Entries in service menu rearranged to hopefully organize them
  better.  ScreenOptionsInputSub and ScreenOptionsDisplaySub added.  Updating
  a theme to show the options for the new screens should be a simple matter of
  changing the LineNames entry for ScreenOptionsService to include
  "InputOptions" and "SoundGraphics". [tuxdude]

2015/04/18
----------
* [EditMode] Fixed bug that made alter menu choices prompt for clearing. [kyzentun]
* [NoteColumnRenderer] Added handling for diffuse and glow to make rainbow
  and related effects work. [kyzentun]

2015/04/15
----------
* [compiling] -DWITH_LIBVA option added to cmake building to fix compiling
  problems for some linux users. [wolfman2000]

2015/04/14
----------
* [SelectMusic] Disabled late join on Extra Stage to prevent crash on
  Evaluation Summary. [kyzentun]

2015/04/13
----------
* [EditMode] Fixed Revert From Disk to actually work. [kyzentun]
* [japanese] Language update from hanubeki. [hanubeki]

2015/04/11
----------
* [dev] cpack support for installing. [wolfman2000]
* [TimingData] Fixed bug that made steps on the same row as a stop and a bpm
  change unhittable. [kyzentun]

2015/04/10
----------
* [Profile] Kluged together a fix for scores on edit charts not being loaded
  until after the chart is played. [kyzentun]

2015/04/08
----------
* [ActorSound] IsAction attribute added.  get/set_is_action functions added.
  [kyzentun]
* [GameSoundManager] is_action arg added to PlayOnce. [kyzentun]

2015/04/06
----------
* [global] rec_print_children and rec_print_table lua functions added to
  _fallback. [kyzentun]
* [Language] Dutch translation updated. [Thumbsy]
* [RadarValues] Stream, Voltage, Air, Freeze, and Chaos are no longer capped
  at 1.  Stream and Voltage no longer count hold heads twice.
  RadarCategory_Notes added, which counts all notes.
  Scoring bug fixes related to radar calculation. [kyzentun]
* [ScreenSelectGame] Exit option returns to ScreenOptionsService unless the
  game type actually changed. [Wallacoloo]

2015/04/04
----------
* [EditMode] Added submenus to the timing edit menu to allow shifting,
  copying, and pasting any or all timing segments in the selected region or
  after the current cursor position. [kyzentun]
  Shifting menus in edit mode now have choices for 1, 2, or 4 measures or 2
  beats. [kyzentun]
* [global] Fixed crash on OS X for certain dance pads when in Japanese
  locale. [Wallacoloo]

2015/04/03
----------
* [ScreenGameplay] The NoteField board is now underneath everything except
  the backgound.  This means underneath any custom actors on the underlay or
  overlay or decoration layers, and also underneath the combo/judgment even
  when the ComboUnderField metric is true. [kyzentun]
  Fixed bug in screen filter in default theme that made it not appear under
  the field when a solo file was played without Center1Player. [kyzentun]

2015/04/02
----------
* [global] commify function exposed to lua. [kyzentun]

================================================================================
StepMania 5.0.7 | 20150401
--------------------------------------------------------------------------------

2015/03/30
----------
* [Select Music] Ctrl+Shift+R mapped to reload the current song. [kyzentun]
* [Song] ReloadFromSongDir lua function exposed. [kyzentun]
* [Preferences] NeverCacheList preference added.  It's a comma separated
  list of group names, if a song is in one of the named groups, it is never
  cached. [kyzentun]

2015/03/27
----------
* [Select Music] Ability to delete the current song by pressing Ctrl+Backspace added. [Wallacoloo]

2015/03/24
----------
* [Sprite/RageTexture] GetTexturePath moved to RageTexture and renamed to
  GetPath. [kyzentun]

2015/03/22
----------
* [Dev] Primary build method of all platforms changed to CMake.  People
  building from source must install CMake (min 2.8.12) and read
  Build/README.md for building instructions. [wolfman2000]

2015/03/18
----------
* [OSX] Empty Stepmania directory created on desktop removed. [dguzek]

2015/03/17
----------
* [ActorFrameTexture] Example added to Themerdocs/Examples/Example_Actors/.
  Crash fixes for AFTs. [sigatrev]

2015/03/15
----------
* [Sprite] GetTexturePath added. [kyzentun]

2015/03/12
----------
* [Language] Docs/Changelog_language.txt added for tracking language changes.

=======
================================================================================
StepMania 5.0.7rc | 20150309
--------------------------------------------------------------------------------

2015/03/09
----------
* [EditMode] Autosave every 5 minutes added. [kyzentun]
* [General] NotesLoaderSM, NotesLoaderSSC, IniFile::ReadFile rewritten,
  load times substantially faster. [kyzentun]
* [Preference] HarshHotLifePenalty preference added, for toggling whether
  LifeMeterBar takes away .1 life when it's full. [kyzentun]

2015/03/08
----------
* [EditMode] Clearing an area now prompts for confirmation if it contains
  EditClearPromptThreshold notes or more.  EditClearPromptThreshold is a
  preference that can be set in the Advanced Options section, or in the
  options in Edit Mode. [kyzentun]

2015/03/05
----------
* [Graphics] DX9 support improved, giving a large speed boost and fixing the
  problem that made people get stuck with 16bit color. [xwidghet]

2015/03/04
----------
* [Loading] The song length from the cache is used now.  This cut loading time
  by 30% for kyz. [kyzentun]

2015/03/02
----------
* [Song] Per-chart music feature added.  Each chart can have a MUSIC tag.
  [kyzentun]

2015/03/01
----------
* [SelectMusic] Select Music now plays music file named by #PREVIEW tag if
  it's not blank, instead of using the song file for the sample music.  The
  sample length is read from the preview file.  The sample start is treated as
  0. [kyzentun]
* [Song] GetPreviewMusicPath added. [kyzentun]
* [foreach] foreach_ordered lua function now works on tables that have both
  number and string keys.  Number keys are iterated over first. [kyzentun]

2015/02/28
----------
* [General] Pause/Break key now toggles "action" sounds off or on.  There is
  also a button in the F3 debug menu (press A, there are so many that it is
  off the bottom) for people that don't have a Pause/Break key. [kyzentun]

2015/02/27
----------
* [ActorFrame] Fixed RemoveChild and RemoveAllChildren lua functions to
  delete the children instead of leaking memory. [kyzentun]
* [Font] Asserts and other things that caused Stepmania to crash on font
  mistakes now emit non-fatal errors. [kyzentun]

2015/02/26
----------
* [PaneDisplay] Changed to print an error when metrics or player number are
  omitted instead of crashing. [kyzentun]
* [Screen] Fixed crash when AddInputCallback is passed nil. [kyzentun]

2015/02/22
----------
* [BitmapText] Place characters of right-to-left alphabets correctly.
  (untested) [roothorick]

================================================================================
StepMania 5.0.6 | 20150217
--------------------------------------------------------------------------------

2015/02/16
----------
* [EditMode] Fixed mistake in TimingData that broke editing bpms. [kyzentun]
  Fixed crash when deleting steps. [kyzentun]
* [InputMapper] Backslash can be mapped now. [kyzentun]

================================================================================
StepMania 5.0.5 | 20150214
--------------------------------------------------------------------------------

2015/02/12
----------
* [InputMapper] Added D-Force Automappings [shakesoda]

2015/02/04
----------
* [ActorFrame] GetUpdateRate added. [kyzentun]
* [Background] Using the wrong transition name no longer crashes.
  Playback rate is applied to videos.
  Checkerboard and other BackgroundEffects that use the same file twice no
  longer play videos back at multiplied speed. [kyzentun]
* [Sprite] Get/SetDecodeMovie added. [kyzentun]

2015/02/03
----------
* [MusicWheel] HideActiveSectionTitle metric added. [djpohly]

2015/02/02
----------
* [ActorMultiVertex] ForceStateUpdate and Get/SetDecodeMovie added. [kyzentun]
* [RageTexture] Get<thing>Width and Height functions added.
  (<thing> means Source, Texture, or Image) [kyzentun]
* [Scripts] find_missing_strings_in_theme_translations function added to
  _fallback scripts to assist translators in finding what needs to be
  translated.  If you need/want to run it on your them, write a piece of lua
  like this:
  find_missing_strings_in_theme_translations("_fallback", "en.ini")
  The first arg is the folder name of the theme to look at.
  The second arg is the name of the language that is fully translated.  All
  other languages will be compared to it to decide what is missing or unused.
  [kyzentun]
* [Song] GetBGChanges added. [kyzentun]

2015/02/01
----------
* [ActorMultiVertex] Animation state system added.  AMVs can now have
  animated textures controlled by states written in lua. [kyzentun]

2015/01/31
----------
* [EditMode] Want more lead in time before recording starts?
  It's a preference.  [kyzentun]

2015/01/30
----------
* [Actor] Wrapper states added.  This makes wrapping an Actor inside an
  ActorFrame for any reason unnecessary, and makes it possible to do things
  that were only possible by wrapping an Actor in an ActorFrame to Actors
  that you couldn't put inside a frame before. [kyzentun]

2015/01/20
----------
* [ScreenSelect] ChoiceNames can be a lua command that is evaluated to get a
  list of the gamecommands.  The main use of this is to get rid of the huge
  list of metrics that ScreenSelectStyle requires.  A single lua function
  instead of a metric for every style for every game type. [kyzentun]
* [ScreenSelectMaster] IconChoicePosFunction metric added.  This metric is
  optional, if it's set, it must be set to a function that returns a table
  of positions.  Each position is a table of the form "{x, y, z}", where x,
  y, and z are numbers and any that is not a number defaults to 0.
  The function is passed the number of choices for the screen.
  IconChoiceOnCommand and IconChoiceOffCommand metrics added so each choice
  doesn't require its own On/OffCommand pair.  These are also optional, but
  if they are set, they will override the individual commands if they exist.
  (If "IconChoiceCactusOnCommand" and "IconChoiceOnCommand" both exist,
  "IconChoiceOnCommand" will be used.) [kyzentun]
  Example:
  # in metrics.ini
  IconChoicePosFunction=choice_positions
  -- In a file in Scripts/
  function choice_positions(count)
    local ret= {}
    for i= 1, ret do ret[i]= {i*24, i*48} end
    return ret
  end

2015/01/16
----------
* [ScreenSelectMusic] HardCommentMeter metric added.  Sets the meter that
  will trigger the "select music comment hard" announcer sound. [kyzentun]

2015/01/12
----------
* [ScreenOptions] GetNumRows function added. [kyzentun]

2015/01/09
----------
* [Sprite] SetStateProperties function added. [kyzentun]

2015/01/06
----------
* [ActorMultiVertex] GetSpline and SetVertsFromSplines functions added.
  [kyzentun]
* [NoteColumnRenderer] Functions for fetching the spline handlers for the
  column added. [kyzentun]
* [NCSplineHandler] New class for setting various parameters of a spline used
  by a NoteColumnRenderer and containing the spline. [kyzentun]
* [CubicSplineN] New class that provides spline functionality. [kyzentun]

2014/12/26
----------
* [NoteField] Columns turned into actors that can be fetched with
  get_column_actors. [kyzentun]
  Tiny boost in fps when there is a large number of notes on screen.
* [NoteColumnRenderer] New class for controlling one column. [kyzentun]

2014/12/20
----------
* [Preferences] AllowMultipleHighScoreWithSameName, ComboContinuesBetweenSongs
  Disqualification, FailOffForFirstStageEasy, FailOffInBeginner,
  LockCourseDifficulties, InputDebounceTime, MaxHighScoresPerListForMachine,
  and MaxHighScoresPerListForPlayer added to service options.
  InputDebounceTime is in Input Options, the rest are in Arcade Options.
  (might not show up in themes that customize the order and placement of the
  preferences) [kyzentun]

2014/12/18
----------
* [Profile] GetTotalDancePoints added. [kyzentun]

2014/12/10
----------
* [EditMode] Play whole song and play from current beat will now play until
  either the music or the notes end, whichever is greater. [kyzentun]
  The screens used for setting the options used to play the screen and for
  adding attacks can be set through the "OptionsScreen" and "SetModScreen"
  metrics in the ScreenEdit section.
* [GameState] ApplyPreferredSongOptionsToOtherLevels function added. [kyzentun]
* [Player] "ComboBreakOnImmediateHoldLetGo" theme metric added. [sillybear]
* [PlayerState] ApplyPreferredOptionsToOtherLevels function added. [kyzentun]
  
2014/12/07
----------
* [Game] GetSeparateStyles function added.  Use this to detect whether a game
  allows the players to play different styles. [kyzentun] (used by kickbox)
* [GameManager] Lua Scripts/ folders are now reloaded when the Game mode is
  changed. [kyzentun]
* [GameState] CanSafelyEnterGameplay function added. [kyzentun]
  In kickbox game mode, players can have different styles set, pass a
  PlayerNumber when using SetCurrentStyle or GetCurrentStyle.
* [kickbox] New game mode with 4 styles. [kyzentun]
* [ScreenGameplay] Notefield positioning is handled a bit differently now.
  See comments in _fallback/metrics.ini above the [ScreenGameplay]
  MarginFunction metric.  Basically, you can define a lua function that
  returns the space you want at the edges and in the center instead of
  setting position metrics.  Do NOT use Style:GetWidth to calculate the
  margins your function returns.
  ScreenGameplay now handles zooming the notefield to fit in the space
  instead of using the NeedsZoomOutWith2Players flag in the style.
  If the notefield doesn't fit in the space between the margins, and there is
  only one player, the player will be centered even if the Center1Player pref
  is false. [kyzentun]
* [Style] NeedsZoomOutWith2Players decapitated.  Always returns false now.
  GetWidth added. [kyzentun]
* [techno] Techno game mode no longer has special column width for versus.
  Techno was the only game mode that used the NeedsZoomOutWith2Players flag,
  and the zoom factor it applied was 0.6, and the special versus column width
  was 0.6*normal, so this should make no difference. [kyzentun]

2014/12/03
----------
* [command line arg] --game command line arg added for setting the game type
  when starting stepmania. [sillybear]
* [Announcer] "evaluation full combo W3" and "evaluation full combo W4"
  responses added. [sillybear]

2014/12/01
----------
* [ScreenMapControllers] Forced sanity checking of key mappings added.
  Start, MenuLeft, MenuRight, and Operator keys must be mapped.
  Reset key mappings option added to debug menu for recovering from an
  unusuble keymap without needing to find and delete KeyMaps.ini. [kyzentun]

2014/11/30
----------
* [NoteField] New functions added for controlling the receptor and ghost arrow
  (explosion) flashes. [kyzentun]

2014/11/28
----------
* [Profile] Guest and Test profile types added.  All existing and new
  profiles are Normal.  If a profile is changed to Guest through the profile
  management screen, it will always show at the top of the list.  A profile
  set to Test will always be at the bottom of the list.  Profiles can be
  moved around in the list.
  GetType and GetPriority lua functions added to Profile.
  Bug that caused a crash when a profile dir was renamed to a non-number and
  a new profile was created fixed. [kyzentun]
* [Everything] Actor and singleton functions that formerly returned nothing now
  return the actor or singleton. Example (set zoom, x, y, and diffuse in one):
  self:zoom(.5):xy(_screen.cx, _screen.h-60):diffuse(color("#dc322f"))
  This also works for PlayerOptions and SongOptions API functions.  Pass true
  as an extra arg, and they can be chained.

2014/11/22
----------
* [Preferences] MinTNSToHideNotes preference added. [kyzentun]
* [PlayerOptions] MinTNSToHideNotes mod added. [kyzentun]

2014/11/15
----------
* [Preferences] Default Fail Type preference mechanism changed internally again.
  Set your Default Fail Type preference again. [kyzentun]

2014/11/05
----------
* [ScreenPrompt] Answer OnCommand metrics fixed to actually work. [kyzentun]

2014/11/01
----------
* [RollingNumbers] Cropping and color during tweens fixed. [kyzentun]

2014/10/27
----------
* [Changelog] Vospi read the release notes.

2014/10/23
----------
* [Global] approach, multiapproach, lerp, and lerp_color lua functions added. [kyzentun]

2014/10/20
----------
* [StageStats] GetStepsSeconds function added. [kyzentun]
* [Steps] If an unrecognized step type is saved, preserve that step instead of
  deleting it. A warning will be placed in the log file during song load.  [kyzentun]

================================================================================
StepMania 5.0 beta 4a | 20141015
--------------------------------------------------------------------------------

2014/10/19
----------
* [BackgroundEffects] Fixed errors in StretchNoLoop and StretchRewind.

2014/10/13
----------
* [NoteDisplay] Var Player and Var Controller work for non-receptor arrows. [hanubeki]
* [Mac OS X] Allow StepMania to be built and run in Yosemite.

2014/10/11
----------
* [NoteDisplay] Add two noteskin metrics, {PartName}NoteColorType and
  {PartName}NoteColorCount. View https://github.com/stepmania/stepmania/pull/328
  for more information. [hanubeki]

================================================================================
StepMania 5.0 beta 4 | 20140930
--------------------------------------------------------------------------------

To reduce the number of entries in this file, entries are dated to the Saturday after they occurred.

2014/09/27
----------
* [Preferences] DebounceCoinInput time pref added for machines that need a
  different debounce time for coin input.
* [Preferences] DefaultFailtype preference reinstated to resolve default fail
  type problems.
* [TimingData] TimingData::GetReturnsNumbers metric added to make TimingData
  functions return tables of numbers instead of strings.

2014/09/20
----------
* [ScreenOptionsCustomizeProfile] New screen added for setting profile stats.

2014/09/13
----------
* [Endless] Songs are repicked on each repeat of the course.
* [GameState] GetCurrentStage logic fixed to correctly return Stage_Final in
  all cases where it should.
* [JudgmentMessage] Tracks parameter replaced with Notes and Holds parameters.
* [NumPadEntry] New customizable lua class for custom screens.
* [ScreenHeartEntry] New screen added to default.
* [TapNote] Class exposed to lua through JudgmentMessage with all data on the
  TapNote.

2014/09/06
----------
* Changed ES/OMES speed mod to 2x from 1.5x.
* [ActorMultiVertex] GetTexture lua function added.
* [BitmapText] max_dimension_use_zoom lua function added.
* [Edit Mode] Swap Up/Down and Arbitrary Remap added to Alter menu.
* [GameState] InsertCoin and InsertCredit lua functions added.
* [PrefsManager] FastNoteRendering preference added.
* [RageTexture] Reload lua function added.
* [RageTexture?] "__screen__" added as special screenshot texture name.
  Causes a skip.
* [Screen] SetNextScreenName lua function added.
* [ScreenCredits] New ScreenCredits.  Please update your theme if you applied
  theme changes to this screen.
* [ScreenMapControllers] Massively changed to make it not suck.  New elements,
  new metrics, new actions.
* [WheelItemBase] IsLoaded lua function added.

2014/08/30
----------
* [ActorScroller] wrap parameter added for controlling looping behavior better.
* Life difficulty matches StepMania 3.9's again.

2014/08/16
----------
* [ActorFrame] Internal diffuse and glow now apply to BitmapText children.
* [GameState] SetCurrentPlayMode and SetCurrentStyle lua functions added.
* [PrefsManager] BackgroundFitMode preference added to settle all problems
  with how backgrounds are stretched or fit.
* [ScreenSetBGFit] New screen for presenting the BackgroundFitMode preference.
  See _fallback/BGAnimations/ScreenSetBGFitMode overlay.lua for documentation.
* [ThemeManager] HasMetric/String now return false when the group name or
  metric name is an empty string.

2014/08/09
----------
* [GameManager] GetStylesForGame lua function added.
* [LifeMeterBattery] CourseSongRewardLives metric added.
* [LifeMeter] LifeType, DrainType, and BatteryLives moved to PlayerOptions so
  the players can have different settings.
* [ScreenGameplay] LifeMeterChangedP1 message is no longer broadcast for for
  P2's lifemeter.  Use LifeMeterChangedP2.  "Life" and "StepsSecond" are passed
  in the params table for the message.

2014/08/02
----------
* [MusicWheel] Added GetSelectedSection lua function.

2014/07/26
----------
* [ActorScroller] Accidental "permanent loop" bug fixed.
* [Common metrics] AfterThemeChangeScreen, AfterGameChangeScreen, and
  AfterGameAndThemeChangeScreen optional metrics added to Common section.
* [GameManager] SetGame lua function added.
* [Globals] OldStyleStringToDifficulty lua function added.
* [PrefsManager] SavePreferences lua function added.
  ThreeKeyNavigation preference added.
* [SoundManager] IsTimingDelayed lua function added.
* [ThemeManager] SetTheme lua function added.
* [ScreenHowToPlay] CharacterName metric works again.

2014/07/18
----------
* [BitmapText] LoadFont is now obsolete.  Set the Font attribute of the
  BitmapText instead.
* [ErrorReporting] New system that reports theme errors through dialogs and
  an on screen display.  (Sorry guys, your themes are all full of errors, and
  you should fix them)
* [LogDisplay] New actor class used by ErrorReporting, possibly useful more
  widely.  See _fallback/Scripts/04 LogDisplay.lua for docs.

2014/07/05
----------
* [Actor] GetDestX/Y/Z lua functions added.
* [Profile] Lua functions for calculating calories based on heart rate added.
  See ThemerDocs/calories.txt

2014/06/28
----------
* [ArrowEffects] New namespace of lua functions.
* [Screen] AddInputCallback and RemoveInputCallback lua functions added.

2014/06/21
----------
* [Gameplay] CMods and MMods now automatically compensate for music rate.
* [Globals] SaveScreenshot lua function added.
* [ScreenPlayerOptions] ArbitrarySpeedMods system added.
* [ScreenSelectMusic] Pad codes that set modifiers disabled.

2014/06/07
----------
* [ScreenSelectMusic] SelectMenuInput message is now always sent when Select
  is pressed.

2014/05/17
----------
* [GameState] StoreRankingName lua function added.  Ranking names now allow
  lowercase.
* [Profile] SetLastUsedHighScoreName and GetHighScoreListIfExists lua
  functions added.

2014/05/10
----------
* [Player] Tracks param added to JudgmentMessageCommand. (will change before
  beta 4)
* [ScreenGameplay] Themable haste system added.
  GetTrueBPS lua function added.
* [ThemeManager] GetMetricNamesInGroup and GetStringNamesInGroup lua functions
  added.

2014/05/03
----------
* [ActorFrame] GetChild and GetChildren modified, see Lua.xml.
* [NoteSkinManager] GetMetric function added.
* [PlayerOptions] Entirely new API for setting player options.  Superior
  alternative to ApplyGameCommand.
* [SongOptions] Entirely new API for setting song options.  Same design as new
  PlayerOptions API.
* [NoteField] NoteField Board can now use any AutoActor class instead of just
  Sprite/Sprite-derived ones.

2014/04/26
----------
* [Style] GetColumnInfo and GetColumnDrawOrder lua functions added.

2014/04/19
----------
* [ActorMultiVertex] New actor class added.
* [ScreenGameplay] GetHasteRate lua function added.  GiveUpSeconds metric added.
* [SoundManager] StopMusic lua function added.

2014/04/05
----------
* [GameState] HaveProfileToLoad/Save and Load/SaveProfiles lua functions added.
* [ScreenWithMenuElements] StartTransitioningScreen lua function added.

2014/03/22
----------
* [Player] HoldNoteScore_MissedHold added.

2014/03/05
----------
* [ScreenNetSelectBase] Fix colors when unicode characters are in chat box.

2014/03/08
----------
* [ActorScroller] DrawByZPosition fixed for looping ActorScrollers.
* [Globals?] GetTimeSinceStart global lua function added.
* [Player] FirstTrack parameter added to JudgmentMessageCommand.  (will change
  before beta 4)

================================================================================
StepMania 5.0 beta 3 | 20140224
--------------------------------------------------------------------------------

2014/02/22
----------
* [Actor] texturetranslate lua function added.
* [BitmapText] distort lua function added.
* [ComboGraph] Added BodyHeight metric.
* [GameState] JoinInput lua function added.
* [PlayerOptions] "resetspeed" mod added.
* [PlayerStageStats] GetComboList and GetLifeRecord lua functions added.
* [Preferences] ComboContinuesBetweenSongs preference added.
* [ScreenWithMenuElements] SetAllowLateJoin lua function added.
* [SoundManager] loop and applyRate args added to PlayMusicPart lua function.
* [Sprite] SetCustomPosCoords lua function added.
* [Utils] XML backwards compatibility added.

2014/02/08
----------
* [Actor] Added heading, pitch, and roll lua functions.

2013/10/09
----------
* [CombinedLifeMeterTug] Added names and commands to Separator and Frame items.
  [SSC]
* [MeterDisplay] Added names to Stream and Tip items. [SSC]

2013/10/06
----------
* [ScreenOptions] Allow for the use of per-screen Start sounds instead of a forced
  Common Start. [SSC]

2013/10/03
----------
* [GameConstantsAndTypes] Declared RankingCategory as a type. [SSC]
* [Profile] Added GetCategoryHighScoreList(StepsType,RankingCategory) Lua
  binding. [SSC]

2013/09/23
----------
* PIUIO: Fix default mapping for lights on five-panel setups.

2013/09/06
----------
* Re-implement CustomSpeedMods to use new Lua hooks.  Fixes assertion when
  loading SpeedMods.txt from unmounted card.
* Add Lua hooks for themes to load/save custom data to/from profiles.
* [Linux] Ignore comments in /etc/fstab.

2013/08/30
----------
* Fix editor behavior when deleting/shifting timing changes.
* Re-enabled "convert to stop/delay" at beat 0.

2013/08/29
----------
* Fix hack pertaining to ModIcons and Lua-based option rows.

2013/08/22
----------
* [FFmpeg] Fix several video timing issues (delay, stutter, looping) with the
  FFmpeg driver.

2013/08/14
----------
* [ThemePrefs] Fix saving of ThemePrefs in default theme.

2013/08/12
----------
* [ScreenEdit] Fix Undo for the Alter and Turn commands.  Previously, trying
  to undo one of these commands would erase the notes instead.  Now it behaves
  as expected.

2013/08/08
----------
* [SoundDriver_JACK] New sound driver (experimental!).  To use this, specify
  JACK in your SoundDrivers preference, and set SoundDevice to a
  comma-separated list of ports to connect to, for example:
  "SoundDevice=system:playback_1,system:playback_2".

2013/07/18
----------
* [ScreenEdit] Display scroll segments in editor and preview for both Song and
  Steps Timing.

2013/07/09
----------
* [MemoryCardDriver] Allow Unix fstab to specify memory card devices by alias
  (e.g. /dev/disk/by-path/*)

2013/06/29
----------
* [ArchHooks_Unix] Support the GoToUrl function. [phantom10111]

2013/06/18
----------
* [InputHandler_DirectInput] Add support for all possible input device types
  under new DirectX library. [Shenjoku]
* Add --enable-lto option for configure on Linux. [phantom10111]

================================================================================
StepMania 5.0 beta 2a | 20130616
--------------------------------------------------------------------------------

2013/06/15
----------
* Fix some minor DLL issues on Windows. [wolfman2000]
* Theme updates to make it faster. [Midiman]

2013/06/09
----------
* [ScreenJukebox] Check for existing steps when starting jukebox.
* [ScreenEdit] Fix crash related to keysounds. [wolfman2000]

2013/06/04
----------
* Fix theme glitches caused by the change to Home/Free modes.
* [UnlockManager] Allow entries to be explicitly locked by the theme.
  [wolfman2000]

================================================================================
StepMania 5.0 beta 2 | 20130602
--------------------------------------------------------------------------------

2013/06/02
----------
* Add several video container formats that are supported by FFmpeg: mkv, mp4,
  mov, flv, f4v.

2013/05/31
----------
* [ArchHooks_MacOSX] Add per-user folders in ~/Application Support.

2013/05/30
----------
* [ScreenSelectMusic] Fix crash when sorting in Oni mode.

2013/05/28
----------
* [ActorFrame] Propagate glow and diffuse to children of ActorFrames.  This
  should fix any visual problems with layered noteskins and mods.

2013/05/25
----------
* Remove the "random" part of the Random Vanish mod to prevent crashing.
  [wolfman2000]

2013/05/21
----------
* [MovieTexture_FFMpeg] Fix crashing with large videos.

2013/05/20
----------
* [NotesLoaderSM] New algorithm for converting negative BPMs and stops to
  warps, more closely matching the behavior of old StepManias.

2013/03/24
----------
* [MusicWheel] Add the ChangeSort method to the Lua interface to allow the
  theme to switch sorting methods.

2013/02/04
----------
* [Player] Add a "Column" parameter to the StepMessage to allow the theme or
  chart to discover which column is being triggered.
* [ArchHooks] Unix: Move UserPackages to Packages in the per-user directory,
  and remove Data from the per-user directory.  Users who have installed
  packages to UserPackages will need to migrate them to Packages instead.

2013/02/03
----------
* [Player] Fix a stutter that can take place when mines are skipped during
  warp segments. [phantom, wolfman2000]

2013/01/23
----------
* [TimingData, ScreenEdit] Fixed behavior in the editor whereby making changes
  to Song Timing would unexpectedly change all charts to Steps Timing.
  (Thanks to DJ OMiY for reporting and isolating the problem.)

2013/01/11
----------
* [Screen] Allow overlay screens to accept codes.

2013/01/06
----------
* [TimingChanges, ScreenEdit] Fix a bug in the editor where adding BPM changes
  that differ by a very small amount from the previous BPM change were not
  added at all. [vulture/wolfman2000]

2013/01/03
----------
* [ScreenGameplayShared] Fix routine mode. [djpohly/FSX/shakesoda/wolfman2000]

================================================================================
StepMania 5.0 beta 1a | 20121228
--------------------------------------------------------------------------------

2012/12/28
----------
* [default] Improved autogen icon and Oni life display. [Midiman]
* [ScreenSelectMusic] Fix mouse events being eaten. [shakesoda]
* [ScreenEdit] Remove extra zeroes from editor text entry. [djpohly]
* [WheelBase] Add WheelBase.Move Lua binding. [shakesoda]

2012/12/27
----------
* [default] Various theme improvements. [Midiman]
* [PlayerStageStats] Restore SetScore and SetCurMaxScore Lua bindings. [shakesoda]

2012/12/26
----------
* Code restructuring. [djpohly/wolfman2000]

================================================================================
StepMania 5.0 beta 1 | 20121225
--------------------------------------------------------------------------------

2012/12/25
----------
* [PlayerStageStats] Remove SetScore and SetCurMaxScore Lua bindings. [FSX]

2012/12/24
----------
* [ScreenDebugOverlay] Don't reset the gamestate when reloading screens. Reloading
   ScreenSelectMusic or any other screen which relies on that works now. [shakesoda]
* [RageUtil] Fix math.random() never returning > 0.5. [vyhd]

2012/12/18
----------
* [default] Fix Final Stage not appearing on StageInformation if a Long or Marathon song is
   played as the last song. [FSX]
* [fallback] Add Song:GetStageCost() [FSX]

2012/12/17
----------
* [Font] Fix a unicode-related crash which would sometimes happen on SMO. [shakesoda]
* [GameState] Fix arrow stuttering for cases where you get duplicated values between
   updates. This helped significantly for PulseAudio on Ubuntu 12.04, for me. [shakesoda]

2012/12/13
----------
* [RageDisplay_GLES2] Carry over a bunch of functionality from RageDisplay_OGL, still not
   usable however. [shakesoda]

2012/11/26
----------
* [ScreenSelectMusic] Only unchoose steps if there are more than 10 seconds on the timer
   to prevent unchoosing steps for an infinite timer. [Marcio Barrientos]

2012/11/22
----------
* [ProfileManager] Added SaveProfile, SaveLocalProfile, GetLocalProfileIDs,
  ProfileFromMemoryCardIsNew, GetSongNumTimesPlayed, LocalProfileIDToDir, and
  GetLocalProfileDisplayNames Lua bindings. [Alfred Sorenson]
* [Profile] Add GetGUID Lua binding. [Alfred Sorenson]

2012/11/13
----------
* [RageDisplay_OGL] Try to fix the shader compilation crash once and for all. [shakesoda]

2012/10/31
----------
* [RageDisplay_GLES2] Initial GLES2 commit. Not functional. [shakesoda]

2012/10/20
----------
* [NotesLoaderSMA] Fix default speed length for SMA files. [Aldo MX]
* [NotesLoaderSMA] First segment required a zero. [Aldo MX]


2012/10/17
----------
* [ScreenEdit] Don't allow ratings of 0. [shakesoda]

2012/08/10
----------
* [InputHandler_Linux_PIUIO] Add interface to PIUIO kernel module. [djpohly]

2012/08/04
----------
* General theme updates: made things faster, title menu updated. [Midiman]

2012/07/26
----------
* [ScreenDebugOverlay] Added BackgroundColor metric. [AJ]

2012/07/19
----------
* [OptionRow] Set text after running OnCommand so commands like "uppercase,true"
  actually have a chance to work. [AJ]

2012/07/17
----------
* [SongManager] Fix a bug where DVNO wouldn't always be gold. [AJ]

================================================================================
StepMania 5.0 alpha 3 | 20120711
--------------------------------------------------------------------------------

2012/07/11
----------
* [ScreenEditMenu] Don't use "Blank" in the description for blank steps;
  use a blank string instead. [AJ]

2012/07/10
----------
* [ScreenSelectMusic] Fix an issue where Control+<Letter> wouldn't work. [AJ]

2012/07/09
----------
* [InputMapper] Use "|" for separating entries instead of ",", since some
  companies have names like "x Ltd., something". [Mordae, AJ]

2012/07/06
----------
* [ScoreDisplayRave] Add FrameBase and FrameOver to the metrics. [AJ]
* [PlayerStageStats] Added GetSongsPassed and GetSongsPlayed Lua bindings. [AJ]

2012/07/05
----------
* [ScreenRanking] Added "NextPage" command. "SwitchPage" command is
  now "SwitchedPage". [AJ]
* [ScreenRanking] Don't clobber alpha values when applying colors in SetPage. [AJ]

2012/07/03
----------
* [ScreenHowToPlay] Actually shows notes again. [AJ]
* [ScreenGameplay] When ShowLifeMeterForDisabledPlayers is true, don't fill up
  life in the meter for the disabled player. (LifeMeterBar only) [AJ]

2012/07/02
----------
* [ScreenHowToPlay] Run InitCommand on Characters if enabled. [AJ]
* [RageUtil] Add detection of ".hg" to StripCvsAndSvn. [AJ]

2012/06/27
----------
* [SongManager] Ending a group's name in PreferredSongs with "/*" will now load
  all songs from that group automatically. [AJ]

2012/06/21
----------
* [ProfileManager] Added GetPlayerName(pn) Lua binding. [AJ]

2012/06/05
----------
* [GrooveRadar] Added SetFromValues(pn,{f1,f2,f3,f4,f5}) Lua binding. [AJ]

2012/06/02
----------
* [PrefsManager] Added StretchBackgrounds preference. [AJ]
* [BMSLoader] Add #banner support. [hanubeki]
  Source: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=bf8b57b9a662af59de66b9d06ca282f38f9126d9

2012/05/31
----------
* [PaneDisplay] Added NullCountString metric. [AJ]
* [PlayerOptions] Fixes to Get/Set[C, M, X]Mod Lua bindings. [hanubeki]
  Source: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=97761b5dc87b8c8a1b296985a09814337578c745

2012/05/27
----------
* [MusicWheel] Added EmptyColor metric. [AJ]
* [PlayerState] Enabled GetPlayerController Lua binding.

2012/05/21
----------
* [NotesLoaderBMS] Support for #BMP based background changes. [theDtTvB]
* [SongManager] Add song to the list of songs before loading it, this fixes
  crashes in some BMS files. [theDtTvB]
* [ScreenEdit] Allow a new way of creating and modifying attacks using the
  Area Menu. Note: Using the C or V keys is no longer allowed for attacks.
  It will simplify things for later. [Wolfman2000]
* [Steps] Modified HasSignificantTimingChanges; the following now disqualify
  when using a CMod: Stops, Delays, Warps, Speed Changes, Scroll Changes.
  Songs with a non-constant BPM will only disqualify if the High/Low difference
  is greater than 3.00. [AJ]

2012/05/19
----------
* [Actor] Made the xy command a source-code level command. [AJ]

2012/05/17
----------
* [LoadingWindow_Gtk] Actually resolve the path to the Splash file. [djpohly]

2012/05/16
----------
* [ScreenWithMenuElements] Added DelayMusicSeconds metric. [AJ]
* [ScreenOptionsMasterPrefs] Allow for FastLoadAdditionalSongs preference
  to be called via the "conf" command. [AJ]

2012/05/14
----------
* [Course] Added AllSongsAreFixed() Lua binding. [AJ]

================================================================================
StepMania 5.0 alpha 2 | 20120504
--------------------------------------------------------------------------------

2012/05/03
----------
* Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki]
  Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a
* [CustomSpeedMods] If a player decides to remove 1x from the machine profile's
  custom speed mods, re-add it back in to avoid crashes. [AJ]

2012/05/02
----------
* Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki]
  Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=8ccf7449651eef51e8c42d031aa64da49a0b72ce

2012/04/25
----------
* [Profile] Added GetLastPlayedSong and GetLastPlayedCourse Lua bindings. [AJ]

2012/04/22
----------
* [LifeMeterBar] Reverted a change from 2010 that messed with how the life meter
  subtracts life. The life difficulty should match StepMania 3.9 again. [AJ]

2012/04/08
----------
* [ScreenNetworkOptions] Fixed a bug where localized text would not show up
  properly. Fixes issue 759. [AJ]
* [Steps, Song] Replace Steps:UsesSplitTiming with
  Song:IsStepsUsingDifferentTiming for both C++ and Lua. [wolfman2000]

2012/04/06
----------
* Modify Jousway's planned noteskin to allow it to work with Technomotion
  style gameplay. Expect minor bugs. [Jousway, Wolfman2000]

2012/04/03
----------
* [PlayerOptions] Fix setting some effect mods that were always set to Drunk.
  I wonder who had too much to drink. [TaroNuke]

2012/03/31
----------
* [GameManager] Allow beat single7 and versus7 to be shown in Demonstration. [AJ]

2012/03/28
----------
* [ScoreKeeperRave] Actually handle hold scores in HandleHoldScore().
  Players should please provide feedback on how this affects gameplay, as this
  is a temporary feature. [AJ]
* [GameConstantsAndTypes] Made StageResult Lua-aware. [AJ]
* [GameState] Added GetStageResult(pn) Lua binding. [AJ]
* [Player] Keysounds now respect the volume settings. [hanubeki]
  Sourced from hanubeki-modified-sm-ssc rev. 16fc5b714582

2012/03/27
----------
* [ScreenEditMenu] Don't hardcode stopping the music on pressing the back button.
  This interferes with the StopMusicOnBack metric. [AJ]

2012/03/20
----------
* [Background] Fix 3D noteskins and dancing characters from clashing with each other. [shakesoda, AJ]
* [NoteField] Fix 3D noteskins overlapping. [shakesoda, AJ]
* [ScreenEdit] Don't use Step timing by default. [Midiman]
* [ScreenEdit] Allow playback of course modifiers in Course Edit mode [Midiman]

2012/03/15
----------
* [04 Scoring.lua] Added various 3.9 and 3.9+ scoring methods. [hanubeki]

2012/03/12
----------
* Remove libtheora support since ffmpeg already supports theora videos. [cvpcs]

2012/03/10
----------
* Update ffmpeg support to v0.10. [cvpcs]

2012/03/09
----------
* [PlayerOptions] Don't display x-mods when using m-mods.
  Sourced from hanubeki-modified-sm-ssc rev. bd08a58dd7cf and OpenITG.

2012/03/08
----------
* [MusicWheel] Added RouletteStopped message, which is broadcast when Roulette
  is finished and the wheel is locked. [AJ]
* [WheelBase] Made WheelState a Lua-enabled enum and added
  GetWheelState() Lua binding. Deprecated IsLocked() Lua binding. [AJ]

2012/03/07
----------
* [ScreenSelectMaster] Now updates choices on player join; it will move the
  scroller to the correct location, but the GainFocus/LoseFocus commands don't
  seem to work. [AJ]

2012/03/05
----------
* [GameCommand] Added GetDifficulty(), GetCourseDifficulty(), GetPlayMode(),
  GetSortOrder(), GetAnnouncer(), GetPreferredModifiers(), and
  GetStageModifiers() Lua bindings. [AJ]

2012/03/04
----------
* [Player] Changed default Hold window to 0.250f, like it was in 3.9. [AJ]

2012/03/02
----------
* [NotesLoaderBMS] Fix calculating stops, Support for #LNOBJ, Don't use #BACKBMP
  as song background if main StepsType is beat-*. [hanubeki]
  These changes constitute revisions f26caccf103e, 2d114b38c6c9, and b60f021d2b67
  of hanubeki-modified-sm-ssc. (http://code.google.com/r/hanubeki-modified-sm-ssc/)

2012/03/01
----------
* [MemoryCardManager] Disable Memory Cards by default. If you want to use them,
set MemoryCards=1 in Save/Preferences.ini (or Save/Static.ini). [AJ]
* [GameState] Set Premium to Premium_DoubleFor1Credit by default. [AJ]
* [ScreenSelectMusic] Added PlaySoundOnEnteringOptionsMenu metric. [AJ]
* [MusicWheel, WheelBase] Added collapse sound. [AJ]

================================================================================
StepMania 5.0 alpha 1a | 20120219
--------------------------------------------------------------------------------

2012/02/19
----------
* [Style] Added LockedDifficulty() Lua binding. [AJ]

2012/02/15
----------
* [HighScore] Added Max Combo, Stage Award and Peak Award. New Lua bindings for
  HighScore: GetMaxCombo(), GetStageAward(), GetPeakComboAward(). [AJ]
  (the specifics of this are subject to change.)

2012/02/10
----------
* [WheelBase, WheelItemBase] Turned WheelItemDataType into a Lua type,
  made WheelBase:GetSelectedType() return the enum instead of a number. [AJ]

2012/02/08
----------
* [ScreenEdit] Added support for editing keysounds. Use the Area Menu (Enter)
  to either modify what sounds play on that row, or even remove a sound from
  the list. Any sounds assigned to empty notes will automatically become
  an AutoKeysound, and any AutoKeysounds that have their sound removed will
  become empty notes. [Wolfman2000]

2012/02/08
----------
* [ScreenOptionsMaster] Added StepsRowLayoutType metric.
  (Valid values are "ShowAllInRow" or "ShowOneInRow".) [AJ]

2012/01/23
----------
* [Player] Tap Note Scores (tns) can now be "AvoidMine" or "HitMine" in
JudgmentMessageCommand. [Saturn2888, shakesoda]

2012/01/15
----------
* [WheelNotifyIcon] Add the NumIconsToShow metric. [Wolfman2000]
* [PlayerOptions] Fix a problem with m-mods where you would get m200 as
  the default speed modifier. [AJ]

2012/01/11
----------
* [ScreenEdit] Fix a floating point issue when dealing with speed segments.
  [Wolfman2000]

2012/01/09
----------
* [Song] Fix a bug introduced with "Only read certain tags during first load"
  where song graphic files wouldn't load. [theDtTvB]

================================================================================
StepMania 5.0 alpha 1 | 20120108
--------------------------------------------------------------------------------

2012/01/08
----------
* [Song] Add HasPreviewVid and GetPreviewVidPath lua binding [cerbo]

2012/01/08
----------
* [ScreenManager] Made AddScreenToTop take a second (optional) parameter for
  posting a ScreenMessage on screen pop. [AJ]
* Only read certain tags during first load; makes song loading faster. [theDtTvB]

2012/01/07
----------
* Fix Portable.ini not working on Mac OS X. [shakesoda]

2012/01/05
----------
* [PercentageDisplay] Remove unused ApplyScoreDisplayOptions metric;
  added PercentFormat and RemainderFormat metrics. [AJ]
* Fix Portable.ini not working in Linux. [FSX]

2012/01/04
----------
* Fix a scoring/grading bug with Lifts. [FSX]

2011/12/27
----------
* [MusicWheel] Add IsRouletting Lua binding. [AJ]
* [LuaManager] Remove GetOSName Lua binding; use GetArchName instead. [AJ]

2011/12/26
----------
* [ArchHooks_OSX] Worked around a crash when language detection goes wrong.
  Note: a real fix should be looked into. [shakesoda]

2011/12/23
----------
* [Song] Fixed a bug where a sample start of 0 wouldn't work. [AJ]
* [Game] Added CountNotesSeparately and GetMapJudgmentTo(TapNoteScore)
  Lua bindings. [AJ]
* [StepMania.cpp] Fix initial aspect ratio on first boot, hopefully.
  (See issues 6 and 27) [AJ]

2011/12/22
----------
* [LuaManager] Added ProductFamily() Lua binding. [AJ]

2011/12/17
----------
* [Various] Allow loading of *.jpeg in addition to *.jpg. [AJ]

2011/12/16
----------
* [StreamDisplay] Added VelocityMultiplier, VelocityMin, VelocityMax,
  SpringMultiplier and ViscosityMultiplier metrics. [AJ]

2011/12/12
----------
* [ScreenEdit] Add the GAMESTATE:InStepEditor Lua binding. [Wolfman2000]
* [Player, ScreenGameplay] Allow failing on Oni without crashing. This one
  took awhile. [Wolfman2000]
* [LifeMeterBattery] Fixed various issues (lives not fully disappearing on fail,
  P2 lose life animation having the wrong x zoom, hide the lives number if it
  falls below 0). [AJ]

2011/12/11
----------
* [ScreenEdit] Restore cycling the timing segments for jumping between.
  The required line somehow never got replaced. [Wolfman2000]

2011/11/30
----------
* [PlayerOptions] Added IsEasierForSongAndSteps(Song,Steps,PlayerNumber) and
  IsEasierForCourseAndTrail(Course, Trail) Lua bindings. [AJ]
* [PlayerState] Added GetSuperMeterLevel() Lua binding. [AJ]

2011/11/28
----------
* [ScreenGameplay] Add the SurvivalModOverride metric. Let the themer decide
  if mods should be overridden on survival or not. Funny enough, this used
  to be true for the old Oni style mode, but...well, we'll cross that bridge
  later. [Wolfman2000]
* [LifeMeterBattery] Added MaxLives metric, which limits the maximum amount of
  lives. Setting this to 0 will remove the limit. [AJ]

2011/11/27
----------
* [PlayerOptions] Pretty large changes here, namely a bunch of new bindings.
  Fixed the logic for GetReversePercentForColumn; It will now return nil for
  invalid columns. Also fixed the logic for UsingReverse (now checks for 1.0f)
  and SetPassmark (no longer allows values < 0.00f and > 1.0f). [AJ]
* [ScreenEdit] Allow inserting and removing beats and timing changes in
  specific note increments instead of just quarter notes (a whole beat).
  Those that prefer to keep using the shortcut keys will note that the
  behavior has not changed for that: only by going into the Area menu can you
  deal with more specific changes. [Wolfman2000]

2011/11/26
----------
* [ScreenEdit] Restore using F9 and F10 to adjust stops by a fixed amount.
  Sorry for the delay in this. [Wolfman2000]
* [ScreenEdit] Minor convenience. If you attempt to create a negative stop
  segment from scratch, it does not create, and you are not requested to
  save on exit, for there is nothing to save. [Wolfman2000]
* [ScreenEdit] Allow Shift + F9/F10 for adjusting delays. This works the same
  way as adjusting stops. [Wolfman2000]

2011/11/25
----------
* [PlayerStageStats] Hitting a mine no longer gives you full combo when
  [Gameplay] MineHitIncrementsMissCombo=true. [AJ]

2011/11/24
----------
* [PlayerStageStats] Added GetFailed and GetNumControllerSteps Lua bindings. [AJ]

2011/11/15
----------
* [LifeMeterBar] Added the ForceLifeDifficultyOnExtraStage metric and
  the ExtraStageLifeDifficulty metric. Let the themer decide if extra stages
  should have their own life bar behavior. Note that this metric does NOT
  change the lifebar to the battery style. [Wolfman2000/FSX]

2011/11/14
----------
* [Mac OS X] Restore JPEG functionality. [Wolfman2000]

2011/11/06
----------
* [GameState] Add the RefreshNoteSkinData lua binding. This will only
  refresh the NS data for the present game, not all games. [Wolfman2000]
* [ScreenSelectMusic] Fixed Rave difficulties not being synced on late join.
  Fixes issue 577. [AJ]
* [GameplayAssist] Don't play sounds if the player is dead. Fixes issue 621. [AJ]

2011/11/04
----------
* [ScoreKeeperRave] Revert fix from 2011/10/28. [AJ]
* [ScoreKeeperRave] Fixed Miss and HitMine giving meter life.
  (Fixes issue 622.) [AJ]

2011/11/02
----------
* [ArchHooks] Add the GetArchName lua binding. To the themers that use
  GetOSName, that function may be deprecated in the future. For now,
  both options exist. [vyhd, Wolfman2000]

2011/11/01
----------
* [ArrowEffects] Fix Expand, and possibly other mods, from breaking if
  using a second player. [Wolfman2000]
* [ArchHooks] Add the AppHasFocus lua binding. [vyhd, Wolfman2000]

2011/10/29
----------
* [GameState] Add the ResetPlayerOptions lua binding. [Wolfman2000]

2011/10/28
----------
* [ScoreKeeperRave] Fix an issue where the super meter would not decrease back
  to 1 after hitting the end of 3. (Fixes issue 314.) [AJ]

2011/10/27
----------
* [Default theme] Fixed the pref controlling timing segments on song meter. [FSX]

2011/10/18
----------
* [LightsManager] Use song beat for menu button lights, allow demonstration to
  flash pad lights when BlinkGameplayButtonLightsOnNote is true, light custom
  game buttons when pressed during attract mode, general optimizations. [vyhd]

2011/10/17
----------
* [ScreenEdit/NoteField] Fix an editor crash when you exit without saving
  after creating new steps. [Wolfman2000]

2011/10/16
----------
* [NoteDataUtil] Add the Backwards mod for games where the intended
  definition of Mirror is different. Regarding Pump gameplay, what was
  called Mirror in Preview 4 is considered Backwards now, and the original
  Mirror is back in its old position. [Wolfman2000]

2011/10/12
----------
* [Steps] Fix a bug where e.g. ".SM" ".DWI" ".Sm" ".sM" files
  wouldn't properly load since the code was expecting lowercase. [AJ]

2011/10/10
----------
* [NotesLoaderBMS] Add the time signature segments. [theDtTvB]

2011/10/09
----------
* [NotesLoaderBMS] Fix the bug where keysounds that points to nonexistant file
  gets assigned a random one. [theDtTvB]
* [NotesLoaderBMS] Use BMSLoader to load PMS files. [theDtTvB]
* [RageSoundReader_WAV] Fix ADPCM support. [theDtTvB]

2011/10/08
----------
* [GameSoundManager] Add the PlayMusicPart lua binding. [Wolfman2000]
* [ScreenEdit] Add the FadeInPreview and FadeOutPreview metrics. This controls
  how long the fade in and fade outs are for playing the preview music.
  The default values are 0 and 1.5 respectively. [Wolfman2000]

2011/10/07
----------
* [RageDisplay] Add the GetFPS, GetVPF, and GetCumFPS bindings. [Wolfman2000]

2011/10/06
----------
* Various scoring fixes sourced from http://www47.atwiki.jp/waiei/pages/21.html
 [A.C/@waiei, 桜為小鳩/@sakuraponila]

================================================================================
StepMania 5.0 Preview 4 | 20111005
--------------------------------------------------------------------------------

2011/10/04
----------
* [NoteDataUtil] More accurate Left, Right, and Mirror mods for Pump gameplay.
  Major thanks to Hudson Felker and Bill Shillito here. [Wolfman2000]

2011/10/01
----------
* [ScreenHighScores] Disable forced screen transition behavior when
  ManualScrolling=true. [AJ]

2011/09/30
----------
* [GameState] Added CurrentOptionsDisqualifyPlayer(player),
  ApplyPreferredModifiers(player,string) and ApplyStageModifiers(player,string)
  Lua bindings. [AJ]

2011/09/29
----------
* [Fallback theme] Fix ImmediateHoldLetGo function. [Wolfman2000]
* [GameState] Add the EditAllowedForExtra metric. Use this if you want edit
  steps to be allowed for accessing the extra stage. By default, this is
  false. [Wolfman2000]

2011/09/26
----------
* [Default theme] Added Song Timing Display user preference. [AJ]
* [ThemeManager] Add global Scripts dir. [shakesoda]

2011/09/25
----------
* [WheelItemBase] Added GetColor and GetText Lua bindings. [AJ]

2011/09/24
----------
* [ScreenEdit] Disable shifting timing changes down one beat if starting on
  beat 0. Important information must stay on that beat. [Wolfman2000]
* [ScreenEdit] Disable converting rows to a stop or beat starting on beat 0.
  There should be no reason for this at this time. [Wolfman2000]
* [MusicWheelItem] Add/reinstate MusicWheelItem Mode Normal/Color/OverPart. [AJ]
* [FadingBanner] Added LoadFromSortOrder(SortOrder) Lua binding. [AJ]

2011/09/23
----------
* [ScreenEvaluation] Added RollingNumbersMaxComboClass metric. [AJ]
* [NotesLoaderSM] Fix loading .sm files with non standard difficulty names.
  It should be Hard, not Heavy. [Wolfman2000]

2011/09/22
----------
* [ScreenDebugOverlay] Replaced hardcoded toggle command with
  ButtonTextToggledCommand metric. [AJ]
* [LoadingWindow_Win32] Make the StepMania window gain focus after the
  loading window closes. Fixes issue 424. [AJ]

2011/09/21
----------
* [FadingBanner] Added LoadRandom(), LoadRoulette(), LoadFallback(),
  LoadCourseFallback(), and GetBanner(int) Lua bindings. [AJ]

2011/09/18
----------
* [Song] Added GetSampleStart() and GetSampleLength() Lua bindings. [Wolfman2000]

2011/09/16
----------
* [UnlockManager] Added GetNumLockedSongs() Lua binding. [Wolfman2000]
* [UnlockManager] Added IsSongLocked() Lua binding. [Wolfman2000]

2011/09/12
----------
* [NotesLoaderSSC/WriterSSC] Allow all timing tags regardless of what timing
  is used. [Wolfman2000]

2011/09/11
----------
* [ScreenEvaluation] Added "evaluation full combo W1" and
  "evaluation full combo W2" announcer cues. [AJ]
* [Banner] Added "Banner group fallback" graphic. [AJ]

2011/09/09
----------
* [NotesLoaderBMS] Rewrite the BMS loader, should fix issues 430 and 500. [theDtTvB]

2011/09/08
----------
* [GameManager] Fix shifting of 2P notes in beat mode. [1a2a3a2a1a]

2011/09/07
----------
* [Model] Added GetDefaultAnimation() Lua binding. [AJ]
* [GameState] Added GetEarnedExtraStage() Lua binding. [AJ]

2011/09/02
----------
* [MenuTimer] Added start(), disable() Lua bindings. Also renamed setseconds to
  SetSeconds to match GetSeconds. [AJ]
* [GameManager] beat "versus" -> "versus5"; fix beat versus7 being "single7". [1a2a3a2a1a]

2011/08/27
----------
* Updated libjpeg to 8c.
* [SongManager] Added GetCoursesInGroup(sCourseGroup,bIncludeAutogen),
  GetSongGroupBannerPath(songGroup), GetCourseGroupBannerPath(courseGroup),
  DoesSongGroupExist(songGroup), DoesCourseGroupExist(courseGroup) and
  GetPopularSongs() Lua bindings. [AJ]
* [SongManager] Added GetPreferredSortSongs(), GetPreferredSortCourses(courseType,bIncludeAutogen),
  and GetPopularCourses(courseType) Lua bindings. [AJ]
* [SongManager] Add SongToPreferredSortSectionName(song), WasLoadedFromAdditionalSongs(song),
  and WasLoadedFromAdditionalCourses(course) Lua bindings. [AJ]
* [CryptManager] Add GenerateRandomUUID() Lua binding. [AJ]
* [ThemeManager] Added DoesThemeExist(sTheme), IsThemeSelectable(sTheme),
  DoesLanguageExist(sLang), GetCurThemeName(), HasMetric(sGroup,sValue), and
  HasString(sGroup,sValue) Lua bindings. [AJ]

2011/08/23
----------
* [Makefile.am] Fixed version date and time handling. [AJ]

2011/08/22
----------
* [PrefsManager, X11Helper] Added ShowMouseCursor preference. [AJ]
* [UnlockManager] Added GetStepOfAllTypes Lua binding. This gets the locked
  Steps for all game types based on the difficulty specified. [Wolfman2000]
* [UnlockManager] Added requirepasschallengesteps Lua binding. This is more
  self-explanitory: pass challenge to be able to play edits. [Wolfman2000]

2011/08/21
----------
* [NotesLoaderSSC] Fix loading pre-split timing files that had blank timing
  tags inside of them. Thanks to Vin.il for the catch. [Wolfman2000]
* [Song] Added Jacket, CD image (a la early DDR), and Disc (PIU-style) support.
  Added GetJacketPath(), GetCDImagePath(), GetDiscPath(), HasJacket(), HasDisc(),
  and HasCDImage() Lua bindings. [AJ]

================================================================================
StepMania 5.0 Preview 3 | 20110820
--------------------------------------------------------------------------------

2011/08/20
----------
* [PlayerOptions] Add GetMMod() Lua binding. [AJ]
* [Player] Make keysounds respect volume preference. Fixes issue 344. [AJ]

2011/08/19
----------
* [Steps] Add PredictMeter() and GetDisplayBPMType() Lua bindings. [AJ]
* [Song] Add ShowInDemonstrationAndRanking() Lua binding. [AJ]
* Turn off Autogen by default. [shakesoda]
* Disable automatic aspect ratio guessing, default to 854x480
  (16:9 because most newer displays are wide). [shakesoda]
* Turn on FastLoad and FastLoadAdditionalSongs by default. [shakesoda]

2011/08/18
----------
* [RageInput] Added "No input devices were loaded." string to languages. [AJ]
* [RageInputDevice] Added localized names for InputDeviceState. [AJ]
* [Course] Add IsPlayableIn(StepsType) and IsRanking() Lua bindings. [AJ]
* [Trail] Added GetTotalMeter(), GetLengthSeconds(), IsSecret()
  and ContainsSong(song) Lua bindings. [AJ]

2011/08/16
----------
* Added PrettyPercent(numerator,denominator) Lua binding. [AJ]

2011/08/14
----------
* [Foreground] Restore Foreground Changes for use in gameplay. Note that it
  is recommended to use lua for #FGCHANGES from now on: not all XML changes
  will work. [infamouspat]

2011/08/13
----------
* [Theme-side] Added Fancy UI Background preference to Theme Options. [AJ]
* [LowLevelWindow_X11] Don't force the window into the upper left corner. [ZipFile]

2011/08/07
----------
* [LifeMeterBattery] Added LostLife param to LifeChanged message. [AJ]
* [LifeMeterBattery] Converted LifeMeterBattery lives to an AutoActor. [AJ]
* [TimingData] Add HasDelays() Lua binding; HasStops() now only checks stops. [AJ]
* [GameState, SongUtil] Fix Issue 263 by not charging 2x stages for doubles when
  not using joint premium. [AJ]
* [BeginnerHelper] Made BeginnerHelper run the OnCommand. [AJ]
* [GameState] add GetExpandedSectionName() Lua binding. [AJ]
* [ScreenSelectMusic] Added IdleCommentSeconds metric and
  "ScreenSelectMusic IdleComment" announcer sound. [AJ]
* [NotesLoaderBMS] "Send the actual song file to LoadFromBMSFile in
  BMSLoader::LoadNoteDataFromSimfile instead of the dummy one...
  This fixes the wrong sound issue [423]..." [theDtTvB]

2011/08/06
----------
* [NoteSkins/beat/default] Fix Issue 425. [AJ]
* [ScoreDisplayRave] Allow (Meter/Level)(X/Y) metrics to work again. [AJ]

2011/08/05
----------
* [NoteField] Added AreaHighlightColor metric. [AJ]

2011/08/04
----------
* [NoteTypes, ScreenEdit] Removed artificial MAX_NOTES_PER_MEASURE limit. [AJ]

2011/08/02
----------
* [NotesSSC] Only write timing/attack tags for the step if there is a
  difference from the song. For timing tags, at this time it means that if even
  one tag is different, all tags are written. [Wolfman2000]

2011/08/01
----------
* [MusicWheel, RoomWheel] Moved the "- EMPTY -" string to the languages file. [AJ]

2011/07/31
----------
* [ScreenGameplay, LyricDisplay] Stop lyrics from animating on failure.
  Fixes issue 298. [AJ]

2011/07/30
----------
* [ProfileManager] Fix an issue when deleting recently created profiles. [AJ]
* Start removing anything related to Guitar mode. This was rushed in, and it
  is not worth us keeping at this time. [Wolfman2000]

2011/07/26
----------
* [ScreenEdit] Add a semi working implementation of the often requested
  copy/paste selected timing data feature. This should make it easier for
  some charters. [Wolfman2000]

2011/07/21
----------
* [BeginnerHelper] Removed DancePadAngle metric in favor of DancePadOnCommand.
  The same goes for PlayerAngle, dancer rotation is now handled in
  PlayerP1/2OnCommand. [AJ]
* [Course] Bumped up max edit course title length to 16 (still feels too short).
  Also added #DESCRIPTION tag and Course:GetDescription() Lua binding. [AJ]

2011/07/20
----------
* [Win32/CrashHandlerChild] Crashlog and log now open in the player's default
  text editor. Also, the Show Log button works again, including for people using
  Portable.ini. [AJ]

2011/07/19
----------
* [LoadingWindow] Added the ability for themes to have custom splash banners.
  (Currently Windows-only.) [AJ]

2011/07/17
----------
* [Cache] No longer store #NOTES in the cache. This should speed things up
  on the first load if there is not much to write. (General note: this was
  taken from another branch, but results at that point were great.)
  [Wolfman2000]

2011/07/13
----------
* [Difficulty] Allow ALL StepsTypes to use CustomDifficulty properly.
  There was some unfair targeting of Couple and Routine. [Wolfman2000]
* [Steps] Calculate accurate radar values for Couple charts. [Wolfman2000]
* [ScreenEdit] Display more accurate chart data for Couple and Routine charts
  for the future. No more having (almost) every row as a jump! [Wolfman2000]

2011/07/12
----------
* [OptionRowHandler] Add a new metric to ScreenOptionsMaster:
  StepsUseChartName. Use this if you want your charts to have a unique name
  in the options menu. If there is no #CHARTNAME or it is "Blank", it reverts
  to the original behavior. This metric is false by default. [Wolfman2000]
* [ScreenEdit] Fixed a bug involving #ATTACKS. Now when you set an attack,
  the mods are reverted back to how they were prior to the attack being set.
  [Wolfman2000]

2011/07/09
----------
* [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute.
  Any files that only use the Combo attribute will have that value copied to
  miss combo on next launch. [Wolfman2000]
* [ScoreKeeperNormal] Better match #COMBOS with eval. Scoring formulas should
  not be affected, but it may require more testing. [Wolfman2000]
* [Metrics] Have Pump mode lump the checkpoint judgments with Flawless and
  Miss judgments on eval. Of course, this goes down to Perfect and Miss if
  that is disabled. [Wolfman2000]

2011/07/07
----------
* [ScreenEdit] Fix the NoMines transformation bug, issue 363. [Wolfman2000]
* [CourseLoaderCRS] Don't load BEST# and WORST# where # is greater than the
  number of songs installed. Fixes issue 373. [AJ]
* [NotesAllSSC] Add the #CHARTNAME tag to the Steps. #DESCRIPTION is now for
  more detailed descriptions, or perhaps some short hand lingo. All files
  that used #DESCRIPTION will have their values moved to #CHARTNAME on
  load. [Wolfman2000]
* [ScreenEdit] Add a Steps Data menu for getting numerical step data on the
  chart. This is a read only menu. Edit Steps Information contains writable
  information. [Wolfman2000]
* [NotesAllSSC] Add the Steps version of #DISPLAYBPM. The Song version is
  still there, so themes should not have to worry about breakage.
  [Wolfman2000]

2011/07/06
----------
* [ScreenEdit] Fix the bug where hitting Enter during playing wouldn't take
  the user back to the editor. [Wolfman2000]
* [Gameplay] Fix Fail mods being dishonored. [Midiman]

2011/07/05
----------
* [ScreenEdit] Restore dance-couple and pump-couple for editing purposes.
  Saving should still work, but this was never tested yet. [Wolfman2000]
* [ScreenOptions] Mini is now ITG Mini, and Tiny is now Pump Pro Mini.
  This will prevent many prior courses from breaking. [sharksoda, Wolfman2000]
* [CharacterManager] Add a lua function to check how many characters you have.
  For an example of how this is used, check the default theme's scripts
  folder, specifically 03 ThemePrefs.lua. [Wolfman2000]

2011/07/04
----------
* [ScreenEdit] Add a function to switch the notes the routine players have to
  hit. In simple terms, Player 1's notes are now Player 2's and vice~versa.
  Check it out in the Alter Menu. [Wolfman2000]
* [ScreenEdit] Add two routine mirroring functions. Now you can build sections
  of a chart for one player, and mirror the effect for the other player when
  finished. For Pump players, it is not a straight mirror, but is more akin
  to what is found via normal routine charts. In other words, you'll be happy.
  Check it out in the Alter Menu. [Wolfman2000]

2011/07/03
----------
* [ScreenEdit] Fix a crash if one tries to remove an attack that doesn't
  exist at that time. [Wolfman2000]

================================================================================
StepMania 5.0 Preview 2 | 20110703
--------------------------------------------------------------------------------

2011/07/03
----------
* [Player] Bring mMods from OpenITG over. Also, a metric was added,
  "MModHighCap", to cap the speed mod if required for playing songs like
  Tsuhsuixamush. Set the metric to 0 or less to remove the cap. [AJ, sharksoda,
  Wolfman2000]

2011/07/02
----------
* [ScreenEdit] Fixed a crash when hitting Enter in the F1 help menu. [AJ]

2011/06/30
----------
* [NotesAll] Use #FIRSTSECOND, #LASTSECOND, and #LASTSECONDHINT instead of the
  former BEAT equivalents. Split Timing has made this a necessity thanks to
  certain files that abuse Stops/Delays more than usual. [Wolfman2000]
* [ScreenEdit] Add a function in the Area Menu to designate the current beat
  as the last second of the song. Please try to be smart and not use this too
  early. [Wolfman2000]

2011/06/28
----------
* [ScreenEdit] Add a function to copy/paste the TimingData of a player's
  choice. Remember to be in the appropriate mode when copying and pasting.
  By default, the song timing is already located in the clipboard, ready for
  use. [Wolfman2000]

2011/06/27
----------
* [Steps] Make sure #ATTACKS are copied when requested. [Wolfman2000]
* [ScreenEdit] Have Step Author up front instead of Chart Style. This is
  probably going to be better overall. [Wolfman2000]
* [TimingData] Preserve the length of time for Speed Segment scaling when using
  beats. [Wolfman2000]
* [NotesLoader/WriterSSC] #OFFSET is to be before #ATTACKS. This is required if
  we pursue beat based attacks and not just second based. [Wolfman2000]

2011/06/26
----------
* [UnlockManager] New metric: AutoLockEditSteps. Use this to hide bonus charts
  until the Expert steps are beaten. No guarantee that this works with no
  challenge steps in the song. This defaults to false. [Wolfman2000]
* [UnlockManager] New metric: SongsNotAdditional. Set to true to keep the
  default behavior, false to have the AdditionalSongs folder contain
  unlockable material. This is set to true to start. [Wolfman2000]
* [ScreenEdit] Allow jumping between all segments, not just Label segments.
  You still use Ctrl + ,/. to jump, but now you use Ctrl + N/M to cycle the
  segments. By default, it starts with Label. [Wolfman2000]
* [PlayerOptions] No longer display StepAttacks in the player's list.
  Instead, show NoAttacks if attacks are disabled. [Wolfman2000]

2011/06/24
----------
* [Actor] Implement compound(length,tweens) in _fallback/02 Actor.lua. [AJ]
* [UnlockManager] Add a new unlock reward: StepsType. This is similar to
  unlocking Steps, but it is targeted for one step in one stepstype rather
  than one step in all stepstypes. This needs testing. [Wolfman2000]
* [ScreenEdit] Add the option to convert delays to beats. Just find a better
  song to use this on besides Uprock. [Wolfman2000]
* [ScreenEdit] Fix a crash if you don't save any steps on a new song.
  [Wolfman2000]
* [NotesLoader/WriterSSC] Add support for Step #ATTACKS. Furthermore, Song
  Attacks (or rather, Step Attacks as it should be called now) are turned on
  by default instead of off. [Wolfman2000]

2011/06/19
----------
* [EditMenu] Allow all songs to work in Practice Mode, regardless of folder
  location. This fixes a crash if everyone had songs in AdditionalSongs.
  [Wolfman2000]

2011/06/17
----------
* [LifeMeterBattery] Fixed a bug where MinesSubtractLives was not being honored.
  Also added LifeChanged message to changing of life on holds. [AJ]

2011/06/15
----------
* [TimingData] Added many lua bindings for the other timing segments. GetWarps,
  GetCombos, GetTimeSignatures, GetTickcounts, GetFakes, GetScrolls, GetSpeeds.
  This should cover all of them now. [Wolfman2000]

2011/06/13
----------
* [InputHandler_DirectInput] Fixed MouseWheel input not resetting. [AJ]
* [ScreenTextEntry] Make it so only the keyboard's Enter key can finish the
  screen. Should fix issues with buttons whose secondary function is MenuStart. [AJ]
* [InputMapper] Modify default mappings. Use the Hyphen key instead of the
  Numlock key for Player 2's GAME_BUTTON_BACK. This should address some
  issues with Player 2 being unable to back out if they use a laptop.
  [Wolfman2000]
* [NoteDisplay] Add two new metrics.
 * DrawRollHeadForTapsOnSameRow: bool, similar to DrawHoldHeadForTapsOnSameRow
 * TapHoldRollOnRowMeansHold: bool, true means hold and false means roll
 * No noteskins should require updating, as these were placed in common/common
   for ease of use. [Wolfman2000]
* [LifeMeterBattery] Added ChangeLives(int) Lua binding. [AJ]
* [LifeMeterBattery] Added DangerThreshold metric. [AJ]
* [LifeMeterBattery] Added some important metrics. [AJ]
 * MinScoreToKeepLife='TapNoteScore_*' - any score below this = loss of life.
 * SubtractLives=1 - how many lives are lost when going below MinScoreToKeepLife.
 * MinesSubtractLives=1 - how many lives are lost when hitting a mine.
 * HeldAddLives=0 - how many lives are gained when a hold is completed.
 * LetGoSubtractLives=1 - how many lives are lost on a dropped hold.

2011/06/12
----------
* [ScreenNetSelectMusic] Add PlayerOptionsScreen metric. [AJ]
* [ScreenEdit] Restore the old PageUp/PageDown behavior, added Control +
  PageUp/PageDown to use recent time signature behavior. Laptop users, that
  includes you guys too: semicolon and apostrophe are still good. [Wolfman2000]

2011/06/11
----------
* [ScreenEdit] Allow setting the Music Preview via the Alter Menu. Just select
  your area, enter the menu, and choose "Designate as Music Preview". No more
  math calculations needed! [Wolfman2000]
* [SongUtil] Added GetPlayableSteps(Song) Lua binding. [AJ]
* [Steps] Allow 255 characters for all chart descriptions, including edits.
  We are no longer bound by In The Groove I think. [Wolfman2000]
* [Player] Add GetPlayerTimingData() Lua binding. [Wolfman2000]

2011/06/10
----------
* [ScreenEdit] Split the Area Menu into the Area Menu and Alter Menu. Use the
  "A" key to enter the Alter Menu when a selection of notes/rows are
  highlighted. Use the Enter key to enter the old Area Menu for the options that
  do not depend on selecting NoteData. [Wolfman2000]
* [ScreenEdit] Allow converting selections to Delays, Warps, or Fakes as well
  as Stops. Remember, use the Alter Menu for this. [Wolfman2000]

2011/06/09
----------
* [ScreenSyncOverlay] Ensure that F11 / F12 work with all charts due to Split
  Timing. [Wolfman2000]

2011/06/08
----------
* Any notes in a fake segment or warp segment are completely ignored for
  scoring purposes. Now you can get 100% on your warping goodness!
  [Wolfman2000]

2011/06/06
----------
* [PlayerOptions] Removed the ScoreDisplay mod choices. Use lua to make your
  own scoring formulas that work in reverse instead. [Wolfman2000]
* [ScreenGameplay] Fix an assist tick bug if there was no Player 1. Note that
  this changes the behavior slightly: it is the first enabled player, or
  master player, that gets the ticks now. A better solution will be looked at
  in the future. [Wolfman2000]
* [NoteDataUtil] Fix a radar issue involving hands. Unfortunately, this means
  yet another cache reload for accuracy purposes. [Wolfman2000]

2011/06/04
----------
* Changed default MusicWheelSwitchSpeed to 15 (was 10). [AJ]
* [AnnouncerManager] Fixed a bug where no announcers would be loaded. [AJ]
* Restored the UserPrefAutoSetStyle behavior. [Wolfman2000]
* [NotesLoaderSMA] Better way of identifying beats and seconds. [Wolfman2000]

================================================================================
StepMania 5.0 Preview 1a | 20110603
--------------------------------------------------------------------------------

2011/06/03
----------
* [LifeMeterBattery] Added LivesLeft param to LifeChanged message. [AJ]
* [Windows] Set up directories for pictures and app data in their proper
  location. [Henke]
* [NotesLoaderSM] Fix an Offset load bug. [Wolfman2000]

2011/06/02
----------
* [BPMDisplay] Added SetFromSteps Lua binding. [AJ]
* [ScreenDebugOverlay] Switch the R and T keys to be Volume Down and Up
  respectively. I have to admit, it makes more sense to have volume up be
  on the right instead of the left. [Wolfman2000]
* [SongManager] Make autogen courses have "Autogen" as the Scripter. [AJ]

2011/06/01
----------
* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000]
* [ScreenEdit] Fix Song Timing behaviors. [Wolfman2000]

2011/05/31
----------
* [Player] Added the BattleRaveMirror metric. This determines if Battle and
  Rave mode will have the two players with mirrored charts or not. By default,
  this is set to true, preserving the ITG style behavior. [Wolfman2000]
* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000]

================================================================================
StepMania 5.0 Preview 1 | 20110529
--------------------------------------------------------------------------------

2011/05/27
----------
* [ScreenEdit] Added the LoopOnChartEnd metric. Once you get to the end of
  the chart while playing it in the editor, this controls whether it loops and
  plays again, or simply stops. By default, this is true, replicating current
  behavior. Set to false to replicate older StepMania behavior. [Wolfman2000]

2011/05/26
----------
* [ScoreKeeperNormal] Added the MissComboIsPerRow metric. Similar to the
  ComboIsPerRow metric, this determines how much miss combo is earned on missing
  a row of notes. By default, this is true. Set to false to replicate Pump Pro
  behavior. [Wolfman2000]

2011/05/25
----------
* [NotesLoaderSSC/NotesWriterSSC] Added the ScrollSegments. Think BPM change,
  but not. [theDtTvB]

2011/05/23
----------
* [Steps] Added the UsesSplitTiming Lua binding. [Wolfman2000]

2011/05/20
----------
* [CryptManager] Added SHA1File Lua binding. [AJ]

2011/05/19
----------
* [BPMDisplay] Add CourseCycleSpeed metric. [AJ]

2011/05/17
----------
* [NotesWriterSM] Write out OpenITG compatible SM files from here on out.
  This includes turning Warps into Negative Stops. For those that wanted
  negative BPMs specifically, my apologies, but stops are easier on math.
  [Wolfman2000]

2011/05/16
----------
* [ProfileManager] Added ProfileWasLoadedFromMemoryCard(PlayerNumber)
  Lua binding. [AJ]
* Added #FAKES to the SSC format. Similar to the fake arrows, these blocks
  prevent all judgments within the range. [Wolfman2000]
* Changed the syntax of #WARPS slightly. Now the second value is the relative
  distance that is skipped, not the absolute value when you start hitting
  arrows again. [Wolfman2000]

2011/05/15
----------
* [ScreenGameplay] Removed hardcoded commands for Debug (give up text) and
  replace them with DebugStartOnCommand, DebugBackOnCommand, and
  DebugTweenOffCommand. [AJ]
* Added #SPEEDS to the SSC format. This multiplies your scrolling speed during
  gameplay, not replaces it (see mod attacks for replacing). [Wolfman2000]

2011/05/14
----------
* [ModIcon] Added StopWords metric. [AJ]
* [ScreenSelectMaster] Add "ScreenEmpty" param to MenuStartP# when the GameCommand
  doesn't set a screen. [AJ]
* [StepsDisplay] Added MeterFormatString metric. [AJ]
* [MusicWheel] Added ShowSectionsInBPMSort and ShowSectionsInLengthSort metrics. [AJ]
* [ScreenEvaluation] Stop the Bonus bars from overflowing in course modes. [AJ]
* [Banner] Added ScrollMode and ScrollSortOrder metrics. [AJ]

2011/05/13
----------
* Added Split Timing to .SSC files. All older .SSC files and other file
  formats are converted to split timing on cache load. We are no longer bound
  by Song Timing for everything. [theDtTvB, Wolfman2000, TeruFSX]

2011/05/11
----------
* [GameSoundManager] Added PlayAnnouncer Lua binding. [AJ]
* [AnnouncerManager] Add support for "gameplay combo #" for announcer. [AJ]

2011/05/10
----------
* [Sprite] Added SetSecondsIntoAnimation Lua binding. [AJ]
* [BPMDisplay] Added SetFromCourse Lua binding. [AJ]

2011/05/03
----------
* [ScreenEdit] Allow changing the Beat 0 Offset, Music Sample Start, and
  Music Sample Length via Edit Song Info menu. [Wolfman2000]

2011/05/02
----------
* [ScreenSelectMusic] Added NullScoreString metric. [AJ]

2011/04/17
--------
* Use lua for all primary score keeping. Course modes right now still use the
  old fashioned system. [TeruFSX, Wolfman2000]

2011/04/09
--------
* [Player] Force hold judgments to take place before setting the score.
  [theDtTvB]

2011/04/05
--------
* [NotesLoaderSSC, NotesWriterSSC] Add the #LABELS tag. This is meant for step
  editors to label different parts of their stepcharts. Use Control + , or . to
  jump to different labels made. [Wolfman2000]

