Jump to content
LaunchBox Community Forums

BezelLauncher 2.1.2

   (9 reviews)

2 Screenshots

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. :D  Also a big thanks to @Sbaby for testing un-tested emulators with the plugin.

 

Installing

With LaunchBox/BigBox not running...

  1. Download the plugin .zip file
  2. "Unblock" the file
    1. Right-click the file, select Properties, check the box "Unblock", click OK.
    2. Or better yet, just use 7-zip to open the file
  3. Copy the contents (a folder called "BezelLauncher") into your \LaunchBox\Plugins\ folder
  4. Start LaunchBox

 

Setting up

  1. Start BezelLauncher Setup from the LaunchBox Tools menu, then click Close
    • This will create the \Plugins\BezelLauncher\Bezels\platform_name\ subfolders
  2. Copy your bezel images into their respective platform_name subfolders
    • See Bezel Images for more information
  3. (optional) If you have existing RL platform_name.ini files, copy those alongside the image files
    • See .ini (configuration) Files for more information
  4. Restart BezelLauncher Setup
  5. Select a platform
  6. Choose an emulator you wish to use for that platform.
  7. Check Disabled to enable it
    1. Click Test
    2. Adjust (Move/resize) the orange frame to fit within the view area of the bezel (See Testing)
    3. Click Shaders to enable, adjust and change shader (see Using Shaders)  (new v2.1.0)
    4. Click Save [to save the .ini file]
    5. Click Save on the main setup screen to add the emulator to the list of Enabled platform emulators
  8. Repeat for other platforms and emulators you wish to add
  9. You must click "Save" for each emulator you've enabled, separately.

image.thumb.png.c97c031560f6d11d832627f112c7d1b2.png

 

Maintenance
After adding/removing platforms or emulators

  1. Run BezelLauncher Setup
  2. Click Refresh
  3. Continue with Setting up, step #5

 

Testing
To configure the placement of the emulator window within the bezel (Requires an existing bezel image):

  1. Run BezelLauncher Setup
  2. Select a platform and an emulator
  3. Enable it (if it's not already)
  4. Click Test

image.thumb.png.ceb55f1ed0005e34f820e0d6caf0e08f.png

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 image.png.c72de1ad9780af93759750bd7818c070.png
  • 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

image.thumb.png.df3e2713204f043555ce2afd9ba6f25a.png

  • 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.

  1. Start BezelLauncher Setup
  2. Select your Super Model 3 platform and Enable it
  3. 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.
  4. Save and Close.  (Be sure to click Save on the main Setup screen to save Enabled as well.)
  5. 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)
    1. 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.

  1. Navigate to the plugins Bezels subfolder and add your platform folder.
    • i.e.    \LaunchBox\Plugins\BezelLauncher\Bezels\ScummVM\
  2. 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

  1. Download the vsbuild-win64 version. (direct link for the download file)
  2. Create a new folder under \LaunchBox\ThirdParty\ and name it DOSBox-X
  3. 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

  1. In Windows Explorer, navigate to \LaunchBox\ThirdParty\DOSBox-X\.  
  2. Make a copy of dosbox-x.conf.  
  3. Rename the copy to [something like] "BL-dosbox-x.conf"
  4. Right-click the new 'BL-dosbox-x.conf' file and select edit (Notepad++ works great for this. But any text editor (Notepad) will work)
  5. 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.

  1. 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)
  2. On the 2nd screen
    1. select the Field Custom DOSBox Version EXE Path
    2. for Value, Browse to and select dosbox-x.exe
  3. Click Next, Next
  4. Click “Yes, I would like to make more changes
  5. select the Field DOSBox Configuration File 
    1. for Value, Browse to and select the new file you created (BL-dosbox-x.conf)
    2. Click Next. Next (again). 
    3. 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

Spoiler

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

  • Like 14
  • Thanks 2
  • Haha 1
  • Unusual Gem 5

User Feedback

Recommended Comments



12 hours ago, Sbaby said:

