a281ffa32ea615670d369503692f057b2dc60e6f
- 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.
FParkan
Open source проект с реализацией компонентов игрового движка игры «Паркан: Железная Стратегия» и набором вспомогательных инструментов для исследования.
Описание
Проект находится в активной разработке и включает:
- библиотеки для работы с форматами игровых архивов;
- инструменты для валидации/подготовки тестовых данных;
- спецификации форматов и сопутствующую документацию.
Установка
Проект находится в начальной стадии, подробная инструкция по установке пока отсутствует.
Документация
- локально: каталог
docs/ - сайт: https://fparkan.popov.link
Инструменты
Вспомогательные инструменты находятся в каталоге tools/.
- tools/archive_roundtrip_validator.py — инструмент верификации документации по архивам
NRes/RsLiна реальных файлах (включаяunpack -> repack -> byte-compare). - tools/init_testdata.py — подготовка тестовых данных по сигнатурам с раскладкой по каталогам.
Библиотеки
- crates/nres — библиотека для работы с файлами архивов NRes (чтение, поиск, редактирование, сохранение).
- crates/rsli — библиотека для работы с файлами архивов RsLi (чтение, поиск, загрузка/распаковка поддерживаемых методов).
Тестирование
Базовое тестирование проходит на синтетических тестах из репозитория.
Для дополнительного тестирования на реальных игровых ресурсах:
- используйте tools/init_testdata.py для подготовки локального набора;
- используйте оригинальную копию игры (диск или GOG-версия);
- игровые ресурсы в репозиторий не включаются, так как защищены авторским правом.
Contributing & Support
Проект активно поддерживается и открыт для contribution. Issues и pull requests можно создавать в обоих репозиториях:
- Primary development: valentineus/fparkan
- GitHub mirror: valentineus/fparkan
Основная разработка ведётся в self-hosted репозитории.
Лицензия
Проект распространяется под лицензией GNU GPL v2.
Description
Languages
Rust
69.5%
Python
30.5%