PDA

Просмотр полной версии : utx


Himera
06.11.2007, 09:38
помоги открыть и изменить файлы utx в l2. UnrealEd2 выдает ошибку при его открытии ( если открыть из самой игры Unreal utx , то нормально )


Или подскажите прогу, которая сможет сохранить из TGA формата в DDS

p.S. плагин DDS для фотошопа 9 , не пашет :(

xkor
06.11.2007, 10:19
поскольку пишеш в разделе программирования предлагаю написать такую самому)))
ЗЫ могу даж сорци для работы с utx на дельфи подкинуть (правда там только чтение этого формата но можно доделать и для записи)
а вообще легко можно найти прогу для перевода различных форматов в DDS

Himera
06.11.2007, 10:54
а вообще легко можно найти прогу для перевода различных форматов в DDS

ненашла :cry:

14.11.2007, 00:17
xkor ну если можешь то скинь соурсы для работы с utx на делфи на мыло vladimir-sinkov@mail.ru (mailto:vladimir-sinkov@mail.ru)
Заранее спасибо

xkor
14.11.2007, 15:18
Прикрепляю

15.02.2008, 00:10
Продолжая тему,
DDS это конечно хорошо, но как отображать? DirectDraw? Создавая временный Surface?
Как-то не хочется за собой ДХ тянуть... Есть альтернативы?

xkor
15.02.2008, 23:00
а чем обычный GDI не нравиться?)

16.02.2008, 04:21
GDI может отрисовать DDS?
мне казалось dds - сжатая текстура специально для видеокарты... родной формать для ДХ (direct draw surface, собсна)...
чувствую себя нубом, пойду погуглю...

xkor
16.02.2008, 13:32
ну dds ведь можно и в bitmap превратить)
например иконку я вот так выдираю из Icon.utx: k:=package.ExportIndex[myItems[i].Icon,'Texture'];
if k>-1 then with TUTObjectClassTexture(package.Exported[k].UTObject) do begin
ReadObject;
bmpIcon:=GoodMipMap[0].AsBitmap;
end;

17.02.2008, 00:57
вообще-то я имел ввиду dds не из utx'a, а например, иконки кланов и альянсов...
хм, но обязательно гляну в исходник утх'a - как там реализовано AsBitmap :<

xkor
17.02.2008, 02:11
хех ну для таких целей я написал функцию возвращающую картинку TBitmap из dds, модуль во вложении)
ЗЫ там тока обрезается 4 лишних линии пикселов так как я хз зачем они там вообще)

Grinch
18.02.2008, 20:30
хз навеное тут этому вопросу самое место, чем можно вскрыть unr формат что б глянуть что там лежит для начала? как я понял геодата клиента берётся оттудова и там лежат или сами текстуры ещё или бешеная 32битная глубина цвета для карты высот очень охота посмотреть что там. так как размер файлов может вальироваться тока из-за этого :) так дико или текстура или очень подробная на каждый пыксел 16битная или 32 битный градиент серого или другого цвета. также картинка в слоях может быть :) но стой же глубиной цвета. Если что то придумаю после того как посмотрю поделюсь

Добавлено спустя 23 часа 37 секунд:
вопрос снят unr распаковал терь думаю где 3dmax взять и что с этим делать дальше но впринципе есть ещё пару вариант :) но пока только идея.

qaz2006
16.07.2008, 16:04
хех ну для таких целей я написал функцию возвращающую картинку TBitmap из dds, модуль во вложении)
ЗЫ там тока обрезается 4 лишних линии пикселов так как я хз зачем они там вообще)
А где вложения?

RoZ
16.07.2008, 17:15
Добавлено спустя 23 часа 37 секунд:вопрос снят unr распаковал терь думаю где 3dmax взять и что с этим делать дальше но впринципе есть ещё пару вариант :) но пока только идея.
Напиши чем и как распаковал, интересно очень, а копать некогда.
З.Ы. Если конечно ето не сехрет :rolleyes:

Jes
17.07.2008, 17:33
Напиши чем и как распаковал, интересно очень, а копать некогда.
З.Ы. Если конечно ето не сехрет :rolleyes:

и34и тут http://www.acordero.org/

qaz2006
20.07.2008, 01:51
ЗЫ могу даж сорци для работы с utx на дельфи подкинуть (правда там только чтение этого формата но можно доделать и для записи)
Предполагаю тут были ссылки на этот модуль, но с переездом форума они пропали. Нельзя ли вернуть?

xkor
20.07.2008, 03:34
http://www.acordero.org - сайт авторов
http://www.sourceforge.net/projects/utpackages - наиболее свежие (хотя и свежесть - несколько лет) исходники в том числе с поддержкой (не полной) линаги

qaz2006
20.07.2008, 15:44
Спасибо за ссылки.
ut_packages на строке
if lw <> $9E2A83C1 then
raise EInvalidUTPackage.create(rsErrorNoUTPackage);

ругается что это не UT формат. Скармливал С4 Icon.utx.

xkor
20.07.2008, 17:18
qaz2006, а ты по второй ссылке скачивал?, и кста надо обязательно ещё модуль utpkgnat_lineage2.pas подключить чтоб линейка более менее нормально воспринималась
Icon.utx читается абсолютно нормально без всяких модификаций)

qaz2006
21.07.2008, 02:55
Такссс.... Нашел utpkgnat_lineage2.pas (sourceforge.net - жесть, млин), установил как компонент, Демо1 все равно ругается на формат.

