CnCNet / xna-cncnet-client

XNA / MonoGame based client for playing classic Command & Conquer games both online and offline with a CnCNet game spawner.
Other
224 stars 85 forks source link

Add a new dropdown to the Options menu to allow setting the window resolution, independently from the in-game resolution. #424

Open CCHyper opened 1 year ago

CCHyper commented 1 year ago

CnC-DDraw supports setting the window resolution higher than the in-game resolution, this allows upscaling of the game if a lower resolution is selected. In most cases, upscaling of the game resolution is desired by users who run resolutions larger than 1080p, and also for the older titles the XNA Client supports. A new drop-down that allows the window resolution to be set independently from the in-game resolution if CnC-DDraw is selected would provide this functionality.

As part of this feature, an option to set the default value of this drop-down would also be very desirable.

Metadorius commented 1 year ago

I have thought of such a feature, I am not sure how we should deal with wrapper-specific settings like this overall, but I agree such thing should be useful.

On another note I am not sure if it would be better to select a resolution, or maybe a scale factor. The option to define a scale factor (like 2x on 1080p will make the game render at 960x540 which is half of 1080p) feels a lot more intuitive and convenient.

CCHyper commented 1 year ago

Is it possible to detect if CnC-DDraw is selected, and enable the drop-down when it is? It's also the default renderer option in most client setups I understand.

Also, a scale factor drop-down would also be a good solution, I agree.

Metadorius commented 1 year ago

Yeah it's totally possible, I am just unsure whether it would be beneficial to do it in a less "hardcode" way (aka configurable through INIs), say, having an INI with custom settings per each renderer, or not and should just hardcode those. Also I don't think we modify the wrapper configs yet.