Difference between revisions of "TRE:TRE Breakdown"

From SWGANH Wiki
Jump to: navigation, search
(TRN - '''Terrain Files''')
(TRN - '''Terrain Files''')
Line 657: Line 657:
 
}}
 
}}
  
==TRN - '''Terrain Files'''==
+
==TRN - '''Terrain Files''' <font color="red">Style needs fixing (snow on it)</font>==
  
  
Line 664: Line 664:
 
Terrain files Are divided in 2 main sections. The terrain generator and the maps
 
Terrain files Are divided in 2 main sections. The terrain generator and the maps
  
 +
 +
===[ TGEN ]== Terrain Generator ==
 +
 +
Terrain generator (form name : TGEN)
 +
There are 6 different sections.
 +
 +
- The Surface group    (SGRP)
 +
- The Flora group      (FRGP)
 +
- The Radial? group    (RGRP)
 +
- The Environment group (EGRP)
 +
- The -unamed- group    (MGRP)
 +
- The Layers group      (LYRS)
 +
 +
 +
===[ SGRP ]== Surface Group ==
 +
 +
Where all the surfaces are declared.
 +
 +
 +
It's sub-divied into multiple surface families (SFAM).
 +
Each one of them declare mutliple shaders using a surface file.
 +
 +
53 46 41 4D 00 00 00 70 04 00 00 00 66 72 73 74 5F 64 65 63 SFAM...p....frst.dec
 +
64 5F 72 6F 63 6B 6D 75 64 00 61 62 73 74 72 61 63 74 2F 74 d.rockmud.abstract.t
 +
65 72 72 61 69 6E 5F 73 75 72 66 61 63 65 2F 68 61 72 64 64 errain.surface.hardd
 +
69 72 74 2E 69 66 66 00 C7 AA 83 00 00 00 40 00 00 80 3F 02 irt.iff.............
 +
00 00 00 64 69 72 74 5F 72 6F 63 6B 6D 75 64 00 00 00 20 41 ...dirt.rockmud....A
 +
64 69 72 74 5F 72 6F 63 6B 6D 75 64 5F 61 31 00 00 00 A0 40 dirt.rockmud.a1.....
 +
                                                           
 +
Here its declares 2 shaders: dirt.rockmud, dirt.rockmund.a1
 +
using abstract/terrain_surface/harddirt.iff
 +
 +
                         
 +
===[ FGRP ]== Flora Group ==
 +
 +
Where all the flora groups are decared using appearance files.
 +
 +
 +
Each one of them decalre one flora group using  multiple appearance files.
 +
 +
 +
46 46 41 4D 00 00 01 CE 01 00 00 00 47 72 61 6E 69 74 65 20 FFAM........Granite.
 +
52 6F 63 6B 73 31 00 00 80 FF 00 00 80 3F 00 00 00 00 07 00 Rocks1..............
 +
00 00 72 6F 63 6B 5F 67 72 61 6E 69 74 65 73 6C 61 62 5F 6C ..rock.graniteslab.l
 +
61 72 67 65 2E 61 70 74 00 00 00 80 3F 00 00 00 00 0A D7 23 arge.apt............
 +
3C CD CC CC 3D 01 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 ....................
 +
                        [...]                                          [...]
 +
00 00 80 3F 00 00 80 3F 72 6F 63 6B 5F 67 72 61 6E 69 74 65 ........rock.granite
 +
73 6C 61 62 5F 73 6D 61 6C 6C 5F 61 31 2E 61 70 74 00 00 00 slab.small.a1.apt...
 +
A0 40 00 00 00 00 0A D7 23 3C CD CC CC 3D 01 00 00 00 00 00 ....................
 +
00 00 00 00 80 3F 00 00 80 3F                                 ..........
 +
 +
Here it declares a group named 'Granite.Rocks1' wich contains graniteslab of different sizes.
 +
 +
                         
 +
===[ RGRP ]== Radial Group =========================================================================
 +
                         
 +
 +
I Don't know much about this one yet.
 +
 +
                               
 +
===[ EGRP ]== Environment Group ====================================================================
 +
                               
 +
Declares the environement
 +
 +
45 46 41 4D 44 41 54 41 00 00 00 19 01 00 00 00 74 61 61 6E EFAMDATA........taan
 +
61 62 5F 67 6C 6F 62 61 6C 00 FF FF 00 00 00 80 3F         ab.global........
 +
 +
                           
 +
===[ MGRP ]== -unamed- Group =======================================================================
 +
 +
Where all the fractal are decalred.
 +
It's sub-divied into multiple groups (MFAM).
 +
Each one of them declare a labelled fractal.
 +
 +
 +
4D 46 41 4D 44 41 54 41 00 00 00 27 01 00 00 00 2E 30 30 31 MFAMDATA.........001
 +
35 5F 6F 63 74 31 5F 6E 62 69 61 73 5F 42 61 73 65 52 6F 6C 5.oct1.nbias.BaseRol
 +
6C 69 6E 67 48 65 69 67 68 74 00 46 4F 52 4D 00 00 00 4C 4D lingHeight.FORM...LM
 +
46 52 43 46 4F 52 4D 00 00 00 40 30 30 30 31 44 41 54 41 00 FRCFORM....0001DATA.
 +
00 00 34 A0 11 00 00 00 00 00 00 79 E9 E6 3E 00 00 00 00 00 ..4........y........
 +
00 80 3F 01 00 00 00 C1 CA 61 40 FC A9 71 3D A6 9B C4 3A FA .........a...q......
 +
ED EB 3A 00 00 00 00 00 00 00 00 00 00 00 00                 ...............
 +
 +
 +
This one decalres a fractal labeled 'oct1.nbias.BaseRolling Height'
 +
TODO: Add fractal notes here.
 +
                     
 +
===[ LYRS ]== Layers Group ==========================================================================
 +
 +
Here's the  best part XD
 +
</pre>
 +
}}
  
 
===[ TGEN ]== Terrain Generator ==
 
===[ TGEN ]== Terrain Generator ==

Revision as of 16:11, 16 April 2007

Welcome to SWGANH Tre Sub-Files Documentation

TreFiles History TreFile Template

ANS

File Type: ANS format




APT - Appearance File

File Type: APT format




ASH

File Type: ASH format




CDF - Client Data file

File Type: CDF format




CEF - Client Effect file

File Type: CEF format




CFG - Configuration file

File Type: CFG format




CMP - Component File

File Type: CMP format




DDS - DirectDraw Surface File (Texture)

File Type: DDS format
DirectDraw Surface File (texture)

Download plugin for photoshop here: 
http://download.nvidia.com/developer/NVTextureSuite/Photoshop_Plugins_7.83.0629.1500.exe

MSDN article on file format here: 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/dx9_graphics_reference_dds_file.asp


EFT - Effect

Eft.jpg


File Type: EFT format
 - The first DATA record contains 2-bytes.  The first byte is an unsigned char that represents
the number of IMPL Forms in the file.  The 2nd byte is currently unknown.

 - The PVSH form contains a record of 0000 which contains the full path of an HLSL vertex shader
program.

 - The PPSH form contain a 0001 form which contains 1 DATA record and a variable number of PTXM
forms.  The DATA record is made up of 1 unsigned char (which indicates the number of PTXM records)
followed by the full path of an HLSL pixel shader program.

 - Each PTXM form contains one 0002 record.  The first byte of which is an unsigned char followed
by a 4 char texture tag name.


FFE - Force Feedback File

File Type: FFE format




FLR

File Type: FLR format




IFF - Interchange Format File

File Type: IFF format




ILF - Interior Layout File

File Type: ILF format




INC - Include File

File Type: INC format




LAT

File Type: LAT format

possible relation to MAYA Lattices


LAY - Layout File

File Type: LAY format




LMG

File Type: LMG format

[FORM]   
[uint32]           //formsize
[MLOD]

[FORM]
[uint32]           //formsize
[0000]

[INFO]
[uint32]           //infosize(2)
[uint16]           //name elements count

[NAME]
[uint32]           //namesize
[namestring]       //0 terminated 


LOD - level of detail

File Type: LOD format




LSB

LSB? File

LTN

LTN? File Something to do with lighting

MGN

MGN? File 3d model information

MKR

Marker File

MP3

MP3 Audio File

MSH - mesh

File Type: MSH format




PAL - palette

