diff --git a/DESIGN.md b/DESIGN.md
new file mode 100644
index 0000000..8b2e98d
--- /dev/null
+++ b/DESIGN.md
@@ -0,0 +1,13 @@
+- Offer tools for manual editing of bytes, decoding of zstd compressed level files
+- Logging into appdata/temp
+- Drag and drop
+- Manual byte editing
+- Suggestion-based editing (e.g. "I think this is the achievement flag")
+- Launch Factorio button (select save file automatically)
+
+FLOW
+
+- Open app
+- Either drag and drop
+- Or press 'Open File'
+- Or select from list
diff --git a/README.md b/README.md
index 194d42e..a21ee96 100644
--- a/README.md
+++ b/README.md
@@ -14,9 +14,20 @@ This is a WPF-based tool that can be used to re-enable achievements in [Factorio
If you're having trouble getting _any_ tools to work in this space, that's because this is an experimental and highly volatile method of fixing achievements.
-All we are able to do is use best-effort pattern matching with trial and error to attempt to re-enable achievements.
+All we are able to do is use best-effort pattern matching with trial and error to attempt to re-enable achievements. This means that it's not guaranteed to work, and could easily break in the future.
-I recommend that you
+This tool aims to be slightly more configurable and offer a trial-and-error approach that could be more complicated, but works better for a wider range of scenarios.
+
+I made this tool and developed my method from the following sources/discussions online:
+
+- https://www.reddit.com/r/factorio/comments/rlprxh/text_tutorial_for_reenabling_achievements_after/
+- https://forums.factorio.com/viewtopic.php?p=623016#p623016
+- https://github.com/0x796935/factorio-achievement-restore
+- https://0x796935.github.io/
+- https://github.com/Rainson12/FactorioSaveGameEnableAchievements
+- https://github.com/Rainson12/FactorioSaveGameEnableAchievements/issues/1
+- https://github.com/pooreboy/factorio-achievement-restore
+- https://www.reddit.com/r/factorio/comments/1gacff0/enabling_achievements_after_using_console_commands/
## Compiling
diff --git a/factorio-achievements-fixer/App.xaml b/factorio-achievements-fixer/App.xaml
index d0500fe..50e7915 100644
--- a/factorio-achievements-fixer/App.xaml
+++ b/factorio-achievements-fixer/App.xaml
@@ -2,8 +2,8 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:factorio_achievements_fixer"
- StartupUri="MainWindow.xaml">
+ StartupUri="InitialWindow.xaml">
-
+
diff --git a/factorio-achievements-fixer/InitialWindow.xaml b/factorio-achievements-fixer/InitialWindow.xaml
new file mode 100644
index 0000000..b4f9fcb
--- /dev/null
+++ b/factorio-achievements-fixer/InitialWindow.xaml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/factorio-achievements-fixer/InitialWindow.xaml.cs b/factorio-achievements-fixer/InitialWindow.xaml.cs
new file mode 100644
index 0000000..3eed70d
--- /dev/null
+++ b/factorio-achievements-fixer/InitialWindow.xaml.cs
@@ -0,0 +1,71 @@
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace factorio_achievements_fixer;
+
+///
+/// Interaction logic for MainWindow.xaml
+///
+public partial class InitialWindow : Window
+{
+ public InitialWindow()
+ {
+ // InitializeComponent();
+
+ var listView = new ListView
+ {
+ Margin = new Thickness(10)
+ };
+
+ var gridView = new GridView();
+ gridView.Columns.Add(new GridViewColumn
+ {
+ Header = "File Name",
+ DisplayMemberBinding = new Binding("FileName")
+ });
+
+ listView.View = gridView;
+
+ var grid = new Grid();
+ grid.Children.Add(listView);
+
+ Content = grid;
+ }
+
+ private void Grid_Drop(object sender, DragEventArgs e)
+ {
+ if (!e.Data.GetDataPresent(DataFormats.FileDrop))
+ return;
+
+ var files = (string[])e.Data.GetData(DataFormats.FileDrop) ?? Array.Empty();
+ if (files.Length != 1)
+ {
+
+ }
+ }
+
+ private void Grid_DragOver(object sender, DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.FileDrop))
+ {
+ e.Effects = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effects = DragDropEffects.None;
+ }
+ }
+
+ private void FixAchievements_Click(object sender, RoutedEventArgs e)
+ {
+ // handle the fix achievements button click here!
+ }
+}
\ No newline at end of file
diff --git a/factorio-achievements-fixer/MainWindow.xaml b/factorio-achievements-fixer/MainWindow.xaml
deleted file mode 100644
index ab57679..0000000
--- a/factorio-achievements-fixer/MainWindow.xaml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
diff --git a/factorio-achievements-fixer/MainWindow.xaml.cs b/factorio-achievements-fixer/MainWindow.xaml.cs
deleted file mode 100644
index 24a94d9..0000000
--- a/factorio-achievements-fixer/MainWindow.xaml.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace factorio_achievements_fixer;
-
-///
-/// Interaction logic for MainWindow.xaml
-///
-public partial class MainWindow : Window
-{
- public MainWindow()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file