#include #include "logging.h" #include "files.h" #include "display.h" #include "music.h" #include "game.h" #include "menu.h" #ifdef __cplusplus extern "C" #endif int main(int argc, char *argv[]) { if (SDL_Init(SDL_INIT_EVERYTHING) != 0){ logSDLError("SDL_Init"); return 1; } if (TTF_Init()== -1){ logTTFError("TTF_Init"); return 1; } screen.font=TTF_OpenFont("/sdcard/LiberationMono-Regular.ttf", 14); if(!screen.font) { logTTFError("TTF_OpenFont: "); } screen.window = SDL_CreateWindow(screen.name, 100, 100, screen.width, screen.height, SDL_WINDOW_SHOWN); if (screen.window == nullptr){ logSDLError("CreateWindow"); return 2; } screen.renderer = SDL_CreateRenderer(screen.window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if(screen.renderer == nullptr) screen.renderer = SDL_CreateRenderer(screen.window, -1, 0); if (screen.renderer == nullptr){ logSDLError("CreateRenderer"); return 3; } if(Mix_OpenAudio(MIX_SAMPLERATE, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024) == -1) //Initialisation de l'API Mixer logMixError("OpenAudio"); SDL_Event e; bool quit = false; bool playing; std::vector touchEvents; while (!quit) { while (SDL_PollEvent(&e)){ switch (e.type ) { case SDL_QUIT: SDL_Log("SDL_QUIT"); quit = true; break; case SDL_KEYDOWN: SDL_Log("SDL_KEYDOWN"); quit = true; break; case SDL_FINGERDOWN: SDL_Log("SDL_FINGERDOWN"); touchEvents.push_back(e.tfinger); break; case SDL_WINDOWEVENT: if(e.window.event == SDL_WINDOWEVENT_RESIZED) { screen.width = e.window.data1; screen.height = e.window.data2; SDL_DestroyWindow(screen.window); screen.window = SDL_CreateWindow(screen.name, 100, 100, screen.width, screen.height, SDL_WINDOW_SHOWN); if (screen.window == nullptr){ logSDLError("CreateWindow"); return 2; } } break; } } if(screen.state == STATE_INIT) { menu::init_menu(); } else if(screen.state == STATE_MENU) { menu::update_menu(); } else if(screen.state == STATE_PLAYING) { // game::update(); } // if(!playing) // { // if(!init_game()) // playing=true; // } // else if(quit) // quit_game(); // else // update_game(); } SDL_Log("Exited main loop"); Mix_CloseAudio(); SDL_Log("SDL_Mixer closed"); SDL_DestroyRenderer(screen.renderer); SDL_Log("Renderer destroyed"); SDL_DestroyWindow(screen.window); SDL_Log("Window destroyed"); TTF_CloseFont(screen.font); screen.font=NULL; SDL_Log("Font closed"); TTF_Quit(); SDL_Log("SDL_TTF closed"); SDL_Quit(); SDL_Log("SDL closed"); return 0; }