Duimon - HSM Mega Bezel Graphics and Presets - Feedback and Updates

congrats on completing your list ! V1.0 ; what a great accomplishment.

3 Likes

Congrats mate! The point release carries a huge symbolism in terms of accomplishment… And definitely pushes you towards new goals!!!

5 Likes

Congratulations! So many systems with such great quality!

The graphics are so integral to what makes the Mega Bezel fun and gives a physical feeling of nostalgia!

Thanks so much for your tireless dedication and amazing contribution to the community!

6 Likes

So what’s next? :rofl:

3 Likes

LOL!

Honestly, after I finish with the Batocera decorations I thought I might spend some serious time with my existing presets.

TheNamec’s boilerplate will be fun to trace down. I’m thinking that to fully utilize it I should do a fair restructure. Maybe add in some custom CRT settings. (All my presets are the defaults.)

I want to do room versions for all the monitors, maybe with multiple backgrounds. I may create some peripheral devices like floppy drives etc. and possibly some custom night images.

The PVM20 needs some serious work… the aspect is way off.

There are a lot of things I have been putting off for a while.

The items on my new list may sit there for a long time. :innocent:

I also want to do some vintage TV’s. This one first.

Only with this style.

With the cabinet in the first shot it is a perfect 16x9.

Others.

Time to have a bit of fun!! :grin:

11 Likes

That Sony with the brown frame is classic. Do you redraw these, or just hunt down good photos?

1 Like

I redraw everything as vector art in Adobe Illustrator. A good photo as source is really helpful.

5 Likes

Congratulations! Amazing milestone!

4 Likes

Hey Duimon, hope all is well on your end. Congratulations on finishing up the main list, excited to see some new TVs in the future! I just have a quick question, which i may have asked before a while ago and just forgot if there was a fix for it or not. Some games, noticeably snes, and n64, sometimes psx…have a ugly black border i cant get rid of. I know you told me before that those consoles switch to other resolution and that’s what causes it but wasn’t sure if i can crop it out somehow for some games that suffer from it pretty heavily. Duke Nukem 64 for example is pretty bad.

2 Likes

You can use the [ CROPPING CORE IMAGE ]: parameter group to get rid of the black border.

You can try CROP BLACK ONLY

and

Crop Zoom %

I find that

CROP ANY

and individual Top, Bottom, Left, and Right works the best. (Some systems. such as the Coleco Adam, had a very consistent border, but most are fairly random.)

Make sure to save a “Game” preset when you have it the way you want it.

4 Likes

Thank you Duimon, that’s exactly what i needed to know. I’ll be sure to remember this time, i get lost in all those settings. Having it all cropped makes the screenshots look soooo nice, the backgrounds are spectacular…almost as if somebody put their heart and soul into making them :wink:

Now, It’s time to kick ass and chew bubble gum…

5 Likes

OK. I thought the Batocera decorations would take me weeks.

After having some constructive conversations with @TheNamec I decided to use the built-in Mega Bezel tools for overlay generation, instead of my traditional time consuming Photoshop composition method.

This decision, combined with some new templates and script magic, allowed me to finish the decorations in just three days. (Much of that time was spent setting up the workflow.)

For CRT systems it is a solid and efficient way of generation a large number of overlays.

For smaller projects and a variety of handheld system aspects I still have my Photoshop actions and styles.

I think the whole method would make for a great guide. I will create one when I get around to that part of the journey.

@TheNamec is working on adding code to his reference boilerplate that will make adding a custom bezel a matter of just defining a single reference . (Or some such magic.)

I will wait to dive into the boilerplate until he has finished his work.


So I guess I have some free time. :grin:

I think I may work on getting new screenshots for my GitHub pages site. (The new ambient lighting really requires doing a whole new set.)

I may also set up a video rendering workflow to get some videos on YouTube.

7 Likes

BTW. I took the time to extract all the Mega Bezel parameters and default values, it makes for an impressive list that opens a small window into the world of @HyperspaceMadness. Keep in mind that any actual CRT parameters (i.e. Guest Advance or Grade.) aren’t even in the list.

