Скрипт ресурсов
Файлы скриптов ресурсов используются во вспомогательном классе hgeResourceManager
для определения сложных ресурсов. Это простой текстовый файл, содержаший определения ресурсов.
Общие правила
Скрипт ресурсов состоит из команд, разделенных символами пробела ('\t', '\n', '\r' or ' ').
Если обнаружена точка с запятой (';'), то вся остальная часть строки рассматривается как комментарий
пользователя и игнорируется. Все команды и названия регистрозависимые.
Общий формат команд такой:
ResourceType ResourceName : BaseResourceName
{
Parameter1=Value1
Parameter2=Value2
...
ParameterN=ValueN
}
Параметры могут появляться в любом порядке. Большинство параметров имеют значения по умолчанию и
могут быть опущены. Если параметр имеет много значений, все они должны быть указаны. Множественные
значения должны быть разделены запятыми : ','.
Названия ресурсов являются словами, которые начинаются с буквы и разделяются символами пробелов.
Ресурсы разных типов не могут иметь одинаковые названия. Нельзя также выбирать названия ресурсов
совпадающие с названиями команд или параметров. Символы ',', ':', '{', '}' и '=' тоже не доступны в
именах. Чтобы определить имя ресурса или путь к файлц содержаший пробелы и/или специальные символы,
используйте кавычки: "01name:part1 part2". Помните, что строчки в кавычках не могут занимать
несколько строк.
Если указан BaseResourceName и объявлен ресурс с таким названием все параметры копируются в
новый ресурс и только указанные заменяются новыми значениями.
Если hgeResourceManager обнаруживает ошибки, загружая скрпит
ресурсов, он пытвется пропустить наименьшую часть файла. Все ошибки анализа скрипта записываются в
файл протокола с максимально возможным объяснением.
Команда Include
Команда "Include" включает другой файл сприпта для обработки. Это позволяет разбивать ваши скрипты
на несколько файлов и использовать их в различных комбинациях. Циклические ссылки и ссылки на себя
автоматически определяются и игнорируются.
Пример:
Include level2.res
Команда Resource
Команда "Resource" определяет простой ресурс. Поддерживает параметры:
- filename
- Имя файла простого ресурса, абсолютное или относительное к директории приложнеия или корню архива
ресурсов.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Resource level1
{
filename=levels\level1.dat
resgroup=1
}
Команда Texture
Команда "Texture" определяет текстуру. Поддерживает параметры:
- filename
- Имя файла текстуры, абсолютное или относительное к директории приложнеия или корню архива
ресурсов.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Texture background
{
filename=images\bg.jpg
resgroup=1
}
Команда Sound
Команда "Sound" определяет звуковой эффект. Поддерживает параметры:
- filename
- Имя файла звукового эффекта, абсолютное или относительное к директории приложнеия или корню архива
ресурсов.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Sound explosion1
{
filename=sounds\expl1.ogg
resgroup=1
}
Команда Music
Команда "Music" определяет музыку. Поддерживает параметры:
- filename
- Имя файла музыки, абсолютное или относительное к директории приложнеия или корню архива
ресурсов.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Music main_theme
{
filename=sounds\music1.xm
resgroup=1
}
КомандаStream
Команда "Stream" определяет аудио поток. Поддерживает параметры:
- filename
- Имя файла звукового потока, абсолютное или относительное к директории приложнеия или корню архива
ресурсов.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Example:
Stream sountrack1
{
filename=ost.mp3
resgroup=1
}
Команда Target
Команда "Target" определяет цель рендеринга. Поддерживает парметры:
- size
- Размеры цели рендеринга, два целых числа: ширина и высота. Должны являться степенью 2. Значение
по умолчанию - 256x256.
- zbuffer
- Булево значение, опрделяющее, использовать Z-буфер для этой цели рендеринга или нет. Значение по
умолчанию - false.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Target HUD
{
size=256,256
zbuffer=false
resgroup=1
}
Команда Sprite
Команда "Sprite" определяет спрайт. Поддерживает параметры:
- texture
- Название текстуры для спрайта. Может быть названием определенной ранее текстуры или просто
названием файла.
- rect
- Область текстуры, используемая для спрайта, четыре числа с плавающей точкой: X и Y координаты
левой верхней точки, ширина и высота.
- hotspot
- Центр спрайта, два числа с плавающей точкой: X и Y смещения от левого верхнего угла спрайта.
Значения по умолчанию - 0,0.
- blendmode
- Режим смешивания, список из одной или нескольких следующих констант:
COLORMUL, COLORADD, ALPHABLEND, ALPHAADD,
ZWRITE, NOZWRITE. Смотрите Режимы смешивания для
более детального описания.
Значение по умолчанию - COLORMUL, ALPHABLEND, NOZWRITE.
- color
- Цвет спрайта, шестнадцатиричное значение. Смотрите
Аппаратный формат цвета для более подробной информации.
Значение по умолчанию - FFFFFFFF.
- zorder
- Z-глубина спрайта: число с плавающей запятой. Значение по умолчанию - 0.5.
- flip
- Два булевых значения, определяющих нужно ли отражать спрайт горизонтально и вертикально.
Значения по умолчанию - false, false.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Sprite wizard
{
texture=characters
rect=0,0,32,32
hotspot=16,16
blendmode=COLORMUL,ALPHABLEND,NOZWRITE
resgroup=1
}
Sprite orc : wizard
{
rect=0,64,32,32
color=FF808000
}
Команда Animation
Команда "Animation" определяет анимацию. Она содержит все параметры команды Sprite и плюс следующие:
- frames
- Общее число кадров анимации, целое число. Значение по умолчанию - 1.
- fps
- Скорость воспроизведение анимации (кадров в секунду), число с плавающей точкой. Значение по
умолчанию - 12.0.
- mode
- Режим воспроизведения анимации, список из одного или нескольких следующих констант:
FORWARD, REVERSE, PINGPONG, NOPINGPONG,
LOOP, NOLOOP. Смотрите hgeAnimation::SetMode для
более детального описания.
Значения по умолчанию FORWARD, LOOP.
Пример:
Animation hero.walk
{
texture=characters
rect=0,128,32,32
frames=8
fps=6.0
mode=FORWARD,NOLOOP
hotspot=16,16
blendmode=COLORMUL,ALPHABLEND,NOZWRITE
resgroup=1
}
Команда Font
Команда "Font" опредляет шрифт. Поддерживает параметры:
- filename
- Имя файла описания шрифта, абсолютное или относительное к директории приложнеия или корню архива
ресурсов.
- blendmode
- Режим смешивания, список из одного или нескольких следующих констант:
COLORMUL, COLORADD, ALPHABLEND, ALPHAADD,
ZWRITE, NOZWRITE. Смотрите Режимы смешивания для
Значение по умолчанию - COLORMUL, ALPHABLEND, NOZWRITE.
- color
- Цвет шрифта, шестнадцатиричное число: Смотрите Аппаратный формат
цвета для подробного описания. Значение по умолчанию - FFFFFFFF.
- zorder
- Z-глубина шрифта: число с плавающей точкой. Значение по умолчанию 0.5.
- scale
- Коэффициент масштабирования шрифта, число с плавающей запятой. Значение по умолчанию - 1.0.
- rotation
- Угол поворота символов в радианах, число с плавающей точкой. Значение по умолчанию - 0.0.
- tracking
- Разряженность шрифта в пикселях, число с плавающей точкой. Может быть отрицательным. Значение по
умолчанию - 0.0.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Font tengwar
{
filename=fonts\tengwar.fnt
tracking=1.0
resgroup=1
}
Команда Particle
Команда "Particle" определяет систему частиц. Поддерживает параметры:
- filename
- Имя файла пресета системы частиц, абсолютное или относительное к директории приложнеия или корню архива
ресурсов.
- sprite
- Имя спрайта, которое необходимо использовать в системе частиц.
- fps
- Частота обновления системы частиц (кадров в секунду), число с плавающей точкой. Значение по
умолчанию 0.0, означает неограниченное обновление.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Particle explosion1
{
filename=data\explosion1.psi
sprite=explosion1
fps=50.0
resgroup=1
}
Команда Distortion
Команда "Distortion" определяет сетку искажения. Поддерживает параметры:
- texture
- Название текстуры, которое нужно использвать в сетке. Может быть ранее указанная текстура или
просто имя файла.
- rect
- Область текстуры, которая используется в сетке, четыре числа с плавающей точкой: X и Y
координаты левого верхнего угла, ширина и высота.
- mesh
- Размеры сетки, два целых числа: число столбцов и строк. Значение по умолчанию - 2,2.
- blendmode
- Режим смешивания, список из одной или нескольких следующих констант:
COLORMUL, COLORADD, ALPHABLEND, ALPHAADD,
ZWRITE, NOZWRITE. Смотрите Режимы смешивания для
детального описания.
Значение по умолчанию COLORMUL, ALPHABLEND, NOZWRITE.
- color
- Цвет сетки искажения, шестнадцатиричное число: Смотрите Аппаратный формат
цвета для подробного описания. Значение по умолчанию - FFFFFFFF.
- zorder
- Z-глубина сетки искажения: число с плавающей точкой. Значение по умолчанию - 0.5.
- resgroup
- Целочисленный идентификатор группы. По умолчанию равен 0, что значит неопределенную группу.
Пример:
Distortion waves
{
texture=title
rect=0,0,400,200
mesh=16,8
color=FF2060F0
resgroup=1
}
|