adapt codebase to own, new system info impl

This commit is contained in:
2025-09-12 01:07:10 +01:00
parent 32e21f58a1
commit ab026c0bc6
9 changed files with 60 additions and 149 deletions
+11 -6
View File
@@ -1,7 +1,9 @@
use crate::{
features,
gui::{colours, settings::Settings, tools, ui_ext::UiExt},
util::{consts::game::WINDOW_TITLE, persistent_state::PersistentState, win},
util::{
consts::game::WINDOW_TITLE, persistent_state::PersistentState, system_info::SystemInfo, win,
},
};
use eframe::egui;
use std::time::{Duration, Instant};
@@ -39,7 +41,7 @@ pub struct App {
pub settings: Settings,
stage: Stage,
pub flags: Flags,
pub sysinfo: sysinfo::System,
pub system_info: SystemInfo,
game_handle: windows::Win32::Foundation::HANDLE,
pub anti_afk: features::anti_afk::AntiAfk,
empty_session: features::empty_session::EmptySession,
@@ -108,7 +110,7 @@ impl App {
egui::Button::new(&self.force_close.button_text),
);
self.force_close
.prompt(force_close_button.clicked(), &mut self.sysinfo);
.prompt(force_close_button.clicked(), &mut self.system_info);
}
fn show_session_section(&mut self, _ctx: &egui::Context, ui: &mut egui::Ui) {
@@ -116,8 +118,11 @@ impl App {
ui.add_enabled_ui(!self.empty_session.disabled, |ui| {
ui.horizontal(|ui| {
if ui.button("Empty current session").clicked() {
if features::empty_session::activate(&mut self.game_handle, &mut self.sysinfo)
.is_ok()
if features::empty_session::activate(
&mut self.game_handle,
&mut self.system_info,
)
.is_ok()
{
self.empty_session.interval = Instant::now();
self.empty_session.disabled = true;
@@ -169,7 +174,7 @@ impl App {
.add_sized([button_width, 18.0], egui::Button::new("Block"))
.clicked()
{
self.game_networking.block_all(&mut self.sysinfo);
self.game_networking.block_all(&mut self.system_info);
}
if ui
.add_sized([button_width, 18.0], egui::Button::new("Unblock"))
+6 -9
View File
@@ -48,19 +48,16 @@ impl App {
));
ui.label(format!("can activate: {}", self.anti_afk.can_activate()));
});
ui.collapsing("sysinfo", |ui| {
if ui.button("refresh all").clicked() {
self.sysinfo.refresh_all();
ui.collapsing("system info", |ui| {
if ui.button("refresh").clicked() {
self.system_info.refresh();
}
let pid = self
.sysinfo
.system_info
.processes()
.iter()
.find(|(_, p)| p.name() == EXE_ENHANCED || p.name() == EXE_LEGACY)
.map_or_else(
|| "no pid found!".to_owned(),
|(pid, _)| pid.as_u32().to_string(),
);
.find(|p| p.name() == EXE_ENHANCED || p.name() == EXE_LEGACY)
.map_or_else(|| "no pid found!".to_owned(), |p| p.pid().to_string());
ui.label(format!("gta pid: {pid}"));
});
ui.collapsing("app state", |ui| ui.label(format!("{self:#?}")));
+2 -2
View File
@@ -21,8 +21,8 @@ fn app_creator(
if !app.flags.elevated && app.settings.start_elevated {
win::elevate(win::ElevationExitMethod::Forced);
}
// refresh sysinfo because it initializes with nothing
app.sysinfo.refresh_all();
// refresh system info because it initializes with nothing
app.system_info.refresh();
// enable image loading support in egui
egui_extras::install_image_loaders(&cc.egui_ctx);
// set our initial theme, from earlier loaded settings. we set the egui theme