6. Что нужно исправить в
level2quake.map (выделил красным):
// Brush 0
// Map structure:g[2] -> poly:p[1]
{
brushDef
{
( -2919 258 512 ) ( -2919 258 280 ) ( -2919 452 280 ) ( ( 0.03125 0.00000 11.78125 ) ( 0.00000 0.03125 12.00000 ) ) 0
…
}
}Лишняя пара скобок { }, лишние надписи и вместо адреса текстур с комбинацией из 8 чисел - комбинация
((…)) 0.
Поскольку текстуры все равно потерялись, для удобства будем использовать текстуру caulk, заодно исправим те грани брашей, которые невидимы, но были в исходнике отекстурены.
6.1. Открыть в MS Word
level2quake.map, и
немедленно выпить сразу сохранить его под другим именем, например,
level2rtcw.map.
Вместо:
// This map has been written by QuArK - Quake Army Knife, QuArK 6.6
// It is a map for the game RTCW.
// For more information see QuArK's Home Page: http: //quark.sourceforge.net/
// Entity 0
// worldspawn
{
"classname" "worldspawn"
"movedir" "270" оставить только:
// Entity 0
{
"classname" "worldspawn"
И сразу удалить все патчи, модели и прочие энтиесы! Они идут вслед за брашами. С ними работать лучше отдельно.
6.2. Запись текстур.
Нужно заменить комбинацию
((…)) 0 на
common/caulk 0 0 0 0.500000 0.500000 0 4 0. Можно это сделать и вручную, но каждый браш имеет минимум 6 граней, т. е. на 1000 брашей таких замен будет 6000+
MS Word в отличие от дефолтных текстовых редакторов (NotePad, WordPad) имеет расширенный поиск/замену, позволяющий использовать подстановочные знаки. Проблема в том, что символы (){}[] используются в качестве подстановочных знаков, поэтому замена делается в 2 этапа:
- Сперва избавиться от
( ( и
) ). Выбрать расширенный поиск, перейти на вкладку «Заменить» и заменить
( ( на то что точно нельзя тут встретить, например букву
Ы.
Внимание! скобка-пробел-скобка! Выбирать конечно «Заменить все». Повторить для
) ). Получится что-то вроде:
( -2919 258 512 ) ( -2919 258 280 ) ( -2919 452 280 ) Ы 0.03125 0.00000 11.78125 ) ( 0.00000 0.03125 12.00000 Ы 0- Теперь в расширенном поиске на вкладке «Заменить» включить «Подстановочные знаки», в строке «Найти» вписать
Ы*Ы, в строке «Заменить на» вписать
common/caulk 0 0 0 0.500000 0.500000 0 4, нажать «Заменить все». Обращу внимание, запись текстур я сократил на одно число - это
0 в конце, который в принципе стоит там где нужно:
( ( 0.03125 0.00000 11.78125 ) ( 0.00000 0.03125 12.00000 ) ) 0
common/caulk 0 0 0 0.500000 0.500000 0 4 0По результатам замены должно получиться что-то вроде:
// Brush 0
// Map structure:g[2] -> poly:p[1]
{
brushDef
{
( -2919 258 512 ) ( -2919 258 280 ) ( -2919 452 280 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -2919 452 512 ) ( -2919 452 280 ) ( -2888 452 280 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -2888 452 512 ) ( -2888 452 280 ) ( -2888 258 280 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -2888 258 512 ) ( -2888 258 280 ) ( -2919 258 280 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -2888 452 512 ) ( -2888 258 512 ) ( -2919 258 512 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -2919 452 280 ) ( -2919 258 280 ) ( -2888 258 280 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
}
Красным выделено то, что не нужно. Тоже удаляется в Расширенном поиске разными алгоритмами (расписывать алгоритмы дольше, чем удалять вручную
).
Важно не забыть, что последний браш должен заканчиваться двумя скобками }:
// Brush 509
{
( 160 -64 240 ) ( -160 -64 240 ) ( -160 564 240 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 160 -64 240 ) ( 160 -64 208 ) ( -160 -64 208 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 160 564 240 ) ( 160 564 208 ) ( 160 -64 208 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -160 564 240 ) ( -160 564 208 ) ( 160 564 208 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -160 -64 240 ) ( -160 -64 208 ) ( -160 564 208 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 160 564 208 ) ( -160 564 208 ) ( -160 -64 208 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
}
}7. Теперь можно попытаться открыть карту
level2rtcw.map в Радианте как карту для RTCW. Если все сделано верно, то при загрузке не будет ошибок, а в строке состояния Радианта покажет:
Brushes: X Enties: 0, где X = № последнего браша +1 (нумерация начинается с 0).
Если не так, то где-то сделана ошибка - не удалена ненужная скобка или остались ненужные фрагменты. Как правило ошибка на браше с номером меньшим на 1, чем число брашей, указанных в строке состояния.
Если все ОК, то
. Можно также открыть в Радианте 1.5.0 исходную карту
level2rtcw.map как карту для Doom3. И станет понятно какие текстуры нужно накладывать на браши. Важно отметить, что конвертируются все браши, в т. ч. clip'ы всех видов и прочие common'ы, это сперва может немного сбить с толку.
to be continued...