Motor de sprites/animacions/surfaces i jugador centrat (v0.2.0)
This commit is contained in:
1 parent
7bb1edd08a
commit
de5a670fdb
34 files changed
+16137
-81
No files matched your search
+18
-4
@@ -3,6 +3,9 @@
|
||||
#include <SDL3/SDL.h>
|
||||
#include <SDL3/SDL_main.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
|
||||
#include "core/system/director.hpp"
|
||||
#include "core/system/event_buffer.hpp"
|
||||
|
||||
@@ -10,8 +13,13 @@ auto SDL_AppInit(void** appstate, int argc, char* argv[]) -> SDL_AppResult {
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
auto* director = new Director();
|
||||
*appstate = director;
|
||||
// Marcador d'inici: ha de ser la PRIMERA línia de log del programa.
|
||||
std::cout << "Game start\n";
|
||||
|
||||
// Construïm el Director amb make_unique i l'entreguem en cru a SDL.
|
||||
// El SDL_AppQuit reclamarà la propietat amb un altre unique_ptr (RAII).
|
||||
auto director = std::make_unique<Director>();
|
||||
*appstate = director.release();
|
||||
return SDL_APP_CONTINUE;
|
||||
}
|
||||
|
||||
@@ -28,6 +36,12 @@ auto SDL_AppIterate(void* appstate) -> SDL_AppResult {
|
||||
|
||||
void SDL_AppQuit(void* appstate, SDL_AppResult result) {
|
||||
(void)result;
|
||||
auto* director = static_cast<Director*>(appstate);
|
||||
delete director;
|
||||
// Reabsorbim la propietat: el destructor neteja l'escena; els singletons
|
||||
// (Screen, Cache) viuen fins a la destrucció estàtica i SDL_Quit dispara
|
||||
// via atexit després d'ells.
|
||||
{
|
||||
std::unique_ptr<Director> director(static_cast<Director*>(appstate));
|
||||
}
|
||||
// Marcador de fi: ha de ser l'ÚLTIMA línia de log del programa.
|
||||
std::cout << "Bye!\n";
|
||||
}
|
||||
Reference in new issue
Block a user