diff --git a/TrueCraft.Core/TexturePack.cs b/TrueCraft.Core/TexturePack.cs
index 4c84fdf..b3ef19a 100644
--- a/TrueCraft.Core/TexturePack.cs
+++ b/TrueCraft.Core/TexturePack.cs
@@ -19,7 +19,17 @@ namespace TrueCraft.Core
///
public const string ImageFile = "pack.png";
-
+ ///
+ ///
+ ///
+ public static string TexturePackPath
+ {
+ get
+ {
+ return System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
+ ".truecraft/texturepacks/");
+ }
+ }
///
///
diff --git a/TrueCraft.Launcher/Views/OptionView.cs b/TrueCraft.Launcher/Views/OptionView.cs
index c03d55e..1f7e70c 100644
--- a/TrueCraft.Launcher/Views/OptionView.cs
+++ b/TrueCraft.Launcher/Views/OptionView.cs
@@ -60,17 +60,13 @@ namespace TrueCraft.Launcher.Views
{
var texturePack = _texturePacks[TexturePackListView.SelectedRow];
if (_lastTexturePack != texturePack)
- {
- // TODO: Enforce a file structure so only certain named files are extracted.
- texturePack.ExtractTo("Content");
- _lastTexturePack = texturePack;
- }
+ UserSettings.Local.SelectedTexturePack = texturePack.Path;
};
OpenFolderButton.Clicked += (sender, e) =>
{
// TODO: Implement cross-platform logic here.
- var dir = new DirectoryInfo("./Content/TexturePacks");
+ var dir = new DirectoryInfo(TexturePack.TexturePackPath);
Process.Start(dir.FullName);
};
@@ -91,7 +87,7 @@ namespace TrueCraft.Launcher.Views
private void LoadTexturePacks()
{
- var zips = Directory.EnumerateFiles("Content/TexturePacks/");
+ var zips = Directory.EnumerateFiles(TexturePack.TexturePackPath);
foreach (var zip in zips)
{
var texturePack = new TexturePack(zip);