Fix Simplified Rhythm mod breaking diffcalc when applied to some maps#36947
Merged
peppy merged 4 commits intoppy:masterfrom Mar 12, 2026
Merged
Fix Simplified Rhythm mod breaking diffcalc when applied to some maps#36947peppy merged 4 commits intoppy:masterfrom
peppy merged 4 commits intoppy:masterfrom
Conversation
…ut of order This is a last ditch safety. This mod has more apparent issues but this is a first step of restoring sanity.
peppy
approved these changes
Mar 12, 2026
This was referenced Apr 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ensure Simplified Rhythm mod does not produce beatmaps with objects out of order
This is a last ditch safety.
This mod has more apparent issues (see below) but this is a first step of restoring sanity.
Aside than the other fix described below I have not attempted to figure out further why this is happening because the conversion logic is in over my head. I just want hard breakage to not be possible. Why this extra sort is necessary can be investigated by @Hiviexd if he's so inclined.
Fix
GetClosestBeatDivisor()not working correctly with negative time instantsThis was causing the 1/3 -> 1/2 conversion in Simplified Rhythm to engage on some maps that weren't even mapped in waltz time. Those maps had the common trait of having a timing point with a negative start time.
Notably this could feasibly affect other places as well, like mania beat snap colouring, or the Synesthesia osu! mod.
testing
Tested with Simplified Rhythm engaged, with 1/6 -> 1/4 and 1/3 -> 1/2 conversion enabled
BULANOVA - NE PLACH' [oni] (1/8 snap):
BULANOVA - NE PLACH' [inner oni] (1/8 snap):
BULANOVA - NE PLACH' [don't cry] (1/8 snap):
Mili - Peach Pit and Cyanide [nik's Normal] (1/6 snap):
Mili - Peach Pit and Cyanide [Ix's Hard] (1/3 snap):
Mili - Peach Pit and Cyanide [nomi's Hidden Insane] (1/3 snap):
Within Temptation - The Unforgiving [Stairway To The Skies] (1/3 snap in editor):
Within Temptation - The Unforgiving [Iron] (1/6 snap in editor):
Within Temptation - The Unforgiving [Marathon] (1/4 snap in editor, but has 1/3 / 1/6 sections for sure):
Halozy - Genryuu Kaiko [Higan Torrent] (1/4 snap):