I was wrong, it doesn't work.
It basically gave me the correct bezel of Monkey Island, but that was a fluke, what it does is take the first bezel in alphabetical order contained in the Plugins\BezelLauncher\Bezels\ScummVM folder and apply it to all the games I start.

BezelLauncher v2.0.0-beta-3

Fixed:  ScummVM not showing the correct bezel.
 

Game specific bezel folders for ScummVM need to be named the same as the games Data Folder
          (the folder name that the game files are located in)

You can find the name in Windows Explorer or when editing a game.

image.png.c68af33e21403d14fe9478bf133dbccf.png

image.thumb.png.211d8b76042792c689d273a8d9c9d9e2.png

⟶ BezelLauncher (2.0.0-beta-3).zip

  • Thanks 1
Link to comment
Share on other sites

5 hours ago, JoeViking245 said:

BezelLauncher v2.0.0-beta- 3

Great, now scummvm works great. You are great.

I would like to point out other problems with MS-DOS.
1) I've also tried with the custom bezel but it doesn't work, in the sense that the bezel is always the generic MS-DOS one, not the custom Novastorm one. In the Bezels folder I currently have MS-DOS.ini, MS-DOS.png, Novastrm.ini, Novastrm.png. I've also tried with the name Novastorm but it doesn't work

image.thumb.png.3f579af0eff57a390de242c35bb39700.png

image.thumb.png.a93411e1714a25a223ab4023eab228f3.png

image.thumb.png.c4329a8092d8ce526ef36636fcbbec1a.png

image.thumb.png.8f907c537728f1b63d4e76724290e84d.png

2) The pause menu for Launchbox and the return from pause for ScummVM work fine with both the joystick and the key on the keyboard that I configured with the PAUSE key on the keyboard. With MS-DOS, however, the pause menu only appears with the joystick key, whereas if I press the pause key on the keyboard the Windows 11 screen capture appears... For the return from the pause menu the bezel disappears with MS-DOS while with ScummVM it is correct, on the latter I know you are working but I hope I have given you some more useful knowledge

 

Edited by Sbaby
Link to comment
Share on other sites

Thanks!  Glad to hear that part's working now.

 

1 hour ago, Sbaby said:

I would like to point out other problems with MS-DOS.
1) I've also tried with the custom bezel but it doesn't work, in the sense that the bezel is always the generic MS-DOS one, not the custom Novastorm one. In the Bezels folder I currently have MS-DOS.ini, MS-DOS.png, Novastrm.ini, Novastrm.png. I've also tried with the name Novastorm but it doesn't work

Appears I failed to mention:

Game specific bezels for DOSBox need to be named the same as the games Data Folder (just like ScummVM)
          (the folder name that the launching game file is located in)

