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

  » Программа «X4 Builder» | страница 34
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 34 из 38
На страницу: Пред.  1, 2, 3 ... 33, 34, 35, 36, 37, 38  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X4: Foundations: «Программа «X4 Builder»»
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
d.xahok :
Зачем ждать?

Не хочу сам заново писать извлечение ресурсов, если автор мне засветит свой проект, то воспользуюсь им, заодно подправлю (в частности XML редактор). Затем сделаем Модель, которая не будет привязана к конкретному устройству (ОС). Т.е. планируй хоть на телефоне... Плюс, переработать визуальный интерфейс. Ну и там дальше по плану...
    Добавлено: 16:29 14-08-2023   
d.xahok
 175 EGP


Рейтинг канала: 8(870)
Репутация: 6
Сообщения: 1744

Зарегистрирован: 19.10.2015
Леша исходниками делится без проблем, но сразу предупреждаю, что там жесткий монолит на VB.NET с хранением модели данных в XML объектах и кастомным рендером под винформом. Даже с простым чтением кода там сложно, не говоря по повторное использование чего-либо. Плюс Леша и не кодер, так что даже большой опыт с легаси не особо помогает. ))
    Добавлено: 20:54 14-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
d.xahok :
что там жесткий монолит на VB.NET

Это я уже понял, когда разобрал экзешник. Слишком много конструкций, которые явно не руками писаны.
d.xahok :
и кастомным рендером под винформом

В этом как раз основная проблема данного приложения. Ну ничего, все решаемо.
    Добавлено: 22:35 14-08-2023   
Linkor
 60 EGP

Рейтинг канала: 2(12)
Репутация: 2
Сообщения: 185

Зарегистрирован: 23.05.2023
igorVL :
Ну ничего, все решаемо.

Если что могу помочь, только я ничего не знаю кроме JS, задачки под попкорн решал на codewars. Хы...
    Добавлено: 09:21 15-08-2023   
alexusvm
 652 EGP


Модератор
Рейтинг канала: 13(2100)
Репутация: 31
Сообщения: 1583
Откуда: Москва
Зарегистрирован: 30.08.2012
igorVL :
если автор мне засветит свой проект
Дерзайте!
    Добавлено: 20:45 15-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
alexusvm :
Дерзайте!

Немного начал: https://youtu.be/AnHw0RA2bRc.
    Добавлено: 00:37 16-08-2023   
anDron
 545 EGP


Модератор
Рейтинг канала: 12(1904)
Репутация: 54
Сообщения: 5577
Откуда: Новосибирск
Зарегистрирован: 27.11.2013
А то, что осталась "секретка" - я очень удивлен. Это Лехинский для мну еще в самом начале делал вывод АйДи-шников на всяко-всячину. Когда еще только-только игра и Билдёр вышли. Для упрощения ковырялок. Забыл прибить, видать, за большим монстро-кодом... Улыбка
    Добавлено: 06:44 16-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
anDron :
на всяко-всячину

А, ну ясно Улыбка
Сделал пока "ковырялку" товаров и их локализации (08 и 09 cat). Не стал заморачиваться с написанием собственного раз'архиватора - заюзал Эгософтовский XRCatTool.exe (консольная версия).
Распаковывает оба каталога за 3 сек (примерно).
    Добавлено: 13:48 16-08-2023   
alexusvm
 652 EGP


Модератор
Рейтинг канала: 13(2100)
Репутация: 31
Сообщения: 1583
Откуда: Москва
Зарегистрирован: 30.08.2012
igorVL :
Не стал заморачиваться

 всё одно к этому придёшь...   (кликните здесь для просмотра)
(другой пилот) :
принцип выдергивания данных из игры
Берешь из папки с дистрибутивом игры все CAT-файлы. Важно их читать по порядку нумерации (в названии файла: 01, 02 и т.д.), т.к. в более старших могут лежат более свежие версии одних и тех же файлов. В CAT-файлах размечены данные из соответствующих DAT-файлов.
Например 01.cat:
Код:

assets/characters/animations/2.xsm 111354 1208774952 380e1d7ea9d0e38fa17e7e708a01ef28
assets/characters/animations/ani_approach.xsm 159933 1254917870 ed894c212bb483f7fd89b2a31d053e46

в каждой строке размечен отдельный файл:
assets/characters/animations/2.xsm - имя файла и его папка, в котором он должен лежать после извлечения (игрой);
111354 - длина файла в символах;
на остальные «1208774952» (дата файла) и «380e1d7ea9d0e38fa17e7e708a01ef28» (check-sum) не обращай внимание.

У первого файла (2.xsm) смещение в DAT-файле (01.dat) = 0, т.е. содержимое файла записано в DAT-файле с 0-го до 111354-го символа.
У второго файла (ani_approach.xsm) смещение += длина_предыдущего = 111354, а длина 159933. т.е. его содержимое записано с 111354-го до (111354+159933)-го символа. И так для всех остальных файлов.

