- C 97.5%
- Makefile 2.5%
| common | Convert to C89 | |
| .gitignore | Convert to C89 | |
| arc.hexpat | Add pattern file for .arc files | |
| datatbl.hexpat | Initial commit | |
| dir.c | Convert to C89 | |
| dir.h | Convert to C89 | |
| LICENSE | Initial commit | |
| Makefile | Fix Makefile targets for generated source files | |
| packstel-unpack.c | Convert to C89 | |
| readme.md | Convert to C89 | |
Packstel
(i.e. portmanteau of "pack" and "Pastel")
This is an in-progress archive unpacker and repacker for Graffiti Kingdom,
handling both the outer DATATBL.BIN/CDVDMAP.BIN layer used on all game
files and the inner .arc layer used to pack small number of files together.
An extractor has been more or less completed, and will be followed by a
repacker (pending modifications to the unpacker to record necessary information
for rebuilding). ImHex pattern files for DATATBL.BIN and .arc files are
respectively provided as datatbl.hexpat and arc.hexpat, as well.
Compilation
The code is standards-compliant C89 with a POSIX Makefile provided for
compilation. By default, an attempt is made to identify the host platform
automatically and compile the appropriate platform-specific code, but this can
be overridden by defining the PLATFORM macro, e.g. passing -DPLATFORM=POSIX
to the compiler. If platform-specific code for your platform is not available,
you'll have to amend any code wrapped in checks like #if PLATFORM == WINDOWS
to compile. Supported platforms are POSIX (e.g. Linux, macOS) and WINDOWS.
The only dependency is zlib for extracting compressed data in .arc files
(which was used by Graffiti Kingdom itself for runtime decompression, and
presumably the original compression as well).
Licence
A copy of the WTFPL is included as a(n informal) formality.