diff --git a/reframework/autorun/MHR_Overlay.lua b/reframework/autorun/MHR_Overlay.lua index 22921af..4b47883 100644 --- a/reframework/autorun/MHR_Overlay.lua +++ b/reframework/autorun/MHR_Overlay.lua @@ -534,7 +534,7 @@ end); if d2d ~= nil then d2d.register(function() drawing.init_font(); - end, function() + end, function() if config.current_config.global_settings.renderer.use_d2d_if_available then draw_loop(); end @@ -543,7 +543,6 @@ end re.on_frame(function() time.update_timers(); - keyboard.update(); if d2d == nil or not config.current_config.global_settings.renderer.use_d2d_if_available then draw_loop(); diff --git a/reframework/autorun/MHR_Overlay/Game_Handler/keyboard.lua b/reframework/autorun/MHR_Overlay/Game_Handler/keyboard.lua index 8430d8e..43e65df 100644 --- a/reframework/autorun/MHR_Overlay/Game_Handler/keyboard.lua +++ b/reframework/autorun/MHR_Overlay/Game_Handler/keyboard.lua @@ -9,6 +9,7 @@ local large_monster; local damage_meter_UI; local time; local error_handler; +local quest_status; local sdk = sdk; local tostring = tostring; @@ -49,6 +50,7 @@ local hard_keyboard_field_type_def = hard_keyboard_field:get_type(); local get_down_method = hard_keyboard_field_type_def:get_method("getDown"); local get_trigger_method = hard_keyboard_field_type_def:get_method("getTrg"); local get_release_method = hard_keyboard_field_type_def:get_method("getRelease"); +local update_method = hard_keyboard_field_type_def:get_method("update"); this.hotkey_modifiers_down = { ctrl = false, @@ -334,13 +336,7 @@ this.keys = { --[254] = "Clear" }; -function this.update() - if singletons.game_keyboard == nil then - error_handler.report("keyboard.update", "Failed to access Data: game_keyboard"); - return; - end - - local hard_keyboard = hard_keyboard_field:get_data(singletons.game_keyboard); +function this.update(hard_keyboard) if hard_keyboard == nil then error_handler.report("keyboard.update", "Failed to access Data: hard_keyboard"); return; @@ -717,9 +713,19 @@ function this.init_dependencies() damage_meter_UI = require("MHR_Overlay.UI.Modules.damage_meter_UI"); time = require("MHR_Overlay.Game_Handler.time"); error_handler = require("MHR_Overlay.Misc.error_handler"); + quest_status = require("MHR_Overlay.Game_Handler.quest_status"); end function this.init_module() + sdk.hook(update_method, function(args) + + local hard_keyboard = sdk.to_managed_object(args[2]); + + this.update(hard_keyboard); + + end, function(retval) + return retval; + end); end return this; \ No newline at end of file