A comunidade brasileira de desenvolvimento e programação de jogos.
Bem-vindo: Seg Jan 25, 2021 5:30 am

Todos os horários são GMT - 3 horas




Criar novo tópico Responder  [ 12 mensagens ] 
Autor Mensagem
 Título: Java - Engine 2D - Qual devo usar ?
MensagemEnviado: Qua Fev 21, 2007 3:08 am 
Offline
Membro novo
Avatar do usuário

Registrado em: Seg Out 09, 2006 1:19 am
Mensagens: 11
Localização: Belo Horizonte - MG
Ola senhores(as)
Estou comecando no mundo Java/Games..
Intao, vamos comecar com 2D... ( ja fiz algo em C++) :lol:
e pra java (ME) o que vc me indicam ?

_________________
Sem mais,

Gladson Reis
Diretor/System Engineer
Stones Tecnologia Ltda - Sistemas & Automação
e-mail: gladson@stonestecnologia.com.br
home page: www.stonestecnologia.com.br
sgStones - ERP © 1999/2007 Stones Tecnologia


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Qua Fev 21, 2007 12:40 pm 
Offline
Membro avançado
Avatar do usuário

Registrado em: Dom Jan 01, 2006 9:07 pm
Mensagens: 250
Ola Cyberblues,
Eu tambem estou comecando com java games agora (jah fiz muita coisa em C/C++ :lol: ). Andei pesquisando e achei uma biblioteca bem interessante para desenvolvimento grafico chamada Lightweight Java Game Library.

Voce pode emcontrar informacoes sobre ela em http://www.lwjgl.com/

Nao sei se essa eh a melhor biblioteca que existe para se trabalhar com jogos em java, mas entre as que eu conheco essa parece ser a mais simples de se utilizar e com grande capacidade, alem de estar com o seu desenvolvimento bem ativo (a versao 1.0 saiu dia 4/02/07).

Vale a pena dar uma conferida.

_________________
Mudando tudo pra variar um pouco... ^^


Voltar ao topo
 Perfil  
 
 Título: Legal !!
MensagemEnviado: Qua Fev 21, 2007 11:52 pm 
Offline
Membro novo
Avatar do usuário

Registrado em: Seg Out 09, 2006 1:19 am
Mensagens: 11
Localização: Belo Horizonte - MG
vc ja fez alguma coisa ?

_________________
Sem mais,

Gladson Reis
Diretor/System Engineer
Stones Tecnologia Ltda - Sistemas & Automação
e-mail: gladson@stonestecnologia.com.br
home page: www.stonestecnologia.com.br
sgStones - ERP © 1999/2007 Stones Tecnologia


Voltar ao topo
 Perfil  
 
 Título: Erros no Eclipse Version: 3.2.2
MensagemEnviado: Qui Fev 22, 2007 1:00 am 
Offline
Membro novo
Avatar do usuário

Registrado em: Seg Out 09, 2006 1:19 am
Mensagens: 11
Localização: Belo Horizonte - MG
Cara eu fiz este exemplo e deu os erroas abaixo :?
Código:
package org.lwjgl.test.opengl;

import java.nio.FloatBuffer;

import org.lwjgl.BufferUtils;
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.ARBTransposeMatrix;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GLContext;

/**
* <p>
* This is the OpenGL "standard" Gears demo, originally by Brian Paul
* </p>
* @author Brian Matzon <brian@matzon.dk>
* @version $Revision$
* $Id$
*/
public class Gears {

   private float   view_rotx   = 20.0f;

   private float   view_roty   = 30.0f;

   private float   view_rotz   = 0.0f;

   private int      gear1;

   private int      gear2;

   private int      gear3;

   private float   angle         = 0.0f;

   public static void main(String[] args) {
      new Gears().execute();
      System.exit(0);
   }

   /**
    *
    */
   private void execute() {
      try {
         init();
      } catch (LWJGLException le) {
         le.printStackTrace();
         System.out.println("Failed to initialize Gears.");
         return;
      }

      loop();

      destroy();
   }

