Sudden+ Converter

Converts SUDDEN+ values between beatoraja and IIDX.

This works with skins built to the same structure as IIDX, such as the LITONE family for beatoraja. Some LITONE versions calculate SUDDEN+ the way IIDX AC does, while others follow beatoraja's own calculation. Please check which one your skin uses before relying on this.
IIDX the whole lane is 1000

SUDDEN+ 0 · LIFT 0

beatoraja only above LIFT is 1000

SUDDEN+ 0 · LIFT 0

Drag the edge of a cover, or type a number inside it. Arrow keys work too.

How it works, and the formulas

IIDX treats the full height of the lane as 1000. SUDDEN+ is the height of the cover coming down from the top, and LIFT is the height of the cover rising from the bottom. Both are absolute values against that same 1000, so the visible area is 1000 − SUDDEN+ − LIFT.

beatoraja is different. It takes the area left over after LIFT has cut into the lane and treats that as 1000 again, then counts SUDDEN+ against it. So whenever LIFT is not zero, the screen looks identical but the number differs. That is why the two fields above always match in shape yet show different numbers.

beatoraja → IIDX IIDX = floor(BMS × (1000 − LIFT) ÷ 1000)
IIDX → beatoraja BMS = ceil(IIDX × 1000 ÷ (1000 − LIFT))
Change LIFT only, keeping the visible area IIDX' = IIDX − (LIFT' − LIFT)

There is a reason ceil appears on the way back. The only calculation the game itself performs is the rounding-down in the beatoraja → IIDX direction, so to land on an IIDX value of S you need the smallest BMS value that yields S when fed into that formula. Rounding down on the way back leaves you one short at some LIFT values.