Если после сборки проекта у вас перестала работать IDBFS, то значит у вас Emscripten v1.39.1 или новее. ReferenceError: Can’t find variable: IDBFS Начиная c Emscripten v1.39.1 поддержка всех файловых систем (NODEFS, IDBFS, WORKERFS, PROXYFS) была вынесена в отдельные модули. Достаточно …
MacBook Pro EU / RU Keyboard
Частично исправить косяки европейской / русской раскладки клавиатуры MacBook можно без каких-либо сторонних приложений. Достаточно воспользоваться утилитой hidutil. Конечно эта утилита не изменит размеры и форму кнопок, но все же часть проблем решить сможет. Эта команда назначит кнопке обведенной красным …
The Silver Searcher vs ripgrep
Я использую утилиту FZF (а так же плагин fzf.vim) для поиска файла в корневой директории проекта. В качестве команды долгое время использовал ag (The Silver Searcher) – мномопоточная и быстрая утилита, которая формирует список файлов по маске. Увы, результат ее …
IndexedDBFS + Local Storage
Локальное хранилище IDBFS отлично подходит для хранения профайла игры между сессиями. Позволяет хранить относительно большие файлы и с ним удобно работать благодаря реализованным fopen/fread/fwrite/fclose в Emscritpen. Но из-за политики безопасности браузеров это хранилище не всегда доступно. При попытке выполнить FS.syncfs() …
netcode.io
netcode.io – протокол для защищенного клиент/сервер соединения поверх UDP разработанный Glenn Fiedler. Протокол разработан для игр с выделенным сервером. Его основные фичи: Защита от MitM (man-in-the-middle) атак. Защита от DDoS атак. Защита против атак с повтором пакетов. Защита от зомби-клиентов. …
Android App Icons guidelines
При создании иконок следует соблюдать следующие основные требования: Размер: 512px x 512px Формат: 32-bit PNG Цветовое пространство: sRGB Максимальный размер файла: 1024KB Форма – заполненый квадрат. Google Play сам создаст маску, радиус закругления углов будет 20% от размера иконки. Теней …
Module.callMain undefined
Начиная с версии 1.38.41 от 07.08.2019 функция callMain больше не экспортируется. Это было сделано для лучшей минификации JavaScript, о чем сказано в официальном changelog. Если нужно старое поведение, достаточно добавить callMain в EXTRA_EXPORTED_RUNTIME_METHODS. В CMakeLists.txt своих проектов я делаю так: …
TCP против UDP
Копипаста с хабра TCP против UDP или будущее сетевых протоколов Перед каждым сервисом, генерирующим хотя бы 1 Мбит/сек трафика в интернете возникает вопрос: «Как? по TCP или по UDP?» В прикладных областях, в том числе и платформах доставки уже сложились …