Режимы редактирования

Sanny Builder поддерживает разные игры и платформы в серии Grand Theft Auto. Для этого в его состав входит конфигурация для каждой поддерживаемой игры, которая называется режимом редактирования.

Режим редактирования определяет следующую информацию:

Sanny Builder хранит настройки режимов в папке data. Если любая из папок в этой директории содержит файл mode.xml, этот файл автоматически загружается как новый режим редактирования.

Версии Sanny Builder до 3.9 хранили настройки режимов редактирования в файле data\modes.xml. Начиная с версии 3.9 этот файл был разделен на отдельные XML файлы для каждого режима.

Режимы редактирования загружаются автоматически при старте Sanny Builder. В случае необходимости, они могут быть перезагружены путем запуска Sanny Builder с опцией -x.

Допускается изменение и расширение существующих режимов, а также создание новых.

Формат файла

mode.xml - документ в формате XML, который может редактироваться в любом текстовом редакторе.

Файл начинается с объявления

<?xml version="1.0" encoding="UTF-8"?>

После него должен идти корневой элемент <mode>. В файле может быть только один корневой элемент.

<mode> имеет как обязательные, так и необязательные атрибуты, описанные ниже. Содержимое <mode> представляет собой набор различных тэгов (элементов), определяющих пути к папкам и файлам.

Атрибуты режима

id

id - это обязательный и неповторяющийся идентификатор режима. Sanny Builder использует его для сохранения некоторых пользовательских настроек режима, например выбранной директории игры.

Допустимым значением атрибута является последовательность символов, которая не используется как идентификатор другого режима редактирования.

extends

Режим может наследовать свойства другого режима (родительский режим), чтобы уменьшить число повторяющихся параметров. Это полезно для разных версий одной игры, где большая часть конфигурации одинакова, за исключением некоторых параметров. Родительский режим может наследовать свойства другого режима.

Если в конфигурации режима отсутствует какой-то параметр, Sanny Builder рекурсивно проходит по всем родительским режимам, чтобы найти его значение.

Допустимым значением атрибута является идентификатор другого режима редактирования, описанного в этом же файле.

title

title задает отображаемое имя режима. Из-за ограничений интерфейса избегайте длинных имен и используйте имена короче 24 символов.

game

Атрибут game определяет целевую игру для данного режима. Допустимыми значениями являются:

  • gta3

  • vc

  • sa

  • lcs

  • vcs

  • vc_mobile

  • sa_mobile

Перед началом работы со скриптом, убедитесь что выбран правильный режим редактирования. Каждая игра имеет свой собственный формат скриптов, который несовместим с другими играми. Даже если компиляция прошла без ошибок, в игре может возникнуть ошибка при попытке чтения скрипта в неизвестном ей формате.

В скомпилированном файле может храниться информация о целевой игре для данного скрипта. Перед началом дизассемблирования такого скрипта Sanny Builder предлагает переключить режим редактирования на нужный. Игнорирование такого предложения может привести к ошибке, т.к. формат скрипта может отличаться от того, что ожидает дизассемблер.

Для удобства пользователей Sanny Builder отображает иконку целевой игры напротив имени режима.

type

Один из режимов для каждой целевой игры должен быть режимом по умолчанию. Это означает, что Sanny Builder использует его при запуске с опцией --game.

Допустимым значением атрибута является default. Не указывайте этот атрибут для остальных режимов.

Параметры режима

arrays

путь к CustomArrays.ini

classes

путь к classes.db

constants

путь кconstants.txt

copy-directory

путь к директории, в которую нужно скопировать скрипт при запуске Компилировать и сделать копию:

Имеет обязательный атрибут type: type="scm" - применяется к обычным .scm скриптам type="cleo" - применяется к скриптам с директивой {$CLEO}

data

путь к директории режима редактирования

enums

путь к enums.txt

ide

путь к .ide или .dat файлу: .ide файлы содержат имена моделей и их характеристики .dat файлы содержат пути к другим .ide файлам

Элемент ide имеет необязательный атрибут base, который задает папку, относительно которой расчитываются пути, определенные внутри .dat файла:

<ide base="@game:\">default.dat</ide>

Без base все пути расчитываются относительно папки с .dat файлом.

Режим редактирования может иметь несколько элементов <ide>.

keywords

путь к файлу со списком ключевых слов

labels

путь к CustomLabels.ini

missions

путь к missions.txt

library

путь к JSON файлу с определениями скриптовых команд, используемых в целевой игре. доступен для скачивания в Sanny Builder Library,

opcodes

