1use crate::app::HelpText;
2
3pub const FORCE_DMG_MODE: HelpText = HelpText {
4    heading: "Force GB Mode",
5    text: &[
6        "Force the emulator to operate as an original Game Boy even when loading Game Boy Color games.",
7        "Some games support both GB and GBC, and some GBC games show unique lockout graphics when run on GB.",
8    ],
9};
10
11pub const FORCE_CGB_MODE: HelpText = HelpText {
12    heading: "Force GBC Mode",
13    text: &[
14        "Force the emulator to operate as a Game Boy Color even when loading games with no GBC functionality.",
15        "Requires a GBC boot ROM in order to initialize the compatibility palettes.",
16    ],
17};
18
19pub const PRETEND_GBA_MODE: HelpText = HelpText {
20    heading: "Pretend GBA Mode",
21    text: &[
22        "Set initial register values such that GBC games will think they're running on a Game Boy Advance.",
23        "No GB/GBC games use any GBA-specific functionality, but some games modify color palettes or unlock additional content if they detect that they're running on a GBA.",
24    ],
25};
26
27pub const BOOT_ROM: HelpText = HelpText {
28    heading: "Boot ROM",
29    text: &[
30        "Optionally boot from a boot ROM instead of booting directly into the game.",
31        "Boot ROMs are configured separately for Game Boy and Game Boy Color.",
32    ],
33};
34
35pub const AUDIO_TIMING_HACK: HelpText = HelpText {
36    heading: "Audio Timing Hack",
37    text: &[
38        "If enabled, adjust audio timing so that audio sync targets exactly 60 fps instead of the native refresh rate of approximately 59.73 fps.",
39    ],
40};
41
42pub const ASPECT_RATIO: HelpText = HelpText {
43    heading: "Aspect Ratio",
44    text: &[
45        "Whether to render square pixels (as actual hardware does) or stretch to fit the viewport.",
46    ],
47};
48
49pub const FRAME_BLENDING: HelpText = HelpText {
50    heading: "Frame Blending",
51    text: &[
52        "If enabled, blend each frame with the previous frame to emulate the effect of LCD ghosting.",
53        "Some games and demos depend on this for correct display due to rapidly alternating between two different images or layers that are intended to blend together.",
54    ],
55};
56
57pub const GB_COLOR_PALETTE: HelpText = HelpText {
58    heading: "GB Color Palette",
59    text: &[
60        "Configure how colors display in original Game Boy software.",
61        "All Game Boy graphics are rendered using 4 different colors internally. These options present different ways of displaying those 4 colors.",
62    ],
63};
64
65pub const GBC_COLOR_CORRECTION: HelpText = HelpText {
66    heading: "GBC Color Correction",
67    text: &[
68        "Configure what color correction to apply to GBC rendering output, if any.",
69        "GBC colors appear differently on its LCD screen compared to naively rendering the RGB values that games output. This option attempts to correct for that.",
70        "There is also an option to attempt to emulate how the Game Boy Advance LCD displays colors.",
71    ],
72};
73
74pub const AUDIO_RESAMPLING: HelpText = HelpText {
75    heading: "Audio Resampling Algorithm",
76    text: &[
77        "Choose the algorithm used to resample from the Game Boy native sample rate to the output sample rate.",
78        "Windowed sinc interpolation is higher quality and sharper, but it can be much more performance-intensive.",
79    ],
80};