1. Hello everybody! We almost received awards from MMOsite, remained the last spurt! Please, if you have not did it - vote for us
    Dismiss Notice

[утилита] Reticles - собственный оверлейный прицел.

Discussion in 'Творчество' started by vxsw, Aug 12, 2016.

  1. vxsw

    vxsw Raider Golden Founder

    Joined:
    Feb 10, 2016
    Messages:
    1,738
    Likes Received:
    594
    Trophy Points:
    113
    в общем, т.к. прицел на данный момент... ну, так скажем "оставляет желать лучшего", а у разработчиков врятли есть время на его вылизывание, решил нарисовать "заглушку". правда, эта зараза начала обрастать реализациями мелких потребностей, что в общем-то скорее всего, постепенно выведет ее на статус полноценной программки. пока, это просто заплатка, слепленная на скорую руку))

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

    выглядит это так:
    reticle.png на данный момент работает:
    - поддержка форматов бмп и пнг (в т.ч. и с альфа каналом) картинки. левый верхний пиксель, задает прозрачный цвет.
    - два режима - отображать всегда и отображать только если в фокусе окно настроек или указанное целевое окно
    - базовое размещение - центр целевого окна. смещение относительно центра, выставляется в ручную
    - на случай, если целевое окно уехало, есть кнопка перепозиционирования (с учетом смещения). так-же есть возможность делать это автоматически, хотя не представляю с какой целью и при каких условиях, целевое окно должно бегать по экрану и/или менять свой размер.

    пока не умеет сохранять настройки.

    скажу сразу - кодер из меня не фонтан и пишу медленно. если будет свободное время и желание, то буду дописывать. по срокам ни чего не скажу))

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

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

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

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

    ну, пока все. ссылка для получения удовольствия - Reticles
     
    ReMzY, MACTEP and kannabiol like this.
  2. Goodday

    Goodday Terminator Bronze Founder

    Joined:
    Aug 3, 2016
    Messages:
    155
    Likes Received:
    70
    Trophy Points:
    28
    О, круто, поставлю себе, буду в Rust читерить ))
     
  3. MACTEP

    MACTEP ОЛД СКУЛ ГАМЕР! Golden Founder

    Joined:
    Aug 8, 2015
    Messages:
    365
    Likes Received:
    248
    Trophy Points:
    53
    А в полноэкранном режиме не получится использовать?
     
  4. vxsw

    vxsw Raider Golden Founder

    Joined:
    Feb 10, 2016
    Messages:
    1,738
    Likes Received:
    594
    Trophy Points:
    113
    не, это уже полноценный оверлей, а как я и сказал:
    были варианты отрисовки в дц приложения, но это постоянное мерцание и вроде полупрозрачность нельзя.
    багамут обещал в последствии режим "без бордюра" - на нем должно без проблем работать в таком виде.
    сейчас, можно задать оконный чуть меньшего разрешения, а после запуска клиента, просто разворачивать стандартными кнопками управления (аналог - двойной клики по шапке окна). это развернет окно на всю клиентскую область рабочего стола (рабочий стол, без области панели задач).
     
  5. НечтоХрустящее

    НечтоХрустящее § Свидетель Обновы § Golden Founder

    Joined:
    Aug 2, 2015
    Messages:
    1,684
    Likes Received:
    465
    Trophy Points:
    93
    В плей клоу можно оверлей прозрачный сделать,я так прицелы делал,где не было
     
  6. ReMzY

    ReMzY Подданный Императора Founder

    Joined:
    Jul 18, 2015
    Messages:
    264
    Likes Received:
    108
    Trophy Points:
    53
    а что, идея хорошая
     

Share This Page