mirror of
https://github.com/xivdev/Penumbra.git
synced 2026-02-22 07:47:48 +01:00
Add errors when loading from elsewhere than installedPlugins or devPlugins/Penumbra existing and containing dlls in Release mode
This commit is contained in:
parent
27650708f0
commit
58e46accae
3 changed files with 88 additions and 28 deletions
|
|
@ -55,32 +55,39 @@ public sealed partial class ConfigWindow : Window, IDisposable
|
|||
{
|
||||
if( Penumbra.ImcExceptions > 0 )
|
||||
{
|
||||
using var color = ImRaii.PushColor( ImGuiCol.Text, Colors.RegexWarningBorder );
|
||||
ImGui.NewLine();
|
||||
ImGui.NewLine();
|
||||
ImGui.TextWrapped( $"There were {Penumbra.ImcExceptions} errors while trying to load IMC files from the game data.\n"
|
||||
DrawProblemWindow( $"There were {Penumbra.ImcExceptions} errors while trying to load IMC files from the game data.\n"
|
||||
+ "This usually means that your game installation was corrupted by updating the game while having TexTools mods still active.\n"
|
||||
+ "It is recommended to not use TexTools and Penumbra (or other Lumina-based tools) at the same time.\n\n"
|
||||
+ "Please use the Launcher's Repair Game Files function to repair your client installation." );
|
||||
color.Pop();
|
||||
|
||||
ImGui.NewLine();
|
||||
ImGui.NewLine();
|
||||
SettingsTab.DrawDiscordButton( 0 );
|
||||
ImGui.SameLine();
|
||||
SettingsTab.DrawSupportButton();
|
||||
return;
|
||||
}
|
||||
|
||||
using var bar = ImRaii.TabBar( string.Empty, ImGuiTabBarFlags.NoTooltip );
|
||||
SetupSizes();
|
||||
_settingsTab.Draw();
|
||||
DrawModsTab();
|
||||
_collectionsTab.Draw();
|
||||
DrawChangedItemTab();
|
||||
_effectiveTab.Draw();
|
||||
_debugTab.Draw();
|
||||
_resourceTab.Draw();
|
||||
else if( MainClass.IsNotInstalledPenumbra )
|
||||
{
|
||||
DrawProblemWindow(
|
||||
$"You are loading a release version of Penumbra from \"{Dalamud.PluginInterface.AssemblyLocation.Directory?.FullName ?? "Unknown"}\" instead of the installedPlugins directory.\n\n"
|
||||
+ "You should not install Penumbra manually, but rather add the plugin repository under settings and then install it via the plugin installer.\n\n"
|
||||
+ "If you do not know how to do this, please take a look at the readme in Penumbras github repository or join us in discord.\n"
|
||||
+ "If you are developing for Penumbra and see this, you should compile your version in debug mode to avoid it." );
|
||||
}
|
||||
else if( MainClass.DevPenumbraExists )
|
||||
{
|
||||
DrawProblemWindow(
|
||||
$"You are loading a installed version of Penumbra from \"{Dalamud.PluginInterface.AssemblyLocation.Directory?.FullName ?? "Unknown"}\", "
|
||||
+ "but also still have some remnants of a custom install of Penumbra in your devPlugins folder.\n\n"
|
||||
+ "This can cause some issues, so please go to your \"%%appdata%%\\XIVLauncher\\devPlugins\" folder and delete the Penumbra folder from there.\n\n"
|
||||
+ "If you are developing for Penumbra, try to avoid mixing versions. This warning will not appear if compiled in Debug mode." );
|
||||
}
|
||||
else
|
||||
{
|
||||
using var bar = ImRaii.TabBar( string.Empty, ImGuiTabBarFlags.NoTooltip );
|
||||
SetupSizes();
|
||||
_settingsTab.Draw();
|
||||
DrawModsTab();
|
||||
_collectionsTab.Draw();
|
||||
DrawChangedItemTab();
|
||||
_effectiveTab.Draw();
|
||||
_debugTab.Draw();
|
||||
_resourceTab.Draw();
|
||||
}
|
||||
}
|
||||
catch( Exception e )
|
||||
{
|
||||
|
|
@ -88,6 +95,21 @@ public sealed partial class ConfigWindow : Window, IDisposable
|
|||
}
|
||||
}
|
||||
|
||||
private static void DrawProblemWindow( string text )
|
||||
{
|
||||
using var color = ImRaii.PushColor( ImGuiCol.Text, Colors.RegexWarningBorder );
|
||||
ImGui.NewLine();
|
||||
ImGui.NewLine();
|
||||
ImGui.TextWrapped( text );
|
||||
color.Pop();
|
||||
|
||||
ImGui.NewLine();
|
||||
ImGui.NewLine();
|
||||
SettingsTab.DrawDiscordButton( 0 );
|
||||
ImGui.SameLine();
|
||||
SettingsTab.DrawSupportButton();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_selector.Dispose();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue