Pause Themes
How to create a Pause Theme for LaunchBox and Big Box
Written By launchbox
Last updated 3 days ago
What this is:
Pause Themes control the screen that appears when a user opens the game pause menu while a game is running. This is the menu where users can resume the game, view manuals, view achievements, save or load states, reset the game, swap discs, or exit the game, depending on what is available for the selected game and emulator.
Pause Themes are shared by LaunchBox and Big Box, but they are separate from normal LaunchBox Themes, Big Box Themes, and Startup Themes.
Where to begin:
Find your LaunchBox/PauseThemes folder.
Copy and paste the Default theme folder and give the new folder a name. This folder name becomes your Pause Theme name inside LaunchBox and Big Box.
Your new theme should look like this:
LaunchBox/PauseThemes/Your Theme Name/Default.xaml
The Default.xaml file is the main pause screen view. This file is required. If LaunchBox or Big Box cannot find a matching view in the selected Pause Theme, it will fall back to PauseThemes/Default/Default.xaml.
Selecting the Pause Theme:
In LaunchBox, go to Tools > Options > Game Pause.
From there, enable the game pause screen and select your Pause Theme.
In Big Box, go to Options > Game Pause.
From there, enable the pause screen and select your Pause Theme. Big Box can also use theme-specific settings, so users may choose different pause behavior depending on their Big Box theme setup.
Files you can create:
Default.xaml - the pause screen used when no more specific pause view is found.
[Platform Name].xaml - a pause screen used for games on that platform.
[Platform Scrape As Name].xaml - a pause screen used when the platform has a Scrape As value and that file exists.
[Platform Category Name].xaml - a pause screen used when LaunchBox is currently filtered to that platform category.
[Playlist Name].xaml - a pause screen used when LaunchBox is currently filtered to that playlist.
For example, a Pause Theme could include:
Default.xaml
Arcade.xaml
Nintendo Entertainment System.xaml
Sega Genesis.xaml
If a game is being played from Arcade, LaunchBox or Big Box will try to use Arcade.xaml before falling back to Default.xaml.
How LaunchBox chooses the pause view:
When the pause screen opens, LaunchBox looks in the selected Pause Theme folder and tries to find the most specific XAML file it can use.
LaunchBox checks the current selected platform, platform category, or playlist when that context is available. It can also check the platform of the game currently being played. If no matching file exists, it uses Default.xaml.
Big Box follows the same general idea, but it uses the active Big Box platform/game context instead of the LaunchBox sidebar filter context.
This means you can build one general pause screen in Default.xaml, then create special layouts for platforms that need a different look.
What the view can bind to:
Pause Theme views use the pause screen view model as their data context. Common bindings include:
{Binding SelectedGame} - the game currently being played.
{Binding SelectedGame.Title} - the game title.
{Binding SelectedGame.ClearLogoImagePath} - the game clear logo.
{Binding SelectedGame.FrontImagePath} - the front box image.
{Binding SelectedGame.CartFrontImagePath} - the cart or disc image.
{Binding BackgroundImagePath} - a background image selected for the game.
{Binding ImageVideoView} - the game screenshot/video view.
{Binding Items} - the pause menu items.
{Binding SelectedItem} - the currently selected pause menu item.
{Binding PlatformTitle} - the game platform name.
{Binding KnownPlatformOrPlaylistTitle} - the known platform or playlist title.
{Binding NonPlaylistNonCategoryPlatformTitle} - the platform title without playlist or category context.
The Items list is generated automatically based on what is available for the game and emulator. Theme developers should style and display the list, but should not hard-code the available pause menu actions.
Pause menu items:
The pause menu may include options such as:
Resume Game
View Manual
View Community High Scores
View Achievements
Reset Game
Save State
Load State
Swap Discs
Additional application links or media
Exit Game
Not every game will show every item. For example, save state and load state options depend on emulator scripts, manuals depend on whether a manual exists, and achievements depend on the user's RetroAchievements setup.
Important notes:
Pause Themes are stored in PauseThemes, not Themes, LBThemes, or StartupThemes.
The main file is Default.xaml.
Platform-specific files should be placed directly inside the Pause Theme folder.
Pause Themes do not use the normal Big Box theme Views folder.
The default Pause Theme is recreated by LaunchBox when needed, so it is best to copy the Default folder instead of editing it directly.
When sharing a Pause Theme, package the contents so that Default.xaml ends up directly inside the installed theme folder.