• MONSER DEATHMATCH | SAMP

Последние сообщения

CLEO

GTA: San Andreas CLEO 5.0.0-alpha.70

  • Автор Автор MODxPLUS 
  • Дата создания Дата создания
  • Избранное
Changelog:

  • поддержка модулей CLEO с функцией sannybuilder/dev#264

Новый аудио плагин:
  • Коды операций, связанные со звуком, перенесены из ядра CLEO в отдельный плагин
  • звук CLEO теперь подчиняется настройкам громкости игры.
  • реализован эффект Доплера для 3D аудиопотоков (быстро движущиеся источники звука)
  • звук CLEO теперь следует за изменениями скорости игры.
  • звуковое устройство теперь можно выбрать вручную в файле .ini.
  • новый код операции 2500 (is_audio_stream_playing)
  • новый код операции 2501 (get_audio_stream_duration)
  • новый код операции 2502 (get_audio_stream_speed)
  • новый код операции 2503 (set_audio_stream_speed)
  • новый код операции 2504 (set_audio_stream_volume_with_transition)
  • новый код операции 2505 (set_audio_stream_speed_with_transition)
  • новый код операции 2506 (set_audio_stream_source_size)
  • новый код операции 2507 (get_audio_stream_progress)
  • новый код операции 2508 (set_audio_stream_progress)
  • новый код операции 2509 (get_audio_stream_type)
  • новый код операции 250A (set_audio_stream_type)

Новый плагин DebugUtils:
  • новый код операции 00C3 (debug_on)
  • новый код операции 00C4 (debug_off)
  • новый код операции 2100 (точка останова)
  • новый код операции 2101 (трассировка)
  • новый код операции 2102 (log_to_file)
  • реализована поддержка кодов операций 0662, 0663 и 0664 (исходные коды операций отладки скриптов Rockstar. См. DebugUtils.ini)

Новый плагин FileSystemOperations:
  • запрещен скриптам доступ и изменение любых файлов за пределами корневого каталога игры или каталога настроек игры.
  • коды операций, связанные с файлами, перенесены из ядра CLEO в отдельный плагин
  • код операции 0A9E (write_to_file) теперь поддерживает литеральные числа и строки.
  • исправлена ошибка, из-за которой коды операций файлового потока работали неправильно при использовании режимов чтения-записи.
  • исправлено переполнение буфера в кодах операций чтения файлового потока
  • добавлена/исправлена поддержка всех кодов операций файлового потока в устаревшем режиме (Cleo3)
  • новый код операции 2300 (get_file_position)
  • новый код операции 2301 (read_block_from_file)
  • новый код операции 2302 (write_block_to_file)
  • новый код операции 2303 (resolve_filepath)
  • новый код операции 2304 (get_script_filename)

Новый math плагин:
  • коды операций, связанные с математикой, перенесены из ядра CLEO в отдельный плагин
  • новый код операции 2700 (is_bit_set)
  • новый код операции 2701 (set_bit)
  • новый код операции 2702 (clear_bit)
  • новый код операции 2703 (toggle_bit)
  • новый код операции 2704 (is_truthy)

Новый плагин MemoryOperations:
  • коды операций, связанные с памятью, перенесены из ядра CLEO в отдельный плагин
  • проверка входных и выходных параметров для всех кодов операций
  • код операции 0A8C (write_memory) теперь поддерживает строки
  • новый код операции 2400 (copy_memory)
  • новый код операции 2401 (read_memory_with_offset)
  • новый код операции 2402 (write_memory_with_offset)
  • новый код операции 2403 (forget_memory)
  • новый код операции 2404 (get_script_struct_just_created)
  • новый код операции 2405 (is_script_running)
  • новый код операции 2406 (get_script_struct_from_filename)
  • новый код операции 2407 (is_memory_equal)
  • новый код операции 2408 (terminate_script)

Новый text плагин:
  • текстовые коды операций перенесены из ядра CLEO в отдельный плагин
  • новый код операции 2600 (is_text_empty)
  • новый код операции 2601 (is_text_equal)
  • новый код операции 2602 (is_text_in_text)
  • новый код операции 2603 (is_text_prefix)
  • новый код операции 2604 (is_text_suffix)
  • новый код операции 2605 (display_text_formatted)
  • новый код операции 2606 (load_fxt)
  • новый код операции 2607 (unload_fxt)
  • новый код операции 2608 (get_text_length)

