
#include <oslib/oslib.h>


PSP_MODULE_INFO("Devslib Sample", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);




//declaration diverse
OSL_FONT *maFonte;
//pour le fond
OSL_IMAGE *Fond;
//creer ds objet pour le viseur
OSL_OBJECT *Player;



//gestion des touches
void Touche_menu()
{
 oslReadKeys();

 ///verifie que le sprite de la cible soit dans le cadre si okj alors on peut bouger

	if (osl_keys->held.left){
		if (Player->sprite->x >= 1)Player->sprite->x -= 3;
	}

	if (osl_keys->held.right){
		//la on prend en plus la largeur de l'annimation car le point x du sprite et en haut a  gauche et nous on veux verifier si le point en haut a droite et dans la cadre
		if ((Player->sprite->x + Player->Animation.width)  <= 479)Player->sprite->x += 3;
	}

   if (osl_keys->held.up){
	   if (Player->sprite->y >= 1)Player->sprite->y -= 3;
	}

    if (osl_keys->held.down){
		//la on prend en plus la hauteur de l'annimation car le point x du sprite et en haut a  gauche et nous on veux verifier si le poiont en bas et dans la cadre
		if ((Player->sprite->y + Player->Animation.height) <= 271)Player->sprite->y += 3;
	}

}

//initialise tout ce qui appartient au jeux
void InitJeux()
{
	//chargement de ma police perso
	maFonte = oslLoadFontFile("media/font/ArialBlack.oft"); 
	oslSetFont(maFonte);

	//chargement du fond
	Fond = oslLoadImageFile("media/image/fond.png", OSL_IN_RAM, OSL_PF_8888);

	//creer le joueur
	Player = oslCreateSprite(oslLoadImageFile("media/image/cible.png", OSL_IN_RAM, OSL_PF_5551),0, 1 ,30,30,1);
	//le viseur et pas annimer
	oslAnimationStop(Player);
	//possition de base du joueur
	Player->sprite->x = 50;
	Player->sprite->y = 50;


}



int main(int argc, char* argv[])
{

	#ifdef PSP
		scePowerSetClockFrequency(333, 333, 166); // etre sur d'utiliser la psp a plein regime lol
	#endif

	//Initialisation
	oslInit(0);							//la lib
	oslInitGfx(OSL_PF_8888, 1);			//Gfx
	oslInitAudio();						//Sound


	InitJeux();

	while (!osl_quit)
	{
		oslStartDrawing();
		//verifie les touche
		Touche_menu();

		//on dessine le fond en premier	
		oslDrawImage(Fond);

		//puis le viseur en dernier (premier plan)
		oslDrawImageAnime(Player);

		oslSynchronization();

	}

	oslEndGfx();
	oslQuit();
	return 0;
}



