ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Программа «X4 Builder» | страница 36 |
|
|
|
Канал X4: Foundations: «Программа «X4 Builder»» |
|
|
alexalsp
521 EGP
      Рейтинг канала: 12(1921) Репутация: 56 Сообщения: 4560
Зарегистрирован: 12.08.2014
 |
|
Информация страниц в языках, это только информация какой Page для чего. Можно только брать
лишне отсекать.
Я предполагаю. что эти данные в базе данных нужны только если вы соберетесь из базы обратное конвертирование в xml делать. Но для программы это лишняя информация.
А конфиг, как вы ис казали, можно рядом ложить типа INI, C N F или TXT
А можно это вынести в опции типа
1) сохранять настройки программы
- в реестр
- в файл
кому куда нравится.
Но это так, мысли в слух... Печатать не нам...
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите.... |
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexalsp : |
Но для программы это лишняя информация.
|
Да, я знаю, но остальные атрибуты много не занимают, на всякий случай пусть объект будет целым, как есть.
Конфиг уже сделал рядом с прогой XML файл. Может вообще JSON будет. Да это мелочи, не суть кака важно.
А читает языки из базы очень хорошо, в 7 раз быстрее, чем из файла. Но вот запись в базу дооолгая, наверное и поиск/обновление будет не таким быстрым, как я ожидал. Из-за этого отклонил идею с базой.
|
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
Доработал функцию чтения данных из языковых файлов, теперь она рекурсивная и считывает (получает текст) для всех вхождений блоков {xxx,xxx}.
Т.е. строка вида: Приобретите у союзников чертежи '{20104,61301}', '{20104,60301}' или '{20104,60401}'. прочитается как:
Приобретите у союзников чертежи 'Производственный отсек S/M-кораблей', 'Производственный отсек L-кораблей(L Ship Fabrication Bay)' или 'Производственный отсек XL-кораблей(XL Ship Fabrication Bay)'.
|
|
|
alexalsp
521 EGP
      Рейтинг канала: 12(1921) Репутация: 56 Сообщения: 4560
Зарегистрирован: 12.08.2014
 |
|
Комментарий - в игре не видно.
Код: |
(XL Ship Fabrication Bay) |
Текст - отображается в скобках
Код: |
\(XL Ship Fabrication Bay\) |
Так что все комменты можно отрезать.
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите....
Последний раз редактировалось: alexalsp (15:58 23-08-2023), всего редактировалось 1 раз |
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexalsp : |
Так что все комменты можно отрезать.
|
Понял. Там еще бывают переменные подставные типа %nnnnnn, они тоже в программе наверное не нужны. Это чисто игровые вещи..
|
|
|
alexalsp
521 EGP
      Рейтинг канала: 12(1921) Репутация: 56 Сообщения: 4560
Зарегистрирован: 12.08.2014
 |
|
igorVL : |
alexalsp : |
Так что все комменты можно отрезать.
|
Понял. Там еще бывают переменные подставные типа %nnnnnn, они тоже в программе наверное не нужны. Это чисто игровые вещи..
|
Тут я не скажу. Если программа их ни как не обрабатывает , возмоджно и не нужны.
Может alexusvm в курсе...
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите....
Последний раз редактировалось: alexalsp (19:21 23-08-2023), всего редактировалось 1 раз |
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexalsp : |
Если программа их ни как не обрабатывает
|
Ну в игре такие строки работают так: допустим сообщение "Потрачено %1 Кр." где вместо %1 подставляется сумма, которую потратили. Точно так же подставляются имена товаров, кораблей, станций...
Используется в основном в диалогах и сообщениях.
В программе пока не вижу явного применения этому. Но время покажет.
|
|
|
alexusvm
660 EGP
        Рейтинг канала: 14(2362) Репутация: 31 Сообщения: 1592 Откуда: Москва Зарегистрирован: 30.08.2012
 |
|
Сначала загрузи всё нужные конфиги игры и запомни все ссылки на тексты (по нодам name и description) + добавь тексты для интерфейса проги. А локаль грузи уже последней и бери из неё только нужное. Из всей локали понадобится дай бог 10%
добавлено спустя 9 минут:
И про конфиги и локали ДЛЦух не забывай. Конфиги расширений могут добавлять, удалять или изменять ванильные данные игры (см. по корневым нодам add, remove, replace).
Последний раз редактировалось: alexusvm (07:54 24-08-2023), всего редактировалось 1 раз |
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexusvm : |
Из всей локали понадобится дай бог 10%
|
Как впрочем и из всех DAT'ов вместе взятых... Посмотрел повнимательнее на содержание, пока пришел к следующему:
полезная инфа содержится только в 01, 08 и 09 dat'ах. Из 02.dat можно интересные звуки игровые подоставать.
Из 01.dat нужны только XML'ы конкретных объектов (корабли/станции/модули/вооружение...), находящиеся в папках 'macros'. Это 1-2% от веса всего DAT'а.
Из 08.dat из папки 'libraries' тоже несколько файлов.
Т.е. если все эти папки и файлы всегда находятся на своих местах и их расположение не меняется со временем (патчи/обновления), то для минимального функционала проги прочесывать все DAT'ы ванильной игры нет смысла от слова совсем. Только если какой-то DAT был изменен, можно снова распаковать нужные XML'ы и сверить их содержание.
Если в корневой папке игры появляется новый DAT (равно как и в папках модов), вот его(их) уже нужно исследовать на предмет содержания файлов, которые могли быть изменены/дополнены.
|
|
|
alexalsp
521 EGP
      Рейтинг канала: 12(1921) Репутация: 56 Сообщения: 4560
Зарегистрирован: 12.08.2014
 |
|
03 вообще можно пропускать это озвучка. Файлы же могут быть в каждом кате , тот что в последнем тот и новее.
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите....
Последний раз редактировалось: alexalsp (15:50 24-08-2023), всего редактировалось 1 раз |
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexalsp : |
03 вообще можно пропускать это озвучка
|
ну я и говорю, нужные только 1, 8 и 9. Остальное шлак )
alexalsp : |
тот что в последнем тот и новее
|
Да.
|
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexusvm : |
всё одно к этому придёшь...
|
Пришел...
Разве что технология будет немного иная.
|
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
Часть 7. Чтение CAT...
|
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
Как-то вот так:
Cкрытый текст (кликните здесь для просмотра)
|
03,04 DAT'ы пустые (без XML), в 06 - ни о чем, в 07- 155 штук, но надо смотреть что там.
Итого, без учета DLC получается:
01 - от сюда нужны макро-описания
02 - под вопросом...
05 - под вопросом...
07 - ?
08 - основная библиотека
09 - переводы
|
|
|
alexalsp
521 EGP
      Рейтинг канала: 12(1921) Репутация: 56 Сообщения: 4560
Зарегистрирован: 12.08.2014
 |
