исправлен баг с метками, отсутствующими в дизассемблированных CLEO скриптах #99
обновлен перевод на украинский язык
обновлен плагин CLEO+ до версии 1.0.4
обновлены описания и ключевые слова для CLEO опкодов #95
небольшие изменения и исправления (см. полный список)
👏 Спасибо wmysterio и XMDS за их вклад в это обновление.
поддержка перечисляемых типов в классах
начальная поддержка расширений
улучшена интеграция с библиотекой CLEO:
обновлены пакеты в папке tools
:
CLEO v4.4
SCRLog v2020.2
добавлен плагин CLEO+ для GTA SA с 250+ новыми опкодами
скомпилированные скрипты для CLEO Android (*.csa
, *.csi
) теперь распознаются
компилятор использует CLEO опкоды 0A9E
, 0A9F
, 0A90
, 0A91
в определенных выражениях без опкода
унифицированы описания и кейворды для CLEO опкодов среди различных режимов редактирования
добавлены кейворды для всех опкодов в режиме GTA SA SCR
слово thread было заменено на script в описаниях опкодов и кейвордах (см. почему)
обновления IDE:
директория игры теперь не является обязательной для запуска компиляции (#48)
папка для "Компилировать и сделать копию" теперь конфигурируется (#9)
обновлены переводы на испанский и итальянский языки
добавлена возможность ассоциировать Sanny Builder с расширениями *.csa
и *.csi
(скрипты для CLEO Android).
Полный список изменений и исправлений
👏 Спасибо MatiDragon и Wesser за обновленные переводы.
исправлен баг с компиляцией скриптов LCS и VCS (#56)
массивы в LCS and VCS теперь получают собственные имена из файлов CustomVariables.ini
и CustomArrays.ini
(#53)
👏 Спасибо darkdraggy за обнаружение первого бага и помощь в тестировании.
изменения в интерфейсе командной строки
Unix-подобный синтаксис с дефисами (#42)
улучшения режимов редактирования
games.xml
переименован в modes.xml
, обновлена внутренняя структура
режимы могут наследовать свойства других режимов (полезно для поддержки различных версий одной игры)
новый режим для SA v2.0 (использует CustomLabels_v2.ini
)
раздельные режимы для VCS PSP и VCS PS2 (#41)
поддержка собственных IDE/DAT файлов
"горячая" перезагрузка режимов редактирования (#15)
увеличено пространство для имени режима в углу экрана (#8)
обновлены описания опкодов LCS/VCS*
убран конвертер синтаксиса SAMB в SB (#27)
исправлена привязка файловых расширений к Sanny Builder (#43)
исправлена проблема, при которой окно Opcode Search Tool было недоступно после сворачивания (#35)
Новые описания опкодов для GTA LCS и GTA VCS несовместимы с предыдущими версиями. Вы должны заново дизассемблировать main.scm
этих игр прежде чем делать какие-то изменения.
👏 Спасибо marcelo_20xx и fastman92 за их вклад в этот релиз.
исправлено неверное количество параметров у опкода 04E3
в VCSSCM.INI
исправлена проблема в дизассемблере, которая приводила к игнорированию опции "Писать опкоды" и генерации невалидного кода
добавлена поддержка компиляции SCM
в GTA: Vice City Stories (#2)
добавлен упрощенный синтаксис для вызова подпрограмм, используя имя метки: если после имени метки стоит ()
это представляет командуgosub
больше конфигураций для режимов редактирования:
путь к GXT
файлу, который использует дизассемблер (#7)
путь к opcodes.txt
(#5)
эксклюзивные шаблоны кода
добавлен новый туториал о высокоуровневых конструкциях в языке Sanny Builder (на английском), лежит в папке help\examples
обновления IDE:
Запуск San Andreas
из меню теперь проверяет наличие файла gta-sa.exe
(Steam)
новый пункт меню для быстрого создания CLEO скрипта (см. примечание внизу статьи Шаблоны кода)
ссылки на новый портал с документацией в меню и сообщениях об ошибках
небольшие изменения:
обновлены определения некоторых опкодов (player money += в SA, award_achievement в SA Mobile, 0479
в VCS)
в файле CustomVariables.ini
для GTA III переменные script_controlled_player
и flag_player_on_mission
переименованы в PLAYER_ACTOR
и ONMISSION
соответственно (#3)
возвращена старая версия файлов в папке help\GXT Strings
(#25)
файл macroes.txt
переименован templates.txt
👏 Спасибо OrionSR, ZAZ, China·XMDS, и Wesser за их вклад в этот релиз.
исправлен баг, вызывавший неправильную компиляцию внешних скриптов
исправлен опкод 059C
в режиме Vice City
исправлен баг #0048
добавлен файл constants.txt,
который отсутствовал для режима GTA SA
добавлена поддержка для компиляции SCM
Liberty City Stories
добавлены алиасы для переменных-таймеров: TIMERA and TIMERB
опция Проверка переменных теперь применяется и к глобальным переменным
исправлен дефект предыдущей версии, когда CHM справка не открывалась
обновлены описания опкодов для GTA 3 и Vice City
в IDE добавлена поддержка CLEO 2.0 для III и VC
улучшена поддержка версии GTA San Andreas для WinStore, Xbox 360 и PS3
исправлена ошибка с неправильной декомпиляцией опкодов 09A4
и 0A18
в режиме SA_Mobile
добавлен перевод на корейский язык (спасибо MINE)
улучшена работа конструкции HEX..END
исправлен баг #0000028
добавлен перевод на индонезийский язык (спасибо IMasterFX)
обновлены CLEO для GTA III и CLEO для Vice City (спасибо Silent)
добавление собственных режимов редактирования возможно путем изменения файла games.xml
новый режим редактирования GTA SA SCR
переменные могут быть объявлены при помощи указания типа перед именем переменной
CLEO обновлена до версии 4.3.16
добавлен моментальный поиск в тексте (ранее эта возможность называлась "переход к метке")
оригинальные названия миссий могут быть изменены через файл missions.txt
улучшена ассоциация расширений скриптовых файлов с Sanny Builder
при указании директории игры Sanny Builder проверяет только существование этой директории и не проверяет наличие дополнительных файлов в ней
небольшие улучшения в функции проверки обновлений
изменена иконка Sanny Builder и иконки в меню
исправлен баг #0000024
CLEO обновлена до версии 4.3.14
исправлены некоторые ошибки в интерфейсе на высоких разрешениях экрана
обновлены переводы на немецкий, польский, китайский, украинский языки
добавлена поддержка iOS и Android версий GTA: San Andreas
значение глубины просмотра теперь используется при построении списка констант
обновлены переводы на китайский и немецкий языки
добавлен перевод на чешкий язык
добавлены опции ассоциации файлов .cs
и .cm
с Sanny Builder.
добавлена новая директива $OPCODE для регистрации нового опкода через скрипт
скорректировано поведение директивы $INCLUDE при поиске файла
в VCSCM.ini
добавлены опкоды из мобильной версии GTA VC и отмечены неподдерживаемые опкоды
при включенной опции Добавлять доп. информацию в SCM, Sanny Builder запоминает игру, для которой был скомпилирован скрипт, чтобы включить нужный режим редактирования при декомпиляции
добавлена новая директива $NOSOURCE, чтобы запретить добавление исходного кода в тело скрипта
некоторые горячие клавиши могут быть изменены в опциях
добавлена возможность автоматически проверять наличие обновления при запуске программы
директивы $VERSION и $VERSION_RESTORE устарели (компилируются, но не имеют эффекта)
обновлены перевод на испанский и китайский языки
Менеджер координат может изменять угол поворота игрока в GTA VC
в комплектацию Sanny Builder добавлен CLEO плагин SCRLog от LINK/2012 (можно найти в папке tools)
в Sanny Builder добавлено лицензионное соглашение вида Freeware/Donationware
добавлена возможность сообщать о найденных багах в официальный баг-трекер
добавлена возможность проверять наличие обновления для Sanny Builder
Менеджер координат теперь поддерживает все известные версии GTA3, VC и SA (спасибо Silent)
добавлена обновленная версия перевода на китайский язык
небольшие изменения дизайна
добавлен Silent's ASI Loader v1.1 для CLEO 3 и CLEO 4
добавлен перевод на китайский язык
добавлены классы File
и Audiostream
для обратной совместимости с CLEO 4 от Alien
File.Open
, Audiostream.Load
, Audiostream.Load3D
были методами в CLEO 4. Теперь они свойства. Это означает, что если вы получаете ошибку при компиляции старых скриптов, где использовались эти команды, измените их синтаксис следующим образом:
переменная = File.Open(имя_файла, режим_открытия)переменная = Audiostream.Load(имя_файла)переменная = Audiostream.Load3D(имя_файла)
компилятор теперь может принимать строковую константу в качестве параметра в свойстве класса
Существует ограничение на использование пробелов в таком параметре.
компилятор больше не компилирует строки без начальной кавычки, например text1"text2"
или text1'text2'
компилятор может компилировать символы комментария внутри строки "{text1}text2"
точка с запятой ;
больше не может использоваться для закомментирования строки
изменен синтаксис параметра \debug
добавлены иконки флагов для доступных языков перевода в опциях
исправлены некоторые ошибки в декомпиляции для VCS
добавлены новые операторы ++ и --
добавлена поддержка блочных комментариев /* */
SASCM.INI
обновлен при помощи базы GTAG
свойства Actor.Armour
и Actor.Car
заменены на корректные версии Actor.AddArmour
, Actor.MissionCar
добавлено новое свойство Actor.CurrentCar
для опкода 03C0
в скриптовых классах для игр SA и VC
добавлены новые комбинации клавиш Ctrl+Num+
и Ctrl+Num-
для быстрого изменения размера шрифта в редакторе
Sanny Builder запоминает число закрытых файлов для опции Открывать все закрытые файлы
исправлена ошибка при компиляции скрипта с большим числом вставок HEX..END
исправлена ошибка версии 3.05, когда программа зависала при запуске, пытаясь открыть файл, переданный в качестве параметра
добавлены новые языки перевода (финский, польский, венгерский, украинский, турецкий)
библиотека CLEO обновлена до версии 4.1.1.30f (CLEO 4 от Alien)
добавлена возможность установить CLEO для GTA III и для Vice City (автор - Alien)
файлы опкодов (**SCM.ini, opcodes.txt) замененены на файлы из комплекта CLEO 4.
добавлен новый параметр запуска программы \nosplash
в редактор кода добавлены возможности конвертации чисел из 16-чной системы счисления в 10-чную и наоборот (Ctrl+H
), а также конвертировать имя модели в ID и обратно (Ctrl+Alt+H
)
убрано сообщение о невозможности изменить script.img
при компиляции CLEO-скриптов
отчет о компиляции показывает размер CLEO-скрипта (пункт Largest Script
)
исправлена ошибка при компиляции массива с числовыми индексами
инсталлятор не требует прав администратора
предыдущая версия CLEO была с ошибкой
мелкие исправления (положение панели инструментов теперь сохраняется)
новая версия CLEO
панель инструментов можно передвигать
при компиляции файла с директивой $CLEO
нажатием F6
файл создается в той же папке, нажатием F7
дополнительно создается копия в папке CLEO (по аналогии с компиляцией main.scm
)
новый язык перевода - итальянский, португальский
обновление, исправляющее некоторые ошибки
интегрирована библиотека CLEO 3
возможность декомпиляции main.scm
Vice City Stories
поддержка констант
запись дополнительной информации в конец main.scm
задание собственных массивов при декомпиляции
возможность декомпилировать файлы main.scm
без заголовка
можно использовать внешний скрипт с именем AAA
новый параметр командной строки \compile
в цикле FOR можно использовать дробные значения счетчика
команды WriteMem
и ReadMem
больше не поддерживаются
поддержка поиска по тексту с использованием регулярных выражений
возможность сохранять исходник в формат RTF или HTML
возможность пропускать заставки при запуске San Andreas
новая комбинация клавиш: Ctrl+Enter
обновленный SASCM.INI
справлена ошибка с пропаданием части кода при декомпиляции в режиме отладки внутри конструкции HEX..END
к цикле FOR можно использовать имена моделей в качестве значений счетчика
убран Memory Hacker (он стал отдельной программой)
исправлена одна ошибка в декомпиляторе
добавлен плагин Memory Hacker
возможность декомпиляции main.scm Liberty City Stories
поддержка числовых констант в качестве индекса глобального массива
при декомпиляции переменные заменяются на тип ADMA, если не делятся на 4
при компиляции при отсутствии заголовка выставляются значения по умолчанию
возможность открывать файлы в редакторе методом Drag&Drop
новые препроцессорные директивы: {$VERSION}, {$VERSION_RESTORE}
Если при компиляции вы получаете сообщение об ошибке в заголовке (Неизвестная команда DEFINE OBJECTS
) переместите строку {$VERSION xxxx}
в любое место после заголовка, например перед комментарием //-------------MAIN---------------
добавлены две новые команды WriteMem и ReadMem
поддержка чисел в шестнадцатиричном формате
конструкция HEX..END может принимать значения меток и глобальных переменных
поддержка типа данных & для массивов, а также в выражениях без опкодов: &57 += &120(&231,4i)
возможность давать собственные имена меткам
возможность выбирать регистр букв для собственных имен меток и переменных, а также стринговых переменных
добавлена консоль для специальных опций SB
поддержка GXT
файлов GTA III, GTA VC
поддержка символьных констант в длинных строках
информация об авторе и версии INI файла
поддержка классами INI
с оригинальным порядком следования параметров (как SASCM.INI от PLPynton)
опция подтверждения выхода
возможность быстро переключать режим редактирования
конвертация отдельного, выделенного участка кода
возможность передавать во внешнее приложение в качестве параметра имя текущего открытого файла
исправлены некоторые ошибки в конфигурационных файлах
убрана автоматическая конвертация числа в тип Float
, если переменная была объявлена как Float
, а в нее записывалось целое число. Теперь опкод выбирается только в зависимости от типа числа
чтение/изменение Z_angle игрока в Coord Manager; возможность вставки значения угла в скрипт нажатием Ctrl+Shift+E
(для SA)
Sanny Builder полностью русифицирован
добавлено меню внешних приложений
в SB встроена специальная версия Opcode Search Tool
проверка математических выражений при декомпиляции с выключенной опцией Писать опкоды
возможность выбирать IMG
файл самостоятельно, если таковой не найден в папке с main.scm
(опция Ручной выбор IMG-файла)
возможность добавлять новые фрагменты кода прямо из редактора; добавлены описания макросов
список моделей можно сортировать по алфавиту/по значению (Alt+S
, когда активен список)
минорные исправления и изменения
новый тип данных: &
минорные изменения
расширена опция прохода по меткам
добавлена возможность вызвать список фрагментов кода
добавлена опция замены номеров миссий на их имена
исправлены некоторые ошибки
новые модели автоматически добавляются в список DEFINE OBJECTS
(этот список можно вообще не использовать)
добавлены блочные комментарии: {}
добавлена запись макросов
минорные исправления и добавления
добавлены дополнительные команды
добавлен оператор IN
добавлена конструкция IF..THEN..ELSE..END
добавлены циклы WHILE
, REPEAT
; добавлена возможность использования вложенных циклов
добавлена команда ALLOC
новый стиль комментариев: //
позиции маркеров и курсора запоминаются для закрытых файлов
добавлена поддержка форматов Vice City и GTA3
добавлена возможность объявления переменных и массивов как экземпляров класса
добавлен показ списка переменных и меток
добавлена поддержка циклов ( оператор FOR )
миссии можно запускать по их имени (start_mission MYMISSION
), где MYMISSION
- это имя стартовой метки (DEFINE MISSION 100 at @MYMISSION
)
доступен список импортируемых моделей (DEFINE OBJECTS
) по Ctrl+пробел
новый оператор <>
если при декомпиляции не найден script.img
, используется оригинальный файл
для массивов добавлен тип handle
возможность отключения предупреждения об использовании IMG
игрой
добавлена поддержка свойств классов
добавлена поддержка фрагментов кода
добавлена конструкция VAR..END для эффективного управления переменными
описаны все возможные математические опкоды: 0004..008B
новые операторы <
и <=
добавлена возможность автоподбора необходимого значения для оператора IF
добавлена поддержка текстовых названий параметров
добавлен показ списка моделей
минорные добавления и исправления
добавлена поддержка классов
добавлена поддержка ключевых слов
добавлена возможность писать некоторые математические команды без опкодов
для опкода 00D6
по умолчанию устанавливается параметр 0
, если иное не установлено (if
= if 0
)
добавлена опция выбора различных видов меток
добавлены константы True
и False
, которые обозначают 1
и 0
соответственно
добавлена конструкция HEX..END для записи шестнадцатиричных значений прямо в SCM
добавлен Coord Manager
исправлены некоторые ошибки
новый формат меток
добавлен конвертор из синтаксиса BW's SA Mission Builder
при декомпиляции в исходник добавляются названия моделей и содержимое american.gxt
добавлены новые опции
пофиксены некоторые ошибки
добавлена возможность ассоциировать SCM
файлы с программой
теперь при декомпиляции имя выходного файла изменяется, если такой файл уже существует (например, если уже существует main.scm.txt
, то имя нового файла будет main.scm[0].txt
)
сообщения об ошибках стали более информативными
добавлена проверка на дублирование меток
пофиксены некоторые ошибки
увеличено число опций для работы с текстом
добавлена возможность работать с несколькими файлами одновременно
добавлена функция поиска опкодов через F1
(beta)
полная декомпиляция SCM
файлов San Andreas
компиляция скриптов в SCM
файл (SA) и IMG
файл
доступны минимальные опции работы с текстом