Series of tools to interact with Pangya game files
This set of libraries allows developers to build tools interacting with files of the MMO Golf game Pangya by Ntreev Software.
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.
Once that is done you can simply clone this repository somewhere, create your project using the .NET CLI and then point a reference to one of the libraries.
Example, wanting to use the PangLib.IFF library:
$ mkdir MyCoolProject && cd MyCoolProject
$ dotnet new console
$ dotnet add package PangLib.IFF
You should get a message about the reference being added successfully, now you can use the library inside your application!
More information on how you can use each library can be found in their folders and source code comments across all classes and files.
| 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.PSP.NOP | Library to handle and parse data from PSP .nop files |
||
| PangLib.PSP.PAK | Library to handle and parse data from PSP .pak files |
||
| PangLib.PSP.QST | Library to handle and parse data from PSP .qst files |
||
| PangLib.UCC | Library to handle and parse data from SelfDesign files | ||
| PangLib.UpdateList | Library to handle and parse data from updatelist files |
||
| PangLib.Wii.ECB | Library to handle and parse data from Wii .ECB files |
||
| PangLib.Utilities | Common utilities used in other PangLib libraries |
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
This project is licensed under the AGPL-3.0