Mainhall.tbl

From FreeSpace Wiki
Revision as of 04:52, 28 June 2014 by MjnMixael (talk | contribs) (Document new features.)
Jump to: navigation, search

Revision information.....

FSO Revision: 10844
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


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

List of Tables

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

$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

+Min Resolution:

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

+Min Aspect Ratio:

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

+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

+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

+Font:

FS2 Open, 3.7.2:
  • Defines the font used for the text in this main hall. The number here points to a font entry in fonts.tbl, with 0 pointing to the first one. Does not affect pop-up messages or the F1 overlay.
  • Default value is 0.
  • Syntax: 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
    
    +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
    
    +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
    
    +Tooltip Y:		755				;; y coord to draw tooltip text