#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_ttf.h>
#include <FMOD/fmod.h>

#include "quitter.h"

void quitter(SDL_Surface *ecran, int *continuer)
{
    SDL_Event eventQuitter;
    SDL_Rect positionFond;
    SDL_Surface *fond = NULL;
    FMUSIC_MODULE *fondMusique = NULL;
    int temps = 0, tempsFin = 0, finBoucle = 0, jouerMusique = 0;
    tempsFin = (SDL_GetTicks() + 10100);

    ecran = SDL_SetVideoMode(300, 500, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
    SDL_WM_SetCaption("Click'o'Mania - CREDITS" , NULL);

    fond = IMG_Load("IMG/fondCredits.png");

    fondMusique = FMUSIC_LoadSong("MUSIC/credits.mid");

    if(fondMusique == NULL)
        continuer = 0;

    if(!jouerMusique)
    {
        FMUSIC_PlaySong(fondMusique);
        FMUSIC_SetLooping(fondMusique, 0);
        jouerMusique = 1;
    }

    temps = SDL_GetTicks();

    while(!finBoucle)
    {
        SDL_PollEvent(&eventQuitter);
        switch(eventQuitter.type)
        {
            case SDL_QUIT:
                temps = tempsFin;
                break;
            case SDL_KEYDOWN:
                switch(eventQuitter.key.keysym.sym)
                {
                    case SDLK_ESCAPE:
                        temps = tempsFin;
                        break;
                }
                break;
        }

        if(!jouerMusique)
        {
            FMUSIC_PlaySong(fondMusique);
            FMUSIC_SetLooping(fondMusique, 1);
            jouerMusique = 1;
        }

        temps = SDL_GetTicks();
        SDL_WM_SetCaption("Click'o'Mania - CREDITS" , NULL);
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));

        positionFond.x = ecran->w / 2 - fond->w / 2;
        positionFond.y = ecran->h / 2 - fond->h / 2;
        SDL_BlitSurface(fond, NULL, ecran, &positionFond); /* Blit du fond par-dessus */

        SDL_Flip(ecran);

        if(temps == tempsFin || temps > tempsFin)
        {
            finBoucle = 1;
        }
    }
    ecran = NULL;
    FMUSIC_FreeSong(fondMusique);
    SDL_FreeSurface(fond);
    SDL_FillRect(fond, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
    SDL_Flip(ecran);
    continuer = 0;
}