Palette File

PAL Editor can be downloaded here -> http://mods.mandalorians.de/system/infusions/pro_download_panel/download.php?did=16


File Type: PAL format


52 49 46 46  // RIFF

10 01 00 00  // size (int 32)

50 40 4c 20  // Pal

64 61 74 61  // Data

40 00 00 00  // size (int 32)

// Here starts the color pallate


00 03  // uint16 version

40 00  // uint16 pallette colors count(64)

// This is were the swg pallet editor start's showing were the colors are

cc cc cc 00   // uint32 (RGBA)

b7 b7 b7 00 //

a3 a3 a3 00  //

8e 8e 8e 00  //

92 23 23 00  //

84 1f 1f 00  //

77 1b 1b 00 //

69 17 17 00 //

65 61 82 00 //

54 50 85 00 //

44 3e 89 00 //

33 2d 8c 00  //

d4 d6 47 00 //

b8 ba 36 00  //

9d 9f 26 00  //

81 83 15 00  //

58 a5 64 00  //

45 91 51 00  //

31 7c 3d 00  //

df b4 3e 00 //

b9 94 2f 00  //

92 73 1f 00 //

6c 53 10 00  //

71 a5 a5 00  //

5b 95 95 00  //

44 86 86 00  //

2e 76 76 00  //

75 61 76 00  //

72 4d 78 00 //

6e 38 7b 00  //

6b 24 7d 00 //

7d b0 c0 00 //

69 95 a3 00 //

54 7b 87 00 //

40 60 6a 00 //

cd 7a 37 00  //

a9 64 2c 00 //

84 4d 21 00  //

60 37 16 00  //

d4 83 83 00 //

a5 5e 5e 00  //

87 42 42 00  //

5f 2d 2d 00  //

93 73 1b 00 //

7c 60 18 00  //

5a 45 0e 00  //

dd d8 c0 00 //

bd b9 a4 00  //

9e 9a 88 00  //

7e 7b 6c 00  //

91 6d 6d 00  //

76 59 59 00  //

5c 44 44 00 //

41 30 30 00  //

75 61 76 00  //

6b 4d 6c 00  //

60 39 62 00  //

56 25 58 00 //

a6 c1 71 00  //

8e a6 61 00  //

77 8a 50 00  //

5f 6f 40 00  //



PLN

Planet File

POB

POB? File

PRT

Particle File

PSH

Pixel Shader? File

PST

Playback File

QST

Quest File

SAT

File Type: SAT format

'WSNP' FORM (ws file)

- FORM
- NODS
- size
- offset to stringtable

----------------------------------------------------

46 4F 52 4D     //FORM

00 00 04 E4     //formsize

53 4D 41 54     //SMAT

46 4F 52 4D     //FORM

00 00 04 D8     //formsize 
 
30 30 30 30     //0000

44 41 54 41     //DATA

00 00 00 34     //datasize

01 A7 15 00     //id

00 00 00 00     //parentid

70 00 00 00     //strtable index

00 00 00 00     //ox

D4 15 1E BE     //oY

00 00 00 00     //oz

51 EE 7C 3F     //ow

00 00 00 00     //scale??

38 CA A0 45     //x

00 00 AF 43     //y

EE DE B2 C4     //z


00 00 00 44     //type?

7B D6 12 E7     //?? 


SFK

SFK? File

SFP

SFP? File

SHT - shader

File Type: SHT format




SKT

Skeleton File

SND

File Type: SND format

46 4f 52 4d              // FORM (Element)

00 00 00 a7              // Length Of Data that Follows (Count starts after this byte) (a7 = 167)

53 44 32 44              // SD2D (Element)

30 30 30 33              // 0003 (Version ?)

00 00 00 9b              // string length

73 61 6d 70
6c 65 2f 61
6d 62 5f 63
6c 6f 6e 69
6e 67 5f 66
61 63 69 6c
69 74 79 5f
69 6e 74 5f
6c 70 2e 77
61 76 00 00              // sample/amb_cloning_facility_int_lp.wav

00 00 00 00              // ?
00 00 00 00
00 

C0                       // Bitrate (192)

3F                       // Volume ?

00 00 

C0                       // Bitrate (192) (Again?)

3F                       // Volume ?

