TexGen, и ниволнует. 1) Чего прога должна уметь: -Инициализация директорий при запуске -Создание/загрузка/сохранение проектов -Отображение и изменение информации о проекте - террейны и переходы -Отображение и изменение информации о разрешённых и запрещённых переходах -Выбор конкретно взятого тайла из файлов "со стороны" -Генерация: заданного тайла по маске и материалам, всех недост. тайлов, страниц текстур (+файла опций) -Предпросмотр полученных страниц -Дополнительные функции 2) Подробно по каждому пункту +Директории: Проверка, если диск существует, а директория - нет, то спросить разрешения на создание цепи Если разрешат - создать цепь директорий, убеждаясь в отсутствии запрещённых символов Если запретят - то убить нахер запись данной папки в инишнеге, и создать в папке с программой. Если диска не существует - убить запись данной папки в инишнеге, и создать в папке с программой. -Проекты: файлы с расширением *.rtpr, обычные инишники. В каждом проекте есть следующая инфа: [Main] Name = Имя проекта TileSet = Имя набора тайлов TileSize= Дефолтный размер тайлов равен 64 пикселя [Terrains] Terr_List=Terr0;Terr1;...;TerrN; {содержащиеся в проекте типы территоррии} [Last_Build] Tile_List=Tile1;Tile2;Tile3;...TileN; {Здесь имена тайлов не содержат указания слоя и номер битмапа. Только материалы и поворот} -Инфа о проекте и её значение при работе проги: Имя: пишется в результирующих файлах: projectname000.mmp; projectname.opt Имя набора тайлегов: из него берутся собстно имена террейнов. При смене его в проекте, все террейны убиваются и требуют заполнения "по новой" Список террейнов: отображается в главном окне первой вкладки, в виде дерева: Террейн->Переходы Список тайлов предыдущего билда: при попытке сгенерировать текстуры, проверяет наличие в проекте всех тайлов из данного списка. Если есть все: клепает сперва их, потом все остальные, потом дописывает в проект все остальные Если чего-то не хватает, то даёт варианты: -Начхать на этот список, и генерить в алфавитном порядке -Забить недостающие тайлы дефолтной текстургой -Отменить процесс и вывести список недостающих тайлов -Инфа о разрешениях переходов: куча файлов вида ALLOW_Terr1_Terr2 [имена в алфавитном порядке] или DENY_Terr1_Terr2. Есть служебный террейн: ALL Эти файлы учитываются при генерации имён переходов, когда компануются переходы между террейнами, имеющими: -Разрешение на переход -Одинаковый слой Файлы лежат в папке с коллекцией, которую использует проект. У разрешения приоритет выше, чем у запрета. -Выбор тайла: в каждый конкретный момент у нас выбран (или не выбран) тайл. В последнем случае, соответствующие кнопки на 1 и 2 закладках недоступны. Если же тайл выбран, то нажатие на кнопку выводит диалоговое окошко, позволяющее назначить ему картинку формата bmp. В случае отмены, ничего не меняется. Иначе картинка, которую мы выбрали, ставится вместо той, которая была у тайла до выбора. -Генерация: в каждом случае имя полученного(ых) файла(ов) определено заанее, и пользователя не стоит о нём спрашивать. Маска всегда подгоняется до размеров нужного в настоящий момент тайлега. Текстурные страницы имеют фиксированный размер (512х512 вроде бы), и содержат кратное степеням четверки кол-во тайлов: -1, 4, 16, 64 (обычно используется последний вариант). Вместе со страницами идёт файл опций, его нужно просто дописывать "в процессе" -Предпросмотр: всё, что только что сгенерировано, идёт в папку Output'а. Именно там предпросмотр и ищет projectname'файлы. -Доп. функции: -Резалка текстур. Может принимать на вход opt, а может и не принимать. -Запаковщик результатов генерации проекта bmp<->mmp -Запаковщик mmp'шек и opt'ов в ресурсы -Редактор масок: улучшенная версия не имеет жёсткой фиксации по размеру, и лучше бы ей идти отдельным экзешником. Сделать конвертер msk2bmp.