Памагите новичку...

No comments
  • Исправлено в ревизии 473. Дело было в том, что переменные, именуемые ScreenWidth/ScreenHeight в исходниках ядра, на самом деле представляют собой ScreenMaxX/ScreenMaxY, т.е. на единицу меньше, чем размеры экрана. Соответственно отсечение из m_com*.inc и m_ps2.inc вычитало ещё единицу с вышеуказанными последствиями.
    Теперь ответ на вопрос о параметрах скринсейвера такой: нажатие обеих клавиш мышки в правом верхнем углу экрана вызывает появление окна настроек.
  • Нарочно не придумаешь :-).

    ..bw
  • diamond
    Что-то не получилось у меня вызвать окно настроек скринсейвера, только @RB и вылазит по правой кнопке. Ядро использовал 473.
  • А у меня получилось... В некоторый момент обе кнопки мыши должны быть нажаты, курсор - находиться в правом верхнем углу, процесс @ss - существовать.
  • diamond
    Ну, вот хочешь, верь - хочень не верь. У меня все как ты описал: ядро 473, @SS загружено, курсор в правом углу, кнопки обе нажимаю - не вылазит ничего кроме случайного вылезания окна @RB.
    Проверял и на реальной системе и в Qemu - ну никак!
    Может еще, какое условие есть? Проверь ядро, которое ты залил на SVN. Может то, что у тебя стоит все-же отличается?
    Может ты приложение @SS изменял?
  • Еще один глюк есть судя по всему. У меня тоже окно настроек не вызывается, но я заметил еще кое-что: крайний правый пиксел по всей высоте фоновой картинки почему-то повторяет крайний левый. Может с этим что связано? Это лучше всего заметно, если в качестве фона установить вот такую: http://heavyiron.kolibrios.org/jpegview.jpg картинку
  • Mario79
    Гм... странно... А в VirtualKolibri проверить можешь?
    Heavyiron
    Наверняка это связано с тем, что процедура отрисовки фона думает, что ScreenWidth - это действительно ScreenWidth :)
  • Heavyiron
    Нет, это не причем. Эта особенность была с древних времен. Связана с алгоритмом сглаживания в режиме растягивания. Алгоритм не учитывает того, что линия закончилась и просто продолжает брать соседние точки для смешивания. Поскольку для алгоритма вся область памяти изображения линейна, то для нас получается такой эффект. Просто так быстрей и проще, но не лучше. :-)
    Вот с введением моего дополнительного сглаживающего кода появился не менее прикольный баг в ICON. Попробуй установить картинку где очень плотно чередуются контрастные линии - получишь эффект хамелеона (кто играл в Обливион поймет) или маскировку Хищника на фоне деревьев (смотреть фильм Predator).
    Для устранения нужно переписывать ICON - ввести в его алгоритм те же сглаживающие изменения.
  • так может ну его нафиг, такое сглаживание? ;)
  • Heavyiron
    Можешь сделать лучше и быстрей - сделай. Не можешь - придется терпеть пока кто-нибудь не исправит. :-)
  • diamond
    Гм... странно... А в VirtualKolibri проверить можешь?
    Что такое, как и с чем едят? Если ты про свой эмулятор, то он ведь эмулирует только отдельные приложения или в нем тоже скринсейвер будет работать?

    Выяснил тут такую вещь - на старом Cyrix с COM мышкой все срабатывает, а на новом компе с PS2 мышью не работает. Хотя в Qemu тоже не работает, но там эмулируется PS2 мышь.
  • Как выяснилось, были какие-то проблемы с заливкой m_ps2.inc. Так что пробуйте ревизию 480.
    Mario79
    KlbrInWin - это эмулятор, а VirtualKolibri - надстройка над ним, она эмулирует систему Колибри в целом.
  • diamond
    Этот файл уже бесполезен. Я вынес работу с ps2-мышью в отдельный драйвер.
    Что ты исправлял? если только декремент ScreenWidth и ScreenHeight то у меня все в порядке.
    Если нет, то можешь проглянуть hid/mousedrv.inc функцию set_mouse_data, там идут все проверки.
  • У меня колёсико не работает, а в vmware путаются направления вверх-вниз
  • Who is online

    Users browsing this forum: No registered users and 7 guests