CLEO 4 -------------------- Change Log -- 4.3.10 -- * Improvements to opcodes 0AE1, 0AE2 and 0AE3 - now loops around the pool even when the 'find_next' flag isn't used correctly * Fixed 0AD2 not returning peds targetted with the mouse, while targetting with a pad worked -- 4.3.9 -- * Will now be able to start a CLEO mission after recently finishing a standard mission * Will no longer error & terminate when scripts fail to open and instead simply log the error * Will no longer terminate on warnings * No longer includes paths in automatically generated script names (e.g. cleo\dir\demo.cs is now named 'demo.cs' and not 'dir\dem') * Improved handling of script load errors -- 4.3.8 -- * Fixed crash which would occur when missions were ended with 004E -- 4.3.7 -- * Custom missions launched by CLEO scripts now inherit their compatibility mode - possibly fixing incompatibilities with mods using custom missions * The current directory set by 0A99 is now script-dependant and only affects running CLEO scripts (not the entire game or the main.scm) * Text and texture/sprite draws are now script-dependant (doesn't affect main.scm scripts) -- 4.3 -- * Replaced code which dynamically allocated and deallocated memory for script parameters every time 0AA5-0AA8 were called with static arrays * Removed a script execution loop replacement which wasn't used for anything important and weirdly only worked with 1.0US that caused crashes with script logging plugins * Added support for Steam (v3) versions of gta_sa.exe * Prevented the local storage from being initialized in SCM functions when the script is in CLEO 3 compatibility mode ('.cs3' extension) * Updates to behaviour of following opcodes: 0A99 CHANGE_DIRECTORY can now correctly change to the program directory 0A9A OPEN_FILE now uses a 'legacy' mode when passing an integer as the mode parameter for compatibility of CLEO file handles and SA file handles Note that you should really not pass CLEO file handles to game functions. However, this legacy mode now ensures that the handles are compatible. Other file functions have also been updated ensuring that game file handles are passed to relevant game functions. It is recommended to not rely on passing files to game functions and instead use CLEO 4's in-built file functions in future. 0AD1 CALL now accepts string input, which is passed as a string pointer following string convention 0AD4 SCAN_STRING now returns a condition result 0AE6 FIND_FIRST_FILE now accepts string array output 0AE3 FIND_ALL_RANDOM_OBJECTS_IN_SPHERE now ensures no fading objects are returned and returns -1 instead of 0 on failure 0AE2 FIND_ALL_RANDOM_CARS_IN_SPHERE now ensures no script vehicles or fading vehicle are returned and returns -1 instead of 0 on failure 0AE1 FIND_ALL_RANDOM_CHARS_IN_SPHERE now ensures no script characters or fading characters are returned and returns -1 instead of 0 on failure 0ADF ADD_TEXT_LABEL now updates existing text labels if they already exist 0AD6 IS_END_OF_FILE_REACHED now returns true if a file error occured 0AD2 GET_CHAR_PLAYER_IS_TARGETING now returns -1 instead of 0 when no target is found 0AB5 STORE_CLOSEST_ENTITIES now ensures no script entities or fading entities are returned and ensures the player ped is not returned