CLEO Redux v1.0.5
CLEO Redux v1.0.5
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 has 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 12/15/2022:
Added support for TypeScript;
Added support for commands that use SCM global variables (for example, counters or timers);
Removed the previously deprecated GAME variable. Use HOST instead;
Updated script watcher: changing .mjs files in the scripts directory or any subdirectories causes the script to be reloaded;
With FxtStore, you can make global FXT keys work by setting the last argument to FxtStore.insert and FxtStore.delete to true.
SDK AND PLUGINS:
IdeLoader 1.2:
Frontend 1.1: reduced timeout when checking for updates to 10 seconds;
ImGuiRedux (by Grinch_): more commands.
CRITICAL CHANGES:
Increased minimum required versions of command definitions.
Update 11/22/2022:
Added experimental support for asynchronous functions;
Added new CLEO.runScript method for scripts;
Added FXT support for GTA 4;
Fixed crash from GTA 3 and GTA 4;
Changed the minimum required versions of command definitions for GTA 4.
Update 11/03/2022:
Added support for the latest patch GTA Trilogy 1.04.5;
Added methods: Memory.ReadUtf8, Memory.WriteUtf8, Memory.ReadUtf16, Memory.WriteUtf16;
The ONMISSION settings allow you to use 00D9 STORE_CAR_CHAR_IS_IN or 00D8 MISSION_HAS_FINISHED;
New SDK methods;
Now the code that displays the CLEO version in the main menu has been moved to a separate plugin — frontend.cleo.
Update 09/09/2022:
– Added support for javascript in 64-bit versions of re3 and reVC;
– 64-bit version (SDK AND PLUGINS);
– Fixed a bug when installing ASI Loader in GTA 4;
– Added an additional option when installing cleo for re3 and reVC (choice of 32-bit or 64-bit).
Update 08/19/2022:
– Added support for Bully: Scholarship Edition (v1.2 PC);
– Fixed Gxt Hook bug;
– Fixed a bug with non-working scripts after reboot.
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 finding 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);
– Fixed bug with non-working scripts.
– 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”, which 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 (https://github.com/sannybuilder/library).
For other games:
– Improved stability of JS scripts;
– Fixed an 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 during the first launch of the game as CLEO Redux downloads the files needed to support javascript. This will not happen on subsequent launches.
When you first start the game, the folderwill 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).
Credits:Seemann