From 842f4a85693b418af81560738aa3136ac500d9b1 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Tue, 10 Feb 2026 08:38:58 +0000 Subject: Implement LZSS decompression with optional XOR decryption - Added `lzss_decompress_simple` function for LZSS decompression in `lzss.rs`. - Introduced `XorState` struct and `xor_stream` function for XOR decryption in `xor.rs`. - Updated `mod.rs` to include new LZSS and XOR modules. - Refactored `parse_library` function in `parse.rs` to utilize the new XOR decryption functionality. - Cleaned up and organized code in `lib.rs` by removing redundant functions and structures. - Added tests for new functionality in `tests.rs`. --- crates/nres/src/lib.rs | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'crates/nres') diff --git a/crates/nres/src/lib.rs b/crates/nres/src/lib.rs index 300dce1..0cd9e22 100644 --- a/crates/nres/src/lib.rs +++ b/crates/nres/src/lib.rs @@ -232,23 +232,6 @@ impl EditableEntry { EntryData::Modified(vec) => vec.as_slice(), } } - - fn data_mut(&mut self, source: &Arc<[u8]>) -> &mut Vec { - // Check if we need to copy-on-write - if matches!(&self.data, EntryData::Borrowed(_)) { - let range = match &self.data { - EntryData::Borrowed(r) => r.clone(), - _ => unreachable!(), - }; - let copied = source[range].to_vec(); - self.data = EntryData::Modified(copied); - } - // Now we have Modified variant, return mutable reference - match &mut self.data { - EntryData::Modified(vec) => vec, - _ => unreachable!(), - } - } } #[derive(Clone, Debug)] -- cgit v1.2.3