Skip to content

Fix Simplified Rhythm mod breaking diffcalc when applied to some maps#36947

Merged
peppy merged 4 commits intoppy:masterfrom
bdach:simplified-rhythm-breakage
Mar 12, 2026
Merged

Fix Simplified Rhythm mod breaking diffcalc when applied to some maps#36947
peppy merged 4 commits intoppy:masterfrom
bdach:simplified-rhythm-breakage

Conversation

@bdach
Copy link
Copy Markdown
Collaborator

@bdach bdach commented Mar 12, 2026

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 instants

This 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):

  • No mods: 5.18*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 3.48*
  • Simplified Rhythm @ 933de7a: 5.18*

BULANOVA - NE PLACH' [inner oni] (1/8 snap):

  • No mods: 5.84*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 4.13*
  • Simplified Rhythm @ 933de7a: 5.84*

BULANOVA - NE PLACH' [don't cry] (1/8 snap):

  • No mods: 6.91*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 4.84*
  • Simplified Rhythm @ 933de7a: 6.91*

Mili - Peach Pit and Cyanide [nik's Normal] (1/6 snap):

  • No mods: 1.63*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 1.10*
  • Simplified Rhythm @ 933de7a: 1.10*

Mili - Peach Pit and Cyanide [Ix's Hard] (1/3 snap):

  • No mods: 2.50*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 1.71*
  • Simplified Rhythm @ 933de7a: 1.71*

Mili - Peach Pit and Cyanide [nomi's Hidden Insane] (1/3 snap):

  • No mods: 3.93*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 2.59*
  • Simplified Rhythm @ 933de7a: 2.59*

Within Temptation - The Unforgiving [Stairway To The Skies] (1/3 snap in editor):

  • No mods: 1.53*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 1.48*
  • Simplified Rhythm @ 933de7a: 1.48*

Within Temptation - The Unforgiving [Iron] (1/6 snap in editor):

  • No mods: 2.76*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 1.75*
  • Simplified Rhythm @ 933de7a: 1.75*

Within Temptation - The Unforgiving [Marathon] (1/4 snap in editor, but has 1/3 / 1/6 sections for sure):

  • No mods: 2.96*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 2.75*
  • Simplified Rhythm @ 933de7a: 2.75*

Halozy - Genryuu Kaiko [Higan Torrent] (1/4 snap):

  • No mods: 5.37*
  • Simplified Rhythm @ master: 0.00*
  • Simplified Rhythm @ f4807b3: 3.95*
  • Simplified Rhythm @ 933de7a: 5.37*

@bdach bdach requested a review from Hiviexd March 12, 2026 08:49
@bdach bdach self-assigned this Mar 12, 2026
@bdach bdach moved this from Inbox to Pending Review in osu! team task tracker Mar 12, 2026
@bdach bdach changed the title Fix Simplified Rhythm map breaking diffcalc when applied to some maps Fix Simplified Rhythm mod breaking diffcalc when applied to some maps Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Simplified Rhythm (1/3 to 1/2 conversion) breaks certain taiko beatmaps

2 participants