qaz2006
02.11.2008, 13:26
Как привязать ИД (итема, скила) к текстуре из Icon.utx?

xkor
02.11.2008, 16:45
вот так я достаю текстуру:
k:=package.ExportIndex[Icon,'Texture'];
if k>-1 then with TUTObjectClassTexture(package.Exported[k].UTObject) do begin
ReadObject;
bmpIcon:=GoodMipMap[0].AsBitmap;
end;
тут Icon имя текстуры, а bmpIcon просто обьект класса TBitmap
ЗЫ перед чтением надо ещё проинициализировать пакет
package:=TUTPackage.create;
package.initialize(ExtractFilePath(ParamStr(0))+'d ata\icon.utx', UTPGH_Lineage2);
Register2DClasses;

qaz2006
02.11.2008, 18:56
Имя текстуры по ИД для скилов брать из skillgrp.dat? Для итемов из itemname-e.dat?

xkor
02.11.2008, 19:02
qaz2006, имена скилов в SkillName-ru.dat, итемов в ItemName-ru.dat

Добавлено через 36 секунд
тоесть SkillName-e.dat и ItemName-e.dat
ru эт на руоффе)

qaz2006
02.11.2008, 19:24
Кусок SkillName-e.dat

id level name description desc_add1 desc_add2
3 1 Power Strike Наносит мощный удар. Доступен при ношении мечей, дубин, топоров, жезлов и посохов. Сила: 25. none none

имени текстуры нету вроде.

Кусок skillgrp.dat

skill_id skill_level oper_type mp_consume cast_range cast_style hit_time is_magic ani_char desc icon_name extra_eff is_ench ench_skill_id hp_consume UNK_0 UNK_1
3 1 0 10 40 3 1.080000 0 S icon.skill0003 0 0 0 0 9 11
3 2 0 10 40 3 1.080000 0 S icon.skill0003 0 0 0 0 9 11
3 3 0 11 40 3 1.080000 0 S icon.skill0003 0 0 0 0 9 11
3 4 0 13 40 3 1.080000 0 S icon.skill0003 0 0 0 0 9 11

ItemName-e.dat вообще не декриптуется L2FileEdit v6.5. L2FileEdit v6.5 вообще для С4 подходит?

xkor
02.11.2008, 19:34
а да, имена текстур в *grp.dat файлах
для итемов таких несколько: Armorgrp.dat, EtcItemgrp.dat и Weapongrp.dat

Добавлено через 1 минуту
кста в строке "icon.skill0003" не всё имя текстуры, первое слово это имя файла с текстурой а сама текстура это уже то что после точки

qaz2006
02.11.2008, 22:18
xkor, может не париться с декриптовкой, а сделать файл с соответствием ИД>Иконка. Как нынче умные люди делают?

xkor
03.11.2008, 03:22
qaz2006, ну у меня в боте всё храниться в ini файлах которые создаю дешифруя и конвертируя файлы клиента

qaz2006
03.11.2008, 23:05
l2encdec юзаеш? Или алгоритм раскусил?

xkor
04.11.2008, 02:35
qaz2006, l2encdec пока что, а алгоритм пока ковыряю, на данный момент уже почти расковырял, дешифрация проходит успешно, а вот с распаковкой пока проблемы...

Добавлено через 1 час 21 минуту
хех, воть я и сделал свой l2encdec)
правда пока в черновом варианте но уже работает)

qaz2006
04.11.2008, 20:55
Столкнулся с проблемой, l2encdec не декриптует файлы, которые уже перекодированы той же l2encdec. На фришках в патчах содержатся именно такие файлы, в которые админы вносили изменения. Как тут быть?

xkor
04.11.2008, 21:21
qaz2006, всё он декодирует, просто для дешифровки оригинальных файлов используется один параметр а для дешифровки пропатченых файлов другой, например:
l2encdec.exe -d Armorgrp.dat
дефирует пропатченый Armorgrp.dat
l2encdec.exe -g Armorgrp.dat
дешифрует оригинальный Armorgrp.dat

qaz2006
05.11.2008, 00:13
хех, воть я и сделал свой l2encdec)
правда пока в черновом варианте но уже работает)
Кодом поделишся?

xkor
05.11.2008, 04:00
qaz2006, хех, пока думаю не стоит)

wanick
22.11.2008, 23:34
вот так я достаю текстуру:
k:=package.ExportIndex[Icon,'Texture'];
if k>-1 then with TUTObjectClassTexture(package.Exported[k].UTObject) do begin
ReadObject;
bmpIcon:=GoodMipMap[0].AsBitmap;
end;
тут Icon имя текстуры, а bmpIcon просто обьект класса TBitmap
ЗЫ перед чтением надо ещё проинициализировать пакет
package:=TUTPackage.create;
package.initialize(ExtractFilePath(ParamStr(0))+'d ata\icon.utx', UTPGH_Lineage2);
Register2DClasses;

а с файлами клиента с ЗБТ пробовал ?
что-то не получается уменя

xkor
23.11.2008, 00:07
wanick, не пробовал...

Jes
27.11.2008, 18:49
qaz2006, ну у меня в боте всё храниться в ini файлах которые создаю дешифруя и конвертируя файлы клиента

я уже перешел на wxsqlite :cool: - все летает! и секономил 10-15 Мб в памяти