March 28, 2024, 23:22
bigger smaller reset     1020px Wide width Full width Reset   * *

Gildor's Forums

  Homepage Facebook Read news on Twitter Youtube channel Github page
Welcome, Guest. Please login or register.
Did you miss your activation email?

« previous next »
Print
Author Topic: Помогите с *.u файлами  (Read 29005 times)
RealHunter
L2tool User
Newbie
*****
Posts: 3


View Profile
« Reply #30 on: May 07, 2013, 18:28 »

я конечно далёк от правды =( и мало понимаю каким методом компилируется *.u пакет, но как мне кажется насильно скомпилировать его в правильной форме то не так трудно =( я бы с радостью заплатил за такой софт, но в нете все молчат как партизаны =)
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #31 on: May 07, 2013, 20:20 »

Я видел код компилятора, и он достаточно сложный чтобы вот так взять и написать что-то своё, что к тому же создаёт что-то в абсолютно том же формате.
Logged
Reborn
Full Member
***
Posts: 103


View Profile
« Reply #32 on: May 09, 2013, 22:50 »

Сомневаюсь, что дело в этом.
Формат u-файлов довольно понятен, и тот же UTPT в свое время мог дезассемблировать их с точностью до байта.

Причина скорее в том, что требуется очень много специальных знаний и специальной работы. Причем работы, которая серьёзным людям нафиг не сдалась.

Тому же Гилдору вряд ли кто-нибудь 500 тысяч рублей предлагал авансом за компилятор.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #33 on: May 12, 2013, 02:59 »

Сделать "дизассемблер" по сложности на несколько порядков легче, чем компилятор.
Logged
webdes27
Newbie
*
Posts: 9


View Profile
« Reply #34 on: February 08, 2015, 12:47 »

Не знаю в чём проблема в компиляции. Рунтайм нормально компилит файлы. И не обязательно какой то особый компиляток, как я понял в линейдж проблема немного в другом, что б подогнать редактор надосурс самого редактора для начала, хотя бы того же рунтайма, что весьма затруднительно. Хотя рунтайм наиболее подходит для скриптов линейдж. Но проблемма заключается в подключаемых .u файлах, так как за частую при компиляции скриптов линейдж, необходимы методы а иногда и классы целиком, что б скомпилировать тот или иной клас к примеру LineagePawn класс который находится в файле LineageWarrior.u или методы которые есть в Actor линейки. Почему и надо полностью пересобирать Engine.u. Собственно я на днях полностью пересобрал енгайн но пришлось обрезать пару методов, но по сути они мне и не нужны так как относятся к функционалу самой игры а не редактора. Но не могу заставить пока что нормально работать, надо как я понимаю сделать .int файл и не только. Вот ломаю голову а то не сильно хочется что б 5ть суток убитые на сборку Engine.u были напрасными. А и для компиляции как такого и не нужен весь редактор, компилится всё равно при помощи ucc.exe с подгрузкой ресурсов редактора, включая UE2Runtime.ini в котором подключаются классы для компиляции в первом едит паке и в нижнем непосредственно  для подгрузки в самом редакторе и отображении в скриптах!

Как я понимаю мне ещё надо пересобрать будет Core.u судя по ошибке, так как если я сразу жму N при вопросах заданных на скрине Engine нормально компилируется.
« Last Edit: February 08, 2015, 12:55 by webdes27 » Logged
Teoma
Full Member
***
Posts: 220


View Profile
« Reply #35 on: February 08, 2015, 14:15 »



То что ты якобы пересобрал бесполезно - без нативных функций Engine.dll, которые связываются с Engine.u, и описывают основной нативный функционал, сурс.h - Негде не выкладывался и не когда не будет в свбодном доступе, даже под обычный Runtime, так что Facepalm...
Logged
webdes27
Newbie
*
Posts: 9


View Profile
« Reply #36 on: February 08, 2015, 15:25 »

ну скажем бесполезно может быть и так, если юзать редактор, а если юзать как библиотеку для компила скриптов под игру самое оно так как в стандартной многого не хватает под компил!

И по поводу хидера .h вы об этом имели в виду?))))
Просмотреть код

Пересобрал Core.u и Engine.u при компиле в конце вылазит такое:
Code:
History: SerializeMips <- UTexture::Serialize <- LoadObject <- (Texture Editor.M
aterialArrow 370724==370724/514147 370657 2906) <- ULinkerLoad::Preload <- PreLo
adObjects <- UObject::EndLoad <- UObject::LoadPackage <- UMakeCommandlet::Main
Не пойму куда копать? Думал по ошибке искать в Editor.MaterialArrow но не увидел у себя такого класса! Или я не правильно понял код ошибки?
Попробую собрать ещё Editor.u

Вот нашел
#exec Texture Import File=Textures\MaterialArrow.pcx MASKED=1
но вот добавляю файл MaterialArrow.pcx в папку Textures а он всё равно его не видет и ругается на это!
« Last Edit: February 08, 2015, 19:06 by webdes27 » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #37 on: February 08, 2015, 19:06 »

Движки-то разные, вот файл и не нравится Smiley
Logged
webdes27
Newbie
*
Posts: 9


View Profile
« Reply #38 on: February 08, 2015, 19:12 »

я понимаю я наврятли соберу полноценный редактор и даже не полноценный)) Но хотя бы возможно получу полноценную возможность компилировать скрипты игры, так как как не крути а подгрузка скриптов от игры нужна для получения информации при компиляции дальнейших скриптов.
И если не сложно, подскажите в данной строке
#exec Texture Import File=Textures\MaterialArrow.pcx MASKED=1
параметр MASKED отвечает за какую маску?Это что альфа канал имеется в виду? Или папка Textures должна лежат в папке какого то проекта к примеру Engine/Textures ?
Просто когда открывал .u файлы через тулзу, увидел что по мимо .uc файлов и просмотра их там есть ещё вкладка music, texture и meshes, от сюда и  сделал вывод что возможно эти ресурсы закидывается в пакеты. А моя ошибка верхняя потому что я юзаю стандартный Edite.u в котором нет просто данных ресурсов которые он пытается загрузить.

Всё спасибо, разобрался, специально не удаляю текст выше, может кому то пригодится. Папка models и Textures закидывается не посредственно в проект компилированного пака. А ошибка потому что в моём паке как я и писал нет тех ресурсов.
« Last Edit: February 08, 2015, 19:31 by webdes27 » Logged
Teoma
Full Member
***
Posts: 220


View Profile
« Reply #39 on: February 08, 2015, 20:54 »

Того же эффекта можно было добиться и другим способом, и по времени это бы заняло намного меньше, чем то что ты сделал!
Logged
webdes27
Newbie
*
Posts: 9


View Profile
« Reply #40 on: February 08, 2015, 21:11 »

Знаю декрипт скриптов от игры и подгрузка их в унреал!Но увы некоторые скрипты не всегда подгружаются к редактору! За тем и делаю исходник своего рода)) Что б собрать пак который будет нормально грузится! Мне не лень посидеть недельку по заниматься для себя же! Я подгружал таким способом в начале LineageWarrior LineageDeco и ещё пару, но потом решил перейти к полному декомпилу и привидению в читаемый вид! Были на то весомые причины! Да и подгрузку Engine делать не сильно удобно когда всё равно в редакторе есть свой этот же файл но с другими методами и меньшим количеством классов! А переименовать тупо не вариант, всё равно методы одинаковые и там и там присутствуют!

Кстати кто может подсказать что это за ошибка? Был бы премного благодарен!
Code:
G:\LineageEd\2\System>ucc make
Class Actor Member Owner problem: Script=60 C++=64

