Gamedev:Archives: Difference between revisions

From Spring
Jump to navigationJump to search
Abma (talk | contribs)
No edit summary
Flozi (talk | contribs)
Page is very out of date -> deprecated
Line 1: Line 1:
{{deprecated}}
The first step in understanding how Spring is put together is to understand
The first step in understanding how Spring is put together is to understand
where the filetypes came from and how the files are organized, and what all the different files do. In Spring, there are several formats you can use, including relic supported TA formats and standards such as zlib and 7zip.
where the filetypes came from and how the files are organized, and what all the different files do. In Spring, there are several formats you can use, including relic supported TA formats and standards such as zlib and 7zip.

Revision as of 20:05, 10 June 2011

Warning! This page is outdated! The information displayed may no longer be valid, or has not been updated in a long time. Please refer to a different page for current information.


The first step in understanding how Spring is put together is to understand where the filetypes came from and how the files are organized, and what all the different files do. In Spring, there are several formats you can use, including relic supported TA formats and standards such as zlib and 7zip.

In Total Annihilation, all files were compressed with a format known as HAPI. Files of this format included .HPI, .UFO, .CCX, and .GP3. For all practical purposes, you can think of the HPI file like their own home-grown ZIP file, containing its own directory structure and groups of files. All HAPI files are compressed in the same way, the only difference is the extension used.

Spring also supports reading from zlib zip and non-solid 7zip files. The filenames for these compression types must be .SDZ for zlib and .SD7 for 7zip respectively. They are standard files, just with different extensions for Spring. Here's a list of all filetypes supported by Spring; a higher read order means the contents of a file of that extension will take priority over files of a lower read order.

An interesting twist is that map archivse can be placed into the /maps/ folder and contains another /maps/ folder inside the archive.


Read Order File Extension Compression Method Description
1 SD7 Non-Solid 7zip A 7zip file with the extension changed to .SD7. These files have the same structure as an HAPI file, they are just compressed in a different manner. 7zip compressed archives generally have the highest compression (and therefore lowest filesizes). Files of this type are read first, so any filetypes encountered after .SD7 with the same data will take priority. For example, if you have ARMCOM.FBI in an SD7 file, and a modified version of ARMCOM.FBI in a CCX file, the CCX version will be used.
2 SDZ ZLIB ZIP A zlib ZIP file with the extension changed to .SDZ. These files have the same structure as an HAPI file, they are just compressed in a different manner. Maps and mods alike can be stored in these files. These are read second.
3 HPI HAPI One of the HAPI file format extensions. These are read third.
4 UFO HAPI Another HAPI file extension. Fourth in line of being read.
5 CCX HAPI Yet another HAPI file. These are fifth in the chain of being read.
6 GP3 HAPI The sixth in the chain of files being read.
7 SWX HAPI The seventh in the chain of command of files. This extension was originally used by the Star Wars Total Annihilation mod, but Spring doesn't care whether or not it's actually used for SWTA. It is an HAPI file.
8 GP4 HAPI The eighth filetype read. Any data in a .GP4 file will override any other compressed data in any other files. This is also an HAPI file.

The best tools to use to view the contents of a compressed Spring file, and to pack and unpack the contents of such a file are:

  • HPIView to view, browse, and extract HAPI files.
  • HPIPack to pack HAPI files.
  • WinRAR to view, browse, extract, and pack SDZ files, or to browse SD7 files.
  • 7zip to view, browse, extract, and pack SD7 files.
  • HPIEdit to view, extract and pack HPI, SDZ or SD7 files.
  • HPI Manager to view extract and pack HPI files aswell.

There are many other utilities that can also serve the same purpose. Peruse FileUniverse if for some reason the tools listed here don't suit you.

anims Mod_Development:Cursors Cursors
download Units:Download_TDF Information to assign a unit to a location on a given build menu.
features Contains information about miscellaneous features, such as corpses, trees, scars, etc., that may or may not be specific to particular maps or map types. 
\corpses TDF Information about wreckage left behind when a unit dies.
\allworlds TDF Information about features (such as trees, scars, etc.) for specific world maps.Other subdirectories may exist alongside "allworlds", such as "acid", "crystal", "green", etc.
gamedata Mod_Development:Gamedata General information, such as sound assignments, can-build information, and other such data.
guis GUI Alternative build tree definition method
objects3d 3DO 3D object definitions for units, unit corpses.
maps SMD Schema, starting points, and other information pertaining to a particular map.
SMF Map layout, heights, and features information.
scripts BOS Text description/subroutines that describe how a unit moves, animates, etc.
COB A compiled version of the .BOS file.
sidepics BMP The faction icons which display in the multiplayer lobby. See Mod Development:Sidepics.
sounds WAV Sounds.
unitpics Units:Buildpics "Large" (96x96) color pictures of units.
unittextures DDS and TGA (Maybe BMP) Textures for S3O models.
\tatex BMP (also DDS or TGA)
Units:Textures
Textures for 3DO models(buildings, kbots, vehicles, etc.)
units Units:FBI General properties of units.
weapons TDF Contains the definition and properties of particular weapons that are used throughout the game.