Sanny Builder supports many games and platforms and so there is a predefined configuration for each supported game called an edit mode.
Edit modes supply Sanny Builder with the following information:
modes.xmlis open for modification and extension, and users can create their own modes by changing it.
modes.xmlis a file in the XML format and can be changed in any text editor. It defines the available modes.
The root node is
<modes>and it has no attributes. The file can only have one root node.
Each edit mode is a child node of
<modes>beginning with the opening tag
<mode>and ending with the closing tag
<mode>element has both mandatory and optional attributes as outlined below. The content of the
<mode>is a set of specific tags (properties) defining paths to directories or files.
A valid value for this attribute is a unique series of characters not used for any other mode's id.
A mode can extend another mode (the parent) to reduce the number of duplicated properties. It is helpful for different versions of a game where most of the configuration is the same except for a few properties. The parent can also extend another mode.
When a property is missing Sanny Builder recursively traverses all parent modes trying to find the property.
A valid value for this attribute is the id of another mode defined in the same file.
titledefines the mode's displayed name. Due to the interface constraints avoid long names and keep it within the limit of
gameattribute defines a target game for the mode. There are
Before disassembling or compiling a script, make sure that the correct edit mode is active. Each game has an unique script format and the scripts compiled for one game are not compatible with scripts for another game. Even if the script is compiled without errors, the game would crash trying to read a script in different format.
Sanny Builder displays a game icon in front of the edit mode name so you know the target game.
The valid value for this attribute is
default.Omit this attribute for non-default modes.
path to a directory where to put a compiled script on
Compile + Copyrun.
path to the mode directory
ideelement may have an optional
baseattribute to specify a folder that is used to resolve relative paths in the
baseall relative paths are resolved starting from the location of the
A mode may have multiple
Has a required attribute
type="default"- path to the predefined templates shipped with Sanny Builder
type="custom"- path to a file with user templates added via the Add Template form. This file is never overwritten during a Sanny Builder update.
path to a
<text>has one required attribute:
format. The supported values are:
.gxthas one table, plain keys, ANSI encoding
.gxthas multiple tables, plain keys, ANSI encoding
.gxthas multiple tables, hashed keys, ANSI encoding
.gxthas multiple tables, hashed keys, UTF-16 encoding
Sanny provides a few variables that can be used in parameters and attributes (if applicable).
Both paths do not include the trailing slash.
Sanny Builder offers many different modes and their number may vary from version to version:
The naming schema defines the way of describing the opcodes. The community schema has the names randomly guessed over the years, such as
thread. The Rockstar schema has the original taxonomy used by the game developers (e.g.
script) that is consistent with the game's inner structures.
The parameters order defines the way of arranging the opcode parameters. In the custom order the parameter with the higher index may go earlier in the script. This is applicable to community opcode descriptions. The original order have all parameters arranged from the smallest index to the largest index. This goes with the Rockstar schema to make scripts look like they are meant to be by the developers.
To change the mode, click at the right bottom corner of the Sanny Builder's main window. A list of the available modes will appear. As you click the mode name Sanny Builder makes all necessary adjustments and you may continue working immediately.
Running Sanny Builder with the
-xoption allows loading the modes configuration from a file different from the default
modes.xml. If Sanny Builder is already running, it reloads the configuration and updates the list of modes.