103 Commits

Author SHA1 Message Date
renovate[bot]
81d03fa727 Update all digest updates 2025-12-02 17:05:54 +00:00
renovate[bot]
7c876faf12 Update Rust crate console to v0.16.1 (#48)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 13:25:23 +00:00
renovate[bot]
39c66e698e Update Rust crate log to v0.4.28 (#47)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-04 05:03:11 +00:00
renovate[bot]
abac84a008 Update Rust crate image to v0.25.8 (#46)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 20:21:26 +00:00
renovate[bot]
b44217d4af Update Rust crate clap to v4.5.47 (#45)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 05:25:25 +00:00
renovate[bot]
c268e4c205 Update all digest updates (#41)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 12:23:15 +04:00
renovate[bot]
8aabe74eb2 Update Rust crate thiserror to v2.0.15 (#39)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-17 10:13:52 +00:00
84f2175fd2 Merge pull request #33 from valentineus/renovate/all-digest
Update all digest updates
2025-08-13 18:16:56 +04:00
renovate[bot]
307b9c6d90 Update all digest updates 2025-08-13 13:45:03 +00:00
renovate[bot]
7de26b16d4 Update Rust crate clap to v4.5.41 (#32)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 19:47:12 +00:00
52f2ad43e6 Merge pull request #29 from valentineus/renovate/all-digest
Update all digest updates
2025-07-09 03:23:23 +04:00
renovate[bot]
c4dec3fe4c Update all digest updates 2025-07-08 20:30:48 +00:00
e51edcb561 Update dependencies in Cargo.lock 2025-06-14 23:02:49 +00:00
2273fd4263 Merge pull request #7 from valentineus/nres
Обновление структуры проекта
2025-06-15 02:42:55 +04:00
renovate[bot]
d4f104cf5e Update Rust crate clap to v4.5.40 (#28)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 13:27:38 +00:00
renovate[bot]
7f41a51f2a Update all digest updates (#27)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 03:58:39 +00:00
renovate[bot]
e97610a8ac Update Rust crate clap to v4.5.38 (#26)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 06:45:14 +00:00
renovate[bot]
ee02d922ae Update Rust crate miette to v7.6.0 (#25)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-27 14:41:46 +00:00
renovate[bot]
dbd7b6bf33 Update all digest updates (#24)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 18:14:47 +00:00
renovate[bot]
949c0aa087 Update all digest updates (#14)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-21 09:37:22 +00:00
renovate[bot]
4f29af53b6 Update Rust crate console to v0.15.11 (#13)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 05:23:27 +00:00
renovate[bot]
1d62740d59 Update Rust crate clap to v4.5.31 (#12)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 22:22:28 +00:00
d274602104 Merge branch 'master' into nres 2025-02-23 17:23:33 +04:00
8bc39d10b1 Updated dependencies 2025-02-23 17:22:30 +04:00
88faa6e3ea Merge branch 'master' into nres 2025-02-22 14:19:02 +04:00
renovate[bot]
66705ba4f0 Update Rust crate log to v0.4.26 (#11)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 10:51:06 +00:00
renovate[bot]
bb4c217ee2 Update all digest updates (#10)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 12:35:42 +00:00
renovate[bot]
c83822e353 Update Rust crate clap to v4.5.30 (#9)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 03:03:44 +00:00
renovate[bot]
130ee8df5b Update Rust crate clap to v4.5.29 (#8)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 02:55:33 +00:00
8d8653133b Обновление структуры проекта 2025-02-08 01:11:02 +00:00
94d2f8a512 Обновление зависимостей 2025-02-08 00:44:59 +00:00
215a093344 Updated Renovate config 2025-02-05 03:43:58 +04:00
3de1575082 Merge pull request #5 from valentineus/renovate/all-digest 2025-02-04 05:49:24 +04:00
renovate[bot]
aa8e1184bf Update Rust crate clap to v4.5.28 2025-02-04 01:47:42 +00:00
feb7ebe722 Merge pull request #4 from valentineus/renovate/all-digest
Update Rust crate miette to v7.5.0
2025-02-01 17:58:58 +04:00
renovate[bot]
becadef5ee Update Rust crate miette to v7.5.0 2025-02-01 04:26:56 +00:00
a4b36e1aea Merge pull request #3 from valentineus/renovate/all-digest
Update all digest updates
2025-01-30 04:34:02 +04:00
renovate[bot]
c7b099b596 Update all digest updates 2025-01-30 00:26:30 +00:00
48a08445e7 Added mirror 2025-01-30 04:25:11 +04:00
694de5edfa Moved Renocate config 2025-01-30 01:59:31 +04:00
0dc37e9604 Outdated CI and Renovate configurations have been removed, and a new Dependabot configuration file for dependency management has been added. 2025-01-24 20:50:13 +04:00
RenovateBot
3d2e970225 Update Rust crate clap to v4.5.27 2025-01-21 00:01:51 +00:00
d90b9830bc Updated all dependencies 2025-01-20 20:18:27 +00:00
RenovateBot
f91e1bda22 Update Rust crate serde_json to v1.0.137 2025-01-20 00:02:56 +00:00
RenovateBot
e9a0fd718f Update Rust crate log to v0.4.25 2025-01-15 00:03:21 +00:00
RenovateBot
509ce2d83d Update all digest updates 2025-01-10 23:44:03 +00:00
RenovateBot
391756b77d Update all digest updates 2025-01-10 21:04:54 +00:00
RenovateBot
035153c7c0 Update all digest updates 2025-01-07 21:04:58 +00:00
RenovateBot
885a593829 Update Rust crate serde to v1.0.217 2024-12-27 21:02:46 +00:00
RenovateBot
7c3c8cc969 Update all digest updates 2024-12-21 21:03:04 +00:00
RenovateBot
00c62a9909 Update Rust crate thiserror to v2.0.8 2024-12-18 21:03:04 +00:00
RenovateBot
c2899d27af Update Rust crate console to v0.15.10 2024-12-16 15:42:52 +00:00
RenovateBot
e60fdd1958 Update Rust crate thiserror to v2.0.7 2024-12-14 21:02:34 +00:00
RenovateBot
dd6d440ba5 Update Rust crate serde to v1.0.216 2024-12-11 21:04:41 +00:00
RenovateBot
36a082ba18 Update all digest updates 2024-12-08 21:03:54 +00:00
RenovateBot
09689a937c Update all digest updates 2024-12-03 21:01:39 +00:00
RenovateBot
39f6479415 Update Rust crate miette to v7.4.0 2024-11-27 21:02:44 +00:00
RenovateBot
01a2a47370 Update Rust crate miette to v7.3.0 2024-11-26 21:05:22 +00:00
RenovateBot
4cd42afa37 Update Rust crate serde_json to v1.0.133 2024-11-17 21:05:34 +00:00
RenovateBot
298aa954b9 Update Rust crate clap to v4.5.21 2024-11-13 21:01:52 +00:00
RenovateBot
910deb6c17 Update all digest updates 2024-11-12 21:01:58 +00:00
4a22e2177e Merge pull request 'Update Rust crate thiserror to v2' (!36) from renovate/thiserror-2.x into master
Reviewed-on: #36
2024-11-11 15:10:34 +03:00
RenovateBot
729c972573 Update Rust crate thiserror to v2 2024-11-10 21:05:05 +00:00
RenovateBot
250d78a955 Update Rust crate thiserror to v1.0.69 2024-11-10 21:04:56 +00:00
03f2d762bb Merge pull request 'Update ghcr.io/renovatebot/renovate Docker tag to v39' (!34) from renovate/ghcr.io-renovatebot-renovate-39.x into master
Reviewed-on: #34
2024-11-06 09:43:20 +03:00
RenovateBot
fcaa729544 Update all digest updates 2024-11-05 21:02:13 +00:00
RenovateBot
8c2a6e2c19 Update ghcr.io/renovatebot/renovate Docker tag to v39 2024-11-04 21:02:13 +00:00
RenovateBot
daa2efba89 Update Rust crate thiserror to v1.0.66 2024-11-01 21:03:36 +00:00
RenovateBot
b5748505ef Update Rust crate serde to v1.0.214 2024-10-28 21:02:55 +00:00
RenovateBot
d305b1f005 Update all digest updates 2024-10-22 21:01:55 +00:00
RenovateBot
2cfba4891c Update Rust crate serde_json to v1.0.132 2024-10-19 21:01:55 +00:00
RenovateBot
777d3814d3 Update Rust crate serde_json to v1.0.131 2024-10-18 23:23:57 +00:00
RenovateBot
784ceeebdf Update Rust crate serde_json to v1.0.130 2024-10-18 21:02:00 +00:00
RenovateBot
e3675555ea Update all digest updates 2024-10-17 21:02:30 +00:00
RenovateBot
91104e214f Update Rust crate image to v0.25.3 2024-10-16 21:04:18 +00:00
RenovateBot
9198b18652 Update Rust crate clap to v4.5.20 2024-10-08 21:04:51 +00:00
RenovateBot
1ad7949828 Update Rust crate clap to v4.5.19 2024-10-01 21:03:54 +00:00
RenovateBot
b98f01a810 Update Rust crate thiserror to v1.0.64 2024-09-24 09:34:04 +00:00
RenovateBot
fa88050a52 Update all digest updates 2024-09-23 21:04:33 +00:00
RenovateBot
1123c8a56e Update all digest updates 2024-09-15 21:07:25 +00:00
RenovateBot
2eb6333552 Update Rust crate serde to v1.0.209 2024-08-24 12:51:04 +00:00
RenovateBot
c5224e006f Update Rust crate serde_json to v1.0.127 2024-08-23 21:04:54 +00:00
RenovateBot
79599f3cf4 Update Rust crate clap to v4.5.16 2024-08-15 23:00:19 +00:00
RenovateBot
7acf99b9d6 Update all digest updates 2024-08-15 21:03:43 +00:00
RenovateBot
ec542703b4 Update Rust crate serde to v1.0.207 2024-08-12 21:02:14 +00:00
RenovateBot
ee1cdda38b Update Rust crate serde_json to v1.0.124 2024-08-11 21:42:34 +00:00
RenovateBot
293a1de413 Update all digest updates 2024-08-11 21:04:17 +00:00
RenovateBot
6635d4da9a Update Rust crate clap to v4.5.15 2024-08-10 21:04:17 +00:00
RenovateBot
f549769fcf Update all digest updates 2024-08-08 21:05:42 +00:00
RenovateBot
c0a56acc0c Update Rust crate serde_json to v1.0.122 2024-08-02 21:05:34 +00:00
RenovateBot
a136dc5fa4 Update Rust crate clap to v4.5.13 2024-07-31 22:13:23 +00:00
RenovateBot
1b13f2acfc Update Rust crate clap to v4.5.12 2024-07-31 21:03:54 +00:00
RenovateBot
6c127ce028 Update Rust crate serde_json to v1.0.121 2024-07-29 21:03:12 +00:00
bc2e051741 Merge branch 'master' into renovate/ghcr.io-renovatebot-renovate-38.x 2024-07-26 17:12:49 +03:00
RenovateBot
9abd2a4558 Update ghcr.io/renovatebot/renovate Docker tag to v38 2024-07-25 21:03:45 +00:00
RenovateBot
f267a56fd0 Update Rust crate clap to v4.5.11 2024-07-25 21:03:42 +00:00
RenovateBot
1d592418af Update Rust crate clap to v4.5.10 2024-07-23 21:02:15 +00:00
RenovateBot
3448f0f930 Update Rust crate image to v0.25.2 2024-07-21 21:04:37 +00:00
039ed238a6 Added Gitea CI testing 2024-07-19 18:23:35 +04:00
b7349f9df9 Added CI check 2024-07-19 13:08:47 +00:00
12c7f0284e Added DevContainer 2024-07-19 13:08:46 +00:00
RenovateBot
5c9a691495 Update Rust crate miette to v7 2024-07-19 12:43:23 +00:00
RenovateBot
bf8be5c045 Update all digest updates 2024-07-19 12:41:15 +00:00
27 changed files with 1023 additions and 503 deletions

View File

@@ -0,0 +1,15 @@
{
"image": "mcr.microsoft.com/devcontainers/rust:latest",
"customizations": {
"vscode": {
"extensions": [
"rust-lang.rust-analyzer"
]
}
},
"runArgs": [
"--cap-add=SYS_PTRACE",
"--security-opt",
"seccomp=unconfined"
]
}

View File

@@ -1,26 +0,0 @@
name: RenovateBot
on:
schedule:
- cron: "@daily"
push:
branches:
- master
jobs:
renovate:
container: ghcr.io/renovatebot/renovate:37
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run renovate
run: |
renovate
env:
LOG_LEVEL: debug
RENOVATE_CONFIG_FILE: renovate.config.cjs
RENOVATE_REPOSITORIES: ${{ gitea.repository }}
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}

14
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
version: 2
updates:
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "devcontainers"
directory: "/"
schedule:
interval: "weekly"

View File

@@ -1,24 +1,30 @@
{ {
"assignees": [ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"valentineus"
],
"extends": [ "extends": [
"config:recommended", "config:recommended",
":disableDependencyDashboard" ":disableDependencyDashboard"
], ],
"assignees": [
"valentineus"
],
"labels": [
"dependencies",
"automated"
],
"packageRules": [ "packageRules": [
{ {
"groupName": "all digest updates", "groupName": "all digest updates",
"groupSlug": "all-digest", "groupSlug": "all-digest",
"matchPackagePatterns": [
"*"
],
"matchUpdateTypes": [ "matchUpdateTypes": [
"minor", "minor",
"patch", "patch",
"pin", "pin",
"digest" "digest"
] ],
"matchPackageNames": [
"*"
],
"automerge": true
} }
] ]
} }

View File

15
.github/workflows/mirror.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Mirror
on: [push]
jobs:
mirror:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: yesolutions/mirror-action@master
with:
REMOTE: 'https://git.popov.link/fparkan.git'
GIT_USERNAME: ${{ secrets.GIT_USERNAME }}
GIT_PASSWORD: ${{ secrets.GIT_PASSWORD }}

12
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
name: Test
on: [push, pull_request]
jobs:
test:
name: cargo test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo check --all
- run: cargo test --all-features

1317
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,6 @@
[workspace] [workspace]
resolver = "2" resolver = "2"
members = [ members = ["libs/*", "tools/*"]
"libnres",
"nres-cli",
"packer",
"texture-decoder",
"unpacker",
]
[profile.release] [profile.release]
codegen-units = 1 codegen-units = 1

View File

@@ -1,16 +0,0 @@
[package]
name = "libnres"
version = "0.1.4"
description = "Library for NRes files"
authors = ["Valentin Popov <valentin@popov.link>"]
homepage = "https://git.popov.link/valentineus/fparkan"
repository = "https://git.popov.link/valentineus/fparkan.git"
license = "GPL-2.0"
edition = "2021"
keywords = ["gamedev", "library", "nres"]
[dependencies]
byteorder = "1.4"
log = "0.4"
miette = "5.6"
thiserror = "1.0"

View File

@@ -1,25 +0,0 @@
# Library for NRes files (Deprecated)
Library for viewing and retrieving game resources of the game **"Parkan: Iron Strategy"**.
All versions of the game are supported: Demo, IS, IS: Part 1, IS: Part 2.
Supports files with `lib`, `trf`, `rlb` extensions.
The files `gamefont.rlb` and `sprites.lib` are not supported.
This files have an unknown signature.
## Example
Example of extracting game resources:
```rust
fn main() {
let file = std::fs::File::open("./voices.lib").unwrap();
// Extracting the list of files
let list = libnres::reader::get_list(&file).unwrap();
for element in list {
// Extracting the contents of the file
let data = libnres::reader::get_file(&file, &element).unwrap();
}
}
```

10
libs/nres/Cargo.toml Normal file
View File

@@ -0,0 +1,10 @@
[package]
name = "libnres"
version = "0.1.4"
edition = "2021"
[dependencies]
byteorder = "1.4"
log = "0.4"
miette = "7.0"
thiserror = "2.0"

View File

@@ -1,20 +0,0 @@
[package]
name = "nres-cli"
version = "0.2.3"
description = "Console tool for NRes files"
authors = ["Valentin Popov <valentin@popov.link>"]
homepage = "https://git.popov.link/valentineus/fparkan"
repository = "https://git.popov.link/valentineus/fparkan.git"
license = "GPL-2.0"
edition = "2021"
keywords = ["cli", "gamedev", "nres"]
[dependencies]
byteorder = "1.4"
clap = { version = "4.2", features = ["derive"] }
console = "0.15"
dialoguer = { version = "0.10", features = ["completion"] }
indicatif = "0.17"
libnres = { version = "0.1", path = "../libnres" }
miette = { version = "5.6", features = ["fancy"] }
tempdir = "0.3"

View File

@@ -1,6 +0,0 @@
module.exports = {
endpoint: "https://code.popov.link",
gitAuthor: "RenovateBot <renovatebot@noreply.localhost>",
optimizeForDisabled: true,
platform: "gitea",
};

14
tools/nres-cli/Cargo.toml Normal file
View File

@@ -0,0 +1,14 @@
[package]
name = "nres-cli"
version = "0.2.3"
edition = "2021"
[dependencies]
byteorder = "1.4"
clap = { version = "4.2", features = ["derive"] }
console = "0.16"
dialoguer = { version = "0.12", features = ["completion"] }
indicatif = "0.18"
libnres = { version = "0.1", path = "../../libs/nres" }
miette = { version = "7.0", features = ["fancy"] }
tempdir = "0.3"

View File

@@ -3,4 +3,4 @@
## Commands ## Commands
- `extract` - Extract game resources from a "NRes" file. - `extract` - Extract game resources from a "NRes" file.
- `ls` - Get a list of files in a "NRes" file. - `ls` - Get a list of files in a "NRes" file.

View File

@@ -5,4 +5,4 @@ edition = "2021"
[dependencies] [dependencies]
byteorder = "1.4.3" byteorder = "1.4.3"
image = "0.24.7" image = "0.25.0"

View File

@@ -38,4 +38,4 @@ It is essential to preserve the file index for the game to function correctly, a
Files can be replaced and packed back using the [packer](../packer). Files can be replaced and packed back using the [packer](../packer).
The newly obtained game resource files are correctly processed by the game engine. 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. For example, sounds and 3D models of warbots' weapons were successfully replaced.