Home Homebrew Rilasciato Sphaira v1.0.0: L’alternativa evoluta a hbmenu per Nintendo Switch

[Scena Switch] Rilasciato Sphaira v1.0.0: L’alternativa evoluta a hbmenu per Nintendo Switch

259
0

Dopo quasi cinque mesi di sviluppo incessante, ITotalJustice ha rilasciato la versione 1.0.0 di Sphaira, il launcher che molti stavano aspettando per sostituire definitivamente il vecchio e limitato hbmenu.

Non si tratta di un semplice aggiornamento: sono stati modificati oltre 213 file, con centinaia di commit che hanno trasformito il progetto in qualcosa di completamente diverso, molto più potente, veloce e moderno.

Sphaira ora è un vero file manager tuttofare: permette di montare praticamente qualsiasi cosa – NCA, NSP, XCI, NSZ, XCZ, save, gamecard, romfs delle NRO, persino ZIP e archivi compressi – direttamente nel browser file, con prestazioni eccellenti grazie a cache LRU e letture ottimizzate che raggiungono gli 80 MB/s anche su file compressi.

Si possono esplorare i contenuti dei giochi, esportare in NSZ/XCZ/NSZ con compressione solida, block o ldm, e gestire i salvataggi in modo molto più intelligente, con backup automatici basati sull’app_id e restore precisi.

Il supporto di rete è diventato impressionante: HTTP, HTTPS, FTP, FTPS, SMB, NFS, WebDAV e persino MTP multithreadato che spinge fino a 77 MB/s in lettura e 40 MB/s in scrittura dalla SD.

Si possono esportare giochi e save direttamente su PC via USB o rete senza passare per altri tool, e l’installazione via USB/MTP/FTP è stata completamente riscritta per essere più veloce e stabile.

Ma non è solo gestione file: Sphaira ora integra un lettore immagine (PNG, JPG, BMP), un player audio che supporta BFSTM, BFWAV, MP3, WAV, OGG e FLAC, con lettura tag ID3 e persino lo sblocco delle tracce “criptate” di GTA Vice City.

Si può impostare la musica di sottofondo per il tema, far partire una playlist mentre si naviga, il tutto con un’interfaccia fluida che supporta anche il controllo via tastiera e scrolling rapido.

L’installer è stato reso più intelligente: di default (verifica NCA disattivata di default per evitare lamentele, ma riattivabile facilmente), c’è il creatore di mount personalizzati, la gestione dei ticket personalizzati ES, il dump via USB diretto su PC.

Sono veramente tantissime le piccole attenzioni che rendono l’esperienza quotidiana molto più piacevole: spinner di caricamento, info box contestuali, storage visualizzato in GB, orologio senza secondi, opzione per nascondere IP o homebrew, e via dicendo.

Caratteristiche

  • Homebrew: Menu principale che mostra tutti i file .nro presenti nella cartella /switch/. Da qui è possibile avviare, ordinare, eliminare, creare forwarder e altro. La navigazione tra le schede avviene tramite i tasti e .
  • FileBrowser: Accessibile premendo dal menu principale. Permette di tagliare, copiare, eliminare, rinominare e gestire i file. Supporta la selezione multipla tramite il tasto . I forwarder possono essere creati se il file selezionato ha un’associazione definita.
  • Appstore: Integra un appstore basato sull’API di hb-app.store. Si apre premendo dal menu principale. È pienamente compatibile con l’app hb-appstore e utilizza le stesse cartelle di manifest.
  • Temi: Include tre temi predefiniti (abyss, black e white). È possibile aggiungere temi personalizzati nella cartella /config/sphaira/themes/. I temi supportano immagini, colore interfaccia e musica in formato BFSTM.
  • Forwarder: Consente di creare e installare forwarder per qualsiasi file .nro, utilizzandone icona, nome e autore. Supporta anche forwarder basati su file associati, ad esempio ROM avviate tramite emulatori.
  • File Assoc: Sistema per associare estensioni di file ad applicazioni homebrew (es. emulatori o media player). Le associazioni personalizzate vanno inserite in /config/sphaira/assoc/. Sono supportati database ROM per riconoscimento e icone automatiche. I core RetroArch includono già configurazioni integrate.
  • ROMs: Le ROM vanno collocate in /roms/nome_sistema/ seguendo lo stesso schema di EmulationStation. Supporta sottocartelle e file compressi .zip, riconoscendo l’estensione interna per icone e associazioni.
  • Themezer: Permette di sfogliare e scaricare temi da Themezer tramite Menu Opzioni → Misc → Themezer. I temi vengono salvati in /themes/sphaira/Nome Tema - Autore/ e installati tramite NXThemes Installer.
  • Nxlink integrato: Per sviluppatori homebrew, nxlink è già incluso e funziona automaticamente. Permette l’invio di file .nro e la visualizzazione dei log tramite nxlink -s. Può essere disattivato da Menu Opzioni → Network → Nxlink.
  • Sostituzione hbmenu: Da qui è possibile avviare sphaira al posto di hbmenu attivando l’opzione “Replace hbmenu on exit”. Viene creato un backup automatico in /switch/hbmenu.nro per ripristinare la configurazione originale.

Changelog

Nota: Di seguito è riportato un riepilogo del changelog completo, basato sui commit compresi tra la versione 0.13.3 e la versione 1.0.0.

  • Aggiunta la creazione dei salvataggi e il caricamento delle voci sys-tweak. Aggiunta la cache dei titoli con possibilità di eliminazione.
  • Usato l’app_id per i backup dei salvataggi quando l’app risulta corrotta.
  • Cancellato l’array dei risultati dei titoli quando viene rimossa la cache nxtc. Rinominato “sys-tweek” in “sys-tweak”.
  • Corretto un carattere invalido nei percorsi dei temi (nome autore). Aggiunto il modulo di log nella finestra errori. Risolto il problema #184.
  • Sostituiti quasi tutti gli shared_ptr con unique_ptr.
  • Filtrate alcune app (hbmenu, core RetroArch) se sostituite da altre.
  • Ottimizzato HBL leggendo i file NRO in un unico passaggio. Rimossa memoria dinamica.
  • Aggiunta un’opzione per disabilitare erpt_reports.
  • Ridotte chiamate esplicite a make_unique sfruttando funzioni helper interne.
  • Corretto un crash del menu dei salvataggi causato dal commit 2ff2923.
  • Impostato FsSaveDataMetaInfo nella creazione dei salvataggi per allinearsi a HOS.
  • Impostato FsCreateOption_BigFile per file oltre 4 GiB.
  • Aggiornato fr.json.
  • Aggiunte info box, identificazione case-insensitive dei percorsi e varie ottimizzazioni. Migliorato parsing NACP, gestione XCI, USB e thread.
  • Aggiornata libhaze, trasferimenti MTP multithread (77 MB/s lettura, 40 MB/s scrittura).
  • Utilizzato uevent per ridurre la latenza nei trasferimenti.
  • Gestiti ulteriori errori USB, limite notifiche, velocità USB nel menu.
  • Usato condivar per attendere lo svuotamento del buffer in streaming install.
  • Disabilitati install USB e FTP; rimosso script USB non utilizzato.
  • Ottimizzato workflow: push solo su nuove release, cmake specifico, uso di nproc.
  • Aggiornati zh.json, pt.json, ru.json.
  • Workflow ghdl migliorato (timestamp, lista release).
  • Backport modifiche widget da totalsms.
  • Aggiornato es.json.
  • Scrolling reso fluido tramite delta_time per supporto refresh rate variabile.
  • Aggiunte nuove info box nelle opzioni; unificati miglioramenti da totalsms.
  • Modificata opzione predefinita: la verifica NCA non è più attiva di default.
  • Aggiornate versioni ftpsrv e haze, con supporto file oltre 4 GB.
  • Corretto spacing delle info box.
  • Rimossi i secondi dall’orologio. Corretta visualizzazione nomi lunghi dei file musicali.
  • Mostrate opzioni installazione anche se disabilitate, con avviso su come abilitarle.
  • Corretto link nel readme.
  • Aggiunta opzione per nascondere gli homebrew.
  • Themezer: Prompt per installare ThemeInjector; possibilità di lanciare l’NRO.
  • Sidebar: Aggiunta callback su opzioni disabilitate; prompt per abilitarle.
  • Menu: Aggiunto filepicker e widget di input testo.
  • Filebrowser: Aggiunto creator forwarder, ottimizzazioni zip/folder.
  • Themezer: Mostra solo ultima release per nxtheme.
  • Ottimizzazione passaggio oggetti per const ref / value, vari miglioramenti prestazionali.
  • FTP: Corretta conversione ASCII della passphrase che causava stack overflow.
  • Aggiunto viewer NCA, sistemato fetch icone cinesi e rinominato “dump” → “export”.
  • Rimosso toggle non implementato per cache titoli.
  • Aggiunto supporto FAT BIs (prodinfof, safe, user, system).
  • Aggiunto mounting NCA/save/gamecard. Corretto percorso reale, aggiunto qlaunch romfs.
  • Distruzione widget in ordine inverso allo stack.
  • Aggiunto supporto LRU cache, mount NRO romfs, mount NSP/XCI, zip mount, fix stdio nullptr.
  • Aggiunti thread async per exit ftpsrv/nxlink, logging prestazioni.
  • Devoptab ottimizzato con array statico; disabilitato assoc su custom FS.
  • Enorme aggiornamento agosto: image viewer, music player (mp3/ogg/bfstm), supporto NCA programm, BFSAR, export NSZ/XCZ, USB riscritto, ticket ES personalizzati, zip IO custom, caching, miglioramenti performance.
  • Ripulizia Python (poi parzialmente revert).
  • Download: Nuovo sistema ETag, caricamento async, fix race condition.
  • USB: Pacchetti CRC32C, nuovi test automatizzati, aggiunta pagina webUSB.
  • Devoptab: Aggiunti mount HTTP, NFS, SMB; corretta gestione path, aumento lunghezza a 1024.
  • Aggiunto mount FTP con read/write streaming thread-based.
  • Ottimizzazioni HTTP, opzione per disabilitare stat.
  • Aggiunto WebDAV, multi-threading R/W, mount creator, VFS, mount.ini aggiornato.
  • Fix vari su directory, errori, salvataggi, SMB/NFS, gestione game menu.
  • Aggiunto supporto audio FLAC, thread safe, fix crash in exit.
  • CMake: Aggiunta build “lite” con funzioni minime.
  • Aggiunto supporto SFTP e ulteriori miglioramenti devoptab.
  • Fix crash nei segnali non inizializzati dopo installazioni.
  • Aggiunto supporto navigazione da tastiera.
  • Aggiunti override versione build.
  • Aggiornato MTP per fix freeze e ottimizzazione install via stream.
  • Aggiunto wrapper mounts esposto via MTP/FTP, fix vari per XCI/NSP e mount root.
  • Aggiunto spinner universale per caricamento icone homebrew/giochi.
  • Aggiunta visualizzazione spazio archiviazione; rimossi orologio e batteria; passaggio MB→GB; fix dumping salvataggi.
  • Aggiunti filtri per mount MTP/FTP, opzioni FTP integrate.
  • Rimossa opzione orologio 12h; aggiunta opzione per nascondere IP.
  • Fix dir count, BFSAR/game loop, stat directory.

Download: Sphaira v1.0.0

Download: Source code Sphaira v1.0.0

Fonte: gbatemp.net