diff options
author | Valentin Popov <valentin@popov.link> | 2024-01-08 00:55:00 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-01-08 00:55:00 +0300 |
commit | db5c2830360a2abca6a448df055b4e3385a09356 (patch) | |
tree | ce9cf2ad1886e6fbc62f7c0f4ff0cb7b9dc9eff6 | |
parent | afe1aa538e43685002462d8c34e29521480ae245 (diff) | |
download | fparkan-db5c2830360a2abca6a448df055b4e3385a09356.tar.xz fparkan-db5c2830360a2abca6a448df055b4e3385a09356.zip |
Added a README for the unpacker
Signed-off-by: Valentin Popov <valentin@popov.link>
-rw-r--r-- | unpacker/README.md | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/unpacker/README.md b/unpacker/README.md index e69de29..2c6be02 100644 --- a/unpacker/README.md +++ b/unpacker/README.md @@ -0,0 +1,41 @@ +# NRes Game Resource Unpacker + +At the moment, this is a demonstration of the NRes game resource unpacking algorithm in action. +It unpacks 100% of the NRes game resources for the game "Parkan: Iron Strategy". +The unpacked resources can be packed again using the [packer](../packer) utility and replace the original game files. + +__Attention!__ +This is a test version of the utility. +It overwrites existing files without asking. + +## Building + +To build the tools, you need to run the following command in the root directory: + +```bash +cargo build --release +``` + +## Running + +You can run the utility with the following command: + +```bash +./target/release/unpacker /path/to/file.ex /path/to/output +``` + +- `/path/to/file.ex`: This is the file containing the game resources that will be unpacked. +- `/path/to/output`: This is the directory where the unpacked files will be placed. + +## How it Works + +The structure describing the packed game resources is not fully understood yet. +Therefore, the utility saves unpacked files in the format `file_name.file_index` because some files have the same name. + +Additionally, an `index.json` file is created, which is important for re-packing the files. +This file lists all the fields that game resources have in their packed form. +It is essential to preserve the file index for the game to function correctly, as the game engine looks for the necessary files by index. + +Files can be replaced and packed back using the [packer](../packer). +The newly obtained game resource files are correctly processed by the game engine. +For example, sounds and 3D models of warbots' weapons were successfully replaced. |