mirror of
https://github.com/libretro/RetroArch
synced 2025-01-30 21:32:45 +00:00
(Menu) Don't pass menu data to menu_iterate
(Menu) Don't pass menu data to backend - postprocess
This commit is contained in:
parent
04c84dc36c
commit
b2d9c60613
3
driver.c
3
driver.c
@ -633,10 +633,7 @@ void uninit_drivers(void)
|
|||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
if (!driver.menu_data_own)
|
if (!driver.menu_data_own)
|
||||||
{
|
|
||||||
menu_free(driver.menu);
|
menu_free(driver.menu);
|
||||||
driver.menu = NULL;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uninit_video_input();
|
uninit_video_input();
|
||||||
|
2
driver.h
2
driver.h
@ -420,7 +420,7 @@ typedef struct menu_ctx_driver
|
|||||||
void (*free_assets)(void*);
|
void (*free_assets)(void*);
|
||||||
void (*populate_entries)(void*, unsigned);
|
void (*populate_entries)(void*, unsigned);
|
||||||
void (*iterate)(void*, unsigned);
|
void (*iterate)(void*, unsigned);
|
||||||
int (*input_postprocess)(void *, uint64_t);
|
int (*input_postprocess)(uint64_t);
|
||||||
void (*navigation_clear)(void *);
|
void (*navigation_clear)(void *);
|
||||||
void (*navigation_decrement)(void *);
|
void (*navigation_decrement)(void *);
|
||||||
void (*navigation_increment)(void *);
|
void (*navigation_increment)(void *);
|
||||||
|
@ -207,7 +207,7 @@ static int main_entry_iterate_menu_preinit(args_type() args)
|
|||||||
|
|
||||||
static int main_entry_iterate_menu(args_type() args)
|
static int main_entry_iterate_menu(args_type() args)
|
||||||
{
|
{
|
||||||
if (menu_iterate(driver.menu))
|
if (menu_iterate())
|
||||||
{
|
{
|
||||||
if (driver.frontend_ctx && driver.frontend_ctx->process_events)
|
if (driver.frontend_ctx && driver.frontend_ctx->process_events)
|
||||||
driver.frontend_ctx->process_events(args);
|
driver.frontend_ctx->process_events(args);
|
||||||
|
@ -1192,10 +1192,9 @@ static void lakka_free(void *data)
|
|||||||
free((uint8_t*)rgui->font);
|
free((uint8_t*)rgui->font);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lakka_input_postprocess(void *data, uint64_t old_state)
|
static int lakka_input_postprocess(uint64_t old_state)
|
||||||
{
|
{
|
||||||
rgui_handle_t *rgui = (rgui_handle_t*)data;
|
rgui_handle_t *rgui = (rgui_handle_t*)driver.menu;
|
||||||
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if ((rgui && rgui->trigger_state & (1ULL << RARCH_MENU_TOGGLE)) &&
|
if ((rgui && rgui->trigger_state & (1ULL << RARCH_MENU_TOGGLE)) &&
|
||||||
|
@ -612,15 +612,12 @@ static void rgui_free(void *data)
|
|||||||
free((uint8_t*)rgui->font);
|
free((uint8_t*)rgui->font);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rgui_input_postprocess(void *data, uint64_t old_state)
|
static int rgui_input_postprocess(uint64_t old_state)
|
||||||
{
|
{
|
||||||
int ret;
|
rgui_handle_t *rgui = (rgui_handle_t*)driver.menu;
|
||||||
rgui_handle_t *rgui;
|
int ret = 0;
|
||||||
|
|
||||||
(void)old_state;
|
(void)old_state;
|
||||||
|
|
||||||
rgui = (rgui_handle_t*)data;
|
|
||||||
ret = 0;
|
|
||||||
|
|
||||||
if ((rgui->trigger_state & (1ULL << RARCH_MENU_TOGGLE)) &&
|
if ((rgui->trigger_state & (1ULL << RARCH_MENU_TOGGLE)) &&
|
||||||
g_extern.main_is_init &&
|
g_extern.main_is_init &&
|
||||||
|
@ -482,12 +482,10 @@ static void rmenu_free(void *data)
|
|||||||
rmenu_free_assets(data);
|
rmenu_free_assets(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rmenu_input_postprocess(void *data, uint64_t old_state)
|
static int rmenu_input_postprocess(uint64_t old_state)
|
||||||
{
|
{
|
||||||
int ret;
|
rgui_handle_t *rgui = (rgui_handle_t*)driver.menu;
|
||||||
rgui_handle_t *rgui = (rgui_handle_t*)data;
|
int ret = 0;
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
|
|
||||||
if ((rgui->trigger_state & (1ULL << RARCH_MENU_TOGGLE)) &&
|
if ((rgui->trigger_state & (1ULL << RARCH_MENU_TOGGLE)) &&
|
||||||
g_extern.main_is_init &&
|
g_extern.main_is_init &&
|
||||||
|
@ -331,9 +331,9 @@ static void rmenu_xui_frame(void *data)
|
|||||||
d3dr->SetViewport(&d3d->final_viewport);
|
d3dr->SetViewport(&d3d->final_viewport);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rmenu_xui_input_postprocess(void *data, uint64_t old_state)
|
static int rmenu_xui_input_postprocess(uint64_t old_state)
|
||||||
{
|
{
|
||||||
rgui_handle_t *rgui = (rgui_handle_t*)data;
|
rgui_handle_t *rgui = (rgui_handle_t*)driver.menu;
|
||||||
bool quit = false;
|
bool quit = false;
|
||||||
bool resize = false;
|
bool resize = false;
|
||||||
unsigned width;
|
unsigned width;
|
||||||
|
@ -385,7 +385,7 @@ void menu_free(void *data)
|
|||||||
rom_history_free(rgui->history);
|
rom_history_free(rgui->history);
|
||||||
core_info_list_free(rgui->core_info);
|
core_info_list_free(rgui->core_info);
|
||||||
|
|
||||||
free(rgui);
|
free(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void menu_ticker_line(char *buf, size_t len, unsigned index, const char *str, bool selected)
|
void menu_ticker_line(char *buf, size_t len, unsigned index, const char *str, bool selected)
|
||||||
@ -525,19 +525,19 @@ void load_menu_game_new_core(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool menu_iterate(void *data)
|
bool menu_iterate(void)
|
||||||
{
|
{
|
||||||
unsigned action;
|
unsigned action;
|
||||||
static bool initial_held = true;
|
static bool initial_held = true;
|
||||||
static bool first_held = false;
|
static bool first_held = false;
|
||||||
uint64_t input_state;
|
uint64_t input_state;
|
||||||
int32_t input_entry_ret, ret;
|
int32_t input_entry_ret, ret;
|
||||||
rgui_handle_t *rgui;
|
rgui_handle_t *rgui= (rgui_handle_t*)driver.menu;
|
||||||
|
RARCH_LOG("rgui is NULL: %d\n", rgui == NULL);
|
||||||
|
|
||||||
input_state = 0;
|
input_state = 0;
|
||||||
input_entry_ret = 0;
|
input_entry_ret = 0;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
rgui = (rgui_handle_t*)data;
|
|
||||||
|
|
||||||
if (!rgui)
|
if (!rgui)
|
||||||
return false;
|
return false;
|
||||||
@ -620,6 +620,8 @@ bool menu_iterate(void *data)
|
|||||||
if (driver.menu_ctx && driver.menu_ctx->backend && driver.menu_ctx->backend->iterate)
|
if (driver.menu_ctx && driver.menu_ctx->backend && driver.menu_ctx->backend->iterate)
|
||||||
input_entry_ret = driver.menu_ctx->backend->iterate(action);
|
input_entry_ret = driver.menu_ctx->backend->iterate(action);
|
||||||
|
|
||||||
|
rgui = (rgui_handle_t*)driver.menu;
|
||||||
|
|
||||||
if (driver.video_data && driver.video_poke && driver.video_poke->set_texture_enable)
|
if (driver.video_data && driver.video_poke && driver.video_poke->set_texture_enable)
|
||||||
driver.video_poke->set_texture_enable(driver.video_data, rgui->frame_buf_show, MENU_TEXTURE_FULLSCREEN);
|
driver.video_poke->set_texture_enable(driver.video_data, rgui->frame_buf_show, MENU_TEXTURE_FULLSCREEN);
|
||||||
|
|
||||||
@ -640,7 +642,7 @@ bool menu_iterate(void *data)
|
|||||||
MENU_TEXTURE_FULLSCREEN);
|
MENU_TEXTURE_FULLSCREEN);
|
||||||
|
|
||||||
if (driver.menu_ctx && driver.menu_ctx->input_postprocess)
|
if (driver.menu_ctx && driver.menu_ctx->input_postprocess)
|
||||||
ret = driver.menu_ctx->input_postprocess(rgui, rgui->old_input_state);
|
ret = driver.menu_ctx->input_postprocess(rgui->old_input_state);
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
|
@ -187,7 +187,7 @@ typedef struct
|
|||||||
} rgui_handle_t;
|
} rgui_handle_t;
|
||||||
|
|
||||||
void *menu_init(const void *data);
|
void *menu_init(const void *data);
|
||||||
bool menu_iterate(void *data);
|
bool menu_iterate(void);
|
||||||
void menu_free(void *data);
|
void menu_free(void *data);
|
||||||
|
|
||||||
void menu_ticker_line(char *buf, size_t len, unsigned tick, const char *str, bool selected);
|
void menu_ticker_line(char *buf, size_t len, unsigned tick, const char *str, bool selected);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user