FF FF FF FF
FF FF FF FF              // ?

00
00 00 00 00
00 00 00 00

00

C0                       // Bitrate (192) (Again?)

3F                       // Volume ?

00 00

C0                       // Bitrate (192) (Again?)

3F                       // Volume ?

00
00 00 00 00
00 00 00 00

00 00 00 00
00 00 00 01
00 00 00 01
00 00 00 00

00 00 00 00
00 00 00 00
00 80 3F 00
00 80 3F 00

00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00

00 00 00 00
00 00 00 02
00 00 00 CD
CC CC 3D



SPR

Sprite File

SSA

SSA? File

STF - Strings Table File (Language)

File Type: STF format

It contains all the game's strings. During network communications the strings are identificated with: filename without extension + code + ansi string id.

Header:
[int]      // STF file type header id (sequence: 0xCD 0xAB 0x00 0x00, value: 0x0000ABCD = 43981)
[byte]     // useless? flag (might be a boolean, seen so far: 0x01 and 0x00)
[int]      // next free index in file to add an item, always > items count (useless for us)
[int]      // items count

Then items list, for each:
[int]      // item index in the file (eg: 1, 2, 9, 3, 7, ...) 
[int]      // code (gesture?)
[int]      // unicode digits count of the sentence (eg: 11)
[u_string] // 2 bytes per char (eg: "hello world" is 11 digits long, 22 bytes total)

Then item's string ids, for each:
[int]      // item index in the file matching one in previous list (eg: 1, 2, 9, 3, 7, ...)
[int]      // ascii digits count of the string id (eg: 12)
[a_string] // 1 byte per char (eg: "basic_answer" is 12 digits long, 12 bytes total)

Understood at 80%.

SWH

File Type: SWHformat




TGA - Targa Texture

File Type: TGA format




TRN - Terrain Files Style needs fixing (snow on it)

File Type: TRN format
Terrain files Are divided in 2 main sections. The terrain generator and the maps


===[ TGEN ]== Terrain Generator ==

Terrain generator (form name : TGEN)
There are 6 different sections.

- The Surface group     (SGRP)
- The Flora group       (FRGP)
- The Radial? group     (RGRP)
- The Environment group (EGRP)
- The -unamed- group    (MGRP)
- The Layers group      (LYRS)


===[ SGRP ]== Surface Group ==

Where all the surfaces are declared.


It's sub-divied into multiple surface families (SFAM).
Each one of them declare mutliple shaders using a surface file. 

53 46 41 4D 00 00 00 70 04 00 00 00 66 72 73 74 5F 64 65 63 	SFAM...p....frst.dec
64 5F 72 6F 63 6B 6D 75 64 00 61 62 73 74 72 61 63 74 2F 74 	d.rockmud.abstract.t
65 72 72 61 69 6E 5F 73 75 72 66 61 63 65 2F 68 61 72 64 64 	errain.surface.hardd
69 72 74 2E 69 66 66 00 C7 AA 83 00 00 00 40 00 00 80 3F 02 	irt.iff.............
00 00 00 64 69 72 74 5F 72 6F 63 6B 6D 75 64 00 00 00 20 41 	...dirt.rockmud....A
64 69 72 74 5F 72 6F 63 6B 6D 75 64 5F 61 31 00 00 00 A0 40 	dirt.rockmud.a1.....
                                                             
Here its declares 2 shaders: dirt.rockmud, dirt.rockmund.a1
using abstract/terrain_surface/harddirt.iff

                          
===[ FGRP ]== Flora Group ==

Where all the flora groups are decared using appearance files.


Each one of them decalre one flora group using  multiple appearance files.


46 46 41 4D 00 00 01 CE 01 00 00 00 47 72 61 6E 69 74 65 20 	FFAM........Granite.
52 6F 63 6B 73 31 00 00 80 FF 00 00 80 3F 00 00 00 00 07 00 	Rocks1..............
00 00 72 6F 63 6B 5F 67 72 61 6E 69 74 65 73 6C 61 62 5F 6C 	..rock.graniteslab.l
61 72 67 65 2E 61 70 74 00 00 00 80 3F 00 00 00 00 0A D7 23 	arge.apt............
3C CD CC CC 3D 01 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 	....................
                        [...]                                           [...]
