Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » [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
 Скачано:  5 раз(а)


Последний раз редактировалось: igorVL (20:03 30-05-2026), всего редактировалось 2 раз(а)
    Добавлено: 20:00 30-05-2026   
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 раз
    Добавлено: Вчера в 19:21   
Канал X4: Foundations: «[SOFT] X4:Полезный софт и модули для разработчиков»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Медленно ракеты уплывают вдаль, их обратно ты уже не жди... (подпись Maxster'a)

  » [SOFT] X4:Полезный софт и модули для разработчиков | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18