Skip to content

Commit

Permalink
Attempting to Address Issues CarJem#4 and CarJem#3 with FULL REMOVAL …
Browse files Browse the repository at this point in the history
…of Legacy Loading
  • Loading branch information
CarJem committed May 26, 2020
1 parent f5a8cb6 commit 25507b0
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 59 deletions.
33 changes: 33 additions & 0 deletions Sonic3AIR_ModManager.sln
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ Global
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Experiment|Any CPU = Experiment|Any CPU
Experiment|x64 = Experiment|x64
Experiment|x86 = Experiment|x86
Publish|Any CPU = Publish|Any CPU
Publish|x64 = Publish|x64
Publish|x86 = Publish|x86
Expand All @@ -47,6 +50,12 @@ Global
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Debug|x64.Build.0 = Debug|Any CPU
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Debug|x86.ActiveCfg = Debug|x86
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Debug|x86.Build.0 = Debug|x86
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Experiment|Any CPU.ActiveCfg = Experiment|Any CPU
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Experiment|Any CPU.Build.0 = Experiment|Any CPU
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Experiment|x64.ActiveCfg = Release|Any CPU
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Experiment|x64.Build.0 = Release|Any CPU
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Experiment|x86.ActiveCfg = Release|x86
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Experiment|x86.Build.0 = Release|x86
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Publish|Any CPU.ActiveCfg = Publish|Any CPU
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Publish|Any CPU.Build.0 = Publish|Any CPU
{74887941-CE31-48E7-A4EF-75C52EC6415E}.Publish|x64.ActiveCfg = Publish|Any CPU
Expand Down Expand Up @@ -77,6 +86,12 @@ Global
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Debug|x64.Build.0 = Debug|Any CPU
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Debug|x86.ActiveCfg = Debug|x86
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Debug|x86.Build.0 = Debug|x86
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Experiment|Any CPU.ActiveCfg = Release|Any CPU
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Experiment|Any CPU.Build.0 = Release|Any CPU
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Experiment|x64.ActiveCfg = Release|Any CPU
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Experiment|x64.Build.0 = Release|Any CPU
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Experiment|x86.ActiveCfg = Release|x86
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Experiment|x86.Build.0 = Release|x86
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Publish|Any CPU.ActiveCfg = Publish|Any CPU
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Publish|Any CPU.Build.0 = Publish|Any CPU
{4311F3B1-E4A1-401C-BC13-E5E80254242E}.Publish|x64.ActiveCfg = Publish|Any CPU
Expand Down Expand Up @@ -107,6 +122,12 @@ Global
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Debug|x64.Build.0 = Debug|Any CPU
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Debug|x86.ActiveCfg = Debug|x86
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Debug|x86.Build.0 = Debug|x86
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Experiment|Any CPU.ActiveCfg = Release|Any CPU
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Experiment|Any CPU.Build.0 = Release|Any CPU
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Experiment|x64.ActiveCfg = Release|Any CPU
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Experiment|x64.Build.0 = Release|Any CPU
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Experiment|x86.ActiveCfg = Release|x86
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Experiment|x86.Build.0 = Release|x86
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Publish|Any CPU.ActiveCfg = Publish|Any CPU
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Publish|Any CPU.Build.0 = Publish|Any CPU
{11A257A9-07AC-43C5-8705-808B7AFD644B}.Publish|x64.ActiveCfg = Publish|Any CPU
Expand Down Expand Up @@ -137,6 +158,12 @@ Global
{335800A2-F482-4AE6-9017-57D7C3C52110}.Debug|x64.Build.0 = Debug|x64
{335800A2-F482-4AE6-9017-57D7C3C52110}.Debug|x86.ActiveCfg = Debug|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Debug|x86.Build.0 = Debug|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Experiment|Any CPU.ActiveCfg = Release|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Experiment|Any CPU.Build.0 = Release|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Experiment|x64.ActiveCfg = Release|x64
{335800A2-F482-4AE6-9017-57D7C3C52110}.Experiment|x64.Build.0 = Release|x64
{335800A2-F482-4AE6-9017-57D7C3C52110}.Experiment|x86.ActiveCfg = Release|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Experiment|x86.Build.0 = Release|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Publish|Any CPU.ActiveCfg = Release|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Publish|Any CPU.Build.0 = Release|Any CPU
{335800A2-F482-4AE6-9017-57D7C3C52110}.Publish|x64.ActiveCfg = Release|x64
Expand Down Expand Up @@ -167,6 +194,12 @@ Global
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Debug|x64.Build.0 = Debug|x64
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Debug|x86.ActiveCfg = Debug|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Debug|x86.Build.0 = Debug|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Experiment|Any CPU.ActiveCfg = Release|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Experiment|Any CPU.Build.0 = Release|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Experiment|x64.ActiveCfg = Release|x64
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Experiment|x64.Build.0 = Release|x64
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Experiment|x86.ActiveCfg = Release|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Experiment|x86.Build.0 = Release|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Publish|Any CPU.ActiveCfg = Release|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Publish|Any CPU.Build.0 = Release|Any CPU
{51CA42A9-58F0-4F3D-A250-BC22D8A8540E}.Publish|x64.ActiveCfg = Release|x64
Expand Down
17 changes: 3 additions & 14 deletions Sonic3AIR_ModManager/Controls/ModViewer/ModViewer.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -385,14 +385,7 @@ public class ModViewerItem