00 00 80 3F 00 00 80 3F 72 6F 63 6B 5F 67 72 61 6E 69 74 65 	........rock.granite
73 6C 61 62 5F 73 6D 61 6C 6C 5F 61 31 2E 61 70 74 00 00 00 	slab.small.a1.apt...
A0 40 00 00 00 00 0A D7 23 3C CD CC CC 3D 01 00 00 00 00 00 	....................
00 00 00 00 80 3F 00 00 80 3F 	                                 ..........

Here it declares a group named 'Granite.Rocks1' wich contains graniteslab of different sizes.

                          
===[ RGRP ]== Radial Group =========================================================================
                          

I Don't know much about this one yet. 

                                
===[ EGRP ]== Environment Group ====================================================================
                                
Declares the environement

45 46 41 4D 44 41 54 41 00 00 00 19 01 00 00 00 74 61 61 6E 	EFAMDATA........taan
61 62 5F 67 6C 6F 62 61 6C 00 FF FF 00 00 00 80 3F 	        ab.global........

                             
===[ MGRP ]== -unamed- Group =======================================================================

Where all the fractal are decalred.
It's sub-divied into multiple groups (MFAM).
Each one of them declare a labelled fractal. 


4D 46 41 4D 44 41 54 41 00 00 00 27 01 00 00 00 2E 30 30 31 	MFAMDATA.........001
35 5F 6F 63 74 31 5F 6E 62 69 61 73 5F 42 61 73 65 52 6F 6C 	5.oct1.nbias.BaseRol
6C 69 6E 67 48 65 69 67 68 74 00 46 4F 52 4D 00 00 00 4C 4D 	lingHeight.FORM...LM
46 52 43 46 4F 52 4D 00 00 00 40 30 30 30 31 44 41 54 41 00 	FRCFORM....0001DATA.
00 00 34 A0 11 00 00 00 00 00 00 79 E9 E6 3E 00 00 00 00 00 	..4........y........
00 80 3F 01 00 00 00 C1 CA 61 40 FC A9 71 3D A6 9B C4 3A FA 	.........a...q......
ED EB 3A 00 00 00 00 00 00 00 00 00 00 00 00 	                ...............


This one decalres a fractal labeled 'oct1.nbias.BaseRolling Height'
TODO: Add fractal notes here.
                      
===[ LYRS ]== Layers Group ==========================================================================

Here's the  best part XD


=[ TGEN ]== Terrain Generator

Terrain generator (form name : TGEN) There are 6 different sections.

- The Surface group (SGRP) - The Flora group (FRGP) - The Radial? group (RGRP) - The Environment group (EGRP) - The -unamed- group (MGRP) - The Layers group (LYRS)


=[ SGRP ]== Surface Group

Where all the surfaces are declared.


It's sub-divied into multiple surface families (SFAM). Each one of them declare mutliple shaders using a surface file.

53 46 41 4D 00 00 00 70 04 00 00 00 66 72 73 74 5F 64 65 63 SFAM...p....frst.dec 64 5F 72 6F 63 6B 6D 75 64 00 61 62 73 74 72 61 63 74 2F 74 d.rockmud.abstract.t 65 72 72 61 69 6E 5F 73 75 72 66 61 63 65 2F 68 61 72 64 64 errain.surface.hardd 69 72 74 2E 69 66 66 00 C7 AA 83 00 00 00 40 00 00 80 3F 02 irt.iff............. 00 00 00 64 69 72 74 5F 72 6F 63 6B 6D 75 64 00 00 00 20 41 ...dirt.rockmud....A 64 69 72 74 5F 72 6F 63 6B 6D 75 64 5F 61 31 00 00 00 A0 40 dirt.rockmud.a1.....

Here its declares 2 shaders: dirt.rockmud, dirt.rockmund.a1 using abstract/terrain_surface/harddirt.iff


=[ FGRP ]== Flora Group

Where all the flora groups are decared using appearance files.


Each one of them decalre one flora group using multiple appearance files.


