From 6ecb81fda134fc1ecc5ac5f8e5804cf22c6961ec Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Wed, 2 Jul 2025 22:08:46 +0200 Subject: [PATCH] move netplay_window to netplay.rs --- src/ui/gui.rs | 51 ++--------------------------------------------- src/ui/netplay.rs | 49 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/src/ui/gui.rs b/src/ui/gui.rs index 9b35dd0..b7c4213 100644 --- a/src/ui/gui.rs +++ b/src/ui/gui.rs @@ -59,53 +59,6 @@ fn check_latest_version(weak: slint::Weak) { }); } -fn netplay_window(app: &AppWindow, controller_paths: &[Option]) { - let weak_create = app.as_weak(); - let weak_app = app.as_weak(); - let controller_paths_create = controller_paths.to_owned(); - app.on_create_session_button_clicked(move || { - let controller_paths = controller_paths_create.clone(); - let weak_app = weak_app.clone(); - weak_create - .upgrade_in_event_loop(move |handle| { - let create_window = NetplayCreate::new().unwrap(); - save_settings(&handle, &controller_paths); - ui::netplay::setup_create_window( - &create_window, - GameSettings { - fullscreen: handle.get_fullscreen(), - overclock: handle.get_overclock_n64_cpu(), - disable_expansion_pak: handle.get_disable_expansion_pak(), - }, - weak_app, - ); - }) - .unwrap(); - }); - - let weak_join = app.as_weak(); - let weak_app = app.as_weak(); - let controller_paths_join = controller_paths.to_owned(); - app.on_join_session_button_clicked(move || { - let controller_paths = controller_paths_join.clone(); - let weak_app = weak_app.clone(); - weak_join - .upgrade_in_event_loop(move |handle| { - let join_window = NetplayJoin::new().unwrap(); - save_settings(&handle, &controller_paths); - ui::netplay::setup_join_window(&join_window, handle.get_fullscreen(), weak_app); - }) - .unwrap(); - }); - - app.on_netplay_discord_button_clicked(move || { - open::that_detached("https://discord.gg/JyW6ZgBUyS").unwrap(); - }); - app.on_netplay_feedback_button_clicked(move || { - open::that_detached("https://github.com/gopher64/gopher64/discussions/453").unwrap(); - }); -} - fn local_game_window(app: &AppWindow, controller_paths: &[Option]) { let dirs = ui::get_dirs(); let weak = app.as_weak(); @@ -262,7 +215,7 @@ fn controller_window( }); } -fn save_settings(app: &AppWindow, controller_paths: &[Option]) { +pub fn save_settings(app: &AppWindow, controller_paths: &[Option]) { let mut config = ui::config::Config::new(); config.video.integer_scaling = app.get_integer_scaling(); config.video.fullscreen = app.get_fullscreen(); @@ -331,7 +284,7 @@ pub fn app_window() { controller_window(&app, &game_ui.config, &controller_names, &controller_paths); } local_game_window(&app, &controller_paths); - netplay_window(&app, &controller_paths); + ui::netplay::netplay_window(&app, &controller_paths); app.run().unwrap(); save_settings(&app, &controller_paths); } diff --git a/src/ui/netplay.rs b/src/ui/netplay.rs index db04f6e..22ee108 100644 --- a/src/ui/netplay.rs +++ b/src/ui/netplay.rs @@ -4,7 +4,7 @@ use crate::device; use crate::ui; use crate::ui::gui::{ AppWindow, GameSettings, GbPaths, NetplayCreate, NetplayDevice, NetplayDialog, NetplayJoin, - NetplayWait, VruChannel, run_rom, + NetplayWait, VruChannel, run_rom, save_settings, }; use futures::{SinkExt, StreamExt}; use sha2::{Digest, Sha256}; @@ -937,3 +937,50 @@ pub fn setup_join_window( join_window.show().unwrap(); } + +pub fn netplay_window(app: &AppWindow, controller_paths: &[Option]) { + let weak_create = app.as_weak(); + let weak_app = app.as_weak(); + let controller_paths_create = controller_paths.to_owned(); + app.on_create_session_button_clicked(move || { + let controller_paths = controller_paths_create.clone(); + let weak_app = weak_app.clone(); + weak_create + .upgrade_in_event_loop(move |handle| { + let create_window = NetplayCreate::new().unwrap(); + save_settings(&handle, &controller_paths); + ui::netplay::setup_create_window( + &create_window, + GameSettings { + fullscreen: handle.get_fullscreen(), + overclock: handle.get_overclock_n64_cpu(), + disable_expansion_pak: handle.get_disable_expansion_pak(), + }, + weak_app, + ); + }) + .unwrap(); + }); + + let weak_join = app.as_weak(); + let weak_app = app.as_weak(); + let controller_paths_join = controller_paths.to_owned(); + app.on_join_session_button_clicked(move || { + let controller_paths = controller_paths_join.clone(); + let weak_app = weak_app.clone(); + weak_join + .upgrade_in_event_loop(move |handle| { + let join_window = NetplayJoin::new().unwrap(); + save_settings(&handle, &controller_paths); + ui::netplay::setup_join_window(&join_window, handle.get_fullscreen(), weak_app); + }) + .unwrap(); + }); + + app.on_netplay_discord_button_clicked(move || { + open::that_detached("https://discord.gg/JyW6ZgBUyS").unwrap(); + }); + app.on_netplay_feedback_button_clicked(move || { + open::that_detached("https://github.com/gopher64/gopher64/discussions/453").unwrap(); + }); +}