Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
1686114181
|
|||
4ca65979c9
|
|||
6e493b3fdc
|
3
.github/workflows/release.yml
vendored
3
.github/workflows/release.yml
vendored
@@ -3,6 +3,7 @@ name: Release Build
|
||||
on:
|
||||
push:
|
||||
tags: ["v*"]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -30,8 +31,6 @@ jobs:
|
||||
run: |
|
||||
mkdir release
|
||||
copy target/release/${{ env.BINARY_NAME }}.exe release/
|
||||
copy README.md release/
|
||||
copy LICENSE release/
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -713,7 +713,7 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
|
||||
|
||||
[[package]]
|
||||
name = "mhws-tex-decompressor"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
dependencies = [
|
||||
"color-eyre",
|
||||
"colored",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "mhws-tex-decompressor"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
|
Binary file not shown.
@@ -405,7 +405,7 @@ I'm sure I've checked the list, press Enter to continue"#,
|
||||
let new_patch_id = max_patch_id + 1;
|
||||
|
||||
// Create a new chunk name
|
||||
let output_chunk_name = chunk_name.with_sub_patch(new_patch_id);
|
||||
let output_chunk_name = chunk_name.set_sub_patch(new_patch_id);
|
||||
|
||||
// Add the new patch to the chunk list so it can be found in subsequent processing
|
||||
all_chunk_names.push(output_chunk_name.clone());
|
||||
|
18
src/chunk.rs
18
src/chunk.rs
@@ -123,10 +123,20 @@ impl ChunkName {
|
||||
})
|
||||
}
|
||||
|
||||
/// Add a sub patch component with the given ID
|
||||
pub fn with_sub_patch(&self, patch_id: u32) -> Self {
|
||||
/// Add or replace a sub patch component with the given ID
|
||||
pub fn set_sub_patch(&self, patch_id: u32) -> Self {
|
||||
let mut new_components = self.components.clone();
|
||||
|
||||
// Check if SubPatch already exists and replace it
|
||||
if let Some(pos) = new_components
|
||||
.iter()
|
||||
.position(|c| matches!(c, ChunkComponent::SubPatch(_)))
|
||||
{
|
||||
new_components[pos] = ChunkComponent::SubPatch(patch_id);
|
||||
} else {
|
||||
new_components.push(ChunkComponent::SubPatch(patch_id));
|
||||
}
|
||||
|
||||
Self {
|
||||
components: new_components,
|
||||
}
|
||||
@@ -289,9 +299,9 @@ mod tests {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_with_sub_patch() {
|
||||
fn test_set_sub_patch() {
|
||||
let base = ChunkName::try_from_str("re_chunk_000.pak.sub_001.pak").unwrap();
|
||||
let with_patch = base.with_sub_patch(99);
|
||||
let with_patch = base.set_sub_patch(99);
|
||||
|
||||
assert_eq!(with_patch.major_id(), Some(0));
|
||||
assert_eq!(with_patch.sub_id(), Some(1));
|
||||
|
Reference in New Issue
Block a user