   /**
    *
    */
   private void destroy() {
      Display.destroy();
   }

   /**
    *
    */
   private void loop() {
      long startTime = System.currentTimeMillis() + 5000;
      long fps = 0;

      while (!Display.isCloseRequested()) {
         angle += 2.0f;

         GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);

         GL11.glPushMatrix();
         GL11.glRotatef(view_rotx, 1.0f, 0.0f, 0.0f);
         GL11.glRotatef(view_roty, 0.0f, 1.0f, 0.0f);
         GL11.glRotatef(view_rotz, 0.0f, 0.0f, 1.0f);

         GL11.glPushMatrix();
         GL11.glTranslatef(-3.0f, -2.0f, 0.0f);
         GL11.glRotatef(angle, 0.0f, 0.0f, 1.0f);
         GL11.glCallList(gear1);
         GL11.glPopMatrix();

         GL11.glPushMatrix();
         GL11.glTranslatef(3.1f, -2.0f, 0.0f);
         GL11.glRotatef(-2.0f * angle - 9.0f, 0.0f, 0.0f, 1.0f);
         GL11.glCallList(gear2);
         GL11.glPopMatrix();

         GL11.glPushMatrix();
         GL11.glTranslatef(-3.1f, 4.2f, 0.0f);
         GL11.glRotatef(-2.0f * angle - 25.0f, 0.0f, 0.0f, 1.0f);
         GL11.glCallList(gear3);
         GL11.glPopMatrix();

         GL11.glPopMatrix();

         Display.update();
         if (startTime > System.currentTimeMillis()) {
            fps++;
         } else {
            long timeUsed = 5000 + (startTime - System.currentTimeMillis());
            startTime = System.currentTimeMillis() + 5000;
            System.out.println(fps + " frames in " + (float) (timeUsed / 1000f) + " seconds = "
                  + (fps / (timeUsed / 1000f)));
            fps = 0;
         }
      }
   }

   /**
    *
    */
   private void init() throws LWJGLException {
      // create Window of size 300x300
      Display.setLocation((Display.getDisplayMode().getWidth() - 300) / 2,
                                    (Display.getDisplayMode().getHeight() - 300) / 2);
      Display.setDisplayMode(new DisplayMode(300, 300));
    Display.setTitle("Gears");
      Display.create();

      // setup ogl
      FloatBuffer pos = BufferUtils.createFloatBuffer(4).put(new float[] { 5.0f, 5.0f, 10.0f, 0.0f});
      FloatBuffer red = BufferUtils.createFloatBuffer(4).put(new float[] { 0.8f, 0.1f, 0.0f, 1.0f});
      FloatBuffer green = BufferUtils.createFloatBuffer(4).put(new float[] { 0.0f, 0.8f, 0.2f, 1.0f});
      FloatBuffer blue = BufferUtils.createFloatBuffer(4).put(new float[] { 0.2f, 0.2f, 1.0f, 1.0f});
      pos.flip();
      red.flip();
      green.flip();
      blue.flip();

      GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, pos);
      GL11.glEnable(GL11.GL_CULL_FACE);
      GL11.glEnable(GL11.GL_LIGHTING);
      GL11.glEnable(GL11.GL_LIGHT0);
      GL11.glEnable(GL11.GL_DEPTH_TEST);

      /* make the gears */
      gear1 = GL11.glGenLists(1);
      GL11.glNewList(gear1, GL11.GL_COMPILE);
      GL11.glMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT_AND_DIFFUSE, red);
      gear(1.0f, 4.0f, 1.0f, 20, 0.7f);
      GL11.glEndList();

      gear2 = GL11.glGenLists(1);
      GL11.glNewList(gear2, GL11.GL_COMPILE);
      GL11.glMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT_AND_DIFFUSE, green);
      gear(0.5f, 2.0f, 2.0f, 10, 0.7f);
      GL11.glEndList();

      gear3 = GL11.glGenLists(1);
      GL11.glNewList(gear3, GL11.GL_COMPILE);
      GL11.glMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT_AND_DIFFUSE, blue);
      gear(1.3f, 2.0f, 0.5f, 10, 0.7f);
      GL11.glEndList();

      GL11.glEnable(GL11.GL_NORMALIZE);

      GL11.glMatrixMode(GL11.GL_PROJECTION);

      System.err.println("GL_VENDOR: " + GL11.glGetString(GL11.GL_VENDOR));
      System.err.println("GL_RENDERER: " + GL11.glGetString(GL11.GL_RENDERER));
      System.err.println("GL_VERSION: " + GL11.glGetString(GL11.GL_VERSION));
      System.err.println();
      System.err.println("glLoadTransposeMatrixfARB() supported: " + GLContext.getCapabilities().GL_ARB_transpose_matrix);
      if (!GLContext.getCapabilities().GL_ARB_transpose_matrix) {
         // --- not using extensions
         GL11.glLoadIdentity();
      } else {
         // --- using extensions
         final FloatBuffer identityTranspose = BufferUtils.createFloatBuffer(16).put(
                                                                                                                           new float[] { 1, 0, 0, 0, 0, 1, 0, 0,
                                                                                                                                 0, 0, 1, 0, 0, 0, 0, 1});
         identityTranspose.flip();
         ARBTransposeMatrix.glLoadTransposeMatrixARB(identityTranspose);
      }

      float h = (float) 300 / (float) 300;
      GL11.glFrustum(-1.0f, 1.0f, -h, h, 5.0f, 60.0f);
      GL11.glMatrixMode(GL11.GL_MODELVIEW);
      GL11.glLoadIdentity();
      GL11.glTranslatef(0.0f, 0.0f, -40.0f);
   }

   /**
    * Draw a gear wheel.  You'll probably want to call this function when
    * building a display list since we do a lot of trig here.
    *
    * @param inner_radius radius of hole at center
    * @param outer_radius radius at center of teeth
    * @param width width of gear
    * @param teeth number of teeth
    * @param tooth_depth depth of tooth
    */
   private void gear(float inner_radius, float outer_radius, float width, int teeth, float tooth_depth) {
      int i;
      float r0, r1, r2;
      float angle, da;
      float u, v, len;

      r0 = inner_radius;
      r1 = outer_radius - tooth_depth / 2.0f;
      r2 = outer_radius + tooth_depth / 2.0f;

      da = 2.0f * (float) Math.PI / teeth / 4.0f;

      GL11.glShadeModel(GL11.GL_FLAT);

      GL11.glNormal3f(0.0f, 0.0f, 1.0f);

      /* draw front face */
      GL11.glBegin(GL11.GL_QUAD_STRIP);
      for (i = 0; i <= teeth; i++) {
         angle = i * 2.0f * (float) Math.PI / teeth;
         GL11.glVertex3f(r0 * (float) Math.cos(angle), r0 * (float) Math.sin(angle), width * 0.5f);
         GL11.glVertex3f(r1 * (float) Math.cos(angle), r1 * (float) Math.sin(angle), width * 0.5f);
         if (i < teeth) {
            GL11.glVertex3f(r0 * (float) Math.cos(angle), r0 * (float) Math.sin(angle), width * 0.5f);
            GL11.glVertex3f(r1 * (float) Math.cos(angle + 3.0f * da), r1 * (float) Math.sin(angle + 3.0f * da),
                                    width * 0.5f);
         }
      }
      GL11.glEnd();

      /* draw front sides of teeth */
      GL11.glBegin(GL11.GL_QUADS);
      for (i = 0; i < teeth; i++) {
         angle = i * 2.0f * (float) Math.PI / teeth;
         GL11.glVertex3f(r1 * (float) Math.cos(angle), r1 * (float) Math.sin(angle), width * 0.5f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + da), r2 * (float) Math.sin(angle + da), width * 0.5f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + 2.0f * da), r2 * (float) Math.sin(angle + 2.0f * da), width * 0.5f);
         GL11.glVertex3f(r1 * (float) Math.cos(angle + 3.0f * da), r1 * (float) Math.sin(angle + 3.0f * da), width * 0.5f);
      }
      GL11.glEnd();

      /* draw back face */
      GL11.glBegin(GL11.GL_QUAD_STRIP);
      for (i = 0; i <= teeth; i++) {
         angle = i * 2.0f * (float) Math.PI / teeth;
         GL11.glVertex3f(r1 * (float) Math.cos(angle), r1 * (float) Math.sin(angle), -width * 0.5f);
         GL11.glVertex3f(r0 * (float) Math.cos(angle), r0 * (float) Math.sin(angle), -width * 0.5f);
         GL11.glVertex3f(r1 * (float) Math.cos(angle + 3 * da), r1 * (float) Math.sin(angle + 3 * da), -width * 0.5f);
         GL11.glVertex3f(r0 * (float) Math.cos(angle), r0 * (float) Math.sin(angle), -width * 0.5f);
      }
      GL11.glEnd();

      /* draw back sides of teeth */
      GL11.glBegin(GL11.GL_QUADS);
      for (i = 0; i < teeth; i++) {
         angle = i * 2.0f * (float) Math.PI / teeth;
         GL11.glVertex3f(r1 * (float) Math.cos(angle + 3 * da), r1 * (float) Math.sin(angle + 3 * da), -width * 0.5f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + 2 * da), r2 * (float) Math.sin(angle + 2 * da), -width * 0.5f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + da), r2 * (float) Math.sin(angle + da), -width * 0.5f);
         GL11.glVertex3f(r1 * (float) Math.cos(angle), r1 * (float) Math.sin(angle), -width * 0.5f);
      }
      GL11.glEnd();

      /* draw outward faces of teeth */
      GL11.glBegin(GL11.GL_QUAD_STRIP);
      for (i = 0; i < teeth; i++) {
         angle = i * 2.0f * (float) Math.PI / teeth;
         GL11.glVertex3f(r1 * (float) Math.cos(angle), r1 * (float) Math.sin(angle), width * 0.5f);
         GL11.glVertex3f(r1 * (float) Math.cos(angle), r1 * (float) Math.sin(angle), -width * 0.5f);
         u = r2 * (float) Math.cos(angle + da) - r1 * (float) Math.cos(angle);
         v = r2 * (float) Math.sin(angle + da) - r1 * (float) Math.sin(angle);
         len = (float) Math.sqrt(u * u + v * v);
         u /= len;
         v /= len;
         GL11.glNormal3f(v, -u, 0.0f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + da), r2 * (float) Math.sin(angle + da), width * 0.5f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + da), r2 * (float) Math.sin(angle + da), -width * 0.5f);
         GL11.glNormal3f((float) Math.cos(angle), (float) Math.sin(angle), 0.0f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + 2 * da), r2 * (float) Math.sin(angle + 2 * da), width * 0.5f);
         GL11.glVertex3f(r2 * (float) Math.cos(angle + 2 * da), r2 * (float) Math.sin(angle + 2 * da), -width * 0.5f);
         u = r1 * (float) Math.cos(angle + 3 * da) - r2 * (float) Math.cos(angle + 2 * da);
         v = r1 * (float) Math.sin(angle + 3 * da) - r2 * (float) Math.sin(angle + 2 * da);
         GL11.glNormal3f(v, -u, 0.0f);
         GL11.glVertex3f(r1 * (float) Math.cos(angle + 3 * da), r1 * (float) Math.sin(angle + 3 * da), width * 0.5f);
         GL11.glVertex3f(r1 * (float) Math.cos(angle + 3 * da), r1 * (float) Math.sin(angle + 3 * da), -width * 0.5f);
         GL11.glNormal3f((float) Math.cos(angle), (float) Math.sin(angle), 0.0f);
      }
      GL11.glVertex3f(r1 * (float) Math.cos(0), r1 * (float) Math.sin(0), width * 0.5f);
      GL11.glVertex3f(r1 * (float) Math.cos(0), r1 * (float) Math.sin(0), -width * 0.5f);
      GL11.glEnd();

      GL11.glShadeModel(GL11.GL_SMOOTH);

      /* draw inside radius cylinder */
      GL11.glBegin(GL11.GL_QUAD_STRIP);
      for (i = 0; i <= teeth; i++) {
         angle = i * 2.0f * (float) Math.PI / teeth;
         GL11.glNormal3f(-(float) Math.cos(angle), -(float) Math.sin(angle), 0.0f);
         GL11.glVertex3f(r0 * (float) Math.cos(angle), r0 * (float) Math.sin(angle), -width * 0.5f);
         GL11.glVertex3f(r0 * (float) Math.cos(angle), r0 * (float) Math.sin(angle), width * 0.5f);
      }
      GL11.glEnd();
   }
}



