Изменение Меню
Изменение шрифта в главном меню
По умолчанию Source SDK настраивает мод для использования шрифта Halflife2 для заголовка.
С виду это неплохой шрифт, но он ориентирован к использованию в HalfLife2 в нем многие символы отсутствуют или выглядят как оружие или специальные символы.
Для настройки вашего мода к использованию более приемлимого шрифта требуется внести изменения в файл resource/ClientScheme.res (редактируется текстовым редактором).
Если вы будите пытаться открыть данный файл с помощью Visual Studio возможны проблемы с отображением содержимого.
Найдите в файле секцию ClientTitleFont
Имя шрифта соответствует специфическому имени шрифта, которое можно узнать открыв .ttf файл шрифта программой просмотра:
Если вы используете свой собственный шрифт (который обычо не поставляется с WINDOWS), потребуется добавление записи в секцию CustomFontFiles:
Изменение заголовка (title)
Первоначально имеющийся экран вашего мода при запуске показывает что это Halflife 2.
Естественно вы захотите это изменить, тогда вносите измение в файл scripts/gameinfo.txt
title — это и есть заголовок который мы захочем сменить
type — указывает что это одиночный тип игры
Внимание! не путайте файл scripts/gameinfo.txt с другими файлами имеющими такое же имя в других директориях.
Добавление собственной консольной команды в меню
В файле resource/gamemenu.res содержится скрипт описывающий какие будут присутствовать пункты меню в вашем моде.
Файл рабит на сейкции соответствующие каждому пункуту меню, такого вида
«command» — комманда кторая будет обработана движком, если команда начинается с текста «engine «, все что правее него будет выполнено так как это бы вводилось с консоли.
Например:
«notmulti» — использовать только для сингл-плеера
«OnlyInGame» — использовать только во время выполнения игры
Сами тексты которые отображаются в меню хранятся в файлах resource/gameui_*.txt (соответственно языковой версии).
Изменение фоновых картинок
Half-Life2 загружает 3D анимированные фоновые карты, этот механизм описан в документации по SDK:
http://www.valve-erc.com/srcsdk/Levels/background_maps.html.
Файл scripts/ChapterBackgrounds.txt в вашей директории мода связывает фоновые карты с определенными эпизодами игры.
Этот файл представляет собой список всех эпизодов в игре, и указывает какие фоны из каких BSP файлов будут загружены когда эпизод будет разблокирован в процессе прохождения сценария игроком.
Для загрузки этих картинок используются те же имена, указанные в файле ChapterBackgrounds.txt.
TGA картинки используемые для фонов должны быть кратны размерам 512×512 (1024×1024) пикселей, и иметь 24 битную глубину цвета.
Для использования своего набора картинок воссоздайте структуру файлов в той же последовательности что и внутри .gcf файла в директорию вашего мода.
Для преобразования из .tga в .vtf, используйте утилиту vtex.exe (этот файл обычно находится в директории C:\program files\Valve\Steam\SteamApps\username\sourcesdk\bin.
Если например .tga находятся в директории materialsrc\console, vtex автоматически поместит .vtf в директорию materials\console.
Для создания соответствующих VMT лучше взять за основу оригинальные файлы из .gcf, изменение внесите в тектовом редакторе (notepad) и сохраните в директорию materials\console. Для пример, вот так будет выглядеть файл background01.vmt:
Создание статического фона для меню
Используя всю вышеприведенную информацию, создайте вашу фоновую картинку с именем background01.tga и преобразуйте из формата TGA в VTF. Поместите VTF в директорию materials/console, если этой директории у вас нет — создайте.
Теперь нужно изменить файл cfg/valve.rc
Музыка и звуки в меню
Звуки наведения и кликов на кнопки меню находятся в файлах:
sound/UI/buttonclick.wav
sound/UI/buttonclickrelease.wav
sound/UI/buttonrollover.wav
Создайте файл с музыкальным треком и поместите его в директорию sound/media
В файле cfg/valve.rc укажите
Иконки в меню выбора эпизодов (синглплеер)
Замените материалы в файлах materials/vgui/chapters/*.vtf на ваши собственные (если их нет — создайте на основе тех которые в hl2).
Ссылки
http://www.chatbear.com/…
http://www.sourcewiki.org/wiki/index.php/Main_Menu_Editing
http://www.sourcewiki.org/wiki/index.php/MainMenuEditingPart2
По умолчанию 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.
materials\console\ ... 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 картинки используемые для фонов должны быть кратны размерам 512×512 (1024×1024) пикселей, и иметь 24 битную глубину цвета.
Для использования своего набора картинок воссоздайте структуру файлов в той же последовательности что и внутри .gcf файла в директорию вашего мода.
C:\MyMod\ModName\materials C:\MyMod\ModName\materials\console\ C:\MyMod\ModName\materialsrc C:\MyMod\ModName\materialsrc\consoleРазработчики из Valve подразумевают что в директории materialsrc у вас сохраняются ваши исходные TGA файлы. Директория materials хранит преобразованные VTF и соответствующие им VMT файлы.
Для преобразования из .tga в .vtf, используйте утилиту vtex.exe (этот файл обычно находится в директории C:\program files\Valve\Steam\SteamApps\username\sourcesdk\bin.
Если например .tga находятся в директории materialsrc\console, vtex автоматически поместит .vtf в директорию materials\console.
Для создания соответствующих VMT лучше взять за основу оригинальные файлы из .gcf, изменение внесите в тектовом редакторе (notepad) и сохраните в директорию materials\console. Для пример, вот так будет выглядеть файл 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).
Ссылки
http://www.chatbear.com/…
http://www.sourcewiki.org/wiki/index.php/Main_Menu_Editing
http://www.sourcewiki.org/wiki/index.php/MainMenuEditingPart2