In your example, the file would be named Novastor.png (which is the launching bat files' parent folder).

image.thumb.png.3c7d91b769121dd9852d7c58220df389.png

 

Also note, if the platform bezel (MS-DOS.png) and the game(s) bezel(s) have the same sidebar dimensions (making their ini files have the exact same info inside), you only need to have the platforms ini file (MS-DOS.ini).  No need to have both ini files if they're the exact same.

Link to comment
Share on other sites

2 hours ago, JoeViking245 said:

Thanks!  Glad to hear that part's working now.

 

Appears I failed to mention:

Game specific bezels for DOSBox need to be named the same as the games Data Folder (just like ScummVM)
          (the folder name that the launching game file is located in)

In your example, the file would be named Novastor.png (which is the launching bat files' parent folder).

image.thumb.png.3c7d91b769121dd9852d7c58220df389.png

 

Also note, if the platform bezel (MS-DOS.png) and the game(s) bezel(s) have the same sidebar dimensions (making their ini files have the exact same info inside), you only need to have the platforms ini file (MS-DOS.ini).  No need to have both ini files if they're the exact same.

Perfect.  it works now.  I had forgotten the damned 8-character maxims in dos 🤪

  • Game On 1
Link to comment
Share on other sites

On 12/4/2023 at 11:52 AM, JoeViking245 said:

Sounds intriguing. A bit beyond my knowledge base, but something to look into on a slow winter's day.  Thanks.

Note: I never said which winter. ;) 

I'm pretty sure this issue is inherent to the emulator and no solution exists at this time.

I installed a clean copy of m2emulator to verify and when in windowed mode  the emulator's internal resolution is 640x480. Larger windows, whether displayed or borderless, just stretch the image to fit.

When in fullscreen mode the emulator's internal resolution is higher. 

For some games this may be perfectly acceptable but where it is especially noticable is if you use crosshairs. (Yes real men don't use crosshairs but these old eyes need them 😀 )  Crosshairs will get stretched as well which will make them larger. Of course you can account for that and resample your crosshair images smaller to account for the stretching. Just something to be aware of.

 

 

  • Thanks 1
Link to comment
Share on other sites

On 12/22/2023 at 4:31 AM, Sbaby said:

"Windowed: 1920x1080" returning from pause menu causes bezel cancellation

BezelLauncher v2.0.0-beta-4

Fixed:   Returning from Pause Menu for DOSBox created undesirable visual effects.

 

Setting up DOSBox recommendations:  (at least, this is what worked for me)

  • In the  \LaunchBox\ThirdParty\DOSBox\ folder, create a new .conf file (i.e.  "BL-dosbox.conf"). 
  • in this file, put:
[sdl]
fullscreen=false
fulldouble=false
fullresolution=1440x1080
windowresolution=1440x1080
output=overlay
priority=higher,pause
[render]
aspect=true
scaler=normal3x
  • "1440x1080" (2 locations) is the dimension of the transparent area of your bezel.  Adjust as necessary.
  • Save.
  • In LaunchBox, select all your DOSBox games and press Ctrl+E (starts the Bulk Edit Wizard)
  • On the 2nd screen,
    • select the Field DOSBox Configuration File 
    • for Value, Browse to and select the new file you created (BL-dosbox.conf)
  • Click NextNext (again). And No....

Alternately, you could just edit the existing dosbox.conf file.  But this way (above), you won't get any inadvertent changes.

For the MS-DOS.ini file (under \Plugins\BezelLauncher\Bezels\MS-DOS\, set all 4 values accordingly.  i.e.

[General]
Bezel Screen Top Left X Coordinate=240
Bezel Screen Top Left Y Coordinate=0
Bezel Screen Bottom Right X Coordinate=1680
Bezel Screen Bottom Right Y Coordinate=1080

(above is based on a 1920x1080 bezel with a 1440x1080 transparent (centered) area)

Again, this is what worked for me.

Edit: see 3 posts down for v. beta-4a

Edited by JoeViking245
Link to comment
Share on other sites

1 hour ago, JoeViking245 said:

BezelLauncher v2.0.0-beta-4

 

hi 🫡 I'll update you on the tests

With this configuration, it seemed to work fine at first, but after several times of going in and out of pause, the game started to slow down and stutter, also sometimes the taskbar appears.

 

With the second monitor switched on, the game when returning from break disappears and only the bezel remains

Link to comment
Share on other sites

37 minutes ago, Sbaby said:

hi 🫡 I'll update you on the tests

With this configuration, it seemed to work fine at first, but after several times of going in and out of pause, the game started to slow down and stutter, also sometimes the taskbar appears.

 

With the second monitor switched on, the game when returning from break disappears and only the bezel remains

Stop pausing and just play the game. ;) 

It's still not set up for multitasking during gameplay.  All testing was done on a dual monitor setup without issue but admittedly, I didn't try switching between apps while playing and only paused the game 1 to 3 times per session, as that seemed (what I felt to be) realistic.

Thanks for stress-testing this.  I'll keep experimenting.

  • Like 1
Link to comment
Share on other sites

2 hours ago, JoeViking245 said:

I think (hope) this should fix that.

BezelLauncher v2.0.0-beta-4a    BezelLauncher (2.0.0-beta-4a).zip 34.84 kB · 1 download

 

when returning from pause monitor 2 becomes monitor 1 🤔 I see all the icons of monitor 1 on monitor 2, the bezel remains but the game is dark black screen.

My two monitors are not the same and have different refresh rates, in any case I have no problems with other games or emulators that use bezels or overlays... this is just to inform you. I don't know if it helps

Link to comment
Share on other sites

29 minutes ago, Sbaby said:

when returning from pause monitor 2 becomes monitor 1 🤔 I see all the icons of monitor 1 on monitor 2, the bezel remains but the game is dark black screen.

My two monitors are not the same and have different refresh rates, in any case I have no problems with other games or emulators that use bezels or overlays... this is just to inform you. I don't know if it helps

Do you by chance have your monitors set as.. what Windows identifies as 'Monitor 2' is your primary monitor?  Or something flip-flopped like that?

When 'the bezel remains and the game is dark black', if you hold alt and press tab until you get to the game, and then let go, does it reappear?

 

Also you said you "have no problems with other games...".  Is it just certain DOSBox games? Or just one game that does have issues?  Or is it, all DOSBox games have issues [with the plugin], and ScummVM and all other emulators are OK?

Thanks again for all your testing and feedback! Much appreciated.

Link to comment
Share on other sites

9 hours ago, JoeViking245 said:

When 'the bezel remains and the game is dark black', if you hold alt and press tab until you get to the game, and then let go, does it reappear?

does not reappear, I am forced to force the closure of everything

 

9 hours ago, JoeViking245 said:

Also you said you "have no problems with other games...".  Is it just certain DOSBox games? Or just one game that does have issues?  Or is it, all DOSBox games have issues [with the plugin], and ScummVM and all other emulators are OK?

 

all dos games behave the same

 

---------------

 

I won't talk about my cabinets because unfortunately they reside in another, larger house and I haven't been there for several months, I'll tell you about my current setup which corresponds to a work desk where I have a fixed desktop PC with nvidia 2060 to which 3 monitors are connected (always physically connected by cable)

- two monitors in displayport ports are used when I am sitting at my desk (wall 1) , Windows detects these monitors ID1 and ID3
- one LG C1 TV in hdmi port with 2.1 cable which I use when I want to relax from the sofa (wall wall 2), Windows detects this monitor(TV) with ID2

Then the procedure takes place that with the combination WIN+P I call up the Windows DisplaySwitch manager and switch from the two-monitor+LaunchBox configuration (if I'm sitting at my desk), to the TV+BigBox configuration (if I want to use the sofa), this activation I always do before starting the frontend and therefore before starting any game, the profiles I use are the default Windows ones and namely 

1) PC Screen Only = Monitor 1
2) Duplicate = Do not use
3) Extend = Monitor 1 and Monitor 3
4) Second Screen Only = Monitor 2 (TV)

 

