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 Added pump chart to ds3ddx 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 for po-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 and po-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