Skip to content

Releases: cleolibrary/CLEO-Redux

0.9.3

22 Apr 13:19
@x87 x87
Compare
Choose a tag to compare
  • 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 with import * 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 and Memory.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 like READ_INT_FROM_INI_FILE or LOAD_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. Use native instead.
  • rename GAME variable to HOST (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

04 Mar 14:38
@x87 x87
Compare
Choose a tag to compare
  • 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

22 Feb 04:11
@x87 x87
Compare
Choose a tag to compare
  • 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 return undefined when failing, e.g. DynamicLibrary.Load or Char.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

23 Jan 20:00
@x87 x87
Compare
Choose a tag to compare
  • 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 to Memory.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

12 Jan 15:52
@x87 x87
Compare
Choose a tag to compare
  • 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 is 0.209

0.8.5

01 Jan 23:40
@x87 x87
Compare
Choose a tag to compare

0.8.4

17 Dec 15:34
@x87 x87
Compare
Choose a tag to compare
  • for San Andreas: The Definitive Edition:

    • new opcodes 0C06 WRITE_MEMORY and 0C07 READ_MEMORY, as well as corresponding JavaScript commands: Memory.Write and Memory.Read. Read the guide for more information
    • fixed an issue with opcodes 0C01, 0C02, 0C03, 0C04 crashing the game
  • 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

09 Dec 01:33
@x87 x87
Compare
Choose a tag to compare
  • fixed a critical bug in CS scripts scheduler causing abnormal behavior (mostly resulting in slow execution) (#21)
  • fixed an issue making coronas created in CLEO scripts not render (#23)

0.8.2

04 Dec 21:45
@x87 x87
Compare
Choose a tag to compare
  • 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

01 Dec 04:02
@x87 x87
Compare
Choose a tag to compare
  • 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.