Соответственно сначала обходишь все CAT-файлы и запоминаешь где-что лежит в DAT-файлах, затем извлекаешь по необходимости из DAT-файлов нужное. В DAT-файлах прописана простая копипаста содержимого файлов, так-что просто читаешь нужное «от и до» и пишешь в соответствующий файл или в память.

В нашем случае "нужное" - только XML-файлы, т.к. все конфиги игры лежат в них. Там вроде также есть шаблоны (XSM-файлы) для соответствующих XML-файлов, и если хочешь читать XML по фэншую, можно и их юзать.
    Добавлено: 21:41 16-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
alexusvm :
Берешь из папки с дистрибутивом игры все CAT-файлы.

Принцип мне известен. Что такое CAT и DAT файлы к счастью знаю ).
alexusvm :
У первого файла (2.xsm) смещение в DAT-файле (01.dat) = 0

Вот как раз зачем очередное изобретение велосипеда, если есть уже готовый инструмент? XRCatTool.exe как раз и делает побайтное считывание и раскладывает в выходной каталог все "по полочкам". Мне лишь остается тремя строчками кода вызвать его и передать нужные аргументы. Единственный минус его (консольной версии) то, что он выгребает все подряд; т.е. нельзя указать какой конкретный каталог внутри DAT'а мне нужен (или я не разобрался еще с этим, хелп по нему скудный). GUI (оконная версия) это умеет.
Потом, со временем, конечно можно написать свою читалку DAT'ов...

alexusvm :
Важно их читать по порядку нумерации

Это я помню еще по работе с X3. Однако, не всегда действительно все нужно и захламлять память ненужным мусором особого смысла нет.
Например, в данном случае, возьмем "Товары" (ware) - раньше 08-го DAT'а я не встретил ни одного упоминания про них. Там много всякого ненужного другого барахла. Все товары и их группы лежат в 08.dat (это фактически последний dat), а в 09.dat лежат локализации (переводы). Но когда выходят патчи/обновления или моды кто ставит, то да - могут добавится еще DAT'ы с номерами повыше, которые нужно будет подхватывать.

Вот так распаковывает XRCatTool:
 Cкрытый текст   (кликните здесь для просмотра)

 Cкрытый текст   (кликните здесь для просмотра)

 Cкрытый текст   (кликните здесь для просмотра)

То есть структура полностью сохранена.

Последний раз редактировалось: igorVL (23:00 16-08-2023), всего редактировалось 1 раз
    Добавлено: 22:58 16-08-2023   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 11(1683)
Репутация: 54
Сообщения: 4264

Зарегистрирован: 12.08.2014
X Catalog Tool Version 1.11
Copyright (c) 2019 EGOSOFT

X Tools.rar
 Описание:
Стекстовиком readme с командами
 Имя файла:  X Tools.rar
 Размер файла:  1.6 MB
 Скачано:  46 раз(а)
Readme.rar
 Описание:
 Имя файла:  Readme.rar
 Размер файла:  4.67 KB
 Скачано:  40 раз(а)

_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH

Последний раз редактировалось: alexalsp (02:09 17-08-2023), всего редактировалось 3 раз(а)
    Добавлено: 02:05 17-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
alexalsp :
X Catalog Tool Version 1.11

Ну вот, уже лучше.
 Cкрытый текст   (кликните здесь для просмотра)
-include <patterns> Include all files matching the following regular expression(s).
-exclude <patterns> Exclude all files matching the following regular expression(s) from the already included files.
    Добавлено: 02:11 17-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
Часть 2. Распаковка и выборка данных.
 Cкрытый текст   (кликните здесь для просмотра)


Последний раз редактировалось: igorVL (15:49 17-08-2023), всего редактировалось 1 раз
    Добавлено: 15:49 17-08-2023   
Linkor
 60 EGP

Рейтинг канала: 2(12)
Репутация: 2
Сообщения: 185

Зарегистрирован: 23.05.2023
igorVL :
Часть 2. Распаковка и выборка данных.

Комментировать сложно, всё интересно, но ничего не понятно. Улыбка
Распаковывать думаю лучше всё, мало ли кому пригодится в будущем, с обновлением согласен, заново уже распакованные не надо распаковывать.
Не думал, что C# так на JS похож. Теперь понятно почему на codewars столько похожих ответов, люди просто решают задачу на одном языке, а на других просто переписывают на другой язык лучшее решение.
    Добавлено: 12:16 18-08-2023   
d.xahok
 175 EGP


Рейтинг канала: 8(870)
Репутация: 6
Сообщения: 1744

Зарегистрирован: 19.10.2015
Linkor :
Не думал, что C# так на JS похож.