Concerning the use of bezels the problems that arise are the same with all profiles and I think they are very much related to other posts I have already published to which no one can give me an answer and to which I have found my own temporary solution that I want to show you, I think the problem is how LB and BB handle the activation of windows and monitors according to certain types of emulators, including the pause window

I have no problem whatsoever with Mame and Retroarch
ReshadeManager works very well in 90% of cases

Now I'll give you an example where I had a similar problem to ours, and which I had already indicated in this post, I'm talking about HypseusSinge, it in the latest version has a bezel implementation which I use regularly, this is an example launcher for Space Ace

hypseus.exe sae vldp -framefile vldp_dl\ace\ace.txt -fullscreen -bank 1 01100111 -bank 0 10011000 -volume_nonvldp 5 -volume_vldp 20 -force_aspect_ratio -bezel /daphne/v1/ace.png

What happened was very similar to our DosBox, i.e. the first start works perfectly, but when I then exit the game, go to play another game, e.g. MAME, and then exit and restart a HypseusSinge game again, it happens that the window of BigBox or LaunchBox remains blocked in front and the game underneath I can hear it but I can't see it, I am forced to force the closure of BigBox, this is a similar thing that happens with your plugin, when the game screen turns black I can no longer do anything, I am forced to terminate everything.

One of the solutions I had found was to activate the function in the general options of Launchbox that minimises the frontend when the emulator starts up, but it partially solved the problem, in the sense that if I went to pause and returned to the game, the problem recurred

