Перейти к содержанию
GPS навигатор СитиГИД

FAQ по редактированию LangPack-ов


Рекомендуемые сообщения

Раз начали меряться "кто что знает", то еще один хинт - в ТоталКоммандере есть групповое переименование.

Тоже классная весчь. Например, чтоб не портить штатные картинки, а сделать копии со своим именем - копируем их в отдельную папку, потом выделяем и нажимаем Ctrl+M.

В итоге можно например к именам всех файлов в начале приписать некий текст, т.е. сделать типа ish_menu.bmp, ish_navpanel_ico_dpoi.bmp и т.д.

Или наоборот в конце, вместо _day вставить _night, получив картинки для ночного режима (и уже править их).

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 1.7т
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Популярные посты

Во исполнение идеи, кинутой PsevDANImом, закладываю первый камень в фундамент FAQа. Предлагаю в этой теме обсуждений/споров не вести. Если знаете полезную информацию - размещайте (желательно в форма

В рубрике "уроки самопальщика" или "сделай сам себе лангпак" рассмотрим, как немного доработать чужой скин на примере конкретной задачи. Задача - добавить кнопку "скриншот" на основной экран в скин

Как изменить цвет и ширину дорог? Как изменить цвет и размер дельтаплана? Как изменить цвет и ширину линии маршрута? Никак. То есть, лангпаком - никак. Цвета дорог и маршрутной линии можно

Изображения в теме

ЗЫ - а щас еще /DiOs проснется, и скажет, что только FAR, только хардкор. :D

1. Что за наезды -- проснётся в 11 часов дня?!

2. Хардкор -- это CLI. FAR -- паллиатив.

Ссылка на сообщение
Поделиться на другие сайты
1. Что за наезды -- проснётся в 11 часов дня?!

-...зевнул /DiOs в 12:40...

:D

Знаюзнаю. ГадЪ

Ссылка на сообщение
Поделиться на другие сайты

Раз начали меряться "кто что знает", то еще один хинт - в ТоталКоммандере есть групповое переименование.

Тоже классная весчь. Например, чтоб не портить штатные картинки, а сделать копии со своим именем - копируем их в отдельную папку, потом выделяем и нажимаем Ctrl+M.

В итоге можно например к именам всех файлов в начале приписать некий текст, т.е. сделать типа ish_menu.bmp, ish_navpanel_ico_dpoi.bmp и т.д.

Или наоборот в конце, вместо _day вставить _night, получив картинки для ночного режима (и уже править их).

Сколько пользовался тоталом - но это тоже в копилку знаний. Век живи - век учись

Ссылка на сообщение
Поделиться на другие сайты

Почистил, нашёл несколько ошибок и продолжил рихтовку. Не исключено теперь, что будет работать также и на других разрешениях. Ссылка та же. Перекачивайте.

А как можно затемнить (как в Вашем меню) кнопки "мое меню", "события", "масштаб" и другие, но только для дневного скина?

Ссылка на сообщение
Поделиться на другие сайты

А как можно затемнить (как в Вашем меню) кнопки "мое меню", "события", "масштаб" и другие, но только для дневного скина?

Давайте перейдём в соответствующую тему.

Ссылка на сообщение
Поделиться на другие сайты

Ну, а вообще вопрос "как сделать элемент разным в дневном и ночном режиме" описан в самом первом посте этой же темы - там пример с картинками

compas_d, compas_n и "виртуальной" палитрозависимой картинкой compas, которая на самом деле она из вышеупомянутых.

Ссылка на сообщение
Поделиться на другие сайты

Давайте перейдём в соответствующую тему.

Не знал про эту тему. Буду теперь там изучать

Ссылка на сообщение
Поделиться на другие сайты
Знатоки, подскажите, как убрать эту надпись?

1.thumb.jpg.037f9b23cf5aea888c97f92e2ea58b7e.jpg

Это же номер трассы. Он разве не в карту вшит?

Ссылка на сообщение
Поделиться на другие сайты

Он однозначно в карте. И однозначно лангпаком его не убрать.

Я покопался в ресурснике, где задано, какими цветами и шириной рисовать разные дороги (и теоретически данная фишка если бы была, то скорее всего там), но навскидку ничего интуитивно похожего на этот маркер не нашел. Похоже, что не убрать. Справедливости ради - Вы первый, кому оно мешает :)

Ссылка на сообщение
Поделиться на другие сайты

)) часто езжу по трассе, зачем мне в трех местах упоминание о номере трассы... вот и захотелось сократить.

Ссылка на сообщение
Поделиться на другие сайты

И вот мы снова в рубрике "уроки начинающего СИНОПСИСа (©Erik956)" :D

Рассмотрим простую задачу: убрать из скина какой-то элемент. (скажем, индикатор батарейки, который неинформативен на стационарныхГУ).

Уверенной рукой берем лангпак и лезем конечно же в Layouts.XML (ведь в первых постах этой темы мы уже выяснили, что все, что раскидано по экрану, именно там). Я возьму свой собственный скин и его-то и буду мучать.

Если мы знаем английский, то можем сразу попробовать искать интуитивное battery (или batt, мы ведь не знаем, как названы картинки, вдруг авторы сократили слово). Если английского не знаем, то лезем в папку с картинками (скажем, day6x) и ищем картинку с батарейкой. Смотрим ее название и понимаем, что не ошиблись, ищем правильное слово (а то вдруг надо было искать power или еще что-то)

Итак, очень быстро находим строки типа

        </HorizontalPanel>
          <!-- Строка - датавремя, индикаторы -->
        <HorizontalPanel height="32">
            <ImageLabel width="92"/>
            <ImageLabel width="82" type="text" class="ish_navPanel_cur_time" text="@navPanel_txt_time" invoke="settings_time"/>
            <ImageLabel width="110" type="text" class="ish_navPanel_cur_date" text="@navPanel_txt_date" invoke="settings_time"/>
            <ImageLabel width="-1"/>
            <ImageLabel width="90" bgimage="@pan_navPanel_GPS" align="center" valign="middle" invoke="s_gps"/>
            <ImageLabel width="40" bgimage="@pan_navPanel_jams" align="center" valign="middle" invoke="rs_refresh"/>
            <ImageLabel width="70" bgimage="@pan_navPanel_battery" align="center" valign="middle" invoke="rs_refresh"/>
            <ImageLabel width="70" bgimage="@pan_navPanel_routetype" align="center" valign="middle" invoke="set_route"/>
            <ImageLabel width="92"/>
        </HorizontalPanel>
    </VerticalPanel>

В приведенном куске очевидно, строка высотой 32 пикселя.

В ней - пустое место шириной 92 пикселя (я-то знаю, что это под кнопку место, но когда скин делал кто-то другой, мы можем только догадываться, зачем место оставлено. Ну или запустить программу и посмотреть, что в этом месте выводится).

Затем идет ячейка шириной 82, в которой cur_time и шириной 110, в которой cur_date. Мы сразу понимаем, что это время и дата (и если нам нравится другой порядок, сразу понимаем, как поменять их местами)

Дальше пустая резиновая ячейка - распорка шириной -1, то есть все остальное получается прижато к правому краю.

Это:

GPS - индикатор шириной 90,

Jams - индикатор пробок шириной 40

БАТАРЕЙКА - шириной 70

Тип маршрута шириной 70 

и еще одно пустое место под кнопку - шириной 92.

Самое простое решение - тупо удалить строку

 <ImageLabel width="70" bgimage="@pan_navPanel_battery" align="center" valign="middle" invoke="rs_refresh"/>

Учитывая, что в середине у нас есть ячейка <ImageLabel width="-1"/>,

понимаем, что левая часть (кнопка, время, дата) останется на месте, а остальное (ГПС, пробки, тип маршрута, кнопка) прижмется вправо (т.е. пустого пространства на месте батарейки не будет).

Ну, раз у нас освобождается лишнее место, значит можно даже расширить пространство под индикатором пробок, например вот так:

<ImageLabel width="80" bgimage="@pan_navPanel_jams" align="center" valign="middle" invoke="rs_refresh"/>
Теперь у нас невидимая клетка, на которую надо нажать для обновления пробок, стала шире в два раза (сама картинка осталась прежней, просто зазоры вокруг нее тоже реагируют на нажимание)

Разобравшись в одном месте, продолжаем поиск.

Аналогичных фрагментов мы найдем как минимум 4 (горизонталь и вертикаль с маршрутом и без).

И во всех повторяем операцию.

Еще мы найдем несколько упоминаний слова battery в ссылках на подгрузку картинок, например:

    <item name="pan_navPanel_battery_1" val="battery_1_d"/>
    <item name="pan_navPanel_battery_2" val="battery_2_d"/>

или (в зависимости от скина могут быть)

    <image name="battery_1_d"/>
    <image name="battery_2_d"/>

Эти строки можно удалить, а можно и не трогать. Они только обеспечивают загрузку картинок в память, а на экран их не показывают.

Но кто не приемлет компромиссов - может спокойно эти строки удалить, а затем влезть в папки day4x, day6x ... и там поудалять файлы, имеющие в названии слово battery, чтоб уменьшить размер лангпака.


 

 

Ссылка на сообщение
Поделиться на другие сайты

Это находится не в ленгпаке, а в файле autoscale.xml. Меняйте параметр MinScale="30000".

Больше, чем 60м не делает, даже если ставить значения выше (например, 80000).

1. Есть возможность увеличить это значение (чтобы масштаб был мельче при простое)?

2. Меняя это значение, меняется ли характер всей работы автомасштаба на каждой скорости? как его можно изменить?

3. Как можно сузить полосу маршрута (которая цветная)?

Если уже объяснялось (скорее всего), подскажите, пжлст, где можно об этом прочитать.

Ссылка на сообщение
Поделиться на другие сайты

Больше, чем 60м не делает, даже если ставить значения выше (например, 80000).

1. Есть возможность увеличить это значение (чтобы масштаб был мельче при простое)?

2. Меняя это значение, меняется ли характер всей работы автомасштаба на каждой скорости? как его можно изменить?

3. Как можно сузить полосу маршрута (которая цветная)?

Если уже объяснялось (скорее всего), подскажите, пжлст, где можно об этом прочитать.

Не очень соответствует теме, по крайней мере про масштаб.

Не знаток autoscale.xml. Для себя скорректировал его так, что масштаб зависит только от расстояния до манёвра. Пользуюсь только 2d, хотя оказалось, что в "Девятке" вполне прилично заработал не только фиксированный наклон, но и автомасштаб 3d-2d (на мой взгляд). Попробовал так поездить, отторжения не вызвало.

Ссылка на сообщение
Поделиться на другие сайты

3. Как можно сузить полосу маршрута (которая цветная)?

 

Resources.rsr - PresCGMap.xml

1. Находим поиском
<!-- Route track -->
2. В данном блоке изменяем значение Width. Я изменил 300 на 180. Карта с маршрутом стала выглядеть вполне пристойно.

 

 

Изменено пользователем evgenyK
Ссылка на сообщение
Поделиться на другие сайты

Хорошо, тогда спрошу по теме темы. В первых постах рассказана структура layouts.xml, но там всё просто, как в html таблицах - td и tr, высота в пикселях. В текущем синтаксисе по-другому.

Несколько вопросов, если позволите.

1. HorizontalPanel = tr, VerticalPanel =td  - так?

2. <HorizontalPanel height="-1"> высота минус один - это что значит?

3. height="13.33X", height="5X", width="40X" - это что значит? в каких единицах?

4. <VerticalPanel width="25%"/> - это в процентах от родительского блока? т.е. колонка занимает четверть ширины?

Буду благодарен за краткие ответы, а не посыл прочитать 30 страниц темы или учебник по html/xml :rolleyes:

Изменено пользователем ZeuseZ
Ссылка на сообщение
Поделиться на другие сайты

Ага (примерно). ВертикалПанель - как бы столбец во всю высоту родительской ГоризонталПанели и с заданной шириной

ГоризонталПанель - строка во всю ширину родительской ВертикалПанели и с заданной высотой.

 

Еще внутри любой из них может быть ImageLabel - ячейка. По-моему, для нее можно задать и ширину и высоту.

Во вложенности панели должны чередоваться, то есть в Вертикал панели может быть 1 или более ГоризПанелей, а в каждой из них может быть ImageLabel или VerticalPanel. А в каждом VerticalPanel - может быть  ImageLabel или HorizontalPanel и т.д.

В принципе, могут использоватьсся и старые структры (table, tr,  td), и в штатном ЛП они местами идут вообще вперемешку (table внутри ГоризонталПанели...)

Большинство (подозреваю, что любые) элементы (картинки, тексты и т.д.) могут стоять как в ImageLabele, так и  в VerticalPanel или в HorizontalPanel.

Т.е. мне кажется, что использование ImageLabel-ов вообще необязательно. Но не уверен.

Высота "-1" - "растянуть на свободное пространство". Например, чтобы прижать ячейки к краям экрана - делаем три ГоризонталПанели с разной шириной:

1я - например шириной с указатель маневра, послдняя (3я) - поле для скорости. А между ними - пустая шириной -1.

Если среди например 6 строк будут 2 заданной ширины, а остальные 4 - "-1", то все свободное пространство делится на эти 4 поровну.

Например, в клавиатуре задана ширина для кнопки "пробел", а для остальных "-1" - всем поровну места.

Размеры могут задаваться:

1. в пикселях (просто цифры width="40"). К сожалению, полноценно применимо в скинах для одного разрешения экрана.

