
Os desenvolvedores por trás do projeto Simple DirectMedia Layer ou mais conhecido como “SDL” anunciaram há alguns dias o anúncio do lançamento da nova versão SDL 2.0.12, que vem principalmente para adicionar o suporte de vários controles de videogames, além de alguns recursos adicionais desta biblioteca projetados para simplificar a criação de jogos e aplicativos multimídia.
Para aqueles que não estão familiarizados com a biblioteca SDL, você deve saber que ela fornece ferramentas como saída de gráficos 2D e 3D acelerados por hardware, processamento de entrada, reprodução de áudio, saída 3D via OpenGL / OpenGL ES e muitas outras operações relacionadas.
O SDL é oficialmente compatível com Windows, Mac OS X, Linux, iOS e Android, embora tenha suporte para outras plataformas como QNX, além de outras arquiteturas e sistemas como Sega Dreamcast, GP32, GP2X, etc.
O Simple DirectMedia Layer é escrito em C, funciona nativamente com C++, e os links estão disponíveis para várias outras linguagens, incluindo C# e Python, e são distribuídos sob a licença zlib. Esta licença permite que você use SDL livremente em qualquer software.
Apesar de ter sido programado em C, possui wrappers para outras linguagens de programação como C++, Ada, C#, BASIC, Erlang, Lua, Java, Python, etc.
O que há de novo no Simple DirectMedia Layer 2.0.12?
Com o lançamento desta nova versão da biblioteca, os desenvolvedores mencionam a compatibilidade com os controladores de jogos Nintendo GameCube e o indicador SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE para determinar o fato de seu uso ser adicionado ao controlador HIDAPI. A HIDAPI também aprimorou o suporte para Xbox 360 e Xbox One;
Além de mencionar o trabalho que foi feito para adicionar suporte aos controladores de jogos:
- 8BitDo FC30 Pro
- 8BitDo M30 GamePad
- BDA PS4 Fightpad
- HORI Fighting Commander
- Hyperkin Duke
- Hyperkin X91
- MOGA XP5-A Plus
- NACON GC-400ES
- NVIDIA Controller v01.04
- PDP Versus Fighting Pad
- Razer Raion Fightpad for PS4
- Razer Serval
- Stadia Controller
- SteelSeries Stratus Duo
- Victrix Pro Fight Stick for PS4
- Xbox One Elite Series 2
Além disso, as funções SDL_GetTextureScaleMode () e SDL_SetTextureScaleMode () foram adicionadas para obter e definir o modo de dimensionamento usado para as texturas, a função SDL_LockTextureToSurface (), semelhante à SDL_LockTexture (), mas também trata a área bloqueada como SDL Surface que é um novo modo de mesclagem SDL_BLENDMODE_MUL ao qual foi adicionado.
A função SDL_GameControllerTypeForIndex () fornece uma conclusão do tipo de controlador de jogo (Xbox 360, Xbox One, PS3, PS4, Nintendo Switch Pro).
SDL_JoystickFromPlayerIndex (), SDL_JoystickSetPlayerIndex (), SDL_GameControllerSetPlayerIndex () e SDL_GameControllerFromPlayerIndex () adicionaram funções para determinar e instalar o dispositivo associado ao índice do player.
No Android, a capacidade de capturar som usando o OpenSL-ES foi adicionada e o suporte foi implementado para usar o Bluetooth Steam Controller como um controlador de jogo.
Das outras mudanças mencionadas:
- Adicionada macro SDL_zeroa () para zerar uma matriz de elementos.
- Adicionada a função SDL_HasARMSIMD () para definir o suporte para instruções SIMD ARM na CPU ARMv6+.
- Para sistemas Linux, são implementados o .SDL_HINT_VIDEO_X11_WINDOW_VISUALID (definição de um identificador de saída para novas janelas X11) e SDL_HINT_VIDEO_X11_FORCE_EGL (opção para usar GLX ou EGL para X11).
Como instalar o Simple DirectMedia Layer no Linux?
A instalação desta biblioteca no Linux é bastante simples, pois a maioria das distribuições Linux a possui em seus repositórios.
No caso do Debian, Ubuntu e distribuições derivadas deles, teremos apenas que executar os seguintes comandos em um terminal:
sudo apt-get install libsdl2-2.0
sudo apt-get install libsdl2-dev
Enquanto no caso daqueles que são usuários do Arch Linux, Manjaro e derivados, precisamos apenas executar o seguinte:
sudo pacman -S sdl2
No caso de usuários do Fedora, Centos, RHEL, OpenSUSE ou qualquer distribuição baseada neles, apenas precisam executar o seguinte comando:
sudo yum install SDL2
sudo yum install SDL2-devel
Para o restante das distribuições Linux, podem procurar o pacote “sdl” ou “libsdl” para instalação ou baixar e compilar o código fonte.
Isso se faz com:
hg clone https://hg.libsdl.org/SDL SDL
cd SDL
mkdir build
cd build
./configure
make
sudo make install