BlitterStudio / amiberry

Optimized Amiga emulator for Linux/macOS
https://amiberry.com
GNU General Public License v3.0
660 stars 89 forks source link

GUI -> Display -> helptext [additions, formatting, updates] #1153

Closed giantclambake closed 1 year ago

giantclambake commented 1 year ago

Seems this helptext got left behind somewhat, and was referring to widgets of olde I think... and was no longer aligned with details on the wiki, nor naming terms used for the widgets themselves ...ergo, a lot needed updating here. Much of this was picked up from the wiki, and as best as I can figure portrays the Display panel options 'logically' ...ie; 'Centering' is very much linked to 'Auto Crop' in the helptext, even though they're separate areas on the panel...otherwise it's top down, to the right (1, 2, 3, 4...and twirl ;)

Notes:

This examples why I asked about mouse scrollwheel in helptext ;)

The left/right scrollbar at the bottom of helptext window(s) is superfluous ~ my edits honor existing width constraint. (it's a bit slow displaying that scrollbar initially anyhow)

You may wish to vet text wrt the 'VSync' option ~ I filled the text with 'generally applicable freelance blabla' =)

The wiki page (https://github.com/BlitterStudio/amiberry/wiki/GUI:-Display) needs a touchup when v5.6.2 gets out (vsync)

TIA

For src/osdep/gui/PanelDisplay.cpp


bool HelpPanelDisplay(std::vector<std::string>& helptext)
{       
        helptext.clear();
        helptext.emplace_back("Select the required width, height and other options of displayed the Amiga screen.");
        helptext.emplace_back(" ");
        helptext.emplace_back("Here you can select the screen mode to be used as well:");
        helptext.emplace_back(" ");
        helptext.emplace_back("- Windowed: the Amiga screen will be shown in a Window on your desktop");
        helptext.emplace_back("- Fullscreen: the monitor resolution will change to the selected one.");
        helptext.emplace_back("- Full-window: the Amiga screen will be scaled to the current resolution.");
        helptext.emplace_back(" ");
        helptext.emplace_back("The \"Auto-Crop\" option will try to detect the width/height automatically,");
        helptext.emplace_back("and scale it up to the full area of the screen, eliminating any black borders.");
        helptext.emplace_back("When this option is disabled, the \"Centering\" options become active, and allow");
        helptext.emplace_back("you to enable automatic centering, for Horizontal and Vertical axes individually.");
        helptext.emplace_back("This can be useful but keep in mind that especially the vertical centering might");
        helptext.emplace_back("cause issues in some games/demos. If that happens, try disabling it and adjust");
        helptext.emplace_back("thr Width/Height (in combination with H/V offset if you want), instead.");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"Borderless\" is only useful in a graphical environment (ie; not when running in");
        helptext.emplace_back("console). This will make the Amiberry window appear borderless, with no window");
        helptext.emplace_back("controls/decorations around it.");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"VSync\" - enabling VSync can result in smoother graphics and some performace");
        helptext.emplace_back("increase with a number of Amiga titles. This may result in some screen tearing in");
        helptext.emplace_back("certain instances, so this option is disabled by default.");
        helptext.emplace_back(" ");
        helptext.emplace_back("Also, you can use the \"Offset\" options, to manually shift the image horizontally");
        helptext.emplace_back("or vertically, to fine tune the image position.");
        helptext.emplace_back(" ");
        helptext.emplace_back("You can select the \"Scaling method\" used for the displayed Amiga screen.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Auto: will try to find the best looking scaling method depending on your");
        helptext.emplace_back("monitor resolution. This is the default option.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Pixelated: will give you a more pixelated and crisp image, but it may cause");
        helptext.emplace_back("some distortion if your resolution is not an exact multiple of what is displayed.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Linear: will give you a smoother scaling but some people might find it a bit");
        helptext.emplace_back("blurry depending on the Amiga software being used.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"Blacker than black\" - when enabled, boosts the gamma for the black areas, which");
        helptext.emplace_back("makes the border around them look darker.");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"Filtered Low Res\" - This option enables filtering when LowRes is selected in the");
        helptext.emplace_back("Resolution option above. It will make the output look smoother instead of pixelated");
        helptext.emplace_back("when using the LowRes option.");
        helptext.emplace_back(" ");
        helptext.emplace_back("The \"Correct Aspect Ratio\" - This allows you to choose if you want the correct");
        helptext.emplace_back("aspect ratio to be the default display method, or have the image stretched to fill");
        helptext.emplace_back("the screen instead.");
        helptext.emplace_back(" ");
        helptext.emplace_back("The \"Remove interlace artifacts\" option enables a special feature internally, to");
        helptext.emplace_back("eliminate the artifacts produced by Interlace modes. It might cause issues in some");
        helptext.emplace_back("applications, so keep that in mind.");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"Refresh\" - If this option is enabled, it allows you to modify the refresh rate of");
        helptext.emplace_back("the emulation, from the full frame rate that it's normally running at. When this");
        helptext.emplace_back("option is disabled, the value will be set to 1, which represents that every 1 frame");
        helptext.emplace_back("will be drawn/shown. If you enable the option, the value will be changed to 2, which");
        helptext.emplace_back("means that 1 out of every 2 frames will be drawn (essentially what is known as being");
        helptext.emplace_back("'frame-skip'). Increasing this value further, will increase the frame-skipping to");
        helptext.emplace_back("draw one frame out of X (where X = the value you set it to). This can be useful in");
        helptext.emplace_back("situations where you are doing high computational work (like 3D-rendering) and you");
        helptext.emplace_back("don't care about the redraw on the screen. This option can also be useful to get");
        helptext.emplace_back("to get some more games playable.");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"Brightness\" - Allows adjustment of the output image brightness, from -200 to 200.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"Line Mode\" - These options define how the Amiga screen is drawn.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Single: This will draw single lines only, which will be stretched vertically to");
        helptext.emplace_back("fill the screen when necessary (ie; showing a 640x256 resolution in a 640x512 window)");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Double: This option will draw every line twice, which will take up a little more");
        helptext.emplace_back("resources, but looks better since they don't have to be stretched vertically. It also");
        helptext.emplace_back("enables the options for the Interlace line mode, below.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Scanlines: This option will also draw double the lines, but try to replicate the");
        helptext.emplace_back("scanlines effect shown in CRT monitors. Please note that this is not a shader, so the");
        helptext.emplace_back("the screen output might not be perfect in all resolutions.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" ");
        helptext.emplace_back("\"Interlaced line mode\" - These options further define how the Amiga screen is drawn");
        helptext.emplace_back("when using interlaced screenmodes.");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Single: Draw single lines, interlace modes will flicker like the real hardware");
        helptext.emplace_back(" ");
        helptext.emplace_back(" - Double, frames/fields/fields+: These options are only useful in Interlace modes.");
        helptext.emplace_back(" ");
        return true;
}
giantclambake commented 1 year ago

Just noticed my spelling errata ;(

helptext.emplace_back("\"VSync\" - enabling VSync can result in smoother graphics and some performace ");

'performance'