Skip to content

Hedkandi/PangLib

 
 

Repository files navigation

PangLib

Codacy Badge Discord

Series of tools to interact with Pangya game files

About

This set of libraries allows developers to build tools interacting with files of the MMO Golf game Pangya by Ntreev Software.

Usage

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.

Available Libraries

Library Version Build Status Description
PangLib.IFF Nuget Build status Library to handle and parse data from .iff files
PangLib.DAT Nuget Build status Library to handle and parse data from .dat files
PangLib.PAK Nuget Build status Library to handle and parse data from .pak files
PangLib.PET Nuget Build status Library to handle and parse data from .*pet files
PangLib.PSP.NOP Nuget Build status Library to handle and parse data from PSP .nop files
PangLib.PSP.PAK Nuget Build status Library to handle and parse data from PSP .pak files
PangLib.PSP.QST Nuget Build status Library to handle and parse data from PSP .qst files
PangLib.UCC Nuget Build status Library to handle and parse data from SelfDesign files
PangLib.UpdateList Nuget Build status Library to handle and parse data from updatelist files
PangLib.Wii.ECB Nuget Build status Library to handle and parse data from Wii .ECB files
PangLib.Utilities Nuget Build status Common utilities used in other PangLib libraries

Building

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.

Contributing

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!

Discuss on other Websites

Forum posts allowing for engagement and feedback on PangLib:

Documentation

Documentation on the parsed file formats can be found at docs.pangya.golf

License

This project is licensed under the AGPL-3.0

About

Series of tools to interact with Pangya game files

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C# 100.0%