Все языки на базе C похожи, на первый взгляд.
    Добавлено: 12:31 18-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
Linkor :
Распаковывать думаю лучше всё, мало ли кому пригодится в будущем

Для этого как раз и есть XTool эгософтовский.
А вот для программы, ну, допустим, расчет комплексов - многое абсолютно не нужно. Например, зачем нам MD (скрипты миссий)? Просто чтоб бесполезно в памяти висело? Улыбка
Linkor :
но ничего не понятно

А и не нужно тут особо понимать - это не гайд по программированию на C# Улыбка. Комментировать - имелось в виду подкидывать идеи алгоритмического плана, функционала и т.п.
Linkor :
люди просто решают задачу на одном языке, а на других просто переписывают на другой язык лучшее решение.

Да да. Так и есть.
d.xahok :
Все языки на базе C похожи

С(++) базисный ЯП, почти все остальные производные от него.
    Добавлено: 13:11 18-08-2023   
Linkor
 60 EGP

Рейтинг канала: 2(12)
Репутация: 2
Сообщения: 185

Зарегистрирован: 23.05.2023
igorVL :
Комментировать - имелось в виду подкидывать идеи алгоритмического плана, функционала и т.п.

По модам я бы накидал, а к билдеру, что тут можно подкинуть он как справочник.
    Добавлено: 15:04 18-08-2023   
S!rAssassin
 112 EGP


Рейтинг канала: 9(1024)
Репутация: 11
Сообщения: 1106
Откуда: Смоленск, Россия
Зарегистрирован: 01.11.2006
Только лишь портативный вариант программы, хоть и без загрузки актуального сейва игрока, но с возможностью рассчитать станцию, одну или несколько, используя усредненные данные игры.

А если можно будет и сейв подгрузить - Супер!

Давно билдером не пользовался, может уже есть, но хорошо бы иметь возможность расчета приблизительного времени прибытия, а следовательно и прибытия ресурсов и убытия товаров еденицами груза в час, задавая условия откудас-что-куда-чем. Если будут учтены не только базовые ТТХ транспортников, но и установленные Босо-моды - билдеру, как расчетчику, цены не будет.
_________________
«Война, торговля и разбой - три вида сущности одной» (c) Гёте. Про творение Эгософта говорил, не иначе :)

Последний раз редактировалось: S!rAssassin (17:48 18-08-2023), всего редактировалось 1 раз
    Добавлено: 16:41 18-08-2023   
igorVL
 47 EGP

Рейтинг канала: 5(112)
Репутация: 2
Сообщения: 134

Зарегистрирован: 04.08.2023
S!rAssassin :
Только лишь портативный вариант программы

Ну он и есть портативный (без инсталлятора). На сколько я понял, у Алексея прога хранит настройки в реестре. Я пока с этим не определился; не каждому нравится реестр "засорять", хотя вроде бы он для этого и предназначен ).
S!rAssassin :
А если можно будет и сейв подгрузить

Это по-любому надо.
S!rAssassin :
прибытия ресурсов и убытия товаров еденицами груза в час, задавая условия откудас-что-куда-чем

Пока смутно представляю пользу от этого. Да и расчетные данные будут весьма-весьма поверхностными, т.к. на движение кораблей в игре влияет много факторов. Плюс к этому, думаю, забивать в прогу кто-что везет и от куда - будет довольно "квестовым" действом Хы...
Хотя, если потом хорошо покумекать над этим, может что и придумается...

добавлено спустя 54 минуты:
Часть 3. Проверка CAT/DAT файлов.

Последний раз редактировалось: igorVL (20:04 18-08-2023), всего редактировалось 1 раз
    Добавлено: 20:04 18-08-2023   
S!rAssassin
 112 EGP


Рейтинг канала: 9(1024)
Репутация: 11
Сообщения: 1106
Откуда: Смоленск, Россия
Зарегистрирован: 01.11.2006
igorVL :
без инсталлятора

Я имел ввиду мобильную версию, прошу прощения.
igorVL :
Пока смутно представляю пользу от этого.

Хоть примерный расчет логистики при разнесенном производстве. Понимаю, многие просто строят мегакомплексы аля руда->Асгард. Но мне больше по душе ставить добывающие хабы и торговые станции для распределения товаров себе и неписям.
_________________
«Война, торговля и разбой - три вида сущности одной» (c) Гёте. Про творение Эгософта говорил, не иначе :)
    Добавлено: 11:07 19-08-2023   
Канал X4: Foundations: «Программа «X4 Builder»»
На страницу: Пред.  1, 2, 3 ... 33, 34, 35, 36, 37, 38  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Я не гений, но уже достаточно близок к сумасшествию. (признался BuH)

  » Программа «X4 Builder» | страница 34
Каналы: Новости | 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