Version History
if and
0AB0: is_key_pressed 9
0AB0: is_key_pressed 10
0AA0: gosub_if_false @label // was not working before, now compiles
- CLEO for San Andreas 4.4.1
- CLEO for GTA III and Vice City 2.0.0.6
👏 Thanks to everyone who contributed to this version: NicusorN5, Junior_Djjr, wmysterio, MatiDragon, DanielSant0s, JaggerJam69, Vital, Sdas50, nick7
- disassembler now outputs the content of a
hex..end
block as a string if it's a sequence of ASCII characters ending with 00 #33 - hotkeys using Numpad buttons have been changed (Zoom text: Ctrl + +/- and Navigate to label and back: Alt + Right/Left)
- 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
- compiler uses CLEO opcodes
0A9E
,0A9F
,0A90
,0A91
in certain expressions when no opcode is supplied - unified description and keywords for CLEO opcodes across different edit modes
- 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
inVCSSCM.INI
- fixed the issue with the disassembler ignoring
Write opcodes
option and producing a callable label when a regular label is expected
- added a simpler form of calling subroutines using labels: a label name followed by a pair of parentheses
()
substitutes agosub
command - 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 forgta-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 variables
script_controlled_player
andflag_player_on_mission
toPLAYER_ACTOR
andONMISSION
respectively in GTA III'sCustomVariables.ini
(#3) - renamed
macroes.txt
totemplates.txt
- included
constants.txt
missing in theGTA SA
mode
- added compiler support for the Liberty City Stories
SCM
format
- improved support for the version of GTA San Andreas for WinStore, Xbox 360, and PS3
- fixed an issue with opcodes
09A4
and0A18
not being properly decompiled in the SA_Mobile mode
- 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
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
- 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
- The Sanny Builder installation now includes the SCRLog CLEO plugin by LINK/2012 (can be found in the
tools
folder)
- 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
andAudiostream
for backward compatibility with CLEO 4 by Alien
File.Open
, Audiostream.Load
, Audiostream.Load3D
were methods in CLEO 4. Now they are 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)
- 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"
ortext1'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
andActor.Car
with their correct versionsActor.AddArmour
andActor.MissionCar
- added a new property
Actor.CurrentCar
for the opcode03C0
in the SA and VC classes. - added new hotkeys
Ctrl+Num+
andCtrl+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
directiveis created in the same directory; afterF7
the output file is created in the CLEO directory (similarly toSCM
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
andReadMem
- a possibility to use regular expressions when searching
- a possibility to save a source file in the
RTF
orHTML
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 a
main.scm
with the missing header segments (DEFINE XXX
) - a possibility to Drag&Drop a file into the editor to open it
If you get a compiler error message like
Unknown directive xxxx
when compiling the sources from v2.99, replace the line {$VERSION xxxx}
to any place after the header, for instance before the comment //-------------MAIN---------------
- added new commands
WriteMem
andReadMem
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 theINI
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) - reading/writing of the player's z_angle in Coord Manager; quick insertion of the z_angle value in the script by pressing
Ctrl+Shift+E
(for SA)
The following opcodes were changed in
SASCM.INI
: 0181
, 00c3
, 00c4
in order to support the commands WriteMem
and ReadMem
. The original scripts did not use these opcodes and the unmodified games do not implement them so it should not break existing scripts.The class member
Car.SetSpeedInstantly
was named incorrectly (with a wrong opcode) in the classes.db
for SA. If you get an error message about this method during compilation, rename it toActor.DrivingPlane
. We apologize.- Sanny Builder became multilingual
- a special version of Opcode Search Tool has been built into SB. The details can be found in the file
OST Readme.txt
- validating math expressions during disassembling when Write opcodes is disabled (to ensure that opcodes are used properly)
- an opportunity to choose a
script.img
file manually if the folder with themain.scm
file does not have one - 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
whereMYMISSION
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 is0
(if
=if 0
)
- some bugs fixed
- 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 bemain.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
andscript.img
- basic features for text editing
Last modified 3mo ago