<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fparkan/crates/rsli/src/compress, branch devel</title>
<subtitle>Utilities and tools for the game "Parkan: Iron Strategy".
</subtitle>
<id>https://git.popov.link/fparkan/atom?h=devel</id>
<link rel='self' href='https://git.popov.link/fparkan/atom?h=devel'/>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/'/>
<updated>2026-02-19T09:46:23+00:00</updated>
<entry>
<title>feat(render-core): add default UV scale and refactor UV mapping logic</title>
<updated>2026-02-19T09:46:23+00:00</updated>
<author>
<name>Valentin Popov</name>
<email>valentin@popov.link</email>
</author>
<published>2026-02-19T09:46:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.popov.link/fparkan/commit/?id=efab61a45c8837d3c2aaec464d8f6243fecb7a38'/>
<id>urn:sha1:efab61a45c8837d3c2aaec464d8f6243fecb7a38</id>
<content type='text'>
- Introduced a constant `DEFAULT_UV_SCALE` for UV scaling.
- Refactored UV mapping in `build_render_mesh` to use the new constant.
- Simplified `compute_bounds` functions by extracting common logic into `compute_bounds_impl`.

test(render-core): add tests for rendering with empty and multi-node models

- Added tests to verify behavior when building render meshes from models with no slots and multiple nodes.
- Ensured UV scaling is correctly applied in tests.

feat(render-demo): add FOV argument and improve error handling

- Added a `--fov` command-line argument to set the field of view.
- Enhanced error messages for texture resolution failures.
- Updated MVP computation to use the new FOV parameter.

fix(rsli): improve error handling in LZH decompression

- Added checks to prevent out-of-bounds access in LZH decoding logic.

refactor(texm): streamline texture parsing and decoding tests

- Created a helper function `build_texm_payload` for constructing test payloads.
- Added tests for various texture formats including RGB565, RGB556, ARGB4444, and Luminance Alpha.
- Improved error handling for invalid TEXM headers and mip bounds.
</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>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>
</feed>
