From 2d84b4bb658fb82c89a9076b2465b540029b385b Mon Sep 17 00:00:00 2001 From: GreenComfyTea Date: Mon, 11 Jul 2022 10:03:46 +0300 Subject: [PATCH] Remove Max Updates per Tick, add Update Rate --- .../MHR_Overlay/Damage_Meter/damage_hook.lua | 6 +-- .../MHR_Overlay/Damage_Meter/player.lua | 2 +- .../autorun/MHR_Overlay/Game_Handler/time.lua | 37 +++++-------------- .../autorun/MHR_Overlay/Misc/config.lua | 3 +- .../autorun/MHR_Overlay/Misc/language.lua | 4 +- .../MHR_Overlay/UI/customization_menu.lua | 11 ++---- .../data/MHR Overlay/languages/en-us.json | 3 +- .../data/MHR Overlay/languages/ko-kr.json | 3 +- .../data/MHR Overlay/languages/ru-ru.json | 3 +- .../data/MHR Overlay/languages/zh-cn.json | 3 +- .../data/MHR Overlay/languages/zh-tw.json | 3 +- 11 files changed, 26 insertions(+), 52 deletions(-) diff --git a/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua b/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua index 188f721..4041923 100644 --- a/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua +++ b/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua @@ -185,9 +185,9 @@ function damage_hook.update_damage(enemy, enemy_calc_damage_info) --" Condition Type: (" .. tostring(attacker_type) .. --") " .. tostring(condition_type); - if string.len(xy) > 2300 then - xy = ""; - end + --if string.len(xy) > 2300 then + -- xy = ""; + --end local damage_source_type = damage_hook.get_damage_source_type(attacker_type, is_marionette_attack); diff --git a/reframework/autorun/MHR_Overlay/Damage_Meter/player.lua b/reframework/autorun/MHR_Overlay/Damage_Meter/player.lua index af45fd8..8860e65 100644 --- a/reframework/autorun/MHR_Overlay/Damage_Meter/player.lua +++ b/reframework/autorun/MHR_Overlay/Damage_Meter/player.lua @@ -173,7 +173,7 @@ function player.update_damage(_player, damage_source_type, is_large_monster, dam end if _player.first_hit_time == -1 then - _player.first_hit_time = time.total_elapsed_seconds; + _player.first_hit_time = time.total_elapsed_script_seconds; end local player_monster_type = _player.small_monsters; diff --git a/reframework/autorun/MHR_Overlay/Game_Handler/time.lua b/reframework/autorun/MHR_Overlay/Game_Handler/time.lua index 76bc660..ab274e6 100644 --- a/reframework/autorun/MHR_Overlay/Game_Handler/time.lua +++ b/reframework/autorun/MHR_Overlay/Game_Handler/time.lua @@ -3,7 +3,6 @@ local singletons; local customization_menu; local player; local config; -local small_monster; local quest_manager_type_def = sdk.find_type_definition("snow.QuestManager"); local get_quest_elapsed_time_min_method = quest_manager_type_def:get_method("getQuestElapsedTimeMin"); @@ -13,16 +12,9 @@ time.total_elapsed_seconds = 0; time.elapsed_minutes = 0; time.elapsed_seconds = 0; -time.total_elapsed_script_seconds = 0; -time.last_whole_script_seconds = 0; - -function time.update_script_time() - time.total_elapsed_script_seconds = os.clock(); -end +time.last_elapsed_seconds = 0; function time.tick() - time.update_script_time(); - if singletons.quest_manager == nil then return; end @@ -44,10 +36,9 @@ function time.tick() time.total_elapsed_seconds = quest_time_total_elapsed_seconds; time.elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60; - if time.total_elapsed_script_seconds - time.last_whole_script_seconds > 1 then - time.last_whole_script_seconds = time.total_elapsed_script_seconds; + if time.total_elapsed_seconds - time.last_elapsed_seconds > 60 / config.current_config.global_settings.performance.updates_rate then + time.last_elapsed_seconds = time.total_elapsed_seconds; time.update_players_dps(); - time.update_small_monsters(); end end @@ -57,20 +48,20 @@ function time.update_players_dps() local new_total_dps = 0; for _, _player in pairs(player.list) do if _player.join_time == -1 then - _player.join_time = time.total_elapsed_script_seconds; + _player.join_time = time.total_elapsed_seconds; end if cached_config.dps_mode == "Quest Time" then - if time.total_elapsed_script_seconds > 0 then - _player.dps = _player.display.total_damage / time.total_elapsed_script_seconds; + if time.total_elapsed_seconds > 0 then + _player.dps = _player.display.total_damage / time.total_elapsed_seconds; end elseif cached_config.dps_mode == "Join Time" then - if time.total_elapsed_script_seconds - _player.join_time > 0 then - _player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.join_time); + if time.total_elapsed_seconds - _player.join_time > 0 then + _player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.join_time); end elseif cached_config.dps_mode == "First Hit" then - if time.total_elapsed_script_seconds - _player.first_hit_time > 0 then - _player.dps = _player.display.total_damage / (time.total_elapsed_script_seconds - _player.first_hit_time); + if time.total_elapsed_seconds - _player.first_hit_time > 0 then + _player.dps = _player.display.total_damage / (time.total_elapsed_seconds - _player.first_hit_time); end else end @@ -81,20 +72,12 @@ function time.update_players_dps() player.total.dps = new_total_dps; end -function time.update_small_monsters() - - for enemy, monster in pairs(small_monster.list) do - small_monster.update(enemy, monster); - end -end - function time.init_module() player = require("MHR_Overlay.Damage_Meter.player"); singletons = require("MHR_Overlay.Game_Handler.singletons"); customization_menu = require("MHR_Overlay.UI.customization_menu"); time = require("MHR_Overlay.Game_Handler.time"); config = require("MHR_Overlay.Misc.config"); - small_monster = require("MHR_Overlay.Monsters.small_monster"); end return time; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/Misc/config.lua b/reframework/autorun/MHR_Overlay/Misc/config.lua index 6c091c0..da8d155 100644 --- a/reframework/autorun/MHR_Overlay/Misc/config.lua +++ b/reframework/autorun/MHR_Overlay/Misc/config.lua @@ -29,8 +29,7 @@ function config.init() }, performance = { - max_monster_updates_per_tick = 2, - prioritize_large_monsters = false, + update_rate = 60 }, module_visibility = { diff --git a/reframework/autorun/MHR_Overlay/Misc/language.lua b/reframework/autorun/MHR_Overlay/Misc/language.lua index b04cda8..e052d72 100644 --- a/reframework/autorun/MHR_Overlay/Misc/language.lua +++ b/reframework/autorun/MHR_Overlay/Misc/language.lua @@ -376,7 +376,9 @@ language.default_language = { hide_other_players = "Hide Other Players", hide_total_damage = "Hide Total Damage", - player_name_size_limit = "Player Name Size Limit" + player_name_size_limit = "Player Name Size Limit", + + update_rate = "Update Rate" } }; diff --git a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua index 10098e8..bcbcc4a 100644 --- a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua +++ b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua @@ -820,14 +820,9 @@ function customization_menu.draw() end if imgui.tree_node(language.current_language.customization_menu.performance) then - changed, config.current_config.global_settings.performance.max_monster_updates_per_tick = imgui.slider_int(language.current_language - .customization_menu.max_monster_updates_per_tick, - config.current_config.global_settings.performance.max_monster_updates_per_tick, 1, 150); - config_changed = config_changed or changed; - - changed, config.current_config.global_settings.performance.prioritize_large_monsters = imgui.checkbox( - language.current_language.customization_menu.prioritize_large_monsters, - config.current_config.global_settings.performance.prioritize_large_monsters); + changed, config.current_config.global_settings.performance.update_rate = imgui.slider_int(language.current_language + .customization_menu.update_rate, + config.current_config.global_settings.performance.update_rate, 1, 400); config_changed = config_changed or changed; imgui.tree_pop(); diff --git a/reframework/data/MHR Overlay/languages/en-us.json b/reframework/data/MHR Overlay/languages/en-us.json index 8b9074b..5993a87 100644 --- a/reframework/data/MHR Overlay/languages/en-us.json +++ b/reframework/data/MHR Overlay/languages/en-us.json @@ -140,7 +140,6 @@ "loss_health_percentage": "Sever Health Percentage", "master_rank": "Master Rank", "max_distance": "Max Distance", - "max_monster_updates_per_tick": "Max Monster Updates per Tick", "me": "Me", "menu_font": "Menu Font", "menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!", @@ -177,7 +176,6 @@ "poison_damage": "Poison Damage", "position": "Position", "press_any_key": "Press any key...", - "prioritize_large_monsters": "Large Monsters on High Priority", "quest_result_screen": "Quest Result Screen", "quest_time": "Quest Time", "rage": "Rage", @@ -222,6 +220,7 @@ "tracked_monster_types": "Tracked Monster Types", "training_area": "Training Area", "type": "Type", + "update_rate": "Update Rate", "value_label": "Value Label", "vertical": "Vertical", "viewport_offset": "Viewport Offset", diff --git a/reframework/data/MHR Overlay/languages/ko-kr.json b/reframework/data/MHR Overlay/languages/ko-kr.json index c1179b1..6ddf6e1 100644 --- a/reframework/data/MHR Overlay/languages/ko-kr.json +++ b/reframework/data/MHR Overlay/languages/ko-kr.json @@ -140,7 +140,6 @@ "loss_health_percentage": "절단 수치 비율", "master_rank": "마스터 랭크", "max_distance": "최대 거리", - "max_monster_updates_per_tick": "틱당 갱신할 최대 몬스터", "me": "나", "menu_font": "메뉴 글꼴", "menu_font_change_disclaimer": "언어 및 메뉴 글꼴 크기를 여러 번 변경하면 뻗을 수 있습니다!", @@ -177,7 +176,6 @@ "poison_damage": "독 대미지", "position": "위치", "press_any_key": "설정할 키를 누르세요...", - "prioritize_large_monsters": "대형 몬스터를 우선적으로", "quest_result_screen": "퀘스트 결과 화면", "quest_time": "퀘스트 시간", "rage": "분노", @@ -222,6 +220,7 @@ "tracked_monster_types": "추적할 몬스터 타입", "training_area": "훈련장", "type": "순으로", + "update_rate": "Update Rate", "value_label": "값 라벨", "vertical": "세로", "viewport_offset": "뷰포트 간격", diff --git a/reframework/data/MHR Overlay/languages/ru-ru.json b/reframework/data/MHR Overlay/languages/ru-ru.json index 93c2824..2fcf4c5 100644 --- a/reframework/data/MHR Overlay/languages/ru-ru.json +++ b/reframework/data/MHR Overlay/languages/ru-ru.json @@ -140,7 +140,6 @@ "loss_health_percentage": "Отсечение части в процентах", "master_rank": "Ранг мастера", "max_distance": "Макс. расстояние", - "max_monster_updates_per_tick": "Макс. кол-во обновлений за тик", "me": "Я", "menu_font": "Шрифт меню", "menu_font_change_disclaimer": "Изменение языка и размера шрифта меню несколько раз приведёт к вылету!", @@ -177,7 +176,6 @@ "poison_damage": "Урон от отравления", "position": "Расположение", "press_any_key": "Нажмите любую клавишу...", - "prioritize_large_monsters": "Большие монстры в приоритете", "quest_result_screen": "Экран результатов квеста", "quest_time": "Время квеста", "rage": "Ярость", @@ -222,6 +220,7 @@ "tracked_monster_types": "Отслеживаемые типы монстров", "training_area": "Тренировочная зона", "type": "Тип", + "update_rate": "Update Rate", "value_label": "Метка значений", "vertical": "Вертикально", "viewport_offset": "Сдвиг в экранном пространстве", diff --git a/reframework/data/MHR Overlay/languages/zh-cn.json b/reframework/data/MHR Overlay/languages/zh-cn.json index 41e526b..e5e3961 100644 --- a/reframework/data/MHR Overlay/languages/zh-cn.json +++ b/reframework/data/MHR Overlay/languages/zh-cn.json @@ -140,7 +140,6 @@ "loss_health_percentage": "Sever Health Percentage", "master_rank": "Master Rank", "max_distance": "最大距离", - "max_monster_updates_per_tick": "每次更新的最大怪物数量", "me": "我", "menu_font": "菜单字体", "menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!", @@ -177,7 +176,6 @@ "poison_damage": "中毒伤害", "position": "位置", "press_any_key": "按任意键...", - "prioritize_large_monsters": "大型怪物优先", "quest_result_screen": "任务结果页", "quest_time": "任务时间", "rage": "愤怒", @@ -222,6 +220,7 @@ "tracked_monster_types": "跟踪的怪物类型", "training_area": "训练场", "type": "类型", + "update_rate": "Update Rate", "value_label": "数字", "vertical": "垂直", "viewport_offset": "窗口偏移", diff --git a/reframework/data/MHR Overlay/languages/zh-tw.json b/reframework/data/MHR Overlay/languages/zh-tw.json index 29574c3..bae9652 100644 --- a/reframework/data/MHR Overlay/languages/zh-tw.json +++ b/reframework/data/MHR Overlay/languages/zh-tw.json @@ -140,7 +140,6 @@ "loss_health_percentage": "Sever Health Percentage", "master_rank": "Master Rank", "max_distance": "最大距離", - "max_monster_updates_per_tick": "每次更新的最大魔物數量", "me": "我", "menu_font": "選單字體大小", "menu_font_change_disclaimer": "Changing Language and Menu Font Size several times will cause a crash!", @@ -177,7 +176,6 @@ "poison_damage": "毒傷害", "position": "位置", "press_any_key": "輸入任意鍵...", - "prioritize_large_monsters": "大型魔物優先", "quest_result_screen": "任務結算頁", "quest_time": "任務時間", "rage": "憤怒度", @@ -222,6 +220,7 @@ "tracked_monster_types": "追蹤的魔物類型", "training_area": "訓練場", "type": "類型", + "update_rate": "Update Rate", "value_label": "數字", "vertical": "垂直", "viewport_offset": "視窗的位置",