The textile tool automatically prepares your artwork for use on the target platform. At the same time it optimizes art and palette files.
When you set the environment variable velocity_user to include artist textures will automatically be collected and fitted when the level is converted.
HOW TEXTILE WORKS
For each room Textile constructs a list of objects in that room, the figures out what textures are used in the objects in that room.
It then sorts the textures by size, from largest to smallest, and fits them into the total image map. This map is then writtenout to a single .tga file. These are standard readable files that can be examined by the user.
Note that since 8 bit images are "stacked" (see below) they will not appear normal in the output file.
As a byproduct of this it creates a file called textile.log. It is a text file that contains information about textures, sizes, etc.
The playstation has a restrictive set of texture sizes.
The following texture sizes are allowed on the PSX. Any bmps or tgas that are not one of these sizes will not display properly on the PSX.
16 x 16 x 16bit
16 x 32 x 16bit
32 x 16 x 16bit
32 x 32 x 16bit
16 x 64 x 16bit
64 x 16 x 16bit
32 x 64 x 16bit*
64 x 32 x 16bit*
64 x 64 x 16bit*
32 x 16 x 8bit
32 x 32 x 8bit
64 x 16 x 8bit
64 x 32 x 8bit
32 x 64 x 8bit*
128 x 16 x 8bit
64 x 64 x 8bit
128 x 32 x 8bit*
128 x 64 x 8bit*
64 x 16 x 4bit
64 x 32 x 4bit
128 x 16 x 4bit
128 x 32 x 4bit
64 x 64 x 4bit
256 x 16 x 4bit
128 x 64 x 4bit*
256 x 32 x 4bit*
256 x 64 x 4bit*
* These sizes will work, but may draw slower on the PSX (it is larger than the
PSX texture cache).
The Playstation has a different color order than the PC. Palette swapping occurs automatically when the tga files are written out.
Because of the limited memory available on the Playstation there is limited space for textures.
World Foundry supports:
- Room textures: 128x512x16bit.
- Permanent textures: 192x512x16
- Palette: 320x8
Compression & Optimization
In order for the game to work on the Playstation the textures must fit into the space provided by the .tga files (see above). Try to create art, palettes, etc. that take advantage of compression whenever possible.
When textile does the fitting for image maps and/or palettes it will optimize by:
- Noticing redundancies. Two objects with the same art but different palettes will be compressed into a single image.
- The same is true for palettes. If one palette is contained as a portion of another it will only allocate space for the larger palette.
- Unused color palette entries are not stored, and therefore do not count towards total space.