|
| 1 | +## 5.4.0 |
| 2 | + |
| 3 | +- fixed discrepancy between CLEO and native subtitles behavior: |
| 4 | + - `PRINT_STRING` and `PRINT_FORMATTED` now queue correctly |
| 5 | + - CLEO messages are now added to the Brief Menu history, respecting the `ADD_NEXT_MESSAGE_TO_PREVIOUS_BRIEFS` flag (no change for `.cs4` scripts) |
| 6 | + - CLEO subtitles starting with a `~z~` token are now hidden when "Show Subtitles" option is disabled (no change for `.cs4` scripts) |
| 7 | +- CLEO config (`CLEO\.cleo_config.ini`) improvements: |
| 8 | + - new `LogDirectory` option to configure where `cleo.log` and `cleo_script.log` are stored (root by default) |
| 9 | + - config is now recreated if missing, and new config keys are appended to existing user configs |
| 10 | + - config is reloaded on a new game session |
| 11 | +- `READ_MEMORY_WITH_OFFSET` and `WRITE_MEMORY_WITH_OFFSET` now behave identically to `READ_MEMORY`/`WRITE_MEMORY`; `READ_MEMORY_WITH_OFFSET` no longer reads input as a null-terminated string when the output is a string variable |
| 12 | +- removed a check preventing allocation of zero-sized memory blocks |
| 13 | +- hardened path validation to prevent access to files outside of game root and settings directories |
| 14 | +- fixed an issue causing scripts to load and execute twice on a new game session |
| 15 | +- fixed multiple bugs related to game crashes and script handling |
| 16 | +- fixed script corruption when loading a CLEO mission exceeding 69,000 bytes |
| 17 | +- updated BASS and simdjson libraries; removed deprecated EAX check from BASS |
| 18 | + |
1 | 19 | ## 5.3.0 |
2 | 20 |
|
3 | 21 | - moved CLEO core and plugin settings into a shared configuration file (`CLEO\.cleo_config.ini`) |
4 | 22 | - improved compatibility with ModLoader |
5 | 23 | - refactored error handling and relaxed checks for non‑critical errors |
6 | 24 | - keyboard input is now ignored when the game window is not focused |
7 | 25 | - increased text length limit from **255** to **399** for: |
8 | | - - [PRINT_STRING](https://library.sannybuilder.com/#/sa/script/extensions/CLEO/0ACC) |
| 26 | + - [PRINT_STRING](https://library.sannybuilder.com/#/sa/script/extensions/CLEO/0ACC) |
9 | 27 | - [PRINT_STRING_NOW](https://library.sannybuilder.com/#/sa/script/extensions/CLEO/0ACD) |
10 | 28 | - fixed a memory leak caused by creating too many script TXDs |
11 | 29 | - fixed multiple issues with string‑formatting opcodes |
|
14 | 32 | - fixed an incompatibility with the result of [SAMP_RAKNET_HOOK_RETURN](https://library.sannybuilder.com/#/sa/script/extensions/SAMPFUNCS/0BE0) |
15 | 33 |
|
16 | 34 | ## 5.2.0 |
| 35 | + |
17 | 36 | - added script execution log (`cleo\_cleo_script.log`). By default, it's disabled. Configurable via `cleo_plugins\DebugUtils.ini`. |
18 | 37 | - added call stack overflow error check to **gosub** and **gosub_if_false** commands |
19 | 38 | - added check for preceding **gosub** call in **0AA1 ([return_if_false](https://library.sannybuilder.com/#/sa/script/extensions/CLEO/0AA1))** |
|
28 | 47 | - new SDK method: `CLEO_CallNativeOpcode`. See SDK documentation: https://github.com/cleolibrary/CLEO5/wiki/CLEO-5-SDK |
29 | 48 |
|
30 | 49 | ## 5.1.0 |
| 50 | + |
31 | 51 | - fixed collision of GXT texts hook with SAMP and other mods |
32 | 52 | - rewritten script drawing handling code. Logic moved from **CLEO.asi** to **Text.cleo** plugin |
33 | 53 | - relocated several opcodes from CLEO core into new **GameEntities.cleo** plugin |
|
47 | 67 | - added missing **terminate_this_script** command error message for scripts compiled with extra SCM info |
48 | 68 |
|
49 | 69 | ## 5.0.3 |
| 70 | + |
50 | 71 | - added **GxtHook.cleo** plugin to ignored list |
51 | 72 | - fixed audio streams stopping when volume was set to 0.0 |
52 | 73 | - fixed audio streams potentially not starting to play if still decoding or downloading |
53 | 74 | - volume of audio streams with type None and UserInterface no longer affected by screen fades |
54 | 75 |
|
55 | 76 | ## 5.0.2 |
| 77 | + |
56 | 78 | - updated BASS library |
57 | 79 | - fixed Doppler effect calculations for 3d audio streams |
58 | 80 | - fixed sound glitches of 3d audio streams when playback starts or the camera mode changes |
|
68 | 90 | - fixed audio playback not working in SAMP |
69 | 91 |
|
70 | 92 | ## 5.0.1 |
| 93 | + |
71 | 94 | - cleo.log file moved back to the game root (as in CLEO4) |
72 | 95 | - restored behavior of '.\\' prefix for scripts in legacy compat mode |
73 | 96 | - fixed **0AB9 ([get_audio_stream_state](https://library.sannybuilder.com/#/sa/audio/0AB9))** not always returning Stopped, despite playback ended |
|
78 | 101 | - fixed **0AA3 ([free_dynamic_library](https://library.sannybuilder.com/#/sa/script/extensions/CLEO/0AA3))** clearing reference to libraries loaded more than once |
79 | 102 |
|
80 | 103 | ## 5.0.0 |
| 104 | + |
81 | 105 | - support for CLEO modules feature https://github.com/sannybuilder/dev/issues/264 |
82 | 106 | - new [Audio](https://github.com/cleolibrary/CLEO5/tree/master/cleo_plugins/Audio) plugin |
83 | 107 | - audio related opcodes moved from CLEO core into separated plugin |
|
182 | 206 | - updated included Silent's ASI Loader to version 1.3 |
183 | 207 |
|
184 | 208 | #### Bug Fixes |
| 209 | + |
185 | 210 | - fixed error in **004E (terminate_this_script)** allowing to run multiple missions |
186 | 211 | - fixed handling of strings longer than 128 characters causing errors in some cases |
187 | 212 | - fixed error in handling of first string argument in **0AF5 (write_string to_ini_file)** |
|
192 | 217 | - fixed an undefined behavior caused by **0459 (terminate_all_scripts_with_this_name)** when the name matches a custom script |
193 | 218 |
|
194 | 219 | #### SDK and plugins |
| 220 | + |
195 | 221 | - now all opcodes in range **0-7FFF** can be registered by plugins |
196 | 222 | - plugins moved to _cleo\cleo_plugins_ directory |
197 | 223 | - new SDK methods: |
|
227 | 253 | - CLEO_Log |
228 | 254 |
|
229 | 255 | #### CLEO internal |
| 256 | + |
230 | 257 | - introduced unit test scripts |
231 | 258 | - project migrated to VS 2022 |
232 | 259 | - configured game debugging settings |
|
235 | 262 | - added setup_env.bat script |
236 | 263 |
|
237 | 264 | ## Older |
| 265 | + |
238 | 266 | For previous changes, see [CLEO4 changelog](https://github.com/cleolibrary/CLEO4/blob/master/CHANGELOG.md) |
239 | 267 |
|
240 | 268 | ## Special Thanks |
| 269 | + |
241 | 270 | - **123nir** for the v5.0.0-alpha testing, troubleshooting and valuable bug reports |
242 | 271 | - **Hamal** for the v5.0.0-beta testing, troubleshooting and valuable bug reports |
243 | | - |
|
0 commit comments