Difference between revisions of "Fireball.tbl"

From FreeSpace Wiki
Jump to: navigation, search
m (update)
(Replaced link to list of tables with actual list on the right.)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Revision information.. <!-- Please update this information when page is updated -->
+
{{TableVersionGit|2018-09-20|5206aaa}}
::'''3.6.x branch:''' 2.33.2.3
+
{{Tables}}
::'''3.7 branch:''' 2.37
+
The '''fireball.tbl''' is used to define the usage of animations with certain special effects in game.
  
 
+
This table is one of the [[Modular Tables]] and can be extended with xxx-fbl.tbm.
This table is used to define the usage of animations with certain special effects in game.
 
  
 
==General Format==
 
==General Format==
*Fireball.tbl table file us used for specifying which filenames are to be used for which explosions
+
*Fireball.tbl table file is used for specifying which filenames are to be used for which explosions
*For the modular version of the fireball table, after the '''$Name:''' entry, there are 6 possible options and at least one is required. These special entries are neither required nor supported in the standard fireball.tbl file, they are only for TBMs.  No entry in the modular table will ever be created since there can only be 6 options currently, they are only listed to modify an existing entry.  None of the 6 options are required in any order and you don't have to list all 6 in one TBM.
 
 
*Table begins with '''#Start'''
 
*Table begins with '''#Start'''
 
*Table uses rigid system in the order of the entries:
 
*Table uses rigid system in the order of the entries:
 
*'''''Fireball.tbl''''' has 6 entries with a specific function and every one '''''is required''''' and must be listed in the following order.
 
*'''''Fireball.tbl''''' has 6 entries with a specific function and every one '''''is required''''' and must be listed in the following order.
*'''''xxx-fbl.tbm''''' doesn't need to have the entries listed in specific order, see [[fireball.tbl#Fireball_identifier|fireball identifier]].
 
 
*Order of the entries in fireball.tbl:
 
*Order of the entries in fireball.tbl:
 
**'''Medium sized explosion'''
 
**'''Medium sized explosion'''
Line 20: Line 17:
 
**'''Large explosion 1'''
 
**'''Large explosion 1'''
 
**'''Large explosion 2'''
 
**'''Large explosion 2'''
*Table ends to '''#End'''
+
*Any entries defined after the first 6 is considered a custom fireball and will not be used in the game unless specified as an explosion for a ship type or ship class in ships.tbl or objecttypes.tbl, or a custom warp effect in the warp-effect sexp.
 +
*Table ends with '''#End'''
 +
*The modular version of the fireball table can only replace existing entries in fireball.tbl. No entries can be created in a modular table for fireball.tbl
 +
{{Table381|
 +
*As of 3.8.2, the internal code to handle modular fireball.tbl entries has been rewritten, and it is now possible to add entries in a modular table.
 +
}}
 +