In the end, while waiting for the official Launchbox fixes, I decided to create a script with the help of chatgpt which I have to say works very well with all the emulators I decided to associate it with, keep in mind that it starts when Hypseus starts and closes when Hypseus exits so it's not resident in memory all the time, I'm telling you this so you can understand that it can't be him creating conflicts,

image.thumb.png.1b1360baeb96b64199181d76744d0678.png

I'll put it below, what it does is force the frontend to continue to minimise if the emulator window is active, you only need to enter the class of the emulator window, in this case it is SDL_app, and if you want you can enter the executable that will be closed when the game exits, this is for extra security, the script needs to be started when the emulator starts and will be closed automatically when the game closes. The script also takes into account the pause menu, the window is "Launchbox Pause Screen", the script pauses for safety at that moment.

Here it is:

HYPSEUS-Script_di_Automazione_per_LB_e_BB-_CLASSES.ahk

With this script HypseusSinge no longer has problems displaying the bezels, it does not lose the bezel after returning from the pause menu, and it always works even when I use other games like mame or pcgames and then decide to restart another hypseus game.
Using this script if you replace the class and put WinClass_Main := "MYWIN" you can also use it with Model2Emulator, to me it solved many problems, important is also to terminate the process on exit because often this emulator leaves more executables in memory (to find the class of the emulator's main window I use AutoIt (Au3Info.exe) )

Unfortunately I tried this script with DosBox and your plugin but it doesn't seem to have any effect, but I tried to give you an overview of my situation.


I'd like to add that lately I've also been using the fantastic "SingleIstance" script, which avoids that annoying bug that sometimes starts two instances of some emulators. this is because BigBox intercepts (and shouldn't) the joystick buttons during the game (it never happens with Retroarch, but again it only happens with those types of emulators)

https://www.dcmembers.com/skrommel/download/singleinstance/

image.png.8f7b6a48b1424cec8fdaa578cde87e3e.png

etc..etc,,

Edited by Sbaby
  • Thanks 1
Link to comment
Share on other sites

10 hours ago, Sbaby said:

does not reappear, I am forced to force the closure of everything

After some messing around, I was able to recreate the black screen and it looks to be the Pause screen. But all black.  'Stuck in limbo', you might say.  Opening up Task Manager and End Task DOSBox.exe fixes it.  But closes the game too (after selecting Resume Game or Exit). 

However I also found... not having BezelLauncher in the mix at all what-so-ever, (i.e. Delete the BezelLauncher folder altogether, then starting LB), I can still recreate the black Pause screen.  But this is on my old test PC, so it very well could be my antiquated, minimalistic video card that's creating the issue all around.  That, or I changed so much crap back-and-forth in the DOSBox settings, I inadvertently screwed something else up. Or a combination thereof.

I haven't stress tested like this with other emulators to possibly rule out my video card.  But I also did not test it in what might be considered a real-life situation: actually playing it for 15 minutes or more, pausing a few, resume play for another 15-20 minutes, Pause, resume etc.  My guess is that's how it's designed to be used.

The best solution in my mind (and I still contend) is to only start the game when you actually plan to play it.  And just play it.  ;)

 

 

 

Thanks for the thorough explanation! 

I did look through your AHK script and saw what you're doing there.  I was going to test the plugin with similar checks and triggers (that are above and beyond what's already there).  But then I tested DOSBox without the plugin being in the mix and saw the issue was still there.  So no point.

 

I think (I'm just guessing here) why ReShade Manager works well is that it "attaches" itself (for lack of better words [or understanding of it]) directly to the emulator's executable.  So when something happens to the emulator and its window, ReShade is right there to tag along.  But that still doesn't explain the black pause screen.

Link to comment
Share on other sites

1 hour ago, JoeViking245 said:

The best solution in my mind (and I still contend) is to only start the game when you actually plan to play it.  And just play it.  ;)

