From c12380aff48cc0bf7d96da0c2e9414ce01f27feb Mon Sep 17 00:00:00 2001 From: MysterD Date: Tue, 8 Sep 2020 09:50:34 -0700 Subject: [PATCH] Make inside-and-outside painting transition quicker over network --- src/menu/star_select.c | 2 +- src/pc/network/network.h | 2 +- src/pc/network/packets/packet_inside_painting.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/menu/star_select.c b/src/menu/star_select.c index 19e80000b..4801fa512 100644 --- a/src/menu/star_select.c +++ b/src/menu/star_select.c @@ -464,6 +464,6 @@ void star_select_finish_selection(void) { gInsidePainting = FALSE; if (gControlPainting) { - network_send_inside_painting(); + network_send_inside_painting(TRUE); } } diff --git a/src/pc/network/network.h b/src/pc/network/network.h index bb9f0e0d9..e7116a432 100644 --- a/src/pc/network/network.h +++ b/src/pc/network/network.h @@ -135,7 +135,7 @@ void network_receive_level_warp(struct Packet* p); // packet_inside_painting.c void network_update_inside_painting(void); -void network_send_inside_painting(void); +void network_send_inside_painting(bool reliable); void network_receive_inside_painting(struct Packet* p); // packet_collect_star.c diff --git a/src/pc/network/packets/packet_inside_painting.c b/src/pc/network/packets/packet_inside_painting.c index 0e8fb7d52..7affa111d 100644 --- a/src/pc/network/packets/packet_inside_painting.c +++ b/src/pc/network/packets/packet_inside_painting.c @@ -25,12 +25,12 @@ static void populate_packet_data(struct PacketDataInsidePainting* data) { data->actIndex = sSelectedActIndex; } -void network_send_inside_painting(void) { +void network_send_inside_painting(bool reliable) { struct PacketDataInsidePainting data = { 0 }; populate_packet_data(&data); struct Packet p; - packet_init(&p, PACKET_INSIDE_PAINTING, false); + packet_init(&p, PACKET_INSIDE_PAINTING, reliable); packet_write(&p, &data, sizeof(struct PacketDataInsidePainting)); network_send(&p); @@ -60,7 +60,7 @@ void network_receive_inside_painting(struct Packet* p) { if (gControlPainting && !remote.controlPainting && !gInsidePainting && remote.insidePainting) { // we're in control and no longer in the painting, let remote know - network_send_inside_painting(); + network_send_inside_painting(false); } if (!gControlPainting && remote.controlPainting && !remote.insidePainting) { @@ -77,6 +77,6 @@ void network_update_inside_painting(void) { float timeSinceSend = (clock() - lastSentTime) / CLOCKS_PER_SEC; if (compareData != 0 || timeSinceSend > minUpdateRate) { - network_send_inside_painting(); + network_send_inside_painting(timeSinceSend > 5); } }