mirror of
https://github.com/libretro/RetroArch
synced 2025-02-25 03:40:50 +00:00
(PS3) Added ssnes_render_cached_frame - this is necessary for the
ingame menu - another problem - swap occurs at end of frame function - this interferes with the swap done later on in the ingame menu, leading to flickered libdbgfont text. We will somehow need to divorce the swap from the main frame function
This commit is contained in:
parent
e044275c3e
commit
e90b7e6a03
@ -378,6 +378,7 @@ void ssnes_main_clear_state(void);
|
|||||||
int ssnes_main_init(int argc, char *argv[]);
|
int ssnes_main_init(int argc, char *argv[]);
|
||||||
bool ssnes_main_iterate(void);
|
bool ssnes_main_iterate(void);
|
||||||
void ssnes_main_deinit(void);
|
void ssnes_main_deinit(void);
|
||||||
|
void ssnes_render_cached_frame(void);
|
||||||
|
|
||||||
extern struct settings g_settings;
|
extern struct settings g_settings;
|
||||||
extern struct global g_extern;
|
extern struct global g_extern;
|
||||||
|
@ -232,6 +232,8 @@ static void ingame_menu(void)
|
|||||||
const uint64_t button_was_pressed = old_state & (old_state ^ state);
|
const uint64_t button_was_pressed = old_state & (old_state ^ state);
|
||||||
const uint64_t button_was_held = old_state & state;
|
const uint64_t button_was_held = old_state & state;
|
||||||
static uint64_t blocking = 0;
|
static uint64_t blocking = 0;
|
||||||
|
|
||||||
|
ssnes_render_cached_frame();
|
||||||
|
|
||||||
if(g_frame_count < special_action_msg_expired && blocking)
|
if(g_frame_count < special_action_msg_expired && blocking)
|
||||||
{
|
{
|
||||||
@ -531,8 +533,10 @@ int main(int argc, char *argv[])
|
|||||||
begin_loop:
|
begin_loop:
|
||||||
if(mode_switch == MODE_EMULATION)
|
if(mode_switch == MODE_EMULATION)
|
||||||
{
|
{
|
||||||
|
g_extern.is_paused = false;
|
||||||
input_ps3.poll(NULL);
|
input_ps3.poll(NULL);
|
||||||
while(ssnes_main_iterate());
|
while(ssnes_main_iterate());
|
||||||
|
g_extern.is_paused = true;
|
||||||
if(g_console.in_game_menu)
|
if(g_console.in_game_menu)
|
||||||
ingame_menu();
|
ingame_menu();
|
||||||
}
|
}
|
||||||
|
6
ssnes.c
6
ssnes.c
@ -1973,6 +1973,11 @@ static void check_mute(void)
|
|||||||
old_pressed = pressed;
|
old_pressed = pressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ssnes_render_cached_frame(void)
|
||||||
|
{
|
||||||
|
video_cached_frame();
|
||||||
|
}
|
||||||
|
|
||||||
static void do_state_checks(void)
|
static void do_state_checks(void)
|
||||||
{
|
{
|
||||||
check_screenshot();
|
check_screenshot();
|
||||||
@ -2157,6 +2162,7 @@ bool ssnes_main_iterate(void)
|
|||||||
if (driver.input->key_pressed(driver.input_data, SSNES_QUIT_KEY) ||
|
if (driver.input->key_pressed(driver.input_data, SSNES_QUIT_KEY) ||
|
||||||
!driver.video->alive(driver.video_data))
|
!driver.video->alive(driver.video_data))
|
||||||
return false;
|
return false;
|
||||||
|
printf("Iterate reaches here\n");
|
||||||
|
|
||||||
// Checks for stuff like fullscreen, save states, etc.
|
// Checks for stuff like fullscreen, save states, etc.
|
||||||
do_state_checks();
|
do_state_checks();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user