genbetadev / Genbeta-Dev-Engine

Desarrollo de un Game Engine básico sobre C++ y SFML 2.1
MIT License
63 stars 32 forks source link

Posible problema al inicializar los subsistemas en App.cpp #41

Closed RdlP closed 10 years ago

RdlP commented 10 years ago

Estaba revisando el fichero App.cpp y he visto esto:

sf::Int16 App::run()
{
        // Establecemos running a true para arrancar la aplicaci�n
        this->running = true;
        // Crea la ventana de la aplicaci�n
        this->createWindow();
        // Arranca todos los subsistemas necesarios
        this->init();
        // Entra en el Bucle del juego hasta que runnig sea false
        this->gameLoop();
        // Se encarga de la limpieza y cerrar todos los subsistemas
        this->cleanup();
        // Salimos con el c�digo de salida generado
        return this->exitCode;
}

Me he dado cuenta que primero se crea la ventana y luego se inician los subsistemas, pero a mi entender (por lo menos en SDL) para crear una ventana había que iniciar el subsistema gráfico, así que quizá y para currarnos en salud debamos cambiar el orden del codigo de arriba por:

sf::Int16 App::run()
{
        // Establecemos running a true para arrancar la aplicaci�n
        this->running = true;
        // Arranca todos los subsistemas necesarios
        this->init();
        // Crea la ventana de la aplicaci�n
        this->createWindow();
        // Entra en el Bucle del juego hasta que runnig sea false
        this->gameLoop();
        // Se encarga de la limpieza y cerrar todos los subsistemas
        this->cleanup();
        // Salimos con el c�digo de salida generado
        return this->exitCode;
}

¿Que opináis?

adrigm commented 10 years ago

En SFML no es necesario, los subsistemas a inicializar son los del propio engine, gestor de recursos, escenas, etc.

De todas maneras sí tendremos que primero inicializar ya que createWindow usará el Gestor de recursos que se ha de inicializar en init()