2. В процентах (все верно, от родительского элемента.

3. И в относительных единицах. (с иксом)

Дело в том, что для определенных разрешений используются разые папки с картинками. Например, для экрана 320х240 - папка day имножитель равен 1. (на таких экранах Width="45X" будет 45 пикс.)

640х480 и 800х480 используют day_2x, и для них это будет 90 пикс.(множитель 2).

Границы (при каком произведении ширины на высоту какая папка используется) озвучивали давно (то ли vlego, то ли ERER), щас точно не вспомню.
 

Ссылка на сообщение
Поделиться на другие сайты
35 минуты назад, IШIN сказал:

1. в пикселях (просто цифры width="40"). К сожалению, полноценно применимо в скинах для одного разрешения экрана.

1. Т.е. если только для себя, то для простоты можно делать просто в пикселях, верно?

35 минуты назад, IШIN сказал:

Дело в том, что для определенных разрешений используются разые папки с картинками. Например, для экрана 320х240 - папка day имножитель равен 1. (на таких экранах Width="45X" будет 45 пикс.)

2. Т.е. для максимальных разрешений (fullhd, к примеру) множитель всегда 6 и чтобы мне понять, как у меня надо всегда просто на 6 умножать?

Спасибо за разъяснения, в голове сложилась картинка B)

Изменено пользователем ZeuseZ
Ссылка на сообщение
Поделиться на другие сайты
31 минуты назад, ZeuseZ сказал:

1.Т.е. если только для себя, то для простоты можно делать просто в пикселях, верно?

2. Т.е. для максимальных разрешений (fullhd, к примеру) множитель всегда 6 и чтобы мне понять, как у меня надо всегда просто на 6 умножать?

1. Да, запросто. Ну, иногда удобно еще в процентах (например, кнопки в меню - чтоб 4 в ряд было, поставить 25% (а можно и -1, тогда если добавим еще ряд кнопок, не надо цифру менять.    

 2. Ну да. Второй вариант - найти какой-нибудь характерный элемент (например, индикатор маневра или еще что-то такое. Посмотреть в лангпаке, какое место под него выделено (например, там 35Х). Запускаем СГ, делаем скриншот и в файле смотрим размер этого элемента. Если он занимает 140 пикселей, значит у нас множитель 4.

Изменено пользователем IШIN
Ссылка на сообщение
Поделиться на другие сайты
удобно еще в процентах (например, кнопки в меню - чтоб 4 в ряд было, поставить 25% (а можно и -1, тогда если добавим еще ряд кнопок, не надо цифру менять.  

Т.е. одинаково - у четырёх кнопок поставить по 25% или по -1?

Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, ZeuseZ сказал:

Т.е. одинаково - у четырёх кнопок поставить по 25% или по -1?

Да, но "-1" - более универсально.

1. добавление/убирание кнопки не требует изменения цифр (на 20% или 33%)

2. вставка понтовых зазоров между элементами не требует пересчета (захотелось между кнопками вставить зазоры по 2 пикселя, вписали imagelabel width="2"/ , и получилось что 4 по 25%+3 по 2 пикселя - больше 100% экрана - последняя кнопка будет урезана). А при кнопках с шириной "-1" можно вставить зазоры между ними или отступы от краев. - размеры кнопок сами уменьшатся одинаково.

Кстати, еще для чего нужна "-1" - чтоб поставить элемент в центр.

Например менюшка мессэдж-бокс или кнопка с дельтапланом.

Ставим ячейку с шириной "-1", потом ячейку с кнопкой (нужной фикс.ширины) и еще одну пустую "-1".

Имеем - с боков поровну, кнопка в центре.
 

Ссылка на сообщение
Поделиться на другие сайты

А если, например, ширина VerticalPanelей не указана, то какая у них ширина?

<layout name="template_buttons_drive_2_hor">

    <VerticalPanel>

             <HorizontalPanel height="13.33X" ....

   </VerticalPanel>

   <!-- Динамические ПОИ -->

    <VerticalPanel>....

Ссылка на сообщение
Поделиться на другие сайты

А вот не помню, но по-моему если не указано, считается "0". Что это дает? Внутри панели, которая размером "0" вполне могут находиться панели нормальных размеров (ненулевых).

А вот следующая панель (того же уровня) начинается, выходит, с той же точки, или, что то же самое - поверх.

Именно за счет этого в каждом лэйауте может быть несколько слоев. Например, один ВертикалПанель с названиями улиц, другой с компасом, третий с.....

Ширина у них не задана, и начинаются они следовательно все от левого верхнего угла.

И соответственно можно двигать один элемент, не сдвигая все остальное, и не вычисляя сложную структуру таблицы.


 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...