Feb 26 2008

Documentação lançada

Tag:skhaz @ 12:46

Finalmente e depois de muito tempo, a documentação foi lançada, versão online se encontra em http://wintermoon.sourceforge.net/wintermoondocs/index.html ou se preferir baixar a versão offline http://wintermoon.sourceforge.net/wintermoondocs.zip, ainda não está totalmente comentada pois são muitas classes, erros gramaticais, criticas e sugestões são muito bem vindas, elogios mais ainda :D


Dec 12 2007

Novos Updates

Tag:skhaz @ 12:27

Adicionei mais algumas classes como Thread, ThreadGroup, Mutex, corrigi algums bugs na classe Timer. Vector2D e MathUtil por Vinícius do Ponto V.
Vou fazer grandes mudanças nas convenções de codificação adotadas, talvez eu deixe à notação húngara, mude o nome de muitas classes e métodos, então se você estiver programando algo grande usando o framework (acredito que tenha ninguém ainda) melhor aguardar alguns dias. também não descarto a possibilidade do uso da Boost.
O pacote com As novas mudanças estão na seção Downloads


Dec 07 2007

Exemplo Basico

Tag:skhaz @ 8:49

O primeiro exemplo de uso do framework, ele pode ser encontrado na seção download, aparentemente pode parecer complexo, mais é um metodo similar que grandes engines como a Ogre3D usam. Abaixo segue o exemplo.


#include "Wintermoon.h"

using namespace Wintermoon;

class BasicApp : public Application, public EventReceiver
{
  protected:
    bool mRunning;
    Root* mRoot;
    GraphicsManager* mGraphics;
    InputManager* mInput;

  private:
    // herdado de EventReceiver
    void onKeyPress(SDL_keysym& keysym)
    {
        // Ao pressionado a tecla ESC
        if (keysym.sym == SDLK_ESCAPE)
        {
            mRunning = false;
        }
    }

    // onQuit herdado de EventReceiver
    // um dos mais importantes metodos
    // quando ele é chamado indica que a SDL
    // recebeu um sinal para finalizar a aplicação
    // ou quando o ussuario clica em fechar da janela
    void onQuit()
    {
        mRunning = false;
    }

  public:
    // main, herdado de Application
    // e o ponto de começo da sua aplicação
    // args é um vector de strings que contem
    // os comandos de linha (antigos int argc, char** argv)
    int main(std::vector<std::string>& args)
    {
        try
        {
            // Cria dispositivo raiz
            mRoot = Root::CreateDevice();
            mGraphics = mRoot->GetGraphicsDriver();
            mInput = mRoot->GetInputManager();

            // Inicializa o video (Cria a janela)
            mGraphics->Init("Wintermoon", 640, 480, 16, false);

            // Inicializa a entrada de eventos
            // (teclado, mouse, joystick)
            mInput->Init();

            // Adiciona essa classe como
            // receptora de eventos
            // herdada de EventReceiver
            mInput->AddReceiver(this);

            mRunning = true;

            // Loop principal
            for (; mRunning; SDL_Delay(10))
            {
                // beginDraw deve ser sempre chamada
                // antes de qualquer rotina de desenho
                mGraphics->beginDraw();

                // o metodo Logic deve ser sempre chamado
                // sempre no inicio do loop
                mInput->Logic();

                // Aqui vai seu Codigo

                // endDraw deve ser sempre chamada
                // após o termino dos desenhos
                mGraphics->endDraw();
            }

            // destroi o sistema
            // ele automaticamente se encarrega
            // de liberar toda memoria antes de sair
            delete mRoot;
        }

        catch (Exception& e)
        {
            fprintf(stderr, "%s\n", e.what());
        }

        return 0;
    }
} app;

Dec 04 2007

Wintermoon no Nintendo DS e PSP

Tag:skhaz @ 3:25

Deixei a documentação um pouco lado e Estou portando o framework para Nintendo DS, PSP e talvez outros consoles.


Dec 01 2007

Iniciando a Documentação

Tag:skhaz @ 13:05

Bom.. hoje estou inciando a documentação do codigo fonte em ingles e portugues, escrevendo algums exemplos de uso, e em breve teremos um forum. :)


Nov 30 2007

Apresentação

Tag:skhaz @ 11:25

Sejam bem vindos à pagina da Wintermoon no sourceforge.