La2Tools — редактор текстурных пакетов Lineage 2

La2Tools — редактор текстурных пакетов Lineage 2 3.1.2

Нет прав для скачивания
Версия 3.4.0:

* Материалы показываются в браузере рядом с текстурами: Shader, FinalBlend, Combiner, TexPanner, TexScaler, TexRotator, TexOscillator, TexEnvMap, ColorModifier и остальные модификаторы — плитками, нарисованными по цепочке Diffuse, с подписью класса; раньше в La2Tools их не было видно вовсе;
* Окно свойств материала по образцу Shader Properties из UnrealEd: превью, дерево материала с подписями слотов (DIFFUSE, OPACITY, SPECULAR, MATERIAL 1…) и миниатюрами, ниже — сетка свойств выбранного узла. Щелчок по текстуре в дереве открывает прямо там её собственную форму свойств, по вложенному материалу — его сетку, по пустому слоту — Editor.BadHighlight из system/Editor.u клиента, ровно как показывает редактор. Apply записывает все тронутые объекты;
* Правятся: ссылки в слотах (любая текстура или материал пакета либо None), перечисления с настоящими именами (OB_Normal, FB_AlphaBlend, CO_Multiply…), флаги, числа, Rotator (Pitch/Yaw/Roll) и Color. Схемы свойств взяты из UnrealScript-классов клиента плюс поля, которые есть только в сборке 563 (SpecularMap, SpecularPower, SpecularScale, ModulateSpecular2X, ForceMaxMipLevelZero…), сверены по 77 000 материалам клиента;
* ShaderCode материала генерируется редактором из графа, поэтому показан без правки; добавление и удаление слотов и оборачивание модификаторами пока намеренно не предлагается — перенаправить занятый слот безопасно и работает;
* Свойства-цвета текстур (MipZero, MaxColor) показываются компонентами R G B A, а не сырым массивом байт.

Версия 3.3.1:

* «Сохранить как…» со сменой формата на 133/40 больше не ломает пакет: с 3.2.3 блок текстуры, зависящий от версии пакета, собирался под старую версию (118 или 123), и лишь потом версия поднималась до 133 — каждая текстура оказывалась сдвинутой на 56 байт, из 400 текстур читались четыре, клиент падал. Теперь блок собирается под целевую версию;
* Смена формата переписывает этот блок у всех текстурных классов-наследников Texture — ColorWheel, Cubemap, MaskTexture, Fire-текстуры, — а не только у Engine.Texture; раньше после конвертации они оставались нечитаемыми;
* Битая запись экспорта в исходном пакете (мусорное смещение, обрезанные данные) больше не прерывает конвертацию целиком: она остаётся как была, остальной пакет переводится.

Версия 3.3.0:

* В консоли появился импорт: 'java -cp l2tool.jar acmi.l2.clientmod.l2tool.L2ToolCmd -import <пакет> <файл|каталог>...' принимает файлы и каталоги целиком, с ключами -group, -overwrite, -skip-existing, -format, -mips/-nomips, -masked, -keep-params и -out-log. Раньше из консоли можно было только выгружать, поэтому перенос текстур между пакетами не поддавался автоматизации;
* Появилась команда -list <пакет> [-textures]: печатает «<класс><таб><полное имя объекта>» построчно — без неё нельзя было ни узнать полное имя для -export, ни проверить результат -import;
* У -export появился ключ -out <каталог>; запуск без аргументов печатает подсказку, а не падает, и описан режим выгрузки всего пакета;
* Осмысленные коды возврата: 0 — успех, 1 — частичный успех, 2 — ошибка аргументов, 3 — ошибка ввода-вывода. Консольный путь не тянет JavaFX вообще, поэтому не может подвиснуть в неинтерактивной среде;
* Сам импорт вынесен в общий сервис без интерфейса, которым пользуются и окно, и консоль, — поведение двух режимов больше не может разъехаться.

Версия 3.2.4:

* «Копировать параметры» переносит UClamp и VClamp — используемую часть текстуры. Раньше ехали только режимы clamp, поэтому параметры текстуры с областью 44x44, вставленные в текстуру 64x64, оставляли её с 64x64. Если приёмник мельче скопированной области, значения урезаются до его размера, а не пишутся как есть.

Версия 3.2.3:

* Блок, который клиент пишет между списком свойств и таблицей мипов, теперь разбирается по полям, а не перепрыгивается фиксированным числом байт. Раскладка восстановлена по клиенту игры (UMaterial::Serialize в engine.dll, имена полей — Engine/Classes/Material.uc) и проверена на 134 506 текстурах из 2 119 пакетов, лицензии 0-40 и версии 117-133 — прежний код читал его неверно для лицензий 11-14, для лицензии 40 при версии пакета 123 и для лицензий 31-32;
* Текстуры импортируются в пакеты любой лицензии: раньше блок копировался у соседней текстуры того же пакета, поэтому пакеты без подходящего донора отвечали «Conversion to license N is not supported»;* Место кода шейдера ищется тем же разбором, что читает блок, — теперь они не могут разойтись.

Версия 3.2.2:

* Копирование группы анимации в другой пакет больше не теряет настройки: AnimNext, частота кадров, TotalFrameNum, split9, гамма-коррекция, тип поверхности, режимы clamp и код шейдера переносятся вместе с пикселями, а ссылки AnimNext перевязываются на вставленные кадры — раньше кадры вставлялись автономными текстурами вообще без параметров;
* Одна нечитаемая текстура больше не роняет копирование всего выделения: записи, у которых объявлен размер, но нет пиксельных данных, пропускаются, а по завершении сообщается, сколько текстур пропущено;
* «Вырезать» удаляет из пакета только то, что действительно попало в буфер обмена — раньше пропущенная текстура исчезала из пакета, а вставить её было уже нечем;
* Вставка пачки текстур стала быстрее: настройки возвращаются одним проходом вместо отдельного прохода на каждый кадр.
Версия 3.2.1:

* Установщик теперь обычный .msi вместо самораспаковывающегося .exe: exe-обёртка выглядела как дроппер для эвристик антивирусов и ложно детектилась как вирус (Wacatac / Wacapew), а чистый MSI проходит без единого срабатывания — 0 из 70 на VirusTotal. Программа и версия те же, изменился только формат установщика; портативной версии это не касалось;

Версия 3.2.0:
  • Новое подменю «Редактировать» для текстур: оттенок и насыщенность, яркость и контрастность, температура и глубина тона, чёрный и белый, инверсия цвета, инверсия альфы — у первых трёх живой предпросмотр; альфа масштабируется отдельно от цвета, а у P8 правится палитра, поэтому повторной квантизации не происходит;
  • Новый пункт «Дублировать»: копирует текстуру, а при включённой группировке анимаций — всю цепочку целиком под выбранным вами именем; копии связаны между собой, поэтому новая анимация не проигрывает кадры оригинала, а диалог показывает итоговые имена до подтверждения;
  • Операции над сгруппированной анимацией теперь охватывают все кадры: копирование, вырезание, удаление, вставка параметров и всё из «Редактировать»;
  • Настройки текстуры переживают перезапись: AnimNext, частота кадров, TotalFrameNum, split9, гамма-коррекция, тип поверхности и код шейдера раньше терялись при любой перезаписи пикселей, из-за чего кадры анимации становились автономными — это касалось и «Сжать в», и «Исправить размер текстуры»;
  • Цвет под прозрачным пикселем больше не уничтожается при импорте: изображение собиралось с домножением на альфу, поэтому RGB под alpha 0 обнулялся, а при низкой альфе уезжал на пару единиц — в Lineage 2 в альфе чаще лежит маска, а не прозрачность;
  • Текстуры с битыми хвостовыми мип-уровнями снова можно править, копировать и дублировать — распаковывается только нулевой мип, а перезапись такой текстуры чинит битые уровни;
  • Правка свойств текстуры обновляет только эту текстуру, а не пересканирует весь пакет со сбросом всех миниатюр;
  • Операции над цепочками анимаций стали в разы быстрее: пакет открывается один раз на фазу вместо семи раз на кадр — дублирование цепочки из 30 кадров с 10.6 до 4.1 секунды, а диалог дублирования больше не открывается одиннадцать секунд на пакете в 415 МБ;
  • Индикатор прогресса называет текущую фазу и больше не застревает на «Done», пока пакет ещё пишется;

Версия 3.1.6:
  • Настройки пакета / Сохранить как: если лицензия пакета не из пресетов (0/15/30/40), в списке теперь показывается «Lic N (текущая)» вместо пустого поля — нестандартные лицензии (напр. 37, 39) распознаются, и OK больше не рискует случайно их сконвертировать; пресеты остаются как цели конвертации;
  • Импорт картинок в пакет .ugx теперь сохраняет их нативный размер — без подгона до степени двойки и без проверки размера (для несжатых RGBA8/P8/G16); поведение .utx не изменилось (по-прежнему подгон до степени двойки);

Версия 3.1.5:
  • Формат клиента теперь выбирается по лицензии — Lic 0 / 15 / 30 / 40 — в настройках пакета, «Сохранить как…» и при создании нового пакета; конвертация между ними в один клик;
  • Исправлено открытие некоторых пакетов с лицензией 15;
  • Исправлено: окно открывалось растянутым далеко за экран, когда восстанавливалось много вкладок — теперь оно открывается в прежнем размере (или разумном по умолчанию), а не поместившиеся вкладки сворачиваются в список по кнопке ▾;

Версия 3.1.4:
  • Новое — поиск по всем открытым вкладкам (Ctrl+Shift+F): найдите текстуру по имени сразу во всех открытых пакетах и перейдите к ней (двойной клик / Enter);

Версия 3.1.3:
  • Исправлено: вкладки возвращались после перезапуска, если закрыть их через «Закрыть все / остальные / справа / …» — список открытых вкладок теперь корректно сохраняется при массовом закрытии (и их временные файлы очищаются);
Версия 3.1.2:
* Улучшено уплотнение: удаление даже нескольких текстур теперь всегда уменьшает файл (раньше небольшие удаления могли слегка увеличивать некоторые пакеты, например шрифты);
Версия 3.1.1:
* Удаление текстур теперь реально уменьшает пакет: при сохранении он автоматически уплотняется, освобождая место от удалённых текстур (формат и шифрование сохраняются);

Версия 3.1.0:
* La2Tools теперь проверяет обновления при запуске и сообщает, когда на сайте доступна новая версия;
Версия 3.0.9:
* Исправлены текстуры, которые в некоторых клиентах отображались пустыми (их объект несёт встроенный шейдер, который ридер разбирал неверно) — теперь декодируются и показываются корректно;
* Редактирование ShaderCode: Свойства текстуры → Материал → ShaderCode теперь показывает настоящий HLSL-шейдер текстуры (раньше была заглушка); можно править и применять — работает на разных форматах клиента (от Interlude до Essence 542);
Версия 3.0.7:
* Импорт: имя файла теперь разбирается «умно» — пакет.группа.имя автоматически заполняет поля «Группа» и «Имя» (префикс пакета игнорируется);
* Импорт: живая проверка имени с подсказкой и тултипом — OK блокируется, пока имя некорректно (разрешены - + ' и т.д., запрещены только символы, недопустимые в именах файлов);
* Импорт: текстуры с размером не степень двойки теперь авто-дорисовываются для ВСЕХ форматов (DDS/TGA/BMP, а не только PNG/JPG/GIF) — дополняются до степени двойки с UClamp/VClamp, сохраняя исходный видимый размер;
* У фильтра текстур появилась кнопка очистки (×);
* Светлая тема: видимые контуры вкладок в стиле Chrome;

Версия 3.0.8:
* BMP теперь импортируется как нативный формат, как в UnrealEd: 8-битный BMP становится текстурой P8 (палитровой) с настоящей Engine.Palette, 24/32-битный — RGBA8, 16-битный — G16;
* Сжатие в P8 — адаптивная 256-цветная палитра (квантование median-cut); P8 также доступен как цель «Конвертировать в» при импорте;
* Копирование / вырезание / вставка теперь работают для текстур P8 (палитровых);
* Текстуры с размером не степень двойки подсвечиваются красным (плитки и таблица) с тултипом; новый пункт меню «Исправить размер текстуры» дополняет их до степени двойки, сохраняя видимый размер;
* Чтение «сломанных» пакетов, испорченных для блокировки редакторов (повреждённые поля размера) — клиент их всё равно грузит, а теперь и La2Tools;
* «Починить пакет» — показывается только для испорченного пакета (его вкладка помечается красным) и восстанавливает повреждённые поля размера;
* Добавлена поддержка клиента с лицензией 30 (чтение и импорт его текстур);
* Диалог импорта теперь авто-подстраивается под содержимое;
Версия 3.0.4:
* Буфер обмена <-> Проводник: Ctrl+C в браузере, затем Ctrl+V в Проводнике вставляет текстуры файлами; скопируйте файлы в Проводнике, затем Ctrl+V в браузере — импорт;
* Переименование пакета прямо в настройках пакета (с перешифровкой Lineage2Ver121);
* Горячие клавиши: F1 (о программе), F2 (переименовать), F5 (перезагрузка с диска, спросит при несохранённом), Delete, Enter (свойства), Ctrl+W (закрыть вкладку);
* Иконка программы теперь отображается в заголовке всех диалогов и подокон;
* Исправлено перевёрнутое превью при импорте TGA;

Версия 3.0.5:
* Группировка анимаций теперь идёт по связям AnimNext, а не по именам кадров — цепочки собираются правильно при любом именовании (разные префиксы, непоследовательные или 0-/1-базовые номера);
* Импорт GIF: параметры анимации (частота кадров) и TotalFrameNum теперь пишутся только первому кадру, остальные хранят лишь ссылку AnimNext — как в формате игры; тот же фикс для «Создать анимацию»;

Версия 3.0.6:
* «Сохранить как...» — кнопка на панели и пункт меню вкладки: сохранение пакета под новым именем в любую папку с выбором формата (Старый/Новый) и шифрования Lineage2Ver121; вкладка переключается на сохранённый файл;
* Переработано меню вкладки по правому клику: сверху «Сохранить», «Сохранить как...» и «Настройки», внизу «Копировать путь» и «Открыть в проводнике»;
* Массовое копирование/вставка выделенных текстур (Ctrl+A — выделить всё) — с индикатором загрузки и выбором целевой группы;
* При копировании теперь переносятся и все параметры текстуры (Split9, SurfaceType, режимы clamp, гамма и др.);
* Поля группы в Переименовании / Вставке / Импорте стали редактируемыми выпадающими списками групп пакета;
* Меню по правому клику на вкладке: Закрыть, Закрыть все, Закрыть остальные, Закрыть справа / слева, Закрыть неизменённые;
* Опция «Сохранить параметры заменяемой текстуры» при импорте поверх существующей;
* «Создать анимацию» из выделенных кадров (FPS и зацикливание); удаление сгруппированной анимации удаляет всю цепочку кадров;
* Подтверждение при выходе из программы, если есть несохранённые пакеты;
Назад
Сверху Снизу