Código:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
   at java.lang.ClassLoader.loadLibrary(Unknown Source)
   at java.lang.Runtime.loadLibrary0(Unknown Source)
   at java.lang.System.loadLibrary(Unknown Source)
   at org.lwjgl.Sys$1.run(Sys.java:75)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.lwjgl.Sys.doLoadLibrary(Sys.java:68)
   at org.lwjgl.Sys.loadLibrary(Sys.java:84)
   at org.lwjgl.Sys.<clinit>(Sys.java:101)
   at org.lwjgl.opengl.Display.<clinit>(Display.java:108)
   at Gears.init(Gears.java:120)
   at Gears.execute(Gears.java:46)
   at Gears.main(Gears.java:37)


:( a configuracao do ECLIPSE nao funciona no meu vc pode me passar os passos ?

Version: 3.2.2
Build id: M20070212-1330

Esta é minha versao :D

_________________
Sem mais,

Gladson Reis
Diretor/System Engineer
Stones Tecnologia Ltda - Sistemas & Automação
e-mail: gladson@stonestecnologia.com.br
home page: www.stonestecnologia.com.br
sgStones - ERP © 1999/2007 Stones Tecnologia


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Qui Fev 22, 2007 12:39 pm 
Offline
Membro avançado
Avatar do usuário

Registrado em: Dom Jan 01, 2006 9:07 pm
Mensagens: 250
Hmm, eu não mexi muito com essa lib ainda não. Os poucos codigos q eu fiquei brincando eu estava rodando em uma maquina que já estava com o lwjgl instalado. Vou instalar ele aqui nesse pc agora atarde e depois posto um feedback pra vc.

_________________
Mudando tudo pra variar um pouco... ^^


Voltar ao topo
 Perfil  
 
 Título: Legal !!
MensagemEnviado: Qui Fev 22, 2007 1:26 pm 
Offline
Membro novo
Avatar do usuário

Registrado em: Seg Out 09, 2006 1:19 am
Mensagens: 11
Localização: Belo Horizonte - MG
Por favor
me ajude !!! :?

Valeu cara

_________________
Sem mais,

Gladson Reis
Diretor/System Engineer
Stones Tecnologia Ltda - Sistemas & Automação
e-mail: gladson@stonestecnologia.com.br
home page: www.stonestecnologia.com.br
sgStones - ERP © 1999/2007 Stones Tecnologia


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Sex Fev 23, 2007 11:31 am 
Offline
Membro avançado
Avatar do usuário

Registrado em: Dom Jan 01, 2006 9:07 pm
Mensagens: 250
Opa, meu pc entrou em colapso ontem demorei quase o dia inteiro pra arrumar as coisas =/. Tive que adiar o lwjgl pra hoje atarde, desculpe pela demora.

EDIT:

Eu instalei aqui e até o momento estou com o mesmo problema que você. Pelo que eu percebi é um problema com o diretorio dos arquivos... Vou ver se consigo resolver.

_________________
Mudando tudo pra variar um pouco... ^^


Voltar ao topo
 Perfil  
 
 Título: ...
MensagemEnviado: Sex Fev 23, 2007 12:30 pm 
Offline
Membro novo

Registrado em: Ter Jan 23, 2007 8:10 pm
Mensagens: 18
Tentei configurar aqui no linux tb, mas da um erro de path, não consegui corrigir.
Conforme as faqs no site ele fala para utilizar com -Djava.library.path=caminho
mas mesmo eu setando a variavel ele não consegue encontar a liblwjgl

Mais tarde vou tentar configurar no windows, ai qualquer coisa posto um tutorial.


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Sex Fev 23, 2007 1:01 pm 
Offline
Membro avançado
Avatar do usuário

Registrado em: Dom Jan 01, 2006 9:07 pm
Mensagens: 250
Citação:
Q: When running the examples or my own program I get a 'Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path.
A: The VM cannot locate the lwjgl runtime library. Specify the path to it using -Djava.library.path=<path/to/library>


Eu tambem experimentei esse procedimento, mas apesar de nao receber mais os erros anteriores, continuo sem conseguir utilizar a lib corretamente.

O engracado é que o teste citado nas intruções de instalação funciona perfeitamente!

EDIT:

estou recebendo esse erro:
Código:
"Exception in thread main java.lang.noclassdeffounderror: Files"


Todas as vezes que eu recebi esse erro era problema com o classpath, mas ainda nao consegui fazer funcionar

_________________
Mudando tudo pra variar um pouco... ^^


Voltar ao topo
 Perfil  
 
 Título: -Djava.library.path= caminho ?
MensagemEnviado: Sáb Fev 24, 2007 2:29 am 
Offline
Membro novo
Avatar do usuário

Registrado em: Seg Out 09, 2006 1:19 am
Mensagens: 11
Localização: Belo Horizonte - MG
Citação:
Q: When running the examples or my own program I get a 'Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path.
A: The VM cannot locate the lwjgl runtime library. Specify the path to it using -Djava.library.path=<path/to/library>


-Djava.library.path= caminho ? :cry:

Qual caminho é esse ?
do java? do lwjgl ?

alguem pode me ajudar ?
:D

_________________
Sem mais,

Gladson Reis
Diretor/System Engineer
Stones Tecnologia Ltda - Sistemas & Automação
e-mail: gladson@stonestecnologia.com.br
home page: www.stonestecnologia.com.br
sgStones - ERP © 1999/2007 Stones Tecnologia


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Sáb Fev 24, 2007 12:56 pm 
Offline
Membro avançado
Avatar do usuário

Registrado em: Dom Jan 01, 2006 9:07 pm
Mensagens: 250
No meu caso o path eh: C:\Program Files (x86)\Java\lwjgl-1.0\native\win32

_________________
Mudando tudo pra variar um pouco... ^^


Voltar ao topo
 Perfil  
 
 Título: Viva !!!
MensagemEnviado: Seg Fev 26, 2007 1:08 am 
Offline
Membro novo
Avatar do usuário

Registrado em: Seg Out 09, 2006 1:19 am
Mensagens: 11
Localização: Belo Horizonte - MG
Consegui ta funcionando
hehehe
agora preciso de exemplos legais, pois os do site sao terriveis !!!

:lol:

_________________
Sem mais,

Gladson Reis
Diretor/System Engineer
Stones Tecnologia Ltda - Sistemas & Automação
e-mail: gladson@stonestecnologia.com.br
home page: www.stonestecnologia.com.br
sgStones - ERP © 1999/2007 Stones Tecnologia


Voltar ao topo
 Perfil  
 
Exibir mensagens anteriores:  Ordenar por  
Criar novo tópico Responder  [ 12 mensagens ] 

Todos os horários são GMT - 3 horas


Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante


Enviar mensagens: Proibido
Responder mensagens: Proibido
Editar mensagens: Proibido
Excluir mensagens: Proibido
Enviar anexos: Proibido

Ir para:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzido por: Suporte phpBB