HSM_RESOLUTION_DEBUG_ON = "1"
GAMMA_INPUT = "2.4"
gamma_out = "2.4"
post_br = "1"
post_br_affect_black_level = "100"
HSM_CACHE_GRAPHICS_ON = "1"
HSM_CACHE_UPDATE_INDICATOR_MODE = "2"
HSM_GLOBAL_GRAPHICS_BRIGHTNESS = "100"
HSM_STATIC_LAYERS_GAMMA = "1"
HSM_AMBIENT_LIGHTING_OPACITY = "0"
HSM_AMBIENT1_OPACITY = "100"
HSM_AMBIENT2_OPACITY = "100"
HSM_AMBIENT_LIGHTING_SWAP_IMAGE_MODE = "0"
HSM_VIEWPORT_ZOOM = "100"
HSM_VIEWPORT_ZOOM_MASK = "0"
HSM_VIEWPORT_POSITION_X = "0"
HSM_VIEWPORT_POSITION_Y = "0"
HSM_FLIP_VIEWPORT_VERTICAL = "0"
HSM_FLIP_VIEWPORT_HORIZONTAL = "0"
HSM_FLIP_CORE_VERTICAL = "0"
HSM_FLIP_CORE_HORIZONTAL = "0"
HSM_ROTATE_CORE_IMAGE = "0"
HSM_ASPECT_RATIO_ORIENTATION = "0"
HSM_ASPECT_RATIO_MODE = "0"
HSM_ASPECT_RATIO_EXPLICIT = "1.3333"
HSM_INT_SCALE_MODE = "0"
HSM_VERTICAL_PRESET = "0"
HSM_INT_SCALE_MAX_HEIGHT = "89"
HSM_INT_SCALE_MULTIPLE_OFFSET = "0"
HSM_INT_SCALE_MULTIPLE_OFFSET_LONG = "0"
HSM_NON_INTEGER_SCALE = "82.97"
HSM_USE_PHYSICAL_SIZE_FOR_NON_INTEGER = "0"
HSM_PHYSICAL_MONITOR_ASPECT_RATIO = "1.77"
HSM_PHYSICAL_MONITOR_DIAGONAL_SIZE = "27"
HSM_PHYSICAL_SIM_TUBE_DIAGONAL_SIZE = "18.1"
HSM_USE_IMAGE_FOR_PLACEMENT = "0"
HSM_PLACEMENT_IMAGE_USE_HORIZONTAL = "0"
HSM_PLACEMENT_IMAGE_MODE = "0"
HSM_NON_INTEGER_SCALE_OFFSET = "100"
HSM_USE_SNAP_TO_CLOSEST_INT_SCALE = "0"
HSM_SNAP_TO_CLOSEST_INT_SCALE_TOLERANCE = "20"
HSM_SCREEN_POSITION_X = "0"
HSM_SCREEN_POSITION_Y = "0"
HSM_CROP_MODE = "2"
HSM_CROP_PERCENT_ZOOM = "0"
HSM_CROP_PERCENT_TOP = "0"
HSM_CROP_PERCENT_BOTTOM = "0"
HSM_CROP_PERCENT_LEFT = "0"
HSM_CROP_PERCENT_RIGHT = "0"
HSM_CROP_BLACK_THRESHOLD = "0"
HSM_SCANLINE_DIRECTION = "0"
C_FILTER_MODE = "0"
HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = "100"
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = "0"
HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = "100"
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = "0"
HSM_CORE_RES_SAMPLING_SHIFT_OPPOSITE_DIR = "0"
SHARPEN = "0"
CONTR = "0.05"
DETAILS = "1"
HSM_INTERLACE_TRIGGER_RES = "650"
HSM_INTERLACE_MODE = "4"
HSM_INTERLACE_EFFECT_SMOOTHNESS_INTERS = "0"
HSM_INTERLACE_SCANLINE_EFFECT = "20"
iscans = "0.25"
HSM_FAKE_SCANLINE_MODE = "2"
HSM_FAKE_SCANLINE_OPACITY = "0"
HSM_FAKE_SCANLINE_RES_MODE = "1"
HSM_FAKE_SCANLINE_RES = "240"
HSM_FAKE_SCANLINE_INT_SCALE = "1"
HSM_FAKE_SCANLINE_ROLL = "0"
HSM_FAKE_SCANLINE_CURVATURE = "0"
HSM_FAKE_SCANLINE_BRIGHTNESS_CUTOFF = "3"
HSM_USE_GEOM = "0"
HSM_CURVATURE_MODE = "1"
HSM_CURVATURE_2D_SCALE_LONG_AXIS = "100"
HSM_CURVATURE_2D_SCALE_SHORT_AXIS = "100"
HSM_CURVATURE_2D_SHAPE = "0.25"
HSM_CURVATURE_3D_RADIUS = "200"
HSM_CURVATURE_3D_VIEW_DIST = "150"
HSM_CURVATURE_3D_TILT_ANGLE_X = "0"
HSM_CURVATURE_3D_TILT_ANGLE_Y = "0"
HSM_CRT_CURVATURE_SCALE = "100"
HSM_ANTI_FLICKER_ON = "0"
HSM_ANTI_FLICKER_THRESHOLD = "25"
HSM_AB_COMPARE_SHOW_MODE = "0"
HSM_AB_COMPARE_AREA = "0"
HSM_AB_COMPARE_SPLIT_POSITION = "50"
HSM_AB_COMPARE_FREEZE_CRT_TUBE = "0"
HSM_AB_COMPARE_FREEZE_GRAPHICS = "0"
HSM_SCREEN_VIGNETTE_ON = "1"
HSM_SCREEN_VIGNETTE_DUALSCREEN_VIS_MODE = "0"
HSM_SCREEN_VIGNETTE_STRENGTH = "40"
HSM_SCREEN_VIGNETTE_POWER = "26"
HSM_SCREEN_VIGNETTE_IN_REFLECTION = "100"
HSM_MONOCHROME_MODE = "0.0"
HSM_MONOCHROME_BRIGHTNESS = "100"
HSM_MONOCHROME_GAMMA = "1.0"
HSM_MONOCHROME_HUE_OFFSET = "0"
HSM_MONOCHROME_SATURATION = "100"
HSM_MONOCHROME_DUALSCREEN_VIS_MODE = "0"
HSM_TUBE_DIFFUSE_MODE = "0"
HSM_TUBE_DIFFUSE_IMAGE_AMOUNT = "100"
HSM_TUBE_DIFFUSE_IMAGE_DUALSCREEN_VIS_MODE = "0"
HSM_TUBE_DIFFUSE_IMAGE_COLORIZE_ON = "0"
HSM_TUBE_DIFFUSE_IMAGE_HUE = "0"
HSM_TUBE_DIFFUSE_IMAGE_SATURATION = "100"
HSM_TUBE_DIFFUSE_IMAGE_BRIGHTNESS = "20"
HSM_TUBE_DIFFUSE_IMAGE_GAMMA = "1"
HSM_TUBE_DIFFUSE_IMAGE_AMBIENT_LIGHTING = "100"
HSM_TUBE_DIFFUSE_IMAGE_AMBIENT2_LIGHTING = "0"
HSM_TUBE_DIFFUSE_IMAGE_SCALE = "140"
HSM_TUBE_DIFFUSE_IMAGE_SCALE_X = "100"
HSM_TUBE_DIFFUSE_IMAGE_ROTATION = "0"
HSM_TUBE_DIFFUSE_FORCE_ASPECT = "1"
HSM_TUBE_EXPLICIT_ASPECT = "1.3333"
HSM_TUBE_EMPTY_THICKNESS = "0"
HSM_TUBE_EMPTY_THICKNESS_X_SCALE = "100"
HSM_SCREEN_CORNER_RADIUS_SCALE = "100"
HSM_TUBE_SHADOW_IMAGE_ON = "1"
HSM_TUBE_SHADOW_IMAGE_OPACITY = "60"
HSM_TUBE_SHADOW_IMAGE_POS_X = "0"
HSM_TUBE_SHADOW_IMAGE_POS_Y = "9"
HSM_TUBE_SHADOW_IMAGE_SCALE_X = "122"
HSM_TUBE_SHADOW_IMAGE_SCALE_Y = "130"
HSM_TUBE_SHADOW_CURVATURE_SCALE = "300"
HSM_TUBE_STATIC_REFLECTION_IMAGE_ON = "0"
HSM_TUBE_STATIC_REFLECTION_IMAGE_DUALSCREEN_VIS_MODE = "0"
HSM_TUBE_STATIC_REFLECTION_IMAGE_OPACITY = "16"
HSM_TUBE_STATIC_OPACITY_DIFFUSE_MULTIPLY = "25"
HSM_TUBE_STATIC_BLACK_LEVEL = "25"
HSM_TUBE_STATIC_AMBIENT_LIGHTING = "60"
HSM_TUBE_STATIC_AMBIENT2_LIGHTING = "0"
HSM_TUBE_STATIC_SCALE = "120"
HSM_TUBE_STATIC_SCALE_X = "100"
HSM_TUBE_STATIC_POS_X = "10"
HSM_TUBE_STATIC_POS_Y = "10"
HSM_TUBE_STATIC_SHADOW_OPACITY = "0"
HSM_TUBE_STATIC_DITHER_SAMPLES = "0"
HSM_TUBE_STATIC_DITHER_DISTANCE = "5"
HSM_TUBE_STATIC_DITHER_AMOUNT = "0.6"
HSM_TUBE_OPACITY = "100"
HSM_CRT_BLEND_MODE = "1"
HSM_CRT_BLEND_AMOUNT = "100"
HSM_TUBE_COLORED_GEL_IMAGE_ON = "0"
HSM_TUBE_COLORED_GEL_IMAGE_SCALE = "100"
HSM_TUBE_COLORED_GEL_IMAGE_FLIP_HORIZONTAL = "0"
HSM_TUBE_COLORED_GEL_IMAGE_FLIP_VERTICAL = "0"
HSM_TUBE_COLORED_GEL_IMAGE_DUALSCREEN_VIS_MODE = "0"
HSM_TUBE_COLORED_GEL_IMAGE_MULTIPLY_AMOUNT = "90"
HSM_TUBE_COLORED_GEL_IMAGE_ADDITIVE_AMOUNT = "0"
HSM_TUBE_COLORED_GEL_IMAGE_NORMAL_AMOUNT = "15"
HSM_TUBE_COLORED_GEL_IMAGE_TRANSPARENCY_THRESHOLD = "23"
HSM_TUBE_COLORED_GEL_IMAGE_NORMAL_BRIGHTNESS = "100"
HSM_TUBE_COLORED_GEL_IMAGE_NORMAL_VIGNETTE = "0"
HSM_TUBE_COLORED_GEL_IMAGE_FAKE_SCANLINE_AMOUNT = "0"
HSM_TUBE_COLORED_GEL_IMAGE_AMBIENT_LIGHTING = "100"
HSM_TUBE_COLORED_GEL_IMAGE_AMBIENT2_LIGHTING = "0"
HSM_SHOW_CRT_ON_TOP_OF_COLORED_GEL = "0"
HSM_GLOBAL_CORNER_RADIUS = "10"
HSM_TUBE_BLACK_EDGE_CORNER_RADIUS_SCALE = "100"
HSM_TUBE_BLACK_EDGE_SHARPNESS = "70"
HSM_TUBE_BLACK_EDGE_CURVATURE_SCALE = "100"
HSM_TUBE_BLACK_EDGE_THICKNESS = "100"
HSM_TUBE_BLACK_EDGE_THICKNESS_X_SCALE = "100"
HSM_DUALSCREEN_MODE = "0"
HSM_DUALSCREEN_CORE_IMAGE_SPLIT_MODE = "1"
HSM_DUALSCREEN_CORE_IMAGE_SWAP_SCREENS = "0"
HSM_DUALSCREEN_CORE_IMAGE_SPLIT_OFFSET = "0"
HSM_2ND_SCREEN_SIDES_CROP = "0"
HSM_DUALSCREEN_VIEWPORT_SPLIT_LOCATION = "0"
HSM_DUALSCREEN_SHIFT_POSITION_WITH_SCALE = "1"
HSM_DUALSCREEN_POSITION_OFFSET_BETWEEN_SCREENS = "0"
HSM_2ND_SCREEN_ASPECT_RATIO_MODE = "0"
HSM_2ND_SCREEN_INDEPENDENT_SCALE = "0"
HSM_2ND_SCREEN_SCALE_OFFSET = "100"
HSM_2ND_SCREEN_POS_X = "0"
HSM_2ND_SCREEN_POS_Y = "0"
HSM_2ND_SCREEN_CROP_PERCENT_ZOOM = "0"
HSM_2ND_SCREEN_CROP_PERCENT_TOP = "0"
HSM_2ND_SCREEN_CROP_PERCENT_BOTTOM = "0"
HSM_2ND_SCREEN_CROP_PERCENT_LEFT = "0"
HSM_2ND_SCREEN_CROP_PERCENT_RIGHT = "0"
HSM_SCREEN_REFLECTION_FOLLOW_DIFFUSE_THICKNESS = "0"
HSM_SCREEN_REFLECTION_SCALE = "100"
HSM_SCREEN_REFLECTION_POS_X = "0"
HSM_SCREEN_REFLECTION_POS_Y = "0"
HSM_AMBIENT1_HUE = "0"
HSM_AMBIENT1_SATURATION = "100"
HSM_AMBIENT1_VALUE = "120"
HSM_AMBIENT1_CONTRAST = "100"
HSM_AMBIENT1_SCALE_KEEP_ASPECT = "1"
HSM_AMBIENT1_SCALE_INHERIT_MODE = "2"
HSM_AMBIENT1_SCALE = "250"
HSM_AMBIENT1_SCALE_X = "100"
HSM_AMBIENT1_ROTATE = "0"
HSM_AMBIENT1_MIRROR_HORZ = "0"
HSM_AMBIENT1_POS_INHERIT_MODE = "1"
HSM_AMBIENT1_POSITION_X = "0"
HSM_AMBIENT1_POSITION_Y = "0"
HSM_AMBIENT2_HUE = "0"
HSM_AMBIENT2_SATURATION = "100"
HSM_AMBIENT2_VALUE = "100"
HSM_AMBIENT2_CONTRAST = "100"
HSM_AMBIENT2_SCALE_KEEP_ASPECT = "0"
HSM_AMBIENT2_SCALE_INHERIT_MODE = "1"
HSM_AMBIENT2_SCALE = "100"
HSM_AMBIENT2_SCALE_X = "100"
HSM_AMBIENT2_ROTATE = "0"
fHSM_AMBIENT2_MIRROR_HORZ = "0"
HSM_AMBIENT2_POS_INHERIT_MODE = "1"
HSM_AMBIENT2_POSITION_X = "0"
HSM_AMBIENT2_POSITION_Y = "0"
HSM_BZL_USE_INDEPENDENT_SCALE = "0"
HSM_BZL_INDEPENDENT_SCALE = "82.97"
HSM_BZL_USE_INDEPENDENT_CURVATURE = "0"
HSM_BZL_INDEPENDENT_CURVATURE_SCALE_LONG_AXIS = "100"
HSM_BZL_INDEPENDENT_CURVATURE_SCALE_SHORT_AXIS = "100"
HSM_BZL_OPACITY = "100"
HSM_BZL_BLEND_MODE = "1"
HSM_BZL_WIDTH = "125"
HSM_BZL_HEIGHT = "100"
HSM_BZL_SCALE_OFFSET = "100"
HSM_BZL_INNER_CURVATURE_SCALE = "100"
HSM_BZL_INNER_CORNER_RADIUS_SCALE = "80"
HSM_BZL_INNER_EDGE_THICKNESS = "110"
HSM_BZL_INNER_EDGE_SHARPNESS = "95"
HSM_BZL_OUTER_POSITION_Y = "0"
HSM_BZL_OUTER_CURVATURE_SCALE = "0"
HSM_BZL_OUTER_CORNER_RADIUS_SCALE = "60"
HSM_BZL_NOISE = "30"
HSM_BZL_INNER_EDGE_SHADOW = "70"
HSM_BZL_BRIGHTNESS = "30"
HSM_BZL_BRIGHTNESS_MULT_TOP = "50"
HSM_BZL_BRIGHTNESS_MULT_BOTTOM = "200"
HSM_BZL_BRIGHTNESS_MULT_SIDES = "100"
HSM_BZL_BRIGHTNESS_MULT_SIDE_LEFT = "100"
HSM_BZL_BRIGHTNESS_MULT_SIDE_RIGHT = "100"
HSM_BZL_HIGHLIGHT = "1"
HSM_BZL_COLOR_HUE = "0"
HSM_BZL_COLOR_SATURATION = "0"
HSM_BZL_COLOR_VALUE = "10"
HSM_BZL_AMBIENT_LIGHTING_MULTIPLIER = "100"
HSM_BZL_AMBIENT2_LIGHTING_MULTIPLIER = "0"
HSM_FRM_USE_INDEPENDENT_COLOR = "0"
HSM_FRM_COLOR_HUE = "0"
HSM_FRM_COLOR_SATURATION = "0"
HSM_FRM_COLOR_VALUE = "10"
HSM_FRM_OPACITY = "100"
HSM_FRM_BLEND_MODE = "1"
HSM_FRM_TEXTURE_OPACITY = "1.5"
HSM_FRM_TEXTURE_BLEND_MODE = "2"
HSM_FRM_NOISE = "30"
HSM_FRM_INNER_EDGE_THICKNESS = "100"
HSM_FRM_THICKNESS = "100"
HSM_FRM_THICKNESS_SCALE_X = "100"
HSM_FRM_OUTER_POS_Y = "0"
HSM_FRM_OUTER_CURVATURE_SCALE = "0"
HSM_FRM_OUTER_CORNER_RADIUS = "5"
HSM_FRM_OUTER_EDGE_THICKNESS = "100"
HSM_FRM_OUTER_EDGE_SHADING = "50"
HSM_FRM_SHADOW_OPACITY = "100"
HSM_FRM_SHADOW_WIDTH = "100"
HSM_REFLECT_CORNER_FADE = "10"
HSM_REFLECT_CORNER_FADE_DISTANCE = "100"
HSM_REFLECT_CORNER_INNER_SPREAD = "500"
HSM_REFLECT_CORNER_OUTER_SPREAD = "160"
HSM_REFLECT_CORNER_ROTATION_OFFSET_TOP = "0"
HSM_REFLECT_CORNER_ROTATION_OFFSET_BOTTOM = "0"
HSM_REFLECT_CORNER_SPREAD_FALLOFF = "100"
HSM_REFLECT_GLOBAL_AMOUNT = "40"
HSM_REFLECT_GLOBAL_GAMMA_ADJUST = "1.2"
HSM_REFLECT_DIRECT_AMOUNT = "150"
HSM_REFLECT_DIFFUSED_AMOUNT = "50"
HSM_REFLECT_FULLSCREEN_GLOW = "75"
HSM_REFLECT_FULLSCREEN_GLOW_GAMMA = "3"
HSM_REFLECT_BEZEL_INNER_EDGE_AMOUNT = "130"
HSM_REFLECT_BEZEL_INNER_EDGE_FULLSCREEN_GLOW = "40"
HSM_REFLECT_FRAME_INNER_EDGE_AMOUNT = "50"
HSM_REFLECT_FRAME_INNER_EDGE_SHARPNESS = "90"
HSM_REFLECT_FADE_AMOUNT = "100"
HSM_REFLECT_RADIAL_FADE_WIDTH = "100"
HSM_REFLECT_RADIAL_FADE_HEIGHT = "100"
HSM_REFLECT_LATERAL_OUTER_FADE_POSITION = "-18"
HSM_REFLECT_LATERAL_OUTER_FADE_DISTANCE = "20"
HSM_REFLECT_BLUR_NUM_SAMPLES = "12"
HSM_REFLECT_BLUR_MIN = "0"
HSM_REFLECT_BLUR_MAX = "95"
HSM_REFLECT_BLUR_FALLOFF_DISTANCE = "100"
HSM_REFLECT_NOISE_AMOUNT = "50"
HSM_REFLECT_NOISE_SAMPLES = "1"
HSM_REFLECT_NOISE_SAMPLE_DISTANCE = "100"
HSM_GLASS_BORDER_ON = "0"
HSM_REFLECT_VIGNETTE_AMOUNT = "0"
HSM_REFLECT_VIGNETTE_SIZE = "100"
//HSM_BG_OPACITY = "100" 
//HSM_BG_BLEND_MODE = "1"
HSM_BG_LAYER_ORDER = "0"
HSM_VIEWPORT_VIGNETTE_LAYER_ORDER = "1"
HSM_LED_LAYER_ORDER = "2"
HSM_DEVICE_LAYER_ORDER = "3"
HSM_DEVICELED_LAYER_ORDER = "4"
HSM_CRT_LAYER_ORDER = "5"
HSM_DECAL_LAYER_ORDER = "7"
HSM_CAB_GLASS_LAYER_ORDER = "9"
HSM_TOP_LAYER_ORDER = "12"
HSM_CUTOUT_ASPECT_MODE = "4"
HSM_CUTOUT_EXPLICIT_ASPECT = "1.33333"
HSM_CUTOUT_FOLLOW_LAYER = "0"
HSM_CUTOUT_FOLLOW_FULL_USES_ZOOM = "1"
HSM_CUTOUT_KEEP_ASPECT = "1"
HSM_CUTOUT_SCALE = "100"
HSM_CUTOUT_SCALE_X = "100"
HSM_CUTOUT_POS_X = "0"
HSM_CUTOUT_POS_Y = "0"
HSM_CUTOUT_CORNER_RADIUS = "0"
HSM_LAYERING_DEBUG_MASK_MODE = "-1"
HSM_BG_OPACITY = "100"
HSM_BG_COLORIZE_ON = "0"
HSM_BG_HUE = "0"
HSM_BG_SATURATION = "100"
HSM_BG_BRIGHTNESS = "100"
HSM_BG_GAMMA = "1"
HSM_BG_AMBIENT_LIGHTING_MULTIPLIER = "0"
HSM_BG_AMBIENT2_LIGHTING_MULTIPLIER = "100"
HSM_BG_APPLY_AMBIENT_IN_ADD_MODE = "0"
HSM_BG_BLEND_MODE = "1"
HSM_BG_SOURCE_MATTE_TYPE = "0"
HSM_BG_MIPMAPPING_BLEND_BIAS = "0"
HSM_BG_MASK_MODE = "0"
HSM_BG_CUTOUT_MODE = "0"
HSM_BG_DUALSCREEN_VIS_MODE = "0"
HSM_BG_FOLLOW_LAYER = "0"
HSM_BG_FOLLOW_MODE = "0"
HSM_BG_FOLLOW_FULL_USES_ZOOM = "1"
HSM_BG_SCALE_KEEP_ASPECT = "1"
HSM_BG_FILL_MODE = "0"
HSM_BG_SPLIT_PRESERVE_CENTER = "0"
HSM_BG_SPLIT_REPEAT_WIDTH = "0"
HSM_BG_SCALE = "100"
HSM_BG_SCALE_X = "100"
HSM_BG_POS_X = "0"
HSM_BG_POS_Y  = "0"
HSM_BG_MIRROR_WRAP = "1"
HSM_VIEWPORT_VIGNETTE_OPACITY = "0"
HSM_VIEWPORT_VIGNETTE_MASK_MODE = "5"
HSM_VIEWPORT_VIGNETTE_CUTOUT_MODE = "0"
HSM_VIEWPORT_VIGNETTE_FOLLOW_LAYER = "0"
HSM_VIEWPORT_VIGNETTE_SCALE = "100"
HSM_VIEWPORT_VIGNETTE_SCALE_X = "100"
HSM_VIEWPORT_VIGNETTE_POS_X = "0"
HSM_VIEWPORT_VIGNETTE_POS_Y = "0"
HSM_LED_OPACITY = "100"
HSM_LED_COLORIZE_ON = "0"
HSM_LED_HUE = "0"
HSM_LED_SATURATION = "100"
HSM_LED_BRIGHTNESS = "100"
HSM_LED_GAMMA = "1"
HSM_LED_AMBIENT_LIGHTING_MULTIPLIER = "100"
HSM_LED_AMBIENT2_LIGHTING_MULTIPLIER = "0"
HSM_LED_APPLY_AMBIENT_IN_ADD_MODE = "0"
HSM_LED_BLEND_MODE = "2"
HSM_LED_SOURCE_MATTE_TYPE = "0"
HSM_LED_MASK_MODE = "0"
HSM_LED_MIPMAPPING_BLEND_BIAS = "0"
HSM_LED_CUTOUT_MODE = "0"
HSM_LED_DUALSCREEN_VIS_MODE = "0"
HSM_LED_FOLLOW_LAYER = "3"
HSM_LED_FOLLOW_MODE = "0"
HSM_LED_FOLLOW_FULL_USES_ZOOM = "1"
HSM_LED_SCALE_KEEP_ASPECT = "1"
HSM_LED_FILL_MODE = "0"
HSM_LED_SPLIT_PRESERVE_CENTER = "0"
HSM_LED_SPLIT_REPEAT_WIDTH = "0"
HSM_LED_SCALE = "100"
HSM_LED_SCALE_X = "100"
HSM_LED_POS_X = "0"
HSM_LED_POS_Y = "0"
HSM_DEVICE_OPACITY = "100"
HSM_DEVICE_COLORIZE_ON = "0"
HSM_DEVICE_HUE = "0"
HSM_DEVICE_SATURATION = "100"
HSM_DEVICE_BRIGHTNESS = "100"
HSM_DEVICE_GAMMA = "1"
HSM_DEVICE_AMBIENT_LIGHTING_MULTIPLIER = "100"
HSM_DEVICE_AMBIENT2_LIGHTING_MULTIPLIER = "0"
HSM_DEVICE_APPLY_AMBIENT_IN_ADD_MODE = "0"
HSM_DEVICE_BLEND_MODE = "1"
HSM_DEVICE_SOURCE_MATTE_TYPE = "0"
HSM_DEVICE_MASK_MODE = "0"
HSM_DEVICE_MIPMAPPING_BLEND_BIAS = "0"
HSM_DEVICE_CUTOUT_MODE = "0"
HSM_DEVICE_DUALSCREEN_VIS_MODE = "0"
HSM_DEVICE_FOLLOW_LAYER = "1"
HSM_DEVICE_FOLLOW_MODE = "0"
HSM_DEVICE_FOLLOW_FULL_USES_ZOOM = "1"
HSM_DEVICE_SCALE_KEEP_ASPECT = "1"
HSM_DEVICE_FILL_MODE = "0"
HSM_DEVICE_SPLIT_PRESERVE_CENTER = "0"
HSM_DEVICE_SPLIT_REPEAT_WIDTH = "0"
HSM_DEVICE_SCALE = "100"
HSM_DEVICE_SCALE_X = "100"
HSM_DEVICE_POS_X = "0"
HSM_DEVICE_POS_Y = "0"
HSM_DEVICELED_OPACITY = "100"
HSM_DEVICELED_COLORIZE_ON = "0"
HSM_DEVICELED_HUE = "0"
HSM_DEVICELED_SATURATION = "100"
HSM_DEVICELED_BRIGHTNESS = "100"
HSM_DEVICELED_GAMMA = "1"
HSM_DEVICELED_AMBIENT_LIGHTING_MULTIPLIER = "100"
HSM_DEVICELED_AMBIENT2_LIGHTING_MULTIPLIER = "0"
HSM_DEVICELED_APPLY_AMBIENT_IN_ADD_MODE = "0"
HSM_DEVICELED_BLEND_MODE = "2"
HSM_DEVICELED_SOURCE_MATTE_TYPE = "0"
HSM_DEVICELED_MASK_MODE = "0"
HSM_DEVICELED_MIPMAPPING_BLEND_BIAS = "0"
HSM_DEVICELED_CUTOUT_MODE = "0"
HSM_DEVICELED_DUALSCREEN_VIS_MODE = "0"
HSM_DEVICELED_FOLLOW_LAYER = "4"
HSM_DEVICELED_FOLLOW_MODE = "1"
HSM_DEVICELED_FOLLOW_FULL_USES_ZOOM = "1"
HSM_DEVICELED_SCALE_KEEP_ASPECT = "1"
HSM_DEVICELED_FILL_MODE = "0"
HSM_DEVICELED_SPLIT_PRESERVE_CENTER = "0"
HSM_DEVICELED_SPLIT_REPEAT_WIDTH = "0"
HSM_DEVICELED_SCALE = "100"
HSM_DEVICELED_SCALE_X = "100"
HSM_DEVICELED_POS_X = "0"
HSM_DEVICELED_POS_Y = "0"
HSM_DECAL_OPACITY = "100"
HSM_DECAL_COLORIZE_ON = "0"
HSM_DECAL_HUE = "0"
HSM_DECAL_SATURATION = "100"
HSM_DECAL_BRIGHTNESS = "100"
HSM_DECAL_GAMMA = "1"
HSM_DECAL_AMBIENT_LIGHTING_MULTIPLIER = "100"
HSM_DECAL_AMBIENT2_LIGHTING_MULTIPLIER = "0"
HSM_DECAL_APPLY_AMBIENT_IN_ADD_MODE = "0"
HSM_DECAL_BLEND_MODE = "1"
HSM_DECAL_SOURCE_MATTE_TYPE = "0"
HSM_DECAL_MIPMAPPING_BLEND_BIAS = "0"
HSM_DECAL_MASK_MODE = "0"
HSM_DECAL_CUTOUT_MODE = "0"
HSM_DECAL_DUALSCREEN_VIS_MODE = "0"
HSM_DECAL_FOLLOW_LAYER = "0"
HSM_DECAL_FOLLOW_MODE = "0"
HSM_DECAL_FOLLOW_FULL_USES_ZOOM = "1"
HSM_DECAL_SCALE_KEEP_ASPECT = "1"
HSM_DECAL_FILL_MODE = "0"
HSM_DECAL_SPLIT_PRESERVE_CENTER = "0"
HSM_DECAL_SPLIT_REPEAT_WIDTH = "0"
HSM_DECAL_SCALE = "100"
HSM_DECAL_SCALE_X = "100"
HSM_DECAL_POS_X = "0"
HSM_DECAL_POS_Y = "0"
HSM_CAB_GLASS_OPACITY = "100"
HSM_CAB_GLASS_COLORIZE_ON = "0"
HSM_CAB_GLASS_HUE = "0"
HSM_CAB_GLASS_SATURATION = "100"
HSM_CAB_GLASS_BRIGHTNESS = "100"
HSM_CAB_GLASS_GAMMA = "1"
HSM_CAB_GLASS_AMBIENT_LIGHTING_MULTIPLIER = "100"
HSM_CAB_GLASS_AMBIENT2_LIGHTING_MULTIPLIER = "0"
HSM_CAB_GLASS_APPLY_AMBIENT_IN_ADD_MODE = "0"
HSM_CAB_GLASS_BLEND_MODE = "1"
HSM_CAB_GLASS_SOURCE_MATTE_TYPE = "0"
HSM_CAB_GLASS_MIPMAPPING_BLEND_BIAS = "0"
HSM_CAB_GLASS_MASK_MODE = "0"
HSM_CAB_GLASS_CUTOUT_MODE = "0"
HSM_CAB_GLASS_DUALSCREEN_VIS_MODE = "0"
HSM_CAB_GLASS_FOLLOW_LAYER = "0"
HSM_CAB_GLASS_FOLLOW_MODE = "0"
HSM_CAB_GLASS_FOLLOW_FULL_USES_ZOOM = "1"
HSM_CAB_GLASS_SCALE_KEEP_ASPECT = "1"
HSM_CAB_GLASS_FILL_MODE = "0"
HSM_CAB_GLASS_SPLIT_PRESERVE_CENTER = "0"
HSM_CAB_GLASS_SPLIT_REPEAT_WIDTH = "0"
HSM_CAB_GLASS_SCALE = "100"
HSM_CAB_GLASS_SCALE_X = "100"
HSM_CAB_GLASS_POS_X = "0"
HSM_CAB_GLASS_POS_Y = "0"
HSM_TOP_OPACITY = "100"
HSM_TOP_COLORIZE_ON = "0"
HSM_TOP_HUE = "0"
HSM_TOP_SATURATION = "100"
HSM_TOP_BRIGHTNESS = "100"
HSM_TOP_GAMMA = "1"
HSM_TOP_AMBIENT_LIGHTING_MULTIPLIER = "100"
HSM_TOP_AMBIENT2_LIGHTING_MULTIPLIER = "0"
HSM_TOP_APPLY_AMBIENT_IN_ADD_MODE = "0"
HSM_TOP_BLEND_MODE  = "1"
HSM_TOP_SOURCE_MATTE_TYPE = "0"
HSM_TOP_SCALE_KEEP_ASPECT = "1"
HSM_TOP_FILL_MODE = "0"
HSM_TOP_SPLIT_PRESERVE_CENTER = "0"
HSM_TOP_SPLIT_REPEAT_WIDTH = "0"
HSM_TOP_SCALE = "100"
HSM_TOP_SCALE_X = "100"
HSM_TOP_POS_X = "0"
HSM_TOP_POS_Y = "0"
HSM_TOP_MIRROR_WRAP = "1"
HSM_RENDER_SIMPLE_MODE = "0"
HSM_INTRO_WHEN_TO_SHOW = "1"
HSM_INTRO_SPEED = "100"
HSM_INTRO_LOGO_BLEND_MODE = "1"
HSM_INTRO_LOGO_FLIP_VERTICAL = "0"
HSM_INTRO_LOGO_OVER_SOLID_COLOR = "1"
HSM_INTRO_LOGO_HEIGHT = "42.86"
HSM_INTRO_LOGO_PLACEMENT = "0"
HSM_INTRO_LOGO_POS_X = "0"
HSM_INTRO_LOGO_POS_Y = "2"
HSM_INTRO_LOGO_WAIT = "20"
HSM_INTRO_LOGO_FADE_IN = "20"
HSM_INTRO_LOGO_HOLD = "130"
HSM_INTRO_LOGO_FADE_OUT = "80"
HSM_INTRO_SOLID_COLOR_BLEND_MODE = "1"
HSM_INTRO_SOLID_COLOR_HUE = "0"
HSM_INTRO_SOLID_COLOR_SAT = "0"
HSM_INTRO_SOLID_COLOR_VALUE = "100"
HSM_INTRO_SOLID_COLOR_HOLD = "40"
HSM_INTRO_SOLID_COLOR_FADE_OUT = "40"
HSM_INTRO_NOISE_BLEND_MODE = "1"
HSM_INTRO_NOISE_HOLD = "80"
HSM_INTRO_NOISE_FADE_OUT = "120"
HSM_INTRO_SOLID_BLACK_HOLD = "0"
HSM_INTRO_SOLID_BLACK_FADE_OUT = "0"