History: UEditorEngine::InitEditor <- UMakeCommandlet::Main

Exiting due to error

Зато теперь компилируется любой необходимый для Lineage 2 пакет! Мобы, эффекты, скилы и т.д и т.п! От самых простых до самых сложный с всем функционалом ла2!

Я вот только не пойму почему разсобралс текстурами в нутри как я и делал а теперь не могу собрать собирает но без них!

А и ещё, декомпилировать .u файлы можно и без стороннего софта, достаточно простого унреал рунтайма.
Команда:
Code:
ucc batchexport имяфайла.u class .uc ..\имяпакаджа\classes
« Last Edit: February 08, 2015, 23:00 by webdes27 » Logged
Teoma
Full Member
***
Posts: 220


View Profile
« Reply #41 on: February 11, 2015, 23:54 »

мне скорее интересно узнать - с тем бредом что ты якобы скомпилил, можно ли хоть частично собрать Interface.u ?
Logged
Reborn
Full Member
***
Posts: 103


View Profile
« Reply #42 on: February 17, 2015, 01:07 »

Что-то мне, как и Teoma, сомнительна достоверность сообщений webdes27

Quote
А и ещё, декомпилировать .u файлы можно и без стороннего софта, достаточно простого унреал рунтайма.
Нельзя. UCC не может читать пакеты "чужих" игр. Чтобы раскомпилировать пакет, UCC должен полностью прочитать его и все связанные классы, и первое же несответствие в скриптах приведет к его вылету.
Для того, чтобы скрипты загрузились, структура CORE и ENGINE должны полностью совпадать. Кроме известных всем исключений (Unreal1/UT), я таких игр не знаю.

Фактически, UCC позволяет декомпилировать только пакеты СВОИХ игр. Для игр, в которые UCC не входит, ещё никому не удавалось провернуть подобный трикс (хотя на мой взгляд, проблему можно решить созданием фиктивных пакетов, но дело это трудоёмкое и неинтересное в условиях, когда есть UTPT)

Quote
History: UEditorEngine::InitEditor <- UMakeCommandlet::Main
Exiting due to error
Ответ компилятора сообщает, что компиляция даже не началась. О каком "Зато теперь компилируется любой необходимый для Lineage 2 пакет" может идти речь?

Либо webdes27 гений, либо он принимает желаемое за действительное.

Teoma прав в том, что не стоит оставлять без ответа недостоверную информацию - чтоб другие не пытались повторить то, что заведомо невозможно.



« Last Edit: February 17, 2015, 01:10 by Reborn » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #43 on: February 17, 2015, 10:41 »

С Lineage 2 такое наблюдается часто - кто-то свистнет - "я умею вот то-то и то-то", а что и как - молчит. Что-то вроде "а я вчера на Луну летал" Smiley Детский сад, в общем.
Logged
Teoma
Full Member
***
Posts: 220


View Profile
« Reply #44 on: February 17, 2015, 17:59 »

Чтобы уметь - надо понимать как оно работает, да и этого мало - нужно еще это все оформить, в виде кода - а это уже требует определенных навыков - коими, не кто из "псевдо клиент модеров" L2 - не обладает.

И все что из этого "получится/получилось" мягко говоря - не как не применимо к реалиям ладвы - где весь основной код впаян в нативных библиотеках Engine.dll,core.dll,Nwindow.dll, и это чисто для того чтобы правильно скомпилить - хоть на несколько нужные вещи - как Интерфейс, Окна, я уже молчу про основной функционал engine.u, проще говоря - если та фигня умеет только компилировать LineageEFfects.u - она чуть более чем бесполезна, ибо если при компиляции оно где-то натыкается на нативный метод - то оно тупо его пропускает, и если такой файлик подкинуть клиенту L2, то он тупо не будет работать, ибо не будет ссылки на Натив.dll и "все фигня будет" - мягко говоря...
Logged
Print 
« previous next »
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS