A melhor coisa a fazer é patch o mais recente sdl estável 1.2 código-fonte , e obtenha algum tipo de efeito de feedback de força com sdl1.2. Esta é uma medida provisória até que a próxima versão estável do sdl seja lançada, mas possa ser aceitável para seus propósitos.
No entanto, é melhor instalar sua versão compilada em /opt
e não em locais de caminho, como /usr
ou /usr/local
. Dessa forma, você ainda pode manter o% originallibsdl1.2debian
e só chamar sua versão compilada usando LD_LIBRARY_PATH
(veja explicação posterior).
Primeiro, obtenha as dependências com
sudo apt-get build-dep libsdl1.2
sudo apt-get install build-essential checkinstall
Para build-dep
funcionar, acesse as fontes de software e ative o código-fonte marcando a caixa. Em seguida, execute sudo apt-get update
e todos os comandos build-dep
devem funcionar.
A lista completa de dependências está listada aqui com mais informações sobre compilação.
Agora, faça o download do código-fonte sdl e extraia-o, depois baixe o patch de icculus.org , extraia o patch e mova-o para o código-fonte sdl pasta e, a partir dessa pasta, execute:
patch -p1 < sdl_1.2-haptic.diff
Em seguida, execute
./configure --prefix=/opt/sdl-1.2 && make
Não é necessário adicionar --enable-haptic
(haptic é o termo usado para feedback de força), já que o patch deveria ter permitido isso. Mais sobre haptic está disponível aqui e aqui .
Para instalá-lo em /opt
(ou no local especificado com configure), execute sudo checkinstall
da mesma pasta.
Para usar esta versão do sdl, você precisa rodar o seu jogo em um wrapper assim:
#!/bin/bash
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
cd /game/folder
game
exit 0
Para verificar se a versão correta do sdl está sendo carregada, execute no terminal
export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
e, em seguida, execute ldd
em um jogo que você conhece usa sdl:
ldd /usr/local/bin/rott
que mostra que você está usando o seu sdl compilado:
libSDL-1.2.so.0 => /opt/sdl-1.2/lib/libSDL-1.2.so.0 (0xb7695000)
Os efeitos de feedback de força variam muito, e às vezes podem não estar presentes, mas essa é a única maneira de obter alguns efeitos no momento. É relatado que funciona com a porta de código-fonte aberto de Freespace2
, FreespaceOpen
, como este post mostra relacionado a sistemas baseados em Linux (não o Mac OS X como sugere).