ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
| » [SOFT] X4:Полезный софт и модули для разработчиков | страница 1 |
 |
Страница 1 из 1 |
|
|
|
|
Канал X4: Foundations: «[SOFT] X4:Полезный софт и модули для разработчиков» |
|
|
|
igorVL
64 EGP Рейтинг канала: 5(169) Репутация: 2 Сообщения: 181
Зарегистрирован: 04.08.2023
 |
|
Приветы всем пилотам и камрадам!
Решил я, все-таки, открыть свой топик с полезным и не очень софтом, а так же всякими мыслями по этому поводу. Думаю, хватит уже "сорить" в чужих темах )).
По мере появления чего-то такого - буду выкладывать эти вещи здесь.
С момента моей последней активности по этим вопросам (в ветке от Алексея alexusvm про Билдер) прошло довольно много времени. Кое-какие наработки я тогда начинал, но пришлось "соскочить" с темы, т.к. погряз в основных рабочих процессах..
Сейчас стали появляться свободные "окна", т.о. думаю, смогу иногда тоже поучаствовать в коллективном "ломании" игры X4 )).
Считаю, что мои разработки/мысли/советы будут полезны и другим разработчикам/игрокам.
добавлено спустя 11 минут:
И начну я, пожалуй, с небольшой утилитки для чтения параметров файлов сохранения "X4 ProfilerViewer".
Написал сегодня утром, буквально за час-полтора. Это будет задел для дальнейшей работы по теме поиска брошенных (ничейных) объектов по вселенной X4.
Особенности:
- находит вхождения папки "Save" в указанном каталоге или корневом каталоге по умолчанию "..\\Egosoft\X4\".
- в каталоге по умолчанию (или указанном) находит все "номерные" папки от стима и просматривает их на предмет наличия папки "Save".
- валидные файлы сохранений формата: "quicksave.xml" и "save_NNN.xml".
- найденные профили игроков отображаются в древовидном списке по имени профиля.
- при выделении конкретного файла сохранки из профиля в списке - справа выводится информация о данном сохранении (имя, дата/время, имя игрока, деньги, текущая локация, версия игры, стартовый сюжет, модифицированность "да/нет").
Т.е. софтина находит все профили и их сохранки, обычные стоковые и/или стим-версий.
TODO:
1. Сопоставить название сюжетного старта с "нормальным" названием из файлов игры.
2. Сопоставить название локации из файлов игры, по указанным ссылкам "{xxx,yyy}".
https://iimg.su/i/bLMWlX
К сожалению, мои прошлые наработки по теме X4 канули в лету, поэтому приходится сейчас изучать/вспоминать иерархию файлов игры X4 (CAT/DAT), что где находится и все такое. Т.е. фактически начинать с начала.
| X4_ProfilerViewer_beta.7z |
| Описание: |
| Читалка SAVE-файлов (параметры). Beta-версия 1.0.0.0. |
|
| Имя файла: |
X4_ProfilerViewer_beta.7z |
| Размер файла: |
215.16 KB |
| Скачано: |
3 раз(а) |
Последний раз редактировалось: igorVL (20:03 30-05-2026), всего редактировалось 2 раз(а) |
|
|
|
igorVL
64 EGP Рейтинг канала: 5(169) Репутация: 2 Сообщения: 181
Зарегистрирован: 04.08.2023
 |
|
Разработал две легкие библиотеки для быстрого поиска и извлечения XML-ресурсов игры (файлы CAT/DAT).
Библиотеки могут быть подключены к любым другим проектам (C#, VB, Java ...) и выполнять функции "извлекаторов" необходимой информации из DAT-каталогов игры X4.
Суть работы следующая:
CAT-библиотека производит поиск всех значимых CAT-файлов внутри папки игры X4 и считывает их содержимое. Имеется настройка игнорирования файлов, т.е. тех CAT-файлов, читать которые не нужно (напр. 03.dat, 04.dat).
После прочтения всех найденных CAT-файлов, внутри объекта "CatDataList" содержится список объектов "CatData", в каждом из которых содержится информация о конкретной игровой модели (путь внутри DAT, имя ресурса, смещение от начала DAT-файла, размер).
Реализован метод поиска "Search()" конкретной игровой модели по ее пути и имени. Результатом поиска будет объект "CatData", содержащий необходимые сведения для извлечения этой модели из соответствующего DAT-файла.
DAT-библиотека имеет методы для бинарного чтения конкретной модели из соответствующего DAT-файла. В аргумент метода передается объект "CatData", который следует извлечь. Результат чтения - массив прочитанных байт конкретной игровой модели.
Далее, в зависимости от алгоритма текущего контекста проекта, результат можно преобразовать в различные общепринятые форматы (XML-Document, Stream, MemoryStream, string и т.п.) и использовать в своем коде.
Чтение из DAT-файла происходит "кусочно" (бинарный доступ), т.е. вычитывается конкретная часть (модель) по известному смещению и размеру. Таким образом, загружать весь километровый DAT-файл в память нет необходимости. Время доступа и извлечения необходимой информации минимально (доли сек).
добавлено спустя 33 минуты:
Попутно с разработкой вышеназванных библиотек, создается оконное приложение для их тестирования, аля "Проводник ресурсов X4":
|
Скрин X4 Resource Explorer (кликните здесь для просмотра)
|
Само это приложение, в последствии, возможно будет полезно для чего-нибудь само по себе.
Последний раз редактировалось: igorVL (19:21 01-06-2026), всего редактировалось 1 раз |
|
|
|
|
|
|
|
|
Канал X4: Foundations: «[SOFT] X4:Полезный софт и модули для разработчиков» |
|
|
| К списку каналов | Наверх страницы |
Цитата не в тему: Я незнаю чего ты добиваешься но мне это ненравится. (Ильичев Сергей)
|
| » [SOFT] X4:Полезный софт и модули для разработчиков | страница 1 |
|