Series of tools to interact with Pangya (PC) game files
The libraries are built using .NET Core and .NET Standard 2.0. So you need to download and setup the .NET Core SDK on your system.
All libraries are published on Nuget with their respective full package name, so you can install using the .NET CLI:
$ dotnet add package [package-name]
Library | Version | Build Status | Description |
---|---|---|---|
PangLib.IFF | Library to handle and parse data from .iff files |
||
PangLib.DAT | Library to handle and parse data from .dat files |
||
PangLib.PAK | Library to handle and parse data from .pak files |
||
PangLib.PET | Library to handle and parse data from .*pet files |
||
PangLib.SBIN | Library to handle and parse data from .sbin files |
||
PangLib.Scripting | Library to handle and parse Pangya scripting languages | ||
PangLib.UCC | Library to handle and parse data from SelfDesign files | ||
PangLib.UpdateList | Library to handle and parse data from updatelist files |
||
PangLib.Utilities | Common utilities used in other PangLib libraries |
||
PangLib.WEP | Library to handle and parse data from .(g/sg/ai)bin files |
To build PangLib or any of the libraries inside it, you need, just as for using it, the .NET Core SDK.
Once the SDK is available on your system to use, you can either run the following commands in the project root to build every library from the solution,
or navigate to a subfolder (e.g. PangLib.PET/
) and execute them there:
$ dotnet restore
$ dotnet build
If the commands run successfully, you now have compiled libraries available at [library-name]/bin/Debug/netstandard2.0/[arch]
To quickly test changes or use your local copy of a PangLib library in a project, you can run the following command to add a reference:
$ dotnet add reference [path to .csproj file of desired library]
This will now allow you to change the code of the library, and of your program and once you build your program, it will also build the referenced library again, so you don't have to manually include a built library or publish it to Nuget yourself.
Want to contribute? Awesome!
You can contribute in many ways, like:
- Opening an issue if a problem with a library occurs.
- Opening an issue for a feature request, when a library is missing something you need.
- Opening an issue for a library request, if you need handling for another format.
Of course you can already contribute code if you are a developer, adding features, additional libraries and more, I'm pretty open to anything, as long as it is related to Pangya and the addition is reasonable!
Forum posts allowing for engagement and feedback on PangLib:
Documentation on the parsed file formats can be found at docs.pangya.golf
PangLib would not be possible with prior research and tooling developed by others, namely:
- HSReina for several tools and hints, especially around PET models
- jchv for the Blender import script
- Dave Devils for the documentation provided in PangTools
- Acrisio Filho for the provided GBIN and SBIN readers
This project is licensed under the AGPL-3.0