Version History
Last updated
Last updated
edit mode enhancements, including a new feature to customize edit mode list
two new experimental modes for GTA San Andreas: one with and one with support for SAMPFUNCS extension
autocomplete (Ctrl+Space
) improvements
code formatter (Ctrl+Alt+3
)
main menu updates with new icons
new theme Night Blue by Vital
updated Turkish translation by Bloodriver the Conqueror
bug fixes
See the . Visit for additional information and support.
(function..end
)
support
for main.scm scripts
binary number format (0b101010
)
new tabs
other improvements and fixes
bug fixes and other changes
fix some compilation issues with classes using string literals
CLEO for San Andreas 4.4.1
CLEO for GTA III and Vice City 2.0.0.6
updated translations to Hungarian, Spanish, Ukrainian and Chinese languages
updated translation to Ukrainian language
updated CLEO+ plugin to v1.0.4
better integration with CLEO library:
updated third-party tools in the tools
directory:
CLEO v4.4
SCRLog v2020.2
unified description and keywords for CLEO opcodes across different edit modes
IDE updates:
updated Spanish and Italian translations
added option to associate Sanny Builder with *.csa
and *.csi
files (CLEO Android scripts).
updated opcode definitions for LCS/VCS*
New opcode definitions for GTA LCS and GTA VCS are incompatible with the previous definitions. You must disassemble the main.scm
prior to making any scripts for those games.
fixed incorrect number of parameters in opcode 04E3
in VCSSCM.INI
added a new tutorial on higher level constructions in the Sanny Builder language, see help\examples
directory
IDE updates:
Run San Andreas
menu action now checks for gta-sa.exe
(Steam)
links to the new documentation portal in the main menu and error messages
minor updates:
updated opcode descriptions (player money += in SA, award_achievement in SA Mobile, 0479
in VCS)
renamed macroes.txt
to templates.txt
fixed the opcode 059C
in the Vice City mode
included constants.txt
missing in the GTA SA
mode
added compiler support for the Liberty City Stories SCM
format
fixed a regression defect when a CHM help file can not be open
updated opcode definitions for GTA 3 and Vice City
added IDE support for CLEO 2.0 for III and VC
improved support for the version of GTA San Andreas for WinStore, Xbox 360, and PS3
fixed an issue with opcodes 09A4
and 0A18
not being properly decompiled in the SA_Mobile mode
added translation into Korean language (thanks to MINE)
added translation into Indonesian language (thanks to IMasterFX)
CLEO for GTA III and CLEO for Vice City updated (thanks to Silent)
adding custom edit modes by editing the games.xml
file is now possible
new edit mode - GTA SA SCR
variables can be quickly declared using a type name prefix
CLEO updated to the version 4.3.16
mission names can be changed by editing appropriate missions.txt
files
Sanny Builder only checks if the game directory path is not empty, no checks for specific files (such as an .exe
)
minor improvements in the SB updating feature
changed the Sanny Builder icon and the menu icons
CLEO updated to the version 4.3.14
fixed minor interface glitches for hi-res displays
updated German, Polish, Chinese, Ukrainian translations
added support for iOS and Android versions of GTA San Andreas
updated Chinese and German translations
added Czech translation
added options to associate file extensions .cs
and .cm
with Sanny Builder
VCSCM.ini
is updated to include opcodes for the GTA VC mobile version and unsupported opcodes
some hotkeys are now customizable in the options
added a feature to check automatically if an update exists at the program startup
updated Spanish and Chinese translations
Coords manager is now able to change the player's angle in GTA VC
Sanny Builder is licensed under the Sanny Builder Freeware/Donationware License Agreement
added a feature to check if an update is available
Coords manager is upgraded to work with all known versions of GTA3, VC and SA (thanks to Silent)
added an updated Chinese translation
minor design changes
added Chinese translation
added classes File
and Audiostream
for backward compatibility with CLEO 4 by Alien
the compiler now accepts a string literal as a parameter in a class property
the compiler now throws an error for a malformed string literal like text1"text2"
or text1'text2'
(without a leading quotation mark)
the compiler is able to compile comment markers (curly braces) within a string ("{text1}text2"
)
the semicolon (;
) can not be used to comment out a line of the code
added flag icons for the available languages in the options
fixed some issues with disassembling of the VCS SCM format
replaced properties Actor.Armour
and Actor.Car
with their correct versions Actor.AddArmour
and Actor.MissionCar
added a new property Actor.CurrentCar
for the opcode 03C0
in the SA and VC classes.
added new hotkeys Ctrl+Num+
and Ctrl+Num-
to quickly change the text size
fixed a bug of version 3.05 when the program hung on startup trying to open a file
added new translations for the following languages: Finnish, Polish, Hungarian, Turkish, Ukrainian
the CLEO library updated to version 4.1.1.30f (CLEO 4 by Alien)
added a possibility to install CLEO for GTA III and Vice City (made by Alien)
opcode files (**SCM.ini, opcodes.txt) replaced with the ones from the CLEO 4 library installation
the editor is able to to convert hexadecimal numbers to decimal ones and vice versa (Ctrl+H
), and convert the model names to their IDs (Ctrl+Alt+H
)
removed a warning message about script.img
being used by the game when compiling a CLEO script
the post-compilation report shows the size of a CLEO script (as Largest script
)
fixed a bug when compiling an array with constant numeric indexes
the installer no longer requires the system administrator rights
the previous version of CLEO had a bug
minor changes (the toolbar position wasn't saved)
new version of the CLEO library
main toolbar is movable
the Compile+Copy feature (F7
) does not create a copy of the output file if the source has $E
or $CLEO
directives
during a compilation run after pressing F6
, the output file for a source file with the $CLEO
directive
is created in the same directory; after F7
the output file is created in the CLEO directory (similarly to SCM
files)
new translations: Italian, Portuguese
bug-fixes update
the CLEO 3 library is integrated into Sanny Builder
disassembler supports the SCM
format of Vice City Stories
an ability to create an external script named AAA
dropped support for the commands WriteMem
and ReadMem
a possibility to use regular expressions when searching
a possibility to save a source file in the RTF
or HTML
formats
an ability to skip the splashes at SA startup
a new key combo Ctrl+Enter
updated SASCM.INI
fixed a decompiler bug
added the Memory Hacker plug-in
disassembler supports the SCM
format of Liberty City Stories
the compiler uses default values during compilation of amain.scm
with the missing header segments (DEFINE XXX
)
a possibility to Drag&Drop a file into the editor to open it
added new commands WriteMem
and ReadMem
HEX..END
statement accepts labels and global variables
decompiler supports GXT
files of GTA III & GTA VC
classes support the original order of the parameters (like in SASCM.INI
by PLPynton). The script should have a line {$VERSION x.0.xxxx
} to support such order, see comments in the INI
about this
added option to confirm an exit from the program
converting of the selected piece of code
corrected some mistakes in the configuration files
removed auto-casting of an integer number to the float one when a variable is declared as Float
. Now the compiler chooses an opcode depending on the number type only (in math expressions without opcodes)
Sanny Builder became multilingual
the list of models can be sorted alphabetically/by value (Alt+S
when the list is active)
minor corrections and changes
minor updates
added an opportunity to show the list of templates
fixed some bugs
the DEFINE OBJECT
list is now optional (the compiler can make it out of model names used in the script)
support for block comments {}
minor changes
new operator IN
added support for nested loops
new comment style: //
the editor now remembers the position of markers and the cursor in closed files
full support of SCM
formats of Vice City and GTA 3
added a feature to display the list of variables and labels
minor changes:
missions can be referenced by their name (start_mission MYMISSION
where MYMISSION
is the label defined in lineDEFINE MISSION XX at @MYMISSION
)
Ctrl+Space
displays the list of imported models (DEFINE OBJECT
)
if the disassembler can't find a script.img
file, it uses the one from the game folder
all math commands can be used without opcodes (0004..008B
)
added models list showing
minor changes and fixes
some math commands can be written without opcodes (e.g.0004
, 0005
, 0006
, 0007
, 0038
, 0039
, 0042
, 0043
)
for the opcode 00D6
the default parameter is 0
(if
= if 0
)
some bugs fixed
disassembler adds the model names and the text from american.gxt
in a source file
added new options
fixed some bugs
disassembler adds an additional index to the file name if a file with the same name already exists (e.g, if main.scm.txt
already exists, a new file will be main.scm[0].txt
)
more informative error messages
added a check for duplicated labels
fixed some bugs
added new options for text editing
added an ability to work with multiple files simultaneously
added a function to auto-complete an opcode with the F1
button (beta)
disassembling support for GTA SA SCM
format
compilation of text sources into main.scm
and script.img
basic features for text editing
See the . Visit for additional information and support.
This release won't be possible without great feedback and testing from Sanny Builder community as well as support from my .
array name in expressions without opcode could be a constant
preserve global variable index when disassembling with extra info
default choice for option should be "As is"
fix an issue with compiling opcode 0B17
fix an issue when Sanny doesn't present the option to use the included script text.
fixed some issues with string variables ,
command names defined in JSON files are now valid
improvements (repeat the same byte N times, include binary files)
simplified and declarations (const x = 1, y = 2
, float x, y, z
)
new (bitwise
, =@
, =#
)
{$INCLUDE_ONCE}
adding new can be done by copying them into the data
folder, the modes.xml
is gone
👏 Thanks to all people who helped and contributed to this release, and many thanks to my supporters on .
Previous versions allowed the compilation of some broken code. Now, it will produce an error. You can find examples of such code .
fix bug
keep previously opened documents when launching SB with an input file (Open with)
add "--decompile" parameter to
fix bugs , ,
fix bugs , ,
fix in model search
update CLEO+ plugin to
fix bugs ,
added support for more commands terminating an if statement with multiple conditions
new and updated (Spanish, Ukrainian, Romanian, Armenian)
contributed by the users
for local help files (CHM)
new for GTA SA PS2 with PS2 CLEO commands
updated local and plugin files:
plugin
fixed bugs ,
👏 Thanks to everyone who contributed to this version: , , , , , , , ,
: a new portal documenting all known opcodes
16
disassembler now outputs the content of a hex..end
block as a string if it's a sequence of ASCII characters ending with 00
to let disassembler ignore custom information attached to the compiled script
to launch the editor with custom options
are now stored in a separate file and kept between updates
using Numpad buttons have been changed (Zoom text: Ctrl + +/- and Navigate to label and back: Alt + Right/Left)
updated plugin to v1.0.8
👏 Kudos to contributors to this release: , , , ,
declared are getting highlighted ()
the autocomplete list displays declared constants ()
each editor tab maintains its own selection ()
new VC Mobile mode with CLEO Android opcodes ()
added spaceeinstein's opcodes in VC PC mode
error messages now have a link to localized documentation if possible ()
configuration supports @sb: and @game: variables ()
plugin updated to v1.0.7
fixed bugs:
Read more on constants highlighting there: .
Kudos to for contributions to this release.
fixed a bug with labels missing in disassembled CLEO scripts
updated opcode definitions and keywords for CLEO opcodes
fixed several regression bugs in compiler ,
minor fixes and improvements (see the )
Kudos to and for their contributions.
support for in classes
new of opcode parameters: and
initial support for language
added for GTA SA with 250+ new opcodes
scripts (*.csa
, *.csi
) as compiled scripts
compiler uses CLEO opcodes 0A9E
, 0A9F
, 0A90
, 0A91
added for all opcodes in GTA SA SCR mode
word thread has been replaced with script in opcode definitions and keywords ()
the game directory is no longer required to compile a script ()
the "Compile and Copy" destination could be configured ()
Kudos to and for updated translations.
fixed a bug with LCS and VCS compilation ()
arrays in LCS and VCS now get custom names from CustomVariables.ini
and CustomArrays.ini
()
Kudos to for reporting the first bug and helping to test the fix.
updated
Unix-style syntax with hyphens ()
new options , ,
improved
games.xml
renamed to modes.xml
, inner updated
modes can now properties of other modes (useful for different versions of one game)
a new mode for SA v2.0 (using )
separate modes for VCS PSP and VCS PS2 ()
support for files
"hot" reloading of modes configuration ()
increased available space for the mode name section ()
removed SAMB to SB converter ()
fixed ()
fixed a bug with LCS and VCS compilation (, , )
fixed an issue with window not available after minimize ()
Kudos to and for their awesome contribution to this release.
fixed the issue with the disassembler ignoring Write opcodes
and producing a callable label when a regular label is expected
added compiler support for the SCM
format of GTA: Vice City Stories ()
added syntax for local variables with custom names ()
added a simpler form of calling subroutines using : a label name followed by a pair of parentheses ()
substitutes a gosub
command
added more customization points for :
path to a GXT file used by the disassembler ()
path to opcodes.txt
()
exclusive
a new menu item to quickly bootstrap a CLEO script file (see the bottom note in )
renamed variables script_controlled_player
and flag_player_on_mission
to PLAYER_ACTOR
and ONMISSION
respectively in GTA III's CustomVariables.ini
()
reverted files in the help\GXT Strings
directory to the older version ()
Kudos to , , , and for their awesome contribution to this release.
fixed a causing incorrect external scripts compilation
fixed bugs ,
fixed the bug
added aliases for the : TIMERA
and TIMERB
changed the option to apply to the global variables
fixed bugs , , , ,
improved construct processing
fixed the bug
fixed bugs ,
added the feature (formerly 'jump to label' function)
improved of the script file extensions with Sanny Builder
fixed the bug
a value is now used when making a list of constants
fixed bugs ,
added a new directive to register a new opcode in the script
corrected behavior of the directive while scanning directories for the file
fixed bugs ,
when the option is enabled, Sanny Builder remembers the game a script is compiled for, to use the proper edit mode when decompiling
when the option Add extra info to SCM
is enabled, Sanny Builder adds a source code into a script file (only when the directive or is present)
added a new directive to prohibit including a source code into a compiled script
$VERSION
and $VERSION_RESTORE
are deprecated
The Sanny Builder installation now includes the by LINK/2012 (can be found in the tools
folder)
fixed bugs , , ,
added a feature to report found bugs via
fixed bugs , , , ,
added v1.1 as a default ASI loader for CLEO 3 and CLEO 4
There is a on using space characters in such parameter.
changed the syntax of the parameter
added new ++
and --
added support for block /* */
SASCM.INI
got an update from the
Sanny Builder now remembers a number of closed files for the option
fixed a bug when the compiler failed to compile a source with multiple constructs
new \nosplash
support
new $INCLUDE
,$EXTERNAL
,$CLEO
to the end of a script file
support
a to decompile SCM files having no header
a new \compile
a possibility to use a floating-point value as the counter value in a loop
fixed a bug when parts of the code within the construct disappeared in
a HEX..END construct now accepts the type and string literals
a loop accepts model identifiers as the counter values
Memory Hacker became a .
support for constant numbers as indexes of global
a global variable gets disassembled with the type (&
) if its address is not divisible by 4
new preprocessor : {$VERSION}
, {$VERSION_RESTORE}
support for numbers
full support for the datatype
an opportunity to give to labels
an opportunity to choose a for custom names and strings
added to switch debug options
added escape sequences in
information about file (version, author, date)
a dropdown menu to switch
an opportunity to pass the current file name to an
reading/writing of the player's z_angle in ; quick insertion of the z_angle value in the script by pressing Ctrl+Shift+E
(for SA)
added menu for
a special version of has been built into SB. The details can be found in the file OST Readme.txt
validating math expressions during disassembling when is disabled (to ensure that opcodes are used properly)
an a script.img
file manually if the folder with the main.scm
file does not have one
an opportunity to add a new directly from the editor; added template descriptions
new data type: &
for direct byte address ().
improved the option
added an to replace mission numbers with their names
keypress
added
added
added support for WHILE
and REPEAT
added a new function , allowing to assign a specific memory address to a global variable
an opportunity to variables and arrays as class instances
added (FOR..END
)
new <>
added handle
type for
an to switch off a warning that the script.img
file is being used by the game
added support
added support
added construction for variables declaration
new <
and <=
added a capability that the compiler itself set necessary value for the
added support
added support
added support
added the to customize labels output
added True
and False
which correspond to 1
and 0
added construction for writing hexadecimal values directly in a binary output
added
new format of
added from the BW's SA Mission Builder syntax
added an ability to SCM
files with Sanny Builder