Use enum class for kmatrix network flag
This commit is contained in:
parent
5b45fd3bae
commit
53f75c3c72
|
@ -35,7 +35,16 @@ enum class kmatrix_result
|
|||
proceed,
|
||||
};
|
||||
|
||||
kmatrix_result kmatrix_view(int network); // shows matrix screen. Retruns 0 if aborted (quitting game) and 1 if proceeding to next level if applicable.
|
||||
enum class kmatrix_network : uint8_t
|
||||
{
|
||||
offline,
|
||||
/* This has the same numeric value as GM_NETWORK, but currently,
|
||||
* that is not required for correct operation.
|
||||
*/
|
||||
multiplayer = 4,
|
||||
};
|
||||
|
||||
kmatrix_result kmatrix_view(kmatrix_network network); // shows matrix screen. Retruns 0 if aborted (quitting game) and 1 if proceeding to next level if applicable.
|
||||
#ifdef dsx
|
||||
namespace dsx {
|
||||
kmatrix_result multi_endlevel_score();
|
||||
|
|
|
@ -174,10 +174,10 @@ namespace {
|
|||
struct kmatrix_screen : ignore_window_pointer_t
|
||||
{
|
||||
grs_main_bitmap background;
|
||||
int network;
|
||||
fix64 end_time;
|
||||
int playing;
|
||||
int aborted;
|
||||
kmatrix_network network;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -295,14 +295,14 @@ static window_event_result kmatrix_handler(window *, const d_event &event, kmatr
|
|||
nm_item_menu(TXT_YES),
|
||||
nm_item_menu(TXT_NO),
|
||||
}};
|
||||
choice = newmenu_do(nullptr, TXT_ABORT_GAME, nm_message_items, km->network ? get_multi_endlevel_poll2() : unused_newmenu_subfunction, unused_newmenu_userdata);
|
||||
choice = newmenu_do(nullptr, TXT_ABORT_GAME, nm_message_items, km->network != kmatrix_network::offline ? get_multi_endlevel_poll2() : unused_newmenu_subfunction, unused_newmenu_userdata);
|
||||
}
|
||||
|
||||
if (choice==0)
|
||||
{
|
||||
get_local_player().connected=CONNECT_DISCONNECTED;
|
||||
|
||||
if (km->network)
|
||||
if (km->network != kmatrix_network::offline)
|
||||
multi_send_endlevel_packet();
|
||||
|
||||
multi_leave_game();
|
||||
|
@ -321,7 +321,7 @@ static window_event_result kmatrix_handler(window *, const d_event &event, kmatr
|
|||
{
|
||||
timer_delay2(50);
|
||||
|
||||
if (km->network)
|
||||
if (km->network != kmatrix_network::offline)
|
||||
multi_do_protocol_frame(0, 1);
|
||||
|
||||
km->playing = 0;
|
||||
|
@ -347,7 +347,7 @@ static window_event_result kmatrix_handler(window *, const d_event &event, kmatr
|
|||
// Check if end_time has been reached and exit loop
|
||||
if (timer_query() >= km->end_time && km->end_time != -1)
|
||||
{
|
||||
if (km->network)
|
||||
if (km->network != kmatrix_network::offline)
|
||||
multi_send_endlevel_packet(); // make sure
|
||||
|
||||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
|
@ -357,7 +357,7 @@ static window_event_result kmatrix_handler(window *, const d_event &event, kmatr
|
|||
{
|
||||
get_local_player().connected=CONNECT_DISCONNECTED;
|
||||
|
||||
if (km->network)
|
||||
if (km->network != kmatrix_network::offline)
|
||||
multi_send_endlevel_packet();
|
||||
|
||||
multi_leave_game();
|
||||
|
@ -385,7 +385,7 @@ static window_event_result kmatrix_handler(window *, const d_event &event, kmatr
|
|||
}
|
||||
}
|
||||
|
||||
kmatrix_result kmatrix_view(int network)
|
||||
kmatrix_result kmatrix_view(const kmatrix_network network)
|
||||
{
|
||||
auto &Objects = LevelUniqueObjectState.Objects;
|
||||
auto &vcobjptridx = Objects.vcptridx;
|
||||
|
|
|
@ -450,7 +450,7 @@ kmatrix_result multi_endlevel_score()
|
|||
}
|
||||
|
||||
// Do the actual screen we wish to show
|
||||
const auto rval = kmatrix_view(Game_mode & GM_NETWORK);
|
||||
const auto rval = kmatrix_view(static_cast<kmatrix_network>(Game_mode & GM_NETWORK));
|
||||
|
||||
// Restore connect state
|
||||
|
||||
|
|
Loading…
Reference in a new issue