DerKoun / bsnes-hd

bsnes fork that adds HD video features
GNU General Public License v3.0
625 stars 35 forks source link

[Enhancement] asymmetrical aspect ratio #38

Open pethil opened 4 years ago

pethil commented 4 years ago

This is a feature request, sorry if this isn't the right place. What I would ideally like is a 16:9 option where the expected frame is all the way to the right of the 16:9 field of view. The use case would be streaming Super Mario World Kaizo Hacks where I really only care for the normal field of view while playing but would like to render a full 16:9 just for the viewer for visual interest which would be partially covered up by transparent overlays. If it's not clear I'll include a picture.

bsnes_hd_169_mockup

I was trying to accomplish this by just rendering at 21:9 but it's not quite enough as you can see.

I was looking through the code myself but am not very proficient in C programming. If someone gave me some pointers though I would still want to try this myself.

DerKoun commented 4 years ago

I'll be away until Monday, so just a short answer: it should be relatively easy. But I'll have to see how I make it available. Would in setting overrides only be sufficient?

BTW, if 21:9 is not enough have a look at the readme. Setting overrides allow any AR or additional pixel column count. Maybe that can make the feature unnecessary (except for more convenience)

pethil commented 4 years ago

Oh I had assumed the overrides couldn't do anything that normal settings couldn't. So yes this isn't strictly necessary but it would still be really useful because it would allow me to look at the the desired 16:9 image in fullscreen instead of trying to wiggle a wider window to partially of screen. Maybe the easiest and most flexible would be an override setting that lets you crop the frame afterwards?

DerKoun commented 4 years ago

Setting overrides will get some settings exclusively if they are niche or experimental. Also they'll get more fine-grained versions of settings from the dialog. I think I can add an offset for the position of the non-WS area that can be specified absolutely (from left or right) and relatively (50% as center). I'll try for the next version.