I understand what you mean, but my choice for the BigBox frontend was also made because I have so many games from the past that I like to put the key legend in the pause menu, and look at the manual from time to time while playing, I'm doing them all slowly.
for now thanks for everything and see you next time. 👍🤗

  • Like 1
Link to comment
Share on other sites

Hey @JoeViking245,

thank you very much for this great plugin, best option in my opinion for adding a bezel to games that don't support it natively.

No impact on HW, really easy to setup up and it works per-game as well  😁

LB/BB devs should integrate this plugin to the program directly  😜

Again thanks!!!

Edited by rockarollo
  • Thanks 1
Link to comment
Share on other sites

I recorded a little video for showing the magic of this plugin.

Since latest Citra updates you can't use ReShade anymore. So the Joe plugin is a life saver if you like to put bezels for 3DS games. I added an ahk script to the Citra emu for making the right stick acting like a pointer in the RetroArch style ( Citra core sucks unfortunately ).
When a game is launched the mouse is moving automatically to the little window at right down corner ( I set the emu windows in that way ) and can be moved with right stick and left mouse button is mapped on left stick pressure ( L3 ). I added in the script a few commands for changing the mouse pointer with a custom one but the video didn't record this  🤪


Also this plugin is the only way for putting a bezel for the arcade version of the F355 triple screen.

 

Hope LB/BB devs will think about to integrate this awesome plugin directly in the program   😜

 

GREETs

Edited by rockarollo
  • Like 2
Link to comment
Share on other sites

@rockarollo  You wouldn't happen to mind sharing that Citra script would you?

@JoeViking245 One particular issue I am having with Citra and this plugin is that if a game is installed to Citra via a .cia file to launch it with LaunchBox you need to point to its .app file in its content folder. The problem is that those are always named "00000000.app" so with the current setup of this plugin it requires the bezel to be named "00000000.png" with no way to distinguish for different games. Would it be possible to add a fallback unique identifier like LaunchBox ID or something we could pass via a script when a specific game launches to uniquely identify it?

  • Like 1
Link to comment
Share on other sites

9 hours ago, SatorSquare said:

One particular issue I am having with Citra and this plugin is that if a game is installed to Citra via a .cia file to launch it with LaunchBox you need to point to its .app file in its content folder. The problem is that those are always named "00000000.app" so with the current setup of this plugin it requires the bezel to be named "00000000.png" with no way to distinguish for different games. Would it be possible to add a fallback unique identifier like LaunchBox ID or something we could pass via a script when a specific game launches to uniquely identify it?

I can look into the option of using the games Title.  I think using the LB ID would be more confusing.  Either way, you wouldn't need to pass anything.

If using the games Title, you will need to replace any 'invalid' characters.  The most common one being :  (colon).  They would get replace with an _ (underscore).  The same way LaunchBox does it with image files (but without adding the suffix "-01").  i.e. Dr. Mario: Miracle Cure would become Dr. Mario_ Miracle Cure.png.

Though I must say, I haven't heard of anyone using 00000000.app files (vs decrypting to a single .3ds file or the like) in quite a while.  But the request is reasonable and should be able to accommodate. 

  • Like 1
Link to comment
Share on other sites

Quote

If using the games Title, you will need to replace any 'invalid' characters.  The most common one being :  (colon).  They would get replace with an _ (underscore).  The same way LaunchBox does it with image files (but without adding the suffix "-01").  i.e. Dr. Mario: Miracle Cure would become Dr. Mario_ Miracle Cure.png.

I think that would be perfectly fine 😀. Thank you!

 

Quote

Though I must say, I haven't heard of anyone using 00000000.app files (vs decrypting to a single .3ds file or the like) in quite a while.  But the request is reasonable and should be able to accommodate.

