Mainhall.tbl

From FreeSpace Wiki
Revision as of 12:33, 12 April 2024 by Wookieejedi (talk | contribs) (add $Door animation delay on hover:)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Revision information.....

FSO Revision: 81047d1
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
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 mainhall.tbl is used to define the various main menu screens in the game

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

Format

  • Table consists of several '$Main Hall entries
  • All settings must be defined for each separate main hall with two main hall entries for different resolutions. First for 640 followed by another entry for the 1024 resolution.
  • The table ends with #End


$Num Resolutions:

FS2 Open, 3.7.2:
  • Defines the number of resolutions of each main hall in this file. Other main-hall tables are not affected, so you can have, say, two resolutions in mainhall.tbl and three in extrahalls-hall.tbm without messing up the former table.
  • If there are multiple resolutions, the game will pick the last one that is valid for the screen resolution and aspect ratio. If none are valid, or only one resolution exists, then the first one is used. This is done per main hall, not globally.
  • The default value is 2.
  • Syntax: Integer

$Door animation delay on hover:

FS2 Open, 24.2:
  • Defines the time delay in milliseconds that door animations will wait to trigger when the player hovers the mouse over them. If you want door animations to trigger immediately when the player hovers over them set this to 0.
  • The default value is 175 milliseconds.
  • Syntax: Integer

$Main Hall

+Name:

FS2 Open, 3.7:
  • Sets the name by which the mainhall is referenced in the campaign file.
  • Replaces the mainhall's position index #.
  • If no +Name is specified, it defaults to the index number according to it's position in the mainhall.tbl starting with '0'.
  • The name is only needed for the 640 section of the mainhall entry, but can also be under the 1024 section if the names are the same.
  • Syntax: String

+nocreate

FS2 Open, 21.0:
  • 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 mainhall.tbl or in earlier parsed *-hall.tbm files) by the time the *-hall.tbm is read.

+Cheat String:

FS2 Open, 3.7.2:
  • Exchanges animations once the given cheat code has been entered.
  • Must be paired with "+Anim To Change:" and "+Anim To Change To:".
  • Can have multiple cheats as long as each one is paired with the rest of the necessary options.
  • Syntax: String

+Anim To Change:

FS2 Open, 3.7.2:
  • This is the animation to be replaced when the cheat code is entered.
  • Must be paired with "+Cheat String:" and "+Anim To Change To:".
  • Syntax: String

+Anim To Change To:

FS2 Open, 3.7.2:
  • This is the animation to replace with when the cheat code is entered.
  • Must be paired with "+Cheat String:" and "+Anim To Change:".
  • Syntax: String

+Min Resolution:

FS2 Open, 3.7.2:
  • Defines the minimum valid resolution for this main-hall configuration. Has no effect if this configuration is for the first resolution.
  • The default value is 0 0 for the first resolution and 1024 600 for subsequent resolutions.
  • Syntax: Integer Integer

+Min Aspect Ratio:

FS2 Open, 3.7.2:
  • Defines the narrowest valid aspect ratio for this main-hall configuration. The argument is a single floating-point number that is the quotient of width / height. Has no effect if this configuration is for the first resolution.
  • Because of possible rounding errors, avoid setting this to a value that exactly matches a common aspect ratio (e.g., 1.6 for 16:10). Instead, set it to a slightly lower value (e.g., 1.59).
  • The default value is 0.0.
  • Syntax: Float

+Bitmap:

  • Defines the bitmap used for the mainhall.
  • Syntax: String


+Mask:

  • Defines the 'mask' bitmap used for the mainhall. NOTE: FS2 (and by extension FS2_Open) needs the mask file to be in pcx format. Special care must be taken to ensure that the colors of the active areas in the mask file are in the right index of the palette. For reference, here's a list showing which palette index corresponds to which "Door":
    • 0 = inactive
    • 1 = Exit
    • 2 = Barracks
    • 3 = Ready Room
    • 4 = Tech Room
    • 5 = Options
    • 6 = Campaign Room
  • Syntax: String

+Music:

  • Defines the background music played while in the main hall.
  • Syntax: String


+Substitute Music:

FS2 Open 3.6.10:
  • Defines the substitute background music played while in the main hall.
  • Syntax: String


+Help Overlay:

FS2 Open, 3.7.2:
  • Defines which help overlay appears when F1 is pressed. Do not include the initial dollar sign.
  • If not specified, then the default is main for the first main hall and main2 for other main halls.
  • Syntax: String

+Help Overlay Resolution Index:

FS2 Open, 3.7.2:
  • Sets which overlay resolution to use.
  • The default value is 0 for the first main-hall resolution, 1 for the second, 2 for the third, and so on.
  • Syntax: Integer

+Zoom To:

FS2 Open, 3.7.2:
  • If set, tells the game to zoom in to this area of the main hall, cropping off the edges if necessary. This parameter allows you to make a single main-hall configuration that supports a range of aspect ratios without black bars or stretching.
  • If you do use this parameter, then make sure that all of the doors (or buttons) are inside the zoom area. If you don't, then they may go offscreen, making them impossible to click!
  • Syntax: Integer Integer

+Num Intercom Sounds:

  • Defines the number of the intercom sounds played on the background while in the main hall.
  • Each of the intercom sounds requires three attributes (delay, actual sound and pan effect) that are filled with one attribute at a time - that is all intercom delays have to be defined before intercom sounds for example.
  • Syntax: Integer


+Intercom delay:

  • Defines the minimum and maximum times (in milliseconds) for the intercom sounds to be played is played.
  • Syntax: Integer Integer, milliseconds


+Intercom sound:

  • Defines the sound played. Value refers to the interface sounds section of the sounds.tbl.
FS2 Open, 3.7:
  • Syntax: Integer or String
  • Syntax: Integer

+Intercom pan:

  • Defines the panning effect for the sound. The left side of the screen is -1.0, 0 is the center and the 1.0 is the right side of the screen.
  • Syntax: Float


+Num Misc Animations:

  • Defines the number of miscellaneous animations.
  • Each animation requires several attributes which are filled one attribute for every animation at a time (ie. all animation names come before animation delays).
  • Syntax: Integer


+Misc anim:

  • Sets the animation used for the particular misc animation.
  • Syntax: String


+Misc anim group:

FS2 Open, 3.6.14:
  • Sets the anim group number. Used to play a random animation (1 at a time per group).
  • Can have several anims in the same location, only 1 per group will be played at a time.
  • -1 is no group.
  • Syntax: Integer


+Misc anim delay:

  • First value sets the time until the misc anim is played again (usually set as -1).
  • The last two values define the minimum and maximum delays (in milliseconds) for the miscellanous animations.
  • Syntax: Integer Integer Integer


+Misc anim coords:

  • Defines the coordinates for the misc animation.
  • Measured from the top left corner in X,Y.
  • Syntax: Integer Integer


+Misc anim mode:

  • Defines the type of the misc animation. Type 0 is a looping animation, type 1 is animation that stays at the end frame after playing, type 2 is timed animation.
  • Type must be set to 2 if anim is part of a group.
  • Syntax: Integer


+Misc anim pan:

  • Defines the panning effect for the anim sounds. The left side of the screen is -1.0, 0 is the center and the 1.0 is the right side of the screen.
  • Syntax: Float


+Misc anim sounds:

  • First value sets the number of sounds played with the animation.
  • Rest of the values - equal to the numbers of the sounds played with the animation - define the sounds from the interface sounds section of the sounds.tbl.
FS2 Open, 3.7:
  • Syntax: Integer Integer or String Integer or String
  • The first value is no longer needed.
  • Syntax: Integer Integer Integer

+Misc anim trigger:

  • First value sets the number of sound triggers for the animation.
  • Rest of the values - equal to the numbers of the sounds in "Misc Anim Sounds" - define the frame of the animation when the sound is to be played.
  • If there are more triggers than sounds listed in "Misc Anim Sounds" it will loop around and play the first sound listed again.
  • Syntax: Integer Integer Integer

+Misc anim handles:

FS2 Open, 3.7: This flag is depreciated via commit 8117
  • Defines the number of sounds that can play concurrently.
  • Syntax: Integer

+Misc anim flags:

