Маппер
Участник
Пользователь
- Сообщения
- 156
- Реакции
- 205
- Помог
- 5 раз(а)
Добрый день, господа и дамы!
А теперь, собственно к сути:
Итак, лень-матушка и некоторые навыки программирования вылились в уже почти готовую программу для полуавтоматизированной подготовки текстур к запаковыванию в wad. Суть такова: пользователь вытаскивает vtf файлы с сохранением путей(e.g. materials/brick/redbrick.vtf), переводит в jpg(через VTFEdit), удаляет ненужные папки(e.g.skybox, dev, effects, tools), с помощью поиска удаляет ненужные текстуры(e.g.карты normal, modulate, bump), а затем пропускает всю папку через прогу, которая копирует все текстуры, сжимает до 512 (если надо), переименовывает их по следующей маске: XXAAAANNNNNNNNN, где XX - резервные символы для специальных текстур, AAAA - первые 4 буквы от имени основной папки, где находится оригинальная текстура, NNNNNNNNN просто порядковый номер. После такой операции можно быстро закинуть все новенькие картинки в wad и добавлять в JACK. + создается список старых имен с их новыми аналогами для последующей замены на самой карте.
НО! возникли сомнения по поводу выбранной длины A блока и N блока. К примеру, в Black Mesa есть папки plastic и plaster. При сокращении текстуры из обеих папок будут иметь вид XXplasNNNNNNNNN, что приведет к их замене в wad, ошибкам при замене на карте и т.д.
Итак, вопрос №1: какова на ваш взгляд оптимальная и наиболее адекватная длина блока A в имени новой текстуры? Заметьте, что при увеличении блока А, блок N будет уменьшен на соответствующее количество символов.
Вопрос №2: стоит ли внедрить перед блоком N, еще блок D, где будет содержаться часть имени оригинальной текстуры? Опять таки, приведет к сокращению блока N. При этом материал materials/brick/redbrick.vtf будет иметь вид XXbricredb00001.
Имейте ввиду, блок N не должен быть меньше 3 символов!
Ах да, вот сам процесс:
Ввиду ряда причин(адекватных и не очень), захотелось посмотреть на некоторые уровни из Source игр в CS 1.6. Причем почти в оригинальном виде, а не в урезанном(для играбельности) картоделами. Ну и первое, что потребовалось сделать - перенести сами карты в JACK вместе со всеми текстурами. Ну а так как лень - порок довольно заметный среди человечества, то и делать все это "ручками" не особо и хотелось. Решено было автоматизировать часть процесса. С исходниками карт проблем нет, декомпильнул, пересохранил, вот тебе и весь брашворк. А вот текстуры стали той самой палкой в колесах, да еще эта палка привязана к кошачьим яй... не важно к чему. Просто вытащить из архива легко, а вот сохранить в wad... тут уже проблемы по следующим направлениям: 1) максимальный размер текстур 512; 2) максимальная длина имени текстуры - 15 символов(на Source их имена зачастую длиннее), 3) материал(source) и текстура(goldsrc) - вещи разные, ибо один материал может содержать несколько текстур, а иногда вообще ни иметь таковых.
Третий пункт решается художественными правками(чаще всего удалением брашей со слишком сложным материалом или сведением всего материала к одной просто текстуре на выбор маппера).
Первые два пункта влекут недельную рутину, от которой может начать бомбить.
Третий пункт решается художественными правками(чаще всего удалением брашей со слишком сложным материалом или сведением всего материала к одной просто текстуре на выбор маппера).
Первые два пункта влекут недельную рутину, от которой может начать бомбить.
А теперь, собственно к сути:
Итак, лень-матушка и некоторые навыки программирования вылились в уже почти готовую программу для полуавтоматизированной подготовки текстур к запаковыванию в wad. Суть такова: пользователь вытаскивает vtf файлы с сохранением путей(e.g. materials/brick/redbrick.vtf), переводит в jpg(через VTFEdit), удаляет ненужные папки(e.g.skybox, dev, effects, tools), с помощью поиска удаляет ненужные текстуры(e.g.карты normal, modulate, bump), а затем пропускает всю папку через прогу, которая копирует все текстуры, сжимает до 512 (если надо), переименовывает их по следующей маске: XXAAAANNNNNNNNN, где XX - резервные символы для специальных текстур, AAAA - первые 4 буквы от имени основной папки, где находится оригинальная текстура, NNNNNNNNN просто порядковый номер. После такой операции можно быстро закинуть все новенькие картинки в wad и добавлять в JACK. + создается список старых имен с их новыми аналогами для последующей замены на самой карте.
НО! возникли сомнения по поводу выбранной длины A блока и N блока. К примеру, в Black Mesa есть папки plastic и plaster. При сокращении текстуры из обеих папок будут иметь вид XXplasNNNNNNNNN, что приведет к их замене в wad, ошибкам при замене на карте и т.д.
Итак, вопрос №1: какова на ваш взгляд оптимальная и наиболее адекватная длина блока A в имени новой текстуры? Заметьте, что при увеличении блока А, блок N будет уменьшен на соответствующее количество символов.
Вопрос №2: стоит ли внедрить перед блоком N, еще блок D, где будет содержаться часть имени оригинальной текстуры? Опять таки, приведет к сокращению блока N. При этом материал materials/brick/redbrick.vtf будет иметь вид XXbricredb00001.
Имейте ввиду, блок N не должен быть меньше 3 символов!
Ах да, вот сам процесс: