PangLib - A toolchain for Pangya files

Guess I’ll introduce PangLib here, my first delving into the file formats of Pangya and making them somewhat usable!

PangLib is a set of C# libraries, not a full program, that allow developers to work with different Pangya file formats and build their own tools around them.

Current libraries in PangLib are:

  • PangLib.IFF to handle .iff files, which include item/character/etc. metadata
  • PangLib.DAT to handle .dat files, which include translations into various languages
  • PangLib.PAK to handle .pak files, which are the Pangya game data archives
  • PangLib.PET to handle .*pet files, which include the Pangya model definitions
  • PangLib.UCC to handle files from Pangya self-design
  • PangLib.UpdateList to handle updatelist files, which tell the game updater which files are in a patch

There also is PangLib.Utilities, which includes various encryption/compression utilities which are used all across Pangya’s files.

Most of these libraries are currently read-only, meaning you can only use them to read data from the files and not save it back to them, but that is of course planned for most of the filetypes!

Aside from the libraries, PangLib also includes documentation around the formats, so the structure and file contents are easily understandable!

There’s still a lot missing to the library, but as I tested it while building, what’s there works so far.

You can check out the library on GitHub here:

3 Likes

To improve usability of PangLib libraries, I started putting the initial releases of all libraries onto NuGet.

dotnet add package PangLib.[libraryname]

is now all it takes to add a PangLib library to one of your projects.

https://www.nuget.org/packages?q=panglib

1 Like

Aside of a small rewrite I did of one of the libraries, here some more major news!

I added two new libraries:

  • PangLib.PSP.NOP
  • PangLib.PSP.PAK

to handle .pak and .nop files from the PSP iteration of the game. The formats resemble Pangya PC archives already, so this was a rather simple task!

1 Like

@pixeldesu Hey I appreciate all of the work you’ve done here! I was wondering if any of these tools are related to the opening of the .gbin/.sbin files?
image
I’m trying to get the flyover shots that you see between holes to use as reference for something I’m working on. I can’t find information on how to open them, and it seems to be unresolved from an old github post of yours?

Since then I did some research, but I have no tools for the files ready yet, I can however share what I know so far.

Here’s a Kaitai Struct YAML file that works parsing some info out of .gbin files (not all versions however):

For sbin files:
I have no idea how they work exactly. I only know using TextureFinder, that there’s one/multiple DXT(3/4) shadow textures for the course included, but I have no idea what the data around means, so that it would be enough for us to write a proper parser for the format.

1 Like