mirror of
https://github.com/tonytins/s2pk.git
synced 2025-05-28 11:26:30 -04:00
Compare commits
4 commits
0b265c7768
...
6a0e75d614
Author | SHA1 | Date | |
---|---|---|---|
6a0e75d614 | |||
dc76a426f0 | |||
de80add8bd | |||
13455f0d45 |
4 changed files with 28 additions and 5 deletions
|
@ -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.");
|
||||
|
|
|
@ -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 };
|
||||
|
|
20
README.md
20
README.md
|
@ -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 3–6 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.
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Reference in a new issue