
#include <oslib/oslib.h>


//definition des pointeurs vers notre image
extern OSL_IMAGE *ImageCarte;

//definition des pointeurs vers notre map
extern OSL_MAP *Carte;


void ReadMap3()
{
   //chargement de nos images 
    ImageCarte = oslLoadImageFile("media/carte_s.png", OSL_IN_RAM, OSL_PF_5551);
    
	//chargement de la map en externe les 2 chiffre 16 sont parce que ce sont des tiles de 16x16
	Carte = oslLoadFileMap(ImageCarte,"media/carte_sol.h", 32, 32,40,50);

}

void ToucheMapExterne()
{
	int i;

    //Lit les touches
    oslReadKeys();

	     //Joystick pour déplacer notre map
        for (i=32;i<=120;i+=48)
        {
            //suivant l'axe des X
            if (osl_keys->analogX > i)
            {
				//on verifie que on ne depasse pas le bord de la carte par la droite
				if (Carte->scrollX+2 <= ((Carte->mapSizeX*Carte->tileX)-482))
                Carte->scrollX += 2;                
            }
            if (osl_keys->analogX < -i)
            {
				//on verifie que on ne depasse pas le bord de la carte par la Gauche
				if (Carte->scrollX-2 >= 0)
                Carte->scrollX -= 2;                
            }    

            //puis l'axe des Y
            if (osl_keys->analogY > i)
            {
				//on verifie que on ne depasse pas le bord de la carte par le bas
				if (Carte->scrollY+2 <= ((Carte->mapSizeY*Carte->tileY)-272))
				Carte->scrollY += 2;
            }
            if (osl_keys->analogY < -i)
            {
				//on verifie que on ne depasse pas le bord de la carte par le haut
				if (Carte->scrollY-2 >= 0)
                Carte->scrollY -= 2;   

            }
        }



}



void Mapexterne18()
{



	//chargement de la map en memoire
	ReadMap3();



	while (!osl_quit)
	{
		oslStartDrawing();
		ToucheMapExterne();

		//dessine la map
        oslDrawMapSimple(Carte);


		oslSynchronization();
		if (osl_keys->pressed.start)break;

	}


}