That is a lot of parameters. :exploding_head:

3 Likes

I don’t know anything about this process, but would it be feasible for a person to use this to convert the basic MAME .lay files to Megabezel?

3 Likes

That’s not really what it for. It is for creating overlays with custom Bezels using the Mega Bezel to place the artwork and render the bezel.

Arcade layouts use a variety of screen aspects and positions. There is no easy way to do what you ask. It would , for now, have to be done one by one. I am unfamiliar with the overlay conversion tool suggested on the other thread but unless it creates a core config also, it would still be time consuming. MAME *.LAYs contain coordinates. Retroarch overlay *.CFGs do not.

In the future, HSM is going to try and introduce some “tokens” or “variables” we can use in the image path parameters so that you can have one shader that uses different backgrounds, depending on the rom name.

This combined with some creativity and the use of the Image Placement, Mega Bezel feature, should make it possible.

There are other changes that take precedence, it will probably not happen anytime soon.

I personally think there is no reason to not use standalone MAME with another front end, and use the standard MAME artwork.


If you really want to use the MAME core, since the MAME layouts use the same name as the roms, it should be possible to create game configs for each game using a search and replace tool that supports filename variables. (Such as PowerGREP.) Then use the RA layout feature.

2 Likes

Sorry, what I meant was to take the basic image (from the .lay packages) and use it as the background for a Megabezel shader and then you could position and resize it inside the shader parameters. I can see how, like you said, it would be time consuming, because there are so many… I have just kind of been thinking about getting those basic bezels into a shader file so they would be really configurable in RA. Obviously, my understanding of the whole thing isn’t very good, so I’m just thinking out loud. Thanks for humoring me, though. :smiley:

2 Likes

No worries. Some layouts use multiple layered images. Some with different blending modes. It can also generate primitives of various shapes and colors. It is not as easy as just using a background image.

Thus my reason for suggesting a front end and MAME standalone or generating game overrides.

3 Likes

Thanks again. I’ve used MAMEui for a long time, so that’s probably my best bet, to just keep using that… but I will see if I can figure out making a set of game cfg’s like you suggested.

2 Likes

If it helps, the override would be in the MAME config folder (e.g. Retroarch/config/MAME/puckman.cfg)

and contain these lines…

video_driver = "gl"
input_overlay_enable = "false"    
video_layout_directory = ":\layouts"
video_layout_enable = "true"
video_layout_path = ":\layouts\puckman.zip"

So if you create one and copy it to a hundred, use a mass renaming tool that supports manual lists (Like the one built into the Altap Salamander file manager.) to rename the hundred to a list of romnames with the cfg extension.

You could use the %FILENAMENOEXT% variable in PowerGREP to search and replace.

Search: puckman

Replacement: %FILENAMENOEXT%

3 Likes

@Drybonz

As much as I encourage a little blood and sweat, I realized what would take me less than a minute might not be as easy for some.

I created overrides for all the existing MAME artwork/layouts and added them to my Front-End-Assets repo.

https://github.com/Duimon/Front-End-Assets

They can be found in “Front-End-Assets\MAME RA Layout overrides”.

There is a ___Readme.txt with instructions.

BTW. It literally took me less than a minute. :innocent:

Also BTW… this is the exact method The Bezel Project uses for overlays.

2 Likes