About This File
What is it?
Use this plugin to display bezels for emulators that don't natively support them.
What does it do?
It displays a bezel and resizes the emulator window to fit within the bezels transparent area.
What's required to make this plugin work?
LaunchBox v13.3 (or newer), the plugin file, bezel images and some minor setup. No more. No less. (See Setting up)
Do I need to provide my own bezel images?
Yes. (See Setting up for where to place them)
Will it work with game specific bezels?
Yes.
Will this work with all emulators?
Yes, with exception. RetroArch and MAME emulators will not show in the list of emulators and cannot be used with this plugin.
The emulators that have been tested so far all work. Some adjustments may be necessary. (see Emulator Settings)
Will this work with storefront games or Windows games?
No.
Can I use my existing RocketLauncher bezel configuration files?You can use the existing platform.png and platform.ini files from RL. These existing files should be located under:
/RocketLauncher/Media/Bezels/platform_name/_default/something.ini (and something.png)
(See Setting up [step #3])
What are the .ini files for?
The .ini (configuration) files tell the plugin how to resize and move the emulator window to fit within the bezel. (See .ini (configuration) Files for more info and Testing for creating and saving them)
Can this plugin add shaders as well?
No. Yes. See Using Shaders (new v2.1.0)
Disclaimer
This works on my test PC. I didn’t test it on my cab because I didn’t want to change my emulator settings to not use fullscreen (see Emulator Settings). Outside of RetroArch and MAME, I don’t use bezels, so didn’t want to mess-up-a-good-thing.
There are no guarantees, express or implied… blah blah blah blah blah blah blah.
There is no risk. This plugin makes no changes to LaunchBox or your emulators. If you decide this isn’t for you, simply undo any fullscreen changes you made and (with LB/BB not running) delete the BezelLauncher folder.
Special Thanks
Special thanks to @MadK9 for the idea, direction and help with testing! Without him, I would have never contemplated starting this project. Also a big thanks to @Sbaby for testing un-tested emulators with the plugin.
Installing
With LaunchBox/BigBox not running...
- Download the plugin .zip file
-
"Unblock" the file
- Right-click the file, select Properties, check the box "Unblock", click OK.
- Or better yet, just use 7-zip to open the file
- Copy the contents (a folder called "BezelLauncher") into your \LaunchBox\Plugins\ folder
- Start LaunchBox
Setting up
-
Start BezelLauncher Setup from the LaunchBox Tools menu, then click Close
- This will create the \Plugins\BezelLauncher\Bezels\platform_name\ subfolders
-
Copy your bezel images into their respective platform_name subfolders
- See Bezel Images for more information
-
(optional) If you have existing RL platform_name.ini files, copy those alongside the image files
- See .ini (configuration) Files for more information
- Restart BezelLauncher Setup
- Select a platform
- Choose an emulator you wish to use for that platform.
-
Check Disabled to enable it
- Click Test
- Adjust (Move/resize) the orange frame to fit within the view area of the bezel (See Testing)
- Click Shaders to enable, adjust and change shader (see Using Shaders) (new v2.1.0)
- Click Save [to save the .ini file]
- Click Save on the main setup screen to add the emulator to the list of Enabled platform emulators
- Repeat for other platforms and emulators you wish to add
- You must click "Save" for each emulator you've enabled, separately.
Maintenance
After adding/removing platforms or emulators
- Run BezelLauncher Setup
- Click Refresh
- Continue with Setting up, step #5
Testing
To configure the placement of the emulator window within the bezel (Requires an existing bezel image):
- Run BezelLauncher Setup
- Select a platform and an emulator
- Enable it (if it's not already)
- Click Test
Move and resize the frame
- Click [and hold] the left or right side of the frame to move it around
- Click [and hold] the bottom right corner to resize
- Use the on-screen buttons to fine-tune the adjustments
The on-screen display will show information about the emulator window.
(You can click and drag the OSD to move it around as needed)
- x, y = upper left monitor-coordinates of the emulator window
- w, h = width and height of the emulator window
- x, y = lower right monitor-coordinates of the emulator window
- If any of the values are red, they are off the screen
- The OUTSIDE edge of the frame is the emulator window extents
After adjusting, click Save. This will overwrite any existing configuration file.
Using Shaders (new v2.1.0)
- First you need some shaders. Place the .png images in the /Bezels/Shaders/ folder
- (Scanline.png 'shader' is included)
- Start BezelLauncher Setup
- Select your platform and emulator and click Test
- Click Shaders
- Check the box to turn shader on
- Use the slider to adjust the shader
- Adjust the opacity down to lighten the shader
- Use the drop-down box to select a different shader
- Click Save to save your settings
Parameters
Depending on the emulator and the bezel, you may need to check 1 or more of the following parameters:
(h) hideStuff |
Check this if you see the desktop behind bezel while the game is loading. This adds a black background during the startup process. |
(s) startupSleeper |
“Hide stuff” for a little longer during startup (3 seconds) |
(l) longerSleep |
Same as above (4 seconds) |
(g) hideGameStartup |
Check this if LB Game Startup screen is showing behind the bezel at game startup |
When selecting a platform, if the plugin detects an emulator that has been tested, “suggested” parameters will be shown. Your mileage may vary.
Emulator Settings
For the plugin to move/resize the emulators’ window, you will need to disable fullscreen in the emulator(s). This may be as easy as removing "-f" or "-fullscreen" from the Default Command-line Parameters (depending on the emulator).
Beyond that, of the emulators I've tested, the only one that needs to have its Default Command-line Parameters altered is SuperModel. You will need to manually set the resolution.
- Start BezelLauncher Setup
- Select your Super Model 3 platform and Enable it
- Click Test and after adjusting the frame to where you want it, make note of the W(idth) and H(eight) #'s shown in the OSD.
- Save and Close. (Be sure to click Save on the main Setup screen to save Enabled as well.)
-
Edit your SuperModel emulator (in LaunchBox) and set the Default Command-line Parameters to "-res=W,H" (no quotes, no spaces and replacing W & H with the #'s noted above)
- Example: -res=1420,1076
Bezel Images
When you run BezelLauncher Setup for the 1st time, the plugin creates subfolders for each of your eligible platforms. They are created in:
\LaunchBox\Plugins\BezelLauncher\Bezels\[platform_name]\
The platform image file needs to be in the [platform_name] folder and must be named the exact same as the platform.
\BezelLauncher\Bezels\Sony PSP\Sony PSP.png
Game-specific bezel files
Game-specific bezel folders (or files) can be named after the games ROM filename or the games Title.
Using the games Title:
If the Title has 'invalid file name characters', those characters will need to be replaced with _ (underscore). The exact same way LaunchBox does with its image files (but without the -01 suffix).
Example: Title = Disney-Pixar's Toy Story 2: Buzz Lightyear to the Rescue!
Bezel = Disney-Pixar_s Toy Story 2_ Buzz Lightyear to the Rescue!.png
NOTE: Additional Apps game Titles are (i.e.) "Play USA Version...". So the bezel would be "Play USA Version....png". Same rules apply with 'invalid file name characters'.
Invalid characters are:
< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)
' (single quote) Not technically invalid (post-DOS), but consistent with LaunchBox character replacement
Storing game-specific bezels:
Option 1:
- Place your game bezel images directly inside their respective \[platform_name]\ folder.
Game-specific image files must be named the exact same as the games ROM file or the games Title (accounting for invalid characters).
example:
- \BezelLauncher\Bezels\Sony PSP\After Burner - Black Falcon (USA) (En,Fr,Es,It,Nl) (PSP) (PSN).png
Option 2:
- Place your game-specific bezel image folders under the \[platform_name]\ folder.
- The subfolder must be named the exact same as the games ROM file or Title (barring invalid characters).
- The .png and .ini files in the subfolder can be any filename.
example:
- \BezelLauncher\Bezels\Sony PSP\After Burner - Black Falcon (USA) (En,Fr,Es,It,Nl) (PSP) (PSN)\thisIsAnyFileName.png
See Launching different game versions for information about bezel requirements for games that are combined as Additional Apps.
ScummVM
Setting up ScummVM for use with this plugin:
In LaunchBox, Edit games using ScummVM. In the ScummVM section, have both checkboxes un-checked. (Fullscreen and Aspect Correction). This cannot be done using the Bulk Edit Wizard, so will need to be done on a per-game basis. One-at-a-time.
If it's not displaying correctly with just the above, try the (optional) following:
- Navigate to /LaunchBox/Third Party/SummVM/ and start ScummVM.exe.
- On the Graphics tab, set Graphics Mode to opengl. Leave the other 2 as default and the check box's un-checked. Click OK and Exit.
ScummVM Bezel Files:
To use bezels with games using LB's integrated ScummVM, you will need to set them up manually. It will not appear in BezelLauncher Setup.
-
Navigate to the plugins Bezels subfolder and add your platform folder.
- i.e. \LaunchBox\Plugins\BezelLauncher\Bezels\ScummVM\
-
Add your platform default png and ini files to this folder.
- i.e. ScummVM.png ScummVM.ini
Game specific bezels for ScummVM must be named the same as the Game Data Folder.
i.e. D:\LaunchBox\Games\ScummVM\King's Quest 1 - Quest for the Crown\[game files]
use: "King's Quest 1 - Quest for the Crown.png"
DOSBox
The integrated version of DOSBox is NOT supported by this plugin. I couldn’t get it to cooperate 100% of the time. So going with plan “B”.
To use DOSBox with this plugin, you will need to install and set up DOSBox-X.
Setting up DOSBox for use with this plugin:
Note: BezelLauncher Setup will NOT show your DOSBox platform ('MS-DOS') as an available platform. So don't bother looking for it.
Download DOSBox-X
DOSBox-X releases can be found here: https://github.com/joncampbell123/dosbox-x/releases
- Download the vsbuild-win64 version. (direct link for the download file)
- Create a new folder under \LaunchBox\ThirdParty\ and name it DOSBox-X
-
Extract the contents of the downloads "\bin\x64\Release\" folder into the new folder
- Be sure to unblock the zip file before extracting (unless you’re using 7-Zip)
Configuring DOSBox-X
- In Windows Explorer, navigate to \LaunchBox\ThirdParty\DOSBox-X\.
- Make a copy of dosbox-x.conf.
- Rename the copy to [something like] "BL-dosbox-x.conf"
- Right-click the new 'BL-dosbox-x.conf' file and select edit (Notepad++ works great for this. But any text editor (Notepad) will work)
- Look for the following keys and change their Values as shown:
(starting on approximately line 78)
fullresolution = 1400x1080
windowresolution = 1400x1080
windowposition = 260,0
output = ttf
showmenu = false
"1400x1080" (2 locations) is the dimension of the transparent area of your bezel. Adjust as necessary.
From your MS-DOS.ini file, use [Right X]-[Left X] for the 1st value (1400) and [Right Y]-[Left Y] for the 2nd (1080)
"260,0" is the upper-left coordinate of the transparent area. Use the Left-X value for the 1st number and Left-Y for the 2nd.
Save the changes and close the editor.
Configure games to use DOSBox-X
The following assumes your MS-DOS platform games are already setup to use the integrated version of DOSBox.
-
In LaunchBox, select all your DOSBox games and press Ctrl+E to start the Bulk Edit Wizard.
- (Select 1 game in the MS-DOS platform, then press Ctrl+A to select all)
-
On the 2nd screen
- select the Field Custom DOSBox Version EXE Path
- for Value, Browse to and select dosbox-x.exe
- Click Next, Next
- Click “Yes, I would like to make more changes”
-
select the Field DOSBox Configuration File
- for Value, Browse to and select the new file you created (BL-dosbox-x.conf)
- Click Next. Next (again).
- Click "No, I would not like to make more changes"
MS-DOS Bezel Files:
This assumes your DOSBox platform is called "MS-DOS".
- In the Bezels subfolder under the plugin folder, create a new folder called 'MS-DOS'.
- In \LaunchBox\Plugins\BezelLauncher\Bezels\MS-DOS\, add your bezel files (MS-DOS.png and MS-DOS.ini).
Game specific bezels for DOSBox need to be named the same as the Game Data Folder
i.e. D:\LaunchBox\Games\MS-DOS\Cosmos Cosmic Adventure\COSMO1.EXE
use "Cosmos Cosmic Adventure.png"
.ini (configuration) Files
The .ini files contain the monitors' coordinates for placing the emulator window.
The Upper Left x,y coordinate and the Lower Right x,y coordinate
Example:
Upper Left X Coordinate=240
Upper Left Y Coordinate=100
Lower Right X Coordinate=1680
Lower Right Y Coordinate=1080
The platform ini file must be named the exact same as the platform. If copied from RocketLauncher, you may need to rename it (removing any under_scores).
i.e. \BezelLauncher\Bezels\Sony PSP\Sony PSP.ini
For game-specific ini files, if they are located in a subfolder below /[platform_name]/ (see Bezel Images, Option 2, above), they can have any filename. If they are inside the /[platform_name]/ folder (Option 1), then they must be named the exact same as the games ROM file or Title.
If a game-specific .ini file doesn’t exist, the plugin will use the games platform.ini file.
Launching different game versions
Also known as Additional Apps, when right-clicking a game and selecting Play Version, the Additional App is not required to have its own bezel files. If the Additional App doesn't have its own bezel, the plugin will look for the Default Games' bezel. If neither of those exist, it will use the platforms’ bezel.
This eliminates the need to have a separate set of bezel files for each version of the game. Useful since they most likely all use the same image. This only works for games that are Additional Apps.
Plugin Folder Structure
Main plugin files
D:\LaunchBox\Plugins\BezelLauncher\
BezelLauncher.dll
BLSetup.xml
(default) Platform Bezel
D:\LaunchBox\Plugins\BezelLauncher\Bezels\platform_name\
platform_name.ini
platform_name.png
Game-specific Bezels
Option 1:
D:\LaunchBox\Plugins\BezelLauncher\Bezels\platform_name\
game-1-ROM_name.png / game-1-ROM_name.ini
game-2-ROM_name.png / game-2-ROM_name.ini
game-3-ROM_name.png / game-3-ROM_name.ini
Option 2:
D:\LaunchBox\Plugins\BezelLauncher\Bezels\platform_name\ game-1-ROM_name_name\
anyNameYouWant.png / anyOtherOrSameNameYouWant.ini
D:\LaunchBox\Plugins\BezelLauncher\Bezels\platform_name\ game-2-ROM_name_name\
anyNameYouWant.png / anyOtherOrSameNameYouWant.ini
D:\LaunchBox\Plugins\BezelLauncher\Bezels\platform_name\ game-3-ROM_name_name\
anyNameYouWant.png / anyOtherOrSameNameYouWant.ini
Log files
D:\LaunchBox\Plugins\BezelLauncher\Logs\
log [date/time].txt (Up to 5 files max)
SetupLog [date/time].txt (Up to 5 files max)
As always, any thoughts, views, opinions, [constructive] criticism, comments and suggestions are welcome.
What's New in Version 2.1.2 See changelog
Released
v2.1.2
Fixed: DOSBox and ScummVM bezels not showing (introduced in v2.1.0)
v2.1.0
New Feature: Added Shader capabilities
Improvement: Bezel loads faster when launching a game
Improvement: Recalibrated sizing buttons on Test screen. Can now click-and-hold for faster adjustments
Improvement: Now works with when display scales are set above 100%
Fixed: Bezel Window Width & Height not properly fitting the screen during Test