Первое что бросилось в глаза это некрасивая надпись Tool Texture Converter.
Нал на неё появилась надпись ещё уродливей!
Похоже, что прога в Delphi написана, картинки компонентом Image вставлял? И это, если писал в Delphi, то скажи, как иконку менять у файла? На форме-то там свойство icon есть, а у файла как?
Потом меня убили эти кнопки, мало того, что сами кнопки не фонтан, так ещё написано жёлтым шрифтом, который ни черта прочитать нельзя!
Неплохо бы придумать оригинальный дизайн, чтобы программа имела товарный вид, эту прогу потом будет не стыдно продвигать как стандартную. Я МОЖЕТ БЫТЬ мог бы помочь с этим делом, если свободное времечко появится.
Ещё хорошо бы реализовать переключаемую языковую поддержку, т.е. русский и английский вариант.
Дальше, что касается работы программы:
Параметры текстовика вроде $nomip или $nonice не работают в таком виде, вальва в своих доках наврала блин, надо записывать в виде "nomip" "1" или "nomip""". Поправь это дело у себя, можешь не сомневаться в том, что я говорю – проверено мной несколько раз с помощью Хл2 и VTF Explorer.
В этом пункте вроде всё, хотя...
Короче неплохо бы было добавить, чтобы текстуры с неправильными размерами вроде 128x320 выделялись красным и игнорировались при компиляции. А внизу неплохо бы добавить окно статуса, вроде хаммеровского, где писалось бы, что «такая-то» текстура имеет неправильный размер или ещё какие-то ошибки + способы их устранения. Так же плохо бы, чтобы там выводился статус, мол «добавлен новый шейдер» или что-то другое.
Переходим ко второй части программы.
Сообщение «Вместо значка "#" поставьте...» хорошо смотрелось бы в окне статуса
.
И кстати не «поставьте», а «введите».
У параметра $nolod разве слово? Там же число! Проверь остальное...
Так, нашёл жирный минус! Неплохо бы было сделать так, чтобы для каждого файла создавалось собственное правило компиляции, я имею в виду, чтобы для одного *.tga можно было сразу указать настройки vmt, но к остальным tga они не применялись. Т.е. неплохо бы было реализовать возможность конфигурации каждого *.tga отдельно.
Там с компилом возможно проблемы будут, но можно каждый раз для каждого файла запускать отдельную компиляцию.
В шейдеры добавь ещё один стандартный – VertexLitGeneric, неплохо бы было полазить по всем vmt-шкам и выписать ВСЕ стандартные шейдеры, чтобы не приходилось ничего добавлять, только новые, само написанные.
Добавление нового материала – ЭТО ТЫ СУПЕР МОЛОДЕЦ! Учёл, что могут появиться новые.
Но всё же, они все записываются в файлах game_sounds_physics (настройки звука) и surfaceproperties (полностью настройки материала, кроме глобальных, глобальные описаны в кодом). Имена материалов можно брать из этих файлов (лучше всего из последнего) автоматически, сразу после загрузки программы.
Синтаксис там такой:
"solidmetal" – имя материала, которое ты можешь использовать.
{
Натройки материала
}
Попробуй реализовать процедуру поиска кавычек, но не забывай, что материал может повторяться и что кавычки встречаются в комментариях, которые должны игнорироваться.
Кстати прикольная идея – во время запуска программы проверять, запущен ли Steam, если нет - запускать его, НО ВЫДАВАТЬ ПРЕДУПРЕЖДЕНИЕ, которое можно отключать CheckBox’ом, типа «не показывать это предупреждение в следующий раз».
Потом неплохо бы сделать комментарии о каждом параметре текстовика и *.vmt, что он делает, в виде динамической справки, которую пользователь может сам изменять. И дать возможность добавлять свои комментарии к своим параметрам.
Потом нужно справку и описание самой программы.
Поставь цель для себя – сделать программу в которой нужен минимум знаний чтобы эффективно пользоваться.