Home Homebrew Rilasciato ROM Properties v2.0

Rilasciato ROM Properties v2.0

171
0

Pubblicato un nuovo e interessantissimo 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.

L’interfaccia utente relativa alla configurazione del programma è stata trasferita in GTK+ UI toolkit. Ciò consente agli utenti desktop GTK+ di utilizzare rp-config senza dover installare l’interfaccia utente Qt/KDE.

Anche la libreria libromdata ora risulterebbe condivisa invece che statica, libromdata.so.1 su Linux, mentre romdata-1.dll su PC Windows. Ciò riduce notevolmente le dimensioni complessive di tutti i pacchetti installati.

Tuttavia non è garantito che l’ABI libromdata rimanga stabile tra le versioni, mentre c’è da dire che esporta solo i simboli richiesti per i frontend dell’interfaccia utente. La libreria non è stata concepita per un uso generale con altri programmi.

Altre modifiche sostanziali vedono un consumo ridotto della memoria grazie ad un rifacimento delle tabelle e delle stringhe che ne hanno ridimensionato anche il numero di riposizionamenti, migliorandone le prestazioni di avvio.

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:

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

SistemaTab proprietàMetadataImmagini interneScansioni esterne
NESSiNoN/ANo
Super NESSiSiN/ATitolo
Microsoft Xbox (XBE)SiSiIconaNo
Microsoft Xbox 360 (XEX)SiSiIconaNo
Microsoft Xbox 360 (STFS)SiSiIconaNo
Microsoft Xbox Game DiscSiSiIconaNo
Nintendo 64SiSiN/ANo
File ticket di iQue PlayerSiSiIcona, BannerNo
Dischi Nintendo GameCube SiSiBannerDischi, Cover
Banner Nintendo GameCube SiSiBannerNo
Salvataggi Nintendo GameCube SiSiIconaN/A
Dischi Nintendo Wii SiSiNoDischi, Cover
Wad Nintendo Wii SiSiSi*Titolo, Cover
Salvataggi Nintendo Wii SiNoSiN/A
Nintendo Wii USiNoNoDischi, Cover
Sega 8-bit (Sega Master System, Game Gear)SiSiN/ANo
Sega Mega DriveSiNoN/ANo
Sega DreamcastSiSiMediaNo
Salvataggi Sega Dreamcast SiNoIcona, BannerNo
Sega SaturnSiSiN/ANo
Dischi Sony PlayStationSiNoN/ANo
EXE della PlayStation SonySiNoN/AN/A
Salvataggi Sony PlayStationSiSiIconaN/A
Dischi Sony PlayStation 2SiNoN/ANo

* Le immagini interne sono presenti solo su WAD, DLC e Wii.

Palmari

SistemaTab proprietàMetadataImmagini interneScansioni esterne
Atari LynxSiNoN/ANo
Neo Geo Pocket (Color)SiSiN/ANo
Nintendo Game Boy (Color)SiSiN/ATitolo
Nintendo Virtual BoySiNoN/ANo
Nintendo Game Boy AdvanceSiSiN/ATitolo
Nintendo DS(i)SiSiIconaCover, Box
Nintendo 3DSSiSiIconaCover, Box
Pokémon MiniSiSiN/ANo
Tiger game.comSiSiIconaNo

Formati texture

SistemaTab proprietàMetadataImmagini interneScansioni esterne
Texture .tex Leapster DidjSiSiImmagineN/A
Texture Khronos KTXSiSiImmagineN/A
Texture Khronos KTX2SiSiImmagineN/A
Microsoft DirectDraw SurfaceSiSiImmagineN/A
Texture XPR Microsoft XboxSiSiImmagineN/A
Texture PowerVR 3.0.0SiSiImmagineN/A
Texture Sega PVR/GVR/SVRSiSiImmagineN/A
Texture Valve VTFSiSiImmagineN/A
Texture Valve VTF3 (PS3)SiSiImmagineN/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

SistemaTab proprietàMetadata Immagini interneScansioni esterne
Atari 8-bit SAP audioSiSiN/AN/A
Atari ST SNDH audioSiSiN/AN/A
CRI ADX ADPCMSiSiN/AN/A
Commodore 64SiSiN/AN/A
Game Boy Sound SystemSiSiN/AN/A
Nintendo 3DS BCSTM e BCWAVSiSiN/AN/A
Nintendo Sound FormatSiSiN/AN/A
Nintendo Wii BRSTMSiSiN/AN/A
Nintendo Wii U BFSTMSiSiN/AN/A
Portable Sound FormatSiSiN/AN/A
Super NES SPC FormatSiSiN/AN/A
Video Game MusicSiSiN/AN/A

