Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 4.74 KB

extensions.md

File metadata and controls

43 lines (30 loc) · 4.74 KB

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.

{% hint style="info" %} 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. {% endhint %}

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.

{% hint style="info" %} This list does not apply to the new SBL edit modes. Find a list of extensions for each game in Sanny Builder Library. {% endhint %}

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}

Opcode Restoration Project 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.