Skip to content

5.0.0-alpha.25

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 08 Nov 15:05
· 173 commits to master since this release
  • support for CLEO modules feature sannybuilder/dev#264
  • new DebugUtils plugin
    • new opcode 00C3 (debug_on)
    • new opcode 00C4 (debug_off)
    • new opcode 2100 (breakpoint)
    • new opcode 2101 (trace)
    • new opcode 2102 (log_to_file)
    • implemented support of opcodes 0662, 0663 and 0664 (original Rockstar's script debugging opcodes. See DebugUtils.ini)
  • new and updated opcodes
    • 0DD5 (get_game_platform)
    • 2000 (resolve_filepath)
    • 2001 (get_script_filename)
    • 'argument count' parameter of 0AB1 (cleo_call) is now optional. cleo_call @LABEL args 0 can be written as cleo_call @LABEL
    • 'argument count' parameter of 0AB2 (cleo_return) is now optional. cleo_return 0 can be written as cleo_return
    • opcodes 0AAB, 0AE4, 0AE5, 0AE6, 0AE7 and 0AE8 moved to the FileSystemOperations plugin
  • changes in file operations
    • file paths can now use 'virtual absolute paths'. Use prefix in file path strings to access predefined locations:
      • root:\ for game root directory
      • userfiles:\ for game save files directory
      • .\ for this script file directory
      • cleo:\ for CLEO directory
      • modules:\ for CLEO\cleo_modules directory
    • rewritten opcode 0A99 (set_current_directory). It no longer affects internal game state and other scripts
  • improved error handling
    • more detailed error messages in some scenarios
    • some errors now cause the script to pause, instead of crashing the game
  • SCM functions (0AB1) now keep their own GOSUB's call stack
  • updated included Silent's ASI Loader to version 1.3

Bug Fixes

  • fixed error in 004E (terminate_this_script) allowing to run multiple missions
  • fixed handling of strings longer than 128 characters causing errors in some cases
  • fixed error in handling of first string argument in 0AF5 (write_string to_ini_file)
  • fixed resolution dependent aspect ratio of CLEO text in main menu
  • fixed clearing mission locals when new CLEO mission is started
  • when reading less than 4 bytes with 0A9D (readfile) now remaining bytes of the target variable are set to zero

SDK AND PLUGINS

  • now all opcodes in range 0-7FFF can be registered by plugins
  • plugins moved to cleo\cleo_plugins directory
  • new SDK method: CLEO_RegisterCallback
  • new SDK method: CLEO_GetVarArgCount
  • new SDK method: CLEO_SkipUnusedVarArgs
  • new SDK method: CLEO_ReadParamsFormatted
  • new SDK method: CLEO_GetScriptVersion
  • new SDK method: CLEO_GetScriptInfoStr
  • new SDK method: CLEO_ResolvePath
  • new SDK method: CLEO_GetScriptDebugMode
  • new SDK method: CLEO_SetScriptDebugMode
  • new SDK method: CLEO_Log

CLEO internal

  • project migrated to VS 2022
  • configured game debugging settings
  • plugins moved into single solution
  • configured automatic releases on GitHub
  • added setup_env.bat script

Special Thanks

  • 123nir for the alpha-testing, troubleshooting and valuable bug reports