В этой статье мы рассмотрим быстрый и довольно удобный способ внесения изменений в готовую откомпилированную карту без запуска компиляции. Таким способом можно вносить изменения в любые карты, даже не имея их исходников. Прежде всего, необходимо, чтобы у Вас была в наличии официальная версия утилит ZHLT 2.5.3. Сами компиляторы нам не понадобятся, но вместе с ними, в архиве, находится утилита Ripent (ripent.exe), которую мы будем использовать.
В каких случаях полезна утилита Ripent?
Если Вы хотите поменять прозрачность стекла, воды, других объектов
Указать правильный угол открытия двери
Изменить скорость движения машины
Сделать объект невидимым
Подправить или добавить места рождения игроков
Изменить название картинки неба
... и так далее, примеров можно привести огромное множество.
Представьте ситуацию, когда Вы компилируете карту в течении 2-3 часов, и совершенно случайно в ее свойствах забыли указать название картинки неба. Это означает, что на карте будет использовано стандартное небо (desert), вместо того, какое хотели использовать Вы.
Чтобы не компилировать карту заново, можно воспользоваться утилитой Ripent и дописать в нужном месте название неба.
Как это работает?
Информация об энтити-объектах в готовых картах (файлах BSP) содержится в простом текстовом виде. Вы и сами можете в этом убедится, открыв любую BSP карту в текстовом редакторе, например, во встроенном редакторе файлового менеджера FAR или TotalCom. После нескольких тысяч строк, состоящих из непонятных нам символов, начнется текстовое описание всех энтити-объектов, используемых на карте.
Наша задача, а, точнее, задача утилиты Ripent заключается в изъятии всей текстовой информации из BSP-файла и обратное внесение измененных данных.
Описание энтитей любой карты начинается так:
"wad" "c:\games\hl\valve\halflife.wad;c:\games\hl\valve\liquids.wad;"
"mapversion" "220"
"classname" "worldspawn"
"MaxRange" "8192"
"skyname" "dm3hackd_"
"message" ""
"classname" "worldspawn"
Более подробно о значении этих и других параметров мы рассказываем в конце статьи.
Применяем Ripent
Ripent — утилита, работающая из командной строки, не имеющая своего графического интерфейса.
Извлекаем текстовую информацию об энтити-объектах
Скопируйте готовую BSP-карту в папку, где находится утилита Ripent
Выберите команду «Пуск -> Выполнить...» («Start -> Run...»)
Нажав кнопку «Обзор» («Browse»), укажите путь к утилите Ripent
В конце пути после кавычек допишите след. параметры: -export -texdata 1 имя_карты
Строка запуска программы для карты de_dust будет выглядеть так:
Буквально через несколько мгновений в директории с утилитой и картой появится новый файл, в нашем случае это был бы de_dust.ent, а в общем случаем имя_карты.ent.
Не смотря на расширение, это обычный текстовый файл, который можно отредактировать в любом текстовом редакторе, например, Блокноте. Единственное, не забудьте после внесения изменений сохранить файл с расширением *.ent, а не txt.
Вносим измененную информацию обратно в BSP-карту
Давайте сразу же посмотрим, как проделывается обратная операция по внесению измененных данных в карту.
Выполняем первые 3 пункта, как описано выше, но теперь вместо -export пишем -import (см. рис. ниже).
В этом случае вся информация из файла имя_карты.ent будет внесена в откомпилированную BSP-карту. Изменения Вы сможете увидеть уже при следующей загрузке карты. Файл *.ent можно удалить.