move netplay_window to netplay.rs

This commit is contained in:
Logan McNaughton 2025-07-02 22:08:46 +02:00
parent 31b4e7944b
commit 6ecb81fda1
2 changed files with 50 additions and 50 deletions

View File

@ -59,53 +59,6 @@ fn check_latest_version(weak: slint::Weak<AppWindow>) {
});
}
fn netplay_window(app: &AppWindow, controller_paths: &[Option<String>]) {
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<String>]) {
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<String>]) {
pub fn save_settings(app: &AppWindow, controller_paths: &[Option<String>]) {
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);
}

View File

@ -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<String>]) {
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();
});
}