Расширения

Расширение - это набор новых инструкций (опкодов), добавленных в игру. Библиотека CLEO и плагины к ней являются наиболее известным источником таких наборов.

Чтобы Sanny Builder знал о намерении использовать в скрипте нестандартные опкоды, скрипт должен иметь директиву {$USE}. Эта директива подключает дополнительный набор инструкций (см. ниже список доступных расширений):

{$USE CLEO}
{$USE ini}
{$USE CLEO+}

Каждый опкод, доступный в INI файлах Sanny Builder, принадлежит к какому-либо расширению. Это сделано через файл extensions.txt.

См. #74 чтобы узнать о дальнейших планах по развитию расширений.

Расширения по умолчанию

Стандартные игровые опкоды включены в расширение с именем default, которое доступно по умолчанию в каждом скрипте. Использование директивы {$USE default} допускается, но является избыточным.

Использование директивы {$CLEO} также подразумевает {$USE CLEO}, что делает стандартные CLEO опкоды доступными компилятору.

Список расширений

Sanny Builder включает в себя общие и популярные расширения для различных режимов редактирования:

Имя расширения

Источник

Режимы, в которых доступно

CLEO

{$USE CLEO}

CLEO для GTA III CLEO для Vice City

CLEO 4.4

GTA III

Vice City

GTA SA v1.0, v2.0, (v1.0 - SCR)

ini

{$USE ini}

плагин IniFiles.cleo (поставляется с CLEO)

GTA III Vice City

GTA SA v1.0, v2.0, (v1.0 - SCR)

file

{$USE file}

плагин FileSystemOperations (поставляется с CLEO)

GTA III Vice City

GTA SA v1.0, v2.0, (v1.0 - SCR)

bitwise

{$USE bitwise}

плагин IntOperations (поставляется с CLEO4)

GTA III Vice City

GTA SA v1.0, v2.0, (v1.0 - SCR)

clipboard

{$USE clipboard}

плагин ClipboardControl

GTA III Vice City

GTA SA v1.0, v2.0, (v1.0 - SCR)

memory

{$USE memory}

плагин MemoryModule

GTA III Vice City

CLEO+

{$USE CLEO+}

плагин CLEO+

GTA SA v1.0, v2.0, (v1.0 - SCR)

newOpcodes

{$USE newOpcodes}

плагин newOpcodes

GTA SA v1.0, v2.0

vcmobile

{$USE vcmobile}

Vice City на мобильных устройствах

Vice City

Допускается использование опкодов из источников, не перечисленных выше, при этом компилятор не будет требовать использование директивы {$USE}.