From 35f13bb0ac5103fe16be081fa59089082e06ecd8 Mon Sep 17 00:00:00 2001 From: mkrsym1 Date: Thu, 28 Dec 2023 00:13:42 +0200 Subject: [PATCH 1/4] feat(ui): adapted to the new FPS unlocker --- src/ui/preferences/enhancements/mod.rs | 68 ++++---------------------- 1 file changed, 9 insertions(+), 59 deletions(-) diff --git a/src/ui/preferences/enhancements/mod.rs b/src/ui/preferences/enhancements/mod.rs index f55cb96..8013cd4 100644 --- a/src/ui/preferences/enhancements/mod.rs +++ b/src/ui/preferences/enhancements/mod.rs @@ -603,18 +603,18 @@ impl SimpleAsyncComponent for EnhancementsApp { }, adw::ActionRow { - set_title: &tr!("power-saving"), - set_subtitle: &tr!("power-saving-description"), + set_title: &tr!("periodic-unlock"), + set_subtitle: &tr!("periodic-unlock-description"), add_suffix = >k::Switch { set_valign: gtk::Align::Center, - set_state: CONFIG.game.enhancements.fps_unlocker.config.power_saving, + set_state: CONFIG.game.enhancements.fps_unlocker.config.periodic_writes, connect_state_notify => |switch| { if is_ready() { if let Ok(mut config) = Config::get() { - config.game.enhancements.fps_unlocker.config.power_saving = switch.state(); + config.game.enhancements.fps_unlocker.config.periodic_writes = switch.state(); Config::update(config); } @@ -624,19 +624,19 @@ impl SimpleAsyncComponent for EnhancementsApp { }, adw::ActionRow { - set_title: &tr!("monitor"), - set_subtitle: &tr!("monitor-description"), + set_title: &tr!("unlock-interval"), + set_subtitle: &tr!("unlock-interval-description"), add_suffix = >k::SpinButton { set_valign: gtk::Align::Center, - set_adjustment: >k::Adjustment::new(1.0, 1.0, 10.0, 1.0, 1.0, 0.0), + set_adjustment: >k::Adjustment::new(1.0, 1000.0, 60000.0, 1000.0, 1.0, 0.0), - set_value: CONFIG.game.enhancements.fps_unlocker.config.monitor as f64, + set_value: CONFIG.game.enhancements.fps_unlocker.config.interval as f64, connect_changed => |row| { if is_ready() { if let Ok(mut config) = Config::get() { - config.game.enhancements.fps_unlocker.config.monitor = row.value() as u64; + config.game.enhancements.fps_unlocker.config.interval = row.value() as u64; Config::update(config); } @@ -644,56 +644,6 @@ impl SimpleAsyncComponent for EnhancementsApp { } } }, - - adw::ComboRow { - set_title: &tr!("window-mode"), - - #[wrap(Some)] - set_model = >k::StringList::new(&[ - &tr!("default"), - &tr!("popup"), - &tr!("fullscreen") - ]), - - set_selected: CONFIG.game.enhancements.fps_unlocker.config.window_mode.ordinal() as u32, - - connect_selected_notify => |row| unsafe { - if is_ready() { - if let Ok(mut config) = Config::get() { - config.game.enhancements.fps_unlocker.config.window_mode = WindowMode::from_ordinal_unsafe(row.selected() as i8); - - Config::update(config); - } - } - } - }, - - adw::ComboRow { - set_title: &tr!("priority"), - set_subtitle: &tr!("priority-description"), - - #[wrap(Some)] - set_model = >k::StringList::new(&[ - &tr!("realtime"), - &tr!("high"), - &tr!("above-normal"), - &tr!("normal"), - &tr!("below-normal"), - &tr!("low") - ]), - - set_selected: CONFIG.game.enhancements.fps_unlocker.config.priority as u32, - - connect_selected_notify => |row| { - if is_ready() { - if let Ok(mut config) = Config::get() { - config.game.enhancements.fps_unlocker.config.priority = row.selected() as u64; - - Config::update(config); - } - } - } - }, } }, From 2f522d3b354f0eefe5181d57de1897864317d5d5 Mon Sep 17 00:00:00 2001 From: mkrsym1 Date: Thu, 28 Dec 2023 00:14:23 +0200 Subject: [PATCH 2/4] feat(i18n): added translations for new FPS unlocker keys --- assets/locales/en/enhancements.ftl | 17 ++++------------- assets/locales/ru/enhancements.ftl | 19 +++++-------------- 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/assets/locales/en/enhancements.ftl b/assets/locales/en/enhancements.ftl index e489fbc..c7088bf 100644 --- a/assets/locales/en/enhancements.ftl +++ b/assets/locales/en/enhancements.ftl @@ -48,22 +48,13 @@ fps-unlocker = FPS Unlocker enabled = Enabled fps-unlocker-description = Remove frames rendering limitation by modifying the game's memory. Can be detected by the anti-cheat -power-saving = Power saving -power-saving-description = Automatically set the FPS limit to 10 and low process priority upon losing focus to the game (e.g. tabbing out) +periodic-unlock = Periodic overwrites +periodic-unlock-description = Periodically overwrite the FPS limit value in the game to prevent it from dropping -monitor = Monitor -monitor-description = Number of monitor you want to run the game on +unlock-interval = Overwrite interval +unlock-interval-description = Delay in milliseconds between overwrites window-mode = Window Mode borderless = Borderless popup = Popup fullscreen = Fullscreen - -priority = Priority -priority-description = Game process priority -realtime = Realtime -high = High -above-normal = Above Normal -normal = Normal -below-normal = Below Normal -low = Low diff --git a/assets/locales/ru/enhancements.ftl b/assets/locales/ru/enhancements.ftl index 511b9b4..a637042 100644 --- a/assets/locales/ru/enhancements.ftl +++ b/assets/locales/ru/enhancements.ftl @@ -46,24 +46,15 @@ description = Описание fps-unlocker = FPS Unlocker enabled = Включен -fps-unlocker-description = Убрать ограничение количества кадров модифицируя память игры. Может быть обнаружено античитом +fps-unlocker-description = Изменить ограничение частоты кадров путём модификации памяти игры. Может быть обнаружено античитом -power-saving = Энергосбережение -power-saving-description = Автоматически устанавливать предел количества кадров до 10 и снижать приоритет процесса игры когда она не находится в фокусе +periodic-unlock = Периодическая перезапись +periodic-unlock-description = Периодически перезаписывать значение ограничения частоты кадров, чтобы предотвратить его сброс -monitor = Монитор -monitor-description = Номер монитора, на котором стоит запустить игру +unlock-interval = Задержка между перезаписями +unlock-interval-description = Задержка между перезаписями в миллисекундах window-mode = Режим окна borderless = Безрамочный popup = Всплывающий fullscreen = Полноэкранный - -priority = Приоритет -priority-description = Приоритет процесса игры -realtime = Реального времени -high = Высокий -above-normal = Выше среднего -normal = Средний -below-normal = Ниже среднего -low = Низкий From 445f545ce8374e1d4f5d51686e737927813d1e2d Mon Sep 17 00:00:00 2001 From: mkrsym1 Date: Thu, 28 Dec 2023 00:53:24 +0200 Subject: [PATCH 3/4] feat: remove the option to disable periodic writes --- assets/locales/en/enhancements.ftl | 3 --- assets/locales/ru/enhancements.ftl | 3 --- src/ui/preferences/enhancements/mod.rs | 21 --------------------- 3 files changed, 27 deletions(-) diff --git a/assets/locales/en/enhancements.ftl b/assets/locales/en/enhancements.ftl index c7088bf..d407cc4 100644 --- a/assets/locales/en/enhancements.ftl +++ b/assets/locales/en/enhancements.ftl @@ -48,9 +48,6 @@ fps-unlocker = FPS Unlocker enabled = Enabled fps-unlocker-description = Remove frames rendering limitation by modifying the game's memory. Can be detected by the anti-cheat -periodic-unlock = Periodic overwrites -periodic-unlock-description = Periodically overwrite the FPS limit value in the game to prevent it from dropping - unlock-interval = Overwrite interval unlock-interval-description = Delay in milliseconds between overwrites diff --git a/assets/locales/ru/enhancements.ftl b/assets/locales/ru/enhancements.ftl index a637042..7ab975b 100644 --- a/assets/locales/ru/enhancements.ftl +++ b/assets/locales/ru/enhancements.ftl @@ -48,9 +48,6 @@ fps-unlocker = FPS Unlocker enabled = Включен fps-unlocker-description = Изменить ограничение частоты кадров путём модификации памяти игры. Может быть обнаружено античитом -periodic-unlock = Периодическая перезапись -periodic-unlock-description = Периодически перезаписывать значение ограничения частоты кадров, чтобы предотвратить его сброс - unlock-interval = Задержка между перезаписями unlock-interval-description = Задержка между перезаписями в миллисекундах diff --git a/src/ui/preferences/enhancements/mod.rs b/src/ui/preferences/enhancements/mod.rs index 8013cd4..2561be6 100644 --- a/src/ui/preferences/enhancements/mod.rs +++ b/src/ui/preferences/enhancements/mod.rs @@ -602,27 +602,6 @@ impl SimpleAsyncComponent for EnhancementsApp { } }, - adw::ActionRow { - set_title: &tr!("periodic-unlock"), - set_subtitle: &tr!("periodic-unlock-description"), - - add_suffix = >k::Switch { - set_valign: gtk::Align::Center, - - set_state: CONFIG.game.enhancements.fps_unlocker.config.periodic_writes, - - connect_state_notify => |switch| { - if is_ready() { - if let Ok(mut config) = Config::get() { - config.game.enhancements.fps_unlocker.config.periodic_writes = switch.state(); - - Config::update(config); - } - } - } - } - }, - adw::ActionRow { set_title: &tr!("unlock-interval"), set_subtitle: &tr!("unlock-interval-description"), From c250d532d17dbc9556a88384e20acfe926e3ddfa Mon Sep 17 00:00:00 2001 From: mkrsym1 Date: Thu, 28 Dec 2023 12:43:30 +0200 Subject: [PATCH 4/4] feat(i18n): improved FPS unlocker related translations --- assets/locales/en/enhancements.ftl | 2 +- assets/locales/ru/enhancements.ftl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/locales/en/enhancements.ftl b/assets/locales/en/enhancements.ftl index d407cc4..5bcf5e3 100644 --- a/assets/locales/en/enhancements.ftl +++ b/assets/locales/en/enhancements.ftl @@ -49,7 +49,7 @@ enabled = Enabled fps-unlocker-description = Remove frames rendering limitation by modifying the game's memory. Can be detected by the anti-cheat unlock-interval = Overwrite interval -unlock-interval-description = Delay in milliseconds between overwrites +unlock-interval-description = Delay in milliseconds between overwriting the FPS limit value. Periodic overwrites are necessary to prevent it from resetting window-mode = Window Mode borderless = Borderless diff --git a/assets/locales/ru/enhancements.ftl b/assets/locales/ru/enhancements.ftl index 7ab975b..2775594 100644 --- a/assets/locales/ru/enhancements.ftl +++ b/assets/locales/ru/enhancements.ftl @@ -49,7 +49,7 @@ enabled = Включен fps-unlocker-description = Изменить ограничение частоты кадров путём модификации памяти игры. Может быть обнаружено античитом unlock-interval = Задержка между перезаписями -unlock-interval-description = Задержка между перезаписями в миллисекундах +unlock-interval-description = Задержка между перезаписями в миллисекундах. Периодическая перезапись значения ограничения необходима для предотвращения его сброса window-mode = Режим окна borderless = Безрамочный