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,
|
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
|
#ifdef dsx
|
||||||
namespace dsx {
|
namespace dsx {
|
||||||
kmatrix_result multi_endlevel_score();
|
kmatrix_result multi_endlevel_score();
|
||||||
|
|
|
@ -174,10 +174,10 @@ namespace {
|
||||||
struct kmatrix_screen : ignore_window_pointer_t
|
struct kmatrix_screen : ignore_window_pointer_t
|
||||||
{
|
{
|
||||||
grs_main_bitmap background;
|
grs_main_bitmap background;
|
||||||
int network;
|
|
||||||
fix64 end_time;
|
fix64 end_time;
|
||||||
int playing;
|
int playing;
|
||||||
int aborted;
|
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_YES),
|
||||||
nm_item_menu(TXT_NO),
|
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)
|
if (choice==0)
|
||||||
{
|
{
|
||||||
get_local_player().connected=CONNECT_DISCONNECTED;
|
get_local_player().connected=CONNECT_DISCONNECTED;
|
||||||
|
|
||||||
if (km->network)
|
if (km->network != kmatrix_network::offline)
|
||||||
multi_send_endlevel_packet();
|
multi_send_endlevel_packet();
|
||||||
|
|
||||||
multi_leave_game();
|
multi_leave_game();
|
||||||
|
@ -321,7 +321,7 @@ static window_event_result kmatrix_handler(window *, const d_event &event, kmatr
|
||||||
{
|
{
|
||||||
timer_delay2(50);
|
timer_delay2(50);
|
||||||
|
|
||||||
if (km->network)
|
if (km->network != kmatrix_network::offline)
|
||||||
multi_do_protocol_frame(0, 1);
|
multi_do_protocol_frame(0, 1);
|
||||||
|
|
||||||
km->playing = 0;
|
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
|
// Check if end_time has been reached and exit loop
|
||||||
if (timer_query() >= km->end_time && km->end_time != -1)
|
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
|
multi_send_endlevel_packet(); // make sure
|
||||||
|
|
||||||
#if defined(DXX_BUILD_DESCENT_II)
|
#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;
|
get_local_player().connected=CONNECT_DISCONNECTED;
|
||||||
|
|
||||||
if (km->network)
|
if (km->network != kmatrix_network::offline)
|
||||||
multi_send_endlevel_packet();
|
multi_send_endlevel_packet();
|
||||||
|
|
||||||
multi_leave_game();
|
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 &Objects = LevelUniqueObjectState.Objects;
|
||||||
auto &vcobjptridx = Objects.vcptridx;
|
auto &vcobjptridx = Objects.vcptridx;
|
||||||
|
|
|
@ -450,7 +450,7 @@ kmatrix_result multi_endlevel_score()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do the actual screen we wish to show
|
// 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
|
// Restore connect state
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue