Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ — Об игре (http://www.trainsim.ru/forum/forumdisplay.php?f=22)
-   -   Пакуем все зависимости независимо от уровня вложенности (http://www.trainsim.ru/forum/showthread.php?t=8508)

genesis 07.10.2009 20:36

Пакуем все зависимости независимо от уровня вложенности
 
Куиды набили оскомину здесь всем, в этом я не сомневаюсь. Причем даже несмотря на выкладку сотен мегабайт паков объектов к карте, желтые паззлы красуются на карте, сессиях, других объектах и т.п. Почему?

Суть такова. Возьмем к примеру сигналку (да, знаю, с ней проблем мало, т.к. у всех скачан полный ее пак со всеми шмотками, но как пример подойдет). Никакая карта без нее не обойдется. Итак, при поготовке к выкладке автор выбирает в CM View Dependencies -> View in Main List -> Save to CDP и со спокойной совестью выкладывает это все на сервер. Но вернемся к светофорам, ведь помимо самого светофора есть еще множество разных объектов от которых он зависит - линзы, таблички, текстуры, тысячи их. И главное - в том списке зависимостей к карте они никак не отображаются. Что, в принципе, логично. Однако, нас интересует, как с этим совладать. И я привожу один простой рецепт. Соль в pick list'е:
[IMG]http://img61.imageshack.us/img61/304/69391055.png[/IMG]
Он слева (спасибо, кэп :)) В нем уже находится подопытный кролик, можно приступать к работе:
[IMG]http://img129.imageshack.us/img129/8966/24298901.png[/IMG]
Нажимаем на выбранный пункт и вуаля:
[IMG]http://img410.imageshack.us/img410/2464/31904753.png[/IMG]
Слоупоки скажут мне: и что? А тем временем уже все это выделено и Add all local dependencies нажато вновь:
[IMG]http://img410.imageshack.us/img410/5784/41800932.png[/IMG]
При обычной запаковке тема "Ищу куиды" уже полнилась бы просьбами выложить некий <kuid:293946:100123>. Если бы я взял карту, то списочек при втором выделении пополнился бы невидимыми путями для индустрий, стрелок и КС, у сессий - телегами и кабинами и т. д. Такие дела.
Далее просто нажимаем кнопку View in main list и пакуем в CDP, как обычно.

И не надо пренебрежительно относиться к DLS, она спасает мою коллекцию зарубежных дополнений уже в который раз. Я не знаю, что делать не владеющему русским языком пользователю, у которого не хватает 9000 куидов к карте Лесная - Яр.

alex-p 07.10.2009 22:07

Спасибо за информацию.

Skif 08.10.2009 10:51

Я так и сам делаю, испытанный способ.

Stas04 09.10.2009 13:24

Млин! А я не знал... Всё так несложно!
СПС!

genesis 09.10.2009 19:58

[QUOTE=Skif;118629]Я так и сам делаю, испытанный способ.[/QUOTE]
Догадывался, что известно многим, однако хотелось бы донести это до картостроителей.

logoff 09.10.2009 20:08

[QUOTE=genesis;118979]Догадывался, что известно многим, однако хотелось бы донести это до картостроителей.[/QUOTE]

Едва ли многим. Я точно не знал, спасибо.

Arturmachinist 09.10.2009 20:20

Я где-то о таком уже слыхал, но досконально не знал. Спасибо. :drinks:

logoff 10.10.2009 16:22

Как лучше всего искать недостающие зависимости, что бы можно было скопировать их и вставить в форум? Ибо если делать команду Copy через View dependencies, то перед ассетами (при вставке на форум) появляется приписка Download Station. Из-за этого приходится искать по два-три ассета.

genesis 10.10.2009 17:20

Нажимаем View in main list, добавляем фильтр Location: Download Station, выделяем все, в меню выбираем Copy items to clipboard, далее в текстовик и удаляем имена. Плохо лишь что удалить поиском с заменой, в отличии от Unknown Location не получится.

Dandi 10.10.2009 20:27

Есть программка для удаления всех этих Unknown Location'ов и Download Station'ов из списка (равно как и переводов строк и пробелов) с авторасстановкой запятых. Еще умеет несколько полезных вещей с двумя списками куидов. Может кому пригодится: [url]http://dump.ru/file/3558126[/url] Писал под себя, так что не обессудьте (:

logoff 10.10.2009 20:46

Dandi, даже не знаю, как благодарить. Спасибо.

NickLon 23.11.2009 14:51

А есть ли способ отображения зависимостей зависимостей? Например, если у 2TE10M Bogey-front есть ещё и свои зависимости, без них ведь тоже никуда.

Tramwayz 09.01.2010 02:26

Хелп, бразас
 
[COLOR="Silver"][QUOTE=Dandi;119261]Писал под себя[/QUOTE]

Ничё страшного, главное, штаны постирать потом[/COLOR]

Вопросина у меня есть по поводу упаковки объектов:

Можно ли заставить СМ3.2 паковать дополнения без лишних, так сказать, соплей. СМ 2009 и 2010 трейнзов пакует в СДП и обычные текстуры, и текстуры с расширением *.texture, и получается СДП в 2 раза больше, чем надо. Я считаю это кретинством.

Если я, конечно, не ошибаюсь.

Добрый 09.01.2010 11:05

А я все *.texture удалил после конвертации, чтоб не мешались. Правда, работа не на один час...

Tramwayz 09.01.2010 14:34

Добрый, можно, конечно все нужные файлы открыть для редактирования, и запаковать в *.rar всю папку editing, но тогда CDP не будет. Хотя, какая разница? Это, конечно, непродуманно очень получилось.

Silicon 10.01.2010 21:02

[QUOTE=Добрый;144904]А я все *.texture удалил после конвертации, чтоб не мешались. Правда, работа не на один час...[/QUOTE]
работы - на 5 минут.
понадобится тотал коммандер.
1. на подлежащих "кастрации" допах делаем "open for edit"
2. запускаем коммандер. жмём альт+Ф7. вылезает окно поиска файлов.
3. задаём маску поиска: "*.texture", каталог поиска - ХХХ\[каталог_установки_ТРС]\editing. жмем ОК. по завершении поиска жмем кнопку "файлы на панель".
4. На панели с найденными файлами *.texture делаем Ктрл+А, затем Шифт+Дел.
5. В СМ делаем коммит.
6. профит...

Tramwayz 10.01.2010 21:22

[QUOTE=Silicon;145406]1. на подлежащих "кастрации" допах делаем "[COLOR="Red"]open for edit[/COLOR]"[/QUOTE]

А то, что объекты для редактирования открываются без *.texture файлов, уважаемый Силикон не в курсе? Надо указывать путь Диск:/игра/локал, тогда оттуда удалятся эти файлы. Правда, есть всё же объекты, состоящие только из этих файлов, и тогда можно уничтожить текстуры.

Вобщем, дрянно.

Добрый 10.01.2010 22:18

Я имел ввиду, что работа по [U]конвертации[/U] и удалению долгая. Ведь для начала нужно выявить все куиды, где не состоялась автоматическая конвертация (скажем, во вложенных папках теней ПС).

Silicon 12.01.2010 03:27

[QUOTE=Tramwayz;145420]А то, что объекты для редактирования открываются без *.texture файлов, уважаемый Силикон не в курсе? Надо указывать путь Диск:/игра/локал, тогда оттуда удалятся эти файлы. Правда, есть всё же объекты, состоящие только из этих файлов, и тогда можно уничтожить текстуры.

Вобщем, дрянно.[/QUOTE]

У меня ТС volume 3. И в нем это работает. Так что не в курсе.

Tramwayz 12.01.2010 12:49

[QUOTE=Silicon;145794][COLOR="Red"]У меня ТС volume 3[/COLOR]. И в нем это работает. Так что не в курсе.[/QUOTE]

Трейнз классикс и 2009/2010 немножко разные вещи, вот в этом дело-то.

Silicon 14.01.2010 22:21

[QUOTE=Tramwayz;145826]Трейнз классикс и 2009/2010 немножко разные вещи, вот в этом дело-то.[/QUOTE]

Дык я знаю. Просто кат-то в голову не пришло, зачем в ТС2009 выпиливать "*.текстуре". Вот в Классике они реально мешают, а в 2009 - ХЗ.

genesis 22.09.2010 17:09

Господа, тут есть маленькое недопонимание у людей данного метода. Поясняю:
 
[FONT="Century Gothic"][SIZE="3"]Поворять выделение всего в пик-листе и применение пункта меню нужно повторять не один раз, и не два, а до тех пор, пока туда не перестанут попадать новые ассеты!
[B]Если после операции в конце списка появились несколько невыделенных пунктов, то значит еще не все вложенные зависимости учтены![/B][/SIZE][/FONT]
Только если после очередного повторения список не пополнился, только тогда можно паковать все допы и быть уверенным, что теперь точно ничего не упустил :)

Такие дела.

[COLOR="Silver"][I][SIZE="1"]Просьба власть имущим перенести данное дополение в первый пост и закрепить его.[/SIZE][/I][/COLOR]

Kompozitor 22.09.2010 17:25

А я просто кликаю зависимости, отмечаю рейтингом, затем их зависимости, много раз, пока не закончатся рейтинги, отличные от отмеченных. А затем отмеченное звездочками - в CDP. Потом еще надо проверить CDP на открываемость. Если что, выявить "паршивцев" и упаковать их папки, без CDP. Ну это в билде 37625 не открывались за[B]CDP[/B]-нные телеги изотермиков и некоторые станции "Преметро".

tolrum 20.02.2011 16:05

Есть такая прога KuidWizard, она может показать какие куиды присутствуют в данном CDP файле. Мне из всей этой кучи нужно допустим только 2. Как их превратиь в отдельный CDP?

TRam_ 20.02.2011 16:33

[QUOTE]Есть такая прога KuidWizard, она может показать какие куиды присутствуют в данном CDP файле.[/QUOTE]неверно. Она умеет только переделывать вот такой список

[CODE]
Unknown Location: <kuid:411122:18>
Unknown Location: <kuid:491707:1058>
Unknown Location: <kuid:491707:1059>
Unknown Location: <kuid:491707:1061>
Unknown Location: <kuid:491707:1062>
Unknown Location: <kuid:491707:1063>
Unknown Location: <kuid:491707:1065>
Unknown Location: <kuid:491707:1070>
[/CODE]

в такой

[CODE]<kuid:411122:18>,<kuid:491707:1058>,<kuid:491707:1059>,<kuid:491707:1061>,<kuid:491707:1062>,<kuid:491707:1063>,<kuid:491707:1065>,<kuid:491707:1070>
[/CODE]

и только.

Распаковывать и запаковывать умеет только встроенный в игру модуль "content manager". Подробнее о нём [URL="http://trainz.org.ru/mediawiki/index.php/Установка_дополнений"]тут[/URL].

tolrum 21.02.2011 05:05

[QUOTE]неверно. Она умеет только переделывать вот такой список


Код:
Unknown Location: <kuid:411122:18>
Unknown Location: <kuid:491707:1058>
Unknown Location: <kuid:491707:1059>
Unknown Location: <kuid:491707:1061>
Unknown Location: <kuid:491707:1062>
Unknown Location: <kuid:491707:1063>
Unknown Location: <kuid:491707:1065>
Unknown Location: <kuid:491707:1070>в такой


Код:
<kuid:411122:18>,<kuid:491707:1058>,<kuid:491707:1059>,<kuid:491707:1061>,<kuid:491707:1062>,<kuid:491707:1063>,<kuid:491707:1065>,<kuid:491707:1070>
и только.[/QUOTE]
Tram, спасибо, но это не то.
Я нашёл и скачал на kuid.ru нужный мне куид, но он упакован с кучей других, абсолютно мне ненужных куидов(не хочу засорять CM). Так вот вопрос,как мне достать его оттуда и сохранить в *.cdp?
[U][B]А KuidWizard может сканировать cdp.[/B][/U]

TRam_ 21.02.2011 12:54

[QUOTE]вот вопрос,как мне достать его оттуда и сохранить в *.cdp?[/QUOTE]скачивать тот cdp, который меньше всех по размеру. Доставать из cdp что-либо пока умеет только установленный trainz (а именно файл TrainzUtil.exe) и никто другой. Либо объясни, где ты взял такой KuidWizard.

Kompozitor 21.02.2011 14:16

[QUOTE]с кучей других, абсолютно мне ненужных куидов(не хочу засорять CM).[/QUOTE]
если нужный куид нашелся только "с кучей", то тогда устанавливаем все с прпопуском, и то, что установилось, отмечаем либо ключевым словом, либо рейтингом (звездочкой). При любом раскладе(даже если случайно закоммитили все), можно открыть отмеченное нами и удалить все, кроме нужного куида.

tolrum 21.02.2011 14:53

[QUOTE] Доставать из cdp что-либо пока умеет только установленный trainz (а именно файл TrainzUtil.exe) и никто другой. Либо объясни, где ты взял такой KuidWizard[/QUOTE]
Я не говорил, что KuidWizard достаёт, он сканирует и показывает какие куиды присутствуют в данном CDP.
[URL="http://narod.ru/disk/6046780001/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.jpg.html"]http://narod.ru/disk/6046780001/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.jpg.html[/URL]
[URL="http://narod.ru/disk/6046781001/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B91.jpg.html"]http://narod.ru/disk/6046781001/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B91.jpg.html[/URL]
[URL="http://narod.ru/disk/6046788001/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B92.jpg.html"]http://narod.ru/disk/6046788001/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B92.jpg.html[/URL]

EliteXP 02.11.2011 12:53

Есть CDP Browser2 который умеет парсить ахрив файлов CDP и инсталить нужные куиды. Может кому интересно можно скачать здесь:

[url]http://www.trainzproroutes.org/tprfiles/cdp_browser2_173.zip[/url]

Может кто сталкивался со спецификацией формата CDP ? Хочу написать свой Content Manager, а то Аурановский больно тормозящий.

TRam_ 02.11.2011 14:07

Ну, по поводу спецификации cdp можешьспросить у Эриндера. А вот "чтоб сделать собственный котент-мененжер" тебе нужны ещё как минимум 4 спецификации:

1) преобразование текстовых config.txt в бинарные config.chmp
2) преобразование текстур из пары "конфигурацонный тестовый файл + растровая текстура" в "сжатая в DX1/DX3/DX5 текстура, поддерживаемая движком игры"
3) построение базы данных (содержится в файле assets.tdx)
4) компиляция скриптов из текстовых .gs в бинарные .lib

так что если тебе захочется всё это делать - пожалуйста...

EliteXP 02.11.2011 14:50

> Ну, по поводу спецификации cdp можешьспросить у Эриндера
Я тут совсем недавно, поэтому если можно более подробно, у кого спросить?

> А вот "чтоб сделать собственный котент-мененжер" тебе нужны ещё как
> минимум 4 спецификации:
Я не притендую на полноценный контент-менеджер. Для начала напишу что побудило это сделать:

1) неуклюже тормознутый ContenctManager интерфейс.
2) невероятно тормазнутая обработка cdp файлов. Запустил Filemon и чуть пачка не отпала когда увидел что считывание/распаковка (короче работа с kuid-ом) выполняется по одному байту.
3) неудобно стоить зависимости kuid-дов.
4) Невероятно огромные и ненужные Buildin папки со встроеным контентом.

На первом этапе хочу сделать следующее: Распаковать весь BuildIn контент, оставить только те куиды, которые реально использую (а это не более 20% от всего мусора что там есть). Добавлять kuid-ды только те, которые реально нужны, а не скопом (если качаешь например один cdp файл со множеством KUIDов, когда реально необходим только один из них)

Хотелось бы еще узнать побольше о
3) построение базы данных (содержится в файле assets.tdx) если где то есть такая информация.

TRam_ 02.11.2011 15:17

[QUOTE]На первом этапе хочу сделать следующее: Распаковать весь BuildIn контент, оставить только те куиды, которые реально использую (а это не более 20% от всего мусора что там есть). Добавлять kuid-ды только те, которые реально нужны, а не скопом (если качаешь например один cdp файл со множеством KUIDов, когда реально необходим только один из них)[/QUOTE]ну, встроенный котент используется и для наших дополнений, и угадать, понадобится ли он или нет для какой-то карты - сложно. ja-архивы можешь распаковать с помощью [URL="http://multiex.xentax.com/"]MultiEx Commander[/URL], и полученные папки оставлять на месте архивов (сами архивы, например, переименовать), игра и будет работать с этими папками. А вот чем запаковать обратно - не помню.

[QUOTE]Хотелось бы еще узнать побольше о
3) построение базы данных (содержится в файле assets.tdx) если где то есть такая информация.[/QUOTE]инфы нет, и вполне вероятно что от версии к версии его формат переделывается.

[QUOTE]3) неудобно стоить зависимости kuid-дов.[/QUOTE]а что именно? Зависимость идёт в виде дерева, доп более высокого уровня не знает о зависимостях более низкого уровня. Вроде бы логично.

EliteXP 02.11.2011 15:31

[QUOTE]ну, встроенный котент используется и для наших дополнений...[/QUOTE]

Спасибо за ссылочку, обязательно использую. Собствено после распаковки buildin пробегусь своей утилиткой и построю дерево зависимостией по всему контенту что там есть, оставлю только те kuid которые реально используются. Теперь если при установке какого то дополнения мне понадобится найти куид, сначала обращусь к свой базе данных в которой хранится весь перечень buildin контента и достану его оттуда если он мне понадобится - это не проблемма :) а если его там нет, буду уже рыться в инете.

[QUOTE]инфы нет, и вполне вероятно что от версии к версии его формат переделывается.[/QUOTE]
Это очень жаль, прийдется методом тыка и анализа...

[QUOTE]а что именно? Зависимость идёт в виде дерева, доп более высокого уровня не знает о зависимостях более низкого уровня. Вроде бы логично.[/QUOTE]
Да, можно конечно вручную в контент менеджере спускатся до самого нижнего уровня, собствено как описано в первом посте. Но это для меня неудобно. Считаю что удобнее взять например kuid скажем (2ТЕ116) и по нему получить все информацию какие kuid обязательно необходимы для удовлетворения всех его зависимостей на всех уровнях (понятное дело учитываются только те которые реально установлены) те которые с вопросиками остануются без удовлетворенных зависимостей.

TRam_ 02.11.2011 17:20

[QUOTE]Считаю что удобнее взять например kuid скажем (2ТЕ116) и по нему получить все информацию какие kuid обязательно необходимы для удовлетворения всех его зависимостей на всех уровнях[/QUOTE]ну для локомотива это ладно, а как быть с картами, для которых и "на прямую зависимых" несколько тысяч куидов?

EliteXP 02.11.2011 23:57

[QUOTE]ну для локомотива это ладно, а как быть с картами, для которых и "на прямую зависимых" несколько тысяч куидов?[/QUOTE]

А в чем собствено сложность? Построить дерево зависимостей элементарно. Из всех BuildIn и UserData\local выделить только те которые реально нужны, остальные бахнуть :)

[QUOTE]по поводу спецификации cdp можешьспросить у Эриндера.[/QUOTE]
У кого можно узнать? скоопирируйте нас пожалуйста, очень интересно взглянуть на формат cdp изнутри.

Эрендир 03.11.2011 12:16

[QUOTE=EliteXP;296257]Может кто сталкивался со спецификацией формата CDP ? Хочу написать свой Content Manager, а то Аурановский больно тормозящий.[/QUOTE]

У меня есть спецификация CDP. Причём, не только CDP.
Сделать свой менджер идея безсмысленная. Я тоже об этом думал. Однако, формат assets.tbx разобрать крайне трудно, а то и хз, возможно ли за вразумительное время. К тому же, стандартный контент менеджер не работает с базой напрямую. Они лишь графическая оболочка.

EliteXP 03.11.2011 12:56

[QUOTE]У меня есть спецификация CDP. Причём, не только CDP... [/QUOTE]

А могли бы мы как то скооперироватся по этому вопросу? Пусть не полноценный, но более дружелюбный для пользователя набор утилит сделать можно. Те что встречал в инете (да тот же CDP Browser2 имеет кучу глюков и писался наверное второпях) мягко говоря не очень. Я думаю такой шаг с нашей стороны могли бы оценить пользователи.
Взглянул только что на преобразование config.txt -> config.chump инфу о KUIDaх вытащить абсолютно не сложно.

Только что сравнил подтверженный KUID и открытый на редактирование. Если я правильно понял то в папках подтвержденных KUID-ах хранятся лишние копии? *.tga (*.bmp, *.jpg и.тд.) -> преобразуются в *.texture ?
Тоесть исходные *.tga не нужны для работы программы? проверить пока не могу, поэтому спрашиваю, может кто знает нужны ли они после подтверждения?

[QUOTE]К тому же, стандартный контент менеджер не работает с базой напрямую. Они лишь графическая оболочка. [/QUOTE]
Да я уже заметил если запустить DebugView то сыпится куча отладочной инфы по обращению к базе.

TRam_ 03.11.2011 13:01

[QUOTE]Тоесть исходные *.tga не нужны для работы программы?[/QUOTE]да, не нужны. Но их обратное распаковывание зняло бы много времени, потому при "открытии на редактирование" в папку editing копируется именно копии этих *.tga или *.jpg файлов. По завершении редактирования текстур они конвертируются в .texture и также сами обновляются (для возможности дальнейшего редактирования)

[QUOTE]Пусть не полноценный, но более дружелюбный для пользователя набор утилит сделать можно[/QUOTE]просто не совсем понятно, что с этими утилитами ты в этом случае хочешь делать? Ведь раз работы с базой данных не будет, то они смогут только "собирать инфу" о котенте, устанавливать всё равно прийдётся встроенным мененжером.

Эрендир 03.11.2011 13:01

EliteXP, да не вопрос. Стучи в аську или скайп. Отправил в личку.


Текущее время: 06:08. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim