mirror of
https://github.com/Strongleong/ScrapModLoader.git
synced 2024-08-15 00:03:19 +00:00
Addeed ability to load mods
This commit is contained in:
parent
4d34f4eaa6
commit
cb4c8ac90d
4 changed files with 32 additions and 4 deletions
|
@ -55,9 +55,9 @@
|
||||||
</TabControl>
|
</TabControl>
|
||||||
</Grid>
|
</Grid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Header="Settings" Height="22" Margin="-2,0,-2,0" VerticalAlignment="Bottom">
|
<!--<TabItem Header="Settings" Height="22" Margin="-2,0,-2,0" VerticalAlignment="Bottom">
|
||||||
<Grid Background="#FEFEFE"/>
|
<Grid Background="#FEFEFE"/>
|
||||||
</TabItem>
|
</TabItem>-->
|
||||||
</TabControl>
|
</TabControl>
|
||||||
<Grid Grid.Row="1" Margin="10,10,10,10">
|
<Grid Grid.Row="1" Margin="10,10,10,10">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
|
|
|
@ -157,14 +157,17 @@ namespace ScrapModLoader
|
||||||
|
|
||||||
private void ButtonRunScrapland_Click(Object sender, RoutedEventArgs e)
|
private void ButtonRunScrapland_Click(Object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
String executablePath = ScraplandVersion.SelectedIndex == 0
|
|
||||||
|
String gamePath = ScraplandVersion.SelectedIndex == 0
|
||||||
? modsLauncher.ScraplandPath : modsLauncher.ScraplandRemasteredPath;
|
? modsLauncher.ScraplandPath : modsLauncher.ScraplandRemasteredPath;
|
||||||
|
|
||||||
|
modsLauncher.LoadMods(gamePath);
|
||||||
|
|
||||||
String args = "-fullscreen:1";
|
String args = "-fullscreen:1";
|
||||||
if (Windowed.IsChecked ?? false)
|
if (Windowed.IsChecked ?? false)
|
||||||
args = "-fullscreen:0";
|
args = "-fullscreen:0";
|
||||||
|
|
||||||
Process.Start(executablePath + @"\bin\Scrap.exe", args);
|
Process.Start(gamePath + @"\bin\Scrap.exe", args);
|
||||||
|
|
||||||
if (CloseLauncher.IsChecked ?? false)
|
if (CloseLauncher.IsChecked ?? false)
|
||||||
Close();
|
Close();
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
|
using Ionic.Zip;
|
||||||
|
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
|
|
||||||
namespace ScrapModLoader
|
namespace ScrapModLoader
|
||||||
|
@ -75,5 +77,11 @@ namespace ScrapModLoader
|
||||||
|
|
||||||
return isFound;
|
return isFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal void LoadMods(String gamePath)
|
||||||
|
{
|
||||||
|
foreach (ScrapMod mod in Mods.FindAll(mod => mod.Checked))
|
||||||
|
mod.LoadModToGame(gamePath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,23 @@ namespace ScrapModLoader
|
||||||
LoadFromFile(path);
|
LoadFromFile(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void LoadModToGame(String gamePath)
|
||||||
|
{
|
||||||
|
gamePath += @"Mods\" + Name;
|
||||||
|
Directory.CreateDirectory(gamePath);
|
||||||
|
|
||||||
|
using (ZipFile zipFile = ZipFile.Read(ModPath))
|
||||||
|
{
|
||||||
|
foreach (ZipEntry zipEntry in zipFile)
|
||||||
|
{
|
||||||
|
if (Path.GetExtension(zipEntry.FileName) == ".packed")
|
||||||
|
{
|
||||||
|
zipEntry.Extract(gamePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void LoadFromFile(String path)
|
private void LoadFromFile(String path)
|
||||||
{
|
{
|
||||||
using (ZipFile zipFile = ZipFile.Read(path))
|
using (ZipFile zipFile = ZipFile.Read(path))
|
||||||
|
|
Loading…
Reference in a new issue