diff --git a/command_event.c b/command_event.c index 273dc57fd8..e5b024f5e9 100644 --- a/command_event.c +++ b/command_event.c @@ -436,9 +436,7 @@ static void event_init_cheats(void) { bool allow_cheats = true; #ifdef HAVE_NETPLAY - driver_t *driver = driver_get_ptr(); - - allow_cheats &= !driver->netplay_data; + allow_cheats &= !netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL); #endif allow_cheats &= !bsv_movie_ctl(BSV_MOVIE_CTL_IS_INITED, NULL); @@ -1005,7 +1003,7 @@ bool event_command(enum event_command cmd) return false; #ifdef HAVE_NETPLAY - if (driver->netplay_data) + if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)) return false; #endif event_main_state(cmd); @@ -1120,13 +1118,13 @@ bool event_command(enum event_command cmd) break; case EVENT_CMD_REWIND_DEINIT: #ifdef HAVE_NETPLAY - if (driver->netplay_data) + if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)) return false; #endif state_manager_event_deinit(); break; case EVENT_CMD_REWIND_INIT: - if (!driver->netplay_data) + if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)) init_rewind(); break; case EVENT_CMD_REWIND_TOGGLE: @@ -1422,7 +1420,7 @@ bool event_command(enum event_command cmd) case EVENT_CMD_SAVEFILES_INIT: global->sram.use = global->sram.use && !global->sram.save_disable #ifdef HAVE_NETPLAY - && (!driver->netplay_data || !global->netplay.is_client) + && (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL) || !global->netplay.is_client) #endif ; @@ -1464,12 +1462,7 @@ bool event_command(enum event_command cmd) break; case EVENT_CMD_NETPLAY_FLIP_PLAYERS: #ifdef HAVE_NETPLAY - { - netplay_t *netplay = (netplay_t*)driver->netplay_data; - if (!netplay) - return false; - netplay_flip_users(netplay); - } + netplay_driver_ctl(RARCH_NETPLAY_CTL_FLIP_PLAYERS, NULL); #endif break; case EVENT_CMD_FULLSCREEN_TOGGLE: diff --git a/libretro_version_1.c b/libretro_version_1.c index 6f62cb5604..ed297c9981 100644 --- a/libretro_version_1.c +++ b/libretro_version_1.c @@ -64,13 +64,11 @@ void retro_set_default_callbacks(void *data) void retro_init_libretro_cbs(void *data) { struct retro_callbacks *cbs = (struct retro_callbacks*)data; - driver_t *driver = driver_get_ptr(); global_t *global = global_get_ptr(); if (!cbs) return; - (void)driver; (void)global; core.retro_set_video_refresh(video_driver_frame); @@ -82,7 +80,7 @@ void retro_init_libretro_cbs(void *data) retro_set_default_callbacks(cbs); #ifdef HAVE_NETPLAY - if (!driver->netplay_data) + if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)) return; if (global->netplay.is_spectate) diff --git a/netplay.c b/netplay.c index fadd9364ac..40a85782fd 100644 --- a/netplay.c +++ b/netplay.c @@ -1805,6 +1805,8 @@ bool netplay_driver_ctl(enum rarch_netplay_ctl_state state, void *data) switch (state) { + case RARCH_NETPLAY_CTL_IS_DATA_INITED: + return true; case RARCH_NETPLAY_CTL_POST_FRAME: netplay_post_frame((netplay_t*)driver->netplay_data); break; diff --git a/netplay.h b/netplay.h index 9845173bf7..635052bac9 100644 --- a/netplay.h +++ b/netplay.h @@ -34,7 +34,8 @@ enum rarch_netplay_ctl_state RARCH_NETPLAY_CTL_FLIP_PLAYERS, RARCH_NETPLAY_CTL_FULLSCREEN_TOGGLE, RARCH_NETPLAY_CTL_POST_FRAME, - RARCH_NETPLAY_CTL_PRE_FRAME + RARCH_NETPLAY_CTL_PRE_FRAME, + RARCH_NETPLAY_CTL_IS_DATA_INITED }; /* TODO: most of this, actually */