Як компілювати карти в bsp формат - все про css - статті - все для css і world of tanks

Як компілювати карти в bsp формат

Компіляція - це процес перекладу карти з формату .map в формат .bsp. Так-так, саме з формату .map, а не .rmf. rmf формат використовується в Worldcraft для того, щоб зберігати додаткову інформацію про карту, яку .map формат не підтримує. Під "дополнітелной інформацією" мається на увазі інформація про згруповані об'єктах, видимих ​​і прихованих об'єктах, etc.

Сподіваюся, ви вже скачали ZHTL-утиліти (Zoner Half-Life Tools). Тепер давайте розберемося що ж це таке:

ZHLT-утиліти являють собою 4 програми для компіляції карти, які повинні бути послідовно запущені з командного рядка. Давайте розглянемо їх:

hlcsg.exe - робить загальні обчислення геометрії карти і створює 4 файлу оболонки для подальшої обробки за допомогою hlbsp.exe.
hlbsp.exe - генерує BSP-дерево карти і створює працездатний .bsp файл.
hlvis.exe - обробляє видимі дані карти, що призводить до прискорення їх відтворення при грі.
hlrad.exe - обробляє світло на мапі.

Запускати все чотири програми-компілятори потрібно в тій послідовності, в якій вони представлені вище. Для швидкої компіляції можна запустити тільки hlcsg.exe і hlbsp.exe, але в цьому випадку карта буде гальмувати і на ній не буде оброблений світло (вся карта буде яскраво і рівномірно освітлена і без тіней). Якщо ваша карта вже має досить значні розміри, то при швидкій компіляції крім hlcsg.exe і hlbsp.exe краще компілювати її і з hlvis.exe з параметром -fast, щоб збільшити швидкість відтворення карти в грі і не спостерігати на екрані 3fps.

Всі параметри компіляторів вказуються через пробіл, а після всіх параметрів повинен бути переданий шлях до .map файлу з картою. Якщо ви не вказали компіляторам жодного параметра, то шлях до .map файлу вказується через пробіл, відразу-ж після імені компілятора. Приклад: hlcsg.exe maps / mapname.map.

Тепер давайте розглянемо обидва способи компіляції: за допомогою Worldcraft і за допомогою .bat файлу.

1. Компіляція за допомогою Worldcraft

Це вікно простий компіляції. Не звертайте на нього уваги, а відразу тисніть кнопку Expert і перед вами з'явиться вікно Run Map (Advanced) - ось воно нам і потрібно!

$ Exedir - шлях до папки з грою, вказаний в полі Game Executable Directory на вкладці Game Configurations.

$ Moddir - шлях до папки мода, вказаний в полі Mod Directory на вкладці Game Configurations.

$ Gamedir - шлях до папки valve /, вказаний в полі Game Directory на вкладці Game Configurations.

$ Path - шлях до папки з картами, вказаний в полі RMF Directory на вкладці Game Configurations.

$ Game_exe - шлях до hl.exe, вказаний в полі Game executable на вкладці Build Programs.

$ Csg_exe - шлях до hlcsg.exe, вказаний в полі CSG executable на вкладці Build Programs.

$ Bsp_exe - шлях до hlbsp.exe, вказаний в полі BSP executable на вкладці Build Programs.

$ Vis_exe - шлях до hlvis.exe, вказаний в полі VIS executable на вкладці Build Programs.

$ Light_exe - шлях до hlrad.exe, вказаний в полі RAD executable на вкладці Build Programs.

$ Bspdir - шлях до папки, куди повинен бути поміщений .bsp файл карти після компіляції (Build Programs -> Place compiled maps.).

$ File - ім'я карти.

$ Ext - розширення файлу з картою.
Тепер давайте розглянемо всі 8 рядків з вікна компіляції, котрі є майже такими ж, як і в .bat файл:

1. Встановлює як поточного каталогу E: # 92; Counter-Strike.
2. Запуск системи hlcsg.exe і передає йому шлях до файлу з картою.
3. Запускає hlbsp.exe і передає йому шлях до файлу з картою.
4. Запускає hlvis.exe і передає йому шлях до файлу з картою.
5. Запускає hlrad.exe і передає йому шлях до файлу з картою.
6. Резервне копіювання даних .bsp файл карти з папки E: # 92;! Mapping # 92; Maps в папку E: # 92; Counter-Strike # 92; cstrike # 92; maps
7. Копіює .pts файл карти з папки E: # 92;! Mapping # 92; Maps в папку E: # 92; Counter-Strike # 92; cstrike # 92; maps
8. Запускає hl.exe з параметрами + map mapname -game cstrike -dev -console + deathmatch 1
Ось так все просто! Спочатку компілюється карта усіма чотирма послідовно запущеними програмами-компіляторами, потім .bsp і .pts файли копіюються в папку cstrike / maps / і запускається гра.

Єдине, що може бути не зовсім зрозуміло - навіщо потрібен .pts файл? А потім, що в ньому міститься необхідна інформація для пошуку помилки "leak" на карті (про цю та інші помилки компіляції буде розказано в окремому туторіали).

Тепер давайте розглянемо решту опції у вікні компіляції Run Map (Advanced):

Run with visible objects only - якщо цей прапор відзначений, то компілювати будуть тільки видимі об'єкти, а всі приховані проігнорує.

Use Long filenames - дозволити використання довгих імен файлів, не скорочуючи їх до 8 символів, подібно MS-DOS.

Ensure file post-exist - контролювати успішність створення файлів в процесі компіляції.

Use Process window - включити вікно, в якому буде відображатися процес компіляції.

Тепер, після того як все налаштовано, сміливо тисніть кнопку Go!

Описаний вище спосіб компіляції карти за допомогою Worldcraft є не найкращим вибором, так як радактор завантажує в пам'ять вашу карту, текстури, та й сам використовує чимало ресурсів. А компіляторам, як не важко здогадатися, так само потрібна величезна кількість пам'яті, тому компіляція буде проходити набагато повільніше.

2. Компіляція за допомогою .bat файлів

Відразу варто сказати, що даний спосіб компіляції найшвидший, оскільки не витрачаються системні ресурси на виконання додаткових програм.

hlcsg.exe mapname.map
hlbsp.exe mapname.map
hlvis.exe mapname.map
hlrad.exe mapname.map

Нічого складного. Ми як завжди послідовно запускаємо в потрібному порядку чотири програми-компілятори, передаючи їм шлях до .map файлу карти. Варто зауважити, що для коректної роботи наведеного вище .bat файлу необхідно перемістити всі програми-компілятори і .map файл карти в папку, де знаходиться .bat файл. А можна зробити простіше - вказати в .bat файлі повні шляхи. Нижче наводиться приклад такого .bat файлу (перед використанням змініть шляху на свої):

E: # 92;! Mapping # 92; Zhlt # 92; hlcsg.exe E: # 92;! Mapping # 92; Maps # 92; mapname.map
E: # 92;! Mapping # 92; Zhlt # 92; hlbsp.exe E: # 92;! Mapping # 92; Maps # 92; mapname.map
E: # 92;! Mapping # 92; Zhlt # 92; hlvis.exe E: # 92;! Mapping # 92; Maps # 92; mapname.map
E: # 92;! Mapping # 92; Zhlt # 92; hlrad.exe E: # 92;! Mapping # 92; Maps # 92; mapname.map
Тепер давайте створимо .bat файл для повної компіляції карти. Нам потрібно всього лише додати кілька параметрів для компіляторів:

E: # 92;! Mapping # 92; Zhlt # 92; hlcsg.exe E: # 92;! Mapping # 92; Maps # 92; mapname.map
E: # 92;! Mapping # 92; Zhlt # 92; hlbsp.exe E: # 92;! Mapping # 92; Maps # 92; mapname.map
E: # 92;! Mapping # 92; Zhlt # 92; hlvis.exe -full E: # 92;! Mapping # 92; Maps # 92; mapname.map
E: # 92;! Mapping # 92; Zhlt # 92; hlrad.exe -dscale 1 -extra E: # 92;! Mapping # 92; Maps # 92; mapname.map
Можете в кінці .bat файлу дописати команду для копіювання .bsp файлу в директорію cstrike / maps /, щоб не копіювати кожен раз вручну. Виглядає вона так:

set mapname = mymap.map
E: # 92;! Mapping # 92; Zhlt # 92; hlcsg.exe E: # 92;! Mapping # 92; Maps # 92;% mapname%
E: # 92;! Mapping # 92; Zhlt # 92; hlbsp.exe E: # 92;! Mapping # 92; Maps # 92;% mapname%
E: # 92;! Mapping # 92; Zhlt # 92; hlvis.exe -full E: # 92;! Mapping # 92; Maps # 92;% mapname%
E: # 92;! Mapping # 92; Zhlt # 92; hlrad.exe -dscale 1 -extra E: # 92;! Mapping # 92; Maps # 92;% mapname%
Так само, в початок .bat файлу раджу додати команду @echo off, для того щоб заборонити висновок команди на екран перед її виконанням.

Бажано створити собі два .bat файлу. Один для повної компіляції, а інший для швидкої. Для швидкої компіляції запустіть компілятори з такими параметрами:

@echo off set mapname = mymap.map
E: # 92;! Mapping # 92; Zhlt # 92; hlcsg.exe E: # 92;! Mapping # 92; Maps # 92;% mapname%
E: # 92;! Mapping # 92; Zhlt # 92; hlbsp.exe E: # 92;! Mapping # 92; Maps # 92;% mapname%
E: # 92;! Mapping # 92; Zhlt # 92; hlvis.exe -fast E: # 92;! Mapping # 92; Maps # 92;% mapname%
rem hlrad.exe можна пропустити, адже протестувати карту можна і без обробки на ній світла.
І на завершення наводжу приклад свого .bat файлу:

rem Шлях до каталогу з картами:
set MAPSPATH = E: # 92;! Mapping # 92; Maps

rem Шлях до каталогу ZHLT:
set ZHLTPATH ​​= E: # 92;! Mapping # 92; Zhlt

rem Шлях до каталогу cstrike / maps:
set CSPATH = E: # 92; Counter-strike # 92; cstrike # 92; maps

rem Назва карт:
set MAPNAME = mapname

rem Послідовний запуск всіх програм-компіляторів
rem Якщо потрібно - змініть параметри компіляції:
% ZHLTPATH% # 92; hlcsg.exe -nowadtextures -estimate% MAPSPATH% # 92;% MAPNAME%
% ZHLTPATH% # 92; hlbsp.exe -estimate% MAPSPATH% # 92;% MAPNAME%
% ZHLTPATH% # 92; hlvis.exe -full -estimate% MAPSPATH% # 92;% MAPNAME%
% ZHLTPATH% # 92; hlrad.exe -dscale 1 -extra -estimate% MAPSPATH% # 92;% MAPNAME%

rem Після завершення компіляції виводимо на екран повідомлення 'COMPILE END':
echo COMPILE END
Усе! Бажаю всім швидкої і правильної компіляції!

ЗИ. Не звертайте уваги на знак оклику в шляхах, наведених для прикладу. Просто у мене таку назву папки.

Схожі статті