CLEO Redux v1.0.0
CLEO Redux v1.0.0
CLEO Redux is a scripting runtime for games from the GTA 3D era. It is a proud member of the CLEO family and provides familiar features to anyone who used the library for classic GTA San Andreas or its re-implementations for other games. The main goal of CLEO is to provide the ability to easily customize the game with countless custom scripts.
Update from 07/01/2022
Added initial support for GTA 4 (The Complete Edition)
All parts of GTA now use compound definitions (a combination of the main JSON file and the JSON file for the unknown host from the Sanny Builder library);
Fixed an issue where CLEO would stop loading FXT files after detecting non-UTF8 characters;
Added property CLEO.apiVersion;
SDK and plugins.
Update 03/04/2022:
Added support for The Definitive Edition Title Update 1.04 (GTA III DE 1.0.0.15284, VC DE 1.0.0.15399, SA DE 1.0.0.15483);
Fixed bugs in commands (San Andreas);
Update 02/22/2022:
Added SDK for developing custom commands in C++ and Rust.
Added support for error commands in JS (also known as IF and SET commands in SCM scripts), they return an undefined value on failure, e.g. DynamicLibrary.Load or Char.IsInAnySearchlight);
Two new plugins that add commands to work with DLL (dylib.cleo) and INI files (IniFiles.cleo) in all supported games;
Added __dirname variable to JS script, which is added to the directory of the current file;
Added a new built-in function that calls the script command by name;
Fixed problem with rounding floating point numbers in GTA 3;
Fixed JS import broken issue when CLEO folder is in AppData directory;
Fixed a bug due to which the showTextBox command in San Andreas displayed junk text;
Fixed a conversion error when the showTextBox command is given an integer argument;
Fixed issue with script permissions not being checked for JS scripts;
Update:
Added support for JS scripts in GTA III: The Definitive Edition (v1.0.0.14718) and Vice City: The Definitive Edition (v1.0.0.14718);
Added support for modern ES6+ syntax;
Added support for importing other scripts and JSON files;
Now you can call game functions with floating-point arguments;
New command “Memory.CallFunctionReturnFloat”, similar to the previous one, Memory.CallFunctionReturn, used for functions that return a floating-point number;
New convenience method “Memory.Fn.X64Float” that can be used for functions that return a floating point number.
Update 12/17/2021:
For San Andreas: The Definitive Edition:
Added new opcodes: 0C06 WRITE_MEMORY and 0C07 READ_MEMORY, as well as the corresponding javascript commands: Memory. Write and Memory. Read;
Fixed problem with opcodes 0C01, 0C02, 0C03, 0C04.
CLEO Redux for San Andreas: The Definitive Edition now uses sa_unreal.json
For other games:
Improved stability of JS scripts;
Fixed issue where script permissions were not checked for CLEO scripts.
Update 12/08/2021:
Fixed a bug that caused crowns (light source textures) to not show up in CS scenarios.
Update 12/04/2021:
CLEO now uses the AppData directory if there are no write permissions in the current game directory;
Added method chain support for constructed files;
Fixed a bug that could cause a script to run in the menu.
Installation:
1. Download and install Ultimate ASI Loader x64by ThirteenAG (rename to version.dll or any compatible name and copy to GTA San Andreas – Definitive EditionGamefaceBinariesWin64 directory);
2. Copy cleo_redux64.asi to the same directory.
First setting:
There may be a noticeable delay when starting the game for the first time as CLEO Redux downloads the files necessary for javascript support. This will not happen on subsequent launches.
When you first start the game, the folder will appear in the GTA San Andreas — Definitive EditionGamefaceBinariesWin64 directory! CLEO. This is where you move all your scripts.
Compatible with The Trilogy: The Definitive Edition
At the moment, CLEO Redux only supports San Andreas: There are several key differences from other games:
Requires Ultimate ASI Loader x64 by ThirteenAG;
The main menu does not display the version of CLEO;
The showTextBox function does not work in JS scripts;
Opcodes for custom commands are different, only some are supported:
0C00 IS_KEY_PRESSED
0C01 INt_ADD
0C02 INt_SUB
0C03 INt_MUL
0C04 INt_DIV
0C05 TERMINATE_THIS_CUSTOM_SCRIPT
Sanny Builder does not yet support these new opcodes. To enable new opcodes in CS scripts, add the following lines on top of the script:
{$O 0C00=1, is_key_pressed %1d% }
{$O 0C01=3,%3d% = %1d% + %2d% }
{$O 0C02=3,%3d% = %1d% – %2d% }
{$O 0C03=3,%3d% = %1d% * %2d% }
{$O 0C04=3,%3d% = %1d% / %2d% }
{$O 0C05=0,terminate_this_custom_script }
Use SA Mobile mode to compile CLEO scripts for San Andreas: The Definitive Edition.
Delete:
Remove cleo_redux64.asi.
Delete the CLEO folder (optional).
Delete cleo_redux.log (optional).
Seemann