Repository navigation
v0.5.0 — Mod e patch, compilazione dal sorgente pubblico
Pre-releaseNovità: mod e patch nella scheda MODS del launcher, e compilazione dal solo repository pubblico.
Mod di file
- Una cartella per mod in
runtime/mods, con dentro le cartelle del gioco (archives/,icons/…). Sono accettate anche dentroapp0/,CUSA14876/,CUSA13795/o in una cartella creata dall'estrazione di uno ZIP. - Ordine e interruttori in
runtime/user/mods.json({"order": [...], "disabled": [...]}). Vince la mod più in basso nella lista. - Il gioco legge prima dalle mod attive, poi dall'aggiornamento e dal gioco base. I file del gioco non vengono mai modificati.
- Collegamenti ed
eboot.bin,sce_moduleosce_sysdentro una mod vengono rifiutati con un messaggio.
Patch XML
- File in formato shadPS4 / GoldHEN in
runtime/patches, con le scelte inruntime/user/patches.json. - Una patch si applica solo se TitleID, AppElf e AppVer corrispondono al gioco in esecuzione.
- Ogni scrittura deve stare dentro l'eboot. Le patch scelte vengono controllate tutte prima di scrivere: se una non è valida, l'avvio si ferma indicando il motivo.
Sono gli stessi formati di SacredFire e GetLostIn CTR-NitroFueled-PC, quindi le stesse cartelle e gli stessi file funzionano in entrambi. Dettagli in MODS.md.
Compilazione: ctrport/build_release.ps1 compila tutto il programma da un clone pulito, dopo tools/bootstrap.ps1. ctrport.exe, il launcher e il server di questa release sono compilati così; ctr_gpu.dll e ctr_hle.dll restano quelli della v0.5.0.
Aggiornamento: con Check updates nel launcher, chiudendo prima il gioco. runtime/mods e runtime/user restano intatti.
Verifica
- 49 controlli dei formati di mod e patch, compilati sia in C++17 sia in C++20, su file sintetici.
- Una partita con il gioco retail, una mod e una patch di prova: il log riporta 2 file sostituiti, la patch 01.21 applicata e quella 01.00 scartata. Il gioco ha letto gli archivi della mod fino alla schermata iniziale, con gli stessi messaggi del renderer della v0.5.0.
- Il clone pulito compila con
build_release.ps1.
Non ancora verificato: il risultato grafico delle mod e la nuova schermata MODS non sono stati controllati a schermo. Release sperimentale. Nessun file del gioco incluso; nessuna nuova funzione retail ricostruita viene dichiarata verificata.
Commit: a5c90e341be16789d562542930d72e46b10fc207
SHA256 CTRNativePorted-v0.5.0-win64.zip: d73df26e9657181af0c8b5d0d0c9d847e9be1ce1fe7fddfb8c600c54ce82b25e
SHA256 CTRNativePorted-v0.5.0-source.zip: 90b0e2d8bc14fa99dd8751487dee81fcf1c9b2724db63eaff40f760b2c42750b