Sanny Builder
In English
In English
  • Introduction
  • Credits
  • Version History
  • Language
    • Data Types
      • Constants
      • Variables
      • Arrays
    • Instructions
      • Opcodes
      • Keywords
      • Classes
      • Expressions
      • Built-in Commands
      • HEX..END
    • Control Flow
      • Labels
      • Conditions
      • Loops
      • Switch
    • Functions
    • Import/Export
    • Directives
    • Comments
  • Edit Modes
    • CustomLabels.ini
    • Code Templates
    • Enums.txt
    • Extensions
    • Opcodes List (SCM.INI)
  • Editor
    • Features
    • Options
      • General
      • Formats
      • Editor
      • Theme Editor
      • Hotkeys
      • Debugger
      • Edit modes
    • Console
    • Hotkeys
    • Opcode Search Tool
    • Command Line Interface
    • Language Service
    • SCM Debugger
  • SCM Documentation
    • GTA Limits
    • GTA III
      • Ped Types
      • Radar Icons
    • Vice City
      • Button IDs
      • Gang IDs
      • Garage IDs
      • Interiors
      • Ped Types
      • Radar Icons
      • Weapon IDs
    • San Andreas
      • Button IDs
      • Gang IDs
      • Garage IDs
      • Haircuts
      • Interiors
      • Particle Effects
      • Ped Types
      • Player Clothes
      • Player Body Parts
      • Special Actors
      • Statistics ID
      • Tattoos
      • Train Types
      • Vehicle Variations
      • Weapon IDs
      • Weather IDs
      • Zones
    • Liberty City Stories
      • Gang IDs
      • Model IDs
      • Player Clothes
      • Special Actors
      • Weapon IDs
      • Weather IDs
    • Vice City Stories
      • Gang IDs
      • Player Clothes
      • Weather IDs
  • Troubleshooting
    • Error Messages
      • 0001: INI file not found
      • 0002: Unknown array type
      • 0003: Error reading script.img
      • 0004: Unknown parameter type
      • 0005: Invalid edit mode
      • 0006: Unknown file header
      • 0007: File not found
      • 0008: Error reading opcodes list
      • 0009: Opcodes list not found
      • 0010: Unknown opcode
      • 0011: Unknown opcode
      • 0012: Incorrect jump instruction
      • 0013: Unknown directive
      • 0014: Incorrect expression
      • 0016: Script not found
      • 0017: Unknown type of variable
      • 0018: Invalid array size
      • 0019: Unknown array type
      • 0020: Variable is not declared as array
      • 0021: Incorrect variable name
      • 0022: Loop counter is not a variable
      • 0023: Unexpected instruction
      • 0024: Error reading integer number
      • 0025: Incorrect counter range
      • 0026: Error reading floating-point number
      • 0027: String is too long
      • 0028: Unterminated string
      • 0029: Invalid debug script ID
      • 0031: Invalid total number of elements
      • 0032: Invalid value in the header
      • 0033: Invalid local variable name
      • 0034: Local variable is out of range
      • 0035: Expected word
      • 0036: Local mission variable is out of range
      • 0037: Debug script not found
      • 0038: Unknown type of array
      • 0039: Invalid element definition
      • 0040: Constant name or value not found
      • 0041: Invalid mission id
      • 0042: Duplicate external script name
      • 0043: Invalid array index
      • 0044: Invalid array name
      • 0045: Invalid array syntax: variable name is missing
      • 0046: Invalid array syntax
      • 0047: Invalid array size
      • 0048: Error reading array size
      • 0049: Not enough parameters for opcode
      • 0050: Not enough parameters for command
      • 0051: Error writing script.img header
      • 0052: Error writing script.img
      • 0053: Recursive include
      • 0054: Label not found
      • 0055: Identifier not found
      • 0056: Label redeclared
      • 0057: Internal label not found
      • 0058: Invalid parameter
      • 0059: Invalid opcode definition
      • 0060: No input file
      • 0061: Empty source
      • 0062: IDE file not found
      • 0063: Mission label expected
      • 0064: Mission label not found
      • 0065: External script label not found
      • 0067: Forbidden character in external script name
      • 0068: Forbidden character in identifier
      • 0069: Forbidden character in object name
      • 0071: Incorrect number of conditions
      • 0072: Missing logical operator
      • 0073: Redundant logical operator
      • 0074: Disabled option
      • 0075: Incorrect hexadecimal value
      • 0076: Condition expected
      • 0079: Invalid parameter in Alloc command
      • 0080: Non-negative integer number expected
      • 0081: Too many actual parameters
      • 0082: Invalid syntax
      • 0083: Unknown model ID
      • 0084: Jump to offset 0
      • 0086: Invalid array index
      • 0087: Invalid variable
      • 0088: Global variable is out of range
      • 0089: Opcode not found
      • 0090: Duplicate constant
      • 0091: Not enough memory to allocate a local variable
      • 0092: Incorrect export symbol
      • 0093: Only headless scripts can export code
      • 0094: Duplicate export name
      • 0095: Incorrect import name
      • 0096: Incorrect import path
      • 0097: Too many actual parameters
      • 0098: Unknown operator
      • 0099: Left-hand side of the assignment must be a variable
      • 0100: Invalid operator
      • 0101: Variable is not a class instance
      • 0102: Switch statement needs a variable
      • 0103: Expected a switch case
      • 0104: Expected a value for the switch case
      • 0105: Expected a function argument name
      • 0106: Expected a function argument type
      • 0107: Expected function return type
      • 0108: Unsupported argument type
      • 0109: Expected variables to store function result
      • 0110: Function must return N values
      • 0111: Function not found in current scope
      • 0113: Duplicate function declaration
      • 0115: Invalid variable name. Name is reserved by another class or function
      • 0116: Invalid variable name
      • 0117: Invalid function name
      • 0118: Unexpected value to return
      • 0119: Unsupported type of argument
      • 0120: Expected calling convention type
      • 0121: Expected function's static address
      • 0122: A non-static function can't be called by name
      • 0123: A 'thiscall' function requires a pointer
      • 0124: Foreign functions can't return more than one value
      • 0125: Unexpected return type in function
      • 0126: Can't export a foreign function definition
      • 0127: Unexpected mission label in function
