Skip to content

dafitius/rpkg-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rpkg-rs

Maintenance CI crates-io api-docs

rpkg-rs provides functionality for interacting with ResourcePackage (rpkg) files found within Hitman games. This crate facilitates parsing of these files, enabling seamless access to the contained resource files. By parsing configuration files such as thumbs.ini and packagedefintion.txt, rpkg-rs offers extensive support for reading and manipulating these packages.

Features

  • Parse ResourcePackage (rpkg) files, allowing access to the resources stored within.
  • Utilize the included functionality to read configuration files like thumbs.ini and packagedefintion.txt.
  • Perform various operations on thumbs files, including setting new variables, modifying existing variables, adding new include files, and more.
  • Mount all rpkg files associated with a game, providing a unified interface for accessing game resources.
  • Access API methods to mount individual ResourcePartitions or ResourcePackages, allowing better control over resource access.

Supported File Formats:

  • ResourcePackage v1 (RPKG) files found in Hitman 2016 and Hitman 2.
  • ResourcePackage v2 (RPK2) files found in Hitman 3.
  • IniFile (thumbs.dat) files.
  • PackageDefinitions (packagedefinition.txt) from Hitman 2016, Hitman 2, and Hitman 3, with API support for adding custom parsers.

Future Plans

  • Alpha Format Support: Extend ResourcePackge support for the older alpha format, enabling extraction of alpha resources.
  • RPKG File Generation: Integration of support for generating rpkg files, allowing users to efficiently create and manage their resource packages within the rpkg-rs crate.

These upcoming features are designed to further solidify rpkg-rs as a comprehensive solution for interacting with Glacier game files.

Contributions

Bug reports, PRs and feature requests are welcome.

License

This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details.