local sharpvalue = json.load_file("sharp.json") or 0.2 local function get_component(game_object, type_name) local t = sdk.typeof(type_name) if t == nil then return nil end return game_object:call("getComponent(System.Type)", t) end local camera = sdk.get_managed_singleton("app.CameraManager"):get_field("_CameraObjects")[0] local tonemapping = get_component(camera, "via.render.ToneMapping") local function update_refs() camera = sdk.get_managed_singleton("app.CameraManager"):get_field("_CameraObjects")[0] tonemapping = get_component(camera, "via.render.ToneMapping") end update_refs() local function on_post_get_timescale(retval) sdk.call_object_func(tonemapping, "set_Sharpness", sharpvalue); return retval end re.on_draw_ui(function() if imgui.tree_node("Sharpness") then changed, sharpvalue = imgui.slider_float("Sharpness value", sharpvalue, 0, 1); json.dump_file("sharp.json", sharpvalue) tooltip("Sharpness value") imgui.end_rect(1) imgui.tree_pop() end end) sdk.hook( sdk.find_type_definition("app.FilterParamToneMapping"):get_method("copyTo"), function()end, on_post_get_timescale ) sdk.hook( sdk.find_type_definition("app.SaveDataManager"):get_method("loadGame"), function()end, function(retval) update_refs() return retval end )