diff --git a/GUI.cpp b/GUI.cpp index 8c655df..a247432 100644 --- a/GUI.cpp +++ b/GUI.cpp @@ -80,25 +80,33 @@ void Script_GUI::Lose() { bool cinematic = true; - int y = GetEngine()->ListeObject[0]->OTransforms->GetY(); + Object * Kirby; + + for(int i = 0 ; i < GetEngine()->GetCurrentLevel()->GetNbObject() ; i++ ) + { + if(!strcmp(GetEngine()->GetCurrentLevel()->GetListeObject()[i]->GetTag(), "Kirby"))Kirby = GetEngine()->GetCurrentLevel()->GetListeObject()[i]; + } + + int y = Kirby->GetTransform()->GetY(); float force = 4.5; - GetEngine()->ListeObject[0]->ORender->SetIt(11); + Kirby->GetRender()->ForceSetIt(11); ML_clear_vram(); - GetEngine()->gamemap->AfficherMap(); - GetEngine()->ListeObject[0]->OTransforms->SetY(y); + GetEngine()->GetCurrentLevel()->DrawMap(); + Kirby->GetTransform()->SetY(y); GetEngine()->UpdateRelativePosition(); - GetEngine()->ListeObject[0]->ORender->DrawObject(); - this->Update(); + Kirby->GetRender()->DrawObject(); + + Update(); ML_display_vram(); Sleep(400); - while(cinematic == true) + while(cinematic) { y += force; @@ -108,14 +116,14 @@ void Script_GUI::Lose() if(y < -16) cinematic = false; - GetEngine()->gamemap->AfficherMap(); + GetEngine()->GetCurrentLevel()->DrawMap(); - GetEngine()->ListeObject[0]->OTransforms->SetY(y); + Kirby->GetTransform()->SetY(y); GetEngine()->UpdateRelativePosition(); - GetEngine()->ListeObject[0]->ORender->DrawObject(); - this->Update(); + Kirby->GetRender()->DrawObject(); + Update(); ML_display_vram(); @@ -129,7 +137,7 @@ void Script_GUI::Lose() TryAgain(); } - GetEngine()->ListeObject[0]->OTransforms->SetXY(0, 17); + Kirby->GetTransform()->SetXY(8, 32); } void Script_GUI::TryAgain() diff --git a/GUI.hpp b/GUI.hpp index 598ff0e..1e33995 100644 --- a/GUI.hpp +++ b/GUI.hpp @@ -1,7 +1,7 @@ #ifndef GUI #define GUI -#include "..\C-Engine\CHeader.hpp" +#include "..\C-Engine\CEngine.hpp" class Script_GUI: public Script { diff --git a/Kirby.cpp b/Kirby.cpp index 77947e7..3429f1c 100644 --- a/Kirby.cpp +++ b/Kirby.cpp @@ -1,98 +1,78 @@ -#include "..\C-Engine\CHeader.hpp" +#include "..\C-Engine\CEngine.hpp" -#include "Sources\Script_Control.hpp" -#include "Sources\IA_Monstre.hpp" -#include "Sources\GUI.hpp" +#include "Script_Control.hpp" +#include "GUI.hpp" int Niveau1() { - #include "Sources\Sprite.hpp" // Inclusion des sprites. + #include "Sprite.hpp" // Inclusion des sprites. //*****************Creation des objects****************** - Object Kirby; - Kirby.OTransforms->SetXY(8, 30); - Kirby.ORender->SetRender(A_Kirby , 12); - Kirby.ORigibody = new Rigibody(&Kirby); - Kirby.ORigibody->SetMass(1); - Kirby.ORigibody->AddForce(0 , -15); - Kirby.AffectTag("Kirby"); - - Object Ours; - Ours.OTransforms->SetXY(200 , 18); - Ours.ORender->SetRender(A_Ours); - Ours.ORigibody = new Rigibody(&Ours); - Ours.ORigibody->SetMass(5); - Ours.AffectTag("Ennemis"); - - Object Piaf; - Piaf.OTransforms->SetXY(300 , 34); - Piaf.ORender->SetRender(A_Piaf , 2); - Piaf.ORigibody = new Rigibody(&Piaf); - Piaf.ORigibody->SetMass(1); - Piaf.AffectTag("Ennemis"); - - Object Champignon; - Champignon.OTransforms->SetXY( 500 , 18); - Champignon.ORender->SetRender( A_Champ , 2); - Champignon.ORigibody = new Rigibody(&Champignon); - Champignon.ORigibody->SetMass(1); - Champignon.AffectTag("Ennemis"); - - Object Etoile; - Etoile.OTransforms->SetXY(1250 , 52); - Etoile.ORender->SetRender(A_Etoile); - Etoile.AffectTag("Etoile"); - - Object Aspiration; - Aspiration.ORender->SetRender(A_Aspiration); - Aspiration.AffectTag("Aspiration"); + Object * Kirby = new Object; + Kirby->GetTransform()->SetXY(8, 32); + Kirby->GetRender()->SetRender(A_Kirby , 12); Control * Kirby_Script = new Control; - IaOurs * Ours_Script = new IaOurs; - IaPiaf * Piaf_Script = new IaPiaf; - IaChamp * Champignon_Script = new IaChamp; - SAspi * Aspiration_Script = new SAspi; + Kirby->AffectScript(Kirby_Script); - Kirby.AffectScript(Kirby_Script); - Ours.AffectScript(Ours_Script); - Piaf.AffectScript(Piaf_Script); - Champignon.AffectScript(Champignon_Script); - Aspiration.AffectScript(Aspiration_Script); + Object * Aspiration = new Object; + Aspiration->GetRender()->SetRender(A_Aspiration); + Aspiration->AffectTag("Aspiration"); + + SAspi * Aspiration_Script = new SAspi; + Aspiration->AffectScript(Aspiration_Script); + + Script_GUI * Game_GUI = new Script_GUI; + Kirby_Script->Initialisation( A_Star , A_Soufle , Aspiration , Game_GUI ); //***********Creation de la map*************** - Map Niveau1; - Niveau1.SetMap(Tileset1 , map1 , TileProp , 16 , 16 , 81 ,7); + Level * L_GreenGreen1 = new Level; + L_GreenGreen1->SetMap(GreenGreenTileset , GreenGreen1 , GreenGreenProp , 16 , 16 , 90 , 8); + Level * L_GreenGreen2 = new Level; + L_GreenGreen2->SetMap(GreenGreenTileset , GreenGreen2 , GreenGreenProp , 16 , 16 , 82 , 8); + + Level * L_GreenGreen3 = new Level; + L_GreenGreen3->SetMap(GreenGreenTileset , GreenGreen3 , GreenGreenProp , 16 , 16 , 16 , 40); + + Level * L_GreenGreen4 = new Level; + L_GreenGreen4->SetMap(GreenGreenTileset , GreenGreen4 , GreenGreenProp , 16 , 16 , 10 , 24); + + Level * L_GreenGreen5 = new Level; + L_GreenGreen5->SetMap(GreenGreenTileset , GreenGreen5 , GreenGreenProp , 16 , 16 , 15 , 8); + + Level * GreenGreenWorld[] = { L_GreenGreen1 , L_GreenGreen2 , L_GreenGreen3 , L_GreenGreen4 , L_GreenGreen5}; + + Trigger * Trigger1 = new Trigger; Trigger1->CreateTrigger( 688 , 32 , 16 , 25 ); Trigger1->SetDestination( 112 , 48 , 4 , "Kirby"); + Trigger * Trigger2 = new Trigger; Trigger2->CreateTrigger( 112 , 48 , 16 , 25 ); Trigger2->SetDestination( 688 , 32 , 0 , "Kirby"); + Trigger * Trigger3 = new Trigger; Trigger3->CreateTrigger( 1200 , 16 , 16 , 25 ); Trigger3->SetDestination( 96 , 32 , 2 , "Kirby"); + Trigger * Trigger4 = new Trigger; Trigger4->CreateTrigger( 128 , 544 , 16 , 25 ); Trigger4->SetDestination( 16 , 336 , 3 , "Kirby"); + Trigger * Trigger5 = new Trigger; Trigger5->CreateTrigger( 1250 , 68 , 16 , 16 ); Trigger5->SetDestination( 8 , 16 , 1 , "Kirby"); Trigger5->GetRender()->SetRender(A_Star); //**************Assignation des objects************ Engine Game; - Game.AddObject( & Kirby); - Game.AddObject( & Champignon); - Game.AddObject( & Piaf); - Game.AddObject( & Ours); - Game.AddObject( & Etoile); + Game.SetLevel(GreenGreenWorld,5); - Game.AffectMap( &Niveau1); + Game.AddObject(Trigger1,0); + Game.AddObject(Trigger2,4); + Game.AddObject(Trigger3,1); + Game.AddObject(Trigger4,2); + Game.AddObject(Trigger5,0); - Niveau1.AffectEngine( &Game); + Game.SetCurrentLevel(0); - Script_GUI Game_GUI; + Game.AddObject(Kirby,0); - Game.AffectScript(Game_GUI); + Game.AffectGui(Game_GUI); - Kirby_Script->Initialisation( A_Etoile , A_Soufle , &Aspiration , &Game_GUI ); - - Game.SetFpsWish(4); - Game.SetType(1); - - Game.Game(); + Game.StartGame(); return 1; diff --git a/Script_Control.cpp b/Script_Control.cpp index fa9d5af..bee194a 100644 --- a/Script_Control.cpp +++ b/Script_Control.cpp @@ -5,302 +5,305 @@ void Control::Start() { - direction = false; - couldown = 0; + isground = false; + isdo = false; // Si réalise une action True isaspi = false; + isfull = 0; ishurt = 0; - Ventre = Vide; + direction = 0; GetEngine()->AddObject(OAspi); - GetObject()->ORigibody->UseFixeBody(16,16); + GetObject()->AddRigidBody(); + GetObject()->GetRigidBody()->SetMass(2); + GetObject()->GetRigidBody()->UseFixeBody(16,16); + + GetObject()->AffectTag("Kirby"); + + oldx = GetObject()->GetTransform()->GetX(); + oldy = GetObject()->GetTransform()->GetY(); +} + +void Control::Teleport( int x , int y , int level ) +{ + if(input_trigger(K_UP)) + { + GetEngine()->GetCurrentLevel()->DrawLevel(); + + for(int i = 0 ; i < 190 ; i ++) + { + ML_line(0,i,i,0,ML_BLACK); + ML_display_vram(); + Sleep(3); + } + + + GetEngine()->MoveObject(GetObject(),level); + GetEngine()->MoveObject(OAspi,level); + GetEngine()->SetCurrentLevel(level); + GetObject()->GetTransform()->SetXY(x,y); + + input_update(); + } } void Control::Update() { + if(GetEngine()->GetIdCurrentLevel() < 3)GenerateMonster(); - if( GetObject()->ORigibody->CollisionDecor( GetX() , ( GetY() - 1 )) == 1) isground = true; - else isground = false; + //Check si on touche le sol ou une plateforme + + isground = GetObject()->GetRigidBody()->CollisionDecor( GetObject()->GetTransform()->GetX() , GetObject()->GetTransform()->GetY() - 1 ); + + if(!mod(GetObject()->GetTransform()->GetY() , 16) && GetObject()->GetRigidBody()->GetBody()->velocity.y < 11 ) + { + int cas1 = GetEngine()->GetCurrentLevel()->GetIdMap( GetObject()->GetTransform()->GetX() , GetObject()->GetTransform()->GetY() - 1 , true ); + int cas2 = GetEngine()->GetCurrentLevel()->GetIdMap( GetObject()->GetTransform()->GetX() + 16 , GetObject()->GetTransform()->GetY() - 1 , true ); + + if(cas1 == 58)cas1 = 56; + if(cas2 == 58)cas2 = 56; + + if(cas1 == 56 || ( mod(GetObject()->GetTransform()->GetX() , 16) && cas2 == 56) ) + { + GetObject()->GetRigidBody()->GetBody()->velocity.y = 10; + isground = true; + + if(input_press(K_DOWN)) + { + GetObject()->GetRigidBody()->GetBody()->velocity.y = - 11; + isground = false; + } + } + } + + //Initialise à 0 l'action du joueur isdo = false; - if(ishurt == 0) + //On vérifie si le joueur n'a pas pris un dégat + + if(ishurt)//Si oui allors on le recule { + GetObject()->GetRender()->ForceSetIt(2); - if( Ventre == Vide) + if(ishurt > 15) { - 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); - + GetObject()->GetRigidBody()->GetBody()->velocity.x = 40 * ((direction) - (!direction)); + GetObject()->GetRigidBody()->GetBody()->velocity.y = 45; } 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()->GetRigidBody()->GetBody()->velocity.x = 0; + GetObject()->GetRigidBody()->GetBody()->velocity.y = 0; } + ishurt --; + } + else //Sinon le joueur peut le controller + { + Object * Ennemi = GetObject()->GetObjectCollisionTag("Ennemis"); + //Test de sui on touche un ennemi - GetObject()->ORender->ReverseRender(direction); - - Object * Ennemi = GetObject()->CollisionTagO("Ennemis"); - - if(Ennemi != NULL ) + if(Ennemi) { + GetEngine()->DelObject(Ennemi); - if(isaspi == false) + if(!isaspi) { - Ventre = Vide; - - GetEngine()->DelObject(Ennemi); + isfull = 0; + ishurt = 20; Interface->AddScore(400); Interface->DelVie(1); - - ishurt = 20; } else { - Ventre = Plein; - GetEngine()->DelObject(Ennemi); - + isfull = 2; Interface->AddScore(200); } } - } - else - { - GetObject()->ORigibody->R_body.velocity.x = -20; - GetObject()->ORigibody->R_body.velocity.y = 10; - ishurt --; - } + //Test de si kirby aspire + + if(input_press(K_OPTN) && !isfull)isaspi = true; + if(input_release(K_OPTN) && !isfull || isfull)isaspi = false; + + if(isaspi) + { + OAspi->Enable(); + + if(direction) + { + OAspi->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() - 40 , GetObject()->GetTransform()->GetY()); + OAspi->GetRender()->ReverseRender(true); + } + else + { + OAspi->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 16 , GetObject()->GetTransform()->GetY()); + OAspi->GetRender()->ReverseRender(false); + } + + GetObject()->GetRender()->SetIt(3); + + isdo = true; + } + else + { + OAspi->Disable(); + + if(input_trigger(K_OPTN)) + { + GetObject()->GetRender()->SetIt(8); - if( GetY() < 2) + Object * Buffer = new Object; + SSoufle * ScriptSouffle = new SSoufle; + SStar * ScriptStar = new SStar; + + switch(isfull) + { + case 1: + delete ScriptStar; + ScriptSouffle->time = 12; + ScriptSouffle->Interface = Interface; + Buffer->GetRender()->SetRender(RenderSouffle); + Buffer->AffectScript(ScriptSouffle); + + if(!direction)ScriptSouffle->direction = false; + else ScriptSouffle->direction = true; + break; + case 2: + delete ScriptSouffle; + ScriptStar->Interface = Interface; + Buffer->GetRender()->SetRender(RenderEtoile); + Buffer->AffectScript(ScriptStar); + Buffer->AddRigidBody(); + + if(!direction)ScriptStar->direction = false; + else ScriptStar->direction = true; + break; + default: + break; + } + + GetEngine()->AddObject(Buffer); + + if(!direction) + { + Buffer->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 16 , GetObject()->GetTransform()->GetY() + 8 ); + Buffer->GetRender()->ReverseRender(false); + } + else + { + Buffer->GetTransform()->SetXY( GetObject()->GetTransform()->GetX(), GetObject()->GetTransform()->GetY() + 8 ); + Buffer->GetRender()->ReverseRender(true); + } + + isfull = 0; + isdo = true; + } + + //Test des directions + + if(input_press(K_RIGHT)) + { + GetObject()->GetRigidBody()->Move( 2 , 0 ); + direction = false; + + if(isfull) + { + if(isground)GetObject()->GetRender()->SetIt(5); + } + else + GetObject()->GetRender()->SetIt(1); + + isdo = true; + } + else if(input_press(K_LEFT)) + { + GetObject()->GetRigidBody()->Move( -2 , 0 ); + direction = true; + + if(isfull) + { + if(isground)GetObject()->GetRender()->SetIt(5); + } + else + GetObject()->GetRender()->SetIt(1); + + isdo = true; + } + + //Test du saut + + if(input_trigger(K_SHIFT) && isground) + { + GetObject()->GetRigidBody()->GetBody()->velocity.y = 42; + + if(isfull) + GetObject()->GetRender()->SetIt(6); + else + GetObject()->GetRender()->SetIt(2); + + isdo = true; + } + + //Test de l'accroupisement + + if(input_press(K_DOWN) && !isdo && !isfull) + { + GetObject()->GetRender()->SetIt(10); + + isdo = true; + } + + if(isfull) + { + if(!isground) + { + if(GetObject()->GetRender()->GetIt() != 6 )GetObject()->GetRender()->SetIt(7); + } + else if(!isdo)GetObject()->GetRender()->SetIt(4); + } + else + { + if(!isground)GetObject()->GetRender()->SetIt(2); + else if(!isdo)GetObject()->GetRender()->SetIt(0); + } + + if(input_trigger(K_UP)) + { + + if(isfull == 1) + { + GetObject()->GetRigidBody()->GetBody()->velocity.y = 35; + GetObject()->GetRender()->SetIt(7); + } + + if(!isfull) + { + isfull = 1; + GetObject()->GetRender()->SetIt(9); + } + isdo = true; + } + + } + + } + + GetObject()->GetRender()->ReverseRender(direction); + + if( GetObject()->GetTransform()->GetY() < 3) { - Ventre = Vide; + isfull = 0; 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)); + GetEngine()->MiddleScreen( GetObject()->GetTransform()->GetX() + 12, (GetObject()->GetTransform()->GetY() + 16)); } void Control::Initialisation(Animation E, Animation S , Object * A , Script_GUI * G) @@ -313,22 +316,43 @@ void Control::Initialisation(Animation E, Animation S , Object * A , Script_GUI Interface = G; } +void Control::GenerateMonster() +{ + if(abs(oldx - GetObject()->GetTransform()->GetX()) > 15 || abs(oldy - GetObject()->GetTransform()->GetY()) > 15) + { + + if(!rand_int(8)) + { + Object * Buffer = new Object; + Buffer->GetTransform()->SetXY(16,32); + Buffer->AddRigidBody(); + Buffer->GetRender()->CopieRender(RenderEtoile); + + Buffer->AffectTag("Ennemis"); + GetEngine()->AddObject(Buffer); + } + + oldx = GetObject()->GetTransform()->GetX(); + oldy = GetObject()->GetTransform()->GetY(); + } +} + void SAspi::Update() { Object * Buffer = NULL; - Buffer = GetObject()->CollisionTagO("Ennemis"); + Buffer = GetObject()->GetObjectCollisionTag("Ennemis"); if( Buffer != NULL) { - if(GetObject()->ORender->GetReverse()== false) + if(GetObject()->GetRender()->GetReverse()== false) { - Buffer->ORigibody->Move(-2,0); + Buffer->GetRigidBody()->Move(-2,0); } else { - Buffer->ORigibody->Move(2,0); + Buffer->GetRigidBody()->Move(2,0); } } } @@ -337,13 +361,13 @@ void SSoufle::Update() { if(time > 0) { - if(direction == true)SetXY( GetX() - 3 , GetY() ); - else SetXY( GetX() + 3 , GetY() ); + if(direction == true)GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() - 3 , GetObject()->GetTransform()->GetY() ); + else GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY() ); } time--; - Object * Buffer = GetObject()->CollisionTagO("Ennemis"); + Object * Buffer = GetObject()->GetObjectCollisionTag("Ennemis"); if(Buffer != NULL) { @@ -366,22 +390,24 @@ void SStar::Update() if(direction == true) { - SetXY( GetX() - 3 , GetY() ); - if(GetObject()->ORigibody->CollisionDecor(GetX() - 3 , GetY())) + GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() - 3 , GetObject()->GetTransform()->GetY() ); + if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() - 3 , GetObject()->GetTransform()->GetY())) { GetEngine()->DelObject(GetObject());return; } } else { - SetXY( GetX() + 3 , GetY() ); - if(GetObject()->ORigibody->CollisionDecor(GetX() + 3 , GetY())) + GetObject()->GetTransform()->SetXY( GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY() ); + if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY())) + if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY())) + if(GetObject()->GetRigidBody()->CollisionDecor(GetObject()->GetTransform()->GetX() + 3 , GetObject()->GetTransform()->GetY())) { GetEngine()->DelObject(GetObject());return; } } - Object * Buffer = GetObject()->CollisionTagO("Ennemis"); + Object * Buffer = GetObject()->GetObjectCollisionTag("Ennemis"); if(Buffer != NULL) { diff --git a/Script_Control.hpp b/Script_Control.hpp index 97ec81a..1c02b4a 100644 --- a/Script_Control.hpp +++ b/Script_Control.hpp @@ -1,7 +1,7 @@ #ifndef SCRIPTCONTROL #define SCRIPTCONTROL -#include "..\C-Engine\CHeader.hpp" +#include "..\C-Engine\CEngine.hpp" #include "GUI.hpp" //Kirby script @@ -43,16 +43,21 @@ class Control: public Script void Start(); void Update(); void Initialisation(Animation E, Animation S , Object * A , Script_GUI * G); + void Teleport( int x , int y , int level ); + void GenerateMonster(); 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 isfull; int ishurt; - int couldown; - Contenu Ventre; + + bool direction; // Direction du personnage True = Gauche + + int oldx; + int oldy; Animation RenderSouffle; Animation RenderEtoile; diff --git a/Sprite.hpp b/Sprite.hpp index 780ec94..e76314b 100644 --- a/Sprite.hpp +++ b/Sprite.hpp @@ -149,7 +149,7 @@ Sprite S_Etoile[]={ S_Etoile1 , S_Etoile2 , S_Etoile3 , S_Etoile4}; - Animation A_Etoile(S_Etoile , 4 , 300); + Animation A_Star(S_Etoile , 4 , 300); // Ours @@ -258,16 +258,123 @@ //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, }; + const unsigned char GreenGreenTileset[]={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, 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, 0x0, 0x0, 0x0, 0x0, 0x24, 0x0, 0x4c, 0x44, 0x8, 0x8, 0x90, 0xa8, 0x20, 0x91, 0x3d, 0x52, 0x42, 0x92, 0xb3, 0xf4, 0x46, 0x8c, 0x8e, 0x44, 0xf3, 0x2, 0x93, 0xa, 0x95, 0x86, 0x24, 0x7c, 0x3f, 0xfc, 0x48, 0x92, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x44, 0x12, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x10, 0x0, 0x10, 0x0, 0x20, 0x0, 0x20, 0x0, 0x20, 0x0, 0x40, 0x0, 0x40, 0x0, 0x40, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0xc, 0x0, 0x10, 0x0, 0x20, 0x0, 0x40, 0x0, 0x80, 0x1, 0x0, 0x2, 0x0, 0x4, 0x0, 0x4, 0x0, 0x8, 0x0, 0x0, 0x1f, 0x1, 0xe0, 0xe, 0x0, 0x70, 0x0, 0x80, 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, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x4, 0x0, 0x4, 0x0, 0x4, 0x0, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x40, 0x0, 0x30, 0x0, 0x8, 0x0, 0x4, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x80, 0x0, 0x40, 0x0, 0x20, 0x0, 0x20, 0x0, 0x10, 0xf8, 0x0, 0x7, 0x80, 0x0, 0x70, 0x0, 0xe, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4, 0x21, 0xc4, 0x21, 0xc1, 0x5, 0xe1, 0x5, 0xa0, 0x87, 0xa0, 0x83, 0x84, 0x23, 0x84, 0x23, 0xc4, 0x21, 0xc4, 0x21, 0xc1, 0x5, 0xe1, 0x5, 0xa0, 0x87, 0xa0, 0x83, 0x84, 0x23, 0x84, 0x23, 0x0, 0x21, 0x0, 0x21, 0x0, 0x5, 0x0, 0x5, 0x0, 0x87, 0x0, 0x83, 0x0, 0x23, 0x0, 0x23, 0x0, 0x21, 0x0, 0x21, 0x0, 0x5, 0x0, 0x5, 0x0, 0x87, 0x0, 0x83, 0x0, 0x23, 0x0, 0x23, 0x84, 0x0, 0x84, 0x0, 0xa0, 0x0, 0xa0, 0x0, 0xe1, 0x0, 0xc1, 0x0, 0xc4, 0x0, 0xc4, 0x0, 0x84, 0x0, 0x84, 0x0, 0xa0, 0x0, 0xa0, 0x0, 0xe1, 0x0, 0xc1, 0x0, 0xc4, 0x0, 0xc4, 0x0, 0x21, 0x0, 0x21, 0x0, 0x5, 0x0, 0x5, 0x44, 0x87, 0x8, 0x83, 0xa8, 0x23, 0x91, 0x23, 0x52, 0x21, 0x92, 0x21, 0xf4, 0x5, 0x8c, 0x5, 0x44, 0x87, 0x2, 0x83, 0xa, 0x23, 0x86, 0x23, 0x7c, 0x21, 0x0, 0x21, 0x0, 0x5, 0x0, 0x5, 0x0, 0x87, 0x0, 0x83, 0x0, 0x23, 0x0, 0x23, 0x0, 0x21, 0x0, 0x21, 0x0, 0x5, 0x0, 0x5, 0x0, 0x87, 0x0, 0x83, 0x0, 0x23, 0x0, 0x23, 0x0, 0x80, 0x0, 0x80, 0x0, 0x40, 0x0, 0x40, 0x0, 0x20, 0x0, 0x10, 0x0, 0xc, 0x0, 0x3, 0x0, 0x0, 0x80, 0x0, 0x80, 0x0, 0x40, 0x0, 0x40, 0x0, 0x20, 0x0, 0x10, 0x0, 0xc, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x80, 0xd, 0x80, 0xa, 0x40, 0x1a, 0x40, 0x74, 0x20, 0xc8, 0x10, 0x30, 0xc, 0xc0, 0x3, 0x0, 0x5, 0x0, 0xd, 0x0, 0xa, 0x0, 0x1a, 0x0, 0x74, 0x0, 0xc8, 0x0, 0x30, 0x0, 0xc0, 0x5, 0x0, 0xd, 0x0, 0xa, 0x0, 0x1a, 0x0, 0x74, 0x0, 0xc8, 0x0, 0x30, 0x0, 0xc0, 0x0, 0x0, 0x3, 0x0, 0xc, 0x0, 0x10, 0x0, 0x20, 0x0, 0x40, 0x0, 0x40, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x40, 0x0, 0x40, 0x0, 0x20, 0x0, 0x10, 0x0, 0xc, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c, 0x0, 0x42, 0x0, 0x81, 0x0, 0x81, 0x0, 0x81, 0x0, 0x81, 0x0, 0x42, 0x0, 0x3c, 0x0, 0xc0, 0x0, 0x30, 0x0, 0x8, 0x0, 0x4, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x1, 0x0, 0x5, 0x0, 0xd, 0x0, 0xa, 0x0, 0x1a, 0x0, 0x74, 0x0, 0xc8, 0x0, 0x30, 0x0, 0xc0, 0x0, 0x0, 0x3, 0x0, 0xc, 0x0, 0x10, 0x0, 0x20, 0x0, 0x40, 0x0, 0x40, 0x0, 0x80, 0x0, 0x80, 0x3, 0x0, 0xc, 0x0, 0x10, 0x0, 0x20, 0x0, 0x40, 0x0, 0x40, 0x0, 0x80, 0x0, 0x80, 0x0, 0x0, 0x70, 0x0, 0x88, 0x0, 0x88, 0x0, 0x88, 0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70, 0x3c, 0x88, 0x42, 0x88, 0x81, 0x88, 0x81, 0x70, 0x81, 0x0, 0x81, 0x0, 0x42, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xc0, 0xc, 0x30, 0x10, 0x8, 0x20, 0x4, 0x40, 0x2, 0x40, 0x2, 0x80, 0x1, 0x80, 0x1, 0xc0, 0x0, 0x30, 0x0, 0x8, 0x0, 0x4, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0xc0, 0x0, 0x30, 0x0, 0x8, 0x0, 0x4, 0x0, 0x2, 0x0, 0x2, 0x0, 0x1, 0x0, 0x1, 0x80, 0x5, 0x80, 0xd, 0x80, 0xa, 0x40, 0x1a, 0x20, 0x74, 0x10, 0xc8, 0xc, 0x30, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x5, 0x80, 0xd, 0x80, 0xa, 0x40, 0x1a, 0x20, 0x74, 0x10, 0xc8, 0xc, 0x30, 0x3, 0xc0, 0x21, 0x0, 0x21, 0x0, 0x5, 0x0, 0x5, 0x0, 0x87, 0x0, 0x83, 0x0, 0x23, 0x0, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x81, 0x0, 0x81, 0x0, 0xe7, 0x0, 0x24, 0x0, 0x25, 0xef, 0x25, 0x19, 0x25, 0x9, 0x25, 0x1, 0xe7, 0x1, 0x81, 0x21, 0x81, 0x31, 0xff, 0xef, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfe, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x88, 0x0, 0x87, 0xff, 0x84, 0x0, 0x84, 0x8f, 0x89, 0xf1, 0x88, 0x1e, 0x85, 0x87, 0x85, 0x87, 0x88, 0x1e, 0x89, 0xf1, 0x84, 0x8f, 0x84, 0x0, 0x87, 0xff, 0x88, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x8, 0x20, 0xcf, 0x3c, 0x71, 0xc7, 0x9e, 0x78, 0x9e, 0x78, 0x71, 0xc7, 0xcf, 0x3c, 0x8, 0x20, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x11, 0xff, 0xe1, 0x0, 0x21, 0x8, 0x21, 0xcf, 0x31, 0x71, 0xd1, 0x9e, 0x61, 0x9e, 0x61, 0x71, 0xd1, 0xcf, 0x31, 0x8, 0x21, 0x0, 0x21, 0xff, 0xe1, 0x0, 0x11, 0xff, 0xff, 0x24, 0x8, 0x44, 0x8, 0x42, 0x78, 0x82, 0x84, 0x83, 0x4, 0x81, 0x7, 0x81, 0x4, 0x81, 0x84, 0x81, 0xf8, 0x81, 0x90, 0x81, 0x10, 0x81, 0x8, 0x81, 0xb, 0x42, 0xc, 0x22, 0x8, 0x3c, 0x8, 0x7f, 0xfe, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x7f, 0xfe, 0x3f, 0xfc, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x98, 0x19, 0x90, 0x9, 0xb0, 0xd, 0xa3, 0xc5, 0xa7, 0xe5, 0xef, 0xf7, 0xcc, 0x33, 0xd8, 0x1b, 0x98, 0x19, 0x90, 0x9, 0xb0, 0xd, 0xa3, 0xc5, 0xa7, 0xe5, 0xef, 0xf7, 0xcc, 0x33, 0xd8, 0x1b, 0x7f, 0xfe, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x7f, 0xfe, 0xdf, 0xfb, 0xdb, 0xdb, 0x98, 0x19, 0x90, 0x9, 0xb0, 0xd, 0xa3, 0xc5, 0xa7, 0xe5, 0xef, 0xf7, 0xcc, 0x33, 0xd8, 0x1b, 0x84, 0x0, 0x84, 0x0, 0xa0, 0x0, 0xa0, 0x0, 0x80, 0x0, 0xff, 0x80, 0x0, 0x40, 0x0, 0x20, 0x0, 0x20, 0x0, 0x20, 0x0, 0x20, 0xf8, 0x40, 0x9f, 0x80, 0xc1, 0x0, 0xc4, 0x0, 0xc4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0x5, 0x0, 0x5, 0x0, 0x5, 0x0, 0x5, 0x0, 0x2, 0xfc, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x84, 0x23, 0x84, 0x23, 0xa0, 0x83, 0xa0, 0x87, 0xe1, 0x5, 0xc1, 0x5, 0xc4, 0x21, 0xc4, 0x21, 0x84, 0x23, 0x84, 0x23, 0xa0, 0x83, 0xa0, 0x87, 0xe1, 0x5, 0xc1, 0x5, 0xc4, 0x21, 0xc4, 0x21, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, 0xa0, 0x5, }; - 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 }; + bool GreenGreenProp[]={0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,}; - const unsigned char * map1[]={ - "000000000000000000000000000000000000456000000000000000000000000000000000000000000", - "000000000000000045600000000000000000789000000045600000004560000000000000000000000", - "0000456000000000789000CD000000000000000000000078900000007890000000000000456000000", - "56CD78900CD00000000000EF000000456000:<0000000000000000000000000000000000789000000", - "89EF00000EF0000000000HFGHHH000789000=?000CD0000F000:<00:;<00000000F00F000000:;;;<", - "0HFGH00HHFGHH0HHHH:;;;;;;:<0HH00000H=?0HHFF0000GDH:>?00=>><0HH00H0GFHGFHH0:;>>>>?", - ";;;;;;;:;;;;;;;;;;>@>@@@>=>;;;;;;;;;@A;;;;;;;;;;;;>>?00=>>>;;;;;;;;;;;;;;;>>>>>>?", + unsigned char GreenGreen1[]={ + 0x01,0x02,0x03,0x04,0x01,0x05,0x06,0x07,0x1B,0x1C,0x20,0x1F,0x01,0x01,0x05,0x06,0x07,0x01,0x05,0x06,0x07,0x01,0x02,0x03,0x04,0x02,0x03,0x04,0x01,0x05,0x06,0x07,0x02,0x03,0x04,0x01,0x18,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x01,0x02,0x03,0x04,0x18,0x01,0x01,0x05,0x06,0x07,0x02,0x03,0x03,0x04,0x01,0x01,0x01,0x1A,0x01,0x01,0x1E,0x02,0x03,0x04,0x1B,0x1C,0x20,0x1F,0x18,0x01,0x05,0x06,0x07,0x01,0x01,0x01,0x02,0x03,0x04,0x01,0x01,0x01,0x01,0x01,0x01, + 0x04,0x05,0x06,0x07,0x01,0x18,0x01,0x01,0x1A,0x01,0x01,0x1E,0x1C,0x20,0x1F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x05,0x06,0x07,0x05,0x06,0x07,0x01,0x18,0x01,0x01,0x05,0x06,0x07,0x18,0x01,0x01,0x05,0x06,0x06,0x07,0x01,0x01,0x01,0x01,0x05,0x06,0x07,0x01,0x02,0x03,0x04,0x01,0x01,0x05,0x06,0x06,0x07,0x01,0x18,0x02,0x19,0x01,0x01,0x1D,0x05,0x06,0x07,0x1A,0x01,0x01,0x1E,0x1C,0x20,0x1F,0x01,0x01,0x01,0x18,0x01,0x05,0x06,0x07,0x02,0x03,0x03,0x04,0x01,0x01, + 0x07,0x18,0x01,0x01,0x02,0x03,0x04,0x18,0x19,0x01,0x01,0x1D,0x01,0x01,0x1E,0x18,0x01,0x1B,0x1C,0x20,0x1F,0x18,0x11,0x12,0x02,0x03,0x04,0x18,0x01,0x01,0x02,0x03,0x04,0x01,0x01,0x08,0x0A,0x02,0x03,0x04,0x01,0x01,0x1B,0x1C,0x20,0x1F,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x05,0x19,0x01,0x1B,0x1C,0x20,0x1F,0x18,0x19,0x01,0x01,0x1D,0x01,0x01,0x1E,0x18,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x05,0x06,0x06,0x07,0x01,0x01, + 0x03,0x04,0x11,0x12,0x05,0x06,0x07,0x02,0x19,0x11,0x12,0x1D,0x01,0x01,0x1D,0x03,0x04,0x1A,0x01,0x01,0x1E,0x01,0x13,0x14,0x05,0x06,0x07,0x02,0x03,0x04,0x05,0x06,0x07,0x01,0x02,0x0B,0x0D,0x05,0x06,0x07,0x01,0x01,0x1A,0x32,0x01,0x1E,0x01,0x05,0x06,0x07,0x01,0x01,0x01,0x18,0x02,0x03,0x04,0x01,0x01,0x02,0x03,0x04,0x19,0x01,0x1A,0x11,0x12,0x1E,0x11,0x12,0x01,0x1B,0x1C,0x20,0x1F,0x1D,0x01,0x01,0x01,0x01,0x01,0x18,0x01,0x1B,0x1C,0x20,0x1F,0x01,0x01,0x01, + 0x06,0x07,0x13,0x14,0x01,0x01,0x01,0x05,0x19,0x13,0x14,0x1C,0x20,0x1F,0x1D,0x06,0x07,0x19,0x01,0x01,0x1D,0x16,0x14,0x15,0x16,0x16,0x16,0x05,0x06,0x07,0x01,0x01,0x14,0x01,0x05,0x0B,0x0D,0x01,0x01,0x01,0x11,0x12,0x19,0x33,0x01,0x1D,0x14,0x01,0x01,0x01,0x08,0x0A,0x01,0x01,0x08,0x09,0x0A,0x01,0x01,0x05,0x06,0x07,0x19,0x01,0x19,0x13,0x14,0x1D,0x13,0x14,0x01,0x1A,0x01,0x01,0x1E,0x08,0x09,0x09,0x09,0x0A,0x01,0x01,0x01,0x1A,0x01,0x01,0x1E,0x04,0x01,0x01, + 0x17,0x16,0x14,0x15,0x16,0x01,0x01,0x16,0x16,0x14,0x15,0x16,0x16,0x1E,0x16,0x16,0x16,0x16,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x0A,0x17,0x16,0x16,0x16,0x01,0x15,0x12,0x16,0x0B,0x0D,0x17,0x16,0x16,0x14,0x14,0x19,0x34,0x01,0x1D,0x15,0x12,0x17,0x08,0x0C,0x0D,0x03,0x04,0x0B,0x0C,0x0C,0x0A,0x17,0x17,0x16,0x01,0x19,0x16,0x17,0x14,0x15,0x17,0x14,0x15,0x16,0x16,0x17,0x08,0x09,0x0C,0x0C,0x0C,0x08,0x0A,0x01,0x02,0x03,0x19,0x01,0x01,0x1D,0x07,0x01,0x01, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0A,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0C,0x0F,0x0C,0x0F,0x0F,0x0F,0x0C,0x0B,0x0C,0x09,0x09,0x0A,0x09,0x09,0x09,0x09,0x09,0x0F,0x0F,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0C,0x0C,0x0D,0x06,0x07,0x0B,0x0C,0x0C,0x0F,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0C,0x0C,0x0C,0x0C,0x08,0x0C,0x0D,0x01,0x05,0x06,0x19,0x01,0x01,0x1D,0x01,0x01,0x01, + 0x0F,0x0E,0x0E,0x0F,0x0F,0x0E,0x0E,0x0D,0x0F,0x0E,0x0F,0x0C,0x0F,0x0E,0x0E,0x0E,0x0F,0x0E,0x0E,0x10,0x0E,0x10,0x10,0x10,0x0E,0x0B,0x0E,0x0E,0x0E,0x0F,0x0A,0x0E,0x0E,0x0E,0x0E,0x10,0x10,0x0E,0x0E,0x0E,0x0E,0x0F,0x0F,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0F,0x0D,0x01,0x01,0x0B,0x0F,0x0E,0x10,0x0E,0x0E,0x0F,0x0E,0x0F,0x0E,0x0E,0x0F,0x0F,0x0F,0x0E,0x0E,0x0C,0x0F,0x0F,0x0E,0x0F,0x0C,0x08,0x0C,0x08,0x0A,0x01,0x01,0x01,0x19,0x01,0x01,0x1D,0x01,0x01,0x01, }; + + unsigned char GreenGreen2[]={ + 0x05,0x06,0x07,0x01,0x01,0x05,0x06,0x07,0x2C,0x2A,0x01,0x01,0x01,0x2D,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x2A,0x2D,0x01,0x01,0x2D,0x01,0x01,0x01,0x01,0x2B,0x02,0x03,0x04,0x01,0x02,0x03,0x04,0x01,0x2C,0x2A,0x01,0x01,0x01,0x2A,0x01,0x2D,0x01,0x01,0x01,0x01,0x01,0x2A,0x01,0x01,0x01,0x01,0x01,0x2D,0x01,0x01,0x01,0x2A,0x01,0x2B,0x01,0x29,0x01,0x01,0x2D,0x01,0x01,0x01,0x28,0x30,0x01,0x30,0x26,0x01,0x01,0x2D,0x0B, + 0x04,0x01,0x01,0x18,0x02,0x03,0x04,0x29,0x01,0x01,0x2D,0x01,0x01,0x01,0x01,0x2A,0x01,0x01,0x2D,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x2A,0x01,0x2B,0x05,0x06,0x07,0x01,0x05,0x06,0x07,0x29,0x01,0x01,0x01,0x01,0x2D,0x01,0x01,0x01,0x01,0x01,0x2A,0x01,0x01,0x01,0x01,0x2D,0x01,0x01,0x01,0x01,0x01,0x01,0x2A,0x01,0x01,0x2B,0x01,0x01,0x26,0x2D,0x01,0x01,0x2D,0x01,0x23,0x01,0x01,0x01,0x22,0x2D,0x01,0x01,0x0B, + 0x07,0x02,0x03,0x04,0x05,0x06,0x07,0x29,0x01,0x01,0x01,0x01,0x2D,0x01,0x2A,0x01,0x01,0x01,0x01,0x01,0x2A,0x27,0x27,0x01,0x2D,0x01,0x27,0x27,0x27,0x28,0x01,0x01,0x01,0x02,0x03,0x04,0x01,0x01,0x29,0x01,0x01,0x2A,0x01,0x28,0x31,0x26,0x28,0x26,0x27,0x27,0x27,0x2D,0x01,0x01,0x27,0x27,0x01,0x2A,0x01,0x2D,0x01,0x28,0x26,0x28,0x01,0x01,0x01,0x01,0x30,0x30,0x26,0x27,0x28,0x23,0x01,0x01,0x01,0x22,0x26,0x2A,0x27,0x0B, + 0x01,0x05,0x06,0x07,0x01,0x01,0x01,0x01,0x26,0x28,0x30,0x26,0x28,0x31,0x30,0x30,0x26,0x28,0x31,0x26,0x28,0x23,0x22,0x26,0x27,0x28,0x21,0x01,0x01,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x01,0x01,0x01,0x26,0x28,0x30,0x30,0x23,0x25,0x01,0x01,0x01,0x01,0x23,0x22,0x26,0x27,0x28,0x21,0x01,0x26,0x28,0x31,0x26,0x28,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x23,0x23,0x01,0x01,0x01,0x22,0x22,0x30,0x01,0x0B, + 0x02,0x03,0x04,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x23,0x25,0x01,0x01,0x01,0x23,0x25,0x01,0x01,0x23,0x22,0x01,0x01,0x01,0x21,0x01,0x01,0x01,0x05,0x06,0x07,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x23,0x25,0x01,0x01,0x01,0x01,0x23,0x22,0x01,0x01,0x01,0x21,0x01,0x01,0x23,0x25,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x23,0x23,0x01,0x32,0x01,0x22,0x22,0x01,0x01,0x0B, + 0x05,0x14,0x07,0x01,0x18,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x23,0x25,0x01,0x01,0x01,0x23,0x25,0x01,0x01,0x23,0x22,0x01,0x08,0x09,0x09,0x0A,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x11,0x12,0x01,0x01,0x01,0x01,0x01,0x23,0x25,0x01,0x01,0x01,0x01,0x23,0x22,0x01,0x01,0x01,0x21,0x01,0x01,0x23,0x25,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x23,0x23,0x01,0x33,0x01,0x22,0x22,0x01,0x01,0x0B, + 0x01,0x15,0x12,0x01,0x02,0x03,0x04,0x18,0x16,0x01,0x16,0x17,0x23,0x24,0x17,0x17,0x17,0x23,0x24,0x17,0x17,0x23,0x22,0x17,0x0B,0x0C,0x0C,0x0D,0x17,0x17,0x16,0x16,0x17,0x17,0x16,0x01,0x14,0x14,0x16,0x16,0x17,0x16,0x17,0x23,0x24,0x17,0x17,0x17,0x17,0x23,0x08,0x09,0x0A,0x17,0x21,0x17,0x17,0x23,0x24,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x23,0x23,0x01,0x34,0x01,0x22,0x22,0x17,0x17,0x0B, + 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0C,0x0C,0x0C,0x0C,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0C,0x0C,0x0C,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + }; + + unsigned char GreenGreen3[]={ + 0x2D,0x01,0x2D,0x3E,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x3E,0x01,0x2D,0x01, + 0x01,0x01,0x01,0x3E,0x39,0x39,0x3B,0x39,0x39,0x39,0x39,0x39,0x3E,0x01,0x01,0x01, + 0x27,0x28,0x30,0x3E,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x01,0x3E,0x2A,0x01,0x2D, + 0x01,0x01,0x01,0x3E,0x01,0x01,0x3A,0x01,0x33,0x01,0x01,0x01,0x3E,0x27,0x28,0x30, + 0x04,0x01,0x01,0x3E,0x01,0x01,0x3A,0x01,0x34,0x01,0x01,0x01,0x3E,0x01,0x01,0x01, + 0x07,0x2E,0x2E,0x3E,0x01,0x35,0x36,0x36,0x36,0x36,0x37,0x01,0x3E,0x01,0x01,0x02, + 0x2C,0x01,0x01,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3E,0x2E,0x2E,0x05, + 0x01,0x2D,0x01,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3E,0x2A,0x01,0x2F, + 0x2D,0x35,0x36,0x36,0x37,0x39,0x3B,0x39,0x39,0x3B,0x39,0x35,0x36,0x36,0x37,0x01, + 0x01,0x2D,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x2D,0x01, + 0x01,0x2A,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x01,0x2D, + 0x01,0x01,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x01,0x28, + 0x35,0x36,0x36,0x36,0x37,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x30,0x01, + 0x3E,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x01,0x01, + 0x3E,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x03,0x04, + 0x35,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x06,0x07, + 0x27,0x01,0x3E,0x01,0x3A,0x01,0x01,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x02,0x03, + 0x01,0x30,0x3E,0x01,0x3A,0x01,0x01,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x05,0x06, + 0x01,0x01,0x3E,0x01,0x3A,0x01,0x01,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x2E,0x01, + 0x01,0x01,0x3E,0x01,0x3A,0x01,0x01,0x01,0x01,0x3A,0x01,0x3A,0x01,0x3E,0x01,0x2F, + 0x01,0x01,0x3E,0x01,0x3A,0x01,0x01,0x35,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0x2E,0x2E,0x3E,0x01,0x3A,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x01,0x3E,0x2A,0x01, + 0x01,0x2A,0x3E,0x01,0x3A,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x01,0x3E,0x2D,0x01, + 0x36,0x36,0x36,0x36,0x36,0x37,0x01,0x01,0x01,0x01,0x3A,0x01,0x01,0x3E,0x01,0x2D, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x39,0x39,0x35,0x36,0x36,0x36,0x36, + 0x2D,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x3E,0x2A, + 0x01,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x3E,0x2D, + 0x01,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x3E,0x01, + 0x27,0x3E,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x01,0x01,0x3A,0x01,0x3E,0x28, + 0x01,0x3E,0x39,0x3B,0x39,0x35,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x3E,0x01, + 0x01,0x3E,0x01,0x3A,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x3A,0x01,0x3E,0x01, + 0x01,0x3E,0x01,0x3A,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x3A,0x01,0x3E,0x01, + 0x01,0x3E,0x01,0x3A,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x01,0x3A,0x01,0x3E,0x04, + 0x01,0x3E,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x01,0x3A,0x01,0x3E,0x07, + 0x02,0x3E,0x01,0x01,0x3A,0x01,0x01,0x01,0x3A,0x01,0x01,0x39,0x3B,0x39,0x3E,0x01, + 0x05,0x3E,0x01,0x01,0x3A,0x01,0x01,0x01,0x3A,0x01,0x01,0x01,0x3A,0x01,0x3E,0x01, + 0x01,0x3E,0x01,0x01,0x3A,0x01,0x33,0x01,0x3A,0x01,0x01,0x39,0x3B,0x39,0x3E,0x01, + 0x17,0x3E,0x01,0x01,0x3A,0x01,0x34,0x01,0x3A,0x01,0x01,0x01,0x3A,0x01,0x3E,0x17, + 0x0A,0x35,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x08, + 0x0D,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x0B, + }; + + + unsigned char GreenGreen4[]={ + 0x01,0x01,0x22,0x2D,0x01,0x01,0x01,0x01,0x2F,0x01, + 0x01,0x33,0x22,0x01,0x01,0x01,0x01,0x01,0x01,0x2B, + 0x01,0x34,0x22,0x01,0x01,0x01,0x01,0x01,0x2D,0x2F, + 0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x01,0x35,0x36, + 0x01,0x22,0x2C,0x01,0x2D,0x01,0x01,0x01,0x01,0x28, + 0x0A,0x22,0x01,0x01,0x01,0x01,0x01,0x01,0x28,0x2C, + 0x0D,0x2C,0x01,0x01,0x01,0x01,0x2D,0x01,0x2F,0x26, + 0x36,0x36,0x37,0x01,0x35,0x36,0x36,0x36,0x36,0x36, + 0x0D,0x01,0x01,0x2A,0x2D,0x01,0x2D,0x01,0x01,0x01, + 0x0D,0x26,0x28,0x26,0x01,0x01,0x01,0x2D,0x01,0x01, + 0x0D,0x22,0x01,0x1D,0x01,0x28,0x30,0x26,0x2A,0x01, + 0x0D,0x22,0x2E,0x2C,0x01,0x19,0x01,0x1D,0x01,0x2A, + 0x0D,0x2C,0x01,0x01,0x01,0x2F,0x01,0x2C,0x01,0x01, + 0x0D,0x01,0x01,0x01,0x2A,0x01,0x30,0x01,0x01,0x01, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x2D, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x2D,0x01, + 0x01,0x2D,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, + 0x2D,0x01,0x01,0x01,0x2D,0x01,0x01,0x28,0x26,0x2D, + 0x27,0x01,0x27,0x01,0x27,0x28,0x26,0x23,0x01,0x31, + 0x01,0x30,0x01,0x30,0x01,0x01,0x01,0x23,0x01,0x25, + 0x01,0x01,0x01,0x01,0x01,0x01,0x3D,0x3C,0x01,0x25, + 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x23,0x01,0x25, + 0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x23,0x01,0x24, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + }; + + unsigned char GreenGreen5[]={ + 0x04,0x18,0x01,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x06,0x07,0x01,0x18, + 0x07,0x1B,0x1C,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x01,0x01,0x18,0x02, + 0x14,0x1A,0x01,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x1C,0x20,0x1F,0x05, + 0x15,0x14,0x01,0x3F,0x01,0x01,0x01,0x33,0x01,0x01,0x3F,0x01,0x01,0x1E,0x1C, + 0x15,0x15,0x17,0x3F,0x01,0x01,0x01,0x34,0x01,0x01,0x3F,0x17,0x17,0x17,0x17, + 0x09,0x09,0x09,0x3F,0x01,0x01,0x39,0x39,0x39,0x01,0x3F,0x09,0x09,0x09,0x09, + 0x0C,0x0C,0x0C,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x0C,0x0C,0x0C,0x0C, + 0x0C,0x0C,0x35,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x0C,0x0C,0x0C, + }; + + + + + + + + + + + + +