Pubblicato un nuovo aggiornamento di ROM Properties, l’estensione shell per PC Windows, Linux e BSD (Berkeley Software Distribution) mostra diverse informazioni e copertine per alcuni formati relativi alle ROM dei giochi.
In questa nuova versione vengono introdotti due nuovi parser: uno per i pacchetti J2ME in formato .jar
, specifici per la Java 2 Micro Edition, con supporto ai file .jad
per i metadati, mentre gli altri file .jar
e i pacchetti Android .apk
non sono attualmente supportati; l’altro è dedicato al formato immagine QOI (Quite OK Image Format), integrato tramite la libreria originale qoi.h
.
Sono state inoltre ampliate le funzionalità dei parser esistenti: ora ROM Properties supporta anche pacchetti Wii U estratti, una funzione richiesta direttamente dalla community, e viene esteso anche il supporto per i file di giochi OG Xbox estratti, gestiti in maniera simile.
Per i file WIM (Windows Imaging Format), è stata aggiunta una gestione specifica delle immagini non staged, risolvendo problemi precedenti che impedivano una corretta identificazione di queste installazioni.
L’aggiornamento ha incluso una lunga serie di correzioni di bug, tra cui una riguardante gli amiibo, che a volte mostravano varianti sbagliate dei personaggi, e una serie di problemi che causavano crash o glitch su Windows, specialmente nella visualizzazione delle proprietà di file .exe
o .dll
.
Alcuni file eseguibili con intestazioni PE non convenzionali, come quelli dei vecchi ambienti Win32s, ora vengono riconosciuti correttamente.
Inoltre, sono stati risolti problemi di ridimensionamento delle icone e dei banner che causavano distorsioni visive, in particolare nei file PSP Minis.
Correzioni minori ma importanti sono state apportate anche alla gestione delle texture PowerVR3 endian-swapped, a errori nei metadati Wii U che potevano generare informazioni sbagliate su publisher o tipologia dell’applicazione, e alla lettura delle classificazioni ACB per alcuni giochi XBLA su Xbox 360.
Anche i problemi di parsing nei file Dreamcast in formato GDI sono stati sistemati. Rivista inoltre la gestione dei lettori CD-ROM su Windows, che si era compromessa dopo l’introduzione del supporto ai pacchetti Wii U.
In ambito interfaccia, l’etichetta descrittiva nelle versioni GTK UI ora evidenzia in rosso i campi che presentano avvisi, migliorando la leggibilità degli errori.
La lettura dei file RPF, precedentemente compromessa da una regressione, è stata ripristinata, e i timestamp nei file WIM ora sono interpretati correttamente grazie a una migliore gestione dei bit temporali.
A livello tecnico, sono stati introdotti miglioramenti come l’opzione ENABLE_NETWORKING
nel sistema di build CMake per attivare o disattivare le funzionalità di rete (come il download di boxart), l’adozione della libreria libfmt
per una formattazione delle stringhe più sicura ed efficiente, e l’eliminazione del supporto IFUNC a favore di funzioni di dispatch C più semplici e portabili.
Sono state inoltre aggiunte funzioni ottimizzate NEON per dispositivi ARM, riguardanti la gestione delle immagini e lo swizzling. Per l’interfaccia KDE, è stata aggiornata la visualizzazione del testo monospace per allinearsi al font predefinito di sistema.
Installazione
Attualmente, ROM Properties Page Shell Extension è compatibile con le seguenti piattaforme:
- KDE 4.x.
- KDE Frameworks 5.x.
- XFCE (GTK+ 2.x).
- GNOME e Unity (GTK+ 3.x).
- MATE Desktop (1.18+; GTK+ 3.x).
- Cinnamon Desktop.
- Windows XP (e superiore).
Su Windows, avrai bisogno del runtime di MSVC 2015-2019:
- 32-bit: https://aka.ms/vs/16/release/vc_redist.x86.exe
- 64-bit: https://aka.ms/vs/16/release/vc_redist.x64.exe
Linux
Installare il pacchetto .deb
pertinente, a seconda dell’ambiente desktop che si sta utilizzando e della propria CPU. Nota che potreste dover installare il pacchetto KDE4 anche se si utilizza KDE5, poiché molti programmi KDE utilizzano ancora le librerie 4.x.
Dopo l’installazione, il plugin deve essere abilitato nel browser dei file Dolphin:
- Chiudere tutte le istanze di Dolphin.
- Avviare Dolphin.
- Fare clic su Control, Configure Dolphin.
- Fare clic sulla sezione “General”, quindi sulla scheda “Preview”.
- Controllare la voce “ROM Properties Page”, quindi fare clic su OK.
- Abilitare le anteprime in una directory contenente un tipo di file supportato.
Se installato correttamente, le miniature devono essere generate per il tipo di file supportato, è inoltre possibile fare clic con il pulsante destro del mouse su di un file, selezionare Proprietà, quindi fare clic sulla scheda “ROM Properties” per visualizzare ulteriori informazioni sull’immagine ROM.
Windows
Estrarre l’archivio .zip
in una directory, quindi eseguire il file install.exe
. Il programma di installazione richiederà l’accesso come amministratore, quindi fare clic su “Sì” se richiesto. Nel programma di installazione, fare clic sul pulsante “Install” per registrare la DLL della pagina delle proprietà della ROM.
Si noti che ciò codificherà in modo rigido la posizione dei file DLL nel registro, quindi è possibile posizionare le DLL in una posizione comune.
Per disinstallare il plugin, eseguire di nuovo install.exe
, quindi fare clic sul pulsante “Uninstall”.
Livello di supporto file corrente
Sistema | Tab proprietà | Metadata | Immagini interne | Scansioni esterne |
NES | Si | No | N/A | No |
Super NES | Si | Si | N/A | Titolo |
Microsoft Xbox (XBE) | Si | Si | Icona | No |
Microsoft Xbox 360 (XEX) | Si | Si | Icona | No |
Microsoft Xbox 360 (STFS) | Si | Si | Icona | No |
Microsoft Xbox Game Disc | Si | Si | Icona | No |
Nintendo 64 | Si | Si | N/A | No |
File ticket di iQue Player | Si | Si | Icona, Banner | No |
Dischi Nintendo GameCube | Si | Si | Banner | Dischi, Cover |
Banner Nintendo GameCube | Si | Si | Banner | No |
Salvataggi Nintendo GameCube | Si | Si | Icona | N/A |
Dischi Nintendo Wii | Si | Si | No | Dischi, Cover |
Wad Nintendo Wii | Si | Si | Si* | Titolo, Cover |
Salvataggi Nintendo Wii | Si | No | Si | N/A |
Nintendo Wii U | Si | No | No | Dischi, Cover |
Sega 8-bit (Sega Master System, Game Gear) | Si | Si | N/A | No |
Sega Mega Drive | Si | No | N/A | No |
Sega Dreamcast | Si | Si | Media | No |
Salvataggi Sega Dreamcast | Si | No | Icona, Banner | No |
Sega Saturn | Si | Si | N/A | No |
Dischi Sony PlayStation | Si | No | N/A | No |
EXE della PlayStation Sony | Si | No | N/A | N/A |
Salvataggi Sony PlayStation | Si | Si | Icona | N/A |
Dischi Sony PlayStation 2 | Si | No | N/A | No |
* Le immagini interne sono presenti solo su WAD, DLC e Wii.
Palmari
Sistema | Tab proprietà | Metadata | Immagini interne | Scansioni esterne |
Atari Lynx | Si | No | N/A | No |
Neo Geo Pocket (Color) | Si | Si | N/A | No |
Nintendo Game Boy (Color) | Si | Si | N/A | Titolo |
Nintendo Virtual Boy | Si | No | N/A | No |
Nintendo Game Boy Advance | Si | Si | N/A | Titolo |
Nintendo DS(i) | Si | Si | Icona | Cover, Box |
Nintendo 3DS | Si | Si | Icona | Cover, Box |
Pokémon Mini | Si | Si | N/A | No |
Tiger game.com | Si | Si | Icona | No |
Formati texture
Sistema | Tab proprietà | Metadata | Immagini interne | Scansioni esterne |
Texture .tex Leapster Didj | Si | Si | Immagine | N/A |
Texture Khronos KTX | Si | Si | Immagine | N/A |
Texture Khronos KTX2 | Si | Si | Immagine | N/A |
Microsoft DirectDraw Surface | Si | Si | Immagine | N/A |
Texture XPR Microsoft Xbox | Si | Si | Immagine | N/A |
Texture PowerVR 3.0.0 | Si | Si | Immagine | N/A |
Texture Sega PVR/GVR/SVR | Si | Si | Immagine | N/A |
Texture Valve VTF | Si | Si | Immagine | N/A |
Texture Valve VTF3 (PS3) | Si | Si | Immagine | N/A |
Texture Codec
- Formati RGB lineari assortiti, inclusi 15 bit, 16 bit, 24 bit e 32 bit per pixel.
- La maggior parte di questi formati ha decodificatori ottimizzati per SSE2 e/o SSSE3.
RGB9_E5
è supportato, sebbene al momento sia convertito in ARGB32 per scopi di visualizzazione. Anche il decodificatore è lento (contributi benvenuti).
- Dreamcast: Twiddled e Vector Quantized.
- Nintendo DS: Tile CI8 con palette BGR555.
- Nintendo 3DS: Tile twiddled RGB565.
- GameCube: Tile RGB5A3 e CI8 con palette RGB5A3.
- S3TC: DXT1, DXT2, DXT3, DXT4, DXT5, BC4, e codec BC5.
- Formati di file supportati: DDS, KTX, KTX2, VTF, VTF3, XPR.
- GameCube 2×2-tiled DXT1 è supportato nei file texture GVR.
- BC7: Supportato in DDS, KTX, KTX2, e in nei file delle texture PowerVR 3.0.0.
- L’implementazione è piuttosto lenta (i contributi sono benvenuti).
- PVRTC: Supportato nei file delle texture DDS, KTX, KTX2, e PowerVR 3.0.0.
- PVRTC-II: Parzialmente supportato. Il flag di transizione effettiva e le immagini che non sono un multiplo della dimensione del riquadro non sono supportati.
Formati audio
Sistema | Tab proprietà | Metadata | Immagini interne | Scansioni esterne |
Atari 8-bit SAP audio | Si | Si | N/A | N/A |
Atari ST SNDH audio | Si | Si | N/A | N/A |
CRI ADX ADPCM | Si | Si | N/A | N/A |
Commodore 64 | Si | Si | N/A | N/A |
Game Boy Sound System | Si | Si | N/A | N/A |
Nintendo 3DS BCSTM e BCWAV | Si | Si | N/A | N/A |
Nintendo Sound Format | Si | Si | N/A | N/A |
Nintendo Wii BRSTM | Si | Si | N/A | N/A |
Nintendo Wii U BFSTM | Si | Si | N/A | N/A |
Portable Sound Format | Si | Si | N/A | N/A |
Super NES SPC Format | Si | Si | N/A | N/A |
Video Game Music | Si | Si | N/A | N/A |
Altro
Sistema | Tab proprietà | Metadata | Immagini interne | Scansioni esterne |
Formato eseguibile e collegabile | Si | No | N/A | N/A |
Immagini disco ISO-9660 | Si | No | No | N/A |
Binari Mach-O | Si | No | N/A | N/A |
Nintendo amiibo | Si | No | N/A | Media |
Nintendo Badge Arcade | Si | No | Immagine | N/A |
File eseguibili Windows/DOS | Si | No | No | N/A |
Note
- L’immagine interna si riferisce al materiale illustrativo contenuto nella ROM e/o all’immagine del disco. Queste immagini sono in genere visualizzate nel menu principale del sistema prima di iniziare il gioco.
- “N/A” qui significa che l’immagine della ROM o del disco non ha questa funzione.
- “No” indica che la funzione è presente ma non è attualmente implementata.
- Le scansioni esterne si riferiscono alle scansioni da un database esterno, come GameTDB.com per GameCube e Wii.
- “No” indica che nessun database è attualmente disponibile per questo sistema.
- Qualsiasi altra cosa indica quali tipi di immagini sono disponibili.
- Per amiibo, “media” si riferisce all’oggetto amiibo, che può essere una figurina, una carta o un peluche.
- Gli eseguibili di Windows possono contenere più dimensioni di icone. Il supporto per le icone di Windows verrà aggiunto una volta aggiunto il supporto per più dimensioni di immagine.
- Sega a 8 bit supporta solo immagini ROM con un’intestazione “TMR SEGA”.
Un programma di configurazione iniziale è incluso con la versione Windows di ROM Properties. Ciò consente di configurare quali immagini verranno utilizzate per le anteprime su ciascun sistema.
La funzionalità è disponibile anche su Linux, ma l’interfaccia utente non è stata ancora trasferita. Vedere il file doc/rom-properties.conf.example
per un file di configurazione di esempio, che può essere inserito in ~/.config/rom-properties
.
Download di media esterni
Alcuni parser supportano l’uso di scansioni di supporti esterni attraverso un database online, ad esempio da GameTDB.com. Questo è abilitato di default, ma è possibile personalizzare quali scansioni vengono scaricate per quali sistemi eseguendo il programma di configurazione, rp-config.exe
.
Le immagini scaricate vengono memorizzate nella cache all’interno della seguente directory:
- Linux:
~/.cache/rom-properties/
- Windows XP:
%LOCALAPPDATA%\rom-properties\cache
- Windows Vista+:
%USERPROFILE%\AppData\LocalLow\rom-properties\cache
La struttura della directory corrisponde al sito di origine, quindi ad esempio un’immagine del disco di Super Smash Bros. Brawl verrebbe scaricata su ~/.cache/rom-properties/wii/disc/US/RSBE01.png
.
Si noti che se il download non riesce per qualsiasi motivo, un file fittizio a 0
byte verrà inserito nella cache, il che indica all’estensione della shell di non tentare di scaricare nuovamente il file. [FIXME: Se il download non riesce a causa della mancanza di connettività di rete, non dovrebbe farlo].
Se hai una copia offline del database di immagini di GameTDB, puoi copiarlo nella directory della cache della pagina delle proprietà della ROM per consentire all’estensione di utilizzare la versione pre-scaricata invece di scaricare le immagini secondo necessità.
Chiavi di decrittazione
Alcuni formati più recenti, comprese le immagini del disco Wii, hanno sezioni crittografate. L’estensione della shell include il codice di decrittazione per la gestione di queste immagini, ma le chiavi non sono incluse. Per installare le chiavi, creare un file di testo chiamato keys.conf
nella directory di configurazione di rom-properties:
- Linux:
~/.config/rom-properties/keys.conf
- Windows:
%APPDATA%\rom-properties\keys.conf
Il file keys.conf
utilizza il formato INI. Un file di esempio, keys.conf.example
, è incluso con l’estensione della shell. Questo file ha un elenco di tutte le chiavi supportate, con segnaposto anziché i dati delle chiavi effettive. Ad esempio, un file keys.conf
con le chiavi supportate per Wii è simile al seguente:
[Keys]
rvl-common=[Wii common key]
rvl-korean=[Wii Korean key]
Sostituire i segnaposto chiave con stringhe esadecimali che rappresentano la chiave. In questo esempio, entrambe le chiavi sono AES-128, quindi le stringhe esadecimali devono contenere 32 caratteri.
Nota: Se una chiave non è corretta, qualsiasi finestra di dialogo delle proprietà che utilizza la chiave per decrittografare i dati mostrerà un messaggio di errore invece dei dati in questione.
File non supportato?
Se hai un file che ritieni dovrebbe essere supportato da ROM Properties o desideri vedere il supporto aggiunto per un nuovo tipo, invia un problema su GitHub: https://github.com/GerbilSoft/rom-properties/issues
Changelog
Nuovi parser
-
- J2ME: Parser per pacchetti
.jar
Java 2 Micro Edition. Supporta solo pacchetti.jar
J2ME e file di metadati.jad
. Gli altri file.jar
verranno ignorati. Anche i pacchetti Android (.apk
) non sono attualmente supportati. - Qoi: Parser di formato immagine abbastanza buono. Utilizza
qoi.h
dall’upstream.
- J2ME: Parser per pacchetti
Nuove funzionalità del parser
- WiiUPackage: Aggiunto supporto per i pacchetti Wii U estratti.
- Correzione #430: Aggiunta del supporto per i giochi WiiU estratti.
- Richiesto da @Masamune3210.
- Correzione #430: Aggiunta del supporto per i giochi WiiU estratti.
- XboxDisc: Ora sono supportati i file system dei dischi estratti.
- Gestito in modo simile a WiiUPackage.
- Correzione #436: Aggiunta del supporto per le icone delle cartelle per i giochi Xbox OG.
- Richiesto da @Masamune3210.
- Wim: Aggiunta una gestione speciale per le immagini non preparate.
- Correzione #445: [libromdata – WIM] Le immagini di installazione del sistema operativo Windows non preparate non sono supportate correttamente.
- Richiesto da @pivotman319-owo.
- Correzione #445: [libromdata – WIM] Le immagini di installazione del sistema operativo Windows non preparate non sono supportate correttamente.
Correzioni di bug
- Amiibo: Corretto un errore che poteva causare la visualizzazione della variante del personaggio sbagliata per alcuni amiibo.
- Windows: Corretti gli arresti anomali e problemi apparentemente casuali (principalmente su Windows 10) che potrebbero verificarsi quando si visualizza la scheda Proprietà ROM per un tipo di file che mostra ListView, ad esempio file EXE e DLL.
- Correzione #432: [Segnalazione bug] I file EXE/DLL causano un arresto anomalo.
- Segnalato da @xxmichibxx.
- Correzione #432: [Segnalazione bug] I file EXE/DLL causano un arresto anomalo.
- EXE: Gestisce gli eseguibili PE con
OptionalHeader.Magic=0
come PE32. Questo corregge il rilevamento di alcune DLL Win32.- Correzione #437: I vecchi file PE di Win32s non vengono riconosciuti a causa di un errore di
OptionalHeader
.- Segnalato da @DankRank.
- Corretto inoltre un controllo dei limiti errato che interrompeva la tabella delle esportazioni su queste DLL.
- Richiesta di pull: #438.
- Inviato da @DankRank.
- Richiesta di pull: #438.
- Correzione #437: I vecchi file PE di Win32s non vengono riconosciuti a causa di un errore di
- Windows: Ridimensiona correttamente le dimensioni delle icone e dei banner.
- Le PSP Mini mostravano un banner gigante che confondeva la visualizzazione delle schede.
- Correzione #433: [Segnalazione bug] Il tipo di ROM non viene visualizzato correttamente per alcune ROM PSP Mini.
- Segnalato da @xxmichibxx.
- Interessa: v1.5 – v2.4.1.
- PowerVR3: Corretto il rilevamento delle texture swapped-endian.
- La maggior parte delle texture sono little-endian, quindi questo riguarda principalmente i sistemi big-endian come PowerPC.
- Interessa: v2.4 – v2.4.1.
- KDE rp-config: ImageTypesTab: Corretto l’ordinamento delle schede per l’etichetta Crediti.
- WiiUData: Corretti alcuni problemi di ordinamento che potrebbero aver causato informazioni errate sull’editore o sul tipo di applicazione per alcuni giochi.
- Ciò ha comportato anche asserzioni libstdc++ nelle build di debug.
- EXE: Aggiunti i tipi di macchina per CHPEv1 i386 e CHPEv2 ARM64X.
- Correzione #439: Tipo di macchina ARM64 mancante
IMAGE_FILE_MACHINE_CHPE_X86
.- Segnalato da @pivotman319-owo.
- Correzione #439: Tipo di macchina ARM64 mancante
- Xbox360_XEX: Correzione delle classificazioni in base all’età australiana (ACB) in alcuni titoli XBLA.
- Xbox360_STFS: Corretta la lettura di XEX che si sovrappongono al limite di un blocco hash.
- NOTA: L’intero XEX ora viene letto in memoria, il che potrebbe causare rallentamenti. Questo aspetto verrà migliorato in seguito.
- Windows: Corretta la gestione delle unità CD-ROM.
- Il problema si è risolto quando è stato aggiunto il supporto per i pacchetti Wii U, poiché i dispositivi sono considerati directory radice e quindi è stato effettuato il controllo della directory anziché quello del dispositivo.
- Interessa: v2.4 – v2.4.1.
- Dreamcast: Corretto l’errore di battitura che interrompeva l’analisi GDI.
- Interessa: V2.4 – v2.4.1.
- Frontend dell’interfaccia utente GTK: Assicura che l’etichetta della descrizione sia in grassetto e rosso se il campo è un campo di “avviso”.
- DpfReader: Corretta una regressione che interrompeva la lettura dei file RPF.
- Interessa: v2.4 – v2.4.1.
- Wim: Correzione dell’analisi del timestamp dell’immagine. In precedenza, “HIGHPART” veniva utilizzato sia per i 32 bit alti che per quelli bassi. La data era solitamente corretta, ma il timestamp era errato di qualche minuto. Sia “HIGHPART” che “LOWPART” ora vengono utilizzati correttamente per generare il timestamp FILETIME a 64 bit.
- Corretti i problemi di compilazione su Mac OS X.
- Richiesta di pull: #444
- Inviato da @ccawley2011.
- Richiesta di pull: #444
Altre modifiche
- CMake: Aggiunta l’opzione
ENABLE_NETWORKING
per controllare se le funzionalità di rete, ad esempio il download della boxart e la verifica degli aggiornamenti, sono abilitate o meno. L’impostazione predefinita è ON, ma può essere disabilitata per ambienti ad alta sicurezza. - libfmt ora viene utilizzato per la formattazione delle stringhe nella maggior parte delle parti di rom-properties. libfmt ha un’analisi delle stringhe più veloce di
printf()
e stringstream e garantisce una gestione del formato sicura tramite i modelli C++, mentre printf può inciampare perché usa varargs in stile C. - rpcli: Il testo in uscita per i messaggi di “avviso” ora è colorato se stampato su un terminale.
- Rimosso il supporto per IFUNC. È supportato solo da glibc su Linux (e forse anche da alcune BSD) e aggiunge molta complessità. Le normali funzioni di dispatch in C hanno solo poche istruzioni di overhead nella maggior parte dei casi.
- Aggiunte funzioni ottimizzate per NEON:
- Array byteswap (16 bit e 32 bit).
- Decodifica lineare delle immagini (colore a 32 bit).
- Swizzling delle immagini (ad esempio KTX2).
- Testato su Android. (arm64)
- Testato per la compilazione su MSVC. (arm32, arm64)
- Cambiati i parser XML da TinyXML2 a PugiXML.
- Interfaccia utente KDE: Il testo monospaziato ora utilizza il font monospaziato di sistema anziché il font monospaziato predefinito di Qt (richiede Qt 5.2 o versione successiva).
Per quanto riguarda l’installazione su Ubuntu, i pacchetti sono disponibili tramite il PPA di Ubuntu per le versioni seguenti:
- Ubuntu 16.04 “Xenial” Xerus
- Ubuntu 18.04 “Bionic” Beaver
- Ubuntu 20.04 “Focal” Fossa
- Ubuntu 22.04 “Jammy” Jellyfish
- Ubuntu 23.10 “Mantic” Minotaur
Per aggiungere il PPA e installare rom-properties, eseguire i seguenti comandi:
sudo add-apt-repository ppa:gerbilsoft/ppa
sudo apt-get update
sudo apt-get install rom-properties-all
Questo installerà tutti i frontend e gli eseguibili di ROM Properties. È possibile installare anche i singoli frontend installando il pacchetto specifico rom-properties-*.
Si noti che se si esegue l’aggiornamento dalla versione 2.1 o precedente, potrebbe verificarsi un conflitto di file relativo a /usr/share/thumbnailers/rom-properties.thumbnailer
.
In questo caso, sarà necessario rimuovere manualmente rom-properties-gtk3
prima di eseguire l’aggiornamento.
Inoltre, se si esegue l’aggiornamento dalla versione 2.0, potrebbe verificarsi un errore di dipendenza legato a libromdata1
. Sarà necessario disinstallare libromdata1
prima di eseguire l’aggiornamento.
Download: ROM Properties Page Shell Extension v2.5 (Windows Debug)
Download: ROM Properties Page Shell Extension v2.5 (Windows)
Download: Source code ROM Properties Page Shell Extension v2.5
Fonte: wiidatabase.de