#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 "main.h"

int main(int argc, char *argv[])
{
    SDL_Surface *ecran = NULL, *texte = NULL, *fond = NULL;
    TTF_Font *police = NULL;
    SDL_Rect position;
    SDL_Event eventHome;
    FMUSIC_MODULE *fondMusique = NULL;

    int continuer = 1, jouerMusique = 0;
    SDL_Color couleurNoire = {0, 0, 0};
    SDL_Color couleurBlanche = {255, 255, 255};
    fond = IMG_Load("IMG/fond.png");

    TTF_Init();
    FSOUND_Init(44100, 32, 0);
    SDL_Init(SDL_INIT_VIDEO);

    SDL_WM_SetIcon(IMG_Load("IMG/icone.png"), NULL);

    ecran = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);

    SDL_WM_SetCaption("Click'o'Mania - HOME" , NULL);

    police = TTF_OpenFont("journal.ttf", 90);
    TTF_SetFontStyle(police, TTF_STYLE_ITALIC);
    texte = TTF_RenderText_Blended(police, "Bienvenue !", couleurNoire);

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

    if(fondMusique == NULL)
        return EXIT_FAILURE;

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

    while(continuer)
    {
        SDL_WaitEvent(&eventHome);
        switch(eventHome.type)
        {
            case SDL_QUIT:
                FMUSIC_StopSong(fondMusique);
                quitter(ecran, continuer);
                break;
            case SDL_KEYDOWN:
                switch(eventHome.key.keysym.sym)
                {
                    case SDLK_ESCAPE:
                        FMUSIC_StopSong(fondMusique);
                        quitter(ecran, continuer);
                        break;
                    case SDLK_KP1:
                        FMUSIC_StopSong(fondMusique);
                        jouer(ecran, police);
                        FMUSIC_PlaySong(fondMusique);
                        break;
                    case SDLK_KP2:
                        FMUSIC_StopSong(fondMusique);
                        voirHighScores(ecran, fond, police);
                        FMUSIC_PlaySong(fondMusique);
                        break;
                    case SDLK_KP3:
                        FMUSIC_StopSong(fondMusique);
                        instructions(ecran);
                        FMUSIC_PlaySong(fondMusique);
                        break;
                    case SDLK_KP4:
                        FMUSIC_StopSong(fondMusique);
                        quitter(ecran, continuer);
                        break;
                    case SDLK_1:
                        FMUSIC_StopSong(fondMusique);
                        jouer(ecran, police);
                        FMUSIC_PlaySong(fondMusique);
                        break;
                    case SDLK_2:
                        FMUSIC_StopSong(fondMusique);
                        voirHighScores(ecran, fond, police);
                        FMUSIC_PlaySong(fondMusique);
                        break;
                    case SDLK_3:
                        FMUSIC_StopSong(fondMusique);
                        instructions(ecran);
                        FMUSIC_PlaySong(fondMusique);
                        break;
                    case SDLK_4:
                        FMUSIC_StopSong(fondMusique);
                        quitter(ecran, continuer);
                        break;
                }
                break;
        }

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

        SDL_WM_SetCaption("Click'o'Mania - HOME" , NULL);
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));

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

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

        SDL_Flip(ecran);
    }
    FMUSIC_FreeSong(fondMusique);
    TTF_CloseFont(police);
    TTF_Quit();
    SDL_FreeSurface(texte);
    SDL_FreeSurface(fond);
    SDL_FreeSurface(ecran);
    SDL_Quit();
    FSOUND_Close();

    return EXIT_SUCCESS;
}