46 46 41 4D 00 00 01 CE 01 00 00 00 47 72 61 6E 69 74 65 20 FFAM........Granite. 52 6F 63 6B 73 31 00 00 80 FF 00 00 80 3F 00 00 00 00 07 00 Rocks1.............. 00 00 72 6F 63 6B 5F 67 72 61 6E 69 74 65 73 6C 61 62 5F 6C ..rock.graniteslab.l 61 72 67 65 2E 61 70 74 00 00 00 80 3F 00 00 00 00 0A D7 23 arge.apt............ 3C CD CC CC 3D 01 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 ....................

                       [...]                                           [...]

00 00 80 3F 00 00 80 3F 72 6F 63 6B 5F 67 72 61 6E 69 74 65 ........rock.granite 73 6C 61 62 5F 73 6D 61 6C 6C 5F 61 31 2E 61 70 74 00 00 00 slab.small.a1.apt... A0 40 00 00 00 00 0A D7 23 3C CD CC CC 3D 01 00 00 00 00 00 .................... 00 00 00 00 80 3F 00 00 80 3F ..........

Here it declares a group named 'Granite.Rocks1' wich contains graniteslab of different sizes.


[ RGRP ]== Radial Group ======================================================================

I Don't know much about this one yet.


[ EGRP ]== Environment Group =================================================================

Declares the environement

45 46 41 4D 44 41 54 41 00 00 00 19 01 00 00 00 74 61 61 6E EFAMDATA........taan 61 62 5F 67 6C 6F 62 61 6C 00 FF FF 00 00 00 80 3F ab.global........


[ MGRP ]== -unamed- Group ====================================================================

Where all the fractal are decalred. It's sub-divied into multiple groups (MFAM). Each one of them declare a labelled fractal.


4D 46 41 4D 44 41 54 41 00 00 00 27 01 00 00 00 2E 30 30 31 MFAMDATA.........001 35 5F 6F 63 74 31 5F 6E 62 69 61 73 5F 42 61 73 65 52 6F 6C 5.oct1.nbias.BaseRol 6C 69 6E 67 48 65 69 67 68 74 00 46 4F 52 4D 00 00 00 4C 4D lingHeight.FORM...LM 46 52 43 46 4F 52 4D 00 00 00 40 30 30 30 31 44 41 54 41 00 FRCFORM....0001DATA. 00 00 34 A0 11 00 00 00 00 00 00 79 E9 E6 3E 00 00 00 00 00 ..4........y........ 00 80 3F 01 00 00 00 C1 CA 61 40 FC A9 71 3D A6 9B C4 3A FA .........a...q...... ED EB 3A 00 00 00 00 00 00 00 00 00 00 00 00 ...............


This one decalres a fractal labeled 'oct1.nbias.BaseRolling Height' TODO: Add fractal notes here.

[ LYRS ]== Layers Group =======================================================================

Here's the best part XD </pre> }}

TRT - Texture Renderer File

File Type: TRT format




TRT - Texture Renderer File

File Type: TRT format




TXT - Text File

File Type: TXT format




UI - User Interface File

File Type: UI format




VSH - Vertex Shader Script

File Type: VSH format

(Shader City - Possible App to open the Vertex Shader Scripts)


WAV - WAV Audio File

File Type: WAV format




WS - world structures

File Type: WS format
'WSNP' FORM (ws file)

- FORM
- NODS
- size
- offset to stringtable

----------------------------------------------------

46 4F 52 4D     //FORM

00 00 04 E4     //formsize

4E 4F 44 45     //NODE

46 4F 52 4D     //FORM

00 00 04 D8     //formsize 
 
30 30 30 30     //0000

44 41 54 41     //DATA

00 00 00 34     //datasize

01 A7 15 00     //id

00 00 00 00     //parentid

70 00 00 00     //strtable index

00 00 00 00     //ox

D4 15 1E BE     //oY

00 00 00 00     //oz

51 EE 7C 3F     //ow

00 00 00 00     //scale??

38 CA A0 45     //x

00 00 AF 43     //y

EE DE B2 C4     //z


00 00 00 44     //type?

7B D6 12 E7     //?? 



World Structures

There is one .ws file per planet (none for space that I have found yet although it would seem applicable), containing a list of items found outdoors on each planets. This includes buildings, terminals, streetlights, fog/special effects, ruins, and so forth. Trees/plants/rocks are not included unless they are somehow unique or special.