local BASE_MBLUR_MAX = 10 local CALLBACK_REGISTERED = true local ENABLED local BASE_MBLUR local CACHE local print_dbg = fps_based_mblur_mcm.print_dbg local get_config = fps_based_mblur_mcm.get_config function load_settings() ENABLED = get_config("ENABLED") BASE_MBLUR = get_config("BASE_MBLUR") CACHE = 1 / 50 * BASE_MBLUR / BASE_MBLUR_MAX if ENABLED and not CALLBACK_REGISTERED then RegisterScriptCallback("actor_on_update", actor_on_update) CALLBACK_REGISTERED = true elseif not ENABLED and CALLBACK_REGISTERED then UnregisterScriptCallback("actor_on_update", actor_on_update) CALLBACK_REGISTERED = false get_console():execute("r2_mblur " .. BASE_MBLUR / BASE_MBLUR_MAX) end end function actor_on_update() local delta = device().f_time_delta print_dbg("delta: %s", delta) print_dbg("not clamped amount: %s", CACHE / delta) get_console():execute("r2_mblur " .. clamp(CACHE / delta, 0, 1)) end function on_game_start() RegisterScriptCallback("on_option_change", load_settings) RegisterScriptCallback("actor_on_first_update", load_settings) RegisterScriptCallback("actor_on_update", actor_on_update) end