|
Что то отчетами интересными не делится )) Наверное загулял ...
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите.... |
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexalsp : |
Что то отчетами интересными не делится )) Наверное загулял ...
|
Привет, нет, просто занят на другой работе малость.
Я почти доделал одну тузлу для исследования и работы с ресурсами игры, скоро видео запишу.
Плюс еще один момент в программе Алексея, который следует исправить, покажу.
|
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
Часть 8.
|
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
Проверка тулзы после переустановки игры вместе со всеми DLC и тремя модами.
Мой чекер поймал все измененное и дополненное:
Cкрытый текст (кликните здесь для просмотра)
|
после принятия изменений - кнопка "Accept":
Cкрытый текст (кликните здесь для просмотра)
|
содержание дампа:
Cкрытый текст (кликните здесь для просмотра)
[
{
"Id": "root_01",
"Name": "01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T18:27:50.3973362+03:00",
"Length": 5352262
},
{
"Id": "root_02",
"Name": "02.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T18:36:20.8107392+03:00",
"Length": 160664
},
{
"Id": "root_03",
"Name": "03.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T18:27:50.6570975+03:00",
"Length": 13035956
},
{
"Id": "root_04",
"Name": "04.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T18:54:33.9822796+03:00",
"Length": 11299
},
{
"Id": "root_05",
"Name": "05.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T18:27:50.4350214+03:00",
"Length": 6285794
},
{
"Id": "root_06",
"Name": "06.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T18:58:49.2317074+03:00",
"Length": 142992
},
{
"Id": "root_07",
"Name": "07.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T18:27:50.438021+03:00",
"Length": 341013
},
{
"Id": "root_08",
"Name": "08.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T19:07:16.9529047+03:00",
"Length": 67108
},
{
"Id": "root_09",
"Name": "09.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\",
"LastModifyTime": "2023-09-15T19:06:09.959422+03:00",
"Length": 884
},
{
"Id": "better_kill_credit_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\better_kill_credit\\",
"LastModifyTime": "2023-09-15T19:33:10.6723369+03:00",
"Length": 144
},
{
"Id": "ego_dlc_boron_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_boron\\",
"LastModifyTime": "2023-09-15T18:27:50.6696273+03:00",
"Length": 1140195
},
{
"Id": "ego_dlc_boron_ext_02",
"Name": "ext_02.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_boron\\",
"LastModifyTime": "2023-09-15T19:27:15.545256+03:00",
"Length": 23991
},
{
"Id": "ego_dlc_boron_ext_03",
"Name": "ext_03.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_boron\\",
"LastModifyTime": "2023-09-15T19:29:30.9715001+03:00",
"Length": 6000
},
{
"Id": "ego_dlc_pirate_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_pirate\\",
"LastModifyTime": "2023-09-15T18:27:50.6666263+03:00",
"Length": 792963
},
{
"Id": "ego_dlc_pirate_ext_02",
"Name": "ext_02.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_pirate\\",
"LastModifyTime": "2023-09-15T19:24:59.8406333+03:00",
"Length": 5108
},
{
"Id": "ego_dlc_pirate_ext_03",
"Name": "ext_03.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_pirate\\",
"LastModifyTime": "2023-09-15T19:23:39.5851391+03:00",
"Length": 6745
},
{
"Id": "ego_dlc_split_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_split\\",
"LastModifyTime": "2023-09-15T18:27:50.6606281+03:00",
"Length": 972742
},
{
"Id": "ego_dlc_split_ext_02",
"Name": "ext_02.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_split\\",
"LastModifyTime": "2023-09-15T19:15:50.9013509+03:00",
"Length": 1334
},
{
"Id": "ego_dlc_split_ext_03",
"Name": "ext_03.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_split\\",
"LastModifyTime": "2023-09-15T19:14:46.9358067+03:00",
"Length": 5778
},
{
"Id": "ego_dlc_terran_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_terran\\",
"LastModifyTime": "2023-09-15T18:27:50.6636279+03:00",
"Length": 1626860
},
{
"Id": "ego_dlc_terran_ext_02",
"Name": "ext_02.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_terran\\",
"LastModifyTime": "2023-09-15T19:21:13.4444255+03:00",
"Length": 22253
},
{
"Id": "ego_dlc_terran_ext_03",
"Name": "ext_03.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_terran\\",
"LastModifyTime": "2023-09-15T19:22:03.42716+03:00",
"Length": 8134
},
{
"Id": "ego_dlc_ventures_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_ventures\\",
"LastModifyTime": "2023-09-15T19:32:45.4625571+03:00",
"Length": 3888
},
{
"Id": "ego_dlc_ventures_ext_02",
"Name": "ext_02.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_ventures\\",
"LastModifyTime": "2023-09-15T19:32:46.1451288+03:00",
"Length": 859
},
{
"Id": "ego_dlc_ventures_ext_03",
"Name": "ext_03.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\ego_dlc_ventures\\",
"LastModifyTime": "2023-09-15T19:32:46.2635693+03:00",
"Length": 55969
},
{
"Id": "vro_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\vro\\",
"LastModifyTime": "2023-09-15T19:33:09.2513738+03:00",
"Length": 362006
},
{
"Id": "vro_assets_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\vro_assets\\",
"LastModifyTime": "2023-09-15T19:33:10.0390624+03:00",
"Length": 16965
},
{
"Id": "x4_fireandsmoke_ext_01",
"Name": "ext_01.cat",
"Path": "F:\\SteamLibrary\\steamapps\\common\\X4 Foundations\\extensions\\x4_fireandsmoke\\",
"LastModifyTime": "2023-09-15T19:33:10.4292792+03:00",
"Length": 70088
}
]
|
Дампы и конфиги переделал в JSON-формат. От XML уже в глазах рябит..
|
|
|
alexalsp
521 EGP
      Рейтинг канала: 12(1921) Репутация: 56 Сообщения: 4560
Зарегистрирован: 12.08.2014
 |
|
Как то все притихли
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите.... |
|
|
igorVL
62 EGP Рейтинг канала: 5(115) Репутация: 2 Сообщения: 142
Зарегистрирован: 04.08.2023
 |
|
alexalsp : |
Как то все притихли
|
Всем привет! Нахожусь в длительной командировке, нет технической возможности работать над проектом.
Кое-какие эксперименты провел перед отъездом - результат частичного чтения нужных элементов из DAT-файлов (выборочно) по смещению и размеру отличный!
добавлено спустя 5 минут:
Т.е. нужные компоненты можно реально доставать "на лету", не выгребая все сразу перед стартом приложения.
Так же, на уме мысль прикрутить некую "библиотеку" автодополнений, ну тобишь... Много людей знают где могут находится интересные куски - их нужно как-то собирать в какую-то "базу знаний"... Что-то типа такого.
Не хотел раньше времени говорить, лучше видос записать с пояснениями, при оказии.
Последний раз редактировалось: igorVL (17:46 04-11-2023), всего редактировалось 1 раз |
|
|
|
|
|
Канал X4: Foundations: «Программа «X4 Builder»» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: Главное - концепция, а цвет не важен, к тому же для такой кнопки голубой будет довольно ахтунговен! (void*)
|
» Программа «X4 Builder» | страница 36 |
|