From d9418b67433aa13ce7e0c09e169e559051b79033 Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Sat, 2 Jul 2022 15:35:29 +0200 Subject: [PATCH] Add Serenity's guides to readme and guide button to main interface. --- Penumbra/UI/ConfigWindow.SettingsTab.cs | 38 ++++++++++++++++++++++--- README.md | 7 +++-- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/Penumbra/UI/ConfigWindow.SettingsTab.cs b/Penumbra/UI/ConfigWindow.SettingsTab.cs index d40d3e33..58cb4c28 100644 --- a/Penumbra/UI/ConfigWindow.SettingsTab.cs +++ b/Penumbra/UI/ConfigWindow.SettingsTab.cs @@ -219,10 +219,9 @@ public partial class ConfigWindow public static void DrawDiscordButton( float width ) { - const string discord = "Join Discord for Support"; const string address = @"https://discord.gg/kVva7DHV4r"; using var color = ImRaii.PushColor( ImGuiCol.Button, Colors.DiscordColor ); - if( ImGui.Button( discord, new Vector2( width, 0 ) ) ) + if( ImGui.Button( "Join Discord for Support", new Vector2( width, 0 ) ) ) { try { @@ -252,6 +251,33 @@ public partial class ConfigWindow } } + private static void DrawGuideButton( float width ) + { + const string address = @"https://penumbra.ju.mp"; + using var color = ImRaii.PushColor( ImGuiCol.Button, 0xFFCC648D ) + .Push( ImGuiCol.ButtonHovered, 0xFFB070B0 ) + .Push( ImGuiCol.ButtonActive, 0xFF9070E0 ); + if( ImGui.Button( "Beginner's Guides", new Vector2( width, 0 ) ) ) + { + try + { + var process = new ProcessStartInfo( address ) + { + UseShellExecute = true, + }; + Process.Start( process ); + } + catch + { + // ignored + } + } + + ImGuiUtil.HoverTooltip( + $"Open {address}\nImage and text based guides for most functionality of Penumbra made by Serenity.\n" + + "Not directly affiliated and potentially, but not usually out of date." ); + } + private static void DrawSupportButtons() { var width = ImGui.CalcTextSize( SupportInfoButtonText ).X + ImGui.GetStyle().FramePadding.X * 2; @@ -260,11 +286,15 @@ public partial class ConfigWindow width += ImGui.GetStyle().ScrollbarSize + ImGui.GetStyle().ItemSpacing.X; } - ImGui.SetCursorPos( new Vector2( ImGui.GetWindowWidth() - width, ImGui.GetFrameHeightWithSpacing() ) ); + var xPos = ImGui.GetWindowWidth() - width; + ImGui.SetCursorPos( new Vector2( xPos, ImGui.GetFrameHeightWithSpacing() ) ); DrawSupportButton(); - ImGui.SetCursorPos( new Vector2( ImGui.GetWindowWidth() - width, 0 ) ); + ImGui.SetCursorPos( new Vector2( xPos, 0 ) ); DrawDiscordButton( width ); + + ImGui.SetCursorPos( new Vector2( xPos, 2 * ImGui.GetFrameHeightWithSpacing() ) ); + DrawGuideButton( width ); } } } \ No newline at end of file diff --git a/README.md b/README.md index 830e5abb..755280b5 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,15 @@ Contributions are welcome, but please make an issue first before writing any cod Penumbra has support for most TexTools modpacks however this is provided on a best-effort basis and support is not guaranteed. Built in tooling will be added to Penumbra over time to avoid many common TexTools use cases. ## Installing -While this project is still a work in progress, you can use it by addin the following URL to the custom plugin repositories list in your Dalamud settings +While this project is still a work in progress, you can use it by adding the following URL to the custom plugin repositories list in your Dalamud settings +An image-based install (and usage) guide to do this is provided by unaffiliated user Serenity: https://penumbra.ju.mp/ + 1. `/xlsettings` -> Experimental tab 2. Copy and paste the repo.json link below 3. Click on the + button 4. Click on the "Save and Close" button -5. You will now see Penumbra listed in the Dalamud Plugin Installer +5. You will now see Penumbra listed in the Available Plugins tab in the Dalamud Plugin Installer +6. Do not forget to actually install Penumbra from this tab. Please do not install Penumbra manually by downloading a release zip and unpacking it into your devPlugins folder. That will require manually updating Penumbra and you will miss out on features and bug fixes as you won't get update notifications automatically. Any manually installed copies of Penumbra should be removed before switching to the custom plugin respository method, as they will conflict. - https://raw.githubusercontent.com/xivdev/Penumbra/master/repo.json