Разработчики, стоящие за проектом Simple DirectMedia Layer или более известным как "SDL" выпустил несколько дней назад анонс о выпуске новой версии SDL 2.0.12, который приходит в основном для добавления el Поддержка различных контроллеров видеоигр, а также некоторые дополнительные функции этой библиотеки, предназначенные для упрощения написания игр и мультимедийных приложений.
Для тех, кто не знает о библиотеке SDL, вы должны знать, что это, предоставляет такие инструменты, как аппаратное ускорение вывода 2D- и 3D-графики, обработка ввода, воспроизведение звука, вывод 3D через OpenGL / OpenGL ES и многие другие связанные операции.
СДЛ он официально совместим с Windows, Mac OS X, Linux, iOS и Android, хотя он поддерживает другие платформы, такие как QNX, а также другие архитектуры и системы, такие как Sega Dreamcast, GP32, GP2X и т. д.
Простой DirectMedia Layer написан на C, изначально работает с C ++ и ссылки доступны для нескольких других языков, включая C # и Python, он распространяется под лицензией zlib. Эта лицензия позволяет вам свободно использовать SDL в любом программном обеспечении.
Несмотря на то, что он запрограммирован на C, он имеет оболочки для других языков программирования, таких как C ++, Ada, C #, BASIC, Erlang, Lua, Java, Python и т. Д.
Что нового в Simple DirectMedia Layer 2.0.12?
С выпуском этой новой версии библиотеки разработчики упоминают в качестве основной новинки совместимость с игровыми контроллерами Nintendo GameCube и индикатор SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE для определения факта их использования они добавляются в контроллер HIDAPI. HIDAPI также улучшил поддержку Xbox 360 и Xbox One;
Помимо упоминания о проделанной работе по добавлению поддержка игровых контроллеров:
- 8BitDo FC30 Про
- Геймпад 8BitDo M30
- Боевой планшет BDA PS4
- HORI боевой командир
- Гиперкин Герцог
- Гиперкин X91
- МОГА XP5-A Плюс
- НАКОН GC-400ES
- Контроллер NVIDIA v01.04
- PDP против боевой площадки
- Razer Raion Fightpad для PS4
- Razer Сервал
- Контроллер Stadia
- SteelSeries Стратус Дуо
- Victrix Pro Fight Stick для PS4
- Xbox One, элитная серия 2
Кроме того, добавлены функции SDL_GetTextureScaleMode () и SDL_SetTextureScaleMode () чтобы получить и установить режим масштабирования, используемый для текстур, функция SDL_LockTextureToSurface (), аналогично SDL_LockTexture (), но обрабатывает заблокированную область как поверхность SDL, плюс был добавлен новый режим наложения SDL_BLENDMODE_MUL.
Функция SDL_GameControllerTypeForIndex () обеспечивает вывод о типе игрового контроллера (Xbox 360, Xbox One, PS3, PS4, Nintendo Switch Pro).
Добавленные функции SDL_JoystickFromPlayerIndex (), SDL_JoystickSetPlayerIndex (), SDL_GameControllerSetPlayerIndex () и SDL_GameControllerFromPlayerIndex () для определения и установки устройства, связанного с индексом плеера.
В то время как для Android добавлена возможность захвата звука с помощью OpenSL-ES и поддержка использования Bluetooth Steam Controller как игровой контроллер.
Из других упомянутых изменений:
- Добавлен макрос SDL_zeroa () для обнуления массива элементов.
- Добавлена функция SDL_HasARMSIMD () для определения поддержки инструкций ARM SIMD на процессоре ARMv6 +.
- Для систем Linux реализованы функции .SDL_HINT_VIDEO_X11_WINDOW_VISUALID (определение выходного идентификатора для новых окон X11) и SDL_HINT_VIDEO_X11_FORCE_EGL (возможность использования GLX или EGL для X11).
Как установить Simple DirectMedia Layer в Linux?
Установить эту библиотеку в Linux довольно просто, поскольку в большинстве дистрибутивов Linux она находится в своих репозиториях.
В случае Debian, Ubuntu и производные от них дистрибутивы, вам нужно будет только запустить следующие команды в терминале:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
В то время как для тех, кто тыArch Linux suarios нам просто нужно запустить следующее:
sudo pacman -S sdl2
В случае пользователей Fedora, Centos, RHEL или любой другой дистрибутив на их основе, им просто нужно выполнить следующую команду:
sudo yum install SDL2 sudo yum install SDL2-devel
Для всех остальных дистрибутивов Linuxони могут найти пакет "sdl" или "libsdl" для установки или загрузить и скомпилировать исходный код.
Они делают это с помощью:
hg clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install