Opa Platao
Eu joguei pouco ele, o visual está idêntico ao anterior. Experimentei alguns jogos, tá rodando legal. Uma coisa que percebi é que o config desse vbam-gtk (~/.config/gvbam/config) é meio incompatível com a versão anterior, ao abrir essa versão mais nova ele reconhece a configuração anterior do emulador, mas se você desinstalar esse novo e instalar de volta o antigo, você perde as configurações. Bom, nada demais, é só reconfigurar o emulador, e se não houver problemas com esse novo então não há motivo para se preocupar com isso (já que você não vai voltar na versão anterior).
Outra coisa é em relação ao novo front-end que a equipe está desenvolvendo. A atual, como o próprio nome sugere, usa o
GTK. A próxima usará o
WxWidgets, e terá como grande vantagem deixar igual a interface entre Linux - Mac - Windows. Se você pegar o código fonte, esse
vbam-wx está lá, é possível compilar essa nova interface, mas ela ainda está bem instável. Eu compilei uma vez aqui, mas ao fechar dá um crash nervoso no sistema. Além disso, pelo que me lembro, na hora de você salvar seu jogo, os
saves states ficam com uns caracteres estranhos no lugar do nome comum do jogo. Com o vbam-gtk isso não acontece.
Outro grande recurso que pode ser habilitado na hora de compilar é o
game link do VBA! Mas esse recurso só se encontra no vbam-wx. Quem já experimentou para windows sabe do que estou falando. Eu consegui usar e trocar uns pokemons entre duas janelas do emulador, só que os dois ficam extremamente lentos. A equipe do VBA-M está trabalhando nisso. E há problema com alguns jogos quando esse recurso está habilitado.
Quando a nova interface e esse recurso do game link estiverem melhores, eu tento fazer um pacote.
Quanto ao empacotamento, eu dei sorte que o código fonte do vbam já estava "debianizado", ou seja, continha a pasta debian/ com vários arquivos de configuração de empacotamento. Mas tive que mudar algumas coisas, o padrão atualizou e o pacote não acompanhou. E várias dependências de compilação estavam furadas (Build-Depends, no arquivo debian/control), troquei pelo que achei
nesse link.
Segui o passo à passo desses site, para aprender um pouco sobre empacotamento:
http://packaging.ubuntu.com/html/,
http://packaging.ubuntu.com/html/packaging-new-software.html,
http://www.webupd8.org/2010/01/how-to-create-deb-package-ubuntu-debian.htmlTentei usar o
bzr builddeb -- -us -uc para fazer o pacote, e dava vários erros. Esse comando não explicita o que exatamente está errado. Daí parti para o
dpkg-buildpackage -rfakeroot -us -uc, e nesse deixava mais claro o que estava acontecendo. Após 2 ou 3 dias tentando, fui entendendo o que tinha de errado no código fonte original, do upstream. Descobri que esse comando é mais exigente que o make, pois com o make eu consigo compilar o vbam-sdl e vbam-gtk, enquanto que com o dpkg-buildpackage só consigo compilar e empacotar o vbam-gtk (e isso se eu alterar o
CMakeLists.txt, logo no começo dá para ativar ou desativar vários recursos do emulador). Acontece que o vbam-sdl pede headers (.h) que ainda não existe no código do vbam, mas para o make isso não é problema, já que esses headers não são ativados, depedendendo da configuração do CMakeLists.txt. Mas o dpkg-buildpackage desconsidera isso e verifica tudo, e aí dava erro no empacotamento. Ainda me deparei com outro erro, que foi resolvido apagando os conteúdos relacionados ao vbam-sdl e vbam-wx no debian/control. Mesmo escolhendo compilar somente o vbam-gtk no CMakeLists.txt, na hora de empacotar ele tentava fazer o pacote dos 3 (vbam-gtk, vbam-sdl e vbam-wx), e dava erro na hora de copiar os arquivos dos 2 que não foram compilados para os pacotes. São coisas separadas, e não achei uma solução melhor para vincular tudo. Se você reparar, no vbam do getdeb tem o vbam-sdl, enquanto que no meu ppa não.
Outro erro (meu) que me deparei foi usar o comando
bzr dh-make. Esse comando serve para "debianizar" um programa novo (que não tem a pasta debian) e também versionar o código com o bazaar (bzr).
Descobri também que é possível importar código que usa GIT ou SVN para o launchpad, e exportar para Bazaar inclusive. Olha o código do vbam no launchpad:
https://code.launchpad.net/~sergio-br2. Depois é só baixar com
bzr branch lp:~sergio-br2/vbam/trunk (por exemplo), e começar a fazer as alterações.
Ainda estou aprendendo empacotamento debian, estou achando muito difícil, muita coisa para aprender.
Acabei de instalar o ppa aqui no ubuntu 13.10, e apareceu a atualização do vbam aqui (ou seja, dá certo a dica acima de trocar saucy por trusty).