Новое и обновленные опкоды:
  • реализована поддержка аргументов строки указателя памяти для всех собственных кодов операций игры.
  • 0B1E (sign_extend)
  • 0DD5 (get_game_platform)
  • 2000 (get_cleo_arg_count)
  • 2002 (cleo_return_with)
  • 2003 (cleo_return_fail)
  • параметр «количество аргументов» 0AB1 (cleo_call) теперь является необязательным. cleo_call @LABEL args 0 можно записать как cleo_call @LABEL
  • Параметр «количество аргументов» 0AB2 (cleo_return) теперь является необязательным. cleo_return 0 можно записать как cleo_return
  • функции SCM могут возвращать строковые литералы и строковые переменные.
  • функции SCM (0AB1) теперь сохраняют собственный стек вызовов GOSUB.
  • исправлена ошибка в 0AD4 (scan_string), приводившая к переполнению данных при чтении строк длиннее целевой переменной
  • фиксированный регистр результата не очищался перед вызовом функции в кодах операций 0AA7 и 0AA8
  • исправлена ошибка 0ABA (terminate_all_custom_scripts_with_this_name), завершающая только первый найденный скрипт
Изменено в файлах операций:
  • пути к файлам теперь могут использовать «виртуальные абсолютные пути». Используйте префикс в строках пути к файлу для доступа к предопределенным местам:
  • Код:
    root:\
    для корневого каталога игры
  • Код:
    user:\
    для каталога файлов сохранения игры
  • Код:
    .\
    для этого каталога файлов сценария
  • Код:
    cleo:\
    для каталога CLEO
  • Код:
    modules:\
    для каталога CLEO\cleo_modules
  • переписан код операции 0A99 (set_current_directory). Теперь это больше не влияет на внутреннее состояние игры или текущий каталог в других скриптах.
Улучшенная обработка ошибок:
  • более подробные сообщения об ошибках в нескольких сценариях
  • некоторые ошибки теперь приводят к приостановке выполнения скрипта, а не к сбою игры

Обновлено, включая загрузчик Silent ASI Loader до версии 1.3.




Bug Fixes:
  • исправлена ошибка в 004E (terminate_this_script), позволяющая запускать несколько миссий
  • исправлена обработка строк длиной более 128 символов, приводившая в некоторых случаях к ошибкам
  • исправлена ошибка обработки первого строкового аргумента в 0AF5 (write_string to_ini_file)
  • фиксированное соотношение сторон текста CLEO в главном меню, зависящее от разрешения
  • исправлена очистка местных жителей миссии при запуске новой миссии CLEO
  • при чтении менее 4 байтов с помощью 0A9D (файл чтения) теперь оставшиеся байты целевой переменной обнуляются
  • исправлено недопустимое ограничение длины в 7 символов, равное 0AAA (get_script_struct_named)

Changelog​

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
  • fixed invalid 7 characters length limit of 0AAA (get_script_struct_named)

SDK AND PLUGINS​

  • now all opcodes in range 0-7FFF can be registered by plugins
  • plugins moved to cleo\cleo_plugins directory
  • new SDK methods:
    • CLEO_RegisterCommand
    • CLEO_RegisterCallback
    • CLEO_GetVarArgCount
    • CLEO_PeekIntOpcodeParam
    • CLEO_PeekFloatOpcodeParam
    • CLEO_PeekPointerToScriptVariable
    • CLEO_SkipUnusedVarArgs
    • CLEO_ReadParamsFormatted
    • CLEO_ReadStringParamWriteBuffer
    • CLEO_GetOpcodeParamsArray
    • CLEO_GetParamsHandledCount
    • CLEO_IsScriptRunning
    • CLEO_TerminateScript
    • CLEO_GetScriptVersion
    • CLEO_GetScriptInfoStr
    • CLEO_GetScriptFilename
    • CLEO_GetScriptWorkDir
    • CLEO_SetScriptWorkDir
    • CLEO_ResolvePath
    • CLEO_ListDirectory
    • CLEO_ListDirectoryFree
    • CLEO_GetScriptByName
    • CLEO_GetScriptByFilename
    • CLEO_GetScriptDebugMode
    • CLEO_SetScriptDebugMode
    • CLEO_Log

CLEO internal​

  • introduced unit test scripts
  • 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
Назад
Сверху