diff --git a/IaGhost.cpp b/IaGhost.cpp new file mode 100644 index 0000000..791b452 --- /dev/null +++ b/IaGhost.cpp @@ -0,0 +1,401 @@ +#include "..\C-Engine\CHeader.hpp" +#include "GUI.hpp" +#include "IaGhost.hpp" + +void IAG::Start() +{ + direction=0; + directionuser=0; + couldown = 0; +} + +void IAG::Initialisation(Script_GUI * v) +{ + SGUI = v ; +} + +void IAG::SetGhost(int v) +{ + ghost = v; +} + +void IAG::Update() +{ + + if(SGUI->GetVulnerability() > 0) + { + SetIt(1); + couldown = 0; + } + else SetIt(0); + + if(GetObject()->CollisionTag("Jail")) + { + ScriptJail(); + } + else + { + switch(ghost) + { + case 1: ScriptRed();break; + case 2: ScriptYellow();break; + case 3: ScriptBlue();break; + case 4: ScriptPink();break; + } + } + + UpdateDirection(); +} + +void IAG::InvDirection() +{ + switch(direction) + { + case 1: direction = 3; directionuser = 3; break; + case 2: direction = 4; directionuser = 4; break; + case 3: direction = 1; directionuser = 1; break; + case 4: direction = 2; directionuser = 2; break; + } + + if(recur < 2)UpdateDirection(); +} + +void IAG::UpdateDirection() +{ + if(!GetObject()->GetRigibody()->CollisionDecor( GetX() + (directionuser == 2) - (directionuser == 4) , GetY() + (directionuser == 1) - (directionuser == 3) ))direction = directionuser; + + if(couldown <= 1) + { + recur ++; + switch(direction) + { + case 1: if(!GetObject()->CollisionTag("Ghost",0,1))Move(0,1);else InvDirection(); break; + case 2: if(!GetObject()->CollisionTag("Ghost",1,0))Move(1,0);else InvDirection(); break; + case 3: if(!GetObject()->CollisionTag("Ghost",0,-1))Move(0,-1);else InvDirection(); break; + case 4: if(!GetObject()->CollisionTag("Ghost",-1,0))Move(-1,0);else InvDirection(); break; + } + + recur = 0; + } + + //************Teleportation*************// + + if(GetObject()->CollisionTag("TP1")) + { + GetObject()->GetTransforms()->SetXY(229,138); + direction = 4; + } + + if(GetObject()->CollisionTag("TP2")) + { + GetObject()->GetTransforms()->SetXY(2,138); + direction = 2; + } +} + +void IAG::ScriptJail() +{ + if(GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY()+1)) + { + Object * Jail = GetObject()->CollisionTagO("Jail"); + if(Jail != NULL) + { + if(Jail->GetTransforms()->GetX() + 20 < GetX())directionuser = 4; + else directionuser = 2; + } + } + else directionuser = 1; +} + +void IAG::ScriptRed() +{ + int difx = GetEngine()->GetListeObject()[0]->GetTransforms()->GetX() - GetX(); + int dify = GetEngine()->GetListeObject()[0]->GetTransforms()->GetY() - GetY(); + + if(couldown <= 0) + { + + if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + (direction%2), GetY() + (!(direction%2))) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - (direction%2), GetY() - (!(direction%2)))) + { + + bool possibledirection[4]; + for(int i = 0; i < 4 ; i++)possibledirection[i] = !(GetObject()->GetRigibody()->CollisionDecor(GetX() + (i == 1) - (i == 3), GetY() + (i == 0) - (i == 2))); + + if(GetObject()->CollisionTag("Jail",0,-1))possibledirection[2] = false; + + int betterdirection[4]; int best; + if(ABS(difx) > ABS(dify))best = 1; + else best = 2; + + if(difx == 0)best = 2; + if(dify == 0)best = 1; + + if(difx > 0) + { + betterdirection[ (best == 2)] = 2; + betterdirection[ 3 -(best == 2)] = 4; + } + else + { + betterdirection[ (best == 2)] = 4; + betterdirection[ 3 -(best == 2)] = 2; + } + + if(dify > 0) + { + betterdirection[ (best == 1)] = 1; + betterdirection[ 3 -(best == 1)] = 3; + } + else + { + betterdirection[ (best == 1)] = 3; + betterdirection[ 3 -(best == 1)] = 1; + } + + + if(SGUI->GetVulnerability() > 0) + { + bool buffer[4]; + for(int i = 0; i < 4 ; i++)buffer[i] = betterdirection[i]; + for(int i = 0; i < 4 ; i++)betterdirection[i] = buffer[3 - i]; + } + + int end = 4; + while(end > 0) + { + if(possibledirection[betterdirection[4 - end] - 1]) + { + directionuser = betterdirection[4 - end]; + end = 0; + } + else end --; + } + + couldown = rand_int(10); + } + } + else couldown --; +} + +void IAG::ScriptYellow() +{ + int hasard; + + if(!(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) && !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1) &&!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) && !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY()))) + { + switch(direction) + { + case 1: + if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1)) + { + hasard = rand_int(3) + 1; + switch(hasard) + { + case 1: directionuser = 1;break; + case 2: directionuser = 2;break; + case 3: directionuser = 4;break; + } + } + break; + case 2: + if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) + { + hasard = rand_int(3) + 1; + switch(hasard) + { + case 1: directionuser = 2;break; + case 2: directionuser = 1;break; + case 3: directionuser = 3;break; + } + } + break; + case 3: + if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() - 1)) + { + hasard = rand_int(3) + 1; + switch(hasard) + { + case 1: directionuser = 3;break; + case 2: directionuser = 2;break; + case 3: directionuser = 4;break; + } + } + break; + case 4: + if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) + { + hasard = rand_int(3) + 1; + switch(hasard) + { + case 1: directionuser = 4;break; + case 2: directionuser = 1;break; + case 3: directionuser = 3;break; + } + } + break; + } + } +} + +void IAG::ScriptBlue() +{ + int difx = GetEngine()->GetListeObject()[0]->GetTransforms()->GetX() - GetX(); + int dify = GetEngine()->GetListeObject()[0]->GetTransforms()->GetY() - GetY(); + + if(couldown <= 0) + { + + if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + (direction%2), GetY() + (!(direction%2))) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - (direction%2), GetY() - (!(direction%2)))) + { + + bool possibledirection[4]; + for(int i = 0; i < 4 ; i++)possibledirection[i] = !(GetObject()->GetRigibody()->CollisionDecor(GetX() + (i == 1) - (i == 3), GetY() + (i == 0) - (i == 2))); + + if(GetObject()->CollisionTag("Jail",0,-1))possibledirection[2] = false; + + int betterdirection[4]; int best; + if(ABS(difx) > ABS(dify))best = 1; + else best = 2; + + if(difx == 0)best = 2; + if(dify == 0)best = 1; + + if(difx > 0) + { + betterdirection[ (best == 2)] = 4; + betterdirection[ 3 -(best == 2)] = 2; + } + else + { + betterdirection[ (best == 2)] = 2; + betterdirection[ 3 -(best == 2)] = 4; + } + + if(dify > 0) + { + betterdirection[ (best == 1)] = 3; + betterdirection[ 3 -(best == 1)] = 1; + } + else + { + betterdirection[ (best == 1)] = 1; + betterdirection[ 3 -(best == 1)] = 3; + } + + + if(SGUI->GetVulnerability() > 0) + { + bool buffer[4]; + for(int i = 0; i < 4 ; i++)buffer[i] = betterdirection[i]; + for(int i = 0; i < 4 ; i++)betterdirection[i] = buffer[3 - i]; + } + + int end = 4; + while(end > 0) + { + if(possibledirection[betterdirection[4 - end] - 1]) + { + directionuser = betterdirection[4 - end]; + end = 0; + } + else end --; + } + + couldown = rand_int(10); + } + } + else couldown --; +} + +void IAG::ScriptPink() +{ + int px , py , bx , by; + + px = GetEngine()->GetListeObject()[0]->GetTransforms()->GetX(); + py = GetEngine()->GetListeObject()[0]->GetTransforms()->GetY(); + + bx = px; + by = py; + + bool end = false; + + while(end) + { + switch(*pacmandirection) + { + case 1: by ++; break; + case 2: bx ++; break; + case 3: by --; break; + case 4: bx --; break; + } + + if(GetEngine()->GetListeObject()[0]->GetRigibody()->CollisionDecor(bx , by))end = true; + } + + int difx = bx - GetX(); + int dify = by - GetY(); + + if(couldown <= 0) + { + + if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + (direction%2), GetY() + (!(direction%2))) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - (direction%2), GetY() - (!(direction%2)))) + { + + bool possibledirection[4]; + for(int i = 0; i < 4 ; i++)possibledirection[i] = !(GetObject()->GetRigibody()->CollisionDecor(GetX() + (i == 1) - (i == 3), GetY() + (i == 0) - (i == 2))); + + if(GetObject()->CollisionTag("Jail",0,-1))possibledirection[2] = false; + + int betterdirection[4]; int best; + if(ABS(difx) > ABS(dify))best = 1; + else best = 2; + + if(difx == 0)best = 2; + if(dify == 0)best = 1; + + if(difx > 0) + { + betterdirection[ (best == 2)] = 2; + betterdirection[ 3 -(best == 2)] = 4; + } + else + { + betterdirection[ (best == 2)] = 4; + betterdirection[ 3 -(best == 2)] = 2; + } + + if(dify > 0) + { + betterdirection[ (best == 1)] = 1; + betterdirection[ 3 -(best == 1)] = 3; + } + else + { + betterdirection[ (best == 1)] = 3; + betterdirection[ 3 -(best == 1)] = 1; + } + + + if(SGUI->GetVulnerability() > 0) + { + bool buffer[4]; + for(int i = 0; i < 4 ; i++)buffer[i] = betterdirection[i]; + for(int i = 0; i < 4 ; i++)betterdirection[i] = buffer[3 - i]; + } + + int end = 4; + while(end > 0) + { + if(possibledirection[betterdirection[4 - end] - 1]) + { + directionuser = betterdirection[4 - end]; + end = 0; + } + else end --; + } + + couldown = rand_int(10); + } + } + else couldown --; +} diff --git a/IaGhost.hpp b/IaGhost.hpp new file mode 100644 index 0000000..65a34cb --- /dev/null +++ b/IaGhost.hpp @@ -0,0 +1,37 @@ +#ifndef SCRIPTGHOST +#define SCRIPTGHOST +#include "GUI.hpp" + +class IAG: public Script +{ + public: + + void Start(); + void Update(); + void Initialisation(Script_GUI * v); + + void UpdateDirection(); + + void SetGhost(int v); + + void ScriptRed(); + void ScriptYellow(); + void ScriptBlue(); + void ScriptPink(); + void ScriptJail(); + void InvDirection(); + int * pacmandirection; + + private : + + int couldown; + int direction; + int directionuser; + int ghost; + int recur; + + Script_GUI * SGUI; +}; + +#endif // SCRIPTCONTROL + diff --git a/Sprite.hpp b/Sprite.hpp index 6d47372..b33c23a 100644 --- a/Sprite.hpp +++ b/Sprite.hpp @@ -42,97 +42,98 @@ bool tileprop[]={0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0}; - unsigned char * level[]={ - "3222222222222222222222222222222222222229999222222222222222222222222222222222222224", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "100\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00700800\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?001", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "100\?00=99999999;00\?00=99999999999;00\?00700800\?00=99999999999;00\?00=99999999;00\?001", - "1000007000000008000007000000000008000007008000007000000000008000007000000008000001", - "100@A0700000000800000700000000000800000700800000700000000000800000700000000800@A01", - "100BC0700000000800\?00700000000000800\?00700800\?00700000000000800\?00700000000800BC01", - "1000007000000008000007000000000008000007008000007000000000008000007000000008000001", - "1000007000000008000007000000000008000007008000007000000000008000007000000008000001", - "100\?00>::::::::<00\?00>:::::::::::<00\?00>::<00\?00>:::::::::::<00\?00>::::::::<00\?001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "100\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "100\?00=99999999;00\?00=99;00\?00=99999999999999999999;00\?00=99;00\?00=99999999;00\?001", - "1000007000000008000007008000007000000000000000000008000007008000007000000008000001", - "1000007000000008000007008000007000000000000000000008000007008000007000000008000001", - "100\?00>::::::::<00\?00700800\?00>::::::::0000::::::::<00\?00700800\?00>::::::::<00\?001", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "100\?00\?00\?00\?00\?00\?00700800\?00\?00\?00\?00700800\?00\?00\?00\?00700800\?00\?00\?00\?00\?00\?001", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "522222222222222400\?00700099999999;00000>::<00000=99999999000800\?003222222222222226", - "0000000000000001000007000000000008000000000000007000000000008000001000000000000000", - "0000000000000001000007000000000008000000000000007000000000008000001000000000000000", - "000000000000000100\?007000::::::::<00000000000000>::::::::000800\?001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "000000000000000100\?00700800000000000000000000000000000000700800\?001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "000000000000000100\?00700800000322222220000002222222400000700800\?001000000000000000", - "0000000000000001000007008000001000000000000000000001000007008000001000000000000000", - "0000000000000001000007008000001000000000000000000001000007008000001000000000000000", - "222222222222222600\?00>::<00000100000000000000000000100000>::<00\?005222222222222222", - "0000000000000000000000000000001000000000000000000001000000000000000000000000000000", - "0000000000000000000000000000001000000000000000000001000000000000000000000000000000", - "000000000000000000\?00000000000100000000000000000000100000000000\?000000000000000000", - "0000000000000000000000000000001000000000000000000001000000000000000000000000000000", - "0000000000000000000000000000001000000000000000000001000000000000000000000000000000", - "222222222222222400\?00=99;00000100000000000000000000100000=99;00\?003222222222222222", - "0000000000000001000007008000001000000000000000000001000007008000001000000000000000", - "0000000000000001000007008000001000000000000000000001000007008000001000000000000000", - "000000000000000100\?00700800000522222222222222222222600000700800\?001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "000000000000000100\?00700800000000000000000000000000000000700800\?001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "0000000000000001000007008000000000000000000000000000000007008000001000000000000000", - "000000000000000100\?00700800000=99999999999999999999;00000700800\?001000000000000000", - "0000000000000001000007008000007000000000000000000008000007008000001000000000000000", - "0000000000000001000007008000007000000000000000000008000007008000001000000000000000", - "322222222222222600\?00>::<00000>::::::::0000::::::::<00000>::<00\?005222222222222224", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "100\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00700800\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?001", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "1000000000000000000000000000000000000007008000000000000000000000000000000000000001", - "100\?00=99999999;00\?00=99999999999;00\?00700800\?00=99999999999;00\?00=99999999;00\?001", - "1000007000000008000007000000000008000007008000007000000000008000007000000008000001", - "1000007000000008000007000000000008000007008000007000000000008000007000000008000001", - "100\?00>:::::000800\?00>:::::::::::<00\?00>::<00\?00>:::::::::::<00\?007000:::::<00\?001", - "1000000000007008000000000000000000000000000000000000000000000000007008000000000001", - "1000000000007008000000000000000000000000000000000000000000000000007008000000000001", - "10@A00\?00\?00700800\?00\?00\?00\?00\?00\?00\?00000000\?00\?00\?00\?00\?00\?00\?00700800\?00\?00@A01", - "10BC00000000700800000000000000000000000000000000000000000000000000700800000000BC01", - "1000000000007008000000000000000000000000000000000000000000000000007008000000000001", - "799999;00\?00700800\?00=99;00\?00=99999999999999999999;00\?00=99;00\?00700800\?00=999998", - "7000008000007008000007008000007000000000000000000008000007008000007008000007000008", - "7000008000007008000007008000007000000000000000000008000007008000007008000007000008", - "7:::::<00\?00>::<00\?00700800\?00>::::::::0000::::::::<00\?00700800\?00>::<00\?00>:::::8", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "100\?00\?00\?00\?00\?00\?00700800\?00\?00\?00\?00700800\?00\?00\?00\?00700800\?00\?00\?00\?00\?00\?001", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "1000000000000000000007008000000000000007008000000000000007008000000000000000000001", - "100\?00=99999999999999000099999999;00\?00700800\?00=99999999000099999999999999;00\?001", - "1000007000000000000000000000000008000007008000007000000000000000000000000008000001", - "1000007000000000000000000000000008000007008000007000000000000000000000000008000001", - "100\?00>::::::::::::::::::::::::::<00\?00>::<00\?00>::::::::::::::::::::::::::<00\?001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "100\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?00\?001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "1000000000000000000000000000000000000000000000000000000000000000000000000000000001", - "5222222222222222222222222222222222222222222222222222222222222222222222222222222226", -}; + unsigned char level[]={ + 0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x09,0x09,0x09,0x09,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x04, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x10,0x11,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x11,0x00,0x01, + 0x01,0x00,0x00,0x12,0x13,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x12,0x13,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x05,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x00,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x06, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x00,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x00,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x06,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x05,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x0B,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x0D,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x05,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x06,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x06,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x00,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x00,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x05,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x04, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x10,0x11,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x10,0x11,0x00,0x01, + 0x01,0x00,0x12,0x13,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x13,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x07,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x08, + 0x07,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x08, + 0x07,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x08, + 0x07,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x08, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x0F,0x00,0x00,0x0D,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0B,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0C,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, + 0x05,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x06, + }; + diff --git a/control.cpp b/control.cpp index ea70360..995de0d 100644 --- a/control.cpp +++ b/control.cpp @@ -1,27 +1,6 @@ #include "..\C-Engine\CHeader.hpp" #include "control.hpp" -char *str_remplace ( char *s, unsigned int x, const char *ct) -{ - char *new_s = NULL; - - if (s != NULL && ct != NULL && x >= 0) - { - size_t size = strlen (s); - - new_s = (char*)malloc (sizeof (*new_s) * (size + strlen (ct))); - if (new_s != NULL) - { - memcpy (new_s, s, x); - memcpy (&new_s[x], ct, strlen (ct)); - memcpy (&new_s[x + strlen (ct)], &s[x + 1], size - 1 - x + 1); - } - } - else return s; - - return new_s; -} - void Control::Initialisation(Script_GUI * v) { SGUI = v ; @@ -38,7 +17,7 @@ void Control::Start() for( int j = 0 ; j < GetEngine()->GetMap()->nbtiles_hauteur_monde; j++) { - switch(GetEngine()->GetMap()->map[j][i] - '0') + switch(GetEngine()->GetMap()->GetIdMap(i,j)) { case 15: case 16: objectif ++; break; default: break; @@ -77,45 +56,45 @@ void Control::Update() x = GetX()/3 + 2; y = 91 - GetY()/3 - 3; - switch(GetEngine()->GetMap()->map[y][x] - '0') + switch(GetEngine()->GetMap()->GetIdMap( x , y )) { case 15 : - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x , "0"); + GetEngine()->GetMap()->ReplaceIdMap(x , y, 0x00); SGUI->AddScore(200); objectif--; break; case 16: - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x , "0"); - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x+1 , "0"); - GetEngine()->GetMap()->map[y+1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y+1], x , "0"); - GetEngine()->GetMap()->map[y+1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y+1], x+1 , "0"); + GetEngine()->GetMap()->ReplaceIdMap(x , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x+1 , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x , y+1, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x+1 , y+1, 0x00); SGUI->AddScore(500); SGUI->SetVulnerability(8); objectif--; break; case 17: - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x , "0"); - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x-1 , "0"); - GetEngine()->GetMap()->map[y+1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y+1], x , "0"); - GetEngine()->GetMap()->map[y+1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y+1], x-1 , "0"); + GetEngine()->GetMap()->ReplaceIdMap(x , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x-1 , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x , y+1, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x-1 , y+1, 0x00); SGUI->AddScore(500); SGUI->SetVulnerability(8); objectif--; break; case 18: - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x , "0"); - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x+1 , "0"); - GetEngine()->GetMap()->map[y-1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y-1], x , "0"); - GetEngine()->GetMap()->map[y-1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y-1], x+1 , "0"); + GetEngine()->GetMap()->ReplaceIdMap(x , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x+1 , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x , y-1, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x+1 , y-1, 0x00); SGUI->AddScore(500); SGUI->SetVulnerability(8); objectif--; break; case 19: - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x , "0"); - GetEngine()->GetMap()->map[y] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y], x-1 , "0"); - GetEngine()->GetMap()->map[y-1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y-1], x , "0"); - GetEngine()->GetMap()->map[y-1] = (unsigned char*)str_remplace((char*)GetEngine()->GetMap()->map[y-1], x-1 , "0"); + GetEngine()->GetMap()->ReplaceIdMap(x , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x-1 , y, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x , y-1, 0x00); + GetEngine()->GetMap()->ReplaceIdMap(x-1 , y-1, 0x00); SGUI->AddScore(500); SGUI->SetVulnerability(8); objectif--; diff --git a/control.hpp b/control.hpp index d00aa29..489ca6f 100644 --- a/control.hpp +++ b/control.hpp @@ -13,12 +13,12 @@ class Control: public Script void Update(); void Initialisation(Script_GUI * v); void Die(); + int direction; private : Script_GUI * SGUI; - int direction; int directionuser; int objectif; }; diff --git a/iaghost1.cpp b/iaghost1.cpp deleted file mode 100644 index beebb54..0000000 --- a/iaghost1.cpp +++ /dev/null @@ -1,139 +0,0 @@ -#include "..\C-Engine\CHeader.hpp" -#include "GUI.hpp" -#include "iaghost1.hpp" - -void IA1::Start() -{ - - couldown=0; - direction=0; - directionuser=0; -} - -void IA1::UpdateEverySecond() -{ - - if (couldown==5) - { - directionuser = rand_int(4) + 1; - couldown=0; - } - - couldown++; - -} - -void IA1::Initialisation(Script_GUI * v) -{ - SGUI = v ; -} - -void IA1::Update() -{ - int hasard; - - if(SGUI->GetVulnerability() > 0)SetIt(1); - else SetIt(0); - - //Intersection// - - if(!GetObject()->CollisionTag("Jail")) - { - - if(!(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) && !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1) &&!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) && !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY()))) - { - switch(direction) - { - case 1: - if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1)) - { - hasard = rand_int(3) + 1; - switch(hasard) - { - case 1: directionuser = 1;break; - case 2: directionuser = 2;break; - case 3: directionuser = 4;break; - } - } - break; - case 2: - if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) - { - hasard = rand_int(3) + 1; - switch(hasard) - { - case 1: directionuser = 2;break; - case 2: directionuser = 1;break; - case 3: directionuser = 3;break; - } - } - break; - case 3: - if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() - 1)) - { - hasard = rand_int(3) + 1; - switch(hasard) - { - case 1: directionuser = 3;break; - case 2: directionuser = 2;break; - case 3: directionuser = 4;break; - } - } - break; - case 4: - if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) - { - hasard = rand_int(3) + 1; - switch(hasard) - { - case 1: directionuser = 4;break; - case 2: directionuser = 1;break; - case 3: directionuser = 3;break; - } - } - break; - } - } - } - else - { - if(GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY()+1)) - { - Object * Jail = GetObject()->CollisionTagO("Jail"); - if(Jail != NULL) - { - if(Jail->GetTransforms()->GetX() + 20 < GetX())directionuser = 4; - else directionuser = 2; - } - } - else directionuser = 1; - } - - //***********Deplacement***********// - - if(!GetObject()->GetRigibody()->CollisionDecor( GetX() + (directionuser == 2) - (directionuser == 4) , GetY() + (directionuser == 1) - (directionuser == 3) ))direction = directionuser; - - - switch(direction) - { - case 1: Move(0,1); break; - case 2: Move(1,0); break; - case 3: Move(0,-1); break; - case 4: Move(-1,0); break; - } - - //************// - - if(GetObject()->CollisionTag("TP1")) - { - GetObject()->GetTransforms()->SetXY(229,138); - direction = 4; - } - - if(GetObject()->CollisionTag("TP2")) - { - GetObject()->GetTransforms()->SetXY(2,138); - direction = 2; - } -} - diff --git a/iaghost1.hpp b/iaghost1.hpp deleted file mode 100644 index 478b203..0000000 --- a/iaghost1.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef SCRIPTGHOST1 -#define SCRIPTGHOST1 -#include "GUI.hpp" - -class IA1: public Script -{ - public: - - void Start(); - void Update(); - void UpdateEverySecond(); - void Initialisation(Script_GUI * v); - - private : - - int couldown; - int direction; - int directionuser; - - Script_GUI * SGUI; -}; - -#endif // SCRIPTCONTROL - diff --git a/iaghost2.cpp b/iaghost2.cpp deleted file mode 100644 index 0b907f7..0000000 --- a/iaghost2.cpp +++ /dev/null @@ -1,143 +0,0 @@ -#include "..\C-Engine\CHeader.hpp" -#include "GUI.hpp" -#include "iaghost2.hpp" - -void IA2::Start() -{ - direction=0; - directionuser=0; - couldown = 0; -} - -void IA2::Initialisation(Script_GUI * v) -{ - SGUI = v ; -} - -void IA2::Update() -{ - - if(SGUI->GetVulnerability() > 0) - { - SetIt(1); - couldown = 0; - } - else SetIt(0); - - //Intersection// - - int difx = GetEngine()->GetListeObject()[0]->GetTransforms()->GetX() - GetX(); - int dify = GetEngine()->GetListeObject()[0]->GetTransforms()->GetY() - GetY(); - - if(couldown <= 0) - { - - if(!GetObject()->CollisionTag("Jail")) - { - - if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + (direction%2), GetY() + (!(direction%2))) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - (direction%2), GetY() - (!(direction%2)))) - { - - bool possibledirection[4]; - for(int i = 0; i < 4 ; i++)possibledirection[i] = !(GetObject()->GetRigibody()->CollisionDecor(GetX() + (i == 1) - (i == 3), GetY() + (i == 0) - (i == 2))); - - if(GetObject()->CollisionTag("Jail",0,-1))possibledirection[2] = false; - - int betterdirection[4]; int best; - if(ABS(difx) > ABS(dify))best = 1; - else best = 2; - - if(difx == 0)best = 2; - if(dify == 0)best = 1; - - if(difx > 0) - { - betterdirection[ (best == 2)] = 2; - betterdirection[ 3 -(best == 2)] = 4; - } - else - { - betterdirection[ (best == 2)] = 4; - betterdirection[ 3 -(best == 2)] = 2; - } - - if(dify > 0) - { - betterdirection[ (best == 1)] = 1; - betterdirection[ 3 -(best == 1)] = 3; - } - else - { - betterdirection[ (best == 1)] = 3; - betterdirection[ 3 -(best == 1)] = 1; - } - - - if(SGUI->GetVulnerability() > 0) - { - bool buffer[4]; - for(int i = 0; i < 4 ; i++)buffer[i] = betterdirection[i]; - for(int i = 0; i < 4 ; i++)betterdirection[i] = buffer[3 - i]; - } - - int end = 4; - while(end > 0) - { - if(possibledirection[betterdirection[4 - end] - 1]) - { - directionuser = betterdirection[4 - end]; - end = 0; - } - else end --; - } - - couldown = rand_int(10); - } - } - else - { - if(GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY()+1)) - { - Object * Jail = GetObject()->CollisionTagO("Jail"); - if(Jail != NULL) - { - if(Jail->GetTransforms()->GetX() + 20 < GetX())directionuser = 4; - else directionuser = 2; - } - } - else directionuser = 1; - } - } - else couldown --; - - - //***********Deplacement***********// - - if(!GetObject()->GetRigibody()->CollisionDecor( GetX() + (directionuser == 2) - (directionuser == 4) , GetY() + (directionuser == 1) - (directionuser == 3) ))direction = directionuser; - - if(couldown <= 1) - { - - switch(direction) - { - case 1: Move(0,1); break; - case 2: Move(1,0); break; - case 3: Move(0,-1); break; - case 4: Move(-1,0); break; - } - } - //************// - - if(GetObject()->CollisionTag("TP1")) - { - GetObject()->GetTransforms()->SetXY(229,138); - direction = 4; - } - - if(GetObject()->CollisionTag("TP2")) - { - GetObject()->GetTransforms()->SetXY(2,138); - direction = 2; - } -} - diff --git a/iaghost2.hpp b/iaghost2.hpp deleted file mode 100644 index 287792b..0000000 --- a/iaghost2.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef SCRIPTGHOST2 -#define SCRIPTGHOST2 -#include "GUI.hpp" - -class IA2: public Script -{ - public: - - void Start(); - void Update(); - void Initialisation(Script_GUI * v); - - private : - - int couldown; - int direction; - int directionuser; - - Script_GUI * SGUI; -}; - -#endif // SCRIPTCONTROL - diff --git a/pacman.cpp b/pacman.cpp index c492bbd..aba704e 100644 --- a/pacman.cpp +++ b/pacman.cpp @@ -1,8 +1,7 @@ #include "..\C-Engine\CHeader.hpp" #include "control.hpp" -#include "iaghost1.hpp" -#include "iaghost2.hpp" +#include "IaGhost.hpp" #include "GUI.hpp" void SetDecor( Engine * Game); @@ -87,16 +86,26 @@ int Jeu() Jail->AffectTag("Jail"); - IA1 * Script_Ghost1 = new IA1; - IA1 * Script_Ghost2 = new IA1; - IA2 * Script_Ghost3 = new IA2; - IA2 * Script_Ghost4 = new IA2; + IAG * Script_Ghost1 = new IAG; + IAG * Script_Ghost2 = new IAG; + IAG * Script_Ghost3 = new IAG; + IAG * Script_Ghost4 = new IAG; Ghost1->AffectScript(Script_Ghost1); Ghost2->AffectScript(Script_Ghost2); Ghost3->AffectScript(Script_Ghost3); Ghost4->AffectScript(Script_Ghost4); + Script_Ghost1->SetGhost(1); + Script_Ghost2->SetGhost(2); + Script_Ghost3->SetGhost(3); + Script_Ghost4->SetGhost(4); + + Script_Ghost1->pacmandirection = &Script_PacMan->direction; + Script_Ghost2->pacmandirection = &Script_PacMan->direction; + Script_Ghost3->pacmandirection = &Script_PacMan->direction; + Script_Ghost4->pacmandirection = &Script_PacMan->direction; + //***********Creation de la map*************** Map Niveau1;