mercoledì 11 agosto 2010

[Risorse Utili] DOORTYPE.2DA

Volete utilizzare la miriade di tilesets disponibili sul vault ma nello stesso tempo non avete voglia di spulciare file per file alla ricerca di conflitti e problemi vari?

Bè, in questo post spero di potervi dare una piccola mano.

Ma prima, meglio spiegare brevemente in COSA consistono i conflitti e quali sono i file bastardi che ci creano tanti casini.

Solo 3 files creano particolari conflitti fra tilesets (loadscreen.2da, genericdoors.2da e doortype.2da), ma, per vostra fortuna, solo UNO è quello che da seriamente problemi (e, se non siete degli psicopatici, è questo l'unico files su cui lavorare, gli altri comportano solo la perdita di alcune risorse, cosa marginale), è proprio questo file che andremo ad "analizzare", il DOORTYPE.2DA.

Il file incriminato, si occupa, precisamente, di indicizzare le porte automatiche all'interno di un tileset (attenzione, non mi riferisco alle porte "piazzabili" all'interno degli appositi vani porta, ma alle porte che vengono automaticamente generate al piazzamento di particolari tiles).

Ad ogni porta automatica corrisponde una precisa stringa testuale (numerata) all'interno del doortype.2da ed il numero della stringa è impresso direttamente all'interno del modello 3D di ogni porta.

Il problema è semplice e STRONZO, se il numero della stringa non corrisponderà (o verrà sovrascritta da un altra stringa di un altro tilesets) al numero impresso nel modello 3D della porta, questo non permetterà di visualizzare le porte nel toolset e, ecco la parte peggiore, genererà un crash automatico al caricamento dell'area in gioco!

Ora, spiegato brevemente (e spero in maniera comprensibile, in caso chiedetemi pure chiarimenti via e-mail o commenti) il funzionamento di questo dannato file, si potrà agire in 2 modi per risolvere la cosa, uno semplice (consigliato) ed uno difficile (non consigliato).

Metodo semplice: aprire tutti i doortype.2da dei vostri tilesets, copiare le varie stringhe corrispondenti alle porte sperando non vi siano conflitti numerici e creare un doortype.2da che sovrascriva TUTTI gli altri doortype.2da (inserendo ovviamente questo indicizzatore all'interno di un hak pak in cima agli altri, oppure direttamente in un hak unico con i files di tutti i tilesets), in questo modo indicizzerete in un sol colpo tutti i tilesets, l'unico problema è che dovrete comunque basarvi su files che, di base, non hanno conflitti fra loro a livello numerico (ma solo per una questione di gerarchia fra hak pak).

Metodo difficile: questo metodo ovviamente dovrà essere utilizzato SOLO nel caso vi siano porte che hanno conflitti a livello numerico, l'unica differenza con il metodo semplice è che si dovrà modificare anche all'interno del modello 3D di ogni porta confluttuale il numero corrispondente, cambiarlo e utilizzare una stringa numerica vuota all'interno del doortype.2da.

In ogni caso, dopo tutte queste righe di nulla cosmico (che penso interessino a ben poche persone), ho creato principalmente questo post per presentare il lavoretto che ho svolto un anno fa, che scriverò però in un altro post apposito e che spero potrà risultare utile a tutti gli staffer d'Italia.

Nessun commento:

Posta un commento