Difference between revisions of "Props.tbl"
From FreeSpace Wiki
(Created page with "{{TableVersion|20260217}} {{Tables}} The '''props.tbl''' is used to define all of the props in the game. Props are distinct from ships in that they are entirely non-interactab...") |
|||
| Line 1: | Line 1: | ||
{{TableVersion|20260217}} | {{TableVersion|20260217}} | ||
{{Tables}} | {{Tables}} | ||
| − | The '''props.tbl''' is used to define all of the props in the game. Props are distinct from ships in that they are entirely non-interactable except for collisions. They cannot move and they cannot be destroyed. | + | The '''props.tbl''' is used to define all of the props in the game. Props are distinct from ships in that they are entirely non-interactable except for collisions. They cannot move and they cannot be destroyed. Props are created in FRED with SHIFT-CTRL-CLICK. |
Props are available in FSO builds starting with nightly build 20260217. | Props are available in FSO builds starting with nightly build 20260217. | ||
Latest revision as of 15:27, 16 February 2026
Revision information.....
- FSO Revision: 20260217
Note: Please update the version when the page is updated. If your edit had nothing to do with new code entries then please do not edit the version
| 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 |
| Props.tbl* | /props/props.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 |
The props.tbl is used to define all of the props in the game. Props are distinct from ships in that they are entirely non-interactable except for collisions. They cannot move and they cannot be destroyed. Props are created in FRED with SHIFT-CTRL-CLICK.
Props are available in FSO builds starting with nightly build 20260217.
This table is one of the Modular Tables and can be extended with xxx-prp.tbm
Contents
General Format
- #Prop Categories
- Currently only used to colorize and sort the props into the list in FRED.
- #End
- #Props
- The props
- #End
#Prop Catregories
- Used to define the color of the prop in the FRED list and to list props in similar categories together.
$Name:
- Defines the name of the category
- Syntax: string
+Color:
- Defines the color of the prop text in the FRED list in RGB values.
- Syntax: integer, integer, integer
#Props
- The actual definitions for each prop.
- Unlike ships and weapons, there is no limit to prop definitions.
$Name:
- Defines the name of the prop. Must be unique.
- Syntax: string
+nocreate
FS2 Open 3.6.10:
- In Modular Tables name can be followed by line +nocreate that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.
+remove
FS2 Open, 21.0:
- In Modular Tables a name can be followed by the line +remove to completely remove a previously parsed entry.
$POF file:
- The POF file for the prop
- Syntax: string
$Closeup_pos:
- How the model will show on the Loadout Screen. The position of the camera relative to the model center. Only valid if a tech model is defined
- Syntax: Vector, three floats, x, y and z values respectively
$Closeup_zoom:
- How the model will show on the Loadout Screen. How far the camera's zoomed in, defines camera's FOV.
- Syntax: Float, radians
$Detail Distance:
- Defines the distance where the change between different Levels-Of-Details (LODs) occurs
- Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. These multipliers default to (from left to right): 1/8, 1/4, 1, 4, and 8, and may be overridden by the $Detail Distance Multiplier
- Syntax: (Detail Distances) , list of integers (same amount as LODs), distances from the model in meters
- Example: (0, 80, 300, 900)
$Category:
- The category (listed above) that this prop belongs to
- Will be set to "Unknown Category" if not valid
- Syntax: string
$Flags:
- See below
- Syntax: ( "String" "String" ), names of the flags assigned to the prop
- Example: ( "no-collide", "no fred" )
$Custom data:
- Defines a set of custom data that for this prop class, which can then be accessed through Lua scripts. There can be any amount of +Val: entries. It requires a $end_custom_data entry at the end.
Check the scripting documentation of Prop Class to find the CustomData Lua Table.
+Val:
- Specifies a custom data value and its name, in the format
+Val: Name Value- These values will always be strings of text. If you use them in Lua as other types of value, you might need to convert them in the script.
- Syntax: string
$end_custom_data
- Mandatory entry to indicate that the Custom Data list has ended.
$Custom strings:
- Defines a set of custom strings that for this prop class, which can then be accessed through Lua scripts. There can be any amount of entries. It requires a $end_custom_strings entry at the end.
Check the scripting documentation of Prop Class to find the CustomStrings Lua Table.
$Name:
- Specifies a custom string name
- Syntax: string
+Value:
- Specifies a "value" or additional data point paired with the string. A common use case is an XSTR ID.
- Syntax: string
+String:
- The actual string which is a multitext string
- Must end with $end_multi_text
- Syntax: string
$end_multi_text
$end_custom_strings
- Mandatory entry to indicate that the Custom Strings list has ended.
#End
- Mandatory entry to indicate the props definitions have ended.
Props.tbl flags
"no_collide"
- Defines ship as non-collideable, ie. everything will go through it
"no_fred"
- Ship will not appear in any of the FRED dropdown lists for ship classes.
"no lighting"
Ship will not receive lighting calculations
Sample
- Single Prop entry table
#PROP CATEGORIES $Name: Rocks +Color: (165, 42, 42) $Name: Planets +Color: (0, 255, 0) #PROPS $Name: Planet 1 $POF file: ast01.pof $Detail distance: (400, 1000, 2000, 4000) $Category: Planets $Name: Rock $POF file: asteroid01-01.pof $Detail distance: (400, 1000, 2000, 4000) $Category: Rocks $Name: Planet 2 $POF file: ast02.pof $Detail distance: (400, 1000, 2000, 4000) $Category: Planets $Name: Rock 2 $POF file: asteroid02-01.pof $Detail distance: (400, 1000, 2000, 4000) $Category: Rocks #END