private bool GetEnabledState()
{
if (!Management.ModManagement.S3AIRActiveMods.UseLegacyLoading)
{
return Source.IsEnabled;
}
else
{
return IsInRootFolder;
}
return Source.IsEnabled;
}

public void DisposeImage()
Expand Down Expand Up @@ -442,12 +435,8 @@ private BitmapImage DefaultModImage(System.Drawing.Bitmap src)

private void SetEnabledState(bool value)
{
if (!Management.ModManagement.S3AIRActiveMods.UseLegacyLoading)
{
Source.IsEnabled = value;
ModViewer.ItemCheck?.Invoke();
}

Source.IsEnabled = value;
ModViewer.ItemCheck?.Invoke();
}

public AIR_API.Mod Source { get; set; }
Expand Down
35 changes: 9 additions & 26 deletions Sonic3AIR_ModManager/Management/Collections/ModManagement.cs
Original file line number Diff line number Diff line change
Expand Up @@ -249,33 +249,16 @@ public static void UpdateActiveAndInactiveModLists()
IList<ModViewerItem> JustDisabledItems = new List<ModViewerItem>();
IList<ModViewerItem> JustEnabledItems = new List<ModViewerItem>();

if (!S3AIRActiveMods.UseLegacyLoading)
foreach (ModViewerItem mod in ModsList)
{
foreach (ModViewerItem mod in ModsList)
{
mod.CheckBoxVisibility = Visibility.Visible;
if (mod.IsEnabled) JustEnabledItems.Add(mod);
}

foreach (ModViewerItem mod in ActiveModsList)
{
mod.CheckBoxVisibility = Visibility.Visible;
if (!mod.IsEnabled) JustDisabledItems.Add(mod);
}
mod.CheckBoxVisibility = Visibility.Visible;
if (mod.IsEnabled) JustEnabledItems.Add(mod);
}
else
{
foreach (ModViewerItem mod in ModsList)
{
mod.CheckBoxVisibility = Visibility.Collapsed;
if (mod.IsInRootFolder) JustEnabledItems.Add(mod);
}

foreach (ModViewerItem mod in ActiveModsList)
{
mod.CheckBoxVisibility = Visibility.Collapsed;
if (!mod.IsInRootFolder) JustDisabledItems.Add(mod);
}
foreach (ModViewerItem mod in ActiveModsList)
{
mod.CheckBoxVisibility = Visibility.Visible;
if (!mod.IsEnabled) JustDisabledItems.Add(mod);
}


Expand Down Expand Up @@ -405,8 +388,8 @@ public static void UpdateModListItemCheck(bool shouldEnd)
}
public static void ToggleLegacyModManagement(bool value)
{
Management.ModManagement.S3AIRActiveMods.UseLegacyLoading = value;
Management.ModManagement.Save();
//Management.ModManagement.S3AIRActiveMods.UseLegacyLoading = value;
//Management.ModManagement.Save();
}
public static void Save()
{
Expand Down
22 changes: 6 additions & 16 deletions Sonic3AIR_ModManager/Management/Internal/MainDataModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ public static void RefreshModManagementButtons(ref ModManager Instance)
{
if (Instance.ModViewer.SelectedItem != null)
{
if (Instance.ModViewer.ActiveView.SelectedItem != null && (Instance.ModViewer.ActiveView.SelectedItem as ModViewerItem).IsEnabled && !Management.ModManagement.S3AIRActiveMods.UseLegacyLoading)
if (Instance.ModViewer.ActiveView.SelectedItem != null && (Instance.ModViewer.ActiveView.SelectedItem as ModViewerItem).IsEnabled)
{
Instance.moveUpButton.IsEnabled = (Instance.ModViewer.ActiveView.Items.IndexOf((Instance.ModViewer.ActiveView.SelectedItem as ModViewerItem)) > 0);
Instance.moveDownButton.IsEnabled = (Instance.ModViewer.ActiveView.Items.IndexOf((Instance.ModViewer.ActiveView.SelectedItem as ModViewerItem)) < Instance.ModViewer.ActiveView.Items.Count - 1);
Expand All @@ -517,7 +517,7 @@ public static void RefreshModManagementButtons(ref ModManager Instance)
Instance.editModFolderToolStripMenuItem.IsEnabled = true;
Instance.openModFolderToolStripMenuItem.IsEnabled = true;
Instance.openModURLToolStripMenuItem.IsEnabled = (ValidateURL((Instance.ModViewer.SelectedItem as ModViewerItem).Source.URL));
if (Instance.ModViewer.ActiveView.Items.Contains(Instance.ModViewer.SelectedItem) && !Management.ModManagement.S3AIRActiveMods.UseLegacyLoading) Instance.moveModToSubFolderMenuItem.IsEnabled = false;
if (Instance.ModViewer.ActiveView.Items.Contains(Instance.ModViewer.SelectedItem)) Instance.moveModToSubFolderMenuItem.IsEnabled = false;
else Instance.moveModToSubFolderMenuItem.IsEnabled = true;
}
else
Expand All @@ -534,20 +534,10 @@ public static void RefreshModManagementButtons(ref ModManager Instance)
Instance.openModURLToolStripMenuItem.IsEnabled = false;
}

if (Management.ModManagement.S3AIRActiveMods.UseLegacyLoading)
{
Instance.moveUpButton.Visibility = Visibility.Collapsed;
Instance.moveDownButton.Visibility = Visibility.Collapsed;
Instance.moveToTopButton.Visibility = Visibility.Collapsed;
Instance.moveToBottomButton.Visibility = Visibility.Collapsed;
}
else
{
Instance.moveUpButton.Visibility = Visibility.Visible;
Instance.moveDownButton.Visibility = Visibility.Visible;
Instance.moveToTopButton.Visibility = Visibility.Visible;
Instance.moveToBottomButton.Visibility = Visibility.Visible;
}
Instance.moveUpButton.Visibility = Visibility.Visible;
Instance.moveDownButton.Visibility = Visibility.Visible;
Instance.moveToTopButton.Visibility = Visibility.Visible;
Instance.moveToBottomButton.Visibility = Visibility.Visible;

bool ValidateURL(string value)
{
Expand Down
1 change: 1 addition & 0 deletions Sonic3AIR_ModManager/Management/Internal/ProgramPaths.cs
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,7 @@ public static bool ValidateSettingsAndActiveMods(ref AIR_API.ActiveModsList S3AI
{
FileInfo list = new FileInfo(Sonic3AIRActiveModsList);
S3AIRActiveMods = new AIR_API.ActiveModsList(list);
if (S3AIRActiveMods.UseLegacyLoading == true) S3AIRActiveMods.UseLegacyLoading = false; //For older users who still have this bool set to true.
}


Expand Down
20 changes: 17 additions & 3 deletions Sonic3AIR_ModManager/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,23 @@ public enum UpdateState : int
[STAThread]
static void Main(string[] args)
{
StartLogging();
RealMain(args);
EndLogging();
try
{
StartLogging();
RealMain(args);
EndLogging();
}
catch (Exception ex)
{
//TODO: Add Language Translations
string button_abort = "OK - Open Logs Folder & Close Application";
string button_ignore = "Cancel - Close Application";
string note = string.Format("{1}{0}{2}", Environment.NewLine, button_abort, button_ignore);
var result = System.Windows.Forms.MessageBox.Show(string.Format("{0}{1}{2}{1}{3}", ex.Message, Environment.NewLine + "|" + Environment.NewLine, ex.StackTrace, note), "ERROR", System.Windows.Forms.MessageBoxButtons.OKCancel);
if (result == System.Windows.Forms.DialogResult.OK) Process.Start(Sonic3AIR_ModManager.Management.ProgramPaths.Sonic3AIR_MM_LogsFolder);
throw ex;
}

}

static void RealMain(string[] args)
Expand Down
16 changes: 16 additions & 0 deletions Sonic3AIR_ModManager/Sonic3AIR_ModManager.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,22 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Experiment|AnyCPU'">
<OutputPath>bin\Experiment\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Experiment|x86'">
<OutputPath>bin\x86\Experiment\</OutputPath>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="PresentationCore" />
Expand Down

0 comments on commit 25507b0

Please sign in to comment.