FS2 Open, 3.7: This flag is depreciated via commit 8117
  • Defines which sound from "Misc Anim Sounds" will be played first.
  • There is some confusion on this one, best leave it as '1' (Or retail value).
  • Syntax: Integer

+Misc anim over doors:

FS2 Open, 3.7.2:
  • Renders the given misc anim after (on top of) the door animations.
  • A value of 1 is TRUE while a value of 0 is FALSE.
  • Syntax: Integer

+Num Door Animations:

  • Sets the number of door animations for the mainhall.
  • Syntax: Integer


+Door anim:

  • Defines the animation used for the door animation.
  • Syntax: String


+Door coords:

  • First two values define the coordinates for the animation and the last two values the centerpoint of the animation.
  • Measured from the top left corner.
  • First two are the X,Y for the anim, the second 2 are the X,Y for the center of the anim.
  • Syntax: Integer Integer Integer Integer


+Door sounds:

  • Defines the sounds that played when door opens and closes. Values are references to the interface sounds section of the sounds.tbl.
FS2 Open, 3.7:
  • Syntax: Integer or String Integer or String
  • Syntax: Integer Integer

+Door pan:

  • Defines the panning effect for the sound effect. The left side of the screen is -1.0, 0 is the center and the 1.0 is the right side of the screen.
  • Syntax: Float

+Door mask value:

FS2 Open, 3.7.2:
  • Sets the color the masked area for the door has.
  • You can put decimal or hexidecmimal here.
  • Syntax: Integer

+Door action:

FS2 Open, 3.7.2:
  • Sets the action the door takes when clicked.
  • Can be any of the following: Exit, Barracks, Readyroom, Techroom, Options, Campaigns, Multiplayer, Load Mission, Quickstart, Skilllevel or "Script <LUA code>".
  • Syntax: String

+Door key:

FS2 Open, 3.7.2:
  • Sets keypress shortcut for the door.
  • Can be any key that FSO checks for input.
  • Syntax: String

+Door description:

FS2 Open, 3.7.2:
  • Sets the description that is displayed in the tooltip when the mouse hovers over a particular door.
  • Syntax: String

+Font:

FS2 Open, 3.7.2:
  • Defines the font used for the text in this main hall. This can either be a string or a number. A string references a font with a specific name while a number references a font with a specific index in the fonts table. The number option is deprecated and is only there for backwards-compatibility. Use the name if possible. Does not affect pop-up messages or the F1 overlay.
  • Default value is the first font.
  • Syntax: String or Integer

+Tooltip Padding:

FS2 Open, 3.7.2:
  • Defines how much the shading area should extend above the tooltips. Also affects the "Press F1 for help" text at the top.
  • This was previously hardcoded as two values, one for each resolution: 4 for 640x480 and 7 for 1024x768. These are still used as the default values.
  • Syntax: Integer

+Tooltip Y:

  • Sets the Y-coordinate for drawing the tooltip text.
FS2 Open, 3.7.2:
  • If this entry is omitted, the tooltip will default to the bottom of the visible screen.
  • Syntax: Integer
  • Sample

    • Galatea mainhall from the FSPort-MVPs.
    ;; Galatea A
    ;; Index 0
    ;; GR_640
    $Main Hall
    +Name: Galatea A
    
    +Bitmap:					LOW_Galatea
    +Mask:						LOW_Galatea-m	
    +Music:						Aquitaine
    +Substitute Music:				FS1-Choco Mousse
    
    +Num Intercom Sounds:	3				;; There is no limit anymore
    +Intercom delay:	8000 15000				;; min and max random delay for intercom sound 0
    +Intercom delay:	8000 15000				;; min and max random delay for intercom sound 1
    +Intercom delay:	8000 15000				;; min and max random delay for intercom sound 2
    +Intercom sound:	pa_1				;; SND_MAIN_HALL_INT1
    +Intercom sound:	pa_2				;; SND_MAIN_HALL_INT2
    +Intercom sound:	pa_3				;; SND_MAIN_HALL_INT3
    +Intercom pan:		0.0					;; pan for intercom sound 0
    +Intercom pan:		0.0					;; pan for intercom sound 1
    +Intercom pan:		0.0					;; pan for intercom sound 2
    
    +Num Misc Animations:	2				;; There is no limit anymore
    +Misc anim:		LOWgal-m1				;; anim for misc anim 1
    +Misc anim:		LOWgal-m2				;; anim for misc anim 2
    +Misc anim delay:	-1 15000 20000			;; time until we will next play a misc anim, min delay, max delay
    +Misc anim delay:	-1 9000 30000			;; time until we will next play a misc anim, min delay, max delay
    +Misc anim coords:	14 14					;; coords for misc anim 1
    +Misc anim coords:	174 198					;; coords for misc anim 2
    +Misc anim mode:	0				;; anim 1 mode (0 == loop, 1 == hold, 2 == timed)
    +Misc anim mode:	2				;; anim 2 mode (0 == loop, 1 == hold, 2 == timed)
    +Misc anim pan:		-0.5					;; pan for anim 1
    +Misc anim pan:		-0.25					;; pan for anim 2
    +Misc anim sounds:	2 weld01 weld02 		;; # sounds, sound number for each, anim 1
    +Misc anim sounds:	3 lift01a switch lift01a	;; # sounds, sound number for each, anim 2
    +Misc anim trigger:	4 1 20 42 96				;; # of triggers, frame to play sound on, anim 1
    +Misc anim trigger:	3 25 200 274				;; # of triggers, frame to play sound on, anim 2
    
    +Num Door Animations:	6				;; There is no limit anymore
    +Door anim:		LOWgal-d1				;; door anim 1
    +Door anim:		LOWgal-d6				;; door anim 2
    +Door anim:		LOWgal-d3				;; door anim 3
    +Door anim:		LOWgal-d4				;; door anim 4
    +Door anim:		LOWgal-d5				;; door anim 5
    +Door anim:		LOWgal-d2				;; door anim 6
    +Door coords:		68 260 103 298			;; door 1, coords and center of anim
    +Door coords:		309 34 110 61			;; door 2, coords and center of anim
    +Door coords:		312 264 385 330			;; door 3, coords and center of anim
    +Door coords:		457 34 404 367			;; door 4, coords and center of anim
    +Door coords:		530 206 174 412			;; door 5, coords and center of anim
    +Door coords:		305 133 385 330			;; door 6, coords and center of anim
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door sounds:		itemdraw 61				;; screen on, screen off
    +Door sounds:		itemdraw 61				;; door open, door close
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door pan:		-0.7				;; door sound pan
    +Door pan:		0.07				;; door sound pan
    +Door pan:		0.2				;; door sound pan
    +Door pan:		0.73				;; door sound pan
    +Door pan:		0.75				;; door sound pan
    +Door pan:		0.11				;; door sound pan
    
    +Tooltip Y:		469				;; y coord to draw tooltip text
    ;; -----------------------------------
    ;; GR_1024
    $Main Hall
    
    +Cheat String:      wwwa
    +Anim To Change:    2_gal-m1a-a
    +Anim To Change To: 2_gal-m1a-neon
     
    +Cheat String:      wwwz
    +Anim To Change:    2_gal-d6
    +Anim To Change To: 2_gal-d6_lights
    
    +Bitmap:					2_MainHall_Galatea_a
    +Mask:						2_MainHall_Galatea-m	
    +Music:						Aquitaine
    +Substitute Music:				FS1-Choco Mousse
    
    +Num Intercom Sounds:	3				;; There is no limit anymore
    +Intercom delay:	8000 15000				;; min and max random delay for intercom sound 0
    +Intercom delay:	8000 15000				;; min and max random delay for intercom sound 1
    +Intercom delay:	8000 15000				;; min and max random delay for intercom sound 2
    +Intercom sound:	pa_1				;; SND_MAIN_HALL_INT1
    +Intercom sound:	pa_2				;; SND_MAIN_HALL_INT2
    +Intercom sound:	pa_3				;; SND_MAIN_HALL_INT3
    +Intercom pan:		0.0					;; pan for intercom sound 0
    +Intercom pan:		0.0					;; pan for intercom sound 1
    +Intercom pan:		0.0					;; pan for intercom sound 2
    
    +Num Misc Animations:	2				;; There is no limit anymore
    +Misc anim:		2_gal-m1a-a				;; anim for misc anim 1 (Sparks)
    +Misc anim:		2_gal-m2a-a				;; anim for misc anim 2 (Elevator)
    +Misc anim group:	-1				;; group number anim belongs to (-1 is no group)
    +Misc anim group:	-1				;; group number anim belongs to (-1 is no group)
    +Misc anim delay:	-1 0 0					;; time until we will next play a misc anim, min delay, max delay
    +Misc anim delay:	-1 20000 90000				;; time until we will next play a misc anim, min delay, max delay
    +Misc anim coords:	0 0				;; coords for misc anim 1
    +Misc anim coords:	263 255				;; coords for misc anim 2
    +Misc anim mode:	0					;; anim 1 mode (0 == loop, 1 == hold, 2 == timed)
    +Misc anim mode:	2					;; anim 2 mode (0 == loop, 1 == hold, 2 == timed)
    +Misc anim pan:		-0.5				;; pan for anim 1
    +Misc anim pan:		-0.25				;; pan for anim 2
    +Misc anim sounds:	2 weld01 weld02 			;; # sounds, sound number for each, anim 1
    +Misc anim sounds:	3 lift01a switch lift01a		;; # sounds, sound number for each, anim 2
    +Misc anim trigger:	4 1 20 42 96			;; # of triggers, frame to play sound on, anim 1
    +Misc anim trigger:	3 25 200 274			;; # of triggers, frame to play sound on, anim 2
    +Misc anim over doors: 0
    +Misc anim over doors: 0
    
    +Num Door Animations:	7				;; There is no limit anymore
    +Door anim:		2_gal-d1				;; door anim 1 exit
    +Door anim:		2_gal-d6				;; door anim 2 barracks
    +Door anim:		2_gal-d3				;; door anim 3 ready room
    +Door anim:		2_gal-d4				;; door anim 4 tech room
    +Door anim:		2_gal-d5				;; door anim 5 options
    +Door anim:		2_gal-d2				;; door anim 6 campaign
    +Door anim:		2_gal-d7				;; door anim 7 multi
    +Door coords:		0 368 177 412			;; door 1, coords and center of anim
    +Door coords:		433 0 519 65			;; door 2, coords and center of anim
    +Door coords:		440 357 581 410			;; door 3, coords and center of anim
    +Door coords:		749 0 897 155			;; door 4, coords and center of anim
    +Door coords:		803 277 945 457			;; door 5, coords and center of anim
    +Door coords:		451 176 559 250			;; door 6, coords and center of anim
    +Door coords:		0 368 177 412			;; door 7, coords and center of anim
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door sounds:		itemdraw 61				;; screen on, screen off
    +Door sounds:		itemdraw 61				;; door open, door close
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door sounds:		dooropen doorclose			;; door open, door close
    +Door pan:		-0.7				;; door sound pan
    +Door pan:		0.00				;; door sound pan
    +Door pan:		0.0				;; door sound pan
    +Door pan:		0.73				;; door sound pan
    +Door pan:		0.75				;; door sound pan
    +Door pan:		0.0				;; door sound pan
    +Door pan:		-0.7				;; door sound pan
    +Door mask value:      255
    +Door mask value:      254
    +Door mask value:      253
    +Door mask value:      252
    +Door mask value:      251
    +Door mask value:      250
    +Door mask value:      249
    +Door action:          Exit
    +Door action:          Barracks
    +Door action:          Readyroom
    +Door action:          Techroom
    +Door action:          Options
    +Door action:          Campaigns
    +Door action:          Multiplayer
    +Door description:     Exit - Quit Between the Ashes
    +Door description:     Barracks - Manage your FSO pilots
    +Door description:     Ready Room - Start or continue a campaign
    +Door description:     Tech Room - View specifications of BtA ships and weaponry
    +Door description:     Options - Change your FSO options
    +Door description:     Campaign Room - View all available campaigns
    +Door description:     Multiplayer - Start or join a coop game
    
    +Tooltip Y:		755				;; y coord to draw tooltip text