StepMania 5.0.7; release notes compiled and Markdown formatted by @kyzentun: ### This is divided into two sections: * Player visible changes: New configuration options players should try out, * Themer visible changes: New (optional) screens that themes can support, new metrics or lua functions, or fixes for existing functions. Items are roughly grouped into the general part of StepMania they fit into. # Player visible changes: ## Loading Time: Simfile loading and caching has been changed internally to speed up loading time. If you're using an SSD, or only have a few hundred songs, you probably won't see any difference. People with large song collections who don't have SSDs should be able to measure the difference. Most of the changes are aimed at making Stepmania read song data from the cache and not look in the song folder until gameplay if the cache file exists. To take full advantage of this, you should have the Fast Load preferences set to true. There are new things to help simfile authors deal with cases where the cache file is out of date. ### Reload current song: Pressing Ctrl+Shift+R on Select Music will reload the currently selected song from its song folder, updating any cached information. ### Never Cache List preference: The NeverCacheList preference has been added to Preferences.ini. You can use it to set song group folders that should never be cached. The preference is set to a comma separated list of group names. Because it disables the cache for the songs in the groups listed, it should only be used sparingly, the cache is important for loading quickly. Example: `NeverCacheList=work_in_progress,abandoned_in_progress` This will cause the songs in the `work_in_progress` and `abandoned_in_progress` groups to never be cached. ## Delete songs from Select Music: Pressing Ctrl+Backspace on the Select Music screen will prompt you to *permanently* delete the currently selected song. ## Edit Mode: * ### Autosave: The song is automatically saved every 5 minutes if there are any changes. * ### EditClearPromptThreshold: When clearing an area with the Alter menu, if the area contains at least `EditClearPromptThreshold` notes, you will be prompted. It's a preference that is settable in the Advanced Options section or in the Options in Edit Mode. Setting it to `-1` means it will always prompt, setting it to `1000000` will make it never prompt. * ### Per-chart music: Each chart in a simfile can have its own `MUSIC` tag, pointing to a music file to use instead of the normal song music. This does not change the logic for when the song ends in gameplay. The time of the last step of any chart is still used as the time to end the song in gameplay, so if you use per-chart music, make sure your music is the same length. * ### Preview tag: Simfiles can have a `PREVIEW` tag which tells Stepmania to use a specific file for the preview instead of the song music file. The preview length should be read from the preview music file, so cut it right. ## Preferences: * ### HarshHotLifePenalty: Normally, if your life bar is full (1.0), and you get a judgement that would decrease it, 0.1 is taken off your life bar even if the penalty would be less than 0.1. If `HarshHotLifePenalty` is false, then the penalty is used instead of 0.1. ## General: * ### DX9 support: DX9 support improved, giving a large speed boost and fixing the problem that made people get stuck with 16bit color. [xwidghet] * ### Mutable actions: Pause/Break key now toggles "action" sounds off or on. There is also a button in the F3 debug menu for people that don't have a Pause/Break key (press A, there are so many that it is off the bottom). ## CMake: This only affects people building from source. Stepmania has moved to using CMake as the primary system for generating project files. This saves us the trouble of keeping several different project files updated. Read Build/README.md for instructions on using CMake to build. ## Language changelog: To make life slightly easier for translators, a language changelog has been added in Docs/Changelog_language.txt. # Themer visible changes: * Bug fixes are marked with [B]. * Functions are marked with [F]. ### ActorFrame: * [B] Fixed `RemoveChild` and `RemoveAllChildren` Lua functions to delete the children instead of leaking memory. ### ActorFrameTexture: * [E] Example added to Themerdocs/Examples/Example_Actors/. * [B] Various bug fixes. ### BitmapText: * [B] Place characters of right-to-left alphabets correctly. (untested) [roothorick] ### Font: * [B] Asserts and other things that caused StepMania to crash on font mistakes now emit non-fatal errors. ### Global: * [B] `foreach_ordered` lua function now works on tables that have both number and string keys. Number keys are iterated over first. ### PaneDisplay: * [B] Changed to print an error when metrics or player number are omitted instead of crashing. ### RageTexture: * [F] `GetPath` ### Screen: * [B] Fixed crash when AddInputCallback is passed `nil`. ### Song: * [F] `GetPreviewMusicPath` * [F] `ReloadFromSongDir`