Изменение шрифта в главном меню
По умолчанию Source SDK настраивает мод для использования шрифта
Halflife2 для заголовка.
С виду это неплохой шрифт но он ориентирован к использованию в HalfLife2
в нем многие символы отсутствуют или выглядят как оружие или специальные
символы.
Для настройки вашего мода к использованию более приемлимого шрифта
требуется внести изменения
в файл resource/ClientScheme.res (редактируется текстовым
редактором).
Если вы будите пытаться открыть данный файл с помощью Visual Studio
возможны проблемы с отображением содержимого.
Найдите в файле секцию ClientTitleFont
ClientTitleFont { "1" { "name" "GothicI" "tall" "72" "weight" "400" "antialias" "1" "custom" "1" } }
Параметр custom указывает использовать собственно поставляемый шрифт,
иначе будет производится поиск в системной директории WINDOWS/FONTS.
Имя шрифта соответствует специфическому имени шрифта,
которое можно узнать открыв .ttf файл шрифта программой просмотра:
Если вы используете свой собственный шрифт (который обычо не
поставляется с WINDOWS),
потребуется добавление записи в секцию CustomFontFiles:
CustomFontFiles { "1" "resource/HALFLIFE2.ttf" "2" "resource/HL2crosshairs.ttf" "3" "resource/GothicI.ttf" }
Если у вас используется нестандартный шрифт, убедитесь что поместили
соответствующий
файл шрифта в директорию resource.
Изменение заголовка (title)
Первоначально имеющийся экран вашего мода при запуске показывает что это
Halflife 2.
Естественно вы захотите это изменить,
тогда вносите измение в файл scripts/gameinfo.txt
GameInfo { game "MyMod" title "My Mod Name" type singleplayer_only }
game - отображается в заголовке окна программы
title - это и есть заголовок который мы захочем сменить
type - указывает что это одиночный тип игры
Внимание! не путайте файл scripts/gameinfo.txt
с другими файлами имеющими такое же имя в других директориях.
Добавление собственной консольной команды в меню
В файле resource/gamemenu.res содержится скрипт
описывающий
какие будут присутствовать пункты меню в вашем моде.
Файл рабит на сейкции соответствующие каждому пункуту меню, такого вида
"7" { "label" "#GameUI_GameMenu_SaveGame" "command" "OpenSaveGameDialog" "notmulti" "1" "OnlyInGame" "1" }
"label" - устанавливает текстоый ресурс элемента меню
"command" - комманда кторая будет обработана движком,
если команда начинается с текста "engine ", все что правее него
будет выполнено так как это бы вводилось с консоли.
Например:
"command" "engine cl_showfps 1"
это позволит включать отображение экрана fps с помощью кнопки меню
"notmulti" - использовать только для сингл-плеера
"OnlyInGame" - использовать только во время выполнения игры
Сами тексты которые отображаются в меню хранятся в файлах resource/gameui_*.txt
(соответственно языковой версии).
Изменение фоновых картинок
Half-Life2 загружает 3D анимированные фоновые карты,
этот механизм описан в документации по SDK:
http://www.valve-erc.com/srcsdk/Levels/background_maps.html.
Файл scripts/ChapterBackgrounds.txt в вашей директории
мода
связывает фоновые карты с определенными эпизодами игры.
Этот файл представляет собой список всех эпизодов в игре, и указывает
какие
фоны из каких BSP файлов будут загружены когда эпизод будет
разблокирован
в процессе прохождения сценария игроком.
"chapters" { 1 "background01" 2 "background01" 3 "background02" 4 "background02" 5 "background03" 6 "background03" 7 "background04" 8 "background04" 9 "background05" 9a "background05" 10 "background06" 11 "background06" 12 "background07" 13 "background07" 14 "background07" 15 "background07" }
Если в даннй момент нет фоновой карты, например, если она еще
загружается -
будет отображена статическая фоновая картинка.
Такие картинки помещаются в директории materials/console,
она находится в файле source materials.gcf.
Для загрузки этих картинок используются те же имена, указанные в файле ChapterBackgrounds.txt.
materialsconsole ... background01.vtf background01.vmt background01_widescreen.vtf background01_widescreen.vmt ...
VTF - это Формат текстур Valve (Valve's Texture Format),
VMT - это текстовый файл который содержит описание материала -
подробнее ознакомиться с его форматом можно в документации по SDK
в секции Материалы (Materials) - http://www.valve-erc.com/srcsdk/.
TGA картинки используемые для фонов должны быть кратны размерам 512x512
(1024x1024) пикселей,
и иметь 24 битную глубину цвета.
Для использования своего набора картинок воссоздайте структуру файлов в
той же последовательности что и внутри .gcf файла
в директорию вашего мода.
C:MyModModNamematerials C:MyModModNamematerialsconsole C:MyModModNamematerialsrc C:MyModModNamematerialsrcconsole
Разработчики из Valve подразумевают что в директории materialsrc
у вас сохраняются ваши исходные TGA файлы.
Директория materials хранит преобразованные VTF и
соответствующие им VMT файлы.
Для преобразования из .tga в .vtf, используйте утилиту vtex.exe
(этот файл обычно находится в директории C:program
filesValveSteamSteamAppsusernamesourcesdkbin.
Если например .tga находятся в директории materialsrcconsole,
vtex автоматически поместит .vtf в директорию materialsconsole.
Для создания соответствующих VMT лучше взять за основу оригинальные
файлы из .gcf,
изменение внесите в тектовом редакторе (notepad) и сохраните в
директорию materialsconsole.
Для пример, вот так будет выглядеть файл background01.vmt:
"UnlitGeneric" { "$basetexture" "console/background01" "$vertexcolor" 1 "$vertexalpha" 1 "$ignorez" 1 "$no_fullbright" "1" "$nolod" "1" }
Создание статического фона для меню
Используя всю вышеприведенную информацию, создайте вашу фоновую картинку
с именем background01.tga и преобразуйте из формата TGA в
VTF.
Поместите VTF в директорию materials/console,
если этой директории у вас нет - создайте.
Теперь нужно изменить файл cfg/valve.rc
//exec default.cfg exec joystick.cfg exec autoexec.cfg stuffcmds startupmenu
Здесь мы рассмотрим строку
startupmenu
Если закоментировать ее,
//startupmenu
то предыдущая фоновая карта будет заменена на постоянную статическую
картинку.
Музыка и звуки в меню
Звуки наведения и кликов на кнопки меню находятся в файлах:
sound/UI/buttonclick.wav
sound/UI/buttonclickrelease.wav
sound/UI/buttonrollover.wav
Создайте файл с музыкальным треком и поместите его в директорию sound/media
В файле cfg/valve.rc укажите
play media/MySound.wav
Иконки в меню выбора эпизодов (синглплеер)
Замените материалы в файлах materials/vgui/chapters/*.vtf
на ваши собственные (если их нет - создайте на основе тех которые в
hl2).
|