Powered by GitBook
On this page
  • --compile
  • --decompile
  • --debug
  • --game
  • --mode
  • --no-splash
  • -x
  • --option
  1. Editor

Command Line Interface

PreviousOpcode Search ToolNextLanguage Service

Last updated 1 year ago

--compile

--compile <input file path> [output file path] - compiles the file and exits

sanny.exe --compile C:\myscm.txt C:\myscm.scm

The output file path parameter is optional. If there is no output path parameter, the compiler uses the to compute the output file name.

The input file must have no errors. If there are errors found during compilation, they will be logged in the file compile.log. When compilation ends, the program shuts down.

Shortcut: -c

--decompile

--decompile <input file path> [output file path] - decompiles the file and exits

sanny.exe --decompile C:\myscm.scm C:\myscm.txt

The output file path parameter is optional. If there is no output path parameter, the compiler uses the to compute the output file name.

The input file must have no errors. If there are errors found during decompilation, they will be logged in the file compile.log. When decompilation ends, the program shuts down.

Shortcut: -d

--use-source - optional argument that makes the decompiler use the source code (if present). By default the source is ignored.

sanny.exe --decompile C:\1.cs --use-source

--debug

sanny.exe --debug 110000

--game

  • gta3

  • vc

  • sa

  • lcs

  • vcs

  • vc_mobile

  • sa_mobile

Shortcut: -g

sanny.exe --game sa

--mode

--mode <id> - selects the mode by id. Modes and their ids are defined in respective mode.xml files.

Shortcut: -m

sanny.exe --mode vcs_psp

--no-splash

--no-splash - runs Sanny Builder without the splash screen

sanny.exe --no-splash

-x

-x - reloads edit modes configuration (useful for testing the mode changes)

sanny.exe -x

--option

Available since v3.8.0

-o <option name> <value> - sets the value of the specified option. To set multiple options, list each of them individually:

-o <option1 name> <option1 value> -o <option2 name> <option2 value> ... -o <optionN name> <optionN value>

Option name can be one of the following:

This list is not final and subject to change at any moment.

Name

Allowed Values

Options Tab

0, 1

Editor

0, 1

Editor

0, 1

Editor

0, 1

Editor

0, 1

Editor

0, 1

Editor

0, 1

Editor

0, 1

Editor

0, 1

Editor

0, 1

Editor

0..65535

Editor

known locale id

General

0, 1

General

0, 1

General

0, 1

General

0, 1

General

0, 1

General

0, 1

Formats

0, 1, 2

Formats

0, 1

General

0, 1

General

0, 1

General

0, 1

General

0, 1

General

0, 1

General

0, 1

General

0, 1

Formats

0, 1

Formats

0, 1

Formats

0, 1, 2

Formats

Options set via CLI are not persistent and only applied to the current session. On the next launch Sanny Builder will use values stored in the settings.ini.

Shortcut: -o

sanny.exe -o Compiler::CheckConditions 0 -o Editor::LanguageService 1

--debug - toggles

--game <game> - selects the for the given game. Known game values are:

Decompiler::HexadimalOffsets
Decompiler::LabelsFormat
CustomNames::UseCustomLabels
CustomNames::UseCustomVariables
CustomNames::UseCustomArrays
CustomNames::Format
debug options
Editor::ShowPanel
Editor::ShowOpcodeInfo
Editor::ShowLineNumbers
Editor::ShowGutterBorder
Editor::OpenLastFile
Editor::OpenAllClosedFiles
Editor::ConfirmExit
Editor::LanguageService
Editor::SemanticConstHighlighting
Editor::IdentifiersListAuto
Editor::ScanDistance
format rules
format rules
embedded in the script
Editor::Lang
Editor::QuickGameLoading
Editor::ShowProgress
Editor::ShowReport
Decompiler::OverwriteOutputFile
Decompiler::ManualIMGOpening
Decompiler::AlwaysWriteOpcodes
Decompiler::ReplaceMissionNumbers
Decompiler::InsertOriginalMissionNames
Compiler::ShowIMGWarning
Compiler::CheckConditions
Compiler::CheckLocalVariables
Compiler::AddExtraInfo
default mode