Trono di Spade, D&D & Malgolan Sabre Squadron of Non Valley |
| | Struttura Map 4DS | |
| | Autore | Messaggio |
---|
Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Struttura Map 4DS Mar Mar 22, 2011 3:58 am | |
| In questo thread vorrei riuscire a capirne il più possibile del file map.4ds, in modo da poter gestire da editor un numero variabile di flag.
Il byte responsabile del "colore" iniziale della bandiera è in Actors.BIN, oggetti "zoneX"
Ultima modifica di Ikaros il Mar Mar 22, 2011 5:33 am - modificato 1 volta. | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 4:58 am | |
| Tutti i files sembrano iniziare con i bytes 4DS 0x 29x 0x 0x, in generale c'è una prima sezione in cui vengono elencate le textures ed una seconda sezione in cui vengono elencati dei "poligoni".
I bytes 14-15 indicano il numero di textures presenti.
Le texture sono caratterizzate da un'etichetta ASCII che punta ad un omonimo files in MAPS. Etichette frequenti sono: - X_BLUE.TGA (area blu nelle zone conquistate) - X_BLACK.TGA (area nera nella zone conquistate) - X_FLGALL.TGA (bandierina alleata di fianco ai pallini del rientro) - X_FLGAXS.TGA (bandierina tedesca di fianco ai pallini del rientro) - X_NMZSEL.TGA (il pallino del rientro - deselezionato) - X_NMZSED.TGA (il pallino del rientro - selezionato) 1 o più textures BMP per lo sfondo della mappa, come ad esempio MAPA_N2_1.BMP, oppure MAPA_N2_1.BMP e MAPA_N3_2.BMP (N2 = Normandy 2, mappa in un unico file - N3 = Normandy 3, mappa spezzata su 2 files)
Subito dopo le texture ci sono 2 bytes che indicano il numero di poligoni presenti (23 per la Banca).
Poligoni frequenti sono: - center - mapa.scaleXYZ (dove XYZ è una sequenza ASCII di lunghezza variabile che esprime un valore in virgola mobile) - zoneX (con X = 1...N) - alliedX (con X = 1...N) - axisX (con X = 1...N) - zone_disabledX (con X = 1...N) - selectzone
Ultima modifica di Ikaros il Mar Mar 22, 2011 9:17 pm - modificato 2 volte. | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:11 am | |
| HEADER
Ogni file sembra iniziare con 7 bytes fissi: x34, x44, x53, x0, x29, x0, x0, cioè "4DS.).."
Seguono 7 byte dal valore variabile e non ben definito [IMPORTANTE]
Ultima modifica di Ikaros il Mar Mar 22, 2011 6:09 am - modificato 2 volte. | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:17 am | |
| TEXTURES
La prima texture credo inizi sempre al byte 16.
Ogni texture è formata da 76 bytes iniziali, presenti in numero fisso.
I primi 4 byte hanno valore variabile e non si è ancora capito come interpretarli. Presentano dei valori diversi, ma che ricorrono con una certa frequenza, ed hanno in qualche modo a che fare con la trasparenza. Vedere file "Texture - byte ignoti.xls" per maggiori dettagli.
I valori più diffusi sono: - 1 0 4 0 - 1 0 132 0 (tipico delle texture "solide" negli altri 4DS) - 1 0 135 0 (tipico dei vari pezzi della mappa di sfondo, es. MAPA_N2_1.BMP) - 1 128 4 X (tipico delle texture con trasparenze negli altri 4DS) - 1 128 20 65 (tipico degli oggetti di MAP.4DS con trasparenze, come aree blu/nere e punti per il rientro)
hdmaster ha fatto una casistica più ampia della trasparenza (vedere hd2_4ds.ms)
dal byte 4 in poi, sono individuabili in fila 18 valori float (72 bytes), dai valori più o meno stabili: 01 - Valore fra 0.0 e 1.0 02 - Valore fra 0.0 e 1.0 03 - Valore fra 0.0 e 1.0 (tripletta che definisce colore "Ambient" 2°hdmaster) 04 - 0.0 05 - Valore fra 0.0 e 1.0 06 - Valore fra 0.0 e 1.0 07 - Valore fra 0.0 e 1.0 (tripletta che definisce colore "Diffuse" 2°hdmaster) 08 - 0.0 09 - Valore fra 0.0 e 1.0 10 - Valore fra 0.0 e 1.0 11 - Valore fra 0.0 e 1.0 (tripletta che definisce colore "Specular" 2°hdmaster) 12 - 0.0 13 - 0.0 14 - 0.0 15 - 0.0 16 - 0.0 17 - 25.0 (10.0 nei .BMP di Normandy 3) 18 - 1.0
Il byte 77 indica la lunghezza X della label.
Seguono X bytes in formato ASCII, che formano il nome del file di tipo immagine che si può trovare nella directory MAPS.
Ultima modifica di Ikaros il Mer Mar 23, 2011 5:41 am - modificato 3 volte. | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:37 am | |
| CENTER
Center è quasi sempre il primo poligono che si trova dopo le texture.
Struttura:
- 3 bytes ignoti (potrebbero non fare parte di center, o potrebbero indicarne il tipo) Il loro valore è normalmente 6 0 0.
- 11 valori float (44 bytes) - - 3 valori per la traslazione - - 4 valori per la rotazione (quaternioni, 1.0, 0.0 e 0.7070 sono valori tipici) - - 3 valori per la scala (generalmente 1.0 1.0 1.0) - - 1 valore, generalmente a 0.0 - byte ignoto - byte che esprime la lunghezza della label (6) - 6 bytes in formato ASCII (center) - byte x0 - 8 valori float, probabilmente (32 bytes) - 6 bytes ignoti (forse 3, mentre gli altri 3 potrebbero far parte del poligono successivo)
Assumendo la teoria dei 3 byte iniziali che indicano il tipo di poligono, restano 3 byte di chiusura. Per center il loro valore è generalmente 1 0 0.
Il poligono center (come il poligono zone) non è seguito dalla definizione di vertici e facce.
Note:
Ad oggi, non si conosce lo scopo di questo poligono. Le mappe realizzate hanno sempre ignorato i suoi valori, senza vederne effetti negativi.
Ultima modifica di Ikaros il Mar Mar 22, 2011 11:37 pm - modificato 5 volte. | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:37 am | |
| MAPA.SCALE
Mapa.scale è l'unico poligono di Map.4ds che ha l'etichetta formata da due stringhe (in altri poligoni di altri files questo fatto ricorre più spesso).
Assumendo la teoria dei 3 byte di apertura e dei 3 byte di chiusura, la struttura del poligono è la seguente:
- 3 byte di apertura (42 1 0) - 11 valori float (44 bytes) - - 3 valori per la traslazione - - 4 valori per la rotazione (quaternioni, 1.0, 0.0 e 0.7070 sono valori tipici) - - 3 valori per la scala (generalmente 1.0 1.0 1.0) - - 1 valore, generalmente a 0.0 - 1 byte ignoto (generalmente 9) - byte che esprime la lunghezza della 1° label (4) - 4 bytes in formato ASCII (mapa) - byte che esprime la lunghezza della 2° label (X) - X bytes in formato ASCII (scale0.0N...N) - byte x0 - 10 bytes ignoti - 1 valore INT che indica il numero V di vertici (2 bytes) - - V volte 8 floats (V * 4 * 8 bytes) - - - i primi 3 float rappresentano coordinate X Y Z soggette però ad una roto-traslazione - 1 byte che indica il numero di A di aree - - A volte la seguente struttura: - - - 1 valore INT che indica il numero F di facce (2 bytes) - - - - F volte la seguente struttura: - - - - - 3 valori INT (6 bytes) > sono indici dell'array di vertici, ogni faccia sono 3 vertici di un triangolo - - - 1 valore INT che indica l'indice dell'array di texture, da usare per questa area
Note:
Il poligono vero e proprio costituisce la mappa di sfondo ed è generalmente quadrato e con 4 vertici nel caso dei map.4ds con .BMP singolo. L'indice della texture punta al .BMP definito a inizio file.
La seconda etichetta, invece, rappresenta la scala con cui le distanze in-game vengono convertite in distanze sulla mappa.
Ultima modifica di Ikaros il Mar Mar 22, 2011 11:37 pm - modificato 3 volte. | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:37 am | |
| ZONE
Struttura:
Assumendo la teoria dei 3 byte di apertura, la struttura del poligono è la seguente:
- 3 byte di apertura (6 2 0) - 11 valori float (44 bytes) - - 3 valori per la traslazione - - 4 valori per la rotazione (quaternioni, 1.0, 0.0 e 0.7070 sono valori tipici) - - 3 valori per la scala (generalmente 1.0 1.0 1.0) - - 1 valore, generalmente a 0.0 - byte ignoto (generalmente 9) - byte che esprime la lunghezza della label (5) - 5 bytes in formato ASCII (zoneX) - byte x0 - 8 valori float, probabilmente (32 bytes) - 3 bytes di chiusura (generalmente 1 0 0)
Il poligono zone (come il poligono center) non è seguito dalla definizione di vertici e facce.
Note:
Zone è il poligono corrispondente ai pallini del rientro, sulla mappa.
Inoltre, la roto-traslazione di zone va sommata alla roto-traslazione di Axis e Allied per la collocazione delle aree blu/nere.
*Poiché la roto-traslazione di zone per Normandy 2 è una rotazione di 90°, vengono usate direttamente le coordinate X Y (anziché X Z) per disegnare la posizione dei pallini del rientro e delle aree blu/nere.
Ultima modifica di Ikaros il Mar Mar 22, 2011 11:37 pm - modificato 2 volte. | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:37 am | |
| | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:38 am | |
| | |
| | | Ikaros Admin
Messaggi : 434 Data di iscrizione : 28.06.10 Età : 42
| Titolo: Re: Struttura Map 4DS Mar Mar 22, 2011 5:38 am | |
| | |
| | | Contenuto sponsorizzato
| Titolo: Re: Struttura Map 4DS | |
| |
| | | | Struttura Map 4DS | |
|
| Permessi in questa sezione del forum: | Non puoi rispondere agli argomenti in questo forum.
| |
| |
| |
|