DOOM запустили в Microsoft Paint, холст кормят кадрами через буфер обмена

DOOM запустили в Microsoft Paint, холст кормят кадрами через буфер обмена

DOOM запустили в Microsoft Paint, холст кормят кадрами через буфер обмена

Технический директор Microsoft Azure Марк Руссинович выпустил DoomPaint — проект, который позволяет играть в DOOM прямо на холсте Microsoft Paint. Правда, калькулятором Paint так и не стал: игру обсчитывает движок ViZDoom, а встроенный редактор Windows лишь показывает готовые кадры.

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

Каждый кадр вставляется на холст как новая картинка. Разрешение по умолчанию составляет 640×400 пикселей, а частота достигает родных для DOOM 35 кадров в секунду. При нагрузке производительность может скатиться до уровня, который Руссинович метко назвал табличным.

Играть при этом можно полноценно: доступны управление с клавиатуры, стрельба, бег, открытие дверей, звуковые эффекты и MIDI-саундтрек. Есть и бонус, которого не было в оригинале: Ctrl+Z превращается в перемотку времени.

Каждый кадр хранится в истории Paint, поэтому несколько отмен способны буквально оживить погибшего героя. А сохранение файла создаёт обычный PNG со сценой игры — Paint ведь понятия не имеет, что его заставили изображать монитор.

 

Главной проблемой стал сам буфер обмена. Если десятки раз в секунду очищать его и записывать новый кадр, Paint может не успеть прочитать предыдущий и выдать ошибку. Поэтому DoomPaint публикует один объект OLE на всю сессию и обновляет содержащиеся в нём данные. Следующий кадр появляется только после подтверждения, что Paint забрал предыдущий.

Вставка запускается синтетическим Ctrl+V либо через меню Paint, если приложение игнорирует нажатие. Низкоуровневый перехватчик клавиатуры не даёт игровым клавишам случайно нажимать кнопки редактора.

Проект опубликован на GitHub и требует Python. После запуска файла run.bat скрипт сам создаёт окружение, устанавливает зависимости и открывает Paint.

DuckDuckGo для iOS научился отрезать рекламный хвост у ссылок

DuckDuckGo решил избавить пользователей iPhone от цифрового мусора, который прилипает к ссылкам. В приложении появилась функция Copy Clean Link: она удаляет из адреса параметры отслеживания перед копированием в буфер обмена.

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

После него нередко тянется внушительный хвост из utm_source, utm_campaign, fbclid и других идентификаторов. Они помогают рекламным платформам и сайтам определять источник перехода, анализировать действия пользователей и собирать дополнительные данные.

Вместо длинного адреса вида:

example.com/article.html?utm_source=facebook&fbclid=...

DuckDuckGo скопирует:

example.com/article.html

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

Функция появилась в обновлении приложения DuckDuckGo для iOS, выпущенном в конце июля. Пока неизвестно, когда она доберётся до Android.

Впрочем, превращать Copy Clean Link в волшебный плащ-невидимку не стоит. Инструмент только очищает скопированный адрес. После открытия страницы сайт всё ещё может использовать куки и другие средства отслеживания, здесь результат зависит уже от настроек и возможностей браузера получателя.

И всё же новинка полезная. Ссылки давно превратились в чемоданы с двойным дном: сверху нужная страница, внутри — пачка идентификаторов. DuckDuckGo теперь хотя бы выбрасывает лишний багаж перед отправкой.

RSS: Новости на портале Anti-Malware.ru