Virtual file system di DarkPlaces

From Blood Wiki
Jump to: navigation, search

Contents

Il virtual file system di DarkPlaces è una tabella di file di sostituzione che combina il vero file system e i file contenuti in archivi di gioco PK3 e PAK.

Le cose che permette di fare:

  • accesso trasparente a game directory separate contenenti file tutti scrivibili (My Documents/My Games)
  • accesso a file dentro ad archivi come se fossero sull'HDD
  • supporto per mod (le mod possono sostituire file ed aggiungerne di nuovi)
  • sicurezza (il codice di gioco non può danneggiare i file di gioco)

[edit] Come è fatta la tabella di file

  1. La prima game directory viene processata
    1. Gli archivi sono processati in sequenza (per ordine alfabetico), i dile con lo stesso nome vengono sovrapposti
    2. I file vuoti sovrapposti ad altri vengono "cancellati" dal file system
    3. I file reali contenuti nella game directory vengono processati e sovrapposti ai file negli archivi
  2. La successiva game directory viene processata

[edit] Peculiarità

Dato che il virtual file system è, in fin dei conti, un livello astratto, ha delle proprie peculiarità.

[edit] 1. La home directory può essere diversa dalla game directory

Questo significa che il config.cfg, gli screenshot eccetera sono contenunti in una cartella diversa, ad esempio in "My Documents/My Games/gamedir"

[edit] 2. Per i file scritti "data/" viene aggiunto automaticamente

Quando QC scrive un qualsiasi file il motore aggiunge in automatico 'data/' al percorso, così che il codice di gioco non possa danneggiare file, mappe... Ma il processo di lettura è diverso. Può leggere file dalla cartella di base, delle open map...

Così, se si scrive, ad esempio, un "foo.txt" (che verrà scritto in "data/foo.txt") e si ha un "foo.txt" nella game directory, diventa necessario indicare il percorso "data/foo.txt" quando si legge il file, e indicare "foo.txt" quando si scrive. Se non lo si fa, il file verrà scritto sotto "data/", ma verrà letto il file nella game directory.

[edit] 3. "./" e "../" non sono utilizzabili

Per prevenire che il codice di gioco danneggi dei file l'uso degli operatori "." e ".." per i percorsi sono proibiti.

[edit] 4. Non completamente integrato nell'editor di mappe

L'editor di mappe non supporta il virtual file system nella finestra di selezione modelli (l'ispettore delle entity), può selezionare solo file reali. Questo non è un problema per la versione di sviluppo di Blood Omnicide (copia in locale di SVN con installazioni di prova), ma la versione che sarà diffusa dell'SDK dovrà per forza avere tutti i modelli di gioco decompressi, in modo di farli vedere dall'editor nella finestra di selezione modelli.


 Blood Wiki in Italian

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox