From 7f0a88a6fe7e2216f18c666d04354ed57a09c907 Mon Sep 17 00:00:00 2001 From: Ranny <5338028+Rannytheory@users.noreply.github.com> Date: Sat, 31 May 2025 03:54:32 -0400 Subject: [PATCH] fix: compression does not matter for decrypt For versions 2.4+ --- repak/Cargo.toml | 1 + repak/src/entry.rs | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/repak/Cargo.toml b/repak/Cargo.toml index f9461a4..a321330 100644 --- a/repak/Cargo.toml +++ b/repak/Cargo.toml @@ -13,6 +13,7 @@ compression = ["dep:flate2", "dep:zstd", "dep:lz4_flex"] oodle = ["dep:oodle_loader", "compression"] encryption = ["dep:aes"] wuthering-waves = [] +wuthering-waves-2_4 = [] [dependencies] byteorder = "1.5" diff --git a/repak/src/entry.rs b/repak/src/entry.rs index f117809..0a2ff14 100644 --- a/repak/src/entry.rs +++ b/repak/src/entry.rs @@ -1,4 +1,4 @@ -use std::{io, process::exit}; +use std::io; use byteorder::{LE, ReadBytesExt, WriteBytesExt}; @@ -349,10 +349,8 @@ impl Entry { use aes::cipher::BlockDecrypt; let mut data_len = data.len(); - #[cfg(all(feature = "wuthering-waves", feature = "compression"))] - if let Some(Compression::Zlib) = self.compression_slot.and_then(|c| compression[c as usize]) { - data_len = data_len.min(2048); - } + #[cfg(feature = "wuthering-waves-2_4")] + { data_len = data_len.min(2048); } for block in data[..data_len].chunks_mut(16) { key.decrypt_block(aes::Block::from_mut_slice(block))