You are not logged in.
Здрасте почему нельзя декомпилировать сам файл .scm без папки с игрой ?
Offline
Это происходит, если ЭССИЭМ обращается в внешним скриптам, что хранятся в Скрипт.ИМГ.
Offline
@konoplyanka - SB использует игровые файлы при декомпиляции. В частности, файл с именами моделей (.ide) и файлы игровых текстов (.gxt).
Offline
@SHooZ - Добавьте эти слова в keywords.ini, если хотите, чтобы они подсвечивались. Это не баг.
Offline
@SHooZ - так было сделано по аналогии с Delphi. В ней тоже эти ключевые слова не подсвечиваются
Offline
@SHooZ - в качестве обоснования можно привести то, что в файле keywords.ini указаны только конструкции языка программирования, как то: условия, циклы, блоки объявления переменных, предопределенные константы. Break и Continue являются по своей сути командами - переходами на скрытую метку. Им соответствует определенный опкод - 0002, в то время как другим словам из файла keywords.ini опкод не соответствует. Поэтому они скорее ближе к обычным кейвордам, вроде wait или jf. Если подсвечивать их, то надо подсвечивать вообще все опкоды.
Offline
Пардон. Я извиняюсь за небольшой оффтоп:blush:
Seemann ты бы обновил *.asi SCM Log он теперь есть общий для всей 3-й серии (III, VC, SA) SCRLog http://www.gtagarage.com/mods/show.php?id=23846
Last edited by Portal25 (18-07-2013 20:47)
Offline
@Seemann - @Seemann - хотелось бы сообщить о небольшой проблеме, которая, впрочем, неприятная. Дело в том, что при поиске опкодов немногие из них не до конца написаны, например:
0B01: delete_directory
Совершенно без параметров, хотя их должно быть два.
Хотел бы ещё попросить даже, а не сообщить, убрать отображение содержания GXT записей в опкодах: это иногда мешает. Здорово было бы сделать отображение таких записей в виде подсказок при нажатии Ctrl+Пробел, если это возможно.
Как идея как можно больше опкодов (можно, например, только CLEO) в виде классов, как actor., к примеру. Было бы очень удобно, к тому же похоже на GTA IV (C#). Но это по усмотрению, конечно.
Также хотел спросить, с чем связано то, что cleo текст (0ACA и подобные) отображают текст лишь заглавными буквам, несмотря на то, как написан текст в программе? У меня стоит русификатор от SanLtd, он поддерживает как заглавные, так и строчные английские/русские символы.
Заранее спасибо за ответы и помощь!
Offline
Также хотел спросить, с чем связано то, что cleo текст (0ACA и подобные) отображают текст лишь заглавными буквам, несмотря на то, как написан текст в программе?
Сервис - Настройки - Форматирование - Регистр букв - Как есть
Last edited by Den_spb (23-07-2013 22:31)
Offline
@Vital - поправил (в базе GTAG была ошибка). Какие еще опкоды встречаются без параметров, чтобы я к следующему релизу исправил?
Offline
@Seemann - сейчас перебрал все опкоды из opcodes.txt в SB, вот результаты:
00F1: actor $PLAYER_ACTOR sphere 0 near_point 540.0 2000.0 stopped_in_car 072D: unknown_check %1d% %2d% %3d% %4d% %5d% %6h% 072E: unknown_check %1d% %2d% %3d% %4d% %5d% %6h% %7d% %8d% 0AF5: write_string "new string value" to_ini_file "cleo\config.ini" section "SectionName (незавершённая строка)
Вот всё, что я нашёл. Хорошо, что всё опкоды есть в файле .txt, иначе пришлось бы по одному копировать в SB
@Den_spb - спасибо за совет, помогло.
А что насчёт отображения GXT записей в тексте опкодов? Они идут как комментарий, при этом иногда мешая восприятию, впрочем, это далеко не первостепенная проблема.
Offline
@Vital - насчет GXT, я сделаю это через debug-опцию.
Offline
Offline
@Vital - пока как временное решение могу предложить удалять .gxt-файл перед декомпиляцией
Offline
@Seemann - я никуда не спешу с этим, к тому же я имею в виду те опкоды, которые уже имеют в своём тексте отображение записей. К примеру, после 03Е5 следует стандартный текст про то, как игрок может поднять уровень уважения. То есть, когда-то эта идея начала работать, и содержимое текста записалось в opcodes.txt, что порой неприятно при переходе на другую строку, приходится жать End, только потом Enter. Но это, конечно, так, придирка больше, нежели что-то серьёзное, описание опкодов можно и подредактировать, как я и сделал, но при каждом обновлении эти комментарии будут возвращаться. Но это, как я уже сказал, в последнюю очередь, лучше обратить внимание на что-то более стоящее и важное пока что.
Offline
Так суть запроса сводится к убиранию комментариев из некоторых опкодов в файле opcodes.txt?
Offline
@Seemann - я бы сказал, что и к тому, и к другому, так как декомпиляция всё же иногда необходима, так что выбор в debug-настройках будет полезен.
Кстати, неужели невозможно сделать компиляцию таким образом, чтобы высокоуровневые конструкции и циклы всё-таки сохранялись, или это уже особенности внутри игры/программы? Немалое количество людей на форумах разных сайтов просят помощи со скриптами, исходников которых у них нету, потому людям приходится иметь дело с декомпилированным вариантом, который не так удобен для восприятия.
В общем, всё на усмотрение, ни к чему не хочу принуждать, а то, если учитывать все просьбы, даже малейшие, улучшение программы растянулось бы на века.
Offline
@Vital - сохранение исходника в теле скрипта будет в ближайших версиях реализовано.
Offline
Offline
@НикИТОС - будет управляться опцией "Добавлять доп. информацию в SCM"
Offline
Они идут как комментарий, при этом иногда мешая восприятию
Почему, я бы сказал наоборот - помогают и очень был бы рад, если комментарии ещё к FXT-записям выводились.
@Seemann Как на счёт идеи с конструкцией switch? Есть ли шансы надеяться на это?
Offline
Может тогда уж сразу сделать компиляцию в zip-архив? Обеспечить возможность подключения ресурсов, всяких пользовательских текстов итп. Само собой это применимо только на пользовательские скрипты и разработка должна быть совместной с CLEO-разработкой. В самом билдере это дело сразу организовать в виде некого дерева-проекта.
Offline