GerbilSoft / rom-properties

ROM Properties Page shell extension
GNU General Public License v2.0
465 stars 35 forks source link

rp-download isn't downloading GCN/Wii covers for RVZ images with X,Y,Z region IDs #296

Closed Amnesia1000 closed 3 years ago

Amnesia1000 commented 3 years ago

In this issue there are two issues

1 - The covers with Region Free (that in their fourth character have an X, for example "RQ6XKM - Cursed Mountain") are not shown by rom-properties. But the covers exist (for example this one is in the EN folder) inside the gametdb database, but "I BELIEVE" that rom properties looks for the cover according to the fourth letter of the ID (in this case the X) and when it doesn't find a region for this one it doesn't download the cover. The problem is that even if you have the covers, there is no place to put them because rom-properties does not know where to look for them in the cache folder. Would it be possible that if the fourth letter of the ID is an X, it looks for the cover in all the regions until it finds a coincidence inside the gametdb database and that rom-properties stores them in a folder called for example RF? Or another solution, I don't know about programming so I don't know what is possible and what is not.

2 - I don't know if this function is already in the rp-download, but it would be great if every X amount of time it would check the cache and try to download again the media that have a weight of 0 bytes. Since you could include new titlescreens in the rp-database and gametdb is constantly updating its database.

GerbilSoft commented 3 years ago

'X' isn't actually "region-free". It indicates "multi-region" and is commonly used for different language releases in PAL areas. Same for 'Y' and 'Z'.

Since this game is PAL region, it should default to the 'EN' region code. I'll have to check the code path to see why it isn't working.

EDIT: It seems to work for me... What does rpcli say for the external image URLs?

Amnesia1000 commented 3 years ago

How can I test rpcli with gametdb covers?

GerbilSoft commented 3 years ago

Run rpcli on a disc image. It'll print the determined URLs for the external images.

Amnesia1000 commented 3 years ago

Gamecube:

rpcli '/run/media/amnesia/Roms/Nintendo - GameCube/Carmen Sandiego - The Secret of the Stolen Drums (Europe) (De,Es).rvz' 
== Leyendo el archivo '/run/media/amnesia/Roms/Nintendo - GameCube/Carmen Sandiego - The Secret of the Stolen Drums (Europe) (De,Es).rvz'...
-- Nintendo GameCube Imagen de disco detected
Titulo:          'Carmen'
ID del juego:    'G3DX6L'
Distribuidor(a): 'BAM! Entertainment'
Disco #:         '1'
Revisión:       '00'

Wii

rpcli '/run/media/amnesia/Roms/Nintendo - Wii/Cursed Mountain (Europe) (En,Fr,De,Es,It).rvz' 
== Leyendo el archivo '/run/media/amnesia/Roms/Nintendo - Wii/Cursed Mountain (Europe) (En,Fr,De,Es,It).rvz'...
-- Nintendo Wii Imagen de disco detected
Titulo:          'Cursed Mountain'
ID del juego:    'RQ6XKM'
Distribuidor(a): 'Deep Silver'
# de disco:      '1'
Revisión:       '00'

Another thing, when it says "detected" it comes out in English, but I look for that phrase in the file es.po and I can't find it to translate it. The translation should say "-- Imagen de Disco de Wii detectada" but it appears as "-- Nintendo Wii Imagen de disco detected". It doesn't matter much because you can understand what is meant, but the phrase is not quite correct.

GerbilSoft commented 3 years ago

That string is probably not localized in the source code correctly. I'll add it in.

The actual problem here is the real region code in the BI2 area (GameCube) or region code area (Wii) can't be identified because it's an RVZ. There's a fallback for this, but the X/Y/Z codes aren't handled. I'll add 'EN' and 'US' fallbacks for those.

Amnesia1000 commented 3 years ago

Ok

GerbilSoft commented 3 years ago

@Amnesia1000 Please test this and let me know if it works.

Amnesia1000 commented 3 years ago

I just tried the new build, it now downloads the image and places it in the EN folder, but the file weighs 0 bytes. It only happens with the files with the X.

Another thing, not all XYZ are in "US" or "EN", for example GHLZ69 are in "ES". And GQSSAF which is "ES" is within "EN". Some XYZ games being multi-language have more than one cover, for example GQWX69 has FR, DE and IT covers.

GerbilSoft commented 3 years ago

I'll add ES, FR, DE, and IT to fallbacks for those regions as well.

I need to add a user-selectable fallback region for PAL.

Amnesia1000 commented 3 years ago

I guess that until the region selector is implemented, GQWX69 will not download correctly, but GHLZ69 still doesn't work after the update.