Altro

SistemaTab proprietàMetadata Immagini interneScansioni esterne
Formato eseguibile e collegabileSiNoN/AN/A
Immagini disco ISO-9660SiNoNoN/A
Binari Mach-OSiNoN/AN/A
Nintendo amiiboSiNoN/AMedia
Nintendo Badge ArcadeSiNoImmagineN/A
File eseguibili Windows/DOSSiNoNoN/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.

[stextbox id=’info’]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.[/stextbox]

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

Nuove caratteristiche

  • L’interfaccia utente di configurazione è stata trasferita su GTK. Gli utenti di desktop basati su GTK non avranno più bisogno di installare i frontend dell’interfaccia utente di KDE4 o KF5 per utilizzare rp-config.
  • libromdata ora è stata compilata come libreria condivisa su Windows e Linux. Ciò significa che nella distribuzione verrà inclusa una DLL aggiuntiva (romdata-1.dll) o SO (libromdata.so.1). Il vantaggio di dividerlo è che tutti i frontend dell’interfaccia utente ora sono significativamente più piccoli.
    • ATTENZIONE: La compatibilità binaria tra le versioni NON è garantita. La SOVERSIONE verrà incrementata se è noto che l’ABI si è interrotto tra le versioni, ma non posso garantire che rimarrà sempre compatibile.
    • I resolver IFUNC ora utilizzano le funzioni di flag CPU integrate in gcc perché le normali funzioni delle proprietà rom non sono disponibili a causa di imbrogli PLT. IFUNC ora richiede gcc-4.8+ o clang-6.0+.
  • Molte tabelle di stringhe di grandi dimensioni sono state convertite da array di stringhe C in una singola stringa con una tabella offset utilizzando script Python. Ciò riduce l’utilizzo della memoria eliminando un puntatore per stringa e riduce il numero di riposizionamenti, migliorando il tempo di avvio.
    • I formati DirectDrawSurface sono stati precedentemente convertiti manualmente, ma c’erano errori nei formati ASTC, quindi DDS è stato convertito per utilizzare uno script Python e questi errori sono stati corretti.
  • rpcli: Nuova opzione ‘-d’ per saltare i campi RFT_LISTDATA con più di 10 elementi. Utile per saltare ad es. Importazioni/esportazioni di DLL di Windows.

Nuovi parser

  • Atari7800: Immagini ROM Atari 7800 con intestazione A78.

Nuove funzionalità del parser

  • ELF: OSABI 102 (Cell LV2) ora viene correttamente rilevato.
  • DirectDrawSurface: Supporta FourCC ASTC non standard.
  • GameCube, PSP: Aggiunti i tipi di MIME mancanti. Tra le altre cose, questo risolve i metadati mancanti per i file CISO del GameCube.
  • EXE: Rileva gli eseguibili COM/NE ibridi, ad esempio IBMDOS.COM di Multitasking DOS 4.0.
  • EXE: Elenca le esportazioni e le importazioni di DLL. (PE, NE)
    • Fixes #348: Aggiungere una scheda della funzione di importazione/esportazione dll?
      • Segnalato da @vaualbus.
    • Merged #349: EXE PE: Esporta/Importa schede.
      • Introdotto da @DankRank.
    • Merged #350: EXE NE: Schede voci.
      • Introdotto da @DankRank.
    • Merged #355: Correzioni di follow-up per le voci Ne.
      • Introdotto da @DankRank.
    • Merged #356: EXE NE: Scheda importazioni.
      • Introdotto da @DankRank.
  • ELF: Elenca i nomi delle librerie condivise e le importazioni di simboli.
    • Merged #357: Elementi e simboli dinamici ELF.
      • Introdotto da @DankRank.
    • Merged #358: Più colonne nelle tabelle dei simboli ELF.
      • Introdotto da @DankRank.

