Blame | Last modification | View Log | Download
┌─────────────────┐│ ┌───────────────┼─┐│ │ ┌─────────────┼─┼───────┐│ │ │ ┌───────────┼─┼───────┼───────┐│ │ │ │ ┌─────────┼─┼───────┼───────┼──────┐│ │ │ │ │ ┌─...─┬─┼─┼───────┼───────┼──────┼───────────────────────────┐┌─┬┴┬┴┬┴┬┴┬┴┬┴┐ ┌┴┬┬┐ ┌─┬┐ ┌─┬┬─┬──────┬─┬─┬────┬─────────┬────────┬─────────┬────┐│0│2│4│6│8│A│C│...│X│X│X│...│X│X│...│X│X│X│Picture│0│0│Tree│MenuNames│Structure│FirstText│Text│└┬┴─┴─┴─┴─┴─┴┘ 1 └─┴┬┴┬┘ 2 └┬┴┬┘ 3 └┬┴┬┴┬┴──────┴┴┴──┬┴────────┴────┬────┴────────┴───┘└───────────┘ │ │ │ │ │ │ └────┼────┘ │ │ └─────┘ └─────────┼──────┘│ │ │ │ │ └──────┼──────┘ │ ││ │ │ └─...─┴────────┘ │ ││ └─...─┴─────────────────────────┘ │└──────────────────────────────────────────────────────────────┘Здесь в Tree главные меню нумируются отдельно начиная с 1, а все субменю тоже отдельно начиная с 1 (все субменю!).Но это нумерация не используется в процессе игры. В Structure нумеруются уже только действующие меню, субменю (еслиу главного меню есть субменю, то номер присваиваеся им, если только главное меню, то номери присваивается ему).Пример для Tree: Пример для Structure:┌────────────────┐ ┌──────────────────────────────┐│Главное меню 1 │ │Адрес названия главного меню 1│└───┬────────────┘ └───┬──────────────────────────┘┌─┴────────────┐ ┌─┴──────────────────────┐│Субменю 1 │ │Адрес названия субменю 1│└─┬────────────┘ └─┬──────────────────────┘: ┌─┴──────┐┌─┴────────────┐ │Номер 1 ││Субменю 5 │ └─┬──────┘└─┬────────────┘ ┌─┴────────────┐┌───┴────────────┐ │Адреса текстов││Главное меню 2 │ └─┬────────────┘└───┬────────────┘ :┌─┴────────────┐ ┌───┴──────────────────────────┐│Субменю 6 │ │Адрес названия главного меню 1│└─┬────────────┘ └───┬──────────────────────────┘: ┌─┴──────────────────────┐┌─┴────────────┐ │Адрес названия субменю 5││Субменю 12 │ └─┬──────────────────────┘└─┬────────────┘ ┌─┴──────┐┌───┴────────────┐ │Номер 5 ││Главное меню 3 │ └─┬──────┘└────────────────┘ ┌─┴────────────┐│Адреса текстов│└─┬────────────┘┌───┴──────────────────────────┐│Адрес названия главного меню 2│└───┬──────────────────────────┘┌─┴──────────────────────┐│Адрес названия субменю 6│└─┬──────────────────────┘┌─┴──────┐│Номер 6 │└─┬──────┘┌─┴────────────┐│Адреса текстов│└─┬────────────┘:┌───┴──────────────────────────┐│Адрес названия главного меню 2│└───┬──────────────────────────┘┌─┴───────────────────────┐│Адрес названия субменю 12│└─┬───────────────────────┘┌─┴──────┐│Номер 12│└─┬──────┘┌─┴────────────┐│Адреса текстов│└─┬────────────┘┌───┴──────────────────────────┐│Адрес названия главного меню 3│└───┬──────────────────────────┘┌─┴───────────────────────┐│FFFF │└─┬───────────────────────┘┌─┴──────┐│Номер 13│└─┬──────┘┌─┴────────────┐│Адреса текстов│└──────────────┘P.S. Адреса текстов это список адресов, которые показываются при следущем нажатии.1) Указывают на "Aдрес названия главного меню Х" в Structure2) Указывают на "Главное меню Х" в Tree3) Указывают на названия файлов рисунков в Picture------------------------------------------------------------------------------Структура разделов:Picture:Фоновые рисунки2 (integer) способ прорисовки рисунка0038 004E 00500938 094E 09500A38 0A4E 0A500B38 0B4E 0B50где первые две цифры:00 - прорисовывается сразу весь рисунок;09 - прорисовывается с эффектом "жалюзи";0A - прорисовывается одновременно сверху и снизу.0B - слева направодве вторые цифры:38 - это спрайт;03,50 и 4E - это фоновые рисунки, немного отличаются палитрой (4Епреобладает фиолетовый цвет)7 (string) название рисунка, если это фон5 (string) название рисунка, если это спрайтTree:2 (integer) Адрес названия главного меню #12 (integer) Адрес названия субменю меню #1:::2 (integer) Адрес названия субменю меню #n2 (integer) FFFF Конец:::2 (integer) Адрес названия главного меню #k2 (integer) Адрес названия субменю меню #1:::2 (integer) Адрес названия субменю меню #n2 (integer) FFFF КонецMenuNames:1 (byte) Порядковый номер главного меню #1n (string) Название главного меню #11 (byte) 0 Конец:::1 (byte) Порядковый номер главного меню #nn (string) Название главного меню #n1 (byte) 0 Конец1 (byte) Порядковый номер субменю #1n (string) Название субменю #11 (byte) 0 Конец:::1 (byte) Порядковый номер субменю #nn (string) Название субменю #n1 (byte) 0 КонецStructure:2 (integer) Адрес названия главного меню #12 (integer) Адрес названия субменю меню #12 (integer) Номер данного меню2*k (integer) Адреса текста:::2 (integer) Адрес названия главного меню #12 (integer) Адрес названия субменю меню #k2 (integer) Номер данного меню2*k (integer) Адреса текста:::2 (integer) Адрес названия главного меню #m2 (integer) Адрес названия субменю меню #k2 (integer) Номер данного меню2*k (integer) Адреса текстаFirstText:n (string) Текст4 (long) 0000 КонецText:n (string) Текст4 (long) 0000 Конец------------------------------------------------------------------------------В тексте исполбзуются следующие команды:01 - Очистка тестового окна после нажатия04 file - Загрузка сценария file (название OVL файла без расширения)06 X - Загрузка рисунка X07 X - Выбор музыки X08 - Ожидание нажатия любой клавиши09 - Ожидание нажатия любой клавиши и продолжение через строку0A - Перенос на следующую строку0B 01 X -0B 02 X Y -0B 03 X Y -0B 05 X Y - Присвоение локальной переменной X=Y0B 07 X Y Z -0B 08 X Y Z - Проверить ячейки X, Y, Z на истинность0B 09 X Y Z -0B 0A X - Продолжить если X истинно0B 14 X Y -0B 32 X Y Z - Перейти по адресу YZ если X исинно0B 33 X Y Z - Перейти по адресу YZ если X ложно0B 34 X Y Z - Перейти по адресу YZ0B 36 XY - Перейти по адресу XY0C 01 X Y -0C 02 X Y -0C 03 X Y - Присвоение глобальной переменной X=Y0F -10 -11 02 X Y Z -12 01 X - Отключить главное меню X12 02 X - Включить главное меню X12 04 X Y - Отключить в главном меню X субменю Y12 05 X Y - Включить в главном меню X субменю Y13 X - Вспышка длительностью X14 X - Пауза длительностью X