Compare commits

...

4 commits

4 changed files with 28 additions and 5 deletions

View file

@ -11,6 +11,7 @@ public static class PackageManager
{
var dir = new DirectoryInfo(source);
var file = new FileInfo(output);
if (!dir.Exists)
{
Console.Error.WriteLine("Source directory does not exist.");

View file

@ -3,12 +3,12 @@ using System.CommandLine;
var rootCommand = new RootCommand("The Sims 2 .s2pk Package Manager");
var sourceOption = new Option<DirectoryInfo>(
var sourceOption = new Option<string>(
aliases: ["--source", "-s"],
description: "Source directory containing .package files")
{ IsRequired = true };
var outputOption = new Option<FileInfo>(
var outputOption = new Option<string>(
aliases: ["--output", "-o"],
description: "Destination .s2pk archive file")
{ IsRequired = true };
@ -25,12 +25,12 @@ packCommand.SetHandler((source, output) =>
PackageManager.PackPackages(source, output);
}, sourceOption, outputOption);
var packageOption = new Option<FileInfo>(
var packageOption = new Option<string>(
aliases: ["--package", "-p"],
description: "Input .s2pk archive")
{ IsRequired = true };
var destinationOption = new Option<DirectoryInfo>(
var destinationOption = new Option<string>(
aliases: ["--destination", "-d"],
description: "Destination directory (e.g., The Sims 2 Downloads folder)")
{ IsRequired = true };

View file

@ -2,6 +2,10 @@
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
| Phase | Goal | Status |
@ -17,13 +21,23 @@ S2PK, or Sims 2 Package Manager, aims to provide a simple cross-platform solutio
- System.CommandLine for CLI parsing (no external libraries)
- 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
| Type | Frequency | Notes |
| ------------ | ---------------- | ---------------------------------------- |
| Minor Update | Every 36 months | Small enhancements, non-breaking changes |
| Patch Update | As needed | Bug fixes, security updates |
| Major Update | As needed | Framework upgrades, major refactors |
| Major Update[^1] | As needed | Framework upgrades, major refactors |
- Reserve months: June (Mid-Year Chill) & December (End-Year Freeze)
@ -42,6 +56,10 @@ S2PK, or Sims 2 Package Manager, aims to provide a simple cross-platform solutio
- Critical vulnerabilities
- 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
I license this project under the GPL v3 license - see [LICENSE](LICENSE) for details.

View file

@ -6,6 +6,10 @@
<Version>0.1.101</Version>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Authors>Tony Bark</Authors>
<PackAsTool>true</PackAsTool>
<ToolCommandName>s2pk</ToolCommandName>
<PackageId>s2pk</PackageId>
</PropertyGroup>
<ItemGroup>