diff --git a/CHANGELOG.md b/CHANGELOG.md index 56235b3..0646adc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,41 @@ +### 0.9.4 - May 12, 2022 + +- add support for custom file loaders allowing [import of various file formats](https://re.cleo.li/docs/en/imports.html) +- add [new bindings](https://re.cleo.li/docs/en/js-bindings.html) available in JS code: a static object `CLEO` and a constant `__filename` +- add new config option `DisplayMenuInfo` to control whether CLEO Redux should display the version information in the main menu (supported in GTA III/VC/SA) +- fix a conversion error in some commands when an integer number is given instead of a boolean + +**SDK AND PLUGINS** + +- when `RuntimeNextTick` is called with both arguments set to zero (`RuntimeNextTick(0, 0)`) CLEO calculates correct values for current_time and time_step as the time elapsed from the last call of `RuntimeInit` and the delta time between two ticks respectively +- add an option in the installer to download SilentPatch as a dependency of the ImGuiRedux plugin +- new methods `RegisterLoader`, `AllocMem`, `FreeMem` (see the guide) +- new file loaders for Text files (any host) and IDE files (GTA3, VC, SA) + +**BREAKING CHANGES** + +- configuration option `LogOpcodes` is no longer applied to JS scripts. To start tracing executed commands in a script use `CLEO.debug.trace(true)`. To disable tracing use `CLEO.debug.trace(false)`. +- `__dirname` is now `const` and can not be changed +- static methods have been excluded from [fluent interface](https://re.cleo.li/docs/en/fluent-interface.html) (can't be chained with other methods) + ### 0.9.3 - Apr 22, 2022 -- CLEO can be [embedded](https://re.cleo.li/docs/en/embedding.html) and run on unknown hosts via the self-hosted mode [See demo](https://www.youtube.com/watch?v=rk2LvDt7UkI) +- CLEO can be [embedded](https://re.cleo.li/docs/en/embedding.html) and run on unknown hosts via the self-hosted mode [See demo](https://www.youtube.com/watch?v=rk2LvDt7UkI) - 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. See https://re.cleo.li/docs/en/script-lifecycle.html#organizing-scripts -- 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';` +- 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) @@ -26,14 +48,12 @@ | Vice City: The Definitive Edition | [vc_unreal.json](https://github.com/sannybuilder/library/blob/master/vc_unreal/vc_unreal.json) | `0.215` | | San Andreas: The Definitive Edition | [sa_unreal.json](https://github.com/sannybuilder/library/blob/master/sa_unreal/sa_unreal.json) | `0.220` | - ### 0.9.2 - Mar 04, 2022 - 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 (https://github.com/cleolibrary/CLEO-Redux/issues/36) - fix an issue with scripts not working if the path to the game directory has square brackets `[`, `]` - ### 0.9.1 - Feb 22, 2022 - add [SDK for developing custom commands](using-sdk.md) in C++ and Rust diff --git a/installer/cleo_redux.iss b/installer/cleo_redux.iss index 9991f3c..c2caaa5 100644 --- a/installer/cleo_redux.iss +++ b/installer/cleo_redux.iss @@ -1,5 +1,5 @@ #define AppName "CLEO Redux" -#define AppVersion "0.9.4-dev.20220510" +#define AppVersion "0.9.4" #define AppPublisher "Seemann" #define AppURL "https://re.cleo.li" #define SourceDir "..\" @@ -56,7 +56,7 @@ Name: "plugins/imgui/d3d8to9"; Description: "d3d8to9 Wrapper - for games using D Name: "plugins/imgui/SilentPatch"; Description: "SilentPatch - needed for the mouse to work properly in classic GTA"; Types: full Name: "loaders"; Description: "File Loaders"; Types: full Name: "loaders/text"; Description: "*.txt files"; Types: full -Name: "loaders/ide"; Description: "*.ide files (for GTA3, VC, SA)"; Types: full +Name: "loaders/ide"; Description: "*.ide files (for 32-bit GTA3, VC, SA)"; Types: full Name: "asiloader"; Description: "Ultimate ASI Loader (by ThirteenAG)"; Types: full @@ -99,11 +99,11 @@ m4 =No supported game or application was found in the selected directory. To con m5 =32-bit (x86) m6 =64-bit (x64) -russian.m2 =Выберите версию CLEO Redux -russian.m3 =Какую версию CLEO Redux (32-битную или 64-битную) нужно установить? -russian.m4 =В выбранной директории не нашлось поддерживаемых игр или приложений. Для продолжения установки, выберите одну из двух возможных версий CLEO Redux. Подсказка: она должна совпадать с версией (архитектурой) игры или приложения, в которой будет запускаться CLEO Redux. -russian.m5 =32-битная (x86) -russian.m6 =64-битная (x64) +russian.m2 =пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ CLEO Redux +russian.m3 =пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ CLEO Redux (32-пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ 64-пїЅпїЅпїЅпїЅпїЅпїЅ) пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ? +russian.m4 =пїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ. пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ, пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅ пїЅпїЅ пїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ CLEO Redux. пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ: пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ (пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ) пїЅпїЅпїЅпїЅ пїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ, пїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ CLEO Redux. +russian.m5 =32-пїЅпїЅпїЅпїЅпїЅпїЅ (x86) +russian.m6 =64-пїЅпїЅпїЅпїЅпїЅпїЅ (x64) [Code] const diff --git a/loaders/IdeLoader/Cargo.lock b/loaders/IdeLoader/Cargo.lock index df745fa..0057ee2 100644 --- a/loaders/IdeLoader/Cargo.lock +++ b/loaders/IdeLoader/Cargo.lock @@ -26,9 +26,9 @@ dependencies = [ [[package]] name = "gta-ide-parser" -version = "0.0.2" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db96fa53418d0e00ca61c2747f2a156e07510a10012af8d7512a76e03df8ae3" +checksum = "8bab2ffa29c751bfab49df963917d667b5d146ffd6af50ba4429d64373f5ff6e" dependencies = [ "nom", ] @@ -41,12 +41,11 @@ checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "ide-loader" -version = "0.1.0" +version = "1.1.0" dependencies = [ "cleo_redux_sdk", "ctor", "gta-ide-parser", - "nom", "serde", "serde_json", ] diff --git a/loaders/IdeLoader/Cargo.toml b/loaders/IdeLoader/Cargo.toml index 863b481..290d286 100644 --- a/loaders/IdeLoader/Cargo.toml +++ b/loaders/IdeLoader/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ide-loader" -version = "0.1.0" +version = "1.1.0" edition = "2021" authors = ["Seemann "] @@ -10,9 +10,8 @@ crate-type = ["cdylib"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -gta-ide-parser = "0.0.2" +gta-ide-parser = "0.0.3" ctor = "0.1.21" serde_json = { version = "1.0", features = ["preserve_order"] } serde = { version = "1.0", features = ["derive"] } -nom = "7.1.1" cleo_redux_sdk = "0.0.9" \ No newline at end of file diff --git a/loaders/IdeLoader/src/lib.rs b/loaders/IdeLoader/src/lib.rs index d9df794..f72c396 100644 --- a/loaders/IdeLoader/src/lib.rs +++ b/loaders/IdeLoader/src/lib.rs @@ -6,7 +6,7 @@ use std::{fs::read_to_string, path::Path}; #[ctor] fn init() { - cleo_redux_sdk::log("IDE Loader 1.0"); + cleo_redux_sdk::log("IDE Loader 1.1"); cleo_redux_sdk::register_loader("*.ide", loader); } diff --git a/website/index.html b/website/index.html index 9a0d8d7..112af2b 100644 --- a/website/index.html +++ b/website/index.html @@ -124,7 +124,7 @@

games and, with limited functionality, other games or applications., + >.

Its flexible, extensible and secure environment provides rich @@ -149,7 +149,7 @@

data-translate="download" >Download - v0.9.3 | Apr 22, 2022 + v0.9.4 | May 12, 2022