website Oficial Allegro.
Os fontes deste projetos é um port do código fonte do curso 2D Game Development Course, original em C++ para C.
Abaixo estão listados os capítulos do curso que o código foi migrado.
- 5.0 – Our First Game
- 5.1 – Our First Game: The Player
- 5.2 – Our First Game: Timing and Movement
- 5.3 – Our First Game: The Projectiles
- 5.4 – Our First Game: The Enemies
- 5.5 – Our First Game: Collision Detection
- 5.6 – Our First Game: Game Logic
- 5.7 – Our First Game: Conclusion
Precisamos montar um ambiente de desenvolvimento que nos possibilite trabalhar com a Allegro em C. Abaixo vamos tratar de itens como compiladores, bibliotecas externas (dependências), IDE de desenvolvimento. Na maioria dos casos os fontes das bibliotecas serão baixados e compilados utilizando o compilador que estaremos trabalhando.
Este tutorial descreve a configuração do ambiente de desenvolvimento em Windows, utilizando a IDE Eclipse CDT e o MinGW com seu port do GCC para Windows.
Nos passos abaixo são sugeridos alguns diretórios padronizados, como c:\Allegro5, c:\MinGW ou c:\temp
Caso queira utilizar outros diretorios duas dicas:
- Não utilize espaços no nome dos diretórios: "Meus Documentos" ou "Trabalho Facul" são exemplos que darão erro.
- Não se esqueça de substituir os caminhos mostrados no tutorial pelos caminhos que você escolheu. Óbvio. ¬¬
Para Ubuntu (Linux) utilize outro tutorial descrito aqui
- MinGW Atenção: Requer conexão com a Internet para realizar a instalação!
-
Baixar o instalador (este tutorial foi homologado com a versão mingw-get-inst-20120426.exe do instalador)
-
Execute o instalador
- Tela Welcome: Clique em Next
- Tela Administrator Install (se você estiver como administrador do Windows): Clique Next
- Tela Repository Catalogues: Marque a opção Download latest repository packages e clique em Next
- Tela License Agreement: Aceite as condições (I accept the agreement) e clique em Next
- Tela Select Destination Location: Escolha o diretório de instalação. É recomendado manter o diretório sugerido C:\MinGW. Clique em Next
- Tela Select Start Menu Folder: Clique em Next
- Tela Select Components: Marque as opções abaixo e depois clique em Next
- C Compiler
- C++ Compiler
- MinGW Developer ToolKit
- Tela Ready to Install: Clique em Install
- O programa de instalação do MinGW irá atualizar sua lista de pacotes e depois irá baixar as versões mais atualizadas. O procedimento pode levar alguns minutos.
-
Pequena correção de um cabeçalho (.h) do MinGW:
- Abra o arquivo limits.h que está em C:/mingw/include e encontre o trecho de código abaixo (final do arquivo)
-
/* MSVC compatibility */
#define _I64_MIN LONG_LONG_MIN
#define _I64_MAX LONG_LONG_MAX
#define _UI64_MAX ULONG_LONG_MAX
#endif /* Not Strict ANSI and GNU C compiler */
#endif /* not _LIMITS_H_ */
- Inclua o código abaixo antes da última linha
#define SIZE_T_MAX UINT_MAX /* max value for a size_t */
- O resultado final deve ser este (pode ter umas linhas em branco entre os comandos =]):
/* MSVC compatibility */
#define _I64_MIN LONG_LONG_MIN
#define _I64_MAX LONG_LONG_MAX
#define _UI64_MAX ULONG_LONG_MAX
#endif /* Not Strict ANSI and GNU C compiler */
#define SIZE_T_MAX UINT_MAX /* max value for a size_t */
#endif /* not _LIMITS_H_ */
- Cmake
- Baixar o instalador Windows (este tutorial foi homologado com a versão cmake-2.8.9-win32-x86.exe do instalador)
- Execute o instalador
- Tela Bem Vindo: Clique em Próximo
- Tela Acordo da Licensa: Clique em Eu Concordo
- Tela Install Options: Escolha a opção Add CMake to the system PATH for all users e clique em Próximo
- Tela Escolher o Local da Instalação: Clique em Próximo
- Tela Escolher a Pasta do Menu Iniciar: Clique em Instalar
- No windows explorer clique com o botão direito em Computador -> Propriedades
- Ir em Configurações Avançadas -> Variaveis de Ambiente
- Na segunda caixa, Variaveis do sistema, encontrar a variavel Path
- Selecione a variável e escolha editar
- No final do Valor da variável incluir: ;C:\MinGW\bin
- CUIDADO! Tem que ter o ; (ponto-e-virgula) antes!
- Clique em OK
- Ainda na segunda caixa, clique em Novo... para criar uma nova variavel de ambiente
- Configure o nome da variavel como MINGDIR
- Configure o valor da MINGDIR para *C:\MinGW*
- Clique em Ok
- Clique em Ok e depois novamente em Ok
- Allegro5 Código Fonte
- Baixe a versão mais atual (allegro-5.0.7.zip) da Allegro
- Descompacte na pasta C:/Allegro5
- Crie um diretorio "build" dentro desta pasta (C:/Allegro5/build)
- Crie um diretorio "deps" dentro desta pasta (C:/Allegro5/deps)
Abaixo cada dependência tem um link para seu site oficial. Para facilitar, coloquei no dropbox estes pacotes.
-
Ogg (libogg) Código Fonte
- descompacte para a pasta c:/temp/libogg
- C:\MinGW\msys\1.0\msys.bat
- cd c:/temp/libogg
- ./configure
- make
- make install
- crie o diretorio "libogg" em C:/Allegro5/deps
- copie de C:\MinGW\msys\1.0\local as pastas para a pasta C:/Allegro5/deps/libogg
- copie de C:\MinGW\msys\1.0\local para C:\MinGW
- apague o conteudo de C:\MinGW\msys\1.0\local
-
Vorbis(libvorbis) Código Fonte
- descompacte para a pasta c:/temp/libvorbs
- C:\MinGW\msys\1.0\msys.bat
- cd c:/temp/libvorbs
- ./configure
- make
- make install
- crie o diretorio "libvorbis" em C:/Allegro5/deps
- copie de C:\MinGW\msys\1.0\local as pastas para a pasta C:/Allegro5/deps/libvorbis
- apague o conteudo de C:\MinGW\msys\1.0\local
-
FLAC Código Fonte
- descompacte para a pasta c:/temp/flac
- C:\MinGW\msys\1.0\msys.bat
- cd c:/temp/flac
- ./configure
- make
- Alguns erros podem ser exibidos no final do processo, se forem relacionados a pasta examples são erros esperados. Não se preocupe, a biblioteca terá sido compilada com sucesso.
- make install
- crie o diretorio "flac" em C:/Allegro5/deps
- copie de C:\MinGW\msys\1.0\local as pastas para a pasta C:/Allegro5/deps/flac
- apague o conteudo de C:\MinGW\msys\1.0\local
-
DUMB Código Fonte
- descompacte para a pasta c:/temp/dumb
- vá para o prompt de comando (iniciar -> executar -> cmd)
- cd c:/temp/dumb
- mingw32-make
- Would you like to compile DUMB for DJGPP or MinGW (D/M)? M
- Would you like support for Allegro (Y/N) N
- crie o diretorio "dumbs" em C:/Allegro5/deps
- copie de c:/temp/dumb as pastas "lib" e "include" para a pasta C:/Allegro5/deps/dumbs
-
OpenAL Binários
- baixe os binários para Windows
- descompacte para a pasta c:/temp/openal
- crie o diretorio "openal" em C:/Allegro5/deps
- copie de c:/temp/openal as pastas "lib" e "include" para a pasta C:/Allegro5/deps/openal
-
FreeType Binários
- baixe os binários para Windows
- descompacte para a pasta c:/temp/freetype
- crie o diretorio "freetype" em C:/Allegro5/deps
- copie de c:/temp/freetype as pastas "lib" e "include" para a pasta C:/Allegro5/deps/freetype
-
dx9mgw.zip Binários
- Encontre e baixo o arquivo dx9mgw.zip
- descompacte para a pasta c:/temp/dx9
- copie de c:/temp/dx9 todas as pastas para a pasta C:\MinGW
- Sobrescreva os arquivos que tem o mesmo nome
- Abra o prompt de comando (CMD) e vá para o diretorio C:/Allegro5/build
- Digite os comandos:
- cmake .. -G "MinGW Makefiles"
- Cuidado! É case sensitive!
- Mais CUIDADO ainda! o comando só funcionará se for digitado corretamente! Então vamos ilustrar (Onde estiver escrito [espaço] digite um espaço. Não vá escrever [espaço] na linha de comando ¬¬):
- cmake[espaço]..[espaço]-G[espaço]"MinGW Makefiles"
- mingw32-make
- mingw32-make install
- cmake .. -G "MinGW Makefiles"
-
- Escolher a versão compatível com o sistema operacional
- Instalar a JDK
-
- Escolher a versão compatível com o sistema operacional
- Baixar e descompactar em alguma pasta. Eclipse pronto!
Para instalar a JDK no Ubuntu Linux
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
- Abra o Eclipse e crie um novo projeto C
- Dê um nome para seu projeto, por exemplo TesteAllegro
- Em Project Type escolha Executable -> Empty Project
- Em Toolchains escolha MinGW GCC
- Clique em Next -> Advanced settings...
- Selecione C/C++ Build -> Settings
- Selecione “Configuration:” = “[All configurations]"
- Selecione MinGW C Linker -> Libraries
- Na seção Librairies (-l) adicione liballegro e liballegro_dialog
- Na seção Librairy search path (-L) adicione C:\MinGW\lib
- Clique em Ok -> Finish
- Crie um novo Source File
- Dê um nome para seu código fonte, por exemplo primeiroTeste.c -> Finish
- Insira o código abaixo:
#include <allegro5/allegro.h>
#include <allegro5/allegro_native_dialog.h>
int main(void) {
ALLEGRO_DISPLAY *display = NULL;
if (!al_init()) {
al_show_native_message_box(NULL, NULL, NULL,
"failed to initialize allegro!", NULL, 0 );
return -1;
}
display = al_create_display(640, 480);
if (!display) {
al_show_native_message_box(NULL, NULL, NULL,
"failed to initialize display!", NULL, 0 );
return -1;
}
al_show_native_message_box(display, "Algum Titulo", "Resultado da configuracao:",
"Tudo okay!", NULL, 0 );
al_destroy_display(display);
return 0;
}
- Build o projeto (Ctrl+B ou no menu Project -> Build Project). Não execute o projeto ainda.
- Copie a C:\allegro5\build\lib\allegro-5.0.dll e coloque no diretório Debug do seu projeto (este diretório é criado quando fazemos o Build do projeto)
- Refaça o Build do projeto. Agora não devem ser apresentados erros no código!
- Execute o projeto =]
"SE EM TUDO O MAIS FOREM IDÊNTICAS AS VÁRIAS EXPLICAÇÕES DE UM FENÔMENO, A MAIS SIMPLES É A MELHOR" — WILLIAM DE OCKHAM
-
[Building Allegro 5.1 (rev 15032) Windows 7] 4
-
[Setting up Allegro to work with Eclipse on Windows XP] 5
-
Allegro 5 Readme.txt (arquivo texto que vem junto com os códigos fontes e se encontra na raiz do diretório da Allegro)
Outros links úteis: [Allegro Community] 1, [Allegro Wiki] 2 e [Deitel Allegro Resources] 3.