Jump to content
Alloder.pro  about Allods with love 😱
Search In
  • More options...
Find results that contain...
Find results in...

Servers monitoring and the Addons Editor

We present you two legends. All dreams come true.

Servers monitoring The Addons Editor

Digest April

We talk about what was done and updated in the past month. We help keep abreast of events.

Read more

Game tooltips

Tooltips provide a way for 3rd party fansites and extensions to display detailed information on mouseover.

Read more

Аддоны скачут по экрану


Mesqalito
 Share

Recommended Posts

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

Багу подвержены следующие аддоны:

PhanTime (расположен в правом верхнем углу экрана)

HonorInfo (в левом верхнем углу экрана)

Link to comment
Share on other sites

Quote:
бага вызвана недавними фиксами драг-н-дропа.

Да, именно так. В коде библиотеки LibDnD есть такое свойство: когда меняется резолюция экрана, все зарегистрированные перетаскиваемые виджеты, которые, в результате смены резолюции, частично или полностью должны скрыться с экрана, принудительно "возвращаются" в пределы экрана новой резолюции. Сделано это для того, чтобы при переключении, например, с резолюции 16:9 на 4:3, окна аддонов, находящиеся у правого края экрана, НЕ исчезли из поля видимости, а были передвинуты в видимую область экрана.

Беда в том, что при нажатии ALT+TAB, в момент переключения из Виндовс в игру, в игре ВСЕГДА меняется резолюция, причём, дважды. К сожадению, ДАЖЕ если резолюции экрана в Виндовс и в АО совпадают. Выглядит это так: первая смена резолюции происходит потому, что экран игры уже показан, а панель задач (taskbar) Виндовс ещё НЕ скрыт -- происходит перерасчёт позиций и размеров всех виджетов и шрифтов в игре, под эту "новую" резолюцию, которая просто короче на 30 пикселей в высоту (ширина таксбара Виндовс). Затем, таскбар скрывается, и происходит ещё одна смена резолюции, снова перерасчёт позиций и размеров всех виджетов и шрифтов, в этот раз, на НОРМАЛЬНУЮ резолюцию игры. Если бы разработчики починили этот баг, то вместо ДВУХ пересчётов резолюции, могло бы НЕ БЫТЬ НИ ОДНОГО - НОЛЬ. И Alt+Tab происходил бы вообще МГНОВЕННО.

Что происходит в библиотеке LibDnD. При первом пересчёте она видит, что окна аддонов, придвинутых к самому правому и/или нижнему краю экрана, немного "не влезают" в новую резолюцию (которая стала чуть-чуть меньше), и пододвигает их чуть левее и/или выше. Затем, вторая смена резолюции (на чуть-чуть бОльшую), и LibDnD видит, что в этот раз виджеты прекрасно влезают в новую резолюцию, и ничего не трогает.

Лекарство

В общем, я починил LibDnD, чтобы он обходил этот баг АО, и аддоны НЕ "прыгали"... Зайди в тему HOW-TO: LibDnD.lua (Библиотека Drag&Drop), скачай SampleLibDnD_2010-09-28.zip (аттачмент внизу первого сообщения), вытащи оттуда файл LibDnD.lua, и положи его в папки аддонов PhanTime и HonorInfo.
Link to comment
Share on other sites

Использует. Она у него "зашита" в файл Scripts\AOClassLibrary.lua, цельным куском. Нужно просто сделать Copy-Paste, заменив старый код на новый.

В следующем обновлении DarkDPSMeter, само собой, этот код будет обновлён.

Ещё, LibDnD используется в AoSimpleCoords и GuildGui1b.

Link to comment
Share on other sites

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use