*All entries defined in a modular table for fireball.tbl require a '''$Name:''' token before specifying the bitmap filename. A fireball identifier must also be defined in order to specify which individual entry in fireball.tbl that will be replaced, see [[fireball.tbl#Fireball_identifier|fireball identifier]].
 +
*The modular table entries can be in arbitrary order and can be placed in separate modular tables.
  
 +
==Table Fields==
 +
{{Table381|
 +
===$Unique ID:===
 +
*Defines a string that can be used as a reference for this fireball entry.  In most tables, $Name performs this role, but fireball.tbl allows multiple fireball entries which use the same animation.  The unique ID can be used to override fireball entries in a modular table, or to reference a fireball in the <tt>warp-effect</tt> and <tt>explosion-effect</tt> SEXPs, or as the warp effect of an [[Ssm.tbl#+WarpEffect:|SSM strike]].
  
 +
*If this field is not present, the game will generate a unique ID for the entry automatically.
 +
**Syntax: '''String'''
 +
}}
 
===$Name:===
 
===$Name:===
 
*Defines the name of the animation used for the particular fireball effect
 
*Defines the name of the animation used for the particular fireball effect
 
**Syntax: '''String''', filename
 
**Syntax: '''String''', filename
 
  
 
===Fireball identifier===
 
===Fireball identifier===
{{Table36|
+
{{Table3610|
*Identifies the assigned animation with one of the fireball types.  
+
*Identifies the assigned animation with one of the fireball types. Only used in '''xxx-fbl.tbm'''
 
**Syntax: '''String''', name of the identifier
 
**Syntax: '''String''', name of the identifier
 
**Allowed identifiers:
 
**Allowed identifiers:
Line 38: Line 48:
 
:::'''+Asteroid'''
 
:::'''+Asteroid'''
 
:::'''+Explosion_Large1'''
 
:::'''+Explosion_Large1'''
:::'''+Explosion_Large2'''}}
+
:::'''+Explosion_Large2'''
 
+
:::'''+Custom_Fireball 6'''
 +
:::'''+Custom_Fireball 7'''
 +
:::'''+Custom_Fireball (...)'''}}
 +
{{Table381|
 +
*In 3.8.2, this is not required; $Unique ID can be used as an alternative.  If neither the identifier nor $Unique ID is present, the entry is assumed to be a new custom fireball.
 +
}}
  
 
===$LOD:===
 
===$LOD:===
 
*Optional '''$LOD:''' entry exists to specify a lod count, at least 1 is assumed if not specified.
 
*Optional '''$LOD:''' entry exists to specify a lod count, at least 1 is assumed if not specified.
 
**Syntax: '''Integer'''
 
**Syntax: '''Integer'''
 
  
 
===$Light Color:===
 
===$Light Color:===
{{Table36|
+
{{Table3610|
 
*Defines the color that is given off when that fireball effect is created.
 
*Defines the color that is given off when that fireball effect is created.
 
**Syntax: '''Color''', three '''integers''', 0 to 255, red, green, blue respectively}}
 
**Syntax: '''Color''', three '''integers''', 0 to 255, red, green, blue respectively}}
 
  
 
====Default colors====
 
====Default colors====
{{Table36|
+
{{Table3610|
 
*''Large explosion 1'', ''large explosion 1'', ''medium sized explosion'', and ''asteroid explosion''
 
*''Large explosion 1'', ''large explosion 1'', ''medium sized explosion'', and ''asteroid explosion''
 
**255, 127, 31
 
**255, 127, 31
Line 61: Line 74:
 
**191, 255, 191}}
 
**191, 255, 191}}
  
 +
{{Table381|
 +
===$Warp glow:===
 +
*Defines the warp glow bitmap used if this fireball is a warp effect.  By default, <tt>warpglow01</tt> is internally assigned to ''both'' the '''Warp Effect''' and '''Knossos Effect''' entries, but both the tbl and tbm can override this.  Retail <tt>sparky_fs2.vp</tt> supplies a <tt>warpglow02</tt> bitmap for the Knossos effect, but the game never actually uses it.
 +
**Syntax: '''String'''
 +
}}
 +
 +
{{Table381|
 +
===$Warp ball:===
 +
*Defines the "warp ball" bitmap used if this fireball is a warp effect.  By default, <tt>warpball01</tt> is internally assigned to ''both'' the '''Warp Effect''' and '''Knossos Effect''' entries, but both the tbl and tbm can override this.  The "warp ball" bitmap is only used for the "flash on warp" command-line option.
 +
**Syntax: '''String'''
 +
}}
 +
 +
{{Table381|
 +
===$Warp model:===
 +
*Defines the warp model file used if this fireball is a warp effect.  By default, <tt>warp.pof</tt> is internally assigned to ''both'' the '''Warp Effect''' and '''Knossos Effect''' entries, but both the tbl and tbm can override this.  The warp model is used for the "3D warp" command-line option, or for the <tt>warp-effect</tt> SEXP when a 3D warp is specified.
 +
**Syntax: '''String'''
 +
}}
  
 
==Sample Entries==
 
==Sample Entries==
Line 83: Line 113:
  
  
{{Table36|
+
{{Table3610|
 +
 
 +
'''fireball.tbl'''
 +
<pre>
 +
; This is an example of a table that defines the the default 6 fireball
 +
; bitmaps (Fireballs 0 through 5) while adding extra custom fireballs as well.
 +
#Start
 +
$Name: exp04 ;0 Used for the 4 little explosions before a ship explodes
 +
$LOD: 1
 +
$Name: WarpMap01 ;1 Used for the warp in / warp out effect
 +
$LOD: 4
 +
$Name: WarpMap02 ;2 Used for the KNOSSOS warp in / warp out effect
 +
$LOD: 4
 +
$Name: exp05 ;3 Used when an asteroid explodes
 +
$LOD: 4
 +
$Name: exp05 ;4 ship explosion 1
 +
$LOD: 4
 +
$Name: exp06 ;5 ship explosion 2
 +
$LOD: 4
 +
$Name: capship_boom ;6 First custom fireball. Identified as +Custom_Fireball 6
 +
$LOD: 1
 +
$Name: debris_dust_cloud ;7 Second custom fireball. Identified as +Custom_Fireball 7
 +
$LOD: 1
 +
$Name: corvette_exp ;8 Third custom fireball. Identified as +Custom_Fireball 8
 +
$LOD: 1
 +
$Name: fenris_exp ;9 Fourth custom fireball. Identified as +Custom_Fireball 9
 +
$LOD: 1
 +
#End
 +
</pre>
 +
 
 
'''xxx-fbl.tbm'''
 
'''xxx-fbl.tbm'''
 
<pre>
 
<pre>
 +
; This modular table replaces the entries in the sample fireball.tbl printed above
 
#Start
 
#Start
 
$Name:  exp06
 
$Name:  exp06
 
   +Asteroid
 
   +Asteroid
 
$LOD:    4
 
$LOD:    4
 +
$Name:  fighter_explosion
 +
  +Custom_Fireball 7
 +
$LOD:    4
 +
$Name:  capship_explosion
 +
  +Custom_Fireball 6
 +
$LOD:    1
 +
$Name:  big_exp
 +
  +Explosion_Large1         
 +
$LOD:    1
 +
$Name:  capship_explosion1
 +
  +Custom_Fireball 8
 +
$LOD:    1
 +
$Name:  capship_explosion2
 +
  +Custom_Fireball 9
 +
$LOD:    1
 
#End
 
#End
</pre>}}
+
</pre>
 +
}}
  
 
[[Category:Tables]]
 
[[Category:Tables]]

Latest revision as of 04:27, 13 October 2020

Revision information.....

FSO Git Commit: Date: 2018-09-20 SHA: 5206aaa
Note: Please update the revision information when the page is updated. If your edit had nothing to do with new code entries then please do not edit the revision information


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

The fireball.tbl is used to define the usage of animations with certain special effects in game.

This table is one of the Modular Tables and can be extended with xxx-fbl.tbm.

General Format

  • Fireball.tbl table file is used for specifying which filenames are to be used for which explosions
  • Table begins with #Start
  • Table uses rigid system in the order of the entries:
  • Fireball.tbl has 6 entries with a specific function and every one is required and must be listed in the following order.
  • Order of the entries in fireball.tbl:
    • Medium sized explosion
    • Normal warp effect
    • Knossos warp effect
    • Asteroid explosion
    • Large explosion 1
    • Large explosion 2
  • Any entries defined after the first 6 is considered a custom fireball and will not be used in the game unless specified as an explosion for a ship type or ship class in ships.tbl or objecttypes.tbl, or a custom warp effect in the warp-effect sexp.
  • Table ends with #End
  • The modular version of the fireball table can only replace existing entries in fireball.tbl. No entries can be created in a modular table for fireball.tbl
FS2 Open, 19.0:
  • As of 3.8.2, the internal code to handle modular fireball.tbl entries has been rewritten, and it is now possible to add entries in a modular table.
  • All entries defined in a modular table for fireball.tbl require a $Name: token before specifying the bitmap filename. A fireball identifier must also be defined in order to specify which individual entry in fireball.tbl that will be replaced, see fireball identifier.
  • The modular table entries can be in arbitrary order and can be placed in separate modular tables.

Table Fields

FS2 Open, 19.0:

$Unique ID:

  • Defines a string that can be used as a reference for this fireball entry. In most tables, $Name performs this role, but fireball.tbl allows multiple fireball entries which use the same animation. The unique ID can be used to override fireball entries in a modular table, or to reference a fireball in the warp-effect and explosion-effect SEXPs, or as the warp effect of an SSM strike.
  • If this field is not present, the game will generate a unique ID for the entry automatically.
    • Syntax: String

$Name:

  • Defines the name of the animation used for the particular fireball effect
    • Syntax: String, filename

Fireball identifier

FS2 Open 3.6.10:
  • Identifies the assigned animation with one of the fireball types. Only used in xxx-fbl.tbm
    • Syntax: String, name of the identifier
    • Allowed identifiers:
+Explosion_Medium
+Warp_Effect
+Knossos_Effect
+Asteroid
+Explosion_Large1
+Explosion_Large2
+Custom_Fireball 6
+Custom_Fireball 7
+Custom_Fireball (...)
FS2 Open, 19.0:
  • In 3.8.2, this is not required; $Unique ID can be used as an alternative. If neither the identifier nor $Unique ID is present, the entry is assumed to be a new custom fireball.

$LOD:

  • Optional $LOD: entry exists to specify a lod count, at least 1 is assumed if not specified.
    • Syntax: Integer

$Light Color:

FS2 Open 3.6.10:
  • Defines the color that is given off when that fireball effect is created.
    • Syntax: Color, three integers, 0 to 255, red, green, blue respectively

Default colors

FS2 Open 3.6.10:
  • Large explosion 1, large explosion 1, medium sized explosion, and asteroid explosion
    • 255, 127, 31
  • Normal warp effect
    • 191, 191, 255
  • Knossos warp effect
    • 191, 255, 191


FS2 Open, 19.0:

$Warp glow:

  • Defines the warp glow bitmap used if this fireball is a warp effect. By default, warpglow01 is internally assigned to both the Warp Effect and Knossos Effect entries, but both the tbl and tbm can override this. Retail sparky_fs2.vp supplies a warpglow02 bitmap for the Knossos effect, but the game never actually uses it.
    • Syntax: String


FS2 Open, 19.0:

$Warp ball:

  • Defines the "warp ball" bitmap used if this fireball is a warp effect. By default, warpball01 is internally assigned to both the Warp Effect and Knossos Effect entries, but both the tbl and tbm can override this. The "warp ball" bitmap is only used for the "flash on warp" command-line option.
    • Syntax: String


FS2 Open, 19.0:

$Warp model:

  • Defines the warp model file used if this fireball is a warp effect. By default, warp.pof is internally assigned to both the Warp Effect and Knossos Effect entries, but both the tbl and tbm can override this. The warp model is used for the "3D warp" command-line option, or for the warp-effect SEXP when a 3D warp is specified.
    • Syntax: String

Sample Entries

  • fireball.tbl
#Start
$Name:   exp04
   $LOD:    1
$Name:   WarpMap01
   $LOD:    4
$Name:   WarpMap02
   $LOD:    4
$Name:   exp05
   $LOD:    4
$Name:   exp05
   $LOD:    4
$Name:   exp06
   $LOD:    4
#End


FS2 Open 3.6.10:

fireball.tbl

; This is an example of a table that defines the the default 6 fireball 
; bitmaps (Fireballs 0 through 5) while adding extra custom fireballs as well.
#Start
$Name:	exp04				;0 Used for the 4 little explosions before a ship explodes
$LOD:		1
$Name:	WarpMap01			;1 Used for the warp in / warp out effect
$LOD:		4
$Name:	WarpMap02			;2 Used for the KNOSSOS warp in / warp out effect
$LOD:		4
$Name:	exp05				;3 Used when an asteroid explodes
$LOD:		4
$Name:	exp05				;4 ship explosion 1
$LOD:		4
$Name:	exp06				;5 ship explosion 2
$LOD:		4
$Name:	capship_boom			;6 First custom fireball. Identified as +Custom_Fireball 6 
$LOD:		1
$Name:	debris_dust_cloud		;7 Second custom fireball. Identified as +Custom_Fireball 7
$LOD:		1
$Name:	corvette_exp			;8 Third custom fireball. Identified as +Custom_Fireball 8
$LOD:		1
$Name:	fenris_exp			;9 Fourth custom fireball. Identified as +Custom_Fireball 9
$LOD: 	1
#End

xxx-fbl.tbm

; This modular table replaces the entries in the sample fireball.tbl printed above
#Start
$Name:   exp06
   +Asteroid
$LOD:    4
$Name:   fighter_explosion
   +Custom_Fireball 7
$LOD:    4
$Name:   capship_explosion
   +Custom_Fireball 6
$LOD:    1
$Name:   big_exp
   +Explosion_Large1          
$LOD:    1
$Name:   capship_explosion1
   +Custom_Fireball 8
$LOD:    1
$Name:   capship_explosion2
   +Custom_Fireball 9
$LOD:    1
#End