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

New program for writers

We turn from quantity to quality and tell you how we will supplement the Allods Team program with rewards in rubles.

More

The new Updater

Let us to introduce the new addon updater software and to share the details

Read more

Alloder 2.0

We have started the process of project evolve, and this relates not only, and not even primarily of the site's view

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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