Tables
Tables are the major data files in FreeSpace and FreeSpace 2. Compared with many other games, they are highly intuitive and easy to edit, requiring no special tools other than Notepad. For more detail on specific tables, see the links below.
Full list of active tables can be found below.
In-depth modular tables info can be found in Modular Tables page.
Information on how FreeSpace uses tables can be found on the FreeSpace 2 directory structure page.
Active tables files and related code files | |
---|---|
* Notes Modular Tables | |
Ai.tbl | /ai/aicode.cpp |
Ai_profiles.tbl* | /ai/ai_profiles.cpp |
Armor.tbl* | /ship/ship.cpp |
Asteroid.tbl | /asteroid/asteroid.cpp |
Autopilot.tbl | /autopilot/autopilot.cpp |
Colors.tbl | /globalincs/alphacolors.cpp |
Controlconfigdefaults.tbl | /controlconfig/controlsconfigcommon.cpp |
Credits.tbl* | /menuui/credits.cpp |
Cutscenes.tbl | /cutscene/cutscenes.cpp |
Fireball.tbl* | /fireball/fireballs.cpp |
Fonts.tbl | /graphics/font.cpp |
Game_settings.tbl* | /mod_table/mod_table.cpp |
Help.tbl* | /gamehelp/contexthelp.cpp |
Hud_gauges.tbl* | /hud/hudparse.cpp |
Icons.tbl | /mission/missionbriefcommon.cpp |
Iff_defs.tbl | /iff_defs/iff_defs.cpp |
Lightning.tbl | /nebula/neblightning.cpp |
Mainhall.tbl* | /menuui/mainhallmenu.cpp |
Medals.tbl | /stats/medals.cpp |
Messages.tbl | /mission/missionmessage.cpp |
Mflash.tbl* | /weapon/muzzleflash.cpp |
Music.tbl* | /gamesnd/eventmusic.cpp |
Nebula.tbl | /nebula/neb.cpp |
Objecttypes.tbl* | /ship/ship.cpp |
Pixels.tbl | /palman/palman.cpp |
Post_processing.tbl | /graphics/gropenglpostprocessing.cpp |
Rank.tbl | /stats/scoring.cpp |
Scripting.tbl* | /parse/scripting.cpp |
Ships.tbl* | /ship/ship.cpp |
Sounds.tbl* | /gamesnd/gamesnd.cpp |
Species_defs.tbl* | /species_defs/species_defs.cpp |
Species.tbl | /menuui/techmenu.cpp |
Ssm.tbl | /hud/hudartillery.cpp |
Stars.tbl* | /starfield/starfield.cpp |
Strings.tbl* | /localization/localize.cpp |
Tips.tbl | /menuui/playermenu.cpp |
Traitor.tbl | /missionui/missiondebrief.cpp |
Tstrings.tbl | /localization/localize.cpp |
Weapon_expl.tbl* | /weapon/weapons.cpp |
Weapons.tbl* | /weapon/weapons.cpp |
Contents
Accessing table files
Volition used a special kind of packaging method called .vp (Volition Pack) for the FreeSpace games. Table files are stored in Root_fs2.vp. To open and extract files from a VP, you must use a VP editing program such as VPView32. For more details about VP files and how to work with them, consult this article.
For some further information about where to put modified files, consult FreeSpace 2 directory structure.
Table files
Table files are customarily edited using Notepad, but any text editor that can save in a pure text format will do.
.tbl files
These files are the basic FreeSpace table used for defining various aspects of the game. Game reads only single .tbl choosing the one it encounters first while parsing the game directories.
.tbm files
These files are modular table files. They can be used for adding content to the 'base' tables or to modify the data from those files. For usage info and important notes, see Modular Tables.
Notes of certain table files
Hardcoded table files
Some of the table files are not actually required as the basic version has been written directly to the code. However these can be overridden by table files present in game directories.
These files are not present in standard FreeSpace 2 .vp files
Optional table files
Certain tables are not found from the code nor do they belong to the basic table set. These tables are parsed if game detects them
These files are not present in standard FreeSpace 2 .vp files
Obsolete table files
Some table files have since been 'retired' and they are no longer needed with FreeSpace Open
Theoretical table files
These tables are documentations of possible future tables for use with FreeSpace Open
Important notes
Table entries must be ordered
- As a general rule, all the table entries must be ordered.
- Keep the order shown in the following help sections for each table in both normal tables (tbl files) and Modular Tables (tbm files). If you don't do it, you can get parser errors on FS2 or FRED2 loading when they are reading them.
- In other words, you don't have to have all of these details/attributes for a given weapon/ship/etc (or a modification of a weapon/etc)--few, if any, have them all, and many have a mere fraction of these--but the ones you do have must be kept in the same relative order. If, for example, your weapon doesn't have/need any of the 30-or-so attributes between 'Lifetime' and 'ImpactSnd', you can probably leave them out altogether, but be sure to place your entry for 'ImpactSnd' after your entry for 'Lifetime' on the weapon in question.
Brief descriptions of table files
- In all the table help pages, SCP added entries are usually marked with infoboxes that mark the branch there the particular feature has added to.
- {{Table3610| text}} gives 3.6.10 box
- {{Table3611| text}} gives 3.6.11 box
- {{Table3613| text}} gives 3.6.13 box
- {{Table3614| text}} gives 3.6.14 box
- {{Table3615| text}} gives 3.6.15 box
- {{Table37| text}} gives 3.7.0 box
- {{Table371| text}} gives 3.7.1 box
- For full list of table related pages and links see Category:Tables