mirror of
https://github.com/tonytins/s2pk.git
synced 2025-06-02 05:40:04 -04:00
Compare commits
No commits in common. "6a0e75d614aad381ad9187f2425ac77056d56962" and "0b265c77680f37f3ba7cc216883c64b51910d1d9" have entirely different histories.
6a0e75d614
...
0b265c7768
4 changed files with 5 additions and 28 deletions
|
@ -11,7 +11,6 @@ public static class PackageManager
|
||||||
{
|
{
|
||||||
var dir = new DirectoryInfo(source);
|
var dir = new DirectoryInfo(source);
|
||||||
var file = new FileInfo(output);
|
var file = new FileInfo(output);
|
||||||
|
|
||||||
if (!dir.Exists)
|
if (!dir.Exists)
|
||||||
{
|
{
|
||||||
Console.Error.WriteLine("Source directory does not exist.");
|
Console.Error.WriteLine("Source directory does not exist.");
|
||||||
|
|
|
@ -3,12 +3,12 @@ using System.CommandLine;
|
||||||
|
|
||||||
var rootCommand = new RootCommand("The Sims 2 .s2pk Package Manager");
|
var rootCommand = new RootCommand("The Sims 2 .s2pk Package Manager");
|
||||||
|
|
||||||
var sourceOption = new Option<string>(
|
var sourceOption = new Option<DirectoryInfo>(
|
||||||
aliases: ["--source", "-s"],
|
aliases: ["--source", "-s"],
|
||||||
description: "Source directory containing .package files")
|
description: "Source directory containing .package files")
|
||||||
{ IsRequired = true };
|
{ IsRequired = true };
|
||||||
|
|
||||||
var outputOption = new Option<string>(
|
var outputOption = new Option<FileInfo>(
|
||||||
aliases: ["--output", "-o"],
|
aliases: ["--output", "-o"],
|
||||||
description: "Destination .s2pk archive file")
|
description: "Destination .s2pk archive file")
|
||||||
{ IsRequired = true };
|
{ IsRequired = true };
|
||||||
|
@ -25,12 +25,12 @@ packCommand.SetHandler((source, output) =>
|
||||||
PackageManager.PackPackages(source, output);
|
PackageManager.PackPackages(source, output);
|
||||||
}, sourceOption, outputOption);
|
}, sourceOption, outputOption);
|
||||||
|
|
||||||
var packageOption = new Option<string>(
|
var packageOption = new Option<FileInfo>(
|
||||||
aliases: ["--package", "-p"],
|
aliases: ["--package", "-p"],
|
||||||
description: "Input .s2pk archive")
|
description: "Input .s2pk archive")
|
||||||
{ IsRequired = true };
|
{ IsRequired = true };
|
||||||
|
|
||||||
var destinationOption = new Option<string>(
|
var destinationOption = new Option<DirectoryInfo>(
|
||||||
aliases: ["--destination", "-d"],
|
aliases: ["--destination", "-d"],
|
||||||
description: "Destination directory (e.g., The Sims 2 Downloads folder)")
|
description: "Destination directory (e.g., The Sims 2 Downloads folder)")
|
||||||
{ IsRequired = true };
|
{ IsRequired = true };
|
||||||
|
|
20
README.md
20
README.md
|
@ -2,10 +2,6 @@
|
||||||
|
|
||||||
S2PK, or Sims 2 Package Manager, aims to provide a simple cross-platform solution to package management.
|
S2PK, or Sims 2 Package Manager, aims to provide a simple cross-platform solution to package management.
|
||||||
|
|
||||||
## 💡 Why This Exists
|
|
||||||
|
|
||||||
S2PK was created to address the need for a reliable and efficient cross-platform package management system for The Sims 2 on Linux and macOS. Players on these platforms often face challenges in managing mods due to the lack of a unified solution that their Windows counterparts solved a long time ago.
|
|
||||||
|
|
||||||
## 🛣️ Project Roadmap
|
## 🛣️ Project Roadmap
|
||||||
|
|
||||||
| Phase | Goal | Status |
|
| Phase | Goal | Status |
|
||||||
|
@ -21,23 +17,13 @@ S2PK was created to address the need for a reliable and efficient cross-platform
|
||||||
- System.CommandLine for CLI parsing (no external libraries)
|
- System.CommandLine for CLI parsing (no external libraries)
|
||||||
- Pure backend logic (no UI planned)
|
- Pure backend logic (no UI planned)
|
||||||
|
|
||||||
## Example
|
|
||||||
|
|
||||||
```shell
|
|
||||||
s2pk pack -s ./mods -o output.s2pk
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell
|
|
||||||
s2pk unpack -p ./output.s2pk -d "%USERPROFILE%\Documents\EA Games\The Sims 2\Downloads"
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🗓️ Update Cycle
|
## 🗓️ Update Cycle
|
||||||
|
|
||||||
| Type | Frequency | Notes |
|
| Type | Frequency | Notes |
|
||||||
| ------------ | ---------------- | ---------------------------------------- |
|
| ------------ | ---------------- | ---------------------------------------- |
|
||||||
| Minor Update | Every 3–6 months | Small enhancements, non-breaking changes |
|
| Minor Update | Every 3–6 months | Small enhancements, non-breaking changes |
|
||||||
| Patch Update | As needed | Bug fixes, security updates |
|
| Patch Update | As needed | Bug fixes, security updates |
|
||||||
| Major Update[^1] | As needed | Framework upgrades, major refactors |
|
| Major Update | As needed | Framework upgrades, major refactors |
|
||||||
|
|
||||||
- Reserve months: June (Mid-Year Chill) & December (End-Year Freeze)
|
- Reserve months: June (Mid-Year Chill) & December (End-Year Freeze)
|
||||||
|
|
||||||
|
@ -56,10 +42,6 @@ s2pk unpack -p ./output.s2pk -d "%USERPROFILE%\Documents\EA Games\The Sims 2\Dow
|
||||||
- Critical vulnerabilities
|
- Critical vulnerabilities
|
||||||
- Framework-breaking issues
|
- Framework-breaking issues
|
||||||
|
|
||||||
## 🔍 Footnotes
|
|
||||||
|
|
||||||
- [^1]: At this early stage, major updates bump the minor version number. This usually involves re-targeting to the newest .NET LTS.
|
|
||||||
|
|
||||||
## 🗒️ License
|
## 🗒️ License
|
||||||
|
|
||||||
I license this project under the GPL v3 license - see [LICENSE](LICENSE) for details.
|
I license this project under the GPL v3 license - see [LICENSE](LICENSE) for details.
|
||||||
|
|
|
@ -6,10 +6,6 @@
|
||||||
<Version>0.1.101</Version>
|
<Version>0.1.101</Version>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<Authors>Tony Bark</Authors>
|
|
||||||
<PackAsTool>true</PackAsTool>
|
|
||||||
<ToolCommandName>s2pk</ToolCommandName>
|
|
||||||
<PackageId>s2pk</PackageId>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
Loading…
Add table
Reference in a new issue