Releases: cleolibrary/CLEO-Redux
Releases · cleolibrary/CLEO-Redux
0.9.3
- CLEO can be embedded and run on unknown hosts via the self-hosted mode See demo
- new installer that automatically downloads extra dependencies such as Ultimate ASI Loader and plugins (dylib, IniFiles, or ImGuiRedux)
- support for organizing scripts and its dependencies in sub-directories inside the CLEO folder
- automatically download the latest
enums.js
file from Sanny Builder Library along with the command definitions. You can import enums in JS withimport * as enums from './.config/enums';
- memory access operations can run on an unknown host (previously they had a dependency on the
op
command which itself can only run in GTA games) Memory.CallFunctionReturnFloat
andMemory.CallMethodReturnFloat
are now available for 32-bit hosts.CallFunctionReturnFloat
has been previously added for 64-bit hosts.
SDK AND PLUGINS
- SDK's method
ResolvePath
now resolves paths starting with./
or.\
relative to the script directory. You can use them in commands likeREAD_INT_FROM_INI_FILE
orLOAD_DYNAMIC_LIBRARY
- new SDK methods
GetHostName
,SetHostName
,RuntimeInit
,RuntimeNextTick
. SDK version is now 2. - IniFiles plugin updated to 1.2: increased max length of the INI file path
- Dylib plugin updated to 1.1: increased max length of the DLL file path
BREAKING CHANGES
- delete previously deprecated command
op
. Usenative
instead. - rename
GAME
variable toHOST
(GAME
is still available for use but it's recommended to update older scripts)
Game | File | Minimum Required Version |
---|---|---|
GTA III, re3 | gta3.json | 0.218 |
GTA VC, reVC | vc.json | 0.220 |
GTA San Andreas (Classic) 1.0 | sa.json | 0.236 |
GTA III: The Definitive Edition | gta3_unreal.json | 0.213 |
Vice City: The Definitive Edition | vc_unreal.json | 0.215 |
San Andreas: The Definitive Edition | sa_unreal.json | 0.220 |
0.9.2
- add 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)
- fix an issue with string arguments in Memory call commands in GTA San Andreas (#36)
- fix an issue with scripts not working if the path to the game directory has square brackets
[
,]
0.9.1
- add SDK for developing custom commands in C++ and Rust
- add support for fallible commands in JS (also known as
IF and SET
commands in SCM scripts), they returnundefined
when failing, e.g.DynamicLibrary.Load
orChar.IsInAnySearchlight
) - two new plugins adding commands to work with DLL (
dylib.cleo
) and INI files (IniFiles.cleo
) in all supported games - add
__dirname
variable in JS scripts that resolves to the current file's directory - add a new function native that calls a scripting command by name (similar to
op
):
/** Executes a named command with the given arguments */
declare function native<T>(name: string, ...args: any[]): T;
const lib = native("LOAD_DYNAMIC_LIBRARY", "test.dll");
- fix a rounding issue with floating-point numbers in GTA 3
- fix an issue with imports not working in JS when the CLEO folder is located in the AppData directory
- fix an issue with the
showTextBox
command in San Andreas displaying some garbage text - fix a conversion error when the
showTextBox
command is given an integer argument - fix an issue with scripts permissions not being validated for JS scripts
- fix an issue when the object returned as a result of some commands (
Object.GrabEntityOnRope()
,Heli.GrabEntityOnWinch()
and like) did not have relevant fields wrapped in a class instance
INSTALLATION STEPS
https://github.com/cleolibrary/CLEO-Redux/#installation
BREAKING CHANGES
Game | File | Minimum Required Version |
---|---|---|
GTA III, re3 | gta3.json | 0.208 |
GTA VC, reVC | vc.json | 0.210 |
GTA San Andreas (Classic) 1.0 | sa.json | 0.210 |
GTA III: The Definitive Edition | gta3_unreal.json | 0.210 |
Vice City: The Definitive Edition | vc_unreal.json | 0.212 |
San Andreas: The Definitive Edition | sa_unreal.json | 0.216 |
0.9.0
- add support for JS scripts in GTA III: The Definitive Edition (v1.0.0.14718) and Vice City: The Definitive Edition (v1.0.0.14718) (some limitations apply, see Feature support for the details)
- add support for modern ES6+ syntax (arrow functions, const/let, classes, more methods in the standard library, etc), see Mines Drop script as an example
- add support for importing other scripts and JSON files
For 64-bit games (The Trilogy):
- you can now call game functions with floating-point arguments - thanks to @ThirteenAG.
- new command
Memory.CallFunctionReturnFloat
that is similar toMemory.CallFunctionReturn
but is used for functions that return a floating-point number
let x = Memory.FromFloat(123.456);
let y = Memory.FromFloat(456.555);
let groundZ = Memory.CallFunctionReturnFloat(0x100cc50, true, 2, x, y);
- new convenience method
Memory.Fn.X64Float
that can be used for functions that return a floating-point number:
let CWorldFindGroundZForCoord = Memory.Fn.X64Float(0x100cc50, true);
let x = Memory.FromFloat(123.456);
let y = Memory.FromFloat(456.555);
let groundZ = CWorldFindGroundZForCoord(x, y);
0.8.6
- add CALL_FUNCTION and CALL_FUNCTION_RETURN commands in San Andreas: The Definitive Edition
- add
Memory.Fn.X64
convenience methods for calling functions from JavaScript on the x64 platform showTextBox
now works in San Andreas: The Definitive Edition- fixed an issue with FxtStore object not showing in VS Code autocomplete
- fixed an issue with text draw not working in GTA San Andreas
- fixed an issue in CLEO dev builds causing the game crash on startup while checking for an update
BREAKING CHANGE
- minimum required version of
sa_unreal.json
is0.209
0.8.5
- add support for static FXT files in
CLEO_TEXT
folder (demo: https://youtu.be/ctsKy7WnY9o) - add support for private FXT storage in each JS script (demo: https://youtu.be/FLyYyrGz1Xg)
- fixed an issue when scripts permissions were not validated for CLEO scripts
- fixed an issue when the game may crash on the script reload
- custom CLEO opcodes (
0C00
-0C07
) can now be used in the main.scm in San Andreas: DE
0.8.4
-
for San Andreas: The Definitive Edition:
- new opcodes
0C06 WRITE_MEMORY
and0C07 READ_MEMORY
, as well as corresponding JavaScript commands:Memory.Write
andMemory.Read
. Read the guide for more information - fixed an issue with opcodes
0C01
,0C02
,0C03
,0C04
crashing the game
- new opcodes
-
for all games:
- improved stability of JS scripts (#22)
- fixed an issue when scripts permissions were not validated for CLEO scripts
BREAKING CHANGES
CLEO Redux for San Andreas: The Definitive Edition now uses sa_unreal.json
from https://github.com/sannybuilder/library. You can manually delete CLEO\.config\sa.json
that is not used anymore.
Game | File | Minimum Required Version |
---|---|---|
GTA III, re3 | gta3.json | 0.200 |
GTA VC, reVC | vc.json | 0.201 |
GTA San Andreas (Classic) 1.0 | sa.json | 0.202 |
San Andreas: The Definitive Edition | sa_unreal.json | 0.204 |
0.8.3
0.8.2
- CLEO now uses AppData directory if there is no write permissions in the current game directory (see First Time Setup note)
- add support for method chaining on constructible entities.
- fixed an issue when a script could run during game pause (when the game menu is active)
0.8.1
- add support for San Andreas: The Definitive Edition v1.0.0.14718 (Title Update 1.03)
INSTALLATION NOTES
Make sure to copy EITHER cleo_redux.asi OR cleo_redux64.asi file in the folder with the game executable, not both. cleo_redux.asi is only for the classic gta. cleo_redux64.asi is only for the definitive edition.