aboutsummaryrefslogtreecommitdiff
path: root/crates/nres
Commit message (Collapse)AuthorAgeFilesLines
* feat: добавить поддержку атомарной замены ↵Valentin Popov15 hours3-12/+75
| | | | файлов для Windows и тесты на максимальную длину имени
* feat: обновить методы обработки данных и ↵Valentin Popov15 hours1-1/+8
| | | | улучшить обработку ошибок в библиотеке
* feat: добавить тесты для проверки ↵Valentin Popov15 hours1-0/+161
| | | | структурных инвариантов и корректности сортировки в RsLi
* fix: обработка выхода за пределы индекса ↵Valentin Popov2 days2-2/+53
| | | | сортировки в архиве и улучшение декодирования LZSS с поддержкой XOR
* Implement LZSS decompression with optional XOR decryptionValentin Popov2 days1-17/+0
| | | | | | | | | - 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`.
* feat: добавить библиотеку common с ресурсами и ↵Valentin Popov2 days4-58/+85
| | | | буферами вывода; обновить зависимости в nres и rsli
* feat: добавить новые тесты для обработки ↵Valentin Popov3 days1-0/+205
| | | | не-NRes байтов и минимальной структуры архива
* fix: добавить проверку на наличие архивов в ↵Valentin Popov3 days1-2/+8
| | | | тестах для nres и rsli
* feat: добавить README для библиотеки nres с ↵Valentin Popov3 days1-0/+42
| | | | описанием функционала и тестирования
* Refactor tests and move them to a dedicated moduleValentin Popov3 days2-244/+548
| | | | | | | | | - Moved the test suite from `lib.rs` to a new `tests.rs` file for better organization. - Added a `SyntheticRsliEntry` struct to facilitate synthetic test cases. - Introduced `RsliBuildOptions` struct to manage options for building RsLi byte arrays. - Implemented various utility functions for file handling, data compression, and bit manipulation. - Enhanced the `rsli_read_unpack_and_repack_all_files` test to validate all RsLi archives. - Added new tests for synthetic entries covering all packing methods, overlay handling, and validation error cases.
* feat: add initial implementation of rsli crateValentin Popov3 days4-0/+1011
- Created Cargo.toml for the rsli crate with flate2 dependency. - Implemented ResourceData enum for handling borrowed and owned byte slices. - Added OutputBuffer trait and its Vec<u8> implementation for writing data. - Defined a comprehensive Error enum for error handling in the library. - Developed the Library struct to manage resource entries and provide methods for loading and unpacking resources. - Implemented various packing methods and decompression algorithms, including LZSS and Deflate. - Added tests for validating the functionality of the rsli library against sample data.