This was mazmazz's original SOC specification for the new title screen features in 2.2, so it can be put on the wiki. Be warned that some of the information may be outdated, so it's a good idea to double-check stuff first.
Specify type of menu to modify. See List of Menus below for valid types.
Inherited Parameters (see details below)
See Implementation Details for note on inheritance.
BackgroundName - Graphics patch to show as a background. If this is not specified by inheritance, then defaults to TITLESKY. If this is specified when a titlemap is active, this background overlays the titlemap.
TitleScrollXSpeed - Scroll X speed. Negative value means move left. Only effective if BackgroundName is specified. Overrides the global default from MainCfg > HideTitlePics and defaults to 0.
TitleScrollYSpeed - Scroll Y speed. Negative value means move up. Only effective if BackgroundName is specified. Overrides the global default from MainCfg > HideTitlePics and defaults to 0.
HideTitlePics - Hide the title screen wings. If not specified, this inherits the global default from MainCfg > HideTitlePics
FadeStrength - How dark to overlay the background, 1-32. If not specified, this defaults to 16.
Music - Lump name of music to change to
These parameters are specific per menu, and they are not retrieved from the parents.
EnterWipe - Wipe ID to apply when entering the submenu. If not specified, no wipe is applied.
ExitWipe - Wipe ID to apply when exiting the submenu. If not specified, no wipe is applied.
EnterTag - Line exec tag to run when entering the submenu.
ExitTag - Line exec tag to run when exiting the submenu.
NoExecBubbling - If switching to a completely different branch in the tree, don't run the enter or exit tags of all the parents up to (and excluding) the common ancestor. By default, do so.
Menus follow a tree hierarchy. If a child menu does not specify a parameter like BackgroundName or Music, it will inherit that parameter from the first parent that has that specified.
This applies in most cases; the exceptions are listed under Unique Parameters.
Note: the Top Menu is not specified as the ultimate parent of all menus. Instead, it is a sibling to the Single Player main menu, Multiplayer, Options, etc. This is to promote a separation of concerns between the top title screen and submenus to enforce non-inheritance (for linedef execs, in particular).