Skip to content

v0.5.0 — Mod e patch, compilazione dal sorgente pubblico

Pre-release
Pre-release

Choose a tag to compare

@guzuold guzuold released this 21 Oct 09:30

Novità: 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 dentro app0/, 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_module o sce_sys dentro una mod vengono rifiutati con un messaggio.

Patch XML

  • File in formato shadPS4 / GoldHEN in runtime/patches, con le scelte in runtime/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