First commit

This commit is contained in:
Fife 2016-04-30 13:46:05 +02:00
parent d29a42440c
commit 20fcc83f04
8 changed files with 1313 additions and 0 deletions

213
GUI.cpp Normal file
View File

@ -0,0 +1,213 @@
#include "GUI.hpp"
extern "C"
{
#include <math.h>
}
void Script_GUI::Start()
{
vie = 6;
restart = 4;
score = 0;
}
void Script_GUI::Update()
{
ML_rectangle(0,57,127,63,1,ML_WHITE,ML_WHITE);
const unsigned char SVie[]={0x77, 0x8f, 0x8f, 0x77, };
const unsigned char Keby[]={0x3e, 0x0, 0x41, 0x11, 0x80, 0x8a, 0xa4, 0x84, 0xa4, 0x8a, 0x41, 0x51, 0xff, 0xc0, };
int position;
if(score >99999) position = 12;
else if(score >9999) position = 16;
else if(score >999) position = 20;
else if(score >99) position = 24;
else if(score >9) position = 28;
else position = 32;
PrintMini(1,58,"Sc:",0);
PrintV(position,58,score);
PrintMini(39,58,"Kirby",0);
if(vie > 0)ML_bmp_or(SVie , 62 , 59 , 5 , 4);
if(vie > 1)ML_bmp_or(SVie , 68 , 59 , 5 , 4);
if(vie > 2)ML_bmp_or(SVie , 74 , 59 , 5 , 4);
if(vie > 3)ML_bmp_or(SVie , 80 , 59 , 5 , 4);
if(vie > 4)ML_bmp_or(SVie , 86 , 59 , 5 , 4);
if(vie > 5)ML_bmp_or(SVie , 92 , 59 , 5 , 4);
if(vie < 1)ML_rectangle(63,60,65,61, 1 , ML_BLACK , ML_BLACK);
if(vie < 2)ML_rectangle(69,60,71,61, 1 , ML_BLACK , ML_BLACK);
if(vie < 3)ML_rectangle(75,60,77,61, 1 , ML_BLACK , ML_BLACK);
if(vie < 4)ML_rectangle(81,60,83,61, 1 , ML_BLACK , ML_BLACK);
if(vie < 5)ML_rectangle(87,60,89,61, 1 , ML_BLACK , ML_BLACK);
if(vie < 6)ML_rectangle(93,60,95,61, 1 , ML_BLACK , ML_BLACK);
ML_bmp_or(Keby , 102 , 57 , 16 , 7);
PrintV(122 , 58 , restart);
if(input_press(K_EXIT))GetEngine()->StopGame();
if(input_press(K_ALPHA))GetEngine()->ShowFps();
}
void Script_GUI::DelVie(int v)
{
vie -= v;
if(vie <= 0)
{
Lose();
vie = 6;
}
}
void Script_GUI::AddScore(int v)
{
if(v > 0)score += v;
}
void Script_GUI::Lose()
{
bool cinematic = true;
int y = GetEngine()->ListeObject[0]->OTransforms->GetY();
float force = 4.5;
GetEngine()->ListeObject[0]->ORender->SetIt(11);
ML_clear_vram();
GetEngine()->gamemap->AfficherMap();
GetEngine()->ListeObject[0]->OTransforms->SetY(y);
GetEngine()->UpdateRelativePosition();
GetEngine()->ListeObject[0]->ORender->DrawObject();
this->Update();
ML_display_vram();
Sleep(400);
while(cinematic == true)
{
y += force;
force -= 0.25;
ML_clear_vram();
if(y < -16) cinematic = false;
GetEngine()->gamemap->AfficherMap();
GetEngine()->ListeObject[0]->OTransforms->SetY(y);
GetEngine()->UpdateRelativePosition();
GetEngine()->ListeObject[0]->ORender->DrawObject();
this->Update();
ML_display_vram();
Sleep(25);
}
restart --;
if(restart <= 0)
{
TryAgain();
}
GetEngine()->ListeObject[0]->OTransforms->SetXY(0, 17);
}
void Script_GUI::TryAgain()
{
bool end = false;
int choix = 0;
float b;
const unsigned char Pointeur[]={0x3, 0x80, 0x1f, 0x4, 0x40, 0x1f, 0x4, 0x40, 0x1f, 0x8, 0x80, 0x1f, 0x30, 0xff, 0xdf, 0x40, 0x0, 0x3f, 0x81, 0xf0, 0x3f, 0x82, 0xf, 0xdf, 0x82, 0x8, 0x1f, 0x82, 0x8, 0x1f, 0x41, 0xf0, 0x1f, 0x42, 0x8, 0x1f, 0x3a, 0x8, 0x1f, 0x1, 0xf0, 0x1f, };
const unsigned char Bulle[]={0x30, 0x3f, 0x48, 0x3f, 0x84, 0x3f, 0x84, 0x3f, 0x48, 0x3f, 0x30, 0x3f, 0x0, 0x3f, 0x1, 0xbf, 0x2, 0x7f, 0x2, 0x7f, 0x1, 0xbf, };
const unsigned char KS1[]={0x3, 0xe0, 0x7f, 0xc, 0x18, 0x7f, 0x10, 0x4, 0x7f, 0x20, 0x2, 0x7f, 0x20, 0x2, 0x7f, 0x40, 0x1, 0x7f, 0x44, 0x61, 0x7f, 0x42, 0x81, 0x7f, 0xc0, 0x3, 0x7f, 0xa1, 0x4, 0xff, 0x91, 0x8, 0xff, 0x88, 0x10, 0xff, 0x85, 0x31, 0x7f, 0x7a, 0xde, 0x7f, };
const unsigned char KS2[]={0x0, 0x0, 0x7f, 0x3, 0xe0, 0x7f, 0xc, 0x18, 0x7f, 0x10, 0x4, 0x7f, 0x20, 0x2, 0x7f, 0x20, 0x2, 0x7f, 0x40, 0x1, 0x7f, 0x44, 0x61, 0x7f, 0x42, 0x83, 0x7f, 0xa0, 0x4, 0xff, 0x91, 0x8, 0xff, 0x88, 0x10, 0xff, 0x8c, 0x31, 0x7f, 0x77, 0xde, 0x7f, };
Sprite S_Kirby_Sleep1(KS1, 17 , 14 );
Sprite S_Kirby_Sleep2(KS2, 17 , 14 );
Sprite S_Kirby_Sleep[]={ S_Kirby_Sleep1 , S_Kirby_Sleep2};
Animation A_Sleep(S_Kirby_Sleep , 2 , 750);
ML_clear_vram();
PrintXY(35,25,"GAME OVER",0);
ML_display_vram();
Sleep(1500);
b = -15;
while(end == false)
{
ML_clear_vram();
input_update();
PrintXY( 20 , 5 , "Kirby's DreamLand" , 0);
PrintXY( 35 , 25 , "Continue" , 0);
PrintXY( 35 , 35 , "End" , 0);
A_Sleep.DrawAnim( 95 , 45 , 0);
if( b > 0) ML_bmp_or( Bulle , 90 - b , 44 - b , 10 ,11 );
b += 0.1; if( b > 10) b = -15;
if(input_any_key())
{
if(input_trigger(K_DOWN))choix ++;
if(input_trigger(K_UP))choix --;
if(choix < 0)choix = 0;
if(choix > 1)choix = 1;
if(input_trigger(K_EXE))end = true;
}
switch(choix)
{
case 0: ML_bmp_or(Pointeur , 8 , 22 , 19 , 14); break;
case 1: ML_bmp_or(Pointeur , 8 , 32 , 19 , 14); break;
}
ML_display_vram();
Sleep(10);
}
if(choix == 0)
{
this->restart = 4;
score = score / 2 ;
}
if(choix == 1)
{
GetEngine()->StopGame();
}
}

28
GUI.hpp Normal file
View File

@ -0,0 +1,28 @@
#ifndef GUI
#define GUI
#include "..\C-Engine\CHeader.hpp"
class Script_GUI: public Script
{
public:
void Start();
void Update();
void DelVie(int v);
void AddScore(int v);
void Lose();
void TryAgain();
private:
int score;//Sc: 0
int vie;//Nb de vie
int restart;//Restart * 4
};
#endif

72
IA_Monstre.cpp Normal file
View File

@ -0,0 +1,72 @@
#include "IA_Monstre.hpp"
void IaOurs::Start()
{
direction = true;
}
void IaOurs::UpdateEverySecond()
{
if(direction == true) direction = false;
else direction = true;
}
void IaOurs::Update()
{
GetObject()->ORender->ReverseRender( direction);
if(direction == true)Move( -1 , 0 );
else Move( 1 , 0 );
}
void IaPiaf::Start()
{
GetObject()->ORender->ReverseRender(true);
couldown = 0;
}
void IaPiaf::Update()
{
if( GetObject()->ORigibody->CollisionDecor( GetX() , (GetY() - 1 )) == 1)
SetIt(0);
else
SetIt(1);
}
void IaPiaf::UpdateEverySecond()
{
if( GetObject()->ORigibody->CollisionDecor( GetX() , (GetY() - 1 )) == 1 && couldown == 0)
{
GetObject()->ORigibody->R_body.velocity.y = 25;
}
couldown ++;
if(couldown > 3)couldown = 0;
}
void IaChamp::Start()
{
time = 0;
}
void IaChamp::Update()
{
time ++;
if(time > 50)
{
if(direction == true) direction = false;
else direction = true;
GetObject()->ORigibody->R_body.velocity.y = 20;
time = 0;
}
GetObject()->ORender->ReverseRender(direction);
}

48
IA_Monstre.hpp Normal file
View File

@ -0,0 +1,48 @@
#ifndef IAMONSTRE
#define IAMONSTRE
#include "..\C-Engine\CHeader.hpp"
// Mob script
class IaOurs: public Script
{
public:
void Start();
void Update();
void UpdateEverySecond();
private:
bool direction;
};
class IaPiaf: public Script
{
public:
void Start();
void Update();
void UpdateEverySecond();
private:
int couldown;
};
class IaChamp: public Script
{
public:
void Start();
void Update();
private:
int time;
bool direction;
};
#endif

216
Kirby.cpp Normal file

File diff suppressed because one or more lines are too long

397
Script_Control.cpp Normal file
View File

@ -0,0 +1,397 @@
#include "Script_Control.hpp"
//Kirby script
void Control::Start()
{
direction = false;
couldown = 0;
isaspi = false;
ishurt = 0;
Ventre = Vide;
GetEngine()->AddObject(OAspi);
GetObject()->ORigibody->UseFixeBody(16,16);
}
void Control::Update()
{
if( GetObject()->ORigibody->CollisionDecor( GetX() , ( GetY() - 1 )) == 1) isground = true;
else isground = false;
isdo = false;
if(ishurt == 0)
{
if( Ventre == Vide)
{
if(input_release(K_OPTN) && isaspi == true)
{
OAspi->OTransforms->SetXY(-1000 , - 1000);
isaspi = false;
}
if(input_press(K_OPTN))
{
isaspi = true;
if(direction == false)
{
OAspi->OTransforms->SetXY( GetX() + 16 , GetY());
OAspi->ORender->ReverseRender(false);
}
else
{
OAspi->OTransforms->SetXY( GetX() - 40 , GetY());
OAspi->ORender->ReverseRender(true);
}
SetIt(3);
isdo = true;
}
//***************************//
if(input_press(K_DOWN))
{
SetIt(10);
isdo = true;
}
else
{
//***************************//
if(input_trigger(K_SHIFT))
{
if(isground == true)
{
GetObject()->ORigibody->R_body.velocity.y = 25;
SetIt(2);
isdo = true;
}
}
else
{
if(input_trigger(K_UP))
{
Ventre = Air;
SetIt(9);
isdo = true;
}
}
//***************************//
if(input_press(K_RIGHT) && (isground == true && GetObject()->ORender->GetIt() == 3) == false)
{
Move( 2 , 0 );
direction = false;
if(GetObject()->ORender->GetIt() != 3)SetIt(1);
isdo = true;
}
else
{
if(input_press(K_LEFT) && (isground == true && GetObject()->ORender->GetIt() == 3) == false)
{
Move( -2 , 0 );
direction = true;
if(GetObject()->ORender->GetIt() != 3)SetIt(1);
isdo = true;
}
}
}
//***************************//
if(isground == false && GetObject()->ORender->GetIt() != 3)SetIt(2);
else if(isdo == false)SetIt(0);
}
else
{
if(input_press(K_RIGHT))
{
Move( 2 , 0 );
direction = false;
if(isground == true)SetIt(5);
isdo = true;
}
else
{
if(input_press(K_LEFT))
{
Move( -2 , 0 );
direction = true;
if(isground == true)SetIt(5);
isdo = true;
}
}
//***************************//
if(input_trigger(K_UP))
{
if(Ventre == Air)
{
GetObject()->ORigibody->R_body.velocity.y = 25;
SetIt(7);
isdo = true;
}
}
else
{
if(input_trigger(K_SHIFT))
{
if(isground == true)
{
GetObject()->ORigibody->R_body.velocity.y = 25;
SetIt(6);
isdo = true;
}
}
}
//***************************//
if(input_trigger(K_OPTN))
{
if(Ventre == Air)
{
Object * Buffer = new Object;
SSoufle * ScriptSouffle = new SSoufle;
ScriptSouffle->time = 12;
ScriptSouffle->Interface = Interface;
Buffer->AffectTag("Souffle");
Buffer->ORender->SetRender(RenderSouffle);
Buffer->AffectScript(ScriptSouffle);
GetEngine()->AddObject(Buffer);
if(direction == false)
{
Buffer->OTransforms->SetXY( GetX() + 16 , GetY() + 8 );
Buffer->ORender->ReverseRender(false);
ScriptSouffle->direction = false;
}
else
{
Buffer->OTransforms->SetXY( GetX(), GetY() + 8 );
Buffer->ORender->ReverseRender(true);
ScriptSouffle->direction = true;
}
}
if(Ventre == Plein)
{
Object * Buffer = new Object;
SStar * ScriptStar = new SStar;
ScriptStar->Interface = Interface;
Buffer->ORender->SetRender(RenderEtoile);
Buffer->AffectScript(ScriptStar);
Buffer->ORigibody = new Rigibody(Buffer);
GetEngine()->AddObject(Buffer);
if(direction == false)
{
Buffer->OTransforms->SetXY( GetX() + 16 , GetY() + 8 );
Buffer->ORender->ReverseRender(false);
ScriptStar->direction = false;
}
else
{
Buffer->OTransforms->SetXY( GetX(), GetY() + 8 );
Buffer->ORender->ReverseRender(true);
ScriptStar->direction = true;
}
}
Ventre = Vide;
SetIt(8);
isdo = true;
}
//***************************//
if(isground == false)
{
if(GetObject()->ORender->GetIt() != 6 && GetObject()->ORender->GetIt() != 7)SetIt(7);
}
else if(isdo == false )SetIt(4);
}
GetObject()->ORender->ReverseRender(direction);
Object * Ennemi = GetObject()->CollisionTagO("Ennemis");
if(Ennemi != NULL )
{
if(isaspi == false)
{
Ventre = Vide;
GetEngine()->DelObject(Ennemi);
Interface->AddScore(400);
Interface->DelVie(1);
ishurt = 20;
}
else
{
Ventre = Plein;
GetEngine()->DelObject(Ennemi);
Interface->AddScore(200);
}
}
}
else
{
GetObject()->ORigibody->R_body.velocity.x = -20;
GetObject()->ORigibody->R_body.velocity.y = 10;
ishurt --;
}
if( GetY() < 2)
{
Ventre = Vide;
Interface->DelVie(6);
direction = false;
}
if(GetObject()->CollisionTag("Etoile"))
{
ML_clear_vram();
PrintMini(10,30,"Bravo vous venez de sauvez" , 0);
PrintMini(40,38,"la Terre XD" , 0);
ML_display_vram();
Sleep(2500);
GetEngine()->StopGame();
}
GetEngine()->MiddleScreen( GetX() , (GetY() + 2));
}
void Control::Initialisation(Animation E, Animation S , Object * A , Script_GUI * G)
{
RenderEtoile = E;
RenderSouffle = S;
OAspi = A;
Interface = G;
}
void SAspi::Update()
{
Object * Buffer = NULL;
Buffer = GetObject()->CollisionTagO("Ennemis");
if( Buffer != NULL)
{
if(GetObject()->ORender->GetReverse()== false)
{
Buffer->ORigibody->Move(-2,0);
}
else
{
Buffer->ORigibody->Move(2,0);
}
}
}
void SSoufle::Update()
{
if(time > 0)
{
if(direction == true)SetXY( GetX() - 3 , GetY() );
else SetXY( GetX() + 3 , GetY() );
}
time--;
Object * Buffer = GetObject()->CollisionTagO("Ennemis");
if(Buffer != NULL)
{
GetEngine()->DelObject(Buffer);
GetEngine()->DelObject(GetObject());
Interface->AddScore(200);
return;
}
if(time < -10)
{
GetEngine()->DelObject(GetObject());return;
}
}
void SStar::Update()
{
if(direction == true)
{
SetXY( GetX() - 3 , GetY() );
if(GetObject()->ORigibody->CollisionDecor(GetX() - 3 , GetY()))
{
GetEngine()->DelObject(GetObject());return;
}
}
else
{
SetXY( GetX() + 3 , GetY() );
if(GetObject()->ORigibody->CollisionDecor(GetX() + 3 , GetY()))
{
GetEngine()->DelObject(GetObject());return;
}
}
Object * Buffer = GetObject()->CollisionTagO("Ennemis");
if(Buffer != NULL)
{
GetEngine()->DelObject(Buffer);
GetEngine()->DelObject(GetObject());
Interface->AddScore(400);
return;
}
}

66
Script_Control.hpp Normal file
View File

@ -0,0 +1,66 @@
#ifndef SCRIPTCONTROL
#define SCRIPTCONTROL
#include "..\C-Engine\CHeader.hpp"
#include "GUI.hpp"
//Kirby script
enum Contenu
{ Vide , Air , Plein};
class SSoufle: public Script
{
public:
void Update();
bool direction;
int time;
Script_GUI * Interface;
};
class SAspi: public Script
{
public:
void Update();
};
class SStar: public Script
{
public:
void Update();
bool direction;
Script_GUI * Interface;
};
class Control: public Script
{
public:
void Start();
void Update();
void Initialisation(Animation E, Animation S , Object * A , Script_GUI * G);
private:
bool isground; // Si Touche le sol True
bool isdo; // Si réalise une action True
bool direction; // Direction du personnage True = Gauche
bool isaspi;
int ishurt;
int couldown;
Contenu Ventre;
Animation RenderSouffle;
Animation RenderEtoile;
Object * OAspi;
Script_GUI * Interface;
};
#endif // SCRIPTCONTROL

273
Sprite.hpp Normal file
View File

@ -0,0 +1,273 @@
// Kirby
const unsigned char KA1[]={0xff, 0xff, 0xf8, 0x1f, 0xe0, 0x7, 0xf0, 0x13, 0x80, 0x9, 0x80, 0x9, 0x80, 0x3, 0x80, 0x3, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xd0, 0x3, 0xcc, 0xf, 0xe3, 0xff, 0xf1, 0xf, 0xfe, 0xff, };
const unsigned char KA1N[]={0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfc, 0x3f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xf0, 0x1f, 0xf8, 0xe, 0xf8, };
const unsigned char KA2[]={0xff, 0xff, 0xfe, 0x1f, 0xf8, 0x7, 0xc4, 0x13, 0x80, 0xb, 0x80, 0x9, 0x80, 0x1, 0x80, 0x1, 0x80, 0x13, 0xc0, 0xf, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0xc0, 0x7, 0xc0, 0x9, 0xe0, 0x1, 0xf8, 0x3, 0xe7, 0xff, 0xf0, 0x1f, 0xff, 0xff, };
const unsigned char KA2N[]={0x1, 0xe0, 0x7, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0x7f, 0xfe, 0x7f, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xfc, 0x1f, 0xf0, 0xf, 0xe0, };
const unsigned char KM1[]={0xff, 0xff, 0xf8, 0x3f, 0xe0, 0xf, 0xe0, 0xf, 0xc0, 0x17, 0xc0, 0x17, 0xc2, 0x17, 0xc1, 0x7, 0xc1, 0x7, 0xe2, 0x17, 0xfc, 0x7, 0x90, 0xf, 0x88, 0x1f, 0x8f, 0xe3, 0xff, 0xc3, 0xff, 0xff, };
const unsigned char KM1N[]={0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x3f, 0xf8, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0xff, 0xfc, 0xff, 0xf8, 0xff, 0xfc, 0xff, 0xfe, 0x70, 0x7e, 0x0, 0x3c, };
const unsigned char KM2[]={0xff, 0xff, 0xf8, 0x1f, 0xe0, 0xf, 0xc0, 0xf, 0xc0, 0x57, 0x80, 0x57, 0x80, 0x55, 0x80, 0x5, 0x88, 0x5, 0xc8, 0x25, 0xf8, 0x7, 0xfc, 0xf, 0xf3, 0xff, 0xf8, 0x5f, 0xff, 0xff, 0xff, 0xff, };
const unsigned char KM2N[]={0x7, 0xe0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xf8, 0x7f, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xfe, 0x1f, 0xf8, 0x1f, 0xf0, 0xf, 0xf0, 0x7, 0xe0, 0x0, 0x0, };
const unsigned char KM3[]={0xff, 0xff, 0xf8, 0x3f, 0xe0, 0xf, 0xf0, 0xf, 0x80, 0xa5, 0x80, 0xa5, 0x80, 0xa5, 0x80, 0x5, 0xe0, 0x7, 0xe0, 0x47, 0xe0, 0xb, 0xd0, 0xb, 0xcc, 0x33, 0xe3, 0xc7, 0xf1, 0xff, 0xff, 0xff, };
const unsigned char KM3N[]={0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x3f, 0xfc, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0x38, 0xe, 0x0, };
const unsigned char KN[]={0xff, 0xff, 0xfc, 0x1f, 0xf0, 0x7, 0xe0, 0x7, 0xe0, 0x3, 0xc0, 0x53, 0x80, 0x51, 0x80, 0x51, 0x80, 0x1, 0x80, 0x1, 0xc8, 0x25, 0xf8, 0x7, 0xfc, 0xf, 0xe3, 0xf3, 0xc1, 0xe1, 0xff, 0xff, };
const unsigned char KNN[]={0x3, 0xe0, 0xf, 0xf8, 0x1f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xfe, 0x1f, 0xfc, 0x3f, 0xfe, 0x7f, 0xff, 0x3e, 0x3e, };
const unsigned char KS[]={0xff, 0xff, 0xfe, 0x1f, 0xc8, 0x5, 0x80, 0x5, 0x80, 0x1, 0x80, 0x3, 0xc0, 0x53, 0xe0, 0x53, 0xe0, 0x53, 0xe6, 0x3, 0xe9, 0x5, 0xf1, 0x29, 0xf0, 0x91, 0xf0, 0xa3, 0xf9, 0xe7, 0xff, 0xff, };
const unsigned char KSN[]={0x1, 0xe0, 0x37, 0xfa, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xfe, 0x3f, 0xff, 0x3f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f, 0xfe, 0xf, 0xfc, 0x7, 0x38, };
const unsigned char KMF1[]={0xff, 0xff, 0xff, 0xff, 0x81, 0xe3, 0xfe, 0x0, 0x63, 0xf8, 0x0, 0x13, 0xf0, 0x0, 0xb, 0xf0, 0x0, 0xb, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x57, 0xc0, 0x0, 0x53, 0xc0, 0x0, 0x53, 0xc0, 0x0, 0x3, 0xc1, 0x0, 0x83, 0xc1, 0x0, 0x43, 0xc2, 0x0, 0x7b, 0xe4, 0x0, 0x43, 0xf8, 0x0, 0x87, 0xe0, 0x0, 0x7, 0x90, 0x0, 0xf, 0x90, 0x0, 0xf, 0xc8, 0x0, 0x1f, 0xe6, 0x0, 0x63, 0xf1, 0x81, 0x81, 0xff, 0xff, 0x81, 0xff, 0xff, 0xff, };
const unsigned char KMF1N[]={0x0, 0x7e, 0x1c, 0x1, 0xff, 0xbe, 0x7, 0xff, 0xfe, 0xf, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfc, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xfc, 0x3f, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xf, 0x7e, 0xff, 0x0, 0x0, 0x7e, };
const unsigned char KMF2[]={0xff, 0xff, 0xff, 0xff, 0x81, 0xff, 0xfe, 0x0, 0x7f, 0xf8, 0x0, 0x1f, 0xf0, 0x0, 0xf, 0xf0, 0x0, 0xf, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x57, 0xc0, 0x0, 0x53, 0xc0, 0x0, 0x53, 0xc0, 0x0, 0x3, 0xc1, 0x0, 0x83, 0xc1, 0x0, 0x43, 0xc2, 0x0, 0x7b, 0xe4, 0x0, 0x43, 0xf8, 0x0, 0x87, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0xf, 0xf0, 0x0, 0xf, 0xf8, 0x0, 0x1f, 0xc6, 0x0, 0x63, 0x81, 0x81, 0x81, 0x81, 0xff, 0x81, 0xff, 0xff, 0xff, };
const unsigned char KMF2N[]={0x0, 0x7e, 0x0, 0x1, 0xff, 0x80, 0x7, 0xff, 0xe0, 0xf, 0xff, 0xf0, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0x7e, 0x0, 0x7e, };
const unsigned char KMF3[]={0xff, 0xff, 0xff, 0xe1, 0x81, 0xff, 0xc0, 0x0, 0x7f, 0xc0, 0x0, 0x1f, 0xc0, 0x0, 0xf, 0xc0, 0x0, 0xf, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x57, 0xf0, 0x0, 0x53, 0xf0, 0x0, 0x53, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x83, 0xe0, 0x0, 0x43, 0xe0, 0x0, 0x7b, 0xe0, 0x0, 0x43, 0xe0, 0x0, 0x87, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x9, 0xf0, 0x0, 0x9, 0xf8, 0x0, 0x13, 0xc6, 0x0, 0x67, 0x81, 0x81, 0x8f, 0x81, 0xff, 0xff, 0xff, 0xff, 0xff, };
const unsigned char KMF3N[]={0x1e, 0x7e, 0x0, 0x3f, 0xff, 0x80, 0x7f, 0xff, 0xe0, 0x7f, 0xff, 0xf0, 0x7f, 0xff, 0xf8, 0x7f, 0xff, 0xf8, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x3f, 0xff, 0xfe, 0x7f, 0xff, 0xfc, 0xff, 0xff, 0xf8, 0xff, 0x7e, 0xf0, 0x7e, 0x0, 0x0, };
const unsigned char KF[]={0xff, 0xff, 0xff, 0xff, 0x81, 0xff, 0xfe, 0x0, 0x7f, 0xf8, 0x0, 0x1f, 0xf0, 0x0, 0xf, 0xf0, 0x0, 0xf, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x57, 0xc0, 0x0, 0x53, 0xc0, 0x0, 0x53, 0xc0, 0x0, 0x3, 0xc1, 0x0, 0x83, 0xc1, 0x0, 0x43, 0xc2, 0x0, 0x7b, 0xe4, 0x0, 0x43, 0xf8, 0x0, 0x87, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0xf, 0xf0, 0x0, 0xf, 0xf8, 0x0, 0x1f, 0xc6, 0x0, 0x63, 0x81, 0x81, 0x81, 0x81, 0xff, 0x81, 0xff, 0xff, 0xff, };
const unsigned char KFN[]={0x0, 0x7e, 0x0, 0x1, 0xff, 0x80, 0x7, 0xff, 0xe0, 0xf, 0xff, 0xf0, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0x7e, 0x0, 0x7e, };
const unsigned char Kirby_Plein_Saut[]={0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x81, 0xe3, 0xc0, 0x0, 0x63, 0xc0, 0x0, 0x13, 0xc0, 0x0, 0xb, 0xc0, 0x0, 0xb, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x57, 0xf0, 0x0, 0x53, 0xf0, 0x0, 0x53, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x83, 0xe0, 0x0, 0x43, 0xe0, 0x0, 0x7b, 0xe0, 0x0, 0x43, 0xe0, 0x0, 0x87, 0xe0, 0x0, 0x7, 0x90, 0x0, 0x9, 0x90, 0x0, 0x9, 0xc8, 0x0, 0x13, 0xe6, 0x0, 0x67, 0xf1, 0x81, 0x8f, 0xff, 0xff, 0xff, };
const unsigned char Kirby_Plein_SautN[]={0x0, 0x0, 0x0, 0x1e, 0x7e, 0x1c, 0x3f, 0xff, 0xbe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x7f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xf8, 0xf, 0x7e, 0xf0, };
const unsigned char Kirby_Plein_Vole_1[]={0xff, 0xff, 0xff, 0xf0, 0xc0, 0xf1, 0xe0, 0x0, 0x31, 0xe0, 0x0, 0x9, 0xe0, 0x0, 0x5, 0xe0, 0x0, 0x5, 0xf0, 0x0, 0x3, 0xf0, 0x0, 0x2b, 0xf8, 0x0, 0x29, 0xf8, 0x0, 0x29, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x41, 0xf0, 0x0, 0x21, 0xf0, 0x0, 0x3d, 0xf0, 0x0, 0x21, 0xf0, 0x0, 0x43, 0xf0, 0x0, 0x3, 0xe8, 0x0, 0x7, 0xe8, 0x0, 0x7, 0xc4, 0x0, 0xf, 0xc7, 0x0, 0x3f, 0xc8, 0xc0, 0xff, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, };
const unsigned char Kirby_Plein_Vole_1N[]={0xf, 0x3f, 0xe, 0x1f, 0xff, 0xdf, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x1f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0xf, 0xff, 0xff, 0xf, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xf8, 0x7f, 0xff, 0xf0, 0x7f, 0xff, 0xc0, 0x7f, 0x3f, 0x0, 0x36, 0x0, 0x0, };
const unsigned char Kirby_Plein_Vole_2[]={0xff, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xff, 0x0, 0x3f, 0xfc, 0x0, 0xf, 0xf8, 0x0, 0x7, 0xf8, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xf0, 0x0, 0x2b, 0xe0, 0x0, 0x29, 0xe0, 0x0, 0x29, 0xe0, 0x0, 0x1, 0xe0, 0x80, 0x41, 0xe0, 0x80, 0x21, 0xe1, 0x0, 0x3d, 0xf2, 0x0, 0x21, 0xfc, 0x0, 0x43, 0xf0, 0x0, 0x3, 0xe8, 0x0, 0x7, 0xe8, 0x0, 0x7, 0xc4, 0x0, 0xf, 0xc7, 0x0, 0x3f, 0xc8, 0xc0, 0xff, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, };
const unsigned char Kirby_Plein_Vole_2N[]={0x0, 0x3f, 0x0, 0x0, 0xff, 0xc0, 0x3, 0xff, 0xf0, 0x7, 0xff, 0xf8, 0xf, 0xff, 0xfc, 0xf, 0xff, 0xfc, 0x1f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xfe, 0x1f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xf8, 0x7f, 0xff, 0xf0, 0x7f, 0xff, 0xc0, 0x7f, 0x3f, 0x0, 0x36, 0x0, 0x0, };
const unsigned char Kirby_Inspire_1[]={0xff, 0xff, 0xf8, 0x1f, 0xe0, 0x7, 0xf0, 0x13, 0x80, 0x9, 0x80, 0x9, 0x80, 0x3, 0x80, 0x3, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xd0, 0x3, 0xcc, 0xf, 0xe3, 0xff, 0xf1, 0xf, 0xff, 0xff, };
const unsigned char Kirby_Inspire_1N[]={0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfc, 0x3f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xf0, 0x1f, 0xf8, 0xe, 0xf8, };
const unsigned char Kirby_Inspire_2[]={0xff, 0xff, 0xff, 0xe1, 0x81, 0xff, 0xc0, 0x0, 0x3f, 0xc0, 0x0, 0x4f, 0xc0, 0x0, 0x27, 0xc0, 0x0, 0x23, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x4f, 0xf0, 0x0, 0x2f, 0xf0, 0x0, 0x1f, 0xe0, 0x0, 0x1f, 0xe0, 0x0, 0x1f, 0xe0, 0x0, 0x1f, 0xe0, 0x0, 0x1f, 0xe0, 0x0, 0x27, 0xe0, 0x0, 0x43, 0xe0, 0x0, 0x7, 0xd0, 0x0, 0xf, 0xd0, 0x0, 0xf, 0x88, 0x0, 0x1f, 0x8e, 0x0, 0x7f, 0x91, 0x81, 0xff, 0x93, 0xff, 0xff, 0xff, 0xff, 0xff, };
const unsigned char Kirby_Inspire_2N[]={0x1e, 0x7e, 0x0, 0x3f, 0xff, 0xc0, 0x7f, 0xff, 0xf0, 0x7f, 0xff, 0xf8, 0x7f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf8, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xf8, 0x7f, 0xff, 0xf8, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xe0, 0xff, 0xff, 0x80, 0xfe, 0x7e, 0x0, 0x6c, 0x0, 0x0, };
const unsigned char Kirby_Recrache_1[]={0xff, 0xff, 0xff, 0xe1, 0x81, 0xff, 0xc0, 0x0, 0x3f, 0xc0, 0x0, 0x8f, 0xc0, 0x0, 0x47, 0xc0, 0x0, 0x43, 0xe0, 0x0, 0xf, 0xe0, 0x0, 0x51, 0xf0, 0x0, 0x21, 0xf0, 0x0, 0x11, 0xe0, 0x0, 0x11, 0xe0, 0x0, 0x11, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0xf, 0xf0, 0x0, 0xf, 0xf8, 0x0, 0x1f, 0xc6, 0x0, 0x63, 0x81, 0x81, 0x81, 0x81, 0xff, 0x81, 0xff, 0xff, 0xff, };
const unsigned char Kirby_Recrache_1N[]={0x1e, 0x7e, 0x0, 0x3f, 0xff, 0xc0, 0x7f, 0xff, 0xf0, 0x7f, 0xff, 0xf8, 0x7f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x3f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0x7e, 0x0, 0x7e, };
const unsigned char Kirby_Recrache_2[]={0xff, 0xff, 0xf8, 0x1f, 0xe0, 0x7, 0xf0, 0x13, 0x80, 0x9, 0x80, 0x9, 0x80, 0x3, 0x80, 0x15, 0xe0, 0x9, 0xe0, 0x9, 0xe0, 0x3, 0xd0, 0x3, 0xcc, 0xf, 0xe3, 0xff, 0xf1, 0xf, 0xff, 0xff, };
const unsigned char Kirby_Recrache_2N[]={0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xff, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x3f, 0xf0, 0x1f, 0xf8, 0xe, 0xf8, };
const unsigned char Soufle[]={0xff, 0xff, 0xff, 0xcf, 0xff, 0x3, 0xfc, 0x83, 0xf8, 0x1, 0xf8, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xc8, 0x1, 0x80, 0x1, 0xe0, 0x3, 0xfc, 0x3, 0xff, 0x7, 0xff, 0xff, };
const unsigned char SoufleN[]={0x0, 0x70, 0x0, 0xfc, 0x3, 0xfe, 0x7, 0xfe, 0xf, 0xff, 0xf, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x1f, 0xfe, 0x3, 0xfc, 0x0, 0xf8, };
const unsigned char Aspiration1[]={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
const unsigned char Kirby_Accroupi[]={0xff, 0xff, 0xf8, 0xf, 0xe0, 0x3, 0x80, 0x3, 0x80, 0x53, 0xc0, 0x53, 0xf8, 0x7, 0xcc, 0x29, 0xff, 0xff, };
const unsigned char Kirby_AccroupiN[]={0x7, 0xf0, 0x1f, 0xfc, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xfe, 0x7f, 0xff, 0x3f, 0xfe, };
const unsigned char Kirby_Mort_1[]={0xff, 0xff, 0xff, 0xcf, 0xf8, 0x27, 0xe0, 0x7, 0xe2, 0x3, 0xc1, 0x3, 0xc8, 0x25, 0xc4, 0x49, 0xc0, 0x89, 0xc1, 0x9, 0xa2, 0x9, 0x80, 0x7, 0xc1, 0xef, 0xf2, 0x1f, 0xfc, 0x1f, 0xff, 0xff, };
const unsigned char Kirby_Mort_1N[]={0x0, 0xf0, 0x7, 0xf8, 0x1f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xf8, 0x3f, 0xf0, 0xf, 0xf0, 0x3, 0xe0, };
const unsigned char Kirby_Mort_2[]={0xff, 0xff, 0xf3, 0xff, 0xe4, 0x1f, 0xe0, 0x7, 0xc0, 0x47, 0xc0, 0x83, 0xa4, 0x13, 0x92, 0x23, 0x91, 0x3, 0x90, 0x83, 0x90, 0x45, 0xe0, 0x1, 0xf7, 0x83, 0xf8, 0x4f, 0xf8, 0x3f, 0xff, 0xff, };
const unsigned char Kirby_Mort_2N[]={0xf, 0x0, 0x1f, 0xe0, 0x3f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x1f, 0xfe, 0xf, 0xfc, 0xf, 0xf0, 0x7, 0xc0, };
const unsigned char Kirby_Mort_3[]={0xff, 0xff, 0xf8, 0x3f, 0xf8, 0x4f, 0xf7, 0x83, 0xe0, 0x1, 0x90, 0x45, 0x90, 0x83, 0x91, 0x3, 0x92, 0x23, 0xa4, 0x13, 0xc0, 0x83, 0xc0, 0x47, 0xe0, 0x7, 0xe4, 0x1f, 0xf3, 0xff, 0xff, 0xff, };
const unsigned char Kirby_Mort_3N[]={0x7, 0xc0, 0xf, 0xf0, 0xf, 0xfc, 0x1f, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x3f, 0xfc, 0x3f, 0xf8, 0x1f, 0xe0, 0xf, 0x0, };
const unsigned char Kirby_Mort_4[]={0xff, 0xff, 0xfc, 0x1f, 0xf2, 0x1f, 0xc1, 0xef, 0x80, 0x7, 0xa2, 0x9, 0xc1, 0x9, 0xc0, 0x89, 0xc4, 0x49, 0xc8, 0x25, 0xc1, 0x3, 0xe2, 0x3, 0xe0, 0x7, 0xf8, 0x27, 0xff, 0xcf, 0xff, 0xff, };
const unsigned char Kirby_Mort_4N[]={0x3, 0xe0, 0xf, 0xf0, 0x3f, 0xf0, 0x7f, 0xf8, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xfe, 0x3f, 0xfe, 0x3f, 0xfc, 0x1f, 0xfc, 0x7, 0xf8, 0x0, 0xf0, };
Sprite S_Kirby_Normal( KN , KNN , 16 , 16 ); S_Kirby_Normal.CreateReverse(); // Normal
Animation A_Kirby_Normal(S_Kirby_Normal);
Sprite S_Kirby_Accroupi( Kirby_Accroupi , Kirby_AccroupiN , 16 , 9 ); S_Kirby_Accroupi.CreateReverse(); // Normal
Animation A_Kirby_Accroupi(S_Kirby_Accroupi);
Sprite S_Kirby_Cour_1(KM1 , KM1N ,16 ,16); S_Kirby_Cour_1.CreateReverse(); // Cours
Sprite S_Kirby_Cour_2(KM2 , KM2N ,16 ,16); S_Kirby_Cour_2.CreateReverse();
Sprite S_Kirby_Cour_3(KM3 , KM3N ,16 ,16); S_Kirby_Cour_3.CreateReverse();
Sprite S_Kirby_Cour[]={ S_Kirby_Cour_1 , S_Kirby_Cour_2 , S_Kirby_Cour_3};
Animation A_Kirby_Cour(S_Kirby_Cour , 3 , 200);
Sprite S_Kirby_Saut(KS , KSN ,16 , 16); S_Kirby_Saut.CreateReverse(); // Saut
Animation A_Kirby_Saut(S_Kirby_Saut);
Sprite S_Kirby_Gobe1(KA1 , KA1N , 16 , 16);S_Kirby_Gobe1.CreateReverse(); // Aspire
Sprite S_Kirby_Gobe2(KA2 , KA2N ,16 , 22);S_Kirby_Gobe2.CreateReverse();
Sprite S_Kirby_Gobe[]={S_Kirby_Gobe1 , S_Kirby_Gobe2};
Animation A_Kirby_Aspire(S_Kirby_Gobe , 2 , 200 , true);
Sprite S_Kirby_Normal_Full( KF , KFN , 24 , 24);S_Kirby_Normal_Full.CreateReverse(); // Mormal Full
Animation A_Kirby_Normal_Full(S_Kirby_Normal_Full);
Sprite S_Kirby_Cour_Full_1(KMF1 , KMF1N ,24 ,24); S_Kirby_Cour_Full_1.CreateReverse(); // Cours Full
Sprite S_Kirby_Cour_Full_2(KMF2 , KMF2N ,24 ,24); S_Kirby_Cour_Full_2.CreateReverse();
Sprite S_Kirby_Cour_Full_3(KMF3 , KMF3N ,24 ,24); S_Kirby_Cour_Full_3.CreateReverse();
Sprite S_Kirby_Cour_Full[]={ S_Kirby_Cour_Full_1 , S_Kirby_Cour_Full_2 , S_Kirby_Cour_Full_3};
Animation A_Kirby_Cour_Full(S_Kirby_Cour_Full , 3 , 200);
Sprite S_Kirby_Saut_Full(Kirby_Plein_Saut , Kirby_Plein_SautN ,24 ,24); S_Kirby_Saut_Full.CreateReverse();// Saut Full
Animation A_Kirby_Saut_Full(S_Kirby_Saut_Full);
Sprite S_Kirby_Volle_1(Kirby_Plein_Vole_1 , Kirby_Plein_Vole_1N ,24 ,24); S_Kirby_Volle_1.CreateReverse();//Volle Full
Sprite S_Kirby_Volle_2(Kirby_Plein_Vole_2 , Kirby_Plein_Vole_2N ,24 ,24); S_Kirby_Volle_2.CreateReverse();
Sprite S_Kirby_Volle[]={ S_Kirby_Volle_1 , S_Kirby_Volle_2};
Animation A_Kirby_Volle(S_Kirby_Volle , 2 , 200);
Sprite S_Kirby_Inspire_1(Kirby_Inspire_1 , Kirby_Inspire_1N ,16 ,16); S_Kirby_Inspire_1.CreateReverse();//Inspire Full
Sprite S_Kirby_Inspire_2(Kirby_Inspire_2 , Kirby_Inspire_2N ,24 ,24); S_Kirby_Inspire_2.CreateReverse();
Sprite S_Kirby_Inspire[]={ S_Kirby_Inspire_1 , S_Kirby_Inspire_2};
Animation A_Kirby_Inspire(S_Kirby_Inspire , 2 , 100 , false , true);
Sprite S_Kirby_Recrache_1(Kirby_Recrache_1 , Kirby_Recrache_1N ,24 ,24); S_Kirby_Recrache_1.CreateReverse();//Recrache Full
Sprite S_Kirby_Recrache_2(Kirby_Recrache_2 , Kirby_Recrache_2N ,16 ,16); S_Kirby_Recrache_2.CreateReverse();
Sprite S_Kirby_Recrache[]={ S_Kirby_Recrache_1 , S_Kirby_Recrache_2};
Animation A_Kirby_Recrache(S_Kirby_Recrache , 2 , 100 , false , true);
Sprite S_Kirby_Mort_1(Kirby_Mort_1 , Kirby_Mort_1N , 16 , 16);
Sprite S_Kirby_Mort_2(Kirby_Mort_2 , Kirby_Mort_2N , 16 , 16);
Sprite S_Kirby_Mort_3(Kirby_Mort_3 , Kirby_Mort_3N , 16 , 16);
Sprite S_Kirby_Mort_4(Kirby_Mort_4 , Kirby_Mort_4N , 16 , 16);
Sprite S_Kirby_Mort[]={ S_Kirby_Mort_1, S_Kirby_Mort_2 , S_Kirby_Mort_3 ,S_Kirby_Mort_4};
Animation A_Mort(S_Kirby_Mort , 4 , 100);
Sprite S_Soufle( Soufle , SoufleN , 16 ,15);S_Soufle.CreateReverse();
Animation A_Soufle(S_Soufle);
Sprite S_Aspiration(Aspiration1 , 40 , 24);S_Aspiration.CreateReverse();
Animation A_Aspiration(S_Aspiration);
Animation A_Kirby[]={ A_Kirby_Normal , A_Kirby_Cour , A_Kirby_Saut , A_Kirby_Aspire , A_Kirby_Normal_Full , A_Kirby_Cour_Full , A_Kirby_Saut_Full , A_Kirby_Volle , A_Kirby_Recrache , A_Kirby_Inspire, A_Kirby_Accroupi, A_Mort };
//Etoile
const unsigned char Etoile1[]={0xff, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x3f, 0xfc, 0x3f, 0x80, 0x1, 0x80, 0x1, 0xc0, 0x3, 0xe0, 0x7, 0xf0, 0xf, 0xf0, 0xf, 0xe0, 0x7, 0xe0, 0x7, 0xc1, 0x83, 0xc7, 0xe3, 0xff, 0xff, };
const unsigned char Etoile1N[]={0x1, 0x80, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf8, 0x1f, 0xf8, 0x3f, 0xfc, 0x3f, 0xfc, 0x7f, 0xfe, 0x7e, 0x7e, 0x78, 0x1e, } ;
const unsigned char Etoile2[]={0xff, 0xff, 0xff, 0x3f, 0xfe, 0x3f, 0x9c, 0x3f, 0x80, 0x3f, 0xc0, 0x1f, 0xc0, 0xf, 0xe0, 0x3, 0xe0, 0x7, 0xc0, 0x1f, 0xc0, 0x3f, 0x80, 0x3f, 0x98, 0x3f, 0xfe, 0x7f, 0xff, 0x7f, 0xff, 0xff, };
const unsigned char Etoile2N[]={0x0, 0xe1, 0x1, 0xe1, 0xe3, 0xe1, 0xff, 0xe1, 0xff, 0xe1, 0x7f, 0xf1, 0x7f, 0xfd, 0x3f, 0xff, 0x3f, 0xff, 0x7f, 0xf9, 0x7f, 0xe1, 0xff, 0xe1, 0xff, 0xe1, 0xe7, 0xc1, 0x1, 0xc1, 0x0, 0xc1, };
const unsigned char Etoile3[]={0xff, 0xff, 0xc7, 0xe3, 0xc1, 0x83, 0xe0, 0x7, 0xe0, 0x7, 0xf0, 0xf, 0xf0, 0xf, 0xe0, 0x7, 0xc0, 0x3, 0x80, 0x1, 0x80, 0x1, 0xfc, 0x3f, 0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0xff, };
const unsigned char Etoile3N[]={0x78, 0x1e, 0x7e, 0x7e, 0x7f, 0xfe, 0x3f, 0xfc, 0x3f, 0xfc, 0x1f, 0xf8, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x7, 0xe0, 0x3, 0xc0, 0x3, 0xc0, 0x1, 0x80, };
const unsigned char Etoile4[]={0xff, 0xff, 0xfd, 0xff, 0xfc, 0xff, 0xf8, 0x33, 0xf8, 0x3, 0xf8, 0x7, 0xf0, 0x7, 0xc0, 0xf, 0x80, 0xf, 0xe0, 0x7, 0xf0, 0x7, 0xf8, 0x3, 0xf8, 0x73, 0xf8, 0xff, 0xf9, 0xff, 0xff, 0xff, };
const unsigned char Etoile4N[]={0x6, 0x1, 0x7, 0x1, 0x7, 0xcf, 0xf, 0xff, 0xf, 0xff, 0xf, 0xfd, 0x3f, 0xfd, 0xff, 0xf9, 0xff, 0xf9, 0x7f, 0xfd, 0x1f, 0xfd, 0xf, 0xff, 0xf, 0xff, 0xf, 0x8f, 0xf, 0x1, 0xe, 0x1, };
Sprite S_Etoile1(Etoile1 , Etoile1N , 16 , 16 );S_Etoile1.CreateReverse();
Sprite S_Etoile2(Etoile2 , Etoile2N , 15 , 16 );S_Etoile2.CreateReverse();
Sprite S_Etoile3(Etoile3 , Etoile3N , 16 , 16 );S_Etoile3.CreateReverse();
Sprite S_Etoile4(Etoile4 , Etoile4N , 15 , 16 );S_Etoile4.CreateReverse();
Sprite S_Etoile[]={ S_Etoile1 , S_Etoile2 , S_Etoile3 , S_Etoile4};
Animation A_Etoile(S_Etoile , 4 , 300);
// Ours
const unsigned char O1[]={0xff, 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xff, 0xcf, 0xcb, 0xff, 0xcc, 0x2f, 0xfc, 0x60, 0x7, 0xf0, 0xc7, 0xaf, 0xe0, 0xdc, 0x3, 0xe0, 0xff, 0xd7, 0xc0, 0x80, 0x1, 0xc0, 0x80, 0x91, 0x80, 0x80, 0x91, 0x80, 0x40, 0x91, 0x80, 0x40, 0x1, 0x80, 0x20, 0x33, 0xc0, 0x18, 0x7, 0xc0, 0x7, 0xff, 0xc0, 0x0, 0x3, 0x80, 0x0, 0x41, 0x80, 0x0, 0x23, 0x88, 0x0, 0x67, 0x8c, 0x8, 0xef, 0xc7, 0xf9, 0xcf, 0xc7, 0xfd, 0xff, 0xff, 0xff, 0xff, };
const unsigned char O1N[]={0x0, 0x1c, 0x1c, 0x0, 0x3e, 0x3e, 0x0, 0x7f, 0xfe, 0x3, 0xff, 0xfe, 0xf, 0xff, 0xfc, 0x1f, 0xff, 0xfc, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xfc, 0x7f, 0xff, 0xfc, 0x7f, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xfc, 0x7f, 0x87, 0xb8, 0x3b, 0x7, 0x0, };
const unsigned char O2[]={0xff, 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xff, 0xcf, 0xcb, 0xff, 0xcc, 0x2f, 0xfc, 0x60, 0x7, 0xf0, 0xc7, 0xaf, 0xe0, 0xdc, 0x3, 0xe0, 0xff, 0xd7, 0xc0, 0x80, 0x1, 0xc0, 0x80, 0x91, 0x80, 0x80, 0x91, 0x80, 0x40, 0x91, 0x80, 0x40, 0x1, 0x80, 0x20, 0x33, 0xc0, 0x18, 0x7, 0xc0, 0x7, 0xff, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0xf, 0xf1, 0x0, 0x8f, 0xf8, 0xa0, 0x1f, 0xf8, 0xe1, 0x1f, 0xfc, 0xf3, 0x3f, 0xff, 0xff, 0xff, };
const unsigned char O2N[]={0x0, 0x1c, 0x1c, 0x0, 0x3e, 0x3e, 0x0, 0x7f, 0xfe, 0x3, 0xff, 0xfe, 0xf, 0xff, 0xfc, 0x1f, 0xff, 0xfc, 0x3f, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xfc, 0x7f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0xf, 0xff, 0xf0, 0xf, 0xff, 0xf0, 0x7, 0xff, 0xe0, 0x3, 0xdd, 0xc0, };
Sprite S_Ours_1(O1 , O1N , 24 , 24 );S_Ours_1.CreateReverse();
Sprite S_Ours_2(O2 , O2N , 24 , 24 );S_Ours_2.CreateReverse();
Sprite S_Ours[]={ S_Ours_1 , S_Ours_2};
Animation A_Ours(S_Ours , 2 , 250);
//Piaf
const unsigned char Piaf1[]={0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xf8, 0x7, 0xf8, 0x17, 0xf8, 0x17, 0xf8, 0x11, 0xf0, 0x7, 0xe0, 0x7, 0xc0, 0x8f, 0xc0, 0x7f, 0xc0, 0x1f, 0xe0, 0x3f, 0xff, 0xff, };
const unsigned char Piaf1N[]={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xe0, 0x7, 0xf8, 0xf, 0xfc, 0xf, 0xfc, 0xf, 0xfe, 0xf, 0xff, 0x1f, 0xfe, 0x3f, 0xfc, 0x7f, 0xf8, 0x7f, 0xf0, 0x7f, 0xf0, 0x3f, 0xe0, 0x1f, 0xc0, };
const unsigned char Piaf2[]={0xff, 0xff, 0xfe, 0x1f, 0xf8, 0x7, 0xf8, 0x17, 0xf8, 0x17, 0x88, 0x11, 0x80, 0x7, 0x80, 0x7, 0xd0, 0xf, 0xe1, 0x7f, 0xe1, 0x1f, 0xf0, 0xbf, 0xf0, 0xdf, 0xf0, 0x9f, 0xf8, 0x9f, 0xff, 0xff, };
const unsigned char Piaf2N[]={0x1, 0xe0, 0x7, 0xf8, 0xf, 0xfc, 0xf, 0xfc, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0x7f, 0xf8, 0x7f, 0xf0, 0x3f, 0xf0, 0x1f, 0xe0, 0x1f, 0xf0, 0x1f, 0xf0, 0xf, 0xf0, 0x7, 0x60, };
const unsigned char Piaf3[]={0xff, 0xff, 0xc9, 0xff, 0x89, 0xff, 0x87, 0xff, 0x84, 0x1f, 0x84, 0x7, 0x84, 0x17, 0xc0, 0x17, 0xa0, 0x11, 0x90, 0x7, 0x80, 0x7, 0xc0, 0x8f, 0xc0, 0x7f, 0xe0, 0x1f, 0xf0, 0x3f, 0xff, 0xff, };
const unsigned char Piaf3N[]={0x76, 0x0, 0x7f, 0x0, 0xff, 0x0, 0xff, 0xe0, 0xff, 0xf8, 0xff, 0xfc, 0xff, 0xfc, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0x7f, 0xf8, 0x7f, 0xf0, 0x3f, 0xf0, 0x1f, 0xe0, 0xf, 0xc0, };
Sprite S_Piaf_Repos(Piaf1 , Piaf1N , 16,16);S_Piaf_Repos.CreateReverse();
Sprite S_Piaf_Vole1(Piaf2 , Piaf2N , 16 ,16);S_Piaf_Vole1.CreateReverse();
Sprite S_Piaf_Vole2(Piaf3 , Piaf3N , 16 ,16);S_Piaf_Vole2.CreateReverse();
Sprite S_Piaf_Vole[]={ S_Piaf_Vole1 , S_Piaf_Vole2};
Animation A_Piaf_Repos( S_Piaf_Repos );
Animation A_Piaf_Vole( S_Piaf_Vole , 2 , 200 );
Animation A_Piaf[]={ A_Piaf_Repos , A_Piaf_Vole};
// Baby
const unsigned char Bb1[]={0xff, 0xff, 0xfe, 0xf, 0xfc, 0xf3, 0xfa, 0xb, 0xcc, 0x57, 0xc8, 0x53, 0xf8, 0x3, 0xf9, 0xfb, 0xfc, 0x77, 0xfe, 0xf, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xf8, 0x3f, 0xf8, 0x1f, 0xff, 0xff, };
const unsigned char Bb1N[]={0x3, 0xf0, 0xf, 0xfc, 0x1f, 0xfe, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xfe, 0xf, 0xfe, 0xf, 0xfc, 0x1f, 0xfc, 0x1f, 0xfc, 0x1f, 0xf8, 0xf, 0xf0, 0xf, 0xe0, 0xf, 0xf0, 0x7, 0xf0, };
const unsigned char Bb2[]={0xff, 0xff, 0x9f, 0xff, 0x9e, 0x7, 0xf8, 0xfb, 0xfa, 0x7, 0xfc, 0x2b, 0xf8, 0x2b, 0xf8, 0x3, 0xf8, 0xfb, 0xfc, 0x37, 0xfe, 0xf, 0xff, 0xfd, 0xdf, 0xc9, 0x8f, 0xf3, 0x9f, 0xff, 0xff, 0xff, };
const unsigned char Bb2N[]={0x63, 0xc0, 0xff, 0xf8, 0xff, 0xfc, 0x7f, 0xfe, 0x1f, 0xfe, 0x1f, 0xfe, 0xf, 0xfe, 0xf, 0xfe, 0xf, 0xfe, 0xf, 0xfc, 0x1f, 0xfe, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xfe, 0xf8, 0x1c, 0xe0, 0x0, };
Sprite S_Baby_1(Bb1 , Bb1N , 16 ,16);S_Baby_1.CreateReverse();
Sprite S_Baby_2(Bb2 , Bb2N , 16 ,16);S_Baby_1.CreateReverse();
Sprite S_Baby[]={ S_Baby_1 , S_Baby_2};
Animation A_Baby(S_Baby , 2 , 200);
// Fantome
const unsigned char Bou1[]={0xff, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xc0, 0xff, 0xc1, 0x7, 0x81, 0x2f, 0x82, 0x2b, 0xc2, 0x2b, 0xc2, 0x3, 0xe5, 0x3, 0x99, 0x87, 0xc0, 0xff, 0xef, 0xf, 0xe8, 0x9f, 0xf0, 0x7f, 0xff, 0xff, };
const unsigned char Bou1N[]={0x0, 0x0, 0xf, 0xc0, 0x3f, 0xf0, 0x7f, 0xf8, 0x7f, 0xfc, 0xff, 0xfc, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfc, 0x7f, 0xf8, 0x7f, 0xf8, 0x3f, 0xf0, 0x1f, 0xe0, 0xf, 0xc0, };
const unsigned char Bou2[]={0xff, 0xff, 0xfc, 0x1f, 0xf0, 0x3f, 0xf0, 0x43, 0x88, 0x8b, 0x84, 0x8b, 0x80, 0x89, 0x80, 0x81, 0xc0, 0x81, 0xf0, 0x41, 0xc0, 0x3f, 0xf0, 0x7, 0x88, 0x9, 0x84, 0x11, 0x8f, 0xe3, 0xff, 0xff, };
const unsigned char Bou2N[]={0x3, 0xe0, 0xf, 0xf8, 0x1f, 0xfc, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xfe, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x1c, };
Sprite S_Ghost_1(Bou1 , Bou1N , 16 ,16);S_Ghost_1.CreateReverse();
Sprite S_Ghost_2(Bou2 , Bou2N , 16 ,16);S_Ghost_2.CreateReverse();
Sprite S_Ghost[]={S_Ghost_1 , S_Ghost_2};
Animation A_Ghost(S_Ghost , 2 , 200);
// Champi
const unsigned char Champ1[]={0xff, 0xff, 0xfc, 0x3f, 0xf0, 0xf, 0xe0, 0x7, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x1, 0x80, 0x1, 0x84, 0x1, 0xca, 0x13, 0xf9, 0xef, 0xf0, 0xf, 0xf0, 0xf, 0xf8, 0xbf, 0xe0, 0x1f, 0xff, 0xff, };
const unsigned char Champ1N[]={0x3, 0xc0, 0xf, 0xf0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf8, 0x1f, 0xf8, 0x3f, 0xf0, 0x3f, 0xf0, 0x1f, 0xe0, };
const unsigned char Champ2[]={0xff, 0xff, 0xf0, 0x7f, 0xf0, 0x1f, 0xe1, 0x5f, 0x93, 0x6f, 0x89, 0x2f, 0x80, 0xf, 0xc0, 0x7, 0xf0, 0x43, 0xf8, 0x41, 0xf8, 0x9, 0xf8, 0x9, 0xf0, 0xf, 0xfa, 0x3f, 0xe0, 0x1f, 0xff, 0xff, };
const unsigned char Champ2N[]={0xf, 0x80, 0x1f, 0xe0, 0x1f, 0xf0, 0x7f, 0xf0, 0xff, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0x7f, 0xfc, 0x3f, 0xfe, 0xf, 0xff, 0xf, 0xff, 0xf, 0xff, 0x1f, 0xfe, 0x3f, 0xf8, 0x3f, 0xf0, 0x1f, 0xe0, };
const unsigned char Champ3[]={0xff, 0xff, 0xfe, 0xf, 0xf8, 0x7, 0xf8, 0x7, 0xf0, 0xd7, 0xf1, 0x95, 0xe1, 0xa9, 0xc0, 0x1, 0x88, 0x8b, 0x88, 0x8f, 0x90, 0xf, 0xf0, 0xf, 0xf0, 0x7, 0xfe, 0x8f, 0xfc, 0x3, 0xff, 0xff, };
const unsigned char Champ3N[]={0x1, 0xf0, 0x7, 0xf8, 0xf, 0xfc, 0xf, 0xfc, 0x1f, 0xfe, 0x1f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xff, 0xf8, 0x7f, 0xf8, 0x1f, 0xfc, 0xf, 0xfe, 0x7, 0xfe, 0x3, 0xfc, };
Sprite S_Champ_Normal(Champ1 , Champ1N , 16 ,16);S_Champ_Normal.CreateReverse();
Sprite S_Champ_HeadLess_1(Champ2 , Champ2N , 16 ,16);S_Champ_HeadLess_1.CreateReverse();
Sprite S_Champ_HeadLess_2(Champ3 , Champ3N , 16 ,16);S_Champ_HeadLess_2.CreateReverse();
Sprite S_Champ_HeadLess[]={S_Champ_HeadLess_1 , S_Champ_HeadLess_2};
Animation A_Champ_Normal(S_Champ_Normal);
Animation A_Champ_HeadLess(S_Champ_HeadLess , 2 , 200);
Animation A_Champ[]={A_Champ_Normal , A_Champ_HeadLess };
//Oupa
const unsigned char Oupa1[]={0xff, 0xff, 0x8f, 0xf9, 0x84, 0x19, 0x84, 0x5, 0x82, 0x3, 0xc2, 0xc7, 0xe2, 0x29, 0x9c, 0x29, 0x88, 0x1, 0xf0, 0x1, 0xe0, 0x13, 0xd0, 0x3, 0xc8, 0xf, 0xc7, 0xff, 0xe3, 0x1f, 0xff, 0xff, };
const unsigned char Oupa1N[]={0x70, 0x6, 0xfb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0x1c, 0xe0, };
const unsigned char Oupa2[]={0xff, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xf0, 0x7, 0xf8, 0x3, 0xc4, 0xc7, 0xc2, 0x29, 0x82, 0x29, 0x84, 0x1, 0x8c, 0x1, 0x94, 0x13, 0xe8, 0x3, 0xf8, 0xf, 0xc7, 0xff, 0xe2, 0x3f, 0xff, 0xff, };
const unsigned char Oupa2N[]={0x0, 0x0, 0x3, 0xe0, 0xf, 0xf8, 0x1f, 0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x7f, 0xf8, 0x3f, 0xe0, 0x1d, 0xc0, };
Sprite S_Oupa_1(Oupa1 , Oupa1N , 16 ,16);S_Oupa_1.CreateReverse();
Sprite S_Oupa_2(Oupa2 , Oupa2N , 16 ,16);S_Oupa_2.CreateReverse();
Sprite S_Oupa[]={S_Oupa_1 , S_Oupa_2};
Animation A_Oupa(S_Oupa , 2 , 200);
//Map
const unsigned char Tileset1[]={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x39, 0x39, 0xff, 0xff, 0xff, 0xff, 0x52, 0x52, 0x9e, 0x9e, 0x93, 0x93, 0x12, 0x12, 0x1c, 0x1c, 0x95, 0x95, 0x92, 0x92, 0x62, 0x62, 0x7f, 0xff, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x90, 0x10, 0xf9, 0x39, 0xff, 0xff, 0x6e, 0xef, 0x0, 0xc2, 0x0, 0x82, 0x0, 0xc1, 0x0, 0x82, 0x0, 0xc0, 0x0, 0x81, 0x0, 0xc2, 0x0, 0x82, 0xff, 0xfe, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x8, 0x9, 0x9c, 0x9f, 0xff, 0xff, 0xf7, 0x76, 0x43, 0x0, 0x41, 0x0, 0x83, 0x0, 0x41, 0x0, 0x3, 0x0, 0x81, 0x0, 0x43, 0x0, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x18, 0x0, 0x20, 0x0, 0x40, 0x0, 0x40, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x30, 0xc, 0x40, 0x2, 0x80, 0x1, 0x80, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70, 0x0, 0xc, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1e, 0x0, 0x60, 0x0, 0x80, 0x0, 0x60, 0x0, 0x18, 0x0, 0x4, 0x0, 0x3, 0x0, 0x0, 0x80, 0x0, 0x40, 0x0, 0x30, 0x0, 0x1f, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xc0, 0x3, 0x60, 0xe, 0x3f, 0xfc, 0xf, 0xf0, 0x1, 0x0, 0x7, 0x0, 0x1, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x1, 0x0, 0x1, 0x0, 0x3, 0x0, 0xe, 0x0, 0x3c, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x0, 0xcf, 0xff, 0xaf, 0xff, 0xd5, 0x55, 0xc0, 0x0, 0xc0, 0x0, 0xd0, 0x10, 0xc4, 0x4, 0xc0, 0x40, 0xc1, 0x1, 0xc0, 0x20, 0xc8, 0x8, 0xc0, 0x80, 0xc2, 0x2, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x4, 0x4, 0x40, 0x40, 0x1, 0x1, 0x20, 0x20, 0x8, 0x8, 0x80, 0x80, 0x2, 0x2, 0xff, 0xfe, 0xff, 0xff, 0x0, 0x3, 0xff, 0xf3, 0xff, 0xf5, 0x55, 0x57, 0x0, 0x3, 0x0, 0x3, 0x10, 0x13, 0x4, 0x3, 0x40, 0x43, 0x1, 0x3, 0x20, 0x23, 0x8, 0xb, 0x80, 0x83, 0x2, 0x3, 0xd0, 0x10, 0xc4, 0x4, 0xc0, 0x40, 0xc1, 0x1, 0xc0, 0x20, 0xc8, 0x8, 0xc0, 0x80, 0xc2, 0x2, 0xd0, 0x10, 0xc4, 0x4, 0xc0, 0x40, 0xc1, 0x1, 0xc0, 0x20, 0xc8, 0x8, 0xc0, 0x80, 0xc2, 0x2, 0x10, 0x10, 0x4, 0x4, 0x40, 0x40, 0x1, 0x1, 0x20, 0x20, 0x8, 0x8, 0x80, 0x80, 0x2, 0x2, 0x10, 0x10, 0x4, 0x4, 0x40, 0x40, 0x1, 0x1, 0x20, 0x20, 0x8, 0x8, 0x80, 0x80, 0x2, 0x2, 0x10, 0x13, 0x4, 0x3, 0x40, 0x43, 0x1, 0x3, 0x20, 0x23, 0x8, 0xb, 0x80, 0x83, 0x2, 0x3, 0x10, 0x13, 0x4, 0x3, 0x40, 0x43, 0x1, 0x3, 0x20, 0x23, 0x8, 0xb, 0x80, 0x83, 0x2, 0x3, 0x13, 0x10, 0x7, 0x4, 0x4b, 0x40, 0x12, 0x21, 0x22, 0x60, 0x22, 0xae, 0x43, 0x34, 0x46, 0x26, 0x3c, 0x26, 0x42, 0x4d, 0x81, 0x92, 0x81, 0x94, 0x81, 0x34, 0x81, 0x48, 0x42, 0xf9, 0x3c, 0x5, 0x10, 0x10, 0x4, 0x4, 0x40, 0x40, 0x1, 0x1, 0x20, 0x20, 0x8, 0x8, 0x80, 0x80, 0x2, 0x2, 0x13, 0x10, 0x7, 0x4, 0x4b, 0x40, 0x12, 0x21, 0x22, 0x60, 0x22, 0xae, 0x43, 0x34, 0x46, 0x26, 0x3c, 0x26, 0x42, 0x4d, 0x81, 0x92, 0x81, 0x94, 0x81, 0x34, 0x81, 0x48, 0x42, 0xf9, 0x3c, 0x5, 0x8d, 0xc2, 0xf2, 0x32, 0x92, 0x9, 0x91, 0x5, 0x21, 0x85, 0x21, 0x43, 0x42, 0x7e, 0x42, 0x62, 0x0, 0xf, 0x0, 0x10, 0x0, 0x20, 0x0, 0x43, 0x0, 0x8c, 0x0, 0x88, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0xf0, 0x0, 0x8, 0x0, 0x4, 0x0, 0xc2, 0x0, 0x31, 0x0, 0x11, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0x0, 0x90, 0xf, 0xf0, 0x10, 0x8, 0x20, 0x4, 0x43, 0xc2, 0x8c, 0x31, 0x88, 0x11, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x90, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x44, 0x8, 0x8, 0x10, 0xa8, 0x20, 0x91, 0x3d, 0x52, 0x42, 0x92, };
bool TileProp[]= { false , true , true , true , false , false , false , false , false , false , true , true , true , true , true , true , true , true , true , false ,false , false , false , false , false };
const unsigned char * map1[]={
"000000000000000000000000000000000000456000000000000000000000000000000000000000000",
"000000000000000045600000000000000000789000000045600000004560000000000000000000000",
"0000456000000000789000CD000000000000000000000078900000007890000000000000456000000",
"56CD78900CD00000000000EF000000456000:<0000000000000000000000000000000000789000000",
"89EF00000EF0000000000HFGHHH000789000=?000CD0000F000:<00:;<00000000F00F000000:;;;<",
"0HFGH00HHFGHH0HHHH:;;;;;;:<0HH00000H=?0HHFF0000GDH:>?00=>><0HH00H0GFHGFHH0:;>>>>?",
";;;;;;;:;;;;;;;;;;>@>@@@>=>;;;;;;;;;@A;;;;;;;;;;;;>>?00=>>>;;;;;;;;;;;;;;;>>>>>>?",
};