Converts SUDDEN+ values between beatoraja and IIDX.
SUDDEN+ 0 · LIFT 0
SUDDEN+ 0 · LIFT 0
Drag the edge of a cover, or type a number inside it. Arrow keys work too.
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.
IIDX = floor(BMS × (1000 − LIFT) ÷ 1000)
BMS = ceil(IIDX × 1000 ÷ (1000 − LIFT))
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.