fix CD load filename display
authornotaz <notasas@gmail.com>
Sat, 15 Aug 2009 14:23:09 +0000 (14:23 +0000)
committernotaz <notasas@gmail.com>
Sat, 15 Aug 2009 14:23:09 +0000 (14:23 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@753 be3aeb3a-fb24-0410-a615-afba39da0efa

pico/cart.c
pico/cd/cd_file.c
pico/pico.h
platform/common/menu.c

index 06b7917..44a1a25 100644 (file)
@@ -18,7 +18,7 @@ static char *rom_exts[] = { "bin", "gen", "smd", "iso" };
 void (*PicoCartUnloadHook)(void) = NULL;\r
 \r
 void (*PicoCartLoadProgressCB)(int percent) = NULL;\r
-void (*PicoCDLoadProgressCB)(int percent) = NULL; // handled in Pico/cd/cd_file.c\r
+void (*PicoCDLoadProgressCB)(const char *fname, int percent) = NULL; // handled in Pico/cd/cd_file.c\r
 \r
 static void PicoCartDetect(void);\r
 \r
index f5d8744..31efd0e 100644 (file)
@@ -73,7 +73,8 @@ PICO_INTERNAL int Load_CD_Image(const char *cd_img_name, cd_img_type type)
 #endif
        };
 
-       if (PicoCDLoadProgressCB != NULL) PicoCDLoadProgressCB(1);
+       if (PicoCDLoadProgressCB != NULL)
+               PicoCDLoadProgressCB(cd_img_name, 1);
 
        Unload_ISO();
 
@@ -118,7 +119,8 @@ PICO_INTERNAL int Load_CD_Image(const char *cd_img_name, cd_img_type type)
                i = 100 / cue_data->track_count+1;
                for (num_track = 2; num_track <= cue_data->track_count; num_track++)
                {
-                       if (PicoCDLoadProgressCB != NULL) PicoCDLoadProgressCB(i * num_track);
+                       if (PicoCDLoadProgressCB != NULL)
+                               PicoCDLoadProgressCB(cd_img_name, i * num_track);
                        index = num_track - 1;
                        Cur_LBA += cue_data->tracks[num_track].pregap;
                        if (cue_data->tracks[num_track].type == CT_MP3) {
@@ -179,7 +181,8 @@ PICO_INTERNAL int Load_CD_Image(const char *cd_img_name, cd_img_type type)
 
        for (num_track = 2, i = 0, missed = 0; i < 100 && missed < 4; i++)
        {
-               if (PicoCDLoadProgressCB != NULL && i > 1) PicoCDLoadProgressCB(i + (100-i)*missed/4);
+               if (PicoCDLoadProgressCB != NULL && i > 1)
+                       PicoCDLoadProgressCB(cd_img_name, i + (100-i)*missed/4);
 
                for (j = 0; j < sizeof(exts)/sizeof(char *); j++)
                {
@@ -225,7 +228,8 @@ finish:
        elprintf(EL_STATUS, "End CD -  %02d:%02d:%02d\n", Tracks[index].MSF.M,
                Tracks[index].MSF.S, Tracks[index].MSF.F);
 
-       if (PicoCDLoadProgressCB != NULL) PicoCDLoadProgressCB(100);
+       if (PicoCDLoadProgressCB != NULL)
+               PicoCDLoadProgressCB(cd_img_name, 100);
 
        return 0;
 }
index ba7349e..828a63d 100644 (file)
@@ -138,7 +138,7 @@ int PicoCartInsert(unsigned char *rom,unsigned int romsize);
 void Byteswap(unsigned char *data,int len);\r
 void PicoCartUnload(void);\r
 extern void (*PicoCartLoadProgressCB)(int percent);\r
-extern void (*PicoCDLoadProgressCB)(int percent);\r
+extern void (*PicoCDLoadProgressCB)(const char *fname, int percent);\r
 \r
 // Draw.c\r
 void PicoDrawSetColorFormat(int which); // 0=BGR444, 1=RGB555, 2=8bit(HighPal pal)\r
index bd4eb70..688d538 100644 (file)
@@ -602,7 +602,7 @@ static void load_progress_cb(int percent)
        plat_video_menu_end();\r
 }\r
 \r
-static void cdload_progress_cb(int percent)\r
+static void cdload_progress_cb(const char *fname, int percent)\r
 {\r
        int ln, len = percent * g_screen_width / 100;\r
        unsigned short *dst = (unsigned short *)g_screen_ptr + g_screen_width * 10 * 2;\r
@@ -610,7 +610,7 @@ static void cdload_progress_cb(int percent)
        memset(dst, 0xff, g_screen_width * (me_sfont_h - 2) * 2);\r
 \r
        smalltext_out16(1, 3 * me_sfont_h, "Processing CD image / MP3s", 0xffff);\r
-       smalltext_out16(1, 4 * me_sfont_h, rom_fname_loaded, 0xffff);\r
+       smalltext_out16(1, 4 * me_sfont_h, fname, 0xffff);\r
        dst += g_screen_width * me_sfont_h * 3;\r
 \r
        if (len > g_screen_width)\r
@@ -647,7 +647,8 @@ void menu_romload_prepare(const char *rom_name)
 \r
 void menu_romload_end(void)\r
 {\r
-       PicoCartLoadProgressCB = PicoCDLoadProgressCB = NULL;\r
+       PicoCartLoadProgressCB = NULL;\r
+       PicoCDLoadProgressCB = NULL;\r
        smalltext_out16(1, (cdload_called ? 6 : 3) * me_sfont_h,\r
                "Starting emulation...", 0xffff);\r
        plat_video_menu_end();\r