X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=linux%2Fgp2x.c;h=c00671aa6ee2cded93f9a76719e8559ae1b4951c;hb=0aa509f90d056abafd8a9114f11a9ae3df0bfefb;hp=949a40288dee49c2541057d396254c35eb63e8e8;hpb=0114ccc43b628801282c5a076e0f3a9f368ea329;p=libpicofe.git diff --git a/linux/gp2x.c b/linux/gp2x.c index 949a402..c00671a 100644 --- a/linux/gp2x.c +++ b/linux/gp2x.c @@ -25,6 +25,7 @@ static int current_bpp = 8; static int current_pal[256]; static const char *verstring = "PicoDrive " VERSION; static int scr_changed = 0, scr_w = SCREEN_WIDTH, scr_h = SCREEN_HEIGHT; +void *gp2x_screens[4]; // dummies int mix_32_to_16l_level; @@ -206,11 +207,15 @@ void finalize_image(guchar *pixels, gpointer data) static void realloc_screen(void) { void *old = g_screen_ptr; + int i; g_screen_width = scr_w; g_screen_height = scr_h; g_screen_ptr = calloc(g_screen_width * g_screen_height * 2, 1); free(old); scr_changed = 0; + + for (i = 0; i < 4; i++) + gp2x_screens[i] = g_screen_ptr; } /* gp2x/emu.c stuff, most to be rm'd */ @@ -318,8 +323,12 @@ void plat_video_menu_enter(int is_rom_loaded) } else { + char buff[256]; + // should really only happen once, on startup.. - readpng(g_screen_ptr, "skin/background.png", READPNG_BG); + emu_make_path(buff, "skin/background.png", sizeof(buff)); + if (readpng(g_screen_ptr, buff, READPNG_BG) < 0) + memset(g_screen_ptr, 0, 320*240*2); } memcpy(menu_bg_buffer, g_screen_ptr, 320*240*2);