Skip to content

retreev/PangLib

Repository files navigation

PangLib

Codacy Badge Discord

Series of tools to interact with Pangya (PC) game files

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.

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]

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.SBIN Nuget Build status Library to handle and parse data from .sbin files
PangLib.Scripting Nuget Build status Library to handle and parse Pangya scripting languages
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.Utilities Nuget Build status Common utilities used in other PangLib libraries
PangLib.WEP Nuget Build status Library to handle and parse data from .(g/sg/ai)bin files

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

Acknowledgements

PangLib would not be possible with prior research and tooling developed by others, namely:

License

This project is licensed under the AGPL-3.0

About

Series of tools to interact with Pangya PC MMO game files

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages