change stuff and add stuff
This commit is contained in:
@@ -14,6 +14,8 @@ sysinfo = "0.33.1"
|
|||||||
windows = { version = "0.61.1", features = [
|
windows = { version = "0.61.1", features = [
|
||||||
"Win32_UI_Input_KeyboardAndMouse",
|
"Win32_UI_Input_KeyboardAndMouse",
|
||||||
"Win32_System_Threading",
|
"Win32_System_Threading",
|
||||||
|
"Win32_UI_Shell",
|
||||||
|
"Win32_UI_WindowsAndMessaging",
|
||||||
] }
|
] }
|
||||||
winreg = "0.55.0"
|
winreg = "0.55.0"
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const ENHANCED: &str = "GTA5_Enhanced.exe";
|
|||||||
const LEGACY: &str = "GTA5.exe";
|
const LEGACY: &str = "GTA5.exe";
|
||||||
|
|
||||||
pub struct EmptySession {
|
pub struct EmptySession {
|
||||||
pub enabled: bool,
|
pub disabled: bool,
|
||||||
pub interval: Instant,
|
pub interval: Instant,
|
||||||
pub countdown: Countdown,
|
pub countdown: Countdown,
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,7 @@ pub struct EmptySession {
|
|||||||
impl Default for EmptySession {
|
impl Default for EmptySession {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
enabled: true,
|
disabled: false,
|
||||||
interval: Instant::now(),
|
interval: Instant::now(),
|
||||||
countdown: Countdown::new(features::empty_session::INTERVAL.as_secs() as usize),
|
countdown: Countdown::new(features::empty_session::INTERVAL.as_secs() as usize),
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-7
@@ -1,9 +1,12 @@
|
|||||||
use crate::features::{
|
use crate::{
|
||||||
|
features::{
|
||||||
self,
|
self,
|
||||||
anti_afk::AntiAfk,
|
anti_afk::AntiAfk,
|
||||||
empty_session::EmptySession,
|
empty_session::EmptySession,
|
||||||
force_close::ForceClose,
|
force_close::ForceClose,
|
||||||
launch::{Launch, Platform},
|
launch::{Launch, Platform},
|
||||||
|
},
|
||||||
|
util::elevate,
|
||||||
};
|
};
|
||||||
use eframe::egui;
|
use eframe::egui;
|
||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
@@ -92,21 +95,21 @@ impl eframe::App for App {
|
|||||||
ui.label("Session");
|
ui.label("Session");
|
||||||
ui.add(egui::Separator::default().horizontal());
|
ui.add(egui::Separator::default().horizontal());
|
||||||
});
|
});
|
||||||
ui.add_enabled_ui(self.empty_session.enabled, |ui| {
|
ui.add_enabled_ui(!self.empty_session.disabled, |ui| {
|
||||||
ui.horizontal(|ui| {
|
ui.horizontal(|ui| {
|
||||||
if ui.button("Empty current session").clicked() {
|
if ui.button("Empty current session").clicked() {
|
||||||
self.empty_session.interval = Instant::now();
|
self.empty_session.interval = Instant::now();
|
||||||
self.empty_session.enabled = false;
|
self.empty_session.disabled = true;
|
||||||
features::empty_session::activate(self);
|
features::empty_session::activate(self);
|
||||||
}
|
}
|
||||||
if !self.empty_session.enabled {
|
if self.empty_session.disabled {
|
||||||
self.empty_session.countdown.count();
|
self.empty_session.countdown.count();
|
||||||
} else {
|
} else {
|
||||||
self.empty_session.countdown.reset();
|
self.empty_session.countdown.reset();
|
||||||
}
|
}
|
||||||
if self.empty_session.interval.elapsed() >= features::empty_session::INTERVAL {
|
if self.empty_session.interval.elapsed() >= features::empty_session::INTERVAL {
|
||||||
features::empty_session::deactivate(self);
|
features::empty_session::deactivate(self);
|
||||||
self.empty_session.enabled = true;
|
self.empty_session.disabled = false;
|
||||||
}
|
}
|
||||||
ui.label(&self.empty_session.countdown.i_string);
|
ui.label(&self.empty_session.countdown.i_string);
|
||||||
});
|
});
|
||||||
@@ -119,6 +122,14 @@ impl eframe::App for App {
|
|||||||
features::anti_afk::activate();
|
features::anti_afk::activate();
|
||||||
self.anti_afk.interval = Instant::now();
|
self.anti_afk.interval = Instant::now();
|
||||||
}
|
}
|
||||||
|
// ui.horizontal(|ui| {
|
||||||
|
// ui.label("Network");
|
||||||
|
// ui.add(egui::Separator::default().horizontal());
|
||||||
|
// });
|
||||||
|
// if ui.button("Elevate").clicked() {
|
||||||
|
// elevate::elevate();
|
||||||
|
// }
|
||||||
|
// ui.checkbox(&mut false, "Block connections to Rockstar");
|
||||||
ui.with_layout(egui::Layout::bottom_up(egui::Align::Center), |ui| {
|
ui.with_layout(egui::Layout::bottom_up(egui::Align::Center), |ui| {
|
||||||
ui.horizontal(|ui| {
|
ui.horizontal(|ui| {
|
||||||
ui.horizontal(|ui| {
|
ui.horizontal(|ui| {
|
||||||
@@ -127,7 +138,11 @@ impl eframe::App for App {
|
|||||||
ui.hyperlink_to("futile", "http://futile.eu");
|
ui.hyperlink_to("futile", "http://futile.eu");
|
||||||
});
|
});
|
||||||
ui.separator();
|
ui.separator();
|
||||||
ui.label(format!("v{}", env!("CARGO_PKG_VERSION")));
|
ui.label(format!(
|
||||||
|
"v{} {}",
|
||||||
|
env!("CARGO_PKG_VERSION"),
|
||||||
|
if cfg!(debug_assertions) { "(dev)" } else { "" }
|
||||||
|
));
|
||||||
});
|
});
|
||||||
// ui.separator();
|
// ui.separator();
|
||||||
});
|
});
|
||||||
@@ -156,7 +171,7 @@ pub fn run() {
|
|||||||
viewport: egui::ViewportBuilder::default()
|
viewport: egui::ViewportBuilder::default()
|
||||||
.with_resizable(false)
|
.with_resizable(false)
|
||||||
.with_maximize_button(false)
|
.with_maximize_button(false)
|
||||||
.with_inner_size([250.0, 180.0])
|
.with_inner_size([250.0, 225.0])
|
||||||
.with_icon(load_icon()),
|
.with_icon(load_icon()),
|
||||||
centered: true,
|
centered: true,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
use windows::{
|
||||||
|
Win32::UI::{Shell::ShellExecuteW, WindowsAndMessaging::SW_HIDE},
|
||||||
|
core::{HSTRING, PCWSTR},
|
||||||
|
};
|
||||||
|
|
||||||
|
pub fn elevate() {
|
||||||
|
let exe = std::env::current_exe().unwrap();
|
||||||
|
unsafe {
|
||||||
|
ShellExecuteW(
|
||||||
|
None,
|
||||||
|
&HSTRING::from("runas"),
|
||||||
|
&HSTRING::from(exe.as_path()),
|
||||||
|
PCWSTR::null(),
|
||||||
|
PCWSTR::null(),
|
||||||
|
SW_HIDE,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
std::process::exit(0);
|
||||||
|
}
|
||||||
@@ -1 +1,2 @@
|
|||||||
pub mod countdown;
|
pub mod countdown;
|
||||||
|
pub mod elevate;
|
||||||
|
|||||||
Reference in New Issue
Block a user