Correzioni di bug

  • Lua: Corretto un arresto anomalo su Windows in cui systemName() a volte restituisce un puntatore non valido quando si utilizza il frontend della GUI.
  • Nintendo3DS:
  • N64:
    • Le versioni del sistema operativo sono major.minor, ad es. 2.0, non 20. Inoltre, non dovrebbe esserci uno spazio tra “OS” e il numero, ad es. “OS2.0K”.
      • Correzioni #339, segnalate da @slp32.
    • Non controllare la frequenza di clock quando controlli il numero magico.
      • Corretto il rilevamento ad es. Star Fox 64 e Cruis’n USA, che hanno un valore impostato per la frequenza di clock invece di utilizzare l’impostazione predefinita del sistema.
      • Correzioni #340, segnalate da @slp32.
    • Visualizza la frequenza di clock dell’intestazione della ROM. Se 0, verrà visualizzato “Default”.
  • ELF: Mancavano alcuni byteswap, che potrebbero aver interrotto la lettura di alcuni ELF big-endian su little-endian e viceversa.
  • Linux: Corretta l’esplorazione dell’albero dei processi per rilevare l’ambiente desktop. Questo non funzionava correttamente a causa di due variabili denominate ret. Questo è stato interrotto dalla v1.7.
  • GameCube: Migliorata l’euristica della codifica del testo per i metadati BNR1.
  • XboxXPR: Gestisci XPR con dimensioni dell’immagine diverse dalla potenza di due. Forza Motorsport (2005) utilizza ampiamente queste texture. Alcune texture non hanno i soliti campi delle dimensioni dell’immagine compilati, risultando in nessuna immagine; altri hanno valori errati, risultando in un’immagine interrotta.
    • Questo è stato segnalato da Trash_Bandatcoot.
  • Linux: Non tentare fopen() su pipe o socket. Questo può bloccarsi, poiché fopen() non supera O_NONBLOCK.
    • Correzioni #351, segnalate da @IntriguingTiles.
  • Windows: Corretto un arresto anomalo delle applicazioni Java quando si utilizzava la finestra di dialogo di apertura dei file di Java in alcuni casi, ad es. Ghidra.
    • Correzioni #352, segnalate da @RibShark.
  • rpcli: Corregge le larghezze della tabella durante la stampa di stringhe che contengono punti di codice Unicode oltre U+0080 e/o caratteri a larghezza intera.
    • Correzioni #353, segnalate da @DankRank.
  • GameCubeSave: Taglia i CR finali. (TMNT Mutant Melee [GE5EA4])
  • EXE: Corretto un errore di segmentazione durante la visualizzazione di EXE a 16 bit compilati utilizzando Visual Basic.
    • Questo ha interrotto la v1.9.
  • PlayStation: Corretto il rilevamento di immagini CD a 2352 byte/2448 byte.
    • Questo ha interrotto la v1.8.
    • Correzioni #354, segnalate da @DankRank.

Altre modifiche

  • Windows: Il caricamento della DLL è stato rafforzato utilizzando LoadLibraryEx().
    • Questo è supportato su Windows 8 e versioni successive senza modifiche.
    • Su Windows Vista o Windows 7, questo richiede KB2533623.
    • Non è supportato su Windows XP, quindi ricadrà sul precedente comportamento di caricamento della DLL.
  • Metadata: La proprietà Description ora viene utilizzata per le descrizioni al posto della proprietà Subject, se disponibile.
  • Linux: Supporto per la notifica di avvio migliorato. Testato e funzionante con KDE su X11 e Wayland e GTK3/GTK4 su Wayland. GTK3/GTK4 su X11 non sembra gestirlo correttamente, ma potrebbe essere solo un problema con l’esecuzione su KDE anziché su un ambiente desktop basato su GTK.
  • Linux: I file .desktop non elencano più application/octet-stream come tipo MIME supportato. Il database MIME di sistema dovrebbe avere voci corrette per tutti i file supportati. Per i file non supportati, viene incluso un file XML con definizioni di tipo MIME personalizzate.

Download: ROM Properties Page Shell Extension v2.0 (Windows Debug)

Download: ROM Properties Page Shell Extension v2.0 (Windows)

Download: Source code ROM Properties Page Shell Extension v2.0

Fonte: wiidatabase.de

Articolo precedente[Scena Switch] Rilasciato KittyNXBuilder v2022.8.1.53
Articolo successivo[Scena PS Vita] Il downgrade della console PlayStation Vita possibile attraverso le QA Flag e alcuni trucchi sul DNS
Sono Nato nel 1980 e da diversi anni coltivo la passione per tutto ciò che riguarda il mondo dei videogiochi, ho vissuto l'era degli home computer con il Commodore 64 e l'Amiga 500, da sempre appassionato di giochi di ruolo e di titoli di avventura.