Morendil, не в обиду, но это все устарело.
добавлено Beowulf - 21.10.13 - 18:17Цитата: (Nod @ 14.12.08 - 00:09)
Отредактировал пост, убрал всю неверную и ненужную информацию.
У меня получилось нормально перевести меню, есть кое-какие проблемы, но они решаемы.
Спойлер! Чтобы прочитать скрытый текст, щелкните мышкой.
А теперь описание меню.
Вот меню:
//Строка с заголовком меню
<0x09><0x60>MENU OPTIONS<0x0D><0x00>
//Строка с управляющими символами меню
BGSRE<0x00>
//Координаты строк меню
<0xB5><0x70><0xC5><0x70><0xD5><0x70><0xEC><0x70><0xF8><0x70><0x00><0x00>
//Строки с текстом пунктов меню
<0x09><0xC0>B<0x09><0xD4>uy Drinks<0x0D><0x00>
<0x09><0xC0>G<0x09><0xD4>et a Room<0x0D><0x00>
<0x09><0xC0>S<0x09><0xD4>neak into a Room<0x0D><0x00>
<0x09><0xC0>R<0x09><0xD4>umors<0x0D><0x00>
<0x09><0xC0>E<0x09><0xD4>xit<0x0D><0x00>
Описание:
1.Строки с заголовком меню и текстом пунктов меню
<0x09><0xXX> - первый байт указывает, что дальней текст нужно выводить цветом указанным во втором байте
<0x0D> - на конце строки указывает, что надпись должна быть выровнена по центру
2.Строка с управляющими символами меню
Управляющие символы, которые активируют соответсвенные пункты меню
(Здесь-то и проблема, в меню бывают одинаковые первые символы, а управляющие символы не должны повторяться)
3.Координаты строк меню
Относительный адреса строк меню в памяти (пример, <0xB5><0x70>)
Второй байт в принципе не нужен, главное - правильно выставить первый байт, чтобы указывал на начало строки меню.
Вопрос по управляющим символам возник. Как сделать их рабочими.
Возьмем простейшее меню Да/Нет. В оригинале управляющие символы YN. В данном меню, конечно, можно оставить и эти управляющие символы, ибо тут не нужно особой смекалки, что бы понять где Yes/No. Но есть более развернутые меню, а там уже так угадываться не получиться.
Какие варианты я вижу (начну от простого):
1. Оставлять в строке с управляющими символами все без изменений, а в строки меню вносить символы из управляющей строки в скобочках. Но это не очень красиво, ибо получить что-то типа "Купить выпивку (B)" или "(B)Купить выпивку". Да и место на такое не хватит.
2. Подбирать в управляющие символы буквы, оглядываясь на кодировку. Т.е. для меню Да/Нет в строку с управляющими символами нужно ввести "LY".
Вот очень сильно интересует, будет ли работать второй вариант?
Сообщение отредактировал Beowulf - 21.10.13 - 18:30