Your plugin has me revisiting some stuff that has lived in the realm of "if it ain't broke, don't fix it" for quite a while. xD

Link to comment
Share on other sites

V2.0.0 (released)

·         New Feature:  Can now use all emulators associated with a platform.  (except for MAME and RetroArch) 

·         Improvement:  Can now show bezels for games using LB's integrated ScummVM (see ScummVM section for setting it up) and  DOSBox (with modifications – See DOSBox section)

·         Fix: Bezel Window Width & Height not properly fitting the screen

·         New Feature:  Game specific bezel files can be named after the games Title.  (See Using the games Title: under Bezel Images)

  • Like 2
Link to comment
Share on other sites

BezelLauncher v2.1.0-beta-1

Fixed:  Bezel Window Width & Height not properly fitting the screen during Test
New Feature:
  Added Shader capabilities

 

Copy the contents of the downloaded file into your /LaunchBox/Plugins/ folder.
Contents include the plugin folder "BezelLauncher" which holds the dll file and a folder/subfolder containing a sample shader.

Using Shaders

  • First you need some shaders.  Place the .png shader images in the /Bezels/Shaders/ folder
    •  ("Scanline.png" included with download to get you started)
  • 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
  • Use the drop-down box to select a different shader
  • Click Save to save your settings

 BezelLauncher (2.1.0-beta-1).7z

@espidie79  (the lone shader requester ;)

  • Like 1
Link to comment
Share on other sites

Tested with Duckstation, working ok but the shaders do darken the image a lot so i dropped the opacity of Scanline to 50% seems better, could probably go lower.

Edited by Rlad
Link to comment
Share on other sites

23 minutes ago, Rlad said:

Tested with Duckstation, working ok but the shaders do darken the image a lot so i dropped the opacity of Scanline to 50% seems better, could probably go lower.

As I've stated before (or at least elsewhere), I know little to nothing about shaders/scanlines.  So your feedback is important and much appreciated. Thanks for that! 

When you "dropped the opacity of Scanline to 50%", did you do this by editing the .png file? 

 

Sounds like I should add another setting.  Maybe something like this:

image.thumb.png.33319546924a399a69005bd84285e826.png

  • Like 1
Link to comment
Share on other sites

1 hour ago, JoeViking245 said:

As I've stated before (or at least elsewhere), I know little to nothing about shaders/scanlines.  So your feedback is important and much appreciated. Thanks for that! 

When you "dropped the opacity of Scanline to 50%", did you do this by editing the .png file? 

 

Sounds like I should add another setting.  Maybe something like this:

image.thumb.png.33319546924a399a69005bd84285e826.png

Yes i made another PNG from the scanline.png, but if you could add an opacity slider that would be great.

Adding black lines to the image darkens it but in Retroarch for example shaders have brightness,contrast, gamma etc settings to compensate for it somewhat.

Rocketlauncher uses png's as you're doing but allows to set a transparency.

Edited by Rlad
  • Like 1
Link to comment
Share on other sites

On 2/24/2024 at 10:08 AM, Rlad said:

if you could add an opacity slider that would be great.

Done.

 

BezelLauncher v2.1.0-beta-2

- Added Opacity setting for shaders
    Must (at least) start BezelLauncher Setup before launching a game!  In fact, if you don't, you may get all sorts of errors.

(see 4 posts above for setting up)

 BezelLauncher (2.1.0-beta-2).7z

 

On 2/24/2024 at 10:08 AM, Rlad said:

Adding black lines to the image darkens it but in Retroarch for example shaders have brightness,contrast, gamma etc settings to compensate for it somewhat.

Rocketlauncher uses png's as you're doing but allows to set a transparency.

Ya, well this ain't RA or RL.  ;) 

Hopefully being able to adjust the opacity (aka, transparency) will get you what you need.  Mainly because there's really good chance I will NOT be adding brightness, contrast, gamma etc. adjustment options.  Too many options create too much confusion. (Sounds like something Confucius might say.)

  • Thanks 1
Link to comment
Share on other sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...