<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fparkan/crates/rsli, branch master</title>
<subtitle>Utilities and tools for the game "Parkan: Iron Strategy".
</subtitle>
<id>https://git.popov.link/fparkan/atom?h=master</id>
<link rel='self' href='https://git.popov.link/fparkan/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/'/>
<updated>2026-02-11T22:00:46+00:00</updated>
<entry>
<title>feat: добавить поддержку атомарной замены файлов для Windows и тесты на максимальную длину имени</title>
<updated>2026-02-11T22:00:46+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-11T22:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=3c06e768d603ea4452fc95cc48951af9270f76a1'/>
<id>urn:sha1:3c06e768d603ea4452fc95cc48951af9270f76a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: обновить методы обработки данных и улучшить обработку ошибок в библиотеке</title>
<updated>2026-02-11T21:43:40+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-11T21:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=662b292b5b47d0f7df3b19808db746bbc2ecc48c'/>
<id>urn:sha1:662b292b5b47d0f7df3b19808db746bbc2ecc48c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: добавить тесты для проверки структурных инвариантов и корректности сортировки в RsLi</title>
<updated>2026-02-11T21:21:32+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-11T21:21:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=3410b54793c3a1808e58d0fae94fb2ebd5f81015'/>
<id>urn:sha1:3410b54793c3a1808e58d0fae94fb2ebd5f81015</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: обработка выхода за пределы индекса сортировки в архиве и улучшение декодирования LZSS с поддержкой XOR</title>
<updated>2026-02-10T08:57:00+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-10T08:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=ba1789f10607f5a6cba5863128d31f776b8e59cc'/>
<id>urn:sha1:ba1789f10607f5a6cba5863128d31f776b8e59cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement LZSS decompression with optional XOR decryption</title>
<updated>2026-02-10T08:38:58+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-10T08:38:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=842f4a85693b418af81560738aa3136ac500d9b1'/>
<id>urn:sha1:842f4a85693b418af81560738aa3136ac500d9b1</id>
<content type='text'>
- 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`.
</content>
</entry>
<entry>
<title>feat: добавить библиотеку common с ресурсами и буферами вывода; обновить зависимости в nres и rsli</title>
<updated>2026-02-10T08:26:49+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-10T08:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=ce6e30f7272fd0c064ef52ac85cad1c0f05fd323'/>
<id>urn:sha1:ce6e30f7272fd0c064ef52ac85cad1c0f05fd323</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: добавить проверку на наличие архивов в тестах для nres и rsli</title>
<updated>2026-02-09T23:54:30+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-09T23:54:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=ab413bd7512257b5292539cda2d574452bae2d04'/>
<id>urn:sha1:ab413bd7512257b5292539cda2d574452bae2d04</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: добавить README для библиотеки nres с описанием функционала и тестирования</title>
<updated>2026-02-09T23:15:43+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-09T23:15:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=a24910791e45a9c5ab4f392fc5bd3a1cb0975349'/>
<id>urn:sha1:a24910791e45a9c5ab4f392fc5bd3a1cb0975349</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor tests and move them to a dedicated module</title>
<updated>2026-02-09T23:11:11+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-09T23:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=371a060eb685a2b76651689689dfa07461f69c7e'/>
<id>urn:sha1:371a060eb685a2b76651689689dfa07461f69c7e</id>
<content type='text'>
- 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.
</content>
</entry>
<entry>
<title>feat: add initial implementation of rsli crate</title>
<updated>2026-02-09T22:58:16+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-09T22:58:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=e08b5f3853784e2fb8dc016d4a149c1a2282f127'/>
<id>urn:sha1:e08b5f3853784e2fb8dc016d4a149c1a2282f127</id>
<content type='text'>
- 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&lt;u8&gt; 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.
</content>
</entry>
</feed>
