Tables

From FreeSpace Wiki
Revision as of 01:59, 18 June 2016 by Niffiwan (talk | contribs) (remove some redundancy)
Jump to: navigation, search

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
Glowpoints.tbl* /model/modelread.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

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
FS2 Open 3.6.10: text
  • {{Table3612| text}} gives 3.6.12 box
FS2 Open, 3.6.12: text
  • {{Table3614| text}} gives 3.6.14 box
FS2 Open, 3.6.14: text
  • {{Table3616| text}} gives 3.6.16 box
FS2 Open, 3.6.16: text
  • {{Table37| text}} gives 3.7.0 box
FS2 Open, 3.7: text
  • {{Table372| text}} gives 3.7.2 box
FS2 Open, 3.7.2: text