Support us on Patreon Wishlist us on Steam Jump to downloads
Hotfix:
- ❕✅ Fixed crash on beginnerhelper when loading next song on courses - Closes #560
- ❕✅ Fixed mal-aligned column positions on para, ez2, be-mu, techno layouts - Closes #563
- ❕✅ Fixed crash on board being set outside of gh - closes #559
If you see a message that says The board texture has not been set. Good job.
it means that the metric ShowBoard=true has been set. You can undo this to set it to false in modes that are not gh. It may show a message at the top of the screen if you have errors enabled, this will be here just as a temporary measure to see how often that metric was being set.
- ❕✅ Fixed crash on playback when revert from disk was used in the editor
- ❕✅ Fixed bpm > 100000000 to be warps again
- ❕✅ Fixed minefields flashing on the receptor - Closes #558
- ❕✅ Fixed quirk with autoplay not ignoring release
- ❕✅ Fixed check with type != group - Closes #557
The original changelog for 0.4.15 follows:
ALL:
Mode Specific
- ❕✅
be-mu
: Fixed doubles column location - ❕✅
be-mu
: Fixed crash with 5k versus - ❕✅
be-mu
: Fixed crash with legacy BMS and some BML files - ❕✅
dance
: Fixed left arrow for doubles - ❕✅
dance
: Fixed multi-row holds not being hit correctly on new hold mechanics - ❕✅
dance
: Fixed old .sm charts ending early - ❕✅
dance
: Added SetRequireStepOnHoldHeads() back for modding support - ❕✅
dance
: Fixed bug with missing 4k Dance support in BMS files - ❕✅
ds3ddx
: New Added 5 panel support! - ❕✅
ds3ddx
: New Addedpump
chart tods3ddx
smart autogen - ❕✅
ds3ddx
: Fixed bug with ds3ddx 5 panel not working due to invalid metrics - ❕✅
ds3ddx
: Fixed noteskin column locations and 5 panel ds3ddx layout - ❕✅
gh
: Fixed typo in last strum logic - ❕✅
gh
: Tweak fever in GH mode - ❕✅
gh
: New Added support for all sound layers in .chart and .midi files - ❕✅
gh
: Fixed crash with chart loading - ❕✅
gh
: Fixed bug with BGAs on .chart and .midi files - ❕✅
gh
: Fixed bug with missing loaded features on .chart and .midi files - ❕✅
gh
: Fixed bug with end of song evaluation crashes on .chart loader - ❕✅
gh
: Fixed 'out of range' ghost crashes when loading .chart files - ❕✅
kbx
: Fixed hold mechanics - ❕✅
kbx
: New Added arrow noteskins via global noteskins - ❕✅
kbx
: Fixed kbx tick-hold damage values - ❕✅
kbx
: Fixed kbx column layout for 16K / 18K - thanks hanubeki - ❕✅
kbx
: Fixed kbx noteskin crash - thanks hanubeki - ❕✅
po-mu
: Fixed crash with 3/5/7/9 versus - ❕✅
po-mu
: Fixed icon forpo-mu18
button style - ❕✅
para
: Fixed old .sm charts ending early - ❕✅
para
: New Added proper second hinting - ❕✅
pump
: Fixed bug with row overflow causing some charts to be 2.57 years in length - ❕✅
pump
: Fixed bug with notes at end of warp being unhittable - ❕✅
pump
: New Added classical3d+ noteskin for pump - ❕✅
pump
: Fixed bug with fake notes - ❕✅
pump
: Fixed clamp and overflow on beat locations on warps - ❕✅
pump
: Restored {} note support for pump - ❕✅
pump
: Fixed bug with mis-parsed hidden notes for pump - ❕✅
pump
: New Added support for 'h' notes - ❕✅
pump
: New Added skeleton for 's' and 'v' notes (coming in 0.4.16) - ❕✅
pump
: Fixed bug with checkpoint ticks - ❕✅
pump
: Fixed overflow on bpmMax - ❕✅
pump
: Fixed warps to behave properly once again - ❕✅
pump
: Fixed Musiclength overflowing - ❕✅
pump
: Fixed bug with pump #LASTSECOND - ❕✅
pump
: Fixed issue with #LASTSECONDHINT not respecting chart length correctly - ❕✅
pump
: New Added support for group file "ForcePIU" to force use the PIUloader - ❕✅
pump
: Fixed bug with hold end fixes - ❕✅
pump
: Fixed pump hold mechanics - ❕✅
pump
: Fixed bug with 2 second restart on older charts (pre 2010) - ❕✅
pump
: Fixed bug with 7 second restart on older .ksf charts (pre 2007) - ❕✅
pump
: Fixed bug with some charts ending early with extremely long 'ending' holds - ❕✅
pump
: Fixed pump holds stepping logic to be more accurate - ❕✅
pump
: Removed pointless 3.x era code breaking several features - ❕✅
pump
: Fixed hold notes judge for pump - ❕✅
pump
: Fixed pump doubles layout - ❕✅
pump
: Fixed pump life damage on tick-holds - ❕✅
pump
: Removed legacy 'time' methods for calculating pump length which have been broken since 2007 - ❕✅
pump
: Fixed dead code with 'First' and 'Last' second not being used except to overwrite with wrong information - ❕✅
pump
: Fixed bug with math in #LastSecondHint - ❕✅
pump
: Fixed 'centre' overlapping for noteskins - ❕✅
pump
: Fixed missing notes on receptors - ❕✅
pump
: Fixed bug with Pump Holds punishing life on checkpoint misses - ❕✅
taiko
: Added #BALLOON .tja note parsing, count logic needs to be added - ❕✅
taiko
: Fixed bug with missing A & B notes on .tja parser - ❕✅
taiko
: Added Note Type A B D E to .tja parser - ❕✅
taiko
: Fixed Missing #NOTESDESIGNER tags in .TJA files - ❕✅
all
: Fixed bug with hold ticks after a warp transition forgetting there was a hold - ❕✅
all
: Fixed tween overflow on holds - ❕✅
all
: Fixed bug with clamped BPM being weird on warps and bpm calculation - ❕✅
all
: New Only load keysounds on chart load, to speed up caching for BMS/PMS/DTX/GDA/BGF - ❕✅
all
: Fixed bug in cache being overwritten - ❕✅
all
: Fixed bug in cache values being written to in wrong order - ❕✅
all
: Fixed bug in the way cache is written for charts with slightly different lengths in .SSC and .SM files - ❕✅
all
: Rewrote SSC/SM/PIU loaders to respect proper chart lengths, removing the old SM 3.x methods - ❕✅
all
: Fixed #LASTSECOND overriding the hint and breaking musiclength values - ❕✅
all
: Fixed order for caching last second - ❕✅
all
: Fixed #LASTSECONDHINT not returning a value
Engine
- ❕✅ Fixed bug with bHeld not functioning as expected on auto play
- ❕✅ Some small general optimisations of entire math pipe
- ❕✅ Removed legacy SSC era lua function causing errors on infinitesimal and waiei themes
- ❕✅ Optimised lua stack to reduce odd edge case crash
- ❕✅ Fixed bug with head/tail switch on simpleholds
- ❕✅ Fixed bug with ScreenGameplay() overlay
- ❕✅ Fixed bug with several edge cases of the Lua stack overflowing
- ❕✅ Fixed bad sleep command in judgements
- ❕✅ Fixed menu event sounds to be proper action events in the sound engine
- ❕✅ Added proper IsAction support for PlayOnce()
- ❕✅ Fixed Autoplay missing holds and rolls with the new mechanics
- ❕✅ Updated ScreenSelectGame() for
ds3ddx5
andpo-mu18
- ❕✅ Fixed issue with missing default drivers
- ❕✅ Fixed crash with themes setting empty noteskins
- ❕✅ Fixed engine crash with some themes setting infinite fadeout
- ❕✅ Fixed engine crash with the notefield when some themes set infinity
- ❕✅ Fixed bug with Autoplay desync on SplitTiming
- ❕✅ Fixed file flush hang locking up the game
- ❕✅ Fixed SextetStream message pushing so lights work again (Thanks P.S. May)
- ❕✅ Fixed potential edge case with some SextetStream outputs not creating a suitable FIFO buffer (Thanks P.S. May)
- ❕✅ Fixed crash with difficulty selection on the engine music wheel
- ❕✅ Fixed buffer crash in RageSound
- ❕✅ Fixed memory leak in RageSound
- ❕✅ Fixed bad access in FLAC/Opus audio loaders
- ❕✅ Removed dead code in RageSoundDriver
- ❕✅ Fixed missing global headers
- ❕✅ Fixed race condition causing crashes when scrolling fast on some third party themes in the music wheel
- ❕✅ Added control channel support for rtMIDI
- ❕✅ Cut character count in MIDI button names for readability
- ❕✅ Fixed bug with channel mapping on LSB for rtMIDI
- ❕✅ Optimised MIDI inputhandler code for all systems
- ❕✅ Fixed bug with everything being portMIDI
- ❕✅ Enabled missing Pitch bend support in PortMIDI
- ❕✅ Added up/down jog-wheel logic to rtMIDI/portMIDI
- ❕✅ Added MIDI channel support for duplicate buttons
- ❕✅ Fixed bug with velocity on Event 0x09
- ❕✅ Fixed bug with channel value overflowing on portmidi
- ❕✅ Fixed bug with some MIDI messages being dropped on rtmidi
- ❕✅ Fixed rotary/slider support on both midi drivers
- ❕✅ Fixed memory leak in ffmpeg context creation
- ❕✅ Fixed stretch check on some videos
- ❕✅ Added support for 'AdditionalTextureHint' "stretch" in ffmpeg
- ❕✅ Fixed exception on rtMIDI 5.0.0
- ❕✅ Fixed bug with some quirky metrics, they have been Removed
- ❕✅ Fixed bug where some messages are sent when not playing
- ❕✅ Fixed LONG_MAX overflowing on BPM
- ❕✅ Fixed bug with missing CustomBeatBars metric
- ❕✅ Fixed bug with invalid song length in ScreenGameplay returning -1 and locking up the game
- ❕✅ Removed Song being able to overwrite values with incorrect ones
- ❕✅ Removed the need for the stencil buffer which was being set up automatically
- ❕✅ Fixed bug with shift+F2 bringing up the debug menu
- ❕✅ Fixed bug with head taps showing if a minefield is present, stops taps turning into hold/roll heads
- ❕✅ Fixed bug with the Profile Score loading
- ❕✅ Fixed rtmidi's implementation of pthreads
- ❕✅ Fixed crash with mutex not being unlocked causing an endless loop
- ❕✅ Fixed hard crash when loading game with >1000 songs
- ❕✅ Fixed bug with a buffer overflow on the sound buffer
- ❕✅ Added GetTotalScoresWithGrade() function -- This lets you get the total number of scores with the specified grade.
- ❕✅ Added missing noteskins on installer, thanks Mikex5
- ❕✅ Fixed note group type adding on TapNoteGroupType
- ❕✅ Added scroll factor calculations to beat bars
- ❕✅ Fixed bug with missing Lift and Roll explosions on the receptor
- ❕✅ Fixed bug in GetFileSet() causing an endless loop on some theme calls
- ❕✅ Fix crash with some mutex locks not being released
- ❕✅ Cleaned up timing data skew on loading on some edge cases
- ❕✅ Fixed Ago() inaccuracy on the sound position
- ❕✅ Removed High Resolution Clock for systems that do not support it
- ❕✅ Fixed ArchHooks() returning the wrong clock() type
- ❕✅ Fixed GetTimeSinceStart() not being as accurate as it pretends to be
- ❕✅ Fixed DeltaTime from rounding the wrong way and causing a stutter
- ❕✅ Added new time aliases, for modding will expose to lua later
- ❕✅ Fixed bug with Double -> Float -> UInt64 rounding... why
- ❕✅ Fixed bug in Lights driver where everything was 1-3ms behind the game
- ❕✅ Fixed bug in our 'FuncTimer' where it wasn't as accurate as it could be
- ❕✅ Fixed bug in TimingData for SSC caching and delivery
- ❕✅ Added support for new noteskin measure bars!
- ❕✅ Fixed bug with GIF files being automatically set as BGA
- ❕✅ Fixed bug with random BGA being force loaded when the file had programmed BGAs
- ❕✅ Fixed bug with styles not being correctly set with players available
- ❕✅ Fixed bug with simfiles with many scroll/stop/bpm change effects causing a crash
- ❕✅ Fixed crash with noteskins not honouring the datatype in lua
*Windows 7+:
- ❕✅ Updated portMIDI for windows 11
- ❕✅ Updated NSI to fix unneeded files being called
- ❕✅ Updated NSI on Windows to ensure proper cleanup - Thanks drumbs
- ❕✅ Fixed sound artifacts due to buffer underrun
- ❕✅ Forced legacy sampler to reduce WaveOut glitches on Windows 11
- ❕✅ Fixed bug with evaluation screen crashes on windows 7/8/8.1
- ❕✅ Fixed bug with BEX underflow error on windows 7
- ❕✅ Fixed stack overflows in Vista and 7
- ❕✅ Fixed 'This program has closed unexpectedly' on Windows 7
- ❕✅ Fixed Windows sound clock reporting the incorrect value
- ❕✅ Removed legacy Windows code that was running twice
Linux:
- ❕✅ Fixed size_t adjustments
- ❕✅ Fixed nil push on GetCurrentSong()
- ❕✅ Fixed sound clipping due to buffer underrun - Thanks SheepyChris
- ❕✅ Added a bug... Underflow the sound driver to fix pulseaudio potential skipping/scratching
- ❕✅ Fixed compile on new rtMIDI version
- ❕✅ Fixed bug with MIDI drivers not returning a device on Arch/Fedora linux on 5.5+ kernels
- ❕✅ Fixed segfaults on non-debian distros with kernel 5.10+
- ❕✅ Fixed Linux thread math overflow on Timer
MacOS (Universal):
- ❕✅ Updated portMIDI for MacOSX11+
ARM32/ARM64: (Raspberry Pi etc)
- ❕✅ Fixed some quirks on context generation thanks to MESA
- ❕✅ Fixed bug with evaluation screen crashes
- ❕✅ Fixed Segfaults on ARM systems
Community content
Other
- ✅ Added OutFox category to the LuaDocs XML
Noteskins
- ✅ New classical3d noteskin for pump
- ✅ Add 3D rolls to paws-simpleholds
Judgments
- ❕✅ Added KBX / BMS judgments from MDR
- ❕✅ Added Infinitesimal judgments
Translations
- ✅ Translations updated from Moru, SHRMP0 and SheepyChris (Brazilian Portuguese)
- ✅ Translations updated from Moneko (Polish)
- ✅ Translations updated from Hanubeki (Japanese)
- ✅ Translations updated from Jose_Varela (Spanish)
- ✅ Translations updated from Daniel Rotwind (German)
- ✅ New! Slovak translation by jose1711