Extensions

An extension is a set of new instructions added to the vanilla game. The CLEO library and its plugins is the most known way of adding those.

To make Sanny Builder aware of the custom instructions and explicitly signal their intentional usage, a script must have {$USE} directive. The {$USE} directive enables one or multiple sets of instructions (see below the list of extensions).

{$USE CLEO, ini, CLEO+}

Each opcode included in Sanny Builder's INI files has been categorized to belong to some extension. Currently it is done via the file extensions.txt.

New edit modes shipped with Sanny Builder 4 use command definitions managed through Sanny Builder Library (SBL). They don't use INI files and extensions.txt. Information about each extension can be found in the JSON file located in the mode directory, or on the Sanny Builder Library website.

Implicit Extensions

Standard game opcodes have been included in the default extension that is implicitly available in any script. {$USE default} is possible but redundant.

Using {$CLEO} directive also implies {$USE CLEO} so standard CLEO opcodes are available to the compiler already.

Extensions List

Sanny Builder ships some common and recognized extensions for different edit modes.

This list does not apply to the new SBL edit modes. Find a list of extensions for each game in Sanny Builder Library.

Extension Name

Source

Edit Modes Where Available

CLEO

{$USE CLEO}

CLEO for GTA III CLEO for Vice City

CLEO 4.4

CLEO Android

GTA III

Vice City

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

SA Mobile

VC Mobile

ini

{$USE ini}

IniFiles.cleo plugin (ships with CLEO)

GTA III Vice City

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

file

{$USE file}

FileSystemOperations plugin (ships with CLEO)

GTA III Vice City

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

bitwise

{$USE bitwise}

IntOperations plugin (ships with CLEO4)

GTA III Vice City

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

clipboard

{$USE clipboard}

ClipboardControl plugin

GTA III Vice City

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

memory

{$USE memory}

MemoryModule plugin

GTA III Vice City

CLEO+

{$USE CLEO+}

CLEO+ plugin

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

newOpcodes

{$USE newOpcodes}

newOpcodes plugin

GTA SA v1.0, v2.0

Restoration

{$USE Restoration}

Vice City

Using opcodes provided by the third-party libraries not listed above is still possible, the compiler will not require the {$USE} directive for them.

Last updated