Remove kmatrix_poll2

After the previous commit, its only purpose is to automatically dismiss
the window after 3 seconds.  Users may be surprised by this, and the
automatic dismissal has limited value.  Remove it and let the user
remain at the cancel dialog until a decision is made.
This commit is contained in:
Kp 2020-12-27 22:03:09 +00:00
parent 479005b769
commit 115c38cd77
4 changed files with 1 additions and 29 deletions

View file

@ -248,7 +248,6 @@ struct dispatch_table
virtual void do_protocol_frame(int force, int listen) const = 0;
virtual window_event_result level_sync() const = 0;
virtual void send_endlevel_packet() const = 0;
virtual endlevel_poll_function_type *get_endlevel_poll2() const = 0;
virtual void kick_player(const _sockaddr &dump_addr, int why) const = 0;
virtual void disconnect_player(int playernum) const = 0;
virtual int end_current_level(int *secret) const = 0;

View file

@ -30,7 +30,6 @@ struct dispatch_table final : multi::dispatch_table
virtual void do_protocol_frame(int force, int listen) const override;
virtual window_event_result level_sync() const override;
virtual void send_endlevel_packet() const override;
virtual endlevel_poll_function_type *get_endlevel_poll2() const override;
virtual void kick_player(const _sockaddr &dump_addr, int why) const override;
virtual void disconnect_player(int playernum) const override;
virtual int end_current_level(int *secret) const override;

View file

@ -343,7 +343,7 @@ window_event_result kmatrix_window::event_handler(const d_event &event)
nm_item_menu(TXT_YES),
nm_item_menu(TXT_NO),
}};
choice = newmenu_do2(menu_title{nullptr}, menu_subtitle{TXT_ABORT_GAME}, nm_message_items, network != kmatrix_network::offline ? multi::dispatch->get_endlevel_poll2() : unused_newmenu_subfunction, unused_newmenu_userdata);
choice = newmenu_do2(menu_title{nullptr}, menu_subtitle{TXT_ABORT_GAME}, nm_message_items, unused_newmenu_subfunction, unused_newmenu_userdata);
}
if (choice==0)

View file

@ -189,8 +189,6 @@ static void udp_tracker_request_holepunch( uint16_t TrackerGameID );
static void udp_tracker_process_holepunch(uint8_t *data, unsigned data_len, const _sockaddr &sender_addr );
#endif
static fix64 StartAbortMenuTime;
#ifndef _WIN32
constexpr std::integral_constant<int, -1> INVALID_SOCKET{};
#endif
@ -1485,25 +1483,6 @@ namespace dsx {
namespace multi {
namespace udp {
// Same as above but used when player pressed ESC during kmatrix (host also does the packets for playing clients)
int kmatrix_poll2( newmenu *,const d_event &event, const unused_newmenu_userdata_t *)
{
int rval = 0;
// Polling loop for End-of-level menu
if (event.type == EVENT_WINDOW_CREATED)
{
StartAbortMenuTime=timer_query();
return 0;
}
if (event.type != EVENT_WINDOW_DRAW)
return 0;
if (timer_query() > (StartAbortMenuTime+(F1_0*3)))
rval = -2;
return rval;
}
int dispatch_table::end_current_level(int *secret) const
{
// Do whatever needs to be done between levels
@ -2546,11 +2525,6 @@ void dispatch_table::send_endlevel_packet() const
dxx_sendto(Netgame.players[0].protocol.udp.addr, UDP_Socket[0], buf, 0);
}
}
endlevel_poll_function_type *dispatch_table::get_endlevel_poll2() const
{
return kmatrix_poll2;
}
}
}
}