You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alloc command allowed ADMA type as a noop command: e.g. Alloc(&2, 4). Now this is a compile error.
Typed array elements allowed hexadecimal notation for size: e.g. array(index,0xff) (float array of size 0xf). Now this is a compile error.
String literals in opcode argument now support escape sequences similar to strings inside hex..end. This behavior can be disabled with SB3_COMPAT debug option
second argument in Alloc command is now required (previously was optional and 0 by default). This behavior can be disabled with SB3_COMPAT debug option.
hardcoded indexes in opcodes 05B6, 0A66, 0A67, 0A68, 0A6E are no longer supported. This behavior can be disabled with SB3_COMPAT debug option
variable and constant names can not match class names (int car or const car) is now a compile error)
callable labels starting with a number are now a syntax error. Previously you can do the following:
:1
1() // gosub @1
this won't compile now. It is still possible to reference such label using @ prefix (e.g. jump @1 or gosub @1)
Also disassembler checks script names (opcode 03A4) and if the name starts with a number, it prefixes all labels with an underscore (_). It should solve the compilation issue in the original script of Vice City Stories that has a script named '99RED'. All labels of this script now start with _99RED
Download
Features
function..end)///{$USE CLEO}or{$CLEO}) also enables all standard CLEO extensions (bitwise, ini, file, debug, memory)clear_mission_audio MissionAudioSlot.Slot1)8to24$INCLUDE_ONCEdirective added in 3.9.0Bug Fixes
=#) not working with arrays99REDhave to replaced with_99REDThird-party
update CLEO library to CLEO5removed from archive due to false virus reportsBreaking Changes
Alloc(&2, 4). Now this is a compile error.size: e.g.array(index,0xff)(float array of size 0xf). Now this is a compile error.SB3_COMPATdebug optionSB3_COMPATdebug option.SB3_COMPATdebug optionis now a compile error (0090) in 4.0.0 beta.0
int carorconst car) is now a compile error)this won't compile now. It is still possible to reference such label using @ prefix (e.g.
jump @1orgosub @1)Also disassembler checks script names (opcode 03A4) and if the name starts with a number, it prefixes all labels with an underscore (
_). It should solve the compilation issue in the original script of Vice City Stories that has a script named '99RED'. All labels of this script now start with _99RED