aboutsummaryrefslogtreecommitdiff
path: root/unpacker
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:55:00 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:55:00 +0300
commitdb5c2830360a2abca6a448df055b4e3385a09356 (patch)
treece9cf2ad1886e6fbc62f7c0f4ff0cb7b9dc9eff6 /unpacker
parentafe1aa538e43685002462d8c34e29521480ae245 (diff)
downloadfparkan-db5c2830360a2abca6a448df055b4e3385a09356.tar.xz
fparkan-db5c2830360a2abca6a448df055b4e3385a09356.zip
Added a README for the unpacker
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'unpacker')
-rw-r--r--unpacker/README.md41
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.