Sanny Builder
Sanny Builder is a fast and powerful tool designed for the GTA 3D game series.
It includes a disassembler, permitting the end-user to transform the game scripts into text and a compiler to translate source code written in the custom language back into the binary form readable by the game. A convenient editor has a large number of useful functions such as syntax highlighting, error checking, advanced search tools, player coordinates reading, fast movement through code and much more.
Sanny offers an advanced code syntax which is similar to existing programming languages. This syntax includes changeable classes, keywords and high-level statements. We recommend you continue reading and fully explore the documentation to learn more about SB and its capabilities. We provide a wealth of information that will help you get started in mission coding.
Major features:
- Support for all GTA 3D game series
- Fast compiler
- Convenient IDE with syntax highlighting
- Detailed help including description and solutions for all run-time error messages
Current version:
v3.4.1, released on 2020-08-06
Version changes:
- added compiler support for the SCM format of GTA: Vice City Stories
- added syntax for declaring local variables with custom names
- added a simpler form of calling subroutines using labels
- added more customization points for edit modes
- integration with the new documentation portal
- ... and more
Previous releases:
Sanny Builder Archive
Show list of changes
v3.3.3 – 20.10.2019
- fixed bug causing incorrect external scripts compilation
v3.3.2 – 19.10.2019
- fixed bugs #0036, #0050
- fixed opcode 059C in Vice City mode
v3.3.1 – 14.09.2019
- fixed bug #0048
- included constants.txt missing in GTA SA mode
v3.3.0 – 08.09.2019
- added compiler support for Liberty City Stories SCM format
- added aliases for the timer variables: TIMERA and TIMERB
- changed the Ranges check option to apply to the global variables
v3.2.4 – 04.08.2019
- fixed bugs #0031, #0032, #0033, #0040, #0044
- fixed regression defect when a CHM help file can not open
- updated opcode definitions for GTA 3 and Vice City
- added IDE support for CLEO 2.0 for III and VC
v3.2.3 – 07.07.2019
- improved support of 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 SA_Mobile mode
v3.2.2 – 05.07.2014
- added translation into Korean language (thanks to MINE)
- improved HEX..END construct processing
- fixed bug #0000028
v3.2.1 – 04.05.2014
- added translation into Indonesian language (thanks to IMasterFX)
- CLEO for GTA III and CLEO for Vice City updated (thanks to Silent)
- fixed bugs #0000026, #0000027
v3.2.0 – 22.03.2014
- 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
- added the InstaSearch feature (formerly 'jump to label' function)
- mission names can be changed by editing appropriate missions.txt files
- improved association of the script file extensions with Sanny Builder
- 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
- fixed bug #0000024
v3.1.4 – 22.02.2014
- CLEO updated to the version 4.3.14
- fixed minor interface glitches for hi-res displays
- updated German, Polish, Chinese, Ukrainian translations
v3.1.3 – 22.12.2013
- added support for iOS and Android versions of GTA: San Andreas
- a looking depth value is now used when making a list of constants
- updated Chinese and German translations
v3.1.2 – 06.10.2013
- added Czech translation
- added options to associate file extensions .cs and .cm with Sanny Builder
- fixed bugs #0000011, #0000020
v3.1.1 – 22.09.2013
- added a new directive $OPCODE to register a new opcode in the script
- corrected behaviour of the directive $INCLUDE while scanning directories for the file
- fixed bugs #0000005, #0000019
v3.1.0 – 14.09.2013
- VCSCM.ini is updated to include opcodes for the GTA VC mobile version and unsupported opcodes
- when the option Add extra info to SCM 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 $EXTERNAL or $CLEO is present)
- added a new directive $NOSOURCE to prohibit including a source code into a compiled script
- some hotkeys are now customizable in the options
- added a feature to check automatically if an update exists at the program startup
- directives $VERSION and $VERSION_RESTORE are deprecated
- updated Spanish and Chinese translations
- The Coords manager is now able to change the player's angle in GTA VC
- The Sanny Builder installation now includes the SCRLog CLEO plugin by LINK/2012 (can be found in the 'tools' folder)
- fixed bugs #0000010, #0000014, #0000015, #0000016
v3.09 – 28.07.2013
- Sanny Builder is licensed under the Sanny Builder Freeware/Donationware License Agreement
- added feature to report found bugs via the official bug tracker
- added feature to check if an update is available
- The Coords manager is upgraded to work with all known versions of GTA3, VC and SA (thanks to Silent)
- added an updated Chinese translation
- fixed bugs #0000002, #0000003, #0000004, #0000006, #0000009
- minor design changes
v3.08 – 05.07.2013
- added Silent's ASI Loader v1.1 as a default ASI loader for CLEO 3 and CLEO 4
- added Chinese translation
- added classes File and Audiostream for backward compatibility with CLEO 4 by Alien*
- the compiler now accepts a literal string as a parameter in a class property**
- the compiler is no more allowed to compile a string like text1'text2' or text1'text2' (without a leading quotation mark)
- the compiler is allowed to compile the comment characters within a string ('{text1}text2')
- the semicolon (;) can not be used to comment out a line of the code
- changed syntax of the \debug parameter
- added flag icons for the available languages in the options
- fixed some issues in VCS decompiling
* Important note: File.Open, Audiostream.Load, Audiostream.Load3D were the methods in CLEO 4. Now they are the properties. It means, if you get an error when compiling old sources with these commands, change their syntax to:
var = File.Open(file_name, mode)
var = Audiostream.Load(file_name)
var = Audiostream.Load3D(file_name)
** There is a limit on using space characters in such parameter (more info in the help)
v3.06 – 17.06.2013
- added new operators ++ and --
- added support for block comments /* */
- SASCM.INI is updated with help of the GTAG Database
- properties Actor.Armour and Actor.Car are replaced with their correct versions Actor.AddArmour and Actor.MissionCar
- added 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
- Sanny Builder now remembers a number of closed files for the option Load all closed files
- fixed bug when the compiler failed to compile numerous hex..end constructs
- fixed bug of version 3.05 when the program hung on startup trying to open a file passed as a parameter
v3.05 – 05.06.2013
- 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 possibility to install CLEO for GTA III and Vice City (made by Alien)
- the opcode files (**SCM.ini, opcodes.txt) replaced with the ones from the CLEO 4 library installation
- new command line parameter \nosplash
v3.04 – 04.08.2008
- the editor got abilities to convert hexadimal numbers to decimal ones and vice versa (Ctrl+H), and convert the model names to their IDs (Ctrl+Alt+H)
- removed the complaining message about the script.img being used by the game when compiling a CLEO script
- the compiling report displays size of the CLEO script (as Largest script)
- fixed bug when compiling an array with constant numeric indexes
- the installer no longer requires the system administrator rights
v3.03 – 17.11.2007
- the previous version of CLEO had a bug
- minor changes (the toolbar position wasn't saved)
v3.02 – 16.11.2007
- new version of the CLEO library
- main toolbar is movable
- F7 while compiling SCM with no header (with $E, $CLEO directives) does not make a copy of the output file
- while compiling a source file with directive $CLEO by pressing F6, the output file is created at the same directory; if by pressing F7 a copy of the output is created at the CLEO directory (like with common SCM files)
- new translation languages - italian, portuguese
v3.01 – 06.08.2007
v3.00 – 04.08.2007
- the CLEO 3 library is integrated into Sanny Builder
- VCS SCM format support (decompiling only)
- constants support
- new directives $INCLUDE, $EXTERNAL, $CLEO
- writing of the additional info to the end of the main.scm
- custom arrays support
- possibility to decompile the files having no header
- ability to create an external script named AAA
- new command line parameter \compile
- possibility to use the floating-point values as a counter value in FOR..END loop
- the commands WriteMem and ReadMem are not supported anymore
- possibility to use the regular expressions when searching
- possibility to save a source file in the RTF or HTML formats
- ability to skip the splashes at SA startup
- new key combo Ctrl+Enter
- updated SASCM.INI