X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fplugin_lib.c;h=46c9cbd95aad5cca4a69495c1a3d0b0bbd8b5438;hp=975fc0a5b8c6531bb421cefcc3b2e2d387b6ae1a;hb=9f4a42376a1af26912738c5f1050b8cc2e57998f;hpb=8f8926485e641efb187ff9ae11cef9d23d1e8982 diff --git a/frontend/plugin_lib.c b/frontend/plugin_lib.c index 975fc0a5..46c9cbd9 100644 --- a/frontend/plugin_lib.c +++ b/frontend/plugin_lib.c @@ -30,7 +30,7 @@ void *pl_fbdev_buf; int pl_frame_interval; -int in_type, in_keystate, in_a1[2], in_a2[2]; +int in_type, in_keystate, in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 }; static int pl_fbdev_w, pl_fbdev_h, pl_fbdev_bpp; static int flip_cnt, vsync_cnt, flips_per_sec, tick_per_sec; static float vsps_cur; @@ -131,6 +131,15 @@ void pl_fbdev_close(void) omap_enable_layer(0); } +void *pl_prepare_screenshot(int *w, int *h, int *bpp) +{ + *w = pl_fbdev_w; + *h = pl_fbdev_h; + *bpp = pl_fbdev_bpp; + + return pl_fbdev_buf; +} + static void update_input(void) { int actions[IN_BINDTYPE_COUNT] = { 0, }; @@ -226,11 +235,16 @@ void pl_frame_limit(void) usleep(diff - pl_frame_interval / 2); } - plugin_skip_advice = 0; - if (UseFrameSkip && diff < -pl_frame_interval) { - // P.E.Op.S. makes skip decision based on this - fps_skip = 1.0f; - plugin_skip_advice = 1; + if (UseFrameSkip) { + if (diff < -pl_frame_interval) { + // P.E.Op.S. makes skip decision based on this + fps_skip = 1.0f; + plugin_skip_advice = 1; + } + else if (diff >= 0) { + fps_skip = 100.0f; + plugin_skip_advice = 0; + } } pcnt_start(PCNT_ALL);