путь к файлу со списком опкодов. может использоваться неоднократно для подключения нескольких файлов. является необязательным параметром, если используется library (см. выше).

templates

путь к файлу с эксклюзивными шаблонами

Имеет обязательный атрибут type: type="default" - путь к файлу с шаблонами, включенными в состав Sanny Builder type="custom" - путь к файлу с пользовательскими шаблонами, добавленными из редактора

text

путь к .gxt файлу

<text> имеет обязательный атрибут: format. Допустимыми значениями являются:

gta3: .gxt с одной таблицей, текстовыми ключами, кодировкой ANSI vc: .gxt с несколькими таблицами, текстовыми ключами, кодировкой ANSI sa: .gxt с несколькими таблицами, зашифрованными ключами, кодировкой ANSI sa_mobile: .gxt с несколькими таблицами, зашифрованными ключами, кодировкой UTF-16

variables

путь к CustomVariables.ini

examples

путь к opcodes.txt

Доступные переменные

Sanny предоставляет несколько переменных, которые могут использоваться в параметрах и атрибутах (там, где это применимо).

@game: - путь к папке с игрой, которая выбрана в настройках @sb: - путь к папке Sanny Builder (где находится sanny.exe)

Оба пути не включают в себя завершающий слеш (/).

Список режимов

Sanny Builder предлагает много различных режимов, их количество может меняться от версии к версии:

Название

Id

Имена опкодов

Порядок параметров

Игра

GTA III

gta3

сообщество

измененный

все версии GTA III

GTA VC (SBL)

vc_sbl

Rockstar

первоначальный

все версии Vice City

GTA VC

vc

сообщество

измененный

все версии Vice City режим устарел, начиная с версии 4.0, используйте новый режим VC SBL

GTA SA (v1.0 - SBL)

sa_sbl

Rockstar

первоначальный

SA версия 1.0

GTA SA v1.0

sa

сообщество

измененный

SA версия 1.0; режим устарел, начиная с версии 4.0, используйте новый режим SA SBL

GTA SA v2.0

sa_v2

сообщество

измененный

SA версия 2.0

GTA SA (v1.0 - SCR)

sa_scr

Rockstar

первоначальный

SA версия 1.0; режим удален в версии 4.0, используйте новый режим SA SBL

GTA LCS

lcs

Rockstar

первоначальный

все версии Liberty City Stories

GTA VCS (PSP)

vcs_psp

Rockstar

первоначальный

VCS для PSP

GTA VCS (PS2)

vcs_ps2

Rockstar

первоначальный

VCS для PS2

VC Mobile

vc_mobile

сообщество

измененный

версия для Android и iOS

SA Mobile

sa_mobile

сообщество

измененный

версия для Android и iOS

Колонка Имена опкодов определяет способ именования опкодов. Первые имена неизвестным опкодам были даны в результате анализа игрового кода, проводимого сообществом скриптеров в течение многих лет. Так появились такие термины как "актёр" ("actor") или "поток" ("thread"). Альтернативой является оригинальная терминология, использованная разработчиками игры (соответственно, "персонаж" ("char") или "скрипт" ("script")). Эта терминология вместе со списком оригинальных названий всех опкодов оказались доступны в коде игры GTA SA: Mobile.

Порядок параметров определяет как расположены параметры опкода относительно друг друга. В первоначальном порядке все параметры находятся в той последовательности, как было задумано разработчиками игры, от параметра с наименьшим индексом к параметру с наибольшим индексом. Измененный порядок подразумевает, что в некоторых опкодах параметры переставлены местами для повышения читаемости кода или по иным причинам.

Сочетание оригинальной терминологии и сохранение порядка следования параметров обеспечивает максимальное сходство скриптов с тем языком, который использовали разработчики игры.

Переключение режимов

Чтобы переключить режим редактирования, кликните в правом нижнем углу программы. Появится список доступных режимов. Выберите нужный и кликните по нему. Sanny Builder загрузит все требуемые файлы и вы сразу можете продолжить работу.

Выбрать режим через командную строку можно с опцией --mode. Чтобы выбрать режим по умолчанию для какой-либо игры, используйте опцию --game.

Запуск Sanny Builder с опцией -x перезагружает режимы редактирования и обновляет список доступных режимов.

Вы можете зарегистрировать новое сочетание клавиш для быстрого обновления режимов редактирования без необходимости перезапуска Sanny Builder. Добавьте новый элемент в меню внешних приложений:

Путь: sanny.exe Параметры: -x --no-splash Shortcut: <any combo of your choice>

Last updated