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

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

![](/files/-MgCtByfbztZV-FNkJhj)

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

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

![](/files/-M4b900bDhGcodyO5rE4)

В верхнем поле указывается формат для текстового файла, в который записывается содержимое дизассемблированого скрипта. В нижних двух – форматы для бинарных файлов `SCM` и `IMG` (в [режиме](/ru/edit-modes.md) `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`

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

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

![](/files/-MQiKsmStrY2LybISHi_)

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

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

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

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

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

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

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

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

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

![](/files/-M4b98-sgdenDbDORoy5)

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

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

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

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

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

![](/files/-M4b9AXE5CZavwCzz_Oh)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sannybuilder.com/ru/editor/options/formats.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
