segunda-feira, 19 de julho de 2010

SDL, XCode e Chien2D2, instalando no MAC

Após muito pesquisar na Internet e quebrar muito a cabeça, resolvi montar esse tutorial para auxiliar aqueles que precisam instalar o SDL no Xcode e também a forma de rodar os exemplos de utilização da biblioteca Chien2D2, utilizada no Curso de Desenvolvimento de Jogos Digitais, realizado na PUC/Paraná.
Pré-requisitos:
  • MacOS Snow Leopard;
  • Xcode, última versão.
Serão necessários os arquivos SDL-1.214, SDL-devel-1.2.14, SDL_mixer e SDL_image, baixados do site de desenvolvimento da biblioteca.
Quando todos os arquivos estiverem disponíveis, estes devem ser montados (duplo click). Isso fará que sejam abertas as janelas contendo os pacotes que serão instalados.
Tela de instalação
Também apareceram no Finder, com a marcação de aplicativo montado.
Dispositivos
Os arquivos serão copiados para duas pastas destino, sendo a /Biblioteca/Frameworks e a /Developer/Library/Xcode/Project Templates/Application/, ambas acessadas, pelo Finder, através do dispositivo Macintosh HD.
Aqui vale uma observação a respeito da nomenclatura da pasta /Library/Frameworks, que no Finder, aparece como /Biblioteca/Frameworks/, caso a língua padrão do sistema seja o Português. Até ai tudo bem, mas o problema é que caso seja acessada via terminal (como veremos mais a frente) o nome mantem-se com a denominação nativa (inglês). Isso acaba causando uma certa confusão durante as configurações, então lembre-se, acesso via Finder /Biblioteca/Frameworks e acesso via terminal /Library/Frameworks.
  1. Então vamos ao que interessa, copie as pastas SDL.framework do arquivo SDL-1.2.14.dmg, SDL_mixer.framework do arquivo SDL_mixer-1.2.10.dmg e a pasta SDL_image.framework do arquivo SDL_image-1.2.10.dmg, para a pasta /Biblioteca/Frameworks (ou /Library/Frameworks, dependendo da língua configurada para o sistema!).
  2. Copie as pastas SDL Application, SDL Cocoa Application e SDL OpenGL Application, que encontram-se no arquivo SDL-devel-1.2.14-extras.dmg, caminho SDL-devel-extras/XcodeTemplates/TemplatesForXcodeSnowLeopard/, para /Developer/Library/Xcode/Project Templates/Application, no dispositivo Macintosh HD.
    Pastas do arquivo de instalação
  3. Abra um terminal (Aplicativos → Utilitários → Terminal):
    1. Digite cd Library;
    2. crie um link simbólico com o seguinte comando "ln -s /Library/Frameworks .
Chien2D2
Vamos migrar um projeto feito em Visual Studio para Xcode, passo-a-passo.

1º Passo) Criar um projeto a partir do templete SDL Application.
Criando novo Projeto
Projeto criado


Arquivos do projeto


2º Passo) Abrir a pasta do projeto Visual Studio a ser migrado, e copiar as pastas dados e Chien2D2, além do arquivo megademo.cpp, renomeando este último para main.c, sobrepondo o original, na pasta onde foi criado o projeto do Xcode.
Arquivos do Projeto em Visual Studio 
3º Passo) No Xcode,  apague a referência ao arquivo main.c, que está em vermelho, dentro de Other Sources, clique no botão direito do mouse para adicionar arquivos e pastas.
Remova o main.c e clique com o botão direito para adicionar arquivos do projeto
Adicionando arquivos e pastas
Selecione as pastas e arquivos a serem incluídos, e clique em Add
Clique em Ok para confirmar a importação
Caso encontre problemas com a codificação de caracteres no código fonte, refaça a importação selecionando o Text Encoding apropriado ao formato original dos arquivos.

4º Passo) Adicionando frameworks, clique no botão direito do mouse e selecione Add e Existing Frameworks.
Adicionando Frameworks
Clique em Add e selecione Exiting Framework
Frameworks a serem adicionados ao projeto
Após adicionados os Frameworks, estes devem aparecer dentro de Linked Frameworks. Caso não apareçam, basta arrastar para a pasta correta.
Após adicionados os Frameworks
5º Passo) Configurando o SDK, no Xcode, em Projects - Edit Project Settings.
Configurando o projeto

Vá no campo Base SDL for All Configurations.
Alterando a Base SDK
E Selecione Current Mac OS.
Selecione a opção: Current Mac OS
6º Passo) Acertando o caminho para arquivos de mídia. Devem ser alterados para refletir a pasta em que o novo projeto foi criado.
Caminho original para os arquivos de mídia
Mude para:
Como deve ficar o caminho para os arquivos de mídia
(O caminho varia dependendo de onde você criar o projeto, verifique!)
Pronto, agora é só compilar.

Problemas
Com o uso da versão 1.2.10 do SDL_image, algumas imagens apresentam degradação na cor, o problema não ocorre na versão 1.2.08, mas com essa versão não é possível compilar em 64 bits. A versão 1.2.09 não foi testada. O problema nas cores da versão utilizada, pode ser sanado efetuando ajustes na imagem que apresentar distorção.