diff --git a/apps/launcher/advancedpage.cpp b/apps/launcher/advancedpage.cpp index e1a5d28afa..866cec7286 100644 --- a/apps/launcher/advancedpage.cpp +++ b/apps/launcher/advancedpage.cpp @@ -104,6 +104,7 @@ bool Launcher::AdvancedPage::loadSettings() loadSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game"); loadSettingBool(showMeleeInfoCheckBox, "show melee info", "Game"); loadSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game"); + loadSettingBool(changeDialogTopicsCheckBox, "color topic enable", "GUI"); int showOwnedIndex = mEngineSettings.getInt("show owned", "Game"); // Match the index with the option (only 0, 1, 2, or 3 are valid). Will default to 0 if invalid. if (showOwnedIndex >= 0 && showOwnedIndex <= 3) @@ -171,6 +172,7 @@ void Launcher::AdvancedPage::saveSettings() saveSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game"); saveSettingBool(showMeleeInfoCheckBox, "show melee info", "Game"); saveSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game"); + saveSettingBool(changeDialogTopicsCheckBox, "color topic enable", "GUI"); int showOwnedCurrentIndex = showOwnedComboBox->currentIndex(); if (showOwnedCurrentIndex != mEngineSettings.getInt("show owned", "Game")) mEngineSettings.setInt("show owned", "Game", showOwnedCurrentIndex); diff --git a/apps/openmw/mwgui/dialogue.cpp b/apps/openmw/mwgui/dialogue.cpp index 233fc0f6b5..a674dd36e5 100644 --- a/apps/openmw/mwgui/dialogue.cpp +++ b/apps/openmw/mwgui/dialogue.cpp @@ -737,6 +737,9 @@ namespace MWGui void DialogueWindow::updateTopicFormat() { + if (!Settings::Manager::getBool("color topic enable", "GUI")) + return; + std::string specialColour = Settings::Manager::getString("color topic specific", "GUI"); std::string oldColour = Settings::Manager::getString("color topic exhausted", "GUI"); diff --git a/docs/source/reference/modding/settings/GUI.rst b/docs/source/reference/modding/settings/GUI.rst index b881221b33..bbe6b83365 100644 --- a/docs/source/reference/modding/settings/GUI.rst +++ b/docs/source/reference/modding/settings/GUI.rst @@ -141,6 +141,15 @@ This setting can only be configured by editing the settings configuration file. This setting has no effect if the crosshair setting in the HUD Settings Section is false. This setting has no effect if the show owned setting in the Game Settings Section is false. +color topic enable +------------------ + +:Type: boolean +:Range: True/False +:Default: False + +Control wether additionnal formatting will be applied to dialogs topic. See 'color topic specific' and 'color topic exhausted' for details. + color topic specific -------------------- diff --git a/files/settings-default.cfg b/files/settings-default.cfg index 3a7c9a8b48..f95998c1c0 100644 --- a/files/settings-default.cfg +++ b/files/settings-default.cfg @@ -208,13 +208,18 @@ color crosshair owned = 1.0 0.15 0.15 1.0 # Controls whether Arrow keys, Movement keys, Tab/Shift-Tab and Spacebar/Enter/Activate may be used to navigate GUI buttons. keyboard navigation = true +# Apply the defined color to dialogue topic. +color topic enable = false + # The color of dialogue topic keywords that gives unique actor responses -# Format R G B A or empty for default -color topic specific = +# Format R G B A or empty for no special formatting +# Default to blue +color topic specific = 0.45 0.5 0.8 1 # The color of dialogue topic keywords that gives already read responses -# Format R G B A or empty for default -color topic exhausted = +# Format R G B A or empty for no special formatting +# Default to grey +color topic exhausted = 0.3 0.3 0.3 1 [HUD] diff --git a/files/ui/advancedpage.ui b/files/ui/advancedpage.ui index 2ea5d777cf..fed547b8cd 100644 --- a/files/ui/advancedpage.ui +++ b/files/ui/advancedpage.ui @@ -459,6 +459,16 @@ + + + + <html><head/><body><p>If this setting is true, dialogue topics will have a different color if the topic is specific to the NPC you're talking to or the topic was previously seen. Color can be change in settings.cfg.</p><p>The default value is false.</p></body></html> + + + Change dialogue topic color + + +