improve wait room (#1045)

This commit is contained in:
Logan McNaughton
2026-06-09 16:47:16 +02:00
committed by GitHub
parent af163dac62
commit 6cc6153abb
2 changed files with 9 additions and 9 deletions
+4 -3
View File
@@ -8,7 +8,7 @@ export global NetplayWaitData {
in-out property <bool> can_start;
in-out property <string> chat_text;
in-out property <int> input_delay;
in-out property <string> recommended_delay;
in-out property <int> recommended_delay;
in-out property <bool> game_pal;
}
@@ -105,6 +105,7 @@ export component NetplayWait inherits Page {
ComboBox {
model: ["0", "1", "2", "3", "4", "5", "6", "7", "8"];
current-index: NetplayWaitData.input_delay;
enabled: NetplayWaitData.recommended_delay != 0;
selected => {
NetplayWaitData.input_delay = self.current-index;
}
@@ -112,7 +113,7 @@ export component NetplayWait inherits Page {
}
Text {
text: @tr("Recommended: ") + NetplayWaitData.recommended_delay;
text: @tr("Recommended: ") + (NetplayWaitData.recommended_delay == 0 ? "Calculating..." : NetplayWaitData.recommended_delay);
horizontal-alignment: center;
vertical-alignment: center;
}
@@ -121,7 +122,7 @@ export component NetplayWait inherits Page {
alignment: center;
Button {
text: @tr("Start Game");
enabled: NetplayWaitData.can_start;
enabled: NetplayWaitData.players[0] == NetplayData.player_name && NetplayWaitData.can_start && NetplayWaitData.recommended_delay != 0;
clicked => {
NetplayWaitData.can_start = false;
begin_game(NetplayWaitData.input_delay);
+5 -6
View File
@@ -446,9 +446,11 @@ fn update_ping(
};
let recommendation =
(ping as f64 / (1000.0 / refresh_rate)) as i32 + 1;
handle.set_netplay_recommended_delay(
recommendation.to_string().into(),
);
if handle.get_netplay_recommended_delay() == 0 {
handle.set_netplay_input_delay(recommendation);
}
handle.set_netplay_recommended_delay(recommendation);
})
.unwrap();
}
@@ -474,14 +476,12 @@ fn setup_wait_window(
game_settings: ui::GameSettings,
app: &AppWindow,
) {
app.set_netplay_recommended_delay("Calculating...".into());
update_ping(server_addr.clone(), close_ping_rx, app.as_weak());
app.set_netplay_session_name(session_name);
app.set_netplay_game_name(game_name);
app.set_netplay_rom_path(rom_path);
app.set_netplay_can_start(true);
app.set_netplay_input_delay(2);
let request_update = NetplayLobbyMessage {
message_type: MessageType::RequestUpdateSession,
@@ -585,7 +585,6 @@ fn setup_wait_window(
weak_app
.upgrade_in_event_loop(move |handle| {
handle.set_netplay_can_start(true);
if let Some(message) = response.message {
handle.invoke_show_message(message.into(), true);
}