version "3.3" // keyboard input snaps to increment // holding shift increments by ten steps Class OptionMenuItemMFXSlider : OptionMenuItemSlider { bool bShift, bAlt; override bool MenuEvent ( int mkey, bool fromcontroller ) { double value = GetSliderValue(); double step = bShift?(mStep*10):bAlt?(mStep*5):mStep; if ( mkey == Menu.MKEY_Left ) value -= step; else if ( mkey == Menu.MKEY_Right ) value += step; else return OptionMenuItem.MenuEvent(mkey,fromcontroller); if ( value ~== 0 ) value = 0; // This is to prevent formatting anomalies with very small values value = round(value/step)*step; // truncate to step SetSliderValue(clamp(value,mMin,mMax)); Menu.MenuSound("menu/change"); return true; } } // passes shift presses to MFXSliders Class MFXOptionMenu : OptionMenu { override void Init( Menu parent, OptionMenuDescriptor desc ) { Super.init(parent,desc); DontDim = true; DontBlur = true; } override bool OnUIEvent( UIEvent ev ) { for ( int i=0; i