MAME Custom Bezel - Full Screen (16X9)

bondy

New member
RL Member
Hi guys,

I love bezels, but they confuse me a fair bit. My question is about how bezels interact with MAME through HLHQ.

In my setup I have the latest Hyperlaunch through GIT. I have a 16X9 LCD monitor (1920X1080 resolution). I am using a compiled command line MAME, 0.148.

I would like games to default to the widest setting. This is particularly important for Capcom games that almost go full screen (Street Fighter series) and others (NBA Jam series). I noticed that within the game's menus there is usually a setting for a wider game screen - this is what i want the game screen to do every time it is launched.

In terms of the bezel, I'm using a generic custom bezel i made. It's the same image repeated a number of times, so it will still look good overlapped (it's actually an 8 bit picture of me!). Because it is generic, I would like the game screen to overlap when necessary (such as full screen SFII games). Currently, the custom bezel I have is made for 4:3 (horizontal) and 3:4 (vertical) resolution using the guidelines defined by Bleasby.

One of the earlier Hyperlaunch 3.0 iterations allowed me to do this. I also had MAME bezels from Mr Do which were default, and if none existed used my custom bezel. I think it changed at around the time that Hyperpause was launched if i remember correctly (which is awesome by the way!)

So,

1. Is it possible to default to the larger screen through MAME?
2. Is there a specific HLHQ setting that i should focus on, or should i focus on my mame.ini?
3. Is it possible to set up the game screen to overlap the bezel for MAME?

I'm away from my cab at the moment, but if posting a log to see my current settings would help I'm happy to do that. I'm confident i have scoured the settings in the right modules and sections in HLHQ, but i may have overlooked something simple.

Thanks for your time.
 

rfancella

Super Moderator
Supporter
RL Member
Hi guys,

I love bezels, but they confuse me a fair bit. My question is about how bezels interact with MAME through HLHQ.

In my setup I have the latest Hyperlaunch through GIT. I have a 16X9 LCD monitor (1920X1080 resolution). I am using a compiled command line MAME, 0.148.

I would like games to default to the widest setting. This is particularly important for Capcom games that almost go full screen (Street Fighter series) and others (NBA Jam series). I noticed that within the game's menus there is usually a setting for a wider game screen - this is what i want the game screen to do every time it is launched.

In terms of the bezel, I'm using a generic custom bezel i made. It's the same image repeated a number of times, so it will still look good overlapped (it's actually an 8 bit picture of me!). Because it is generic, I would like the game screen to overlap when necessary (such as full screen SFII games). Currently, the custom bezel I have is made for 4:3 (horizontal) and 3:4 (vertical) resolution using the guidelines defined by Bleasby.

One of the earlier Hyperlaunch 3.0 iterations allowed me to do this. I also had MAME bezels from Mr Do which were default, and if none existed used my custom bezel. I think it changed at around the time that Hyperpause was launched if i remember correctly (which is awesome by the way!)

So,

1. Is it possible to default to the larger screen through MAME?
2. Is there a specific HLHQ setting that i should focus on, or should i focus on my mame.ini?
3. Is it possible to set up the game screen to overlap the bezel for MAME?

I'm away from my cab at the moment, but if posting a log to see my current settings would help I'm happy to do that. I'm confident i have scoured the settings in the right modules and sections in HLHQ, but i may have overlooked something simple.

Thanks for your time.

The size of the emulator is defined in the bezel.ini file for the bezel you are using. Is there an ini file named the same as your bezel, in the same folder as the bezel??

Thanks,
Ron
 

bondy

New member
RL Member
Thanks for the reply Ron. Yes, the .inis are there and working as they should be by defining the game screen area.

I guess what I'm asking is, can it be set up so that MAME can bypass these parameters when i want to go beyond 4:3 or 3:4. It seems the setting exists in MAME Menu to do it (under Display) but I'm not sure if i can do it while still having bezels enabled. It used to do it (maybe by accident?) and I'd love to get it back!

An example is SFII - i have set it up so that the game goes full screen, but because the bezels seem to take precedence, i end up with black bars at the top and bottom of the screen. I'd like the full screen to take precedence over the bezels, but still have the bezels underneath.

I thought a workaround could be a background with the tile images and an empty bezel, but that doesn't seem to work either.
 

rfancella

Super Moderator
Supporter
RL Member
Thanks for the reply Ron. Yes, the .inis are there and working as they should be by defining the game screen area.

I guess what I'm asking is, can it be set up so that MAME can bypass these parameters when i want to go beyond 4:3 or 3:4. It seems the setting exists in MAME Menu to do it (under Display) but I'm not sure if i can do it while still having bezels enabled. It used to do it (maybe by accident?) and I'd love to get it back!

An example is SFII - i have set it up so that the game goes full screen, but because the bezels seem to take precedence, i end up with black bars at the top and bottom of the screen. I'd like the full screen to take precedence over the bezels, but still have the bezels underneath.

I thought a workaround could be a background with the tile images and an empty bezel, but that doesn't seem to work either.

Understood. And this needs to be on a per rom basis?

I see two ways of doing this. Copy the bezel and rename it to match the rom name in a folder with the rom name and adjust the ini so it fits better.
The other way could be to build in a bezel offset to the module and isd to allow for a per rom offset.

Thanks,
Ron
 

bleasby

RocketLauncher Developer
Developer
It is much simpler.

Just remove any bezels from the _Default folders and place the bezels only on the game folders that you want them to to be showed.
 

bondy

New member
RL Member
Thanks Ron and Bleasby. Simple is always good! I'm keen to have the same bezel for every game. If I'm understanding you correctly it sounds like I'll need to adjust the .inis on a per game basis.
 

rfancella

Super Moderator
Supporter
RL Member
Thanks Ron and Bleasby. Simple is always good! I'm keen to have the same bezel for every game. If I'm understanding you correctly it sounds like I'll need to adjust the .inis on a per game basis.

Right. This is what I would do. Leave the Default for games that do not need adjusting. Copy and paste the _Default folder and rename the copy to the name of the rom you want an adjusted bezel for. Edit that ini so it fits. Then all the other games will load the default, but the roms with their own directory will load the modified one. When done you should have the _Default folder and a folder named for each rom you want an adjusted bezel for.
Easy Peasy. ;)

Thanks,
Ron
 

bondy

New member
RL Member
Thanks for your help. I confirmed this worked last night, but I'll need to make a new bezel to match the new .ini coordinates as my current bezel was above the sides of the playfield.

I'm getting stuck with the next step. I'd like to do an audit of all current roms to work out how many different bezel sizes I'll need. I noticed that in Don's Hyperspin Tools there is a field for horizontal and vertical pixels (for example, NBA Jam is 253 by 399).

I assume this info is coming from the mamelist.xml generated through the .exe of MAME.

1) Is this correct?
2) I am having trouble viewing this information in excel - am i missing a step? The xml output list from Don's Hyperspin Tools loaded fine
3) Or... is there a current list of MAME games and the playfield dimensions that you are aware of?

Thanks again guys.
 
Last edited:

bleasby

RocketLauncher Developer
Developer
hi all, and is there any way to enable bezels for some games and let other bezels disabled?

Right now this is not supported.

HyperLaunch would need to support game specific setting files if they existed (like I do inside the bezel code), in order to properly include the bezel files on startup. Support for that would be a djvj call.

There is a work around if you know your way around code. Basically you would need to set the bezel enabled for the system as you do normally, and add some code to the emulator module to disable it for the games that you don't want to use it, by setting the variable bezelPath to empty before the BezelDraw() module call. You are going to need to reset it to some value (bezelPath="any value"), just after the BezelDraw() call to allow hyperllauunch to close the bezel unused Guis.
 

brolly

Administrator
Developer
bleasby, couldn't this be done with a setting in the new Game Options.ini file? I mean simply a setting to enable/disable bezels for that game all other bezel related settings would come from the system settings.
Sounds like a simple way to support this.
 

Ninja2bseen

Member
RL Member
Brolly this is exactly what I did. I have bezel support on mame In general. Then I went to hyperhq, enabled all within the ini and this allowed me to have bezels AND display any outlays that I have. I'm handy at excel. I just concatenated rom name and set overlay to true to create a list like the example below for everything. The bezel per game is probably the same process

Ie
[1942]
Use_overlay=true
 

brolly

Administrator
Developer
If he is talking about MAME only then yeah this is possible already through the module (same as overlays), but I thought he was referring to a global way of enabling/disabling bezels for any system.
I now realize this is on a MAME thread so he probably meant MAME only, still my suggestion/question remains bleasby ;)
 

rfancella

Super Moderator
Supporter
RL Member
Ok,
So taking this a bit further I modified the Daphne module and isd like this:
Daphne.isd added a setting to enable or disable bezel per game:
Code:
...

						[B]<KEY name="bezelEnable" required="false" nullable="false">
							<KEYTYPE>Boolean</KEYTYPE>
							<DESCRIPTION>Enables/Disables bezel for this game.</DESCRIPTION>
						</KEY>[/B]
					</KEYS>
				</SECTION>
			</SECTIONS>
		</INIFILE>
	</INIFILES>
</INISCHEMA>

Then changed the module Daphne.ahk to read that variable:
Code:
...
sound_buffer := IniReadCheck(settingsFile,romName,"sound_buffer",A_Space,,1)
params := IniReadCheck(settingsFile,romName,"params",A_Space,,1)
version := IniReadCheck(settingsFile,romName,"version",romName,,1)
[B]bezelEnable := IniReadCheck(settingsFile,romName,"bezelEnable",,1)[/B]

frameFile = %romName% ; storing parent romName to send as the framefile name so we don't send wrong name when using an alternate version of a game

BezelStart()
...

Just not sure what to do next. I tried clearing the bezelPath and then setting it again. The bezel did not show, but it also did not go full screen like it should.
Why can I not just set Bezel_Enabled somewhere in the module to disable the entire bezel functionality?
Thought and suggestions?

Thanks,
Ron
 

djvj

Administrator
Staff member
Developer
That should work fine, just make sure the setting in the isd is in a %romName% section and not a global one.

Actually looking closer, The bezel feature is not turned on/off like that. It was never meant to be a per-game feature. The bezelEnabled var is not used at all in bezel.ahk. It is only used in the HL thread. Basically Bezel.ahk needs all it's functions updated to check for bezelEnabled.

Try the updated bezel.ahk I just put up in the beta dropbox and see if that works. Remember, this is beta only.
 
Last edited:
Top