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 
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
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;
Tag: — skhaz @ 3:25
Deixei a documentação um pouco lado e Estou portando o framework para Nintendo DS, PSP e talvez outros consoles.
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. 
Tag: — skhaz @ 11:25
Sejam bem vindos à pagina da Wintermoon no sourceforge.