aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Документирование и обновление ↵Valentin Popov9 days24-1302/+1032
| | | | | | | | | спецификаций - Обновлены спецификации `runtime-pipeline`, `sound`, `terrain-map-loading`, `texture`, `ui` и `wear`. - Добавлены разделы о статусе покрытия и оставшихся задачах для достижения 100% завершенности. - Внесены уточнения по архитектурным ролям, минимальным контрактам и требованиям к toolchain для каждой подсистемы. - Уточнены форматы данных и правила взаимодействия между компонентами системы.
* feat: Enhance model and texture loading with improved error handling and new ↵Valentin Popov10 days12-28/+985
| | | | | | | | | | | | features - Introduced `LoadedModel` and `LoadedTexture` structs for better encapsulation of model and texture data. - Added functions to load models and textures from archives, including support for resolving textures based on materials and wear entries. - Implemented error handling for missing textures, materials, and wear entries. - Updated the rendering pipeline to support texture loading and binding, including command-line arguments for texture customization. - Enhanced the `texm` crate with new decoding capabilities for various pixel formats, including indexed textures. - Added tests for texture decoding and loading to ensure reliability and correctness. - Updated documentation to reflect changes in the material and texture resolution process.
* feat(render-parity): add deterministic frame comparison toolValentin Popov10 days13-63/+1125
| | | | | | | | | - Introduced `render-parity` crate for comparing rendered frames against reference images. - Added command-line options for specifying manifest and output directory. - Implemented image comparison metrics: mean absolute difference, maximum absolute difference, and changed pixel ratio. - Created a configuration file `cases.toml` for defining test cases with global defaults and specific parameters. - Added functionality to capture frames from `render-demo` and save diff images on discrepancies. - Updated documentation to include usage instructions and CI model for automated testing.
* Refactor documentation structure and add new specificationsValentin Popov10 days30-2833/+2796
| | | | | | | | - Updated MSH documentation to reflect changes in material, wear, and texture specifications. - Introduced new `render.md` file detailing the render pipeline process. - Removed outdated sections from `runtime-pipeline.md` and redirected to `render.md`. - Added detailed specifications for `Texm` texture format and `WEAR` wear table. - Updated navigation in `mkdocs.yml` to align with new documentation structure.
* Refactor code structure for improved readability and maintainabilityValentin Popov2026-02-122-333/+616
|
* feat: добавить экспорт в формат OBJ для ↵Valentin Popov2026-02-122-50/+521
| | | | рендеринга террейна и опциональных полигонов
* feat: добавить 3D рендерер для террейна с ↵Valentin Popov2026-02-121-0/+523
| | | | поддержкой Land.msh и Land.map
* Add terrain map documentation validatorValentin Popov2026-02-122-17/+1305
| | | | This commit introduces a new Python script, `terrain_map_doc_validator.py`, which validates terrain and map documentation assumptions against actual game data. The validator checks for the presence and correctness of various data chunks in the `Land.msh` and `Land.map` files, reporting any issues found during the validation process. It also generates a summary report of the validation results, including counts of errors and warnings, and statistics related to the map and mesh data.
* feat: добавить скрипт для ↵Valentin Popov2026-02-121-0/+262
| | | | детерминированного аудита FXID "absolute parity"
* Merge branch 'master' into renovate/actions-setup-python-6.xHEADmasterValentin Popov2026-02-122-2/+2
|\
* | chore(deps): update actions/setup-python action to v6renovate[bot]2026-02-121-1/+1
| |
| * fix(deps): update all digest updatesrenovate[bot]2026-02-122-2/+2
|/
* fix: обновить срок действия авторских прав ↵Valentin Popov2026-02-122-2/+2
| | | | в документации и улучшить параметры rsync для развертывания
* fix: обновить путь развертывания в ↵Valentin Popov2026-02-121-1/+1
| | | | конфигурации rsync для корректной работы
* feat: обновить параметры SSH для ↵Valentin Popov2026-02-121-1/+1
| | | | развертывания документации с использованием rsync
* feat: добавить установку rsync и openssh-client для ↵Valentin Popov2026-02-121-0/+5
| | | | развертывания документации
* feat: добавить рабочий процесс для ↵Valentin Popov2026-02-121-0/+43
| | | | развертывания документации MkDocs при пуше в ветку master
* feat: обновить заголовки разделов в ↵Valentin Popov2026-02-122-99/+99
| | | | документации по FXID и NRes для улучшения структуры
* Implement feature X to enhance user experience and fix bug Y in module ZValentin Popov2026-02-121-282/+654
|
* feat: улучшить документацию по материалам и ↵Valentin Popov2026-02-121-8/+165
| | | | текстурам, добавить детали о сборке и парсинге
* feat: добавить поддержку атомарной замены ↵Valentin Popov2026-02-124-12/+171
| | | | файлов для Windows и тесты на максимальную длину имени
* Refactor materials and Texm documentation for clarity and completenessValentin Popov2026-02-122-248/+1016
| | | | | | | | - Updated the structure and content of the materials and Texm documentation to provide a comprehensive overview of the material subsystem in the engine. - Enhanced sections on identifiers, architecture, material layout, and runtime storage. - Improved explanations of material attributes, animation modes, and parsing behavior. - Added detailed specifications for toolchain interactions, including lossless write rules and validation recommendations. - Included pseudocode examples for parsing MAT0 and Texm formats to aid in understanding.
* feat: обновить методы обработки данных и ↵Valentin Popov2026-02-127-31/+215
| | | | улучшить обработку ошибок в библиотеке
* feat: добавить тесты для проверки ↵Valentin Popov2026-02-123-1/+355
| | | | структурных инвариантов и корректности сортировки в RsLi
* Добавлены спецификации для сетевой ↵Valentin Popov2026-02-1217-1412/+1511
| | | | подсистемы, системы звука, загрузки ландшафта, интерфейса пользователя и пайплайна выполнения. Обновлен файл навигации mkdocs.yml для включения новых документов.
* Add MSH geometry export and preview rendering toolsValentin Popov2026-02-118-370/+3245
| | | | | | - Implemented msh_export_obj.py for exporting NGI MSH geometry to Wavefront OBJ format, including model selection and geometry extraction. - Added msh_preview_renderer.py for rendering NGI MSH models to binary PPM images, featuring a primitive software renderer with customizable parameters. - Both tools utilize the same NRes parsing logic and provide command-line interfaces for listing models and exporting or rendering geometry.
* fix: обработка выхода за пределы индекса ↵Valentin Popov2026-02-104-21/+116
| | | | сортировки в архиве и улучшение декодирования LZSS с поддержкой XOR
* Implement LZSS decompression with optional XOR decryptionValentin Popov2026-02-109-681/+700
| | | | | | | | | - 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 Popov2026-02-109-97/+208
| | | | буферами вывода; обновить зависимости в nres и rsli
* feat: добавить новые тесты для обработки ↵Valentin Popov2026-02-101-0/+205
| | | | не-NRes байтов и минимальной структуры архива
* fix: добавить проверку на наличие архивов в ↵Valentin Popov2026-02-102-3/+14
| | | | тестах для nres и rsli
* fix: исправить ссылки на репозитории в ↵Valentin Popov2026-02-101-2/+2
| | | | разделе Contributing & Support
* feat: добавить начальный README с описанием ↵Valentin Popov2026-02-101-0/+55
| | | | проекта и инструкциями
* feat: добавить README для библиотеки nres с ↵Valentin Popov2026-02-102-0/+100
| | | | описанием функционала и тестирования
* Refactor tests and move them to a dedicated moduleValentin Popov2026-02-104-428/+1397
| | | | | | | | | - 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 Popov2026-02-109-1/+2354
| | | | | | | | | | - 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.
* feat: удалить файл конфигурации dependabotValentin Popov2026-02-101-14/+0
|
* feat: обновить конфигурацию CI для ↵Valentin Popov2026-02-102-6/+17
| | | | тестирования и линтинга кода
* feat: добавить скрипты для инициализации ↵Valentin Popov2026-02-106-0/+261
| | | | тестовых данных и настройки окружения
* feat: удалить устаревшие файлы и директории ↵Valentin Popov2026-02-107-23/+0
| | | | из проекта
* feat: изменить язык документации на русскийValentin Popov2026-02-101-1/+1
|
* Add .gitignore for Python and project-specific files; implement archive ↵Valentin Popov2026-02-104-6/+1172
| | | | | | | | | roundtrip validator - Updated .gitignore to include common Python artifacts and project-specific files. - Added `archive_roundtrip_validator.py` script for validating NRes and RsLi formats against real game data. - Created README.md for the tools directory, detailing usage and supported signatures. - Enhanced nres.md with practical nuances and empirical checks for game data.
* feat: обновление навигации в документации, ↵Valentin Popov2026-02-101-0/+3
| | | | добавление разделов для 3D моделей, текстур и эффектов
* feat: добавление документации по эффектам и ↵Valentin Popov2026-02-101-0/+69
| | | | частицам
* feat: добавление документации по модели ↵Valentin Popov2026-02-101-0/+314
| | | | ресурсов MSH/AniMesh
* feat: добавление документации по текстурам ↵Valentin Popov2026-02-101-0/+90
| | | | и материалам
* Add detailed documentation for NRes and RsLi resource formatsValentin Popov2026-02-096-1626/+720
| | | | | - Introduced a comprehensive markdown file `nres.md` detailing the structure, header, and operations of the NRes and RsLi formats. - Updated `mkdocs.yml` to reflect the new documentation structure, consolidating NRes and RsLi under a single entry.
* feat: обновление документации по ↵Valentin Popov2026-02-055-190/+203
| | | | алгоритмам декомпрессии и добавление файлов .gitkeep в директории libs и tools
* feat: добавление файлов .gitkeep в директории ↵Valentin Popov2026-02-052-0/+0
| | | | libs и tools
* feat: добавление файлов конфигурации Zig и ↵Valentin Popov2026-02-053-0/+84
| | | | обновление .gitignore