Описание файлов игры

Самостоятельная настройка параметров игры и создание модификаций.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 844

Описание файлов игры

Сообщение Veshnyak » 21 ноя 2016, 13:01

Особая благодарность Lex. На основе его руководства составлен этот список файлов.
Расшифровка параметров не претендует на полноту и точность, дополнения и уточнения приветствуются.

В каталоге Polaris Sector\
сontainer.allФайл содержит настройки случайных контейнеров.
default.dsФайл дизайнов по умолчанию. Изменяется только через редактор ячеек.
equip.allВсе параметры всех модулей для всех кораблей (броня, щиты, пушки, двигатели, модули). К этим параметрам применяются формулы, которые лежат не здесь.
[WEAPON] "Antimezon gun" //имя в кавычках используется только внутри этого файла для ссылок на него. Имя модуля берется из технологии в tech_t.all (см. поле TECH)
POWER_CONS -2250 //потребление энергии, для генератора – положит.
WEIGHT 18 //вес, складывается с остальным оборудованием и корпусом, должен быть меньше параметра турели CapacityWeight, чтобы в неё установиться.
FOR_CLASS BigShip //для какого класса корабля этот модуль, только один класс.
MOVIE "Items/SCWAMZ.idx" BIG //ссылка на файл, где описана анимация, BIG для совместимости, если не указать, в 1 ячейке редактора 10 пикселей изображения.
TECH "SCWAMZ" //внутреннее названии технологии в Tech_t.all для этого модуля
CELLS_TYPE Weapons360
RES_REQ Gravitonium 0.015 Reidium 1.5 Metals 0.2 Prod 1.5 END_REQ //ресурсы на строительство и очки производства.
IMPULSE //категория пушки (импульсный, лазер, ракета)
Damage 2 //урон первичного снаряда (для этой пушки, см. Range2)
Damage2 12 //урон вторичного снаряда
ReloadTime 120 //время перезарядки. Разделить на 30 для времени в секундах.
Range 1300 //Расстояние полета первичного снаряда
Range2 200 //расстояние полета вторичных снарядов
AdjustedRange 1300 //вычисляемое для ИИ расстояние (для предсказания исхода, нет для этой пушки)
Speed 22 //скорость полета выстрела, в игре на 10 больше (220)
CWReg
BehType2 RandomTargetBySpeed //Тип поведения - случайная цель.
IgnoresShields //снаряд игнорирует щиты
DamageGroup 2 //Группа оружия, к которой относится пушка.
HalfX 6 //полуширина ?
HalfY 6 //полудлина ?
Components 10 //кол-во выстрелов или разделяющихся элементов
Components_Info //далее описание поведения (разделяющихся) компонентов
OffY 10 //расстояние от турели до места образования выстрела
RotateSpeed 2
// ImageInfo "BLSH02" "BLSH24" "BLSH03" "BLSH44" RGB 180 172 180 RGB 180 172 180 RGB 180 172 180 RGB 180 172 180
RepeatAnimation 1 //сколько раз повторить анимацию выстрела
Sound "D/16_ANTIMEZON_GUN" Speed 0.4 // файлы звуковых эффектов
Sound "D/17_ANTIMEZON_GUN" Speed 0.4
Sound "D/18_ANTIMEZON_GUN" Speed 0.4
Sound1 "D/58_MISSILE_SPLIT"
Color RGB 180 172 180 //цвет выстрела
EllipseRad 1.0 //эллиптичность выстрела, 1 – круглый.
ZeroAgeSize 0.5 //начальный размер выстрела
MaxAgeSize 3.5 //сколько времени растет до полного размера
MaxAgeTime 90.0 //сколько времени живет выстрел
GlowSizeMult 0.5 //кол-во свечения вокруг выстрела

[ARMOUR] "Bogovan armour" //броня
POWER_CONS -8 //расход энергии, умножается на кол-во ячеек корпуса
CELLS_TYPE Standard //тип ячеек для оборудования, даже если это не занимает ячейки (броня, пушка)
DamageCapacity 1.5 //множитель брони, умножается на кол-во ячеек корпуса=очки брони. Чем больше, тем лучше.
DeflectedDamage 5 //блокируемый урон (столько не наносится броне)
Resist 0 //Это значит, что устойчива ко всему оружию из группы 0. Группа оружия определяется параметром DamageGroup у оружия. Resist-ов может быть несколько подряд. Например, Resist 0 Resist 2 Resist 8.
Так можно, в принципе, сделать пушку, которая бьет только щиты - сделать ей DamageGroup 10, например, и всей подряд броне прописать Resist 10. Но ИИ может плохо это переработать - можно получить ситуацию, когда он будет все равно пытаться мочить корабль игрока неподходящим оружием. Но даже при резисте все равно есть 5% шанс на то, что пробьет.

ICON_OVER "Items/Icons/light_icon.png" //добавляет основному изображению указанное изображение. Экономит место – не нужно добавлять отдельные 60 кадров, если изменения минимальны.
Espionage.iniExperienceLevels 5 //количество опыта для звезды с 1 по 5 уровень
10 50 100 250 900
PassiveGain // опыт за пассивный шпионаж с 1 по 5 уровень
0.1 0.05 0 0 0
Grades 9 // вероятности успеха
0.01 0.03 0.05 0.15 0.25 0.35 0.50 0.75 0.99
// активное действие, уровень действия, время выполнения, стоимость в очках шпионского модуля, получаемый опыт
Action Refuel Level 2 Time 0 Cost 0 Experience 1
Action SabotageBuilding Level 3 Time 8 Cost 5 Experience 1
Action SabotageBldQueue Level 4 Time 3 Cost 5 Experience 5
Action SabotageShip Level 4 Time 8 Cost 5 Experience 1
Action PlanetInfo Level 4 Time 3 Cost 3 Experience 5
Action ShipInfo Level 3 Time 1 Cost 1 Experience 1
Action FleetInfo Level 5 Time 5 Cost 10 Experience 20
Action StealTechnology Level 8 Time 5 Cost 10 Experience 100
Action DecreaseMorale Level 5 Time 24 Cost 5 Experience 20
Action InciteRiot Level 8 Time 24 Cost 10 Experience 100
Action SearchForHiddenShips Level 5 Time 24 Cost 1
GroundCombat.iniСодержит настройки юнитов наземного боя. Например:
UNIT "Marines" // название индекса, не показывается игроку. Имеет смысл в пределах этого файла (возможно и других файлов).
type Infantry //Тип юнита, определяет атаку/защиту против другого типа.
Description "Marines_descr" //ссылка на локализуемое описание юнита (локализуемое описание в файле LANG\...\groundcombat.lng).
Image "images/ground/marines_06.png" // For Mag "images/ground/heavy marines_06.png" //пример для конкретной расы, если картинки юнитов для рас различаются.
Space 1 //Сколько места занимает 1 юнит (1000 шт. для Marines) в десантном модуле.
PlanetType All 1.0 //Тип планет, на которых указан коэффициент, умножающийся на силу юнита (0- не воюет).
Power vs "Marines" 1 //сила против других юнитов, указано имя юнита.
PLANTYPE.iniПараметры планет, сколько каких зданий на каждый тип планеты, что будет после уничтожения/сверхновой вместо планеты.
Generate Manual 1 RND 25 // генерируется одна планета на сегмент галактики (количество звезд, выделенные для одной расы) с вероятностью 25%
CanBeHomeworld //начальная планета для указанной расы
For Drill
Free Population // без куполов
Resources //ресурсы на планете, случайное число от min до max
Gravitonium Min 1 Max 10
Reidium Min 1 Max 10
Metals Min 1 Max 10
Organics Min 1 Max 10
Radioactives Min 1 Max 10
Additional //дополнительные ресурсы на планете от min до max после исследования «Гиперспектрального сканера недр» с вероятностью 5%
Gravitonium Rnd 5 Min 1 Max 10 "SCDEEPSCAN"
Reidium Rnd 5 Min 1 Max 10 "SCDEEPSCAN"
Metals Rnd 5 Min 1 Max 3 "SCDEEPSCAN"
Organics Rnd 5 Min 1 Max 10 "SCDEEPSCAN"
Radioactives Rnd 5 Min 1 Max 3 "SCDEEPSCAN"
Bonuses //случайные бонусы к науке, производству, добыче от min до max. Менее 1.0 - штраф
Science min 1.0 max 1.2
Prod min 0.9 max 1.1
Food min 0.975 max 1.15
Gravitonium min 0.5 max 1.1
Reidium min 0.5 max 1.1
//разрешенные для строительства здания
Allows ColonialModule
Allows ScienceCenter
Allows Farm
Allows OrbitalLaboratory
Allows TrainingCenter
//количество разрешенные для постройки зданий сверх лимита, случайное от min до max
Overrides ScienceCenter Min 20 Max 30
Overrides PlanetaryFactory Min 20 Max 40
Overrides OrbitalFactory 8
Overrides Farm Min 80 Max 120
shipBody.allХарактеристики кораблей. Для каждого типа корабля каждой расы указываются
Type Fighter // тип
Race Ery // раса
Size 33 36 //размер
Decks 2 //количество палуб
Img "Ships/Top/n10_0.png" BIG //картинки палуб для редактора
Img "Ships/Top/n10_1.png" BIG
own_weight 0.000000 //???
hullMult 1.000000
weightMult 0.400000
own_hull 20
hangarUse 10 //занимаемое место в ангаре
containerFit Small10 1 //место в упакованном в контейнер виде?
cell_info_path "e1.cli" //файл ячеек для редактора
game_resolution 32 24
ellipse_ratio 0.500000
BattleMov //файлы турнов для показа в битве с разным разрешением
NULL
NULL
NULL
NULL
"Ships/n10_atlas_2048.idx"
"Ships/n10_atlas_1024.idx"
"Ships/n10_atlas_512.idx"
"Ships/n10_atlas_256.idx"
shipType.all Типы кораблей, используемые ИИ для дизайна. Обязателен только транспорт, иначе игра вылетит. Локализуемые имена типов даны в LANG\shiptype.lng
tech_t.allОписание дерева технологий: идентификаторы, требования. Для каждого модуля нужна своя отдельная технология.
[SCIENCE] "ADVMINING" //наука, внутреннее имя
Info "ADVMINING_NAME" //ссылка на название в файле LANG\Rus\tech_t.lng
FullDescription "ADVMINING_DESCR" //ссылка на описание в файле LANG\Rus\tech_t.lng
PerPoint Science 1 End //шаг добавления очков науки
Image "Images/Sciences/SpaceGeology.png" //картинка на экране науки
Parents // необходимый прогресс в других науках для открытия
"CHEMISTRY" 2221
"PHYSICS" 2221
[TECHNOLOGY] "SCALLAGA" //технология, внутреннее имя
Info "SCALLAGA_NAME" //ссылка на название в файле LANG\Rus\tech_t.lng
FullDescription "SCALLAGA_DESCR" //ссылка на описание в файле LANG\Rus\tech_t.lng
ShowAfter "SCALAG0" //появляется в списке после исследования данной технологии
Parents // необходимый прогресс в других науках и технологиях для открытия
"BIOALLOYS" 6069
"STABREGS" 3750
"PLASMAALLOYS" 7651
[TECHNOLOGY] "HIDDEN_SCIENCE_WEAKENER"
Hidden //скрытая технология, не видна в списке
Info "HIDDEN_SCIENCE_WEAKENER_NAME"
Parents
"BLOCKER" 7 //нельзя исследовать, становиться исследованной с помощью функции UFGrantTechnology в коде.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 844

Описание файлов игры

Сообщение Veshnyak » 21 ноя 2016, 13:07

Папка Polaris Sector\BldInfoСодержит настройки всех зданий, проектов, войск (считаются за здания) на планете в формате *.ini. Компиляция не требуется, действуют на сейв. Рассмотрим пример на файле OrbitalFactory.ini (орбитальная верфь):
ID "OrbitalFactory" //идентификатор объекта
Icon "images/ve/buildings/factory_orbit_00.png" For Sha "images/ve/buildings/factory_orbit_00.png" For Ery "images/ve/buildings/factory_orbit_01.png" For Drill "images/ve/buildings/factory_orbit_02.png" For Gava "images/ve/buildings/factory_orbit_06.png" For Log "images/ve/buildings/factory_orbit_04.png" For Mag "images/ve/buildings/factory_orbit_05.png" For Hum "images/ve/buildings/factory_orbit_06.png" For Vag "images/ve/buildings/factory_orbit_03.png" For Urg "images/ve/buildings/factory_orbit_08.png" For Pirates "images/ve/buildings/factory_orbit_08.png" For Bogovans "images/ve/buildings/factory_orbit_08.png"//Файл картинки здания (объекта, проекта) для каждой из рас. Названия рас менять нельзя.
Info "OrbitalFactory" //название здания как оно видно игроку.
AllowedByDefault //указывает, что здание доступно для постройки по умолчанию.
MaxCountByDefault 10 //кол-во, если не указан Overrides в plantypes.ini. На земных планетах 8 максимум по формулам.
Property bpOrbital //настройки берутся из константы bpOrbital
Produces Prod 5.000000 //кол-во генерируемого наземного производства.
Produces ProdOrbital 1.000000 //кол-во генерируемого орбитального производства.
WorkersRequired 10000 //потребность в свободном населении.
AIValue 15.000000 //ценность для ИИ при подсчете ценности планеты.
Requires Prod 1000.000000 //сколько единиц наземного производства требуется для постройки этого здания.
ProdAmountModTech "HIDDEN_PRODUCTION_BOOSTER" 1.150000 //здесь и ниже – модификаторы производства, привязанные к какой-то технологии или настройке.
ProdAmountModTech "HIDDEN_PRODUCTION_BOOSTER_SMALL" 1.080000
ProdAmountModTech "HIDDEN_PRODUCTION_WEAKENER_SMALL" 0.920000
ProdAmountModTech "HIDDEN_PRODUCTION_WEAKENER" 0.850000
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 844

Описание файлов игры

Сообщение Veshnyak » 21 ноя 2016, 13:10

Папка CELLINFO (в корне игры и в C:\Users\...\Documents\My Games\Polaris Sector\)Содержит данные о ячейках, корпусах и палубах для всех дизайнов кораблей. Работать с папкой можно через редактор ячеек (ключ к .exe –design). Переименование файлов в этой папке рекомендуется, чтобы не затереть предустановленные дизайны и не потерять свои после переустановки игры.
После редактирования и выхода из редактора ячеек, все дизайны кораблей хранятся в My Games\...\CellsEditor\Default.ds, все новые файлы ячеек в My Games\...\CELLINFO.
Если дизайн после редактирования оставить в C:\Users\...\Documents\My Games\Polaris Sector\CELLINFO, он будет использоваться игрой в любом случае.
Редактор ячеек – важно помнить о default.ds Если вы создадите еще дизайны по умолчанию, они сохраняются в этом файле. Можно скопировать файл в корневую папку мода, тогда он будет главным файлом.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 844

Описание файлов игры

Сообщение Veshnyak » 21 ноя 2016, 13:12

config.a/PALETTE.INI Файл – шаблоны визуализации планет (цветовые схемы)
[Temperate.1] //название шаблона
GradientSteps=10
GradientDirection=1
//уровень (0-высокие горы, 50-уровень моря, 100-глубочайшая впадина), код RGB
Palette1=0,220,200,180
Palette2=2,152,72,7
Palette3=5,135,93,64
Palette4=15,153,143,92
Palette5=25,115,128,77
Palette6=49,42,137,41
Palette7=50,69,108,118
Palette8=61,17,82,112
Palette9=71,9,62,92
Palette10=100,0,15,51
config.a/PRESETS.INIДетальные настройки визуализации планет, используют шаблоны из PALETTE.INI. Настройки генерации планет.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 844

Описание файлов игры

Сообщение Veshnyak » 21 ноя 2016, 13:17

Doctrine\Содержит правила поведения всех рас в *.ini файлах. По умолчанию поведение для всех прописано в default.ini, остальные отличаются, в основном, только вероятности нападения расы на игрока и ИИ.
Images\Содержит подпапки и картинки для игры (интерфейс, события и т.д.).
Items\Содержит подпапки – все устройства, модули, пушки и т.п. для кораблей, а также анимацию (в виде последовательности картинок).
Файлы *_TOP.PNG указывают вид сверху для модулей корабля. Разрешение картинки уменьшается в 20 раз для задания размера ячеек редактора корабля.
Файлы *.IDX содержат указание на анимацию в виде пути к папке с анимацией и указания файла начального кадра, Size – сколько кадров (картинок) будет использовано (от 1 до 60 и более):
Indexed Prefix "Items/SCWAMZ/SCWAMZ_000" Ext "PNG" Size 60
Lang\ Содержит подпапки Eng, Esp, Eng, файлы *.lng в которых содержатся названия объектов игры и их описание на языке папки (англ, испанск, русск соответственно). Для каждой группы объектов свой файл. Для локализации на свой язык нужно изменять именно эти файлы, которые не влияют на саму игру.
Maps\Содержит текстуры для планет. Представляют собой битмап файлы (картинка BMP) 3 байта на пиксель без заголовка. Карты высот генерируются и настраиваются через файлы в папке config.a/.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 844

Описание файлов игры

Сообщение Veshnyak » 21 ноя 2016, 13:28

Каталог ModKit\
ModKit\Содержит компилятор и компилируемые файлы *.rtq. В них содержатся настройки дипломатии, рас, зданий, ресурсов и др. Файлы компилируются с помощью файлов *.bat из этой же папки. Ключи в них:
-es = extract strings - генерирует отдельно код, отдельно строчки в .lng файле. Без этой опции все будет встроено в код и нельзя будет "русифицировать".
-cm = режим совместимости. Означает то, что надо взять кодировку идентификаторов из файла identshash и использовать ее, вместо того, чтобы делать новую кодировку при компиляции. Позволяет использовать новый код со старыми сейвами.
-wmf 'rus\' = write modified files - позволяет осуществить "перевод" исходников на новый язык, использует данные для перевода из .txt файла.

Дополнительные ключи -gat и -at довольно полезны при работе над локализациями текстов.
-gat = generete_additional_translation полностью рабочая опция, с которой в файл .gat записываются все строки/фразы не имеющие перевода.
-at = additional_translation - опция добавление из файла .at в код (и в файл докализации .lng) строк имеющих перевод. Важно(!), чтобы в папке МодКита был хотя бы пустой файл .at, в противном случае компилятор зависает!
Т.о. при "черновом" запуске компилятора в rtq.gat появятся все проиндекстированные строки без перевода. К каждой строке будет добавлена заготовка: Lang "".
Беря по-строчно (или блоками) из rtq.gat, копипастим в rtq.at и в Lang "" добавляем нужный перевод.
При последующем запуске компилятора - переведенные строки окажутся в нужном месте!
Имеются и другие ключи:
-nss = no_strings_sort
-is = insert_strings
-a, -na = assist, no_assist
-af, -naf = assistfile, no_assistfile
-ef, -nef = errorfile, no_errorfile
Events.docx Описания событий игры с возможными параметрами.
ai.aЦиклы условий для альянса с ИИ.
bogovans.aОпределяет настройки и условия появления Богованов (Внешняя угроза)
bonus.a Определяет бонусы и штрафы для всех событий игры. Содержит локализуемый английский текст.
common.aСодержит различные функции игры (реакция на бомбёжку, войну, результат битвы и т.п.)
const.aКонстанты игры: дипломатические константы, виды бонусов рас, виды режимов автопостройки (хардкод), константы героев (конец файла, 15 штук). На 16.10.2016 известны максимумы констант: видов ресурсов 63 (сейчас 12), видов зданий 127 (сейчас 39).
containers.a Определение констант для случайных контейнеров (например, кол-во частей для собираемого из контейнеров артефакта, кол-во ресурсов, технологии), для червоточин
economics.aКол-во максимального населения колониального модуля (конец файла), нормы потребления еды колонистами, минимум производственных мощностей, если нет производящих зданий, формулы и функции возможностей постройки зданий на планете.
player.aОпределение бонусов игрока в зависимости от выбранной расы, задание начального флота, технологий игроку, сообщения первого контакта, разные сообщения в связи с событиями, описания и бонусы героев
r_drill,…,r_vagФайлы настроек рас соответственно имени файла. Локализуемые описания находятся в LANG\Rus\RaceDescr\*.txt файлах.
race.a Шаблон для расы. Родительский класс для всех рас. Параметры лучше менять в файлах конкретной расы.
res_bld.aПравила постройки и описание зданий на планете, описание планетарных ресурсов, ссылки на иконки на планете, описание проектов планеты, функции модификаторов ассимиляции, трат на поддержку кораблей.
rtq.aИнструкции для компиляции. Вызовы функций при событиях. Формат времени и начальной даты.
rtq.errСодержит журнал ошибок компиляции. Имеет смысл смотреть только после компиляции *.а файлов.
rtq.hСодержит информацию о компиляции: функции из userFunc.a и константы из других *.а файлов.
Файлы компиляции (бинарный код) из *.а файлов, обязательны в корне игры (мода).
rtq.cht
rtq.gen
rtq.pht
Файлы компиляции (бинарный код) из *.а файлов, обязательны в корне игры (мода).
rtq.rht
rtq.prc
Не требуется для мода/игры
rtq.lngРезультат компиляции. Содержит локализуемые строки текста, в т.ч. названия звезд или планет.
rtq.txtИсходные тексты основной и дополнительной локализации и результат компиляции файлов common.a, res_bld.a, containers.a, bonus.a, player.a, race.a (и всех рас), Journal.a, tutorial.a, rtq.a. Содержит локализуемые описания ресурсов, сообщений, дипломатии, тренировочного сценария, контейнеров и т.д. Содержит индексы локализуемых строк, которые используются в перечисленных *.а файлах.
tutorial.a Содержит константы, события и описания тренировочного сценария.
userfunc.a Содержит все функции игры (ф-ции бонусов рас, технологий, экономики и др.).
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 844

Описание файлов игры

Сообщение Veshnyak » 21 ноя 2016, 13:44

OGG\Содержит музыку и видео к игре. Должна быть в формате *.OGG. Для добавления своей музыки нужно отредактировать файл в C:\Users\name\Documents\My Games\Polaris Sector\Remember.cfg, где указаны два параметра:
AmbientTracks 9 //9 треков фоновой музыки (можно увеличить)
BattleTracks 6 //6 треков боевой музыки
Скопируйте нужную музыку в соответствующие папки (amb и bat) в папке с игрой, соблюдая нумерацию имён (например, amb10.ogg). Проигрываются в случайном порядке.
Race – содержит музыку для видео всех рас (для экрана дипломатии).
Video – содержит видео анимации рас (для экрана дипломатии) в формате *.ogg.
SCENARIO\Содержит тренировочный сценарий. В моде можно создать свои сценарии из сохранений игры. В папке C:\Users\...\Documents\My Games\Polaris Sector\scenario\gen\export.scn создается сразу при начале новой игры - первом взгляде на галактику. И обнуляется при каждом запуске игры. Можно скопировать его в эту папку мода и отредактировать (на 24.10.16 не сохраняет флаги бонусов, сложности, условий победы, карта статична).
SHIPS\Содержит картинки анимации кораблей (по аналогии с папкой IMAGES), контейнеров, *.idx файлы настроек анимации. Атласы создаются автоматически.
SOUND\ Звуки выстрелов, интерфейса и др. в формате *.wav
StarNames\Названия созвездий, классы звезд, имена звезд, составные имена с названием созвездия, класса, звезды. Используется только файл Stars.sn.
TEXTURES\ Текстуры (PNG) для облаков, лун, звезд, фон и др. вспомогательные картинки.

Вернуться в «Настройка/модификации»