StepMania 5.0.10
StepMania 5.0.10; release notes compiled and Markdown formatted by @kyzentun:
This is divided into three sections:
- Build visible changes: Items related to compiling or running StepMania.
- Player visible changes: Bug fixes and a couple new preferences.
- Themer visible changes: Bug fixes, new lua functions, new metrics.
Items are roughly grouped into the general part of StepMania they fit into.
Build visible changes:
Running (Windows):
Windows users are required to have the Visual Studio 2015 Redistributable installed. All Windows users must have the x86 version of the runtime installed. All Windows users who are on a 64-bit operating system are also advised to install the x64 version as well.
Compiling:
Cmake is now required for compiling Stepmania. Read Build/README.md
for instructions.
Lots of people came asking for help, so this bears repeating.
The thread in the release forum has been updated with instructions for compiling on Linux.
The linux tar.gz attached to this release was built for amd64 debian.
Additional compilation notes are found at the bottom of this document.
Player visible changes:
BMS:
- Fixed crash when an unknown type chart was in a bms.
- Fixed bug that would load iidx bms files as kb7.
- Added myo2 channel layout and kb7 charts. Added preview point and
fixed offset support and linear solo bms layout.
Course Mode:
- Fixed loading of courses that use WORST entries.
Edit Mode:
- Current Second display no longer has the global offset added in. Good people were
using the Current Second when syncing charts, and having the global offset added in
made syncing more difficult.
- Fixed crash on missing ScreenMiniMenuTimingDataChangeInformation metrics.
- .sm files will no longer be saved when split timing is used because
per-chart timing cannot be done in the .sm format.
There was some consideration of trying to change the bpm of charts when
saving to .sm, changing the bpm of the chart to match the song and moving
notes to occur near the same time, but that would cause most notes to be
several milliseconds off sync. So the idea of trying to create a similar
.sm for compatibility was discarded.
This only matters to people using split timing, which means different
bpm and stop data for each chart.
- Fixed crash on entering edit mode caused by entering edit mode as Player 2.
Edit Mode only works as Player 1.
Gameplay:
- Fixed problems with disqualification and charts with attacks. If a chart
has attacks, and the attack modifier is used to turn them "Off", then the
score is disqualified.
Turning on "Random Attacks" also disqualifies the score, even on charts that
do not have attacks.
- Fixed timing to apply the current music rate to the global
offset so that playing at different music rates doesn't make a chart off
sync.
- Fixed bug that caused missed holds to be recorded as held in some themes.
- Fixed bug that skipped notes on beat 0 in score.
Noteskins:
- If the fallback for a noteskin is not found, that noteskin is not loaded,
to prevent picking it and crashing.
- Fixed bug where the hold body doesn't scroll if it goes off the top of the
screen.
- Fixed bottomcap when NoteDisplay is zoomed out.
Preferences:
- MaxRegenComboAfterMiss preference brought in.
When a step is missed in gameplay, the combo has to get back up to
RegenComboAfterMiss before the player starts regaining life. If
MaxRegenComboAfterMiss is greater than RegenComboAfterMiss, then each
successive miss increases RegenComboAfterMiss until it reaches
MaxRegenComboAfterMiss.
MaxRegenComboAfterMiss defaults to 5, the same as RegenComboAfterMiss, so
there should be no behavior change unless the preference is manually
changed.
- Fixed crash on Advanced Input Options on OS X caused by the Axis Fix
preference not existing on OS X. The preference does nothing on OS X, but
the game no longer crashes on that screen.
- Added TimingWindowSecondsCheckpoint for the timing window that
checkpoint holds allow you to release for.
Songs:
- Changed song loading to allow a song to have a blank MusicFile field
if the song has any keysounds. A blank MusicFile entry can result from
having '#' in the music file name, or be intended for bms files. If the
music file name comes up blank, and there are no keysounds, the engine
looks in the song folder to find the music file, which makes loading the
song slower.
Themer visible changes:
Bug fixes and new functions:
- Bug fixes are marked with [B].
- Functions are marked with [F].
- Metrics added are marked with [M].
General:
- Texture Font Generator included again. It was left out by accident.
Actor:
- [B] Changed PlayCommandNoRecurse so that setting a theme metric to a
function that doesn't exist doesn't emit an error.
ActorFrame:
- [B] ActorFrame:SetDrawByZPosition now returns self. Missed a spot when
implementing function chaining.
ActorMultiVertex:
- [B] Fixed bug that sometimes caused diffuse to be applied to verts wrong.
ActorUtil:
- [B] ActorUtil.ResolvePath and ResolveRelativePath now take a boolean flag
to tell if the thing is optional.
BitmapText:
- [F] set_mult_attrs_with_diffuse
CryptMan:
- [B] Fixed bug that clipped hash strings with zeros.
Fonts:
- Respliced large kanji sprite sheets from 32x106 and 32x61 to 63x54 and
48x41 to bring them under 4096 pixels tall, which was causing a forced
resize and slowing down loading time. If your theme spends extra time in
the black screen phase before the splash screen, check your font image
sizes. Aim for the smallest power of 2 size in each dimension, and try to
keep both dimensions under 4096.
Gameplay:
- [B] Fixed song position updating logic so that the ScreenGameplay:PauseGame
lua function actually pauses the game. Start, Select, and Back are all used
for different ways of giving up, so the feature remains unused in the
default theme.
- [B] Fixed Player logic that spammed TNS_AvoidMine repeatedly.
- [M] Random background video behavior is now controlled by these
three metrics in the Background section:
RandomBGStartBeat sets the beat of the music the first random bg occurs on.
RandomBGChangeMeasures sets the number of measures between changes.
RandomBGChangesWhenBPMChangesAtMeasureStart toggles the behavior in its name.
RandomBGEndsAtLastBeat toggles the behavior in its name. Defaults to true.
MusicWheel:
- [B] Fixed SetItemPosition so that it actually passes the item index and the
number of items to the transform function.
ScreenEvaluation:
- [B] Changed assert that occurs when leaving ScreenGameplay with
SM_GoToNextScreen to give more info. (this only matters to certain
misbehaving lua scripts that don't let ScreenGameplay finish the normal
way.)
- [B] Fixed bug that caused missed holds to be recorded as held in the
value returned by PlayerStageStats:GetRadarActual().
ScreenMapControllers:
- [M] If the AutoDismissWarningSecs metric is less than .25 seconds, the
warning will not be shown (the TweenOn command for it will not be played).
Instead, the NeverShow command will be played. If the NeverShow command
does not exist for the warning actor, the warning actor will be set to
hibernate forever.
Sprite:
- [F] set_use_effect_clock_for_texcoords
Song:
SextetStream
- Now compiled in for all platforms.
Compiling (part 2)
- Number of jobs used when building ffmpeg can be customized by
WITH_FFMPEG_JOBS.
- Fixed cmake error when compiling with -DWITH_SSE2=off.
- Link with /MT on windows instead of /MD.
- Compiling stepmania on Windows with the locale set to Japanese should work now.
- Fixed compiling on 32bit linux.
- FFmpeg upgraded to 2.1.3 on Windows and Mac OS X.
- Fixed cmake WITH_SYSTEM_FFMPEG option.
- Symbolic links will be followed to find the actual executable dir.
- Minimaid support built in by default instead of off by default.