Difference between revisions of "Tables"

From FreeSpace Wiki
Jump to: navigation, search
m (removed references to old templates)
 
(45 intermediate revisions by 15 users not shown)
Line 1: Line 1:
'''Tables''' are the major data files in [[Portal:FreeSpace 1|FreeSpace]] and [[Portal:FreeSpace 2|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.
+
{{Tables}}
 +
'''Tables''' are the major data files in [[Portal:FreeSpace 1|FreeSpace]] and [[Portal:FreeSpace 2|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 tables can be found in [[:Category:Tables]] page. <br>In-depth modular tables info can be found in [[Modular Tables]] page.
+
'''''Full list of active tables can be found below. <br>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|FreeSpace 2 Directory Structure]] page.'''''
+
Information on how FreeSpace uses tables can be found on the [[FreeSpace 2 directory structure|FreeSpace 2 directory structure]] page.'''''
 +
 
 +
Tables can use [[Version-specific commenting]].
 +
 
 +
==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 [[*.VP|this article]].
 +
 
 +
For some further information about where to put modified files, consult [[FreeSpace 2 directory structure]].
  
 
==Table files==
 
==Table files==
 +
Table files are customarily edited using Notepad, but any text editor that can save in a pure text format will do.
  
{| border=0 align=right cellpadding=2 cellspacing=1 style="margin: 0 0 1em 1em; background: #202020; border: 1px #AA2020 solid; border-collapse: collapse; font-size: 95%;"
 
! colspan="2" style="color: white; height: 30px; background: #512020; 70%;"|'''''Tables files and related code files'''''
 
|-
 
| align="center"| [[Ai.tbl]]
 
| '''/ai/'''aicode.cpp
 
|-
 
| align="center"| [[Ai_profiles.tbl]]
 
| '''/ai/'''ai_profiles.cpp
 
|-
 
| align="center"| [[Armor.tbl]]
 
| '''/ship/'''ship.cpp
 
|-
 
| align="center"| [[Asteroid.tbl]]
 
| '''/asteroid/'''asteroid.cpp
 
|-
 
| align="center"| [[Autopilot.tbl]]
 
| '''/autopilot/'''autopilot.cpp
 
|-
 
| align="center"| [[Credits.tbl]]
 
| '''/menuui/'''credits.cpp
 
|-
 
| align="center"| [[Cutscenes.tbl]]
 
| '''/cutscene/'''cutscenes.cpp
 
|-
 
| align="center"| [[Fireball.tbl]]
 
| '''/fireball/'''fireballs.cpp
 
|-
 
| align="center"| [[Help.tbl]]
 
| '''/gamehelp/'''contexthelp.cpp
 
|-
 
| align="center"| [[Hud.tbl]]
 
| '''/hud/'''hudshield.cpp
 
|-
 
| align="center"| [[Hud_gauges.tbl]]
 
| '''/hud/'''hudparse.cpp
 
|-
 
| align="center"| [[Icons.tbl]]
 
| '''/mission/'''missionbriefcommon.cpp
 
|-
 
| align="center"| [[Iff_defs.tbl]]
 
| '''/iff_defs/'''iff_defs.cpp
 
|-
 
| align="center"| [[Lightning.tbl]]
 
| '''/nebula/'''neblightning.cpp
 
|-
 
| align="center"| [[Mainhall.tbl]]
 
| '''/menuui/'''mainhallmenu.cpp
 
|-
 
| align="center"| [[Medals.tbl]]
 
| '''/stats/'''medals.cpp
 
|-
 
| align="center"| [[Menu.tbl]]
 
| '''/menuui/'''snazzyui.cpp
 
|-
 
| align="center"| [[Messages.tbl]]
 
| '''/mission/'''missionmessage.cpp
 
|-
 
| align="center"| [[Mflash.tbl]]
 
| '''/weapon/'''muzzleflash.cpp
 
|-
 
| align="center"| [[Music.tbl]]
 
| '''/gamesnd/'''eventmusic.cpp
 
|-
 
| align="center"| [[Nebula.tbl]]
 
| '''/nebula/'''neb.cpp
 
|-
 
| align="center"| [[Objecttypes.tbl]]
 
| '''/ship/'''ship.cpp
 
|-
 
| align="center"| [[Pixels.tbl]]
 
| '''/palman/'''palman.cpp
 
|-
 
| align="center"| [[Rank.tbl]]
 
| '''/stats/'''scoring.cpp
 
|-
 
| align="center"| [[Scripting.tbl]]
 
| '''/parse/'''scripting.cpp
 
|-
 
| align="center"| [[Ships.tbl]]
 
| '''/ship/'''ship.cpp
 
|-
 
| align="center"| [[Sounds.tbl]]
 
| '''/gamesnd/'''gamesnd.cpp
 
|-
 
| align="center"| [[Species_defs.tbl]]
 
| '''/species_defs/'''species_defs.cpp
 
|-
 
| align="center"| [[Species.tbl]]
 
| '''/menuui/'''techmenu.cpp
 
|-
 
| align="center"| [[Ssm.tbl]]
 
| '''/hud/'''hudartillery.cpp
 
|-
 
| align="center"| [[Stars.tbl]]
 
| '''/starfield/'''starfield.cpp
 
|-
 
| align="center"| [[Strings.tbl]]
 
| '''/localization/'''localize.cpp
 
|-
 
| align="center"| [[Tips.tbl]]
 
| '''/menuui/'''playermenu.cpp
 
|-
 
| align="center"| [[Traitor.tbl]]
 
| '''/missionui/'''missiondebrief.cpp
 
|-
 
| align="center"| [[Tstrings.tbl]]
 
| '''/localization/'''localize.cpp
 
|-
 
| align="center"| [[Weapon_expl.tbl]]
 
| '''/weapon/'''weapons.cpp
 
|-
 
| align="center"| [[Weapons.tbl]]
 
| '''/weapon/'''weapons.cpp
 
|-
 
|}
 
 
In general tables files are simple unformatted text files
 
 
 
===.tbl files===
 
===.tbl files===
  
Line 130: Line 21:
  
 
===.tbm files===
 
===.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]].
  
These files are [[Modular Tables]] files. They can be used for adding content to the 'base' tables or to modify the data from those files.
+
==Notes of certain table files==
 
 
For usage info and important notes, see [[Modular Tables]].
 
 
 
===Notes of certain table files===
 
  
====Hardcoded 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.
 
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.
Line 145: Line 33:
 
*[[Ai_profiles.tbl]]
 
*[[Ai_profiles.tbl]]
 
*[[Autopilot.tbl]]
 
*[[Autopilot.tbl]]
*[[iff_defs.tbl]]
+
*[[Colors.tbl]]
 +
*[[Iff_defs.tbl]]
 
*[[Objecttypes.tbl]]
 
*[[Objecttypes.tbl]]
 
*[[Species_defs.tbl]]
 
*[[Species_defs.tbl]]
  
====Optional table 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
 
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
Line 156: Line 45:
  
 
*[[Armor.tbl]]
 
*[[Armor.tbl]]
 +
*[[Controlconfigdefaults.tbl]]
 
*[[Scripting.tbl]]
 
*[[Scripting.tbl]]
  
====Obsolete table files====
+
===Obsolete table files===
  
 
Some table files have since been 'retired' and they are no longer needed with FreeSpace Open
 
Some table files have since been 'retired' and they are no longer needed with FreeSpace Open
  
 
*[[Hud.tbl]]
 
*[[Hud.tbl]]
 +
*[[Launchhelp.tbl]]
 +
*[[Menu.tbl]]
 +
*[[Pixels.tbl]]
 +
*[[Tooltips.tbl]]
 +
 +
===Theoretical table files===
 +
 +
These tables are documentations of possible future tables for use with FreeSpace Open
 +
 +
*[[Interface.tbl]]
  
 
==Important notes==
 
==Important notes==
Line 170: Line 70:
 
*As a general rule, '''''all the 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.
 
*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==
 
==Brief descriptions of table files==
Line 176: Line 78:
 
:*'''<nowiki>{{Table3610| text}}</nowiki>''' gives 3.6.10 box
 
:*'''<nowiki>{{Table3610| text}}</nowiki>''' gives 3.6.10 box
 
{{Table3610| text}}
 
{{Table3610| text}}
:*'''<nowiki>{{Table3611| text}}</nowiki>''' gives 3.6.11 box
+
:*'''<nowiki>{{Table3612| text}}</nowiki>''' gives 3.6.12 box
{{Table3611| text}}
+
{{Table3612| text}}
 +
:*'''<nowiki>{{Table3614| text}}</nowiki>''' gives 3.6.14 box
 +
{{Table3614| text}}
 +
:*'''<nowiki>{{Table3616| text}}</nowiki>''' gives 3.6.16 box
 +
{{Table3616| text}}
 +
:*'''<nowiki>{{Table37| text}}</nowiki>''' gives 3.7.0 box
 +
{{Table37| text}}
 +
:*'''<nowiki>{{Table372| text}}</nowiki>''' gives 3.7.2 box
 +
{{Table372| text}}
 +
:*'''<nowiki>{{Table3610| text}}</nowiki>''' gives 3.7.4 box
 +
{{Table374| text}}
 +
:*'''<nowiki>{{Table3612| text}}</nowiki>''' gives 3.8.0 box
 +
{{Table38| text}}
 +
:*'''<nowiki>{{Table3614| text}}</nowiki>''' gives 3.8.2 box
 +
{{Table382| text}}
 
*For full list of table related pages and links see [[:Category:Tables]]
 
*For full list of table related pages and links see [[:Category:Tables]]
  

Latest revision as of 02:06, 15 December 2022

List of Tables and related code files
* Notes Modular Tables
** Notes tables which only use modular tables
Ai.tbl* /ai/aicode.cpp
Ai_profiles.tbl* /ai/ai_profiles.cpp
Animation.tbl** /model/modelanimation.cpp
Armor.tbl* /ship/ship.cpp
Asteroid.tbl* /asteroid/asteroid.cpp
Autopilot.tbl* /autopilot/autopilot.cpp
Cheats.tbl* /cheats_table/cheats_table.cpp
Colors.tbl* /globalincs/alphacolors.cpp
Curves.tbl* /math/curves.cpp
Controlconfigdefaults.tbl /controlconfig/controlsconfigcommon.cpp
Credits.tbl* /menuui/credits.cpp
Cutscenes.tbl* /cutscene/cutscenes.cpp
Decals.tbl** /decals/decals.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
Keywords.tbl* Not In Codebase
Lighting_Profiles.tbl* /lighting/lighting_profiles.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
Options.tbl* Not In Codebase
Particle effects(-part.tbm)** /particle/effects...
Post_processing.tbl /graphics/gropenglpostprocessing.cpp
Rank.tbl* /stats/scoring.cpp
Scpui.tbl* Not In Codebase
Scripting.tbl* /parse/scripting.cpp
Ships.tbl* /ship/ship.cpp
Sexps.tbl** /parse/sexp/sexp_lookup.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* /stats/scoring.cpp
Tstrings.tbl* /localization/localize.cpp
Virtual_pofs.tbl* /model/modelreplace.cpp
Weapon_expl.tbl* /weapon/weapons.cpp
Weapons.tbl* /weapon/weapons.cpp

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.

Tables can use Version-specific commenting.

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
  • {{Table3610| text}} gives 3.7.4 box
FS2 Open, 3.7.4: text
  • {{Table3612| text}} gives 3.8.0 box
FS2 Open, 3.8: text
  • {{Table3614| text}} gives 3.8.2 box
FS2 Open, 19.0: text