Digs - Персональная территория
Digs - Персональная территория

Авторский проект Артема Глазкова
 ? 
       Версия для печати (цвет)  

Mapspl
» Версии
» Документация

Скачать/Download
» mapspl v1.50 (57 kb)

Mapspl

  Документация

mapspl.exe [command] [-option1] [-option2 ...] srcfile [addfile1] [addfile2 ...] [-dest:destfile]

Команды:
  mkid      создать индексы для сущностей
  rmid      удалить индексы для сущностей
  rmdpid    удалить повторяющиеся индексы
  extract   извлечь из основного файла все то, что отсутствует в добавочных файлах
  concat    объединить srcfile, addfile1 и т.д. (команда по умолчанию)
  help      вывести данную помощь

Опции:
  -ru                            переключить сообщения на русский язык
  -y                             отвечать Да на все запросы
  -dt/dst/ddt/dat:texture_name   удалить все браши с текстурой "texture_name"
                                 для всех/исходного/выходного/дополнительных файлов
  -de/dse/dae:(entity_class|ID)  удалить все сущности с именем класса "entity_class" либо
                                 идентификатором для всех/исходного/дополнительных файлов
  -rptx                          заменять текстуры
  -dest:<filename>               задает имя файла назначения
  -sc:<filename>                 подключить файл с опциями
  -ba/ea:                        задать область отсечения для брашей/сущностей
    (r|c)/(entity_name|ID|cx/cy[/cz])/rad
                                 прямоугольная/круглая из центра
    b/x1/y1[/z1]/x2/y2[/z2]      по крайним точкам
    m/map_file                   по брашам из worldspawn

    По основным моментам командной строки:

Mapspl.exe [command] [-option1] [-option2 ...] srcfile [addfile1] [addfile2 ...] [-dest:destfile]
    srcfile – исходный файл. addfile1... – дополнительные или добавочные файлы. destfile – файл назначения. Если он не указан, то результат операции будет помещен в исходный файл.

    mkid/rmid
    Создать/удалить индекс. Индексирование добавляет каждой сущности параметр «id» с уникальным значением. Исключение составляет «worldspawn», который единственный на карту и поэтому сам себе ключ. При операциях извлечения/объединения при наличии индекса происходит поиск по нему. Помимо точного соотношения сущностей это еще добавляет скорости обработки.
    Индекс это строковое значение, обязательно содержащее символ «#» и не содержащее символы «*» (звездочка) и «?» (вопросительный знак).
    Отсутствие индекса заставляет искать среди всех не индексированных, а это полный перебор всего того, что лежит за пределами «worldspawn».

    rmdpid
    Удаление дублирующих индексов. Дублирование индексов может происходить при копировании сущностей.

    extract
    Технология разбивки на части следующая. Индексируем карту и делаем ее копию. Далее открываем копию в редакторе и вырезаем из нее кусок карты, с которым хотим работать отдельно. Либо наоборот: вырезаем все, кроме куска. Сути это не меняет. Затем запускаем утилиту с параметром extract указав в качестве добавочного то, что осталось от копии. Результатом операции будет карта, включающая в себя все то, что не содержится в добавочном файле. Т.е. добавочный плюс результирующий должны дать полную карту.
    При извлечении происходит поиск для сущности, и если она найдена, то помечается особым образом и уже не сохраняется в результат. Критерием поиска при отсутствии индекса является совпадение свойств «worldspawn» и «spawnflags». Если сущность не брашевая, то также учитывается свойство «origin». В случае с брашами происходит их перебор на совпадение координат и имени текстуры. Сущность, у которой все браши помечены, также не попадает в результат.

    concat
    Объединение карт. Для каждого добавочного файла делается перебор сущностей. Если сущности нет, то она добавляется. Проверка на совпадение происходит, как и при команде «extract». Далее происходит проверка наличия брашей. Браш сверяется по координатам и имени текстуры (если не указан параметр -rptx). Если не нашелся, то добавляется.
    При сливании файлов не проверяются свойства. То есть, если в исходном файле присутствует сущность такая же, как в добавочном, то за основу берется сущность из исходного файла, а из добавочного информация теряется. То же самое с двумя добавочными файлами: приоритетнее тот, что указан раньше.
    Команда concat является командой по умолчанию. Т.е. если файл карты и все дополнительные карты имеют расширение, то данную команду можно опустить.

    Команда extract и concat можно выполнять и без указания дополнительных файлов. Например, для того, чтобы убрать ненужные браши.

    -dt/dst/ddt/dat:texture_name
    Удаление из всех/исходного/выходного/дополнительных файлов брашей, у которых текстура хотя бы одной из сторон равняется texture_name. Когда выделяем комнату или регион из всей карты в отдельный файл, появляются естественные дыры. В частности, дверные проемы. Чтобы их не было, можно заделать такие дыры брашами со специальной текстурой. В момент слияния файлов нужно указать данную опцию, и такие браши будут удалены.
    В параметре можно использовать символы маски «*» и «?».

    -de/dse/dae:entity_class
    Удаление из всех/исходного/дополнительных файлов сущностей с параметром «classname» равным entity_class. Если в параметре присутствует символ «#», то удаляются сущности с заданным идентификатором, а не именем класса. Использоваться это может для отладки. К примеру, в текущей части карты есть дверь, которая открывается ключом, а ключ располагается в другой части. Чтобы не приходилось вводить что-то типа «impulse 9» в консоли каждый раз, можно добавить в текущую часть аналогичный ключ, а при слиянии указать опцию -de/dse/dae, указав нужный класс.
    Но самый распространенный случай, скорее всего, это сущность «info_player_start». Чтобы карта могла стартовать, на ней должна присутствовать данная сущность, причем в единственном экземпляре. Данная опция позволит при слиянии удалить все точки старта, кроме одной.
    В параметре можно использовать символы маски «*» и «?». Например, следующая команда удалит всех монстров с карты:
  mapspl mymap.map –y –de:monster_*

    -rptx
    Данная опция используется при слиянии карт. Перед тем как добавить браш, команда concat проверяет наличие этого браша в исходном файле. Если браш найден, то при данной опции в нем будут заменены все текстуры (вместе со сдвигом, положением и растяжением). Данная опция была введена специально для разработки карт несколькими людьми.
    Во-первых, это можно использовать для наложения текстур. То есть, один человек делает карту, занимаясь архитектурой и не обращая особого внимания на текстуры. Потом отдает карту второму и второй занимается подгонкой текстур, в то время, как первый продолжает строить карту. После того, как второй завершил свою работу, файл вливается в исходный с указанием опции -rptx.
    Второй способ использования опции - смена архитектуры. Ситуация аналогична предыдущей, но теперь нужно подправить браш. Для этого делаем копию браша и покрываем специальной текстурой, которая в последствии будет удалена из файла с помощью -ddt. Если позволяет редактор, то скрываем браш (в GtkRadiant кнопка H). Далее берем исходный браш и делаем нужные преобразования. После переноса в исходном браше будет заменена текстура, вследствие чего он будет удален, и на его место встанет новый.
    Здесь следует быть внимательным, при указании опции удаления браша. Если задать -dt,-dst или -dat, то браш будет удален еще до того, как попадет в выходной файл и подмены текстуры не произойдет. Следовательно, единственной разумной опцией в данном случае будет -ddt.

    -sc
    Позволяет подключать файл с правилами преобразования. В принципе, в файле может быть указано все то, что можно написать в командной строке. При этом каждая опция, имя файла и прочее пишутся каждый в своей строке. Перед строкой можно поставить «//», что будет означать закомментированную строку.

    -ba/ea:(r,c,b,m)
    Данные опции позволяют отбросить из выходного файла браши/сущности. Областей можно задавать несколько. На принадлежность области проверяется только одна точка. У простой (не брашевой) сущности это свойство «origin». Для браша или группы брашей вычисляется описывающий параллелепипед, со сторонами параллельными координатным плоскостям, и берется центральная точка.
    «r» и «c» задают область центром и радиусом. Для «r» это расстояние в разные стороны от центра до стенок. В данном случае удобно использовать с указанием сущности или класса. (Сущность указывается идентификатором, который отличается от имени класса наличием символа «#»). Например, я привык перемещать «info_player_start» туда, где в данный момент происходят построения. Т.е. записал опцию с указанием данной сущности и потом можно не переписывать: сущность подвинул, область тоже подвинулась куда нужно.
    Если все же центр задали координатой, то z можно опустить. Тогда фигура будет бесконечным цилиндром.
    «m» позволяет подключить map-файл, в котором в качестве областей берутся браши из worldspawn. Такие области можно нарисовать прямо в карте, а потом сохранить отдельно (через функцию «сохранить выделенные»).
    «b» хороша, если не хотим использовать дополнительные файлы, и прямоугольная область нас устраивает. Здесь можно также опустить z.
    Вообще, опция разрабатывалась как предпроцесс перед компиляцией. Т.е. можно редактировать всю карту, а за счет указания данных областей компилировать только нужную часть.

© 2005-09, Powered By Digs (Написать письмо)
Яндекс цитирования

Канарские острова  free hosted forums  форум вебмастеров  бесплатный хостинг