# Форматирование

На данной вкладке вы можете настроить имена для выходных файлов, форматы меток, регистры строковых литералов и т.д.

![](https://2633643746-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0dALM7uq5_eDYhSBjl%2F-MgCrKT6ITHrHRUkyrVl%2F-MgCtByfbztZV-FNkJhj%2Foptions-format-ru.PNG?alt=media\&token=3d20df3f-cb24-4123-b7f6-bd80fe766158)

## Имена файлов

Настройка для имен файлов, получаемых после дизассемблирования и компиляции.&#x20;

![](https://2633643746-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0dALM7uq5_eDYhSBjl%2F-M4b7rv4btOcTyCrIgzW%2F-M4b900bDhGcodyO5rE4%2Fnastroiki_2.png?alt=media\&token=91f8067d-1406-4e08-a3d9-9ed5ef50135a)

В верхнем поле указывается формат для текстового файла, в который записывается содержимое дизассемблированого скрипта. В нижних двух – форматы для бинарных файлов `SCM` и `IMG` (в [режиме](https://docs.sannybuilder.com/ru/edit-modes) `GTA SA`), содержащих скомпилированные скрипты.&#x20;

Все поля имеют общий синтаксис. Можно использовать специальные слова, которые представляют часть имени исходного файла:

`$dir` – путь к исходному файлу \
`$name` – имя исходного файла\
`$ext` – расширение исходного файла

Например, если вы дизассемблируете файл `C:\MyDir\main.scm`, то

`$dir` это `C:\MyDir` \
`$name` это `main` \
`$ext` это `.scm`&#x20;

Если в верхнем поле указано `$dir\$name.txt`, то текстовый файл будет сохранен как `C:\MyDir\main.txt`

## Имена меток

Формат меток, который используется при дизассемблировании скриптов.

![](https://2633643746-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0dALM7uq5_eDYhSBjl%2F-MQiJw3HkyMZI9SzqvA4%2F-MQiKsmStrY2LybISHi_%2Flabels-format-ru.png?alt=media\&token=efdab3f8-b9e7-461e-be5f-e1d2eb5e9a0d)

### Смещение от начала файла

Имена меток представляют собой адрес этих меток в исходном файле, например `@12345`.

### Имя скрипта+Смещение от его начала

Имена меток состоят из имени скрипта, в котором они находятся (определяется командой `name_thread`) и смещения от начала скрипта. Например, `@MAIN_12`.

### Имя скрипта+Смещение от начала файла

Имена меток состоят из имени скрипта, в котором они находятся (определяется командой `script_name`) и смещения от начала исходного файла. Например, `@MAIN_12345`.

{% hint style="info" %}
Для вывода смещений в 16-ричном формате, поставьте нижнюю галочку.&#x20;
{% endhint %}

## Собственные имена

Опции, которые указывают дизассемблеру использовать имена, определенные пользователем во внешних файлах.

![](https://2633643746-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0dALM7uq5_eDYhSBjl%2F-M4b7rv4btOcTyCrIgzW%2F-M4b98-sgdenDbDORoy5%2Fformat03.gif?alt=media\&token=beda7a7f-a794-4228-a7b7-e262ae95c58f)

Имена меток содержатся в файле [`CustomLabels.ini`](https://docs.sannybuilder.com/ru/edit-modes/customlabels.ini). Файл представляет собой список имен меток и их смещений от начала файла. Если данная опция выбрана, дизассемблер при соответствии позиции метки в исходном файле одной из позиций в данном списке, назовет метку так, как указано в списке.&#x20;

Имена глобальных [переменных](https://docs.sannybuilder.com/ru/coding/variables#globalnye-peremennye) содержатся в файле `CustomVariables.ini`.Файл представляет собой список оригинальных числовых имен глобальных переменных (`DMA`) и их текстовые эквиваленты. При включении данной опции дизассемблер будет называть переменные указанными именами.

Имена массивов содержатся в файле `CustomArrays.ini`. Формат файла следующий: первым числом на строке стоит оригинальное имя переменной – начало массива, затем через пробел количество элементов в массиве – размер, затем текстовое имя. Данная опция предназначена для того, чтобы дизассемблер распознавал [элементы массива](https://docs.sannybuilder.com/ru/coding/arrays#ispolzovanie-celochislennykh-konstant).

{% hint style="info" %}
Содержимое файлов `CustomLabels.ini`, `CustomVariables.ini`, `CustomArrays.ini` в комплекте Sanny Builder составлено для оригинального`main.scm` версии 1.0
{% endhint %}

## Регистр букв

![](https://2633643746-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0dALM7uq5_eDYhSBjl%2F-M4b7rv4btOcTyCrIgzW%2F-M4b9AXE5CZavwCzz_Oh%2Fformat04.gif?alt=media\&token=aef6ce47-a0b2-4cf3-8e4c-7e3c9d449ca4)

Эта опция имеет 2 значения. Дизассемблер, используя данную опцию, будет именовать [глобальные переменные](https://docs.sannybuilder.com/ru/coding/variables#globalnye-peremennye), [метки](https://docs.sannybuilder.com/ru/coding/data-types#metki), [массивы ](https://docs.sannybuilder.com/ru/coding/arrays)в указанном регистре букв. Компилятор будет записывать [строковые литералы](https://docs.sannybuilder.com/ru/coding/data-types#strokovye-literaly) также в указанном регистре.
