/****************************************************************************/ /* The Legend of Zelda: Link's Awakening */ /* By: Jason Ho */ /* */ /* This header contains data for terrain (defined in room_list of "room.h") */ /* Terrain includes things such as grass,rocks, trees, chests, etc. */ /****************************************************************************/ /*---------------------------------------------------------------------------*/ /* Aliases */ /*---------------------------------------------------------------------------*/ enum {TERRAIN_NUMBER, TERRAIN_X, TERRAIN_Y, TERRAIN_FRAME}; //Used in terrain_animation_list enum {TERRAIN_PIC, TERRAIN_PROPERTIES}; //References to terrain data (defined below) //------------------- // Bitwise booleans //------------------- #define WALKABLE 0x01 #define ANIMATED 0x02 #define ENTERABLE 0x04 #define FALLABLE 0x08 #define LIFTABLE 0x10 #define BOMBABLE 0x20 //-------------------------------------------------------------------------------------------------------------- // The following data is organized: // #define NEW_TERRAIN {TERRAIN_PIC, TERRAIN_PROPERTIES} // where: // 1) TERRAIN_PIC is the picture number in img_map_light and img_map_dark, defined in "images.h" // 2) TERRAIN_PROPERTIES is a byte, with each bit representing a boolean. These booleans are shown in the Alias section // of this header. // // To add another slot of data, you must also update: 1) TERRAIN value of room_list, 2) size of room_buffer, and // 3) count3 in function LoadRoom() //--------------------------------------------------------------------------------------------------------------- #define PLANT1 {0,0} #define GRASS1 {1,WALKABLE} #define GRASS2 {2,WALKABLE} #define FENCE1 {3,0} #define TREE1 {4,0} #define TREE2 {5,0} #define TREE3 {6,0} #define TREE4 {7,0} #define ROOF10 {8,0} #define HOUSE2 {9,0} #define HOUSE3 {10,WALKABLE | ENTERABLE} #define ROAD1 {11,WALKABLE} #define FLOWER1 {12,WALKABLE | ANIMATED} #define EDGE1 {13,0} #define EDGE2 {14,0} #define EDGE3 {15,0} #define EDGE4 {16,0} #define EDGE5 {17,0} #define HOUSE4 {18,WALKABLE | ENTERABLE} #define HOUSE5 {19,0} #define WATER1 {20,ANIMATED} #define TREE5 {21,0} #define ROOF1 {22,0} #define ROOF2 {23,0} #define ROOF3 {24,0} #define ROOF4 {25,0} #define ROOF5 {26,0} #define ROOF6 {27,0} #define ROAD2 {28,WALKABLE} #define ROAD3 {29,WALKABLE} #define FENCE2 {30,0} #define ROOF7 {31,0} #define ROOF8 {32,0} #define ROOF9 {33,0} #define TREE6 {34,0} #define FENCE3 {35,0} #define FENCE4 {36,0} #define EDGE6 {37,0} #define EDGE7 {38,0} #define EDGE8 {39,0} #define EDGE9 {40,0} #define CLIFF1 {41,0} #define CLIFF2 {42,0} #define STAIR1 {43,WALKABLE} #define CLIFF3 {44,0} #define OBJECT1 {45,ANIMATED} #define OBJECT2 {46,0} #define ROCK1 {47,0} #define EDGE10 {48,0} #define EDGE11 {49,0} #define EDGE12 {50,0} #define EDGE13 {51,WALKABLE | FALLABLE} #define EDGE14 {52,0} #define EDGE15 {53,0} #define SIGN1 {54,0} #define EDGE16 {55,0} #define CLIFF4 {56,0} #define WELL1 {57,0} #define FLOWER2 {58,WALKABLE | ANIMATED} #define FLOWER3 {59,WALKABLE | ANIMATED} #define FLOWER4 {60,WALKABLE | ANIMATED} #define WATER2 {61,ANIMATED} #define WATER3 {62,ANIMATED} #define WATER4 {63,ANIMATED} #define OBJECT3 {64,ANIMATED} #define OBJECT4 {65,ANIMATED} #define OBJECT5 {66,ANIMATED} #define EDGE17 {67,0} #define EDGE18 {68,WALKABLE | FALLABLE} #define HOLE1 {69,0} #define EDGE19 {70,0} #define DUNG1 {71,0} #define DUNG2 {72,0} #define DUNG3 {73,0} #define DUNG4 {74,0} #define ROAD4 {75,WALKABLE} #define SAND1 {76,WALKABLE} #define PALM1 {77,0} #define PALM2 {78,0} #define PALM3 {79,0} #define PALM4 {80,0} #define SAND2 {81,WALKABLE} #define SAND3 {82,WALKABLE} #define SAND4 {83,0} #define CHEST1 {84,0} #define SHORE1 {85,WALKABLE | ANIMATED} #define WATER5 {86,ANIMATED} #define WATER6 {87,ANIMATED} #define WATER7 {88,ANIMATED} #define WATER8 {89,ANIMATED} #define SHORE2 {90,WALKABLE | ANIMATED} #define SHORE3 {91,WALKABLE | ANIMATED} #define SHORE4 {92,WALKABLE | ANIMATED} #define SAND5 {93,WALKABLE} #define CLIFF5 {94,0} #define CLIFF6 {95,0} #define EDGE20 {96,0} #define WALL1 {97,0} #define WALL2 {98,0} #define WALL3 {99,0} #define WALL4 {100,0} #define WALL5 {101,0} #define WALL6 {102,0} #define WALL7 {103,0} #define WALL8 {104,0} #define TABLE1 {105,0} #define TABLE2 {106,0} #define POT1 {107,0} #define FLOOR1 {108,WALKABLE} #define FLOOR2 {109,WALKABLE} #define CHAIR1 {110,0} #define BOX1 {111,0} #define BED1 {112,0} #define BED2 {113,0} #define CABINET1 {114,0} #define CABINET2 {115,WALKABLE} #define DOOR2 {116,WALKABLE | ENTERABLE} #define TABLE3 {117,0} #define BLACK1 {118,0} #define SAND6 {119,WALKABLE} #define PHONE1 {120,WALKABLE} #define PHONE2 {121,0} #define PHONE3 {122,WALKABLE} #define PHONE4 {123,0} #define LIGHT1 {124,ANIMATED} #define LIGHT2 {125,ANIMATED} #define LIGHT3 {126,ANIMATED} #define LIGHT4 {127,ANIMATED} #define CASHIER1 {128,0} #define FLOOR3 {129,0} #define WHITE1 {130,0} #define TABLE4 {131,0} #define SHELF1 {132,0} #define SHELF2 {133,WALKABLE} #define TREE7 {134,0} #define TREE8 {135,0} #define TREE9 {136,0} #define TREE10 {137,0} #define HOLEDOWN {138,WALKABLE | ENTERABLE} #define STAIRSUP {139,WALKABLE | ENTERABLE} #define DWALL1 {140,0} #define DWALL2 {141,0} #define DWALL3 {142,0} #define DWALL4 {143,0} #define DWALL5 {144,0} #define DWALL6 {145,0} #define DWALL7 {146,0} #define DWALL8 {147,0} #define DGUY {148,0} #define DLIGHT {149,ANIMATED} #define DLIGHT2 {150,ANIMATED} #define DLIGHT3 {151,ANIMATED} #define DFLOOR {152,WALKABLE} #define DWALL9 {153,0} #define DWALL10 {154,0} #define DWALL11 {155,0} #define DWALL12 {156,0} #define DFLOOR2 {157,WALKABLE} #define DONE1 {158,0} #define DONE2 {159,0} #define D1WALL1 {160,0} #define D1WALL2 {161,0} #define D1WALL3 {162,0} #define D1WALL4 {163,0} #define D1WALL5 {164,0} #define D1WALL6 {165,0} #define D1WALL7 {166,0} #define D1WALL8 {167,0} #define D1WALL9 {168,0} #define D1WALL10 {169,0} #define D1WALL11 {170,0} #define D1WALL12 {171,0} #define DFLOOR3 {172,WALKABLE} #define DPLANT1 {173,0} #define DDOOR1 {174,0} #define DDOOR2 {175,WALKABLE} #define DDOOR3 {176,WALKABLE | ENTERABLE} #define BOY1 {177,ANIMATED} #define BOY2 {178,ANIMATED} #define TABLET1 {179,0} #define MARINE1 {180,ANIMATED} #define MARINE2 {181,ANIMATED} #define SWORD {182,0} #define GRAVE1 {183,0} #define STAIR2 {184,WALKABLE} #define BOSSDOOR {185,0} /*---------------------------------------------------------------------------*/ /* Function Prototypes */ /*---------------------------------------------------------------------------*/ void DrawTerrain(void); void AnimateTerrain(void); short CheckTerrainCollision(short, short, short, short); void SlashTerrain(short, short); void EnterTerrain(short, short, short); short GetTerrainRow(short); short GetTerrainCol(short); /*---------------------------------------------------------------------------*/ /* Pictures */ /*---------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------*/ /* img_map_ [TERRAIN_TYPE] [row] */ /* where TERRAIN_TYPE is any of TERRAINs defined in "terrain.h" */ /* row is the pixel row of the picture */ /*--------------------------------------------------------------------------------------*/ static unsigned short img_map_light[190][16] = { {0x0000,0x0180,0x63C6,0x77EE,0x7FFE,0x6FF6,0x77EE,0x3BDC,0x1E78,0x3BDC,0x774E,0x7F7E,0x7FFE,0x07E0,0x03C0,0x0000}, //Plant1 {0xC6C6,0x6464,0x7070,0x3131,0x3333,0x3737,0x1616,0x1616,0xC6C6,0x6464,0x7070,0x3131,0x3333,0x3737,0x1616,0x1616}, //Grass1 {0x0000,0x1000,0x5400,0x2800,0x0000,0x0000,0x0000,0x0000,0x0000,0x0010,0x0054,0x0028,0x0000,0x0000,0x0000,0x0000}, //Grass2 {0x0000,0x0000,0x1818,0x2424,0x5A5A,0x5A5A,0x4646,0x4A4A,0x4A4A,0x4A4A,0x4A4A,0x4A4A,0x6A6A,0x6A6A,0x3C3C,0x0000}, //Fence1 {0x01FF,0x077F,0x0DF8,0x17B0,0x2F30,0x6E38,0x5C3F,0xDC1F,0x9C07,0x9E00,0x9F00,0x9FC0,0x8FF0,0x8FF8,0x83FF,0x80FF}, //Tree1 {0xFF80,0xE0E0,0xF330,0x79C8,0x78E4,0xF866,0xF872,0xF073,0xE071,0x00F1,0x01F1,0x07F1,0x0FF1,0x1FE1,0xFFC1,0xFF01}, //Tree2 {0x803F,0xC01F,0xC007,0xE000,0xF000,0xBC00,0xE3E0,0xFFD0,0x79F8,0x71FF,0x33B8,0x3778,0x3D94,0x3E0F,0x0787,0x003F}, //Tree3 {0xFC01,0xF803,0xF003,0x0007,0x000F,0x003D,0x07C7,0x0BFF,0x1F3E,0xFF1E,0xFD8C,0xFECC,0xE9BC,0xF07C,0xE1C0,0xFC00}, //Tree4 {0xBDBD,0x5A5A,0xA5A5,0xA5A5,0xA5A5,0xA5A5,0xADAD,0xA5A5,0xA5A5,0xA5A5,0xA5A5,0xBDBD,0x9999,0x8181,0x4242,0xBDBD}, //Roof10 {0xFFFF,0x8001,0x8001,0xFFFF,0xFFFF,0x9FF9,0xFFFF,0xFFFF,0xFFFF,0xF81F,0x9FFD,0x9F3D,0xF327,0xF3E7,0xFFFF,0xFFFF}, //House2 //10 pic mark {0xFFFF,0x0000,0x0000,0xFFFF,0xC003,0xDFFB,0xFFFF,0x1FF8,0xDFFE,0xDFFE,0xDFFE,0xDFFE,0xDFFE,0xDFFE,0xDFFE,0xFFFF}, //House3 {0x7E7E,0xFFFF,0xF7F7,0xFFFF,0xBFBF,0xFBFB,0xFFFF,0x7E7E,0x7E7E,0xFFFF,0xF7F7,0xFFFF,0xBFBF,0xFBFB,0xFFFF,0x7E7E}, //Road1 {0x3800,0x3810,0xC654,0xC628,0xC600,0x3800,0x3800,0x0000,0x0000,0x1038,0x5438,0x28C6,0x00C6,0x00C6,0x0038,0x0038}, //Flower1 {0x0BFF,0x2C00,0x57FF,0x3804,0xD040,0x71FF,0xA200,0xA5FF,0xA57F,0xA5FF,0xB5F8,0xA5CC,0xA5C6,0xA5C7,0xADC3,0xA5C3}, //Edge1 {0xFFFF,0x0000,0xFFFF,0x0404,0x4040,0xFFFF,0x0000,0xFFFF,0x1FF8,0xF81F,0xE047,0x0040,0x2000,0x0000,0x07E0,0xFFFF}, //Edge2 {0xA5C3,0xA5C3,0xB583,0xA583,0xA583,0xA5C7,0xADC7,0xA5C7,0xA5C3,0xA5C3,0xB583,0xA583,0xA583,0xA5C7,0xADC7,0xA5C7}, //Edge3 {0xFFFF,0xFFFF,0x0C0C,0x0000,0x4040,0x0000,0xC7C7,0xFFFF,0xFFFF,0x0000,0xFFFF,0x0404,0x4040,0xFFFF,0x0000,0xFFFF}, //Edge4 {0xA5C7,0xA5CF,0xB5DC,0xA5D0,0xA5C0,0xA5E0,0xAD7F,0xA5BF,0xA5FF,0xA200,0xB1FF,0x9804,0xCE40,0x63FF,0xB000,0x6FFF}, //Edge5 {0xF3CF,0xCFF3,0x9FF9,0x3FFC,0x3FFC,0x3FFC,0x3FFC,0x7FFE,0xBFFD,0xFFFF,0xBFFD,0x1FF8,0x1FF8,0x2004,0x5FFA,0xBFFD}, //House4 {0xFFFF,0xFFFF,0x700E,0xDFFB,0xBC3D,0xFFFF,0xB669,0xFFFF,0xFC3F,0xFC3F,0x7C3E,0x7C3E,0x7FFE,0x5FFA,0xFFFF,0xFFFF}, //House5 //20 pic mark {0xFFFF,0xCFCF,0x8383,0x3838,0xFFFF,0x1F1F,0x4C4C,0xE1E1,0xFFFF,0xCFCF,0x8383,0x3838,0xFFFF,0x1F1F,0x4C4C,0xE1E1}, //Water1 {0xFF3F,0xE0DF,0xF337,0x79C8,0x78E4,0xF864,0xF872,0xF072,0xE071,0x00F1,0x01F1,0x07F1,0x0FF1,0x1FE1,0xFFC1,0xFF01}, //Tree5 {0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x887F,0x8FC0,0x9087,0x9088,0xA0C7,0xA080,0xC08F,0xC040}, //Roof1 {0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0000,0xB339,0x1244,0x1E44,0x9244,0x3339,0x0000}, //Roof2 {0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFC11,0x03F1,0xE109,0x9109,0xE305,0x8105,0xC103,0x0203}, //Roof3 {0xFFF0,0x0018,0xFFD4,0xFFD2,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1}, //Roof4 {0xFFFF,0x0000,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Roof5 {0x0FFF,0x1800,0x2BFF,0x4BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF}, //Roof6 {0x0000,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x7F7F,0x0000,0x0101,0x0101,0x0101,0x0101,0x0101,0x0101,0x7F7F}, //Road2 {0xEFEF,0xC7C7,0xBBBB,0x7C7C,0x7C7C,0xBBBB,0xC7C7,0xEFEF,0xEFEF,0xC7C7,0xBBBB,0x7C7C,0x7C7C,0xBBBB,0xC7C7,0xEFEF}, //Road3 //30 pic mark {0x7E00,0xFF00,0xF718,0xFF24,0xBF5A,0xFB5A,0xFF46,0x7E4A,0x7E4A,0xFF4A,0xF74A,0xFF4A,0xBF6A,0xFB6A,0xFF3C,0x7E00}, //Fence2 {0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8BFF,0x8800,0x8FFF,0x9000,0x9000,0xA000,0xA000,0xC000,0xC000}, //Roof7 {0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0000,0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Roof8 {0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0xFFD1,0x0011,0xFFF1,0x0009,0x0009,0x0005,0x0005,0x0003,0x0003}, //Roof9 {0xFCFF,0xFF7F,0xE9F8,0x17B0,0x2F30,0x2E38,0x5C3F,0x5C1F,0x9C07,0x9E00,0x9F00,0x9FC0,0x8FF0,0x8FF8,0x83FF,0x80FF}, //Tree6 {0xFE7F,0xCFFF,0x9FDF,0xBBFB,0xBFFF,0xBFFF,0x9219,0xCCC3,0x9FF9,0xFFFF,0xF3CF,0xB3CD,0xFFFF,0xFE7F,0x8C31,0xFFFF}, //Fence3 {0xFE7F,0xCFFF,0x9FDF,0xBBFB,0xBFFF,0xBFFF,0x9219,0xCCC3,0xFE7F,0xCFFF,0x9FDF,0xBBFB,0xBFFF,0xBFFF,0x9219,0xCCC3}, //Fence4 {0xFFD0,0x0034,0xFFEA,0x041C,0x400B,0xFF8E,0x0045,0xFFA5,0xFEA5,0xFFA5,0x1BB5,0x33A5,0x63A5,0xE3A5,0xC3AD,0xC3A5}, //Edge6 {0xC3A5,0xC3A5,0xC1B5,0xC1A5,0xC1A5,0xE3A5,0xE3AD,0xE3A5,0xC3A5,0xC3A5,0xC1B5,0xC1A5,0xC1A5,0xE3A5,0xE3AD,0xE3A5}, //Edge7 {0xC3A5,0xC3A2,0xC1B1,0xC198,0xC1CE,0xE363,0xE3B0,0xE36F,0xC1F8,0xC01F,0xC047,0xC040,0xC000,0xE000,0x78E0,0xBFFF}, //Edge8 //40 pic mark {0xE3A5,0xF3A5,0x3BB5,0x0BA5,0x03A5,0x07A5,0xFEAD,0xFDA5,0xFFA5,0x0045,0xFF8D,0x0419,0x4073,0xFFC6,0x000D,0xFFF6}, //Edge9 {0x1FF8,0xF81F,0xE047,0x0040,0x2000,0x0000,0x07E0,0xFFFF,0x1FF8,0xF81F,0xE047,0x0040,0x2000,0x0000,0x07E0,0xFFFF}, //Cliff1 {0x1F83,0xF807,0xE007,0x000B,0x2017,0x006F,0x07DB,0xFF73,0x1F83,0xF803,0xE003,0x0003,0x2003,0x0007,0x071E,0xFFFD}, //Cliff2 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Stair1 {0xC1F8,0xE01F,0xE047,0xD040,0xE800,0xF600,0xDBE0,0xCEFF,0xC1F8,0xC01F,0xC047,0xC040,0xC000,0xE000,0x78E0,0xBFFF}, //Cliff3 {0x1800,0x2803,0x2E05,0x5F75,0xBFF7,0xB1F7,0xF5F7,0xB1FD,0x9FF5,0x9FFF,0xBFF7,0xB3F7,0xE997,0xC427,0x06C7,0x0543}, //Object1 {0x0440,0x0380,0x1EF0,0x36D8,0x76DC,0xF7DE,0xF7DE,0xF01E,0xFFFE,0xFFFE,0xFFFE,0xFFFE,0xF01E,0xF55E,0xF01E,0xFFFE}, //Object2 {0x0000,0x03E0,0x0490,0x0888,0x1084,0x2082,0x71C5,0x5B6D,0x4E39,0x4411,0x4411,0x4411,0x4411,0x2412,0x180C,0x07F0}, //Rock1 {0xA5C3,0x45C3,0x8D83,0x1983,0x7383,0xC6C7,0x0DC7,0xF6C7,0x1F83,0xF807,0xE007,0x000B,0x2017,0x006F,0x07DB,0xFF73}, //Edge10 {0xFFFD,0x0002,0xFFFD,0x0403,0x4043,0xFFFD,0x0002,0xFFFD,0x1FFB,0xF803,0xE044,0x004A,0x2014,0x0068,0x07A0,0xFF80}, //Edge11 //50 pic mark {0xBFFF,0x4000,0xBFFF,0xC204,0xC040,0xBFFF,0x4000,0xBFFF,0xDFF8,0xC01F,0x2047,0x5040,0x2800,0x1600,0x05E0,0x01FF}, //Edge12 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xF8F8,0x1F1F,0x4747,0x4040,0x0000,0x0000,0xE0E0,0xFFFF}, //Edge13 {0xFFFD,0x0002,0xFFFD,0x0403,0x4043,0xFFFD,0x0002,0xFFFD,0x1FF8,0xF81F,0xE047,0x0040,0x2000,0x0000,0x07E0,0xFFFF}, //Edge14 {0xBFFF,0x4000,0xBFFF,0xC204,0xC040,0xBFFF,0x4000,0xBFFF,0x1FF8,0xF81F,0xE047,0x0040,0x2000,0x0000,0x07E0,0xFFFF}, //Edge15 {0x0000,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x500A,0x56AA,0x500A,0x55AA,0x500A,0xDFFB,0xFFFF,0xFFFF,0x05A0,0x05A0,0x03C0}, //Sign1 {0xC3A5,0xC3A2,0xC1B1,0xC198,0xC1CE,0xE363,0xE3B0,0xE36F,0xC1F8,0xE01F,0xE047,0xD040,0xE800,0xF600,0xDBE0,0xCEFF}, //Edge16 {0xC1F8,0xE01F,0xE047,0xD040,0xE800,0xF600,0xDBE0,0xCEFF,0xC1F8,0xE01F,0xE047,0xD040,0xE800,0xF600,0xDBE0,0xCEFF}, //Cliff4 {0x7FFE,0xC081,0x8081,0x9089,0x9089,0xFFFF,0x9FF9,0x9FF9,0x9FF9,0x8081,0xC083,0xBF7D,0x8001,0xC003,0x7BEE,0x3FFC}, //Well1 {0x0000,0x3810,0x4454,0xC628,0xC600,0xBA00,0x3800,0x0000,0x0000,0x1038,0x54BA,0x28C6,0x00C6,0x0044,0x0038,0x0000}, //Flower2 {0x0000,0x3810,0xBA54,0xC628,0xC600,0x4400,0x3800,0x0000,0x0000,0x1038,0x5444,0x28C6,0x00C6,0x00BA,0x0038,0x0000}, //Flower3 //60 pic mark {0x0000,0x3810,0x3854,0xC628,0xC600,0xC600,0x3800,0x3800,0x0038,0x1038,0x54C6,0x28C6,0x00C6,0x0038,0x0038,0x0000}, //Flower4 {0xFFFF,0xF3F3,0xE0E0,0x0E0E,0xFFFF,0x7C7C,0x3131,0x8787,0xFFFF,0xF3F3,0xE0E0,0x0E0E,0xFFFF,0x7C7C,0x3131,0x8787}, //Water2 {0xFFFF,0xFCFC,0x3838,0x8383,0xFFFF,0xF1F1,0xC4C4,0x1E1E,0xFFFF,0xFCFC,0x3838,0x8383,0xFFFF,0xF1F1,0xC4C4,0x1E1E}, //Water3 {0xFFFF,0x3F3F,0x0E0E,0xE0E0,0xFFFF,0xC7C7,0x1313,0x7878,0xFFFF,0x3F3F,0x0E0E,0xE0E0,0xFFFF,0xC7C7,0x1313,0x7878}, //Water4 {0x1800,0x2800,0x2E03,0x5F75,0xBFF5,0xB1F7,0xF5F7,0xB1FF,0x9FF5,0x9FFD,0xBFF5,0xB3F7,0xE997,0xC427,0x06C3,0x0540}, //Object3 {0x1800,0x2800,0x2E00,0x5F73,0xBFF5,0xB1F5,0xF5F7,0xB1FF,0x9FF7,0x9FFD,0xBFF5,0xB3F5,0xE997,0xC423,0x06C0,0x0540}, //Object4 {0x1800,0x2800,0x2E03,0x5F75,0xBFF7,0xB1F5,0xF5F7,0xB1FF,0x9FF7,0x9FFF,0xBFF5,0xB3F5,0xE995,0xC427,0x06C3,0x0540}, //Object5 {0x8FFF,0x3FFF,0x7C0C,0x7000,0xE040,0xE300,0xC7C7,0xC7FF,0xC37F,0xC3E0,0xC1CF,0xC190,0xC1A0,0xE3A3,0xE3A6,0xE3A5}, //Edge17 {0x7E7E,0xFFFF,0xF7F7,0xFFFF,0xBFBF,0xFBFB,0xFFFF,0x7E7E,0xF8F8,0x1F1F,0x4747,0x4040,0x0000,0x0000,0xE0E0,0xFFFF}, //Edge18 {0x4422,0xDBDB,0x2DB4,0xFFFF,0x3FFE,0xFFFF,0xFFFF,0x3FFC,0xFFFC,0x7FFE,0x3FFC,0x3FFF,0x3FFC,0x1FFC,0x0B68,0x0000}, //Hole1 //70 pic mark {0xFFF1,0xFFFC,0x0C3E,0x000E,0x4007,0x00C7,0xC7E3,0xFFE3,0xFEC3,0x03C3,0xF983,0x0D83,0x0583,0xC5C7,0x65C7,0xA5C7}, //Edge19 {0xFFFF,0xDBDB,0xD3D3,0xDBDB,0xCBCB,0xDBDB,0xCBCB,0xDBDB,0xDBDB,0xCBCB,0xDBDB,0xDBDB,0xD3D3,0x5A5A,0x7E7E,0x3C3C}, //Dung1 {0x0380,0x06F0,0x3DD8,0x47A8,0x9E5C,0xB636,0xE63E,0x7C3E,0x3866,0x00E5,0x00F9,0x03E1,0x0FF9,0x1E3E,0x3E3A,0x3FFE}, //Dung2 {0x3FFD,0x47FD,0xD7F9,0xC7F1,0xFB8B,0xE0AF,0xB88D,0xD7FB,0xE007,0xBFFD,0x9FF9,0xC423,0xFFFF,0xBFFD,0x510A,0x3FFC}, //Dung3 {0x3FFD,0x47FD,0xD7F9,0xC7F1,0xFB8B,0xE0AF,0xB88D,0xD7FB,0xE007,0xBFFD,0x9819,0xCBD3,0xF99F,0xBDBD,0x542A,0x3FFC}, //Dung4 {0x0202,0x2222,0x0202,0x8282,0x0A0A,0x0202,0xFCFC,0x0000,0x0202,0x2222,0x0202,0x8282,0x0A0A,0x0202,0xFCFC,0x0000}, //Road4 {0x0000,0x4040,0x0000,0x0404,0x0000,0x1010,0x0000,0x0101,0x0000,0x4040,0x0000,0x0404,0x0000,0x1010,0x0000,0x0101}, //Sand1 {0x0003,0x0785,0x1F49,0x2FA9,0x5055,0x838E,0x9C5A,0xEB9B,0x1619,0x2C4C,0x3886,0x5133,0x4178,0x4170,0x8360,0x8561}, //Palm1 {0xE000,0x91E0,0x92F8,0x95F4,0xA802,0x71C1,0x5239,0xD9D7,0x98E8,0x3034,0x6314,0xCC82,0x8E42,0x8742,0x8361,0xC171}, //Palm2 {0x9342,0xA705,0x470F,0x071F,0x033E,0x07FF,0x09FF,0x11FE,0x1FFE,0x1FFF,0x0FFF,0x027E,0x03BE,0x01FF,0x0007,0x0000}, //Palm3 //80 pic mark {0x3065,0xD873,0xEC70,0xFE70,0x7B70,0xFFE0,0xFF90,0x7FD8,0x7FF8,0xFFF8,0xFFF0,0x7E80,0x7980,0xFF00,0xE000,0x0000}, //Palm4 {0xF801,0xE003,0xC007,0x8007,0x800F,0x000F,0x001F,0x001F,0x003E,0x007E,0x00FE,0x03FC,0x0FFC,0x3FF8,0x7FE0,0xFF00}, //Sand2 {0xFE01,0xCD13,0x8C13,0x8A2F,0xA0D7,0xC137,0xA056,0x278E,0x3C4C,0x1C00,0x1838,0x0878,0x13F0,0xBFE0,0x7F80,0x7C00}, //Sand3 {0xF7AE,0xEA55,0xC7FE,0x8071,0x87DF,0x1B5F,0x37FF,0x39B7,0x7326,0x7E6A,0xACCA,0xB196,0xA326,0x80CC,0xC038,0xFFF0}, //Sand4 {0xFFFF,0x8001,0x9E79,0x9E79,0x9E79,0x9E79,0x9E79,0x8001,0x8001,0xFFFF,0xF7EF,0xF7EF,0xF7EF,0xFFFF,0xFFFF,0xFFFF}, //Chest1 {0x03C0,0x1C38,0xE007,0x0240,0x0808,0x0180,0x11A2,0xCE78,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF81F,0xC007,0x0980,0x3FD8}, //Shore1 {0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF81F,0xC007,0x0980,0x3FD8,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF81F,0xC007,0x0980,0x3FD8}, //Water5 {0xFFFF,0xFFFF,0xFE3F,0xE00F,0x0180,0x33E0,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFE3F,0xE00F,0x0180,0x33E0,0xFFFF,0xFFFF}, //Water6 {0xFC1F,0xF000,0x01C0,0x03E7,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFC1F,0xF000,0x01C0,0x03E7,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Water7 {0x0380,0xE7F3,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF83F,0xC007,0x0380,0xE7F3,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF83F,0xC007}, //Water8 //90 pic mark {0x03C0,0x1C38,0xE00F,0x09A0,0x01CC,0xE635,0xFFFB,0xFFFF,0xFFFF,0xFFFF,0xFE3F,0xE00F,0x0180,0x33E0,0xFFFF,0xFFFF}, //Shore2 {0x03C0,0x1C38,0xE247,0x0810,0x0310,0x2040,0x8FFC,0xFFFF,0xFC1F,0xF000,0x01C0,0x03E7,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Shore3 {0x03C0,0x1C38,0xE007,0x0000,0x0000,0x0420,0x1008,0x0540,0x0380,0xE7F3,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF83F,0xC007}, //Shore4 {0xF801,0xE183,0xC307,0x86C7,0x8F8F,0x0F0F,0x1E1F,0x2C1F,0x383E,0x001E,0x008E,0x0364,0x0FB0,0x0FD8,0x0FEC,0xFF00}, //Sand5 {0x1F83,0xF807,0xE007,0x000B,0x2017,0x006F,0x07DB,0xFF73,0x1F83,0xF807,0xE007,0x000B,0x2017,0x006F,0x07DB,0xFF73}, //Cliff5 {0x73FE,0xDDEB,0xB7F5,0x77F6,0x65E6,0x4C0D,0x721D,0xD9F1,0xBCFF,0xBEBB,0x9CFD,0x817D,0x4101,0x4301,0x7C86,0x8379}, //Cliff6 {0xA5C3,0x45C3,0x8D83,0x1983,0x7383,0xC6C7,0x0DC7,0xF6C7,0x1F83,0xF803,0xE003,0x0003,0x2003,0x0007,0x071E,0xFFFD}, //Edge20 {0xFFFF,0x8000,0x8000,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x9FE0,0x9FD0,0x9FCF,0x9FCC,0x9FCB,0x9FCB}, //Wall1 {0xFFFF,0x0000,0x0000,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0404,0x0404,0xFFFF,0x4040,0xFFFF,0xFFFF}, //Wall2 {0xFFFF,0x0001,0x0001,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0x07F9,0x0BF9,0xF3F9,0x33F9,0xD3F9,0xD3F9}, //Wall3 //100 pic mark {0xD3F9,0xD3F9,0xD3F9,0xDFF9,0xD3F9,0xD3F9,0xF3F9,0xD3F9,0xD3F9,0xD3F9,0xD3F9,0xDFF9,0xD3F9,0xD3F9,0xF3F9,0xD3F9}, //Wall4 {0xD3F9,0xD3F9,0x33F9,0xF3F9,0x0BF9,0x07F9,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0xFFF9,0x0001,0x0001,0xFFFF}, //Wall5 {0xFFFF,0xFFFF,0x4040,0xFFFF,0x0404,0x0404,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0000,0x0000,0xFFFF}, //Wall6 {0x9FCB,0x9FCB,0x9FCC,0x9FCF,0x9FD0,0x9FE0,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x9FFF,0x8000,0x8000,0xFFFF}, //Wall7 {0x9FCB,0x9FCB,0x9FCB,0x9FFB,0x9FCB,0x9FCB,0x9FCF,0x9FCB,0x9FCB,0x9FCB,0x9FCB,0x9FFB,0x9FCB,0x9FCB,0x9FCF,0x9FCB}, //Wall8 {0x1FFF,0x3FFF,0x7FFF,0x7FFF,0x7FFF,0x7FFF,0x7FFF,0x7FFF,0x7FFF,0x5FFF,0x6FFF,0x5000,0x2000,0x3FFF,0x2D00,0x3FFF}, //Table1 {0xFFF8,0xFFFC,0xFFFE,0xFFFE,0xFFFE,0xFFFE,0xFFFE,0xFFFE,0xFFFE,0xFFFA,0xFFF6,0x000A,0x0004,0xFFFC,0x00B4,0xFFFC}, //Table2 {0x03C0,0x0FF0,0x1FF8,0x1C38,0x3BDC,0x7FFE,0x7FFE,0x7FFE,0x77EE,0x5E7A,0x5FFA,0x57EA,0x2244,0x23C4,0x1998,0x07E0}, //Pot1 {0x0000,0x0000,0x6000,0x0000,0x00E0,0x0000,0x0000,0xFFFF,0x3800,0x0000,0x0000,0x000C,0x0000,0x0000,0x01C0,0xFFFF}, //Floor1 {0xDDEF,0xC1F7,0x5DF0,0xBEF7,0xBE07,0x9DDB,0x63DC,0xFBDE,0xFDDE,0x7A0E,0xB771,0xCF7B,0xEF7B,0xC639,0x39C6,0xBDEF}, //Floor2 //110 pic mark {0x0000,0x1E78,0x3FFC,0x79CE,0x7436,0x37F6,0x35AE,0x77EC,0x6C36,0x61CE,0x7FFE,0x5E3A,0x4002,0x61C6,0x3F7C,0x0000}, //Chair1 {0x7FFE,0xFFFF,0xBFFD,0xFFFF,0x8001,0xFFFF,0xBFFD,0xFFFF,0x8001,0xFFFF,0xBFFD,0xFFFF,0xFFFF,0x9249,0x9249,0x7FFE}, //Box1 {0x0000,0x7FFE,0x7006,0x6002,0x67E2,0x781E,0x4BD2,0x7FFE,0xC003,0xC003,0xFE07,0xE003,0xC003,0xC003,0xC003,0xC003}, //Bed1 {0xC003,0xC003,0xFE07,0xE003,0xC003,0xC003,0xC003,0xC003,0xE007,0xFFFF,0xBFFD,0xFFFF,0xC003,0xBFFC,0x0000,0xFFFF}, //Bed2 {0xFFFF,0x8001,0x8001,0x8001,0x8001,0xFFFF,0x8001,0xFFFF,0xFFFF,0xFFFF,0xFE7F,0xFFFF,0xFFFF,0xFFFF,0xFE7F,0xFFFF}, //Cabinet1 {0xFFFF,0xFFFF,0xFE7F,0xFFFF,0xFFFF,0xFFFF,0xFE7F,0xFFFF,0x3800,0x0000,0x0000,0x000C,0x0000,0x0000,0x01C0,0xFFFF}, //Cabinet2 {0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001}, //Door2 {0x1FF8,0x3FFC,0x7FFE,0x7FFE,0x7FFE,0x7FFE,0x7FFE,0x7FFE,0x7FFE,0x5FFA,0x6FF6,0x500A,0x2004,0x3FFC,0x2DB4,0x3FFC}, //Table3 {0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Black1 {0x0000,0x0000,0x0082,0x1000,0x2000,0x0000,0x0000,0x0000,0x0000,0x0044,0x01C4,0x0200,0x0400,0x0000,0x0040,0x0000}, //Sand6 //120 pic mark {0x0000,0x0000,0x6000,0x0000,0x00E0,0x0000,0x0000,0xFFFF,0x3800,0x0000,0x0000,0x381C,0x7FFE,0xFFFF,0xFFFF,0xCFF3}, //Phone1 {0xFC3F,0x1818,0x318C,0x73CE,0x73EE,0x71FE,0xF87F,0xBC7D,0xDFFB,0x6006,0x7FFE,0x5E3A,0x4002,0x61C6,0x3F7C,0x0000}, //Phone2 {0xFFFF,0xFFFF,0xFE7F,0xFFFF,0xFFFF,0xFFFF,0xFE7F,0xFFFF,0x3800,0x0000,0x0000,0x381C,0x7FFE,0xFFFF,0xFFFF,0xCFF3}, //Phone3 {0xFC3F,0xF81C,0xF18E,0xF3CE,0xF3EE,0xF1FE,0xF87F,0xBC7D,0xDFFB,0xE006,0xFFFE,0x000A,0x0004,0xFFFC,0x00B4,0xFFFC}, //Phone4 {0x8181,0x0000,0x0000,0x1818,0x1818,0x0000,0x0000,0x8181,0x8181,0xFFFF,0xFFFF,0x6666,0x6666,0x7E7E,0xFFFF,0xFFFF}, //Light1 {0x8181,0x0000,0x1818,0x2424,0x2424,0x1818,0x0000,0x8181,0x8181,0xFFFF,0xFFFF,0x6666,0x6666,0x7E7E,0xFFFF,0xFFFF}, //Light2 {0x8181,0x3C3C,0x6666,0x4242,0x4242,0x6666,0x3C3C,0x8181,0x8181,0xFFFF,0xFFFF,0x6666,0x6666,0x7E7E,0xFFFF,0xFFFF}, //Light3 {0xBDBD,0x6666,0xC3C3,0x8181,0x8181,0xC3C3,0x6666,0xBDBD,0x8181,0xFFFF,0xFFFF,0x6666,0x6666,0x7E7E,0xFFFF,0xFFFF}, //Light4 {0x3C00,0x2600,0x2500,0x2480,0xE4FE,0xA482,0xBC82,0xBE82,0xBF82,0xBF82,0xBF82,0x8002,0xFFFE,0xFFFE,0x924A,0xFFFE}, //Cashier1 {0x0000,0xFFFF,0x0000,0xFFFF,0xA1A1,0xA5A5,0x8585,0xFFFF,0x3800,0x0000,0x0000,0x000C,0x0000,0x0000,0x01C0,0xFFFF}, //Floor3 //130 pic mark {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //White1 {0x1FF8,0x3FFC,0x7FFE,0x7FFE,0x7FFE,0x7FFE,0x7FFE,0x7FFE,0x7A1E,0x5A1A,0x6FF6,0x500A,0x2004,0x3FFC,0x2DB4,0x3FFC}, //Table4 {0xFFFF,0x8001,0x8001,0x8001,0x8001,0xFFFF,0x8001,0xFFFF,0xFFFF,0xFFFF,0xFD3F,0xFD3F,0xFD3F,0xFFFF,0xFFFF,0xFFFF}, //Shelf1 {0xFFFF,0xFFFF,0xFD3F,0xFD3F,0xFD3F,0xFFFF,0xFFFF,0xFFFF,0x3800,0x0000,0x0000,0x000C,0x0000,0x0000,0x01C0,0xFFFF}, //Shelf2 {0x00bf,0x01df,0x0378,0x02f0,0x1df0,0x3ff8,0x1dff,0x3ddf,0x77ff,0xfbdf,0xbdde,0xef37,0xfdcf,0x9ff0,0xcdff,0xf7e7}, //Tree7 {0xfd80,0xfb00,0x3e80,0x1ff0,0x1ff8,0x3ff8,0xfff0,0xffee,0xfb8e,0xce07,0xf83f,0xfe7e,0x1fea,0x7fb1,0xfdc5,0x9e06}, //Tree8 {0xe36f,0xe5ef,0xee3e,0xde00,0xef40,0x7dc4,0xfe64,0xed3f,0xbfde,0xdbf0,0x61ab,0x76f0,0x2b94,0x3c0b,0x03f7,0x007b}, //Tree9 {0x00c7,0xe0a7,0x0077,0x007b,0x02f7,0x23be,0x2f7f,0xfcb7,0xf9dd,0x01af,0xc4d7,0x4f7d,0xc9d1,0x987a,0x70fc,0xc300}, //Tree10 {0x4422,0xdbdb,0x2db4,0xffff,0x3ffe,0xffff,0xffff,0x3ffc,0x7e64,0xfc36,0xc39f,0x7875,0x5f0e,0xcabe,0x7ffc,0x3338}, //Hole down {0x003f,0x003f,0x3fff,0x3fff,0x3fff,0x3fff,0x3fe1,0x3fff,0x3e3f,0x3fff,0x23ff,0x3fff,0x3fff,0x3ffe,0x0000,0x0000}, //Stairs up //140 {0xe03c,0xe719,0xc4c2,0x0466,0x0c3c,0x7cb8,0x60b0,0x4f90,0x4083,0x30cf,0x9877,0xcc33,0xcf58,0x9e8c,0x30c6,0x27e3}, //wall {0x3c3c,0x1919,0xc2c2,0x6666,0x3c3c,0xb8b8,0xb0b0,0x9090,0x8181,0xc3c3,0xefef,0xdbdb,0x9898,0x3c3c,0x6666,0xdbdb},//wall {0x3c07,0x19e7,0xc263,0x6620,0x3cb0,0xb8be,0xb082,0x9082,0xe3e4,0xd60c,0x8c79,0x1cf3,0x3233,0x6619,0xcf0c,0x8f02},//wall {0x9fe4,0xce0c,0x6479,0xb8f3,0xbc33,0x6419,0xce0c,0x8f02,0x9fe4,0xce0c,0x6479,0xb8f3,0xbc33,0x6419,0xce0c,0x8f02},//wall {0xc7e4,0x630c,0x3179,0x1af3,0xcc33,0xee19,0xf30c,0xc102,0x90f2,0xb006,0xb83e,0x3c30,0x6620,0xc223,0x19e7,0x3c07},//wall {0xdbdb,0x6666,0x3c3c,0x9898,0xdbdb,0xefef,0xc3c3,0x8181,0x9090,0xb0b0,0xb8b8,0x3c3c,0x6666,0xc2c2,0x1919,0x3c3c},//wall {0x40f1,0x30f3,0x9866,0xcc4c,0xcf38,0x9e31,0x306b,0x27c7,0x4190,0x41b0,0x7db8,0x0d3c,0x0466,0xc6c2,0xe719,0xe03c},//wall {0x27e3,0x40f1,0x3073,0x9826,0xcc3d,0xcf1d,0x9e26,0x3073,0x27f9,0x40f1,0x3073,0x9826,0xcc3d,0xcf1d,0x9e26,0x3073}, {0xffff,0xfa5f,0xce73,0xf7ff,0xdffb,0xec37,0xe997,0xadb5,0xfa5f,0xeff7,0xaff5,0x9669,0xfbdf,0xec37,0xdbdb,0xffff}, {0x3ffc,0x4002,0x81c1,0x82a1,0x8411,0x8811,0x8811,0x85a1,0x8001,0x8001,0x8001,0x8001,0xc423,0xe247,0xbffd,0xdffb},//D light {0x3ffc,0x4182,0x8341,0x8521,0x8811,0x8811,0x8811,0x85a1,0x8001,0x8001,0x8001,0x8001,0xc423,0xe247,0xbffd,0xdffb}, {0x3f7c,0x4322,0x8511,0x8811,0x8809,0x8809,0x8809,0x8591,0x8001,0x8001,0x8001,0x8001,0xc423,0xe247,0xbffd,0xdffb}, {0x0000,0x0000,0x3e00,0x3e00,0x3c00,0x3800,0x0000,0x0000,0x0000,0x0004,0x000c,0x001c,0x003c,0x0000,0x0000,0x0000}, {0x91f1,0x4c73,0x0e26,0x8e3d,0x761d,0x7a26,0xbc73,0x80f9,0x8181,0xc37e,0xef77,0xdb7b,0x985b,0x3c65,0x667b,0xdbde}, {0x9f89,0xce32,0x6470,0xb871,0xbc6e,0x645e,0xce3d,0x8f01,0x8181,0x7ec3,0xeeef,0xdedb,0xda98,0xa63c,0xde66,0x7bdb}, {0x7bdb,0xde66,0xa63c,0xda98,0xdedb,0xeeef,0x7ec3,0x8181,0x9f01,0xce3d,0x645e,0xb86e,0xbc71,0x6470,0xce32,0x8f89}, {0xdbde,0x667b,0x3c65,0x985b,0xdb7b,0xef77,0xc37e,0x8181,0x80f1,0xbc73,0x7a26,0x763d,0x8e1d,0x0e26,0x4c73,0x91f9}, {0xfdfd,0xdfdf,0xfefe,0xf7f7,0x7f7f,0xffff,0xdddd,0xf7f7,0xfdfd,0xdfdf,0xfefe,0xf7f7,0x7f7f,0xffff,0xdddd,0xf7f7}, {0xdc0f,0xe211,0xc121,0xccc3,0xcc82,0xc082,0xe104,0xdf07,0xc204,0xc204,0xc204,0xc202,0x4202,0x2202,0x1e03,0x03ff},//Doungen one enterance {0xf03b,0x8847,0x8483,0xc333,0x4133,0x4103,0x2087,0xe0fb,0x2043,0x2043,0x2043,0x4043,0x4042,0x4044,0xc078,0xffc0}, {0x0000,0x7fff,0x7060,0x7800,0x5c00,0x4e06,0x4706,0x4300,0x40c0,0x46ff,0x467f,0x4070,0x4078,0x606c,0x6067,0x4063}, {0x0000,0xfffe,0x060e,0x001e,0x003a,0x6072,0x60e2,0x00c2,0x0302,0xff62,0xfe62,0x0e02,0x1e02,0x3606,0xe606,0xc602}, {0xc602,0xc662,0x6662,0x3602,0x1e02,0xfe06,0xff06,0x0302,0x00c2,0x06e2,0x0672,0x003a,0x001e,0x600e,0xfffe,0x0000}, {0x4063,0x4663,0x4666,0x406c,0x4078,0x607f,0x60ff,0x40c0,0x4300,0x4706,0x4e06,0x5c00,0x7800,0x7060,0x7fff,0x0000}, {0x0000,0xffff,0x6060,0x0000,0x0000,0x0606,0x0606,0x0000,0x1818,0xffff,0xf9f9,0x0606,0xc0c0,0x0000,0xffff,0xffff}, {0xc602,0xca62,0xca62,0xc702,0xc702,0xc606,0xd606,0xd602,0xc602,0xca62,0xca62,0xc702,0xc702,0xc606,0xd606,0xd602}, {0xffff,0xffff,0x0000,0xc0c0,0x0606,0xf9f9,0xffff,0x1818,0x0000,0x0606,0x0606,0x0000,0x0000,0x6060,0xffff,0x0000}, {0x406b,0x606b,0x6063,0x40e3,0x40e3,0x4653,0x4653,0x4063,0x406b,0x606b,0x6063,0x40e3,0x40e3,0x4653,0x4653,0x4063}, {0xffff,0xffff,0x0007,0xc00b,0x0613,0xf9c3,0xffa3,0x1863,0x0263,0x0553,0x0a53,0x14e3,0x28e3,0x5063,0x206b,0x006b}, {0x006b,0x206b,0x5063,0x28e3,0x14e3,0x0a53,0x0553,0x0263,0x1863,0xffa3,0xf9c3,0x0613,0xc00b,0x0007,0xffff,0xffff}, {0xd600,0xd604,0xc60a,0xc714,0xc728,0xca50,0xcaa0,0xc640,0xc618,0xc5ff,0xc39f,0xc860,0xd003,0xe000,0xffff,0xffff}, {0xffff,0xffff,0xe000,0xd003,0xc860,0xc39f,0xc5ff,0xc618,0xc640,0xcaa0,0xca50,0xc728,0xc714,0xc60a,0xd604,0xd600}, {0xbe07,0xbee3,0x3af3,0x1c78,0x0038,0x0338,0xc793,0xed83,0xafc7,0xefc5,0x6683,0xc319,0x0038,0x1c6c,0x3e44,0x3600}, {0x0100,0x0280,0x044e,0x0832,0xe822,0x9822,0x8824,0x8827,0x4829,0x28b1,0x7962,0x9a22,0x8a24,0x4a24,0x3678,0x01c0}, {0xe007,0xd00b,0x9009,0x9009,0x9009,0x9ff9,0xbffd,0xe007,0xdffb,0xbffd,0xf00f,0xe007,0xc003,0xc003,0xc003,0x0000}, {0xed83,0xafc7,0xefc5,0x6683,0xc319,0x0038,0x1c6c,0x3e44,0x3600,0xbffd,0xffff,0xd00b,0x9009,0x9009,0x9ff9,0xbffd}, {0x0000,0x8181,0x4040,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, {0x0000,0x07e0,0x0ff0,0x3f38,0x4f34,0x4814,0x4124,0x3128,0x0c18,0x1fe4,0x27e4,0x27f8,0x1ff0,0x08f8,0x0ff0,0x0000},//Little Boy1 {0x0000,0x0fc0,0x1fe0,0x39f8,0x59e4,0x5024,0x4904,0x2918,0x3060,0x4ff0,0x4fc8,0x3fc8,0x1ff0,0x3e20,0x1fe0,0x0000},//Little Boy2 {0x3ffc,0x7c3e,0xf00f,0xdffb,0xbffd,0xffff,0xffff,0xe7e7,0xffff,0xffff,0xcff3,0xffff,0xffff,0xc7e3,0xffff,0xffff},//Tablet {0x07e0,0x3ffc,0x7ffe,0x7f7e,0x7f7e,0x2f74,0x2a56,0x724f,0xf81f,0xfc3f,0xfffe,0x6ba4,0x2c64,0x3ffc,0x10f8,0x1ff8},//marine {0x07e0,0x3ffc,0x7ffe,0x7efe,0x7efe,0x2ef4,0x6a54,0xf24e,0xf81f,0xfc3f,0xfffe,0x65d4,0x2634,0x3ffc,0x1f08,0x1ff8},//marine2 {0x0c00,0x1600,0x1600,0x1600,0x1600,0x1600,0x1600,0x1600,0x1600,0x7780,0x5e80,0x2100,0x1e00,0x1200,0x1200,0x0c00},//sword {0x0ff0,0x1008,0x2004,0x2ff4,0x3ffc,0x3c3c,0x3ffc,0x799e,0xbffd,0xba5d,0xbffd,0xbffd,0xbffd,0x8001,0xffff,0x67e6},//Grave1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, {0x8001,0xc003,0xa005,0x9ff9,0xc813,0xe817,0xf3cf,0xd3cb,0xd3cb,0xd3cb,0xd99b,0xe5a7,0xedb7,0xf66f,0xc3c3,0xffff}, }; static unsigned short img_map_dark[190][16] = { {0x0000,0x0180,0x6246,0x542A,0x4DB2,0x566A,0x4A52,0x2664,0x1FF8,0x27E4,0x4AF2,0x44A2,0x7C3E,0x0420,0x03C0,0x0000}, //Plant1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Grass1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Grass2 {0x0000,0x0000,0x1818,0x2424,0x4242,0x4242,0x6666,0x5E5E,0x5656,0x5656,0x4646,0x5656,0x5656,0x5656,0x3C3C,0x0000}, //Fence1 {0x00FF,0x0380,0x0E00,0x1840,0x30C0,0x31C0,0x63C0,0x63E0,0xE3F8,0xE1FF,0xE0FF,0xE03F,0xF00F,0xF007,0xFC00,0xFF00}, //Tree1 {0xFF00,0x1FC0,0x0CF0,0x0638,0x071C,0x079C,0x078E,0x0F8E,0x1F8F,0xFF0F,0xFE0F,0xF80F,0xF00F,0xE01F,0x003F,0x00FF}, //Tree2 {0xFFC0,0x7FE0,0x7FF8,0xBFFF,0x9FFF,0xCFFF,0x7FFF,0x1C3F,0x080F,0x1007,0x2060,0x20F0,0x23F8,0x1FF8,0x007C,0x0003}, //Tree3 {0x03FF,0x07FE,0x0FFE,0xFFFD,0xFFF9,0xFFF3,0xFFFE,0xFC38,0xF010,0xE008,0x0604,0x0F04,0x1FC4,0x1FF8,0x3E00,0xC000}, //Tree4 {0x7E7E,0xE7E7,0xC3C3,0xC3C3,0xC3C3,0xC3C3,0xC3C3,0xC3C3,0xC3C3,0xC3C3,0xC3C3,0xC3C3,0xE7E7,0xFFFF,0xFFFF,0x7E7E}, //Roof10 {0xFFFF,0xFFFF,0x8001,0x8001,0xFFFF,0xF7EF,0x97E9,0x97E9,0x97E9,0x9009,0xFFFB,0xE003,0x8C19,0x8C19,0xFFFF,0x0000}, //House2 //10 pic mark {0xFFFF,0x0000,0x0000,0x0000,0x3FFC,0x3FFC,0xFFFF,0xFFFF,0x3FF9,0x3FF9,0x3FF9,0x3FF9,0x3FF9,0x3FF9,0x3FF9,0xFFFF}, //House3 {0x0000,0x0000,0x0808,0x0000,0x4040,0x0000,0x0000,0x0000,0x0000,0x0000,0x0808,0x0000,0x4040,0x0000,0x0000,0x0000}, //Road1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Flower1 {0x07FF,0x1FFF,0x3800,0x6000,0x6000,0xC000,0xC1FF,0xC3FF,0xC380,0xC300,0xC31F,0xC33F,0xC33F,0xC33F,0xC33F,0xC33F}, //Edge1 {0xFFFF,0xFFFF,0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFFFF,0xE007,0x07E0,0x1FF8,0xFFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Edge2 {0xC33F,0xC33F,0xC37F,0xC37F,0xC37F,0xC33F,0xC33F,0xC33F,0xC33F,0xC33F,0xC37F,0xC37F,0xC37F,0xC33F,0xC33F,0xC33F}, //Edge3 {0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x3838,0x0000,0xFFFF,0xFFFF,0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFFFF}, //Edge4 {0xC33F,0xC33F,0xC33F,0xC33F,0xC33F,0xC31F,0xC380,0xC3C0,0xC3FF,0xC1FF,0xC000,0xE000,0xF000,0xFC00,0x7FFF,0x1FFF}, //Edge5 {0x0FF0,0x3FFC,0x7FFE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x3FFC,0x7FFE,0xFFFF,0xFFFF,0xFFFF,0xE007,0xC003}, //House4 {0xFFFF,0x0000,0x700E,0xBFFD,0xFFFF,0xFFFF,0xF66F,0xF7EF,0x0E70,0x3DBC,0xFDBF,0xDE7B,0xDFFB,0xC003,0x7FFE,0x0000}, //House5 //20 pic mark {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water1 {0xFFC0,0x1FE0,0x0CF8,0x063F,0x071F,0x079F,0x078F,0x0F8F,0x1F8F,0xFF0F,0xFE0F,0xF80F,0xF00F,0xE01F,0x003F,0x00FF}, //Tree5 {0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF03F,0xF040,0xEF8F,0xEF88,0xDFCF,0xDF80,0xBF8F,0xBFC0}, //Roof1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xFFFF,0x0000,0xB339,0x1244,0x9E44,0x9244,0xB339,0x0000}, //Roof2 {0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0xFC0F,0x020F,0xF1F7,0x91F7,0xF3FB,0x81FB,0xC1FD,0x03FD}, //Roof3 {0xFFF0,0x0008,0x000C,0x000E,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F}, //Roof4 {0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Roof5 {0x0FFF,0x1000,0x3000,0x7000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000}, //Roof6 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Road2 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Road3 //30 pic mark {0x0000,0x0000,0x0818,0x0024,0x4042,0x0042,0x0066,0x005E,0x0056,0x0056,0x0846,0x0056,0x4056,0x0056,0x003C,0x0000}, //Fence2 {0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xF000,0xEFFF,0xEFFF,0xDFFF,0xDFFF,0xBFFF,0xBFFF}, //Roof7 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Roof8 {0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0x000F,0xFFF7,0xFFF7,0xFFFB,0xFFFB,0xFFFD,0xFFFD}, //Roof9 {0x03FF,0x0780,0x1E00,0xF840,0xF0C0,0xF1C0,0xE3C0,0xE3E0,0xE3F8,0xE1FF,0xE0FF,0xE03F,0xF00F,0xF007,0xFC00,0xFF00}, //Tree6 {0xFFFF,0x8181,0xA021,0x8001,0x8001,0x8001,0x8001,0x8001,0xFFFF,0xF18F,0x9DB9,0xDFFB,0xFC3F,0x85A1,0xF7EF,0xFFFF}, //Fence3 {0xFFFF,0x8181,0xA021,0x8001,0x8001,0x8001,0x8001,0x8001,0xFFFF,0x8181,0xA021,0x8001,0x8001,0x8001,0x8001,0x8001}, //Fence4 {0xFFE0,0xFFF8,0x001C,0x0006,0x0006,0x0003,0xFF83,0xFFC3,0x01C3,0x00C3,0xFCC3,0xFCC3,0xFCC3,0xFCC3,0xFCC3,0xFCC3}, //Edge6 {0xFCC3,0xFCC3,0xFEC3,0xFEC3,0xFEC3,0xFCC3,0xFCC3,0xFCC3,0xFCC3,0xFCC3,0xFEC3,0xFEC3,0xFEC3,0xFCC3,0xFCC3,0xFCC3}, //Edge7 {0xFCC3,0xFCC1,0xFEC0,0xFEE0,0xFEF0,0xFCFC,0xFC7F,0xFC1F,0xFE07,0xFFE0,0xFFF8,0xFFBF,0xFFFF,0x7FFF,0x3FFF,0x1FFF}, //Edge8 //40 pic mark {0xFCC3,0xFCC3,0xFCC3,0xFCC3,0xFCC3,0xF8C3,0x01C3,0x03C3,0xFFC3,0xFF83,0x0003,0x0007,0x000F,0x003F,0xFFFE,0xFFF8}, //Edge9 {0xE007,0x07E0,0x1FF8,0xFFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE007,0x07E0,0x1FF8,0xFFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Cliff1 {0xE07F,0x07FF,0x1FFF,0xFFFF,0xFFFB,0xFFF3,0xFFE7,0xFF8F,0xE07F,0x07FF,0x1FFF,0xFFFF,0xFFFF,0xFFFE,0xFFFC,0xFFF8}, //Cliff2 {0xFFFF,0x0000,0x0000,0xFFFF,0xFFFF,0x0000,0x0000,0xFFFF,0xFFFF,0x0000,0x0000,0xFFFF,0xFFFF,0x0000,0x0000,0xFFFF}, //Stair1 {0xFE07,0xFFE0,0xFFF8,0xFFBF,0xDFFF,0xCFFF,0xE7FF,0xF1FF,0xFE07,0xFFE0,0xFFF8,0xFFBF,0xFFFF,0x7FFF,0x3FFF,0x1FFF}, //Cliff3 {0x1800,0x2803,0x2E05,0x4975,0x9F95,0xB1F5,0xF5F7,0xB1FD,0x9F15,0x9EDD,0x9FD7,0xB3F5,0xA995,0xC425,0x06C5,0x0543}, //Object1 {0x0440,0x0380,0x1EF0,0x3298,0x5294,0xD396,0xD016,0xD016,0xDFF6,0xDFF6,0xC006,0xDFF6,0xB01A,0xB55A,0xB01A,0xFFFE}, //Object2 {0x0000,0x03E0,0x0770,0x0F78,0x1F7C,0x3F7E,0x4E3B,0x6493,0x71C7,0x7BEF,0x7BEF,0x7BEF,0x7BEF,0x3BEE,0x1FFC,0x07F0}, //Rock1 {0xC33F,0x833F,0x037F,0x077F,0x0F7F,0x3F3F,0xFE3F,0xF83F,0xE07F,0x07FF,0x1FFF,0xFFFF,0xFFFB,0xFFF3,0xFFE7,0xFF8F}, //Edge10 {0xFFFE,0xFFFF,0x0003,0x0001,0x0001,0x0003,0xFFFF,0xFFFE,0xE006,0x07FE,0x1FFE,0xFFBC,0xFFF8,0xFFF0,0xFFC0,0xFF00}, //Edge11 //50 pic mark {0x7FFF,0xFFFF,0xC000,0x8000,0x8000,0xC000,0xFFFF,0x7FFF,0x6007,0x7FE0,0x7FF8,0x3FBF,0x1FFF,0x0FFF,0x03FF,0x00FF}, //Edge12 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0707,0xE0E0,0xF8F8,0xBFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Edge13 {0xFFFE,0xFFFF,0x0003,0x0001,0x0001,0x0003,0xFFFF,0xFFFE,0xE007,0x07E0,0x1FF8,0xFFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Edge14 {0x7FFF,0xFFFF,0xC000,0x8000,0x8000,0xC000,0xFFFF,0x7FFF,0xE007,0x07E0,0x1FF8,0xFFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Edge15 {0x0000,0xFFFF,0x8001,0x8001,0xFFFF,0x700E,0x76AE,0x700E,0x75AE,0x700E,0xFFFF,0x8001,0xFFFF,0x0660,0x0660,0x03C0}, //Sign1 {0xFCC3,0xFCC1,0xFEC0,0xFEE0,0xFEF0,0xFCFC,0xFC7F,0xFC1F,0xFE07,0xFFE0,0xFFF8,0xFFBF,0xDFFF,0xCFFF,0xE7FF,0xF1FF}, //Edge16 {0xFE07,0xFFE0,0xFFF8,0xFFBF,0xDFFF,0xCFFF,0xE7FF,0xF1FF,0xFE07,0xFFE0,0xFFF8,0xFFBF,0xDFFF,0xCFFF,0xE7FF,0xF1FF}, //Cliff4 {0x7FFE,0x8001,0x8001,0x9FF9,0x9FF9,0x9FF9,0x9FF9,0x9FF9,0x9FF9,0x8001,0x8001,0xC083,0xBFFD,0x8411,0x4412,0x3FFC}, //Well1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Flower2 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Flower3 //60 pic mark {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Flower4 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water2 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water3 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water4 {0x1800,0x2800,0x2E03,0x4975,0x9F95,0xB1F5,0xF5F5,0xB1FF,0x9F15,0x9EDD,0x9FD5,0xB3F5,0xA997,0xC425,0x06C3,0x0540}, //Object3 {0x1800,0x2800,0x2E00,0x4973,0x9F95,0xB1F5,0xF5F5,0xB1FD,0x9F17,0x9EDD,0x9FD5,0xB3F5,0xA995,0xC423,0x06C0,0x0540}, //Object4 {0x1800,0x2800,0x2E03,0x4975,0x9F97,0xB1F5,0xF5F5,0xB1FD,0x9F15,0x9EDF,0x9FD5,0xB3F5,0xA995,0xC425,0x06C3,0x0540}, //Object5 {0x1FFF,0x3FFF,0x7FFF,0xFFFF,0xFFFF,0xFCFF,0xF838,0xF800,0xFCFF,0xFCFF,0xFEF0,0xFEE0,0xFEC0,0xFCC0,0xFCC1,0xFCC3}, //Edge17 {0x0000,0x0000,0x0808,0x0000,0x4040,0x0000,0x0000,0x0000,0x0707,0xE0E0,0xF8F8,0xBFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Edge18 {0x0990,0x6DB6,0x7FFE,0x3FFC,0xFFFD,0xFFFF,0x7FFE,0x7FFE,0x7FFE,0xFFFF,0x7FFE,0x3FFC,0xFFFF,0x3FFE,0x1FFC,0x3326}, //Hole1 //70 pic mark {0xFFF8,0xFFFC,0xFFFE,0xFFFF,0xFFFF,0xFF3F,0x381F,0x001F,0xFF3F,0xFF3F,0x077F,0x037F,0x037F,0x033F,0x833F,0xC33F}, //Edge19 {0xFFFF,0xE7E7,0xE7E7,0xE7E7,0xF7F7,0xE7E7,0xE7E7,0xE7E7,0xE7E7,0xF7F7,0xE7E7,0xE7E7,0xE7E7,0xE7E7,0x2424,0x1818}, //Dung1 {0x0380,0x0470,0x3E88,0x47D8,0x827C,0x8A22,0x9A22,0x443E,0x3842,0x0083,0x0087,0x03FF,0x0C1F,0x1006,0x2006,0x2002}, //Dung2 {0x3803,0x4403,0xD407,0xC47F,0xFC8F,0xBFAD,0x9F89,0xCFF3,0xA005,0xDFFB,0xE427,0xFFFF,0xBFFD,0xD10B,0x7FFE,0x3FFC}, //Dung3 {0x3803,0x4403,0xD407,0xC47F,0xFC8F,0xBFAD,0x9F89,0xCFF3,0xA005,0xDFFB,0xE817,0xFBDF,0xB99D,0xDDAB,0x7C3E,0x3FFC}, //Dung4 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Road4 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Sand1 {0x0003,0x0786,0x18CE,0x306E,0x6FBF,0xFFFA,0xFFF2,0xEC72,0x19F1,0x33FC,0x27FC,0x6FCF,0x7F87,0x7F8F,0xFF9F,0xFD9F}, //Palm1 {0xE000,0x71E0,0x7318,0x760C,0xFFFE,0x5FFF,0x5FFF,0x4E37,0x8F18,0x3FCC,0x3FEC,0xF3FE,0xF1FE,0xF8FE,0xFCFF,0xFEFF}, //Palm2 {0xF3BF,0xE5FE,0x45FE,0x05F9,0x07F8,0x05E9,0x0846,0x1070,0x1008,0x1009,0x0FC6,0x01E0,0x0070,0x0008,0x0007,0x0000}, //Palm3 //80 pic mark {0xFFE7,0x3FD3,0x3FD0,0xCFD0,0x0FD0,0x93A0,0x7210,0x0208,0x1E08,0x9008,0x61F0,0x0700,0x0E00,0x1000,0xE000,0x0000}, //Palm4 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Sand2 {0x0078,0x3088,0x53E8,0x5410,0x5F08,0x20C8,0x4028,0x4030,0x4390,0x23DE,0x27C1,0x2786,0x4C00,0x0000,0x8000,0x0000}, //Sand3 {0x07AE,0x0DDB,0x07DE,0x0070,0x07D0,0x18D0,0x27D8,0x2C7C,0x58DC,0x519E,0xF33E,0xEE7E,0xFCFC,0xFFF8,0x7FF0,0x3FC0}, //Sand4 {0xFFFF,0x8001,0x9E79,0x9249,0x9249,0x9249,0x9E79,0x8001,0x8001,0xFFFF,0x9DB9,0x9DB9,0x9C39,0x9FF9,0x8001,0xFFFF}, //Chest1 {0x0000,0x03C0,0x1FF8,0xFC3F,0xF007,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Shore1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water5 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water6 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water7 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Water8 //90 pic mark {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Shore2 {0x0000,0x03C0,0x1C38,0xF00F,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Shore3 {0x0000,0x03C0,0x1FF8,0xFFFF,0xFFFF,0xF81F,0xE007,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Shore4 {0x01C0,0x0240,0x04C0,0x0920,0x1070,0x20E0,0x41C0,0x9380,0xC700,0x3E60,0x1C50,0x0088,0x2044,0x5022,0x7013,0x000E}, //Sand5 {0xE07F,0x07FF,0x1FFF,0xFFFF,0xFFFB,0xFFF3,0xFFE7,0xFF8F,0xE07F,0x07FF,0x1FFF,0xFFFF,0xFFFB,0xFFF3,0xFFE7,0xFF8F}, //Cliff5 {0x8FF1,0x3E1C,0x6C0E,0xCC0F,0xDE1F,0xFFFB,0xFFF3,0xE7FF,0xC3FF,0xC1C6,0xE383,0xFF83,0xFFFF,0xFFFF,0xFFFF,0xFCFF}, //Cliff6 {0xC33F,0x833F,0x037F,0x077F,0x0F7F,0x3F3F,0xFE3F,0xF83F,0xE07F,0x07FF,0x1FFF,0xFFFF,0xFFFF,0xFFFE,0xFFFC,0xFFF8}, //Edge20 {0x0000,0x0000,0x3FFF,0x3FFF,0x3800,0x3400,0x3200,0x3100,0x30FF,0x30C0,0x30BF,0x30BF,0x30BF,0x30BF,0x30BF,0x30BF}, //Wall1 {0x0000,0x0000,0xFFFF,0xFFFF,0x0000,0x0000,0x0000,0x0000,0xFFFF,0x0404,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Wall2 {0x0000,0x0000,0xFFFC,0xFFFC,0x001C,0x002C,0x004C,0x008C,0xFF0C,0x030C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C}, //Wall3 //100 pic mark {0xFD0C,0xFD0C,0xFD0C,0xFF0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFF0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C}, //Wall4 {0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0xFD0C,0x030C,0xFF0C,0x008C,0x004C,0x002C,0x001C,0xFFFC,0xFFFC,0x0000,0x0000}, //Wall5 {0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0404,0xFFFF,0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFFFF,0x0000,0x0000}, //Wall6 {0x30BF,0x30BF,0x30BF,0x30BF,0x30BF,0x30BF,0x30C0,0x30FF,0x3100,0x3200,0x3400,0x3800,0x3FFF,0x3FFF,0x0000,0x0000}, //Wall7 {0x30BF,0x30BF,0x30BF,0x30FF,0x30BF,0x30BF,0x30BF,0x30BF,0x30BF,0x30BF,0x30BF,0x30FF,0x30BF,0x30BF,0x30BF,0x30BF}, //Wall8 {0x1FFF,0x2000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x4000,0x6000,0x3FFF,0x3FFF,0x33FF,0x1E00}, //Table1 {0xFFF8,0x0004,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0006,0xFFFC,0xFFFC,0xFFCC,0x0078}, //Table2 {0x03C0,0x0C30,0x1008,0x13C8,0x27E4,0x67E6,0x67E6,0x53CA,0x581A,0x6C36,0x63C6,0x6816,0x3C3C,0x3C3C,0x1E78,0x07E0}, //Pot1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Floor1 {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Floor2 //110 pic mark {0x0000,0x1E78,0x2184,0x4632,0x4BCA,0x680A,0x6BD6,0x4816,0x53CA,0x5E32,0x61C6,0x7FFE,0x7FFE,0x3FFC,0x1E38,0x0000}, //Chair1 {0x7FFE,0x8001,0xD00B,0x8001,0xFFFF,0x8001,0xD00B,0x8001,0xFFFF,0x8001,0xD00B,0x8001,0xFFFF,0xFFFF,0xFFFF,0x7FFE}, //Box1 {0x0000,0x3FFC,0x6FFE,0x5FFE,0x5FFE,0x781E,0x4812,0x7FFE,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001}, //Bed1 {0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0xC003,0xFFFF,0x7FFE,0x7FFE,0x0000,0x0000}, //Bed2 {0xFFFF,0x8001,0x8001,0x8001,0x8001,0xFFFF,0x8001,0xBFFD,0xA005,0xA185,0xA005,0xBFFD,0xA005,0xA185,0xA005,0xBFFD}, //Cabinet1 {0xA005,0xA185,0xA005,0xBFFD,0xA005,0xA185,0xA005,0xBFFD,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Cabinet2 {0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001,0x8001}, //Door2 {0x1FF8,0x2004,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x4002,0x6006,0x3FFC,0x3FFC,0x33CC,0x1E78}, //Table3 {0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}, //Black1 {0x007C,0x1882,0x253D,0x49C3,0x5000,0x6F06,0x10C9,0x2C2B,0x29AA,0x21AA,0x282A,0x41CA,0x5312,0x76DA,0x1D2E,0x01C0}, //Sand6 //120 pic mark {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x381C,0x5FF2,0xBFFD,0xFC3F,0x87E1}, //Phone1 {0xFC3F,0x1818,0x318C,0x724E,0x726E,0x719E,0xB84D,0xBC7D,0x9FF9,0x4002,0x7FFE,0x7FFE,0x7FFE,0x3FFC,0x1E38,0x0000}, //Phone2 {0xA005,0xA185,0xA005,0xBFFD,0xA005,0xA185,0xA005,0xBFFD,0x0000,0x0000,0x0000,0x381C,0x5FF2,0xBFFD,0xFC3F,0x87E1}, //Phone3 {0xFC3F,0x181C,0x318E,0x324E,0x726E,0x719E,0xB84D,0xBC7D,0x9FF9,0x4002,0x3FFE,0x0006,0xFFFC,0xFFFC,0xFFCC,0x0078}, //Phone4 {0x7E7E,0xFFFF,0xFFFF,0xE7E7,0xE7E7,0xFFFF,0xFFFF,0x7E7E,0x8181,0x8181,0xFFFF,0xC3C3,0xC3C3,0xE7E7,0xFFFF,0xFFFF}, //Light1 {0x7E7E,0xFFFF,0xE7E7,0xC3C3,0xC3C3,0xE7E7,0xFFFF,0x7E7E,0x8181,0x8181,0xFFFF,0xC3C3,0xC3C3,0xE7E7,0xFFFF,0xFFFF}, //Light2 {0x7E7E,0xC3C3,0x8181,0x8181,0x8181,0x8181,0xC3C3,0x7E7E,0x8181,0x8181,0xFFFF,0xC3C3,0xC3C3,0xE7E7,0xFFFF,0xFFFF}, //Light3 {0x4242,0x8181,0x0000,0x0000,0x0000,0x0000,0x8181,0x4242,0x8181,0x8181,0xFFFF,0xC3C3,0xC3C3,0xE7E7,0xFFFF,0xFFFF}, //Light4 {0x3C00,0x2600,0x2500,0x2480,0xE4FE,0xA482,0xBC82,0xA282,0xA182,0xA082,0xBF82,0x8002,0x8002,0xFFFE,0xFFFE,0xFFFE}, //Cashier1 {0x0000,0x0000,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Floor3 //130 pic mark {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //White1 {0x1FF8,0x2A14,0x4A12,0x4BF2,0x4BF2,0x4BF2,0x4BF2,0x4FF2,0x4812,0x4812,0x4FF2,0x6006,0x3FFC,0x3FFC,0x33CC,0x1E78}, //Table4 {0xFFFF,0x8001,0x8001,0x8001,0x8001,0xFFFF,0x8001,0xBFFD,0xBFE5,0xA7E5,0xA5E5,0xA5E5,0xA5E5,0xBFFD,0x8001,0xBFFD}, //Shelf1 {0xBFE5,0xA7E5,0xA5E5,0xA5E5,0xA5E5,0xBFFD,0x8001,0xBFFD,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, //Shelf2 {0x007f,0x00e0,0x0180,0x0700,0x1e00,0x2000,0x3200,0x1e20,0xec20,0x8660,0xd3e1,0x70f9,0x623f,0xf20f,0xbe00,0xcc18}, //Tree7 {0xfe00,0x0780,0x01c0,0x0070,0x0008,0x0058,0x0038,0x0278,0x07f7,0x3ff9,0x07d3,0x018f,0xe01f,0x817f,0x03ff,0x7fff}, //Tree8 {0xbfb0,0xbff0,0xbbff,0xbbff,0xdbff,0xe3ff,0x79ff,0x5eff,0x783f,0x300f,0x3070,0x21f8,0x37f8,0x1ffc,0x000e,0x0007}, //Tree9 {0xfffd,0x1ffd,0xffdd,0xffdd,0xffdb,0xffc7,0xff9e,0xff7a,0xfe3e,0xfe1c,0x3f0c,0x3f86,0x3fee,0x7ffc,0xff00,0xfc00}, //Tree10 {0x0990,0x6db6,0x7ffe,0x3ffc,0xfffd,0xffff,0x7ffe,0x7ffe,0xffbe,0xffdf,0x67ee,0xc0fe,0xe01f,0x7d43,0x37fe,0x0004}, //Hole down {0xffff,0x8021,0x83e1,0x8221,0xbe21,0xa221,0xa221,0xa23f,0xa23f,0xa3ff,0xa3ff,0xbfff,0xbfff,0x8001,0x8001,0xffff}, //Stairs up {0x0000,0x0000,0x0301,0x0381,0x03c3,0x03c7,0x1fcf,0x3fef,0x3ffe,0x0ffc,0x07f8,0x03fc,0x00ff,0x01ff,0x0fbf,0x1f1f}, {0x0000,0x0000,0x0101,0x8181,0xc3c3,0xc7c7,0xcfcf,0xefef,0xffff,0x7e7e,0x3c3c,0x3c3c,0x7f7f,0xffff,0xffff,0xe7e7}, {0x0000,0x0000,0x0180,0x81c0,0xc3c0,0xc7c0,0xcffc,0xeffc,0x7ff8,0x3ff0,0x7f80,0xff00,0xffc0,0xfbe0,0xf1f0,0xf0fc}, {0xe1f8,0xf3f0,0xff80,0x7f00,0x7fc0,0xffe0,0xf3f0,0xf1fc,0xe1f8,0xf3f0,0xff80,0x7f00,0x7fc0,0xffe0,0xf3f0,0xf1fc}, {0xf8f8,0xfdf0,0xff80,0xff00,0x3fc0,0x1fe0,0x3ff0,0x7ffc,0xeffc,0xcff8,0xc7c0,0xc3c0,0x81c0,0x01c0,0x0000,0x0000}, {0xe7e7,0xffff,0xffff,0x7f7f,0x3c3c,0x3c3c,0x7e7e,0xffff,0xefef,0xcfcf,0xc7c7,0xc3c3,0x8181,0x0101,0x0000,0x0000}, {0x3f0f,0x0f8f,0x07df,0x03ff,0x00ff,0x01fe,0x0ffc,0x1ffe,0x3fef,0x3fcf,0x03c7,0x03c3,0x0381,0x0101,0x0000,0x0000}, {0x1f1f,0x3f8f,0x0fcf,0x07ff,0x03fe,0x00fe,0x01ff,0x0fcf,0x1f87,0x3f8f,0x0fcf,0x07ff,0x03fe,0x00fe,0x01ff,0x0fcf}, {0x07e0,0x3c3c,0x4812,0x5812,0x73ce,0x342c,0x799e,0xb99d,0xbc3d,0xf7ef,0xb00d,0x9819,0x7c3f,0x27e6,0x47e2,0x7ffe}, {0x7ffe,0xc003,0x9ff9,0xbebd,0xbc1d,0xb89d,0xb99d,0x9db9,0x8001,0xc003,0xbffd,0x8001,0x8421,0x4242,0xa005,0xffff},//Dlight {0x7ffe,0xc183,0x9f79,0xbd3d,0xb89d,0xb9dd,0xb9dd,0x9db9,0x8001,0xc003,0xbffd,0x8001,0x8421,0x4242,0xa005,0xffff}, {0x7f7e,0xc323,0x9d19,0xb85d,0xb9cd,0xbbed,0xbbed,0x9dd9,0x8001,0xc003,0xbffd,0x8001,0x8421,0x4242,0xa005,0xffff}, {0x0000,0x3f7c,0x417e,0x417e,0x417e,0x420e,0x45f6,0x7bf8,0x07f6,0x7bea,0x7dd2,0x7e22,0x7ec2,0x7e82,0x3efc,0x0000}, {0x0f8f,0x03cf,0x01ff,0x01fe,0x81fe,0x81ff,0xc3cf,0xff87,0xffff,0x7eff,0x3cce,0x3cc6,0x7fe6,0xfffe,0xfffc,0xe7e1}, {0xe1f0,0xf3c0,0xff80,0x7f80,0x7f81,0xff81,0xf3c3,0xf1ff,0xffff,0xff7e,0x733c,0x633c,0x677f,0x7fff,0x3fff,0x87e7}, {0x87e7,0x3fff,0x7fff,0x677f,0x633c,0x733c,0xff7e,0xffff,0xe1ff,0xf3c3,0xff81,0x7f81,0x7f80,0xff80,0xf3c0,0xf1f0}, {0xe7e1,0xfffc,0xfffe,0x7fe6,0x3cc6,0x3cce,0x7eff,0xffff,0xff8f,0xc3cf,0x81ff,0x81fe,0x01fe,0x01ff,0x03cf,0x0f87}, {0x0202,0x2020,0x0101,0x0808,0x8080,0x0000,0x2222,0x0808,0x0202,0x2020,0x0101,0x0808,0x8080,0x0000,0x2222,0x0808}, {0xfe0f,0xf331,0xe1e3,0xeccf,0xec83,0xe183,0xf39f,0xdf1f,0xe307,0xff04,0xff9e,0xff9f,0xfe03,0x7e07,0x3f8f,0x03ff},//D one enter {0xf07f,0x8ccf,0xc787,0xf337,0xc137,0xc187,0xf9cf,0xf8fb,0xe0c7,0x20ff,0x79ff,0xf9ff,0xc07f,0xe07e,0xf1fc,0xffc0}, {0x0000,0x0000,0x3f9f,0x3fff,0x3fff,0x3fff,0x3ff9,0x3fff,0x3fff,0x3dff,0x3df0,0x3fff,0x3fdf,0x1fdf,0x1fdf,0x3fdf}, {0x0000,0x0000,0xf9fc,0xfffc,0xfffc,0xfffc,0x9ffc,0xfffc,0xfffc,0xffbc,0x0fbc,0xfffc,0xfbfc,0xfbf8,0xfbf8,0xfbfc}, {0xfbfc,0xfbbc,0xfbbc,0xfbfc,0xfbfc,0x0ff8,0xfff8,0xfffc,0xfffc,0xf9fc,0xfffc,0xfffc,0xfffc,0x9ffc,0x0000,0x0000}, {0x3fdf,0x3ddf,0x3ddf,0x3fdf,0x3fdf,0x1ff0,0x1fff,0x3fff,0x3fff,0x3ff9,0x3fff,0x3fff,0x3fff,0x3f9f,0x0000,0x0000}, {0x0000,0x0000,0x9f9f,0xffff,0xffff,0xffff,0xf9f9,0xffff,0xffff,0xffff,0x0606,0xf9f9,0xffff,0xffff,0xffff,0xffff}, {0xfbfc,0xf7bc,0xf7bc,0xfbfc,0xfbfc,0xfbf8,0xfbf8,0xfbfc,0xfbfc,0xf7bc,0xf7bc,0xfbfc,0xfbfc,0xfbf8,0xfbf8,0xfbfc}, {0xffff,0xffff,0xffff,0xffff,0xf9f9,0x0606,0xffff,0xffff,0xffff,0xf9f9,0xffff,0xffff,0xffff,0x9f9f,0x0000,0x0000}, {0x3fdf,0x1fdf,0x1fdf,0x3fdf,0x3fdf,0x3def,0x3def,0x3fdf,0x3fdf,0x1fdf,0x1fdf,0x3fdf,0x3fdf,0x3def,0x3def,0x3fdf}, {0xffff,0xffff,0xfffb,0xfff7,0xf9ef,0x061f,0xffdf,0xff5f,0xfcdf,0xf8ef,0xf1ef,0xe3df,0xc7df,0x8fdf,0x1fdf,0x3fdf}, {0x3fdf,0x1fdf,0x8fdf,0xc7df,0xe3df,0xf1ef,0xf8ef,0xfcdf,0xff5f,0xffdf,0x061f,0xf9ef,0xfff7,0xfffb,0xffff,0xffff}, {0xfbfc,0xfbf8,0xfbf1,0xfbe3,0xfbc7,0xf78f,0xf71f,0xfb3f,0xfaff,0xfbff,0xf860,0xf79f,0xefff,0xdfff,0xffff,0xffff}, {0xffff,0xffff,0xdfff,0xefff,0xf79f,0xf860,0xfbff,0xfaff,0xfb3f,0xf71f,0xf78f,0xfbc7,0xfbe3,0xfbf1,0xfbf8,0xfbfc}, {0x41f8,0x4118,0x450c,0xc104,0xe387,0xfcc7,0x3844,0x126c,0x5038,0x103a,0x9138,0x1864,0x3cc6,0xe393,0xc183,0xc9ff}, {0x0100,0x0280,0x054e,0x0932,0xec66,0x9eee,0xcaec,0xe8ff,0x7cfb,0x3ef3,0x7b66,0x9a6e,0xceec,0x6efc,0x3ef8,0x07f0}, {0xbffd,0xeff7,0xeff7,0xeff7,0xeff7,0xe007,0xffff,0xffff,0xe007,0xc003,0x8001,0x8001,0x8001,0x8001,0x8001,0x0000}, {0x126c,0x5038,0x103a,0x9138,0x1864,0x3cc6,0xe393,0xc183,0xc9ff,0x7ffe,0x7ffe,0xeff7,0xeff7,0xeff7,0xe007,0xdffb}, {0xfefe,0xbdbd,0xd2d2,0xa5a5,0x5a5a,0xb5b5,0x6a6a,0x4040,0x8080,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, {0x0000,0x07e0,0x0ff0,0x3f38,0x4f34,0x4814,0x4124,0x3128,0x0818,0x1fe4,0x27e4,0x2438,0x1f10,0x08f8,0x0ff0,0x0000},//Little Boy1 {0x0000,0x0fc0,0x1fe0,0x39f8,0x59e4,0x5024,0x4904,0x2918,0x3020,0x4ff0,0x4fc8,0x3848,0x11f0,0x3e20,0x1fe0,0x0000},//Little Boy2 {0x3ffc,0x4002,0x8001,0xbffd,0xe007,0xc003,0x9bd9,0x87e1,0x87e1,0xb7ed,0x87e1,0x83c1,0xb99d,0x8001,0x8001,0xffff},//Tablet {0x07e0,0x381c,0x508a,0x4142,0x514a,0x2f74,0x2a56,0x5249,0x9819,0x9c39,0xb7ee,0x6824,0x2824,0x301c,0x1008,0x1ff8},//marine {0x07e0,0x381c,0x510a,0x4282,0x528a,0x2ef4,0x6a54,0x924a,0x9819,0x9c39,0xb7ee,0x6414,0x2414,0x380c,0x1008,0x1ff8},//marine2 {0x0c00,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x1200,0x7380,0x5e80,0x2100,0x1e00,0x1e00,0x1e00,0x0c00},//sword2 {0x0ff0,0x1008,0x2004,0x2004,0x27e4,0x2c34,0x2ff4,0x6996,0xaff5,0xaa55,0xaff5,0xa005,0xbffd,0x8001,0x9819,0x67e6},//Grave1 {0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999,0x9999}, {0x8001,0xc003,0xa005,0x97e9,0x8811,0xc003,0xa185,0xb3cd,0xb3cd,0xb3cd,0xb18d,0xa185,0xadb5,0xbc3d,0xbe7d,0xffff} }; /*---------------------------------------------------------------------------*/ /* Functions */ /*---------------------------------------------------------------------------*/ /*===========================================================================*/ /* Draws Terrain of a room */ /*===========================================================================*/ void DrawTerrain(void) { int count1,count2; //------------------------------------------------------------------------------------------------ // Screen Shift Concept: // Because the TI-89 screen can only fit 6 rows of tiles instead of 8 like the gameboy, // A routine must be implemented to scroll the screen Up and Down so that the player can see the whole room. // screen_shift represents how any pixels from the top of the room the routine must scroll down. // if screen_shift reaches 16, it resets and adds 1 to screen_row_gain // // Conceptually, the routine does: // 1) Takes the first row pictures on the screen, and shifts the horizontal pixels up, // truncating its height to whatever it should be (using function ShiftImage). // 2) Shifts the rest of the rows on the screen UP to complete the picture. //------------------------------------------------------------------------------------------------ screen_shift = 0; screen_row_gain = 0; //-------------------------------------------------------------------- // If Link goes beyond the 4th row of terrain, increase screen shift //-------------------------------------------------------------------- if (link_y >= 3*16) { count1 = link_y - 3*16; screen_row_gain = (int)(count1/16); screen_shift = count1 % 16; } //-------------------------------------------------------------------------------------- // Total screen shift must not exceed 28, because there are 16*2 rows, +4 extra pixels // to display (because after 6 rows, 96 pixels, 4 pixels remain from LCD_HEIGHT //-------------------------------------------------------------------------------------- if (screen_shift + screen_row_gain*16 > 2*16-4) { screen_row_gain = 1; screen_shift = 12; } for (count1=0;count1<10;count1++) //Column { //---------------------------------------- // Draws first row pictures with shift //---------------------------------------- ShiftImage(TERRAIN, room_buffer[screen_row_gain][count1][TERRAIN_PIC], UP, screen_shift, FALSE); Sprite16(count1*16, 0, 16, image_buffer_light, light, SPRT_XOR); Sprite16(count1*16, 0, 16, image_buffer_dark, dark, SPRT_XOR); //---------------------------------------------------------------- // Starts on the 2nd row of pictures, and moves the pictures up. //---------------------------------------------------------------- for (count2=1;count2<8;count2++) //Row { Sprite16(count1*16,count2*16-screen_shift,16,img_map_light[ room_buffer[count2+screen_row_gain][count1][TERRAIN_PIC] ],light,SPRT_XOR); Sprite16(count1*16,count2*16-screen_shift,16,img_map_dark[ room_buffer[count2+screen_row_gain][count1][TERRAIN_PIC] ],dark,SPRT_XOR); } } } /*===========================================================================*/ /* Animates terrain on the screen by cycling through frames from */ /* terrain_animation_list. */ /*===========================================================================*/ void AnimateTerrain(void) { int list_num = 0; //Cycles through the terrain_animation_list //-------------------------------------------------- // Defines how fast an animation moves. The larger // ani_speed is, the slower it moves. //-------------------------------------------------- int ani_speed = 0; //--------------------------------------------------- // Each animated terrain cycles through 4 pictures. // ani_list holds the picture number for these pics //--------------------------------------------------- int ani_list[] = {0,0,0,0}; //----------------------------------------------------- // Scrolls through the animated terrains in the room //----------------------------------------------------- while (terrain_animation_list[list_num][TERRAIN_NUMBER] >= 0) { switch (terrain_animation_list[list_num][TERRAIN_NUMBER]) { case 12: //FLower1 ani_speed = 7; ani_list[0] = 12; ani_list[1] = 58; ani_list[2] = 60; ani_list[3] = 59; break; case 20: //Water1 ani_speed = 8; ani_list[0] = 20; ani_list[1] = 61; ani_list[2] = 62; ani_list[3] = 63; break; case 45: //Flying Rooster ani_speed = 3; ani_list[0] = 45; ani_list[1] = 64; ani_list[2] = 65; ani_list[3] = 66; break; case 86: //Water5 (the water at the beach) ani_speed = 7; ani_list[0] = 86; ani_list[1] = 87; ani_list[2] = 88; ani_list[3] = 89; break; case 85: //Shore1 (shore water at the beach) ani_speed = 7; ani_list[0] = 85; ani_list[1] = 90; ani_list[2] = 91; ani_list[3] = 92; break; case 149: //Light in the doungens ani_speed = 7; ani_list[0] = 149; ani_list[1] = 150; ani_list[2] = 151; ani_list[3] = 150; break; case 177: //Light in the doungens ani_speed = 4; ani_list[0] = 177; ani_list[1] = 177; ani_list[2] = 178; ani_list[3] = 178; break; case 180: //Light in the doungens ani_speed = 4; ani_list[0] = 180; ani_list[1] = 180; ani_list[2] = 181; ani_list[3] = 181; break; //----------------------------------------------------- // Light - found inside houses. This routine is a // little different, so it overrides the default // routine of handling terrain animation. //----------------------------------------------------- case 124: switch (terrain_animation_list[list_num][TERRAIN_FRAME]) { case 1 ... 4*1: room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = 124; break; case 4*1+1 ... 4*2: room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = 125; break; case 4*2+1 ... 4*3: room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = 126; break; case 4*3+1 ... 4*4+10: //Short delay when the light is fully on room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = 127; break; case 4*4+1+10 ... 4*5+10: room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = 126; break; case 4*5+1+10 ... 4*6+10: room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = 125; break; default: terrain_animation_list[list_num][TERRAIN_FRAME] = 1; } terrain_animation_list[list_num][TERRAIN_FRAME]++; list_num++; continue; } //--------------------------------------------------------------------------- // Switches pictures, according to what frame the animated terrain is on //--------------------------------------------------------------------------- if (terrain_animation_list[list_num][TERRAIN_FRAME] >= 1 && terrain_animation_list[list_num][TERRAIN_FRAME] <= ani_speed) { room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = ani_list[0]; } else if (terrain_animation_list[list_num][TERRAIN_FRAME] >= ani_speed+1 && terrain_animation_list[list_num][TERRAIN_FRAME] <= 2*ani_speed) { room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = ani_list[1]; } else if (terrain_animation_list[list_num][TERRAIN_FRAME] >= 2*ani_speed+1 && terrain_animation_list[list_num][TERRAIN_FRAME] <= 3*ani_speed) { room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = ani_list[2]; } else if (terrain_animation_list[list_num][TERRAIN_FRAME] >= 3*ani_speed+1 && terrain_animation_list[list_num][TERRAIN_FRAME] <= 4*ani_speed) { room_buffer[ terrain_animation_list[list_num][TERRAIN_X] ] [ terrain_animation_list[list_num][TERRAIN_Y] ] [TERRAIN_PIC] = ani_list[3]; } //-------------------------------------------------- // Restarts the frame cycle if it reaches an end. //-------------------------------------------------- else { terrain_animation_list[list_num][TERRAIN_FRAME] = 1; } //----------------------------------------------------------------------- // Increase the frame number and list_num once everything is processed //----------------------------------------------------------------------- terrain_animation_list[list_num][TERRAIN_FRAME]++; list_num++; } } /*==================================================================================*/ /* This function checks if the given rectangular area collides with a non-walkable */ /* terrain. If it does, it returns TRUE. Otherwise, it returns false. */ /* NOTE: this function assumes the maximum area given will be 16x16. */ /*==================================================================================*/ short CheckTerrainCollision(short x, short y, short width, short height) { //----------------------------------------------------------------------- // Any 16x16 area can potentially collide with 4 different terrains. So // 4 if-checks must be done, one on each of the terrains. The different // number additions/subtractions are for more travel leeway. //----------------------------------------------------------------------- if ((!(room_buffer[GetTerrainRow(y)][GetTerrainCol(x)][TERRAIN_PROPERTIES] & WALKABLE) && CheckAreaCollision(x, y, width, height, GetTerrainCol(x)*16+6, GetTerrainRow(y)*16+3, 16-6-6-1, 16-9-3)) || (!(room_buffer[GetTerrainRow(y)][GetTerrainCol(x)+1][TERRAIN_PROPERTIES] & WALKABLE) && CheckAreaCollision(x, y, width, height, (GetTerrainCol(x)+1)*16+6, GetTerrainRow(y)*16+3, 16-6-6-1, 16-9-3)) || (!(room_buffer[GetTerrainRow(y)+1][GetTerrainCol(x)][TERRAIN_PROPERTIES] & WALKABLE) && CheckAreaCollision(x, y, width, height, GetTerrainCol(x)*16+6, (GetTerrainRow(y)+1)*16+3, 16-6-6-1, 16-9-3)) || (!(room_buffer[GetTerrainRow(y)+1][GetTerrainCol(x)+1][TERRAIN_PROPERTIES] & WALKABLE) && CheckAreaCollision(x, y, width, height, (GetTerrainCol(x)+1)*16+6, (GetTerrainRow(y)+1)*16+3, 16-6-6-1, 16-9-3))) return TRUE; else return FALSE; } /*======================================================================*/ /* Given the row and column of the terrain to slash, handles */ /* whatever that terrain's slash does. */ /*======================================================================*/ void SlashTerrain(short row, short col) { int kill=0; switch (room_buffer[row][col][TERRAIN_PIC]) { //-------------------------------------------------------- // If Link slashes PLANT1 or GRASS1, change it to GRASS2 //-------------------------------------------------------- case 173: //DPLANT1 room_buffer[row][col][TERRAIN_PROPERTIES] = WALKABLE; room_buffer[row][col][TERRAIN_PIC] = 172; kill=1; break; case 0 ... 1: //PLANT1 ///case 1: //GRASS1 room_buffer[row][col][TERRAIN_PROPERTIES] = WALKABLE; room_buffer[row][col][TERRAIN_PIC] = 2; //GRASS2 //--------------------------------------------------- // Add the dissolving leaf animation to object_list //--------------------------------------------------- AddObject(LEAF1, col*16, row*16); kill=1; break; } //--------------------------------------------------- // Random chance of getting a heart or crystal //--------------------------------------------------- if (kill==1) { if (!random(4))//was 8 { //----------------------------------- // More crystals appear than hearts //----------------------------------- switch (random(3)) { case 0: AddObject(HEART1, col*16, row*16); break; case 1: AddObject(CRYSTAL1, col*16, row*16); break; case 2: AddObject(CRYSTAL2, col*16, row*16); break; } } } } /*======================================================================*/ /* Enters into an enterable terrain. */ /*======================================================================*/ void EnterTerrain(short current_room, short row, short col) { unsigned int count1; for (count1=0;count1<15;count1++) { OSContrastDn(); DelayGame(30000); } switch (current_room) { //To Place where link starts off entrances case 1: link_map_col = 0; link_map_row = 0; link_x = 4*16; link_y = 7*16-10; LoadRoom(4); break; case 4: link_map_col = 2; link_map_row = 10; link_x = 3*16; link_y = 4*16+8; LoadRoom(1); break; //To Place where link starts off entrances case 6: link_map_col = 1; link_map_row = 0; link_x = 4*16; link_y = 7*16-10; LoadRoom(8); break; case 8: link_map_col = 2; link_map_row = 8; link_x = 3*16; link_y = 4*16+8; LoadRoom(6); break; case 11: link_map_col = 2; link_map_row = 0; link_x = 4*16; link_y = 7*16-10; LoadRoom(14); break; case 14: link_map_col = 4; link_map_row = 7; link_x = 5*16; link_y = 4*16+8; LoadRoom(11); break; case 13: link_map_col = 3; link_map_row = 0; link_x = 4*16; link_y = 7*16-10; LoadRoom(15); break; case 15: link_map_col = 4; link_map_row = 9; link_x = 5*16; link_y = 4*16+8; LoadRoom(13); break; case 2: link_map_col = 6; link_map_row = 0; link_x = 5*16; link_y = 6*16-8; LoadRoom(17); break; case 17: link_map_col = 3; link_map_row = 10; link_x = 7*16; link_y = 2*16+8; LoadRoom(2); break; case 9: link_map_col = 5; link_map_row = 1; link_x = 4*16; link_y = 7*16-10; LoadRoom(18); break; case 18: link_map_col = 2; link_map_row = 7; link_x = 1*16; link_y = 5*16+8; LoadRoom(9); break; case 10: link_map_col = 6; link_map_row = 1; link_x = 6*16; link_y = 3*16; LoadRoom(19); break; case 19: link_map_col = 3; link_map_row = 7; link_x = 5*16; link_y = 1*16; LoadRoom(10); break; case 16: link_map_col = 7; link_map_row = 0; link_x = 1*16; link_y = 1*16+8; LoadRoom(20); break; case 20: link_map_col = 4; link_map_row = 10; link_x = 5*16; link_y = 4*16+8; link_direction = DOWN; LoadRoom(16); break; case 25: link_map_col = 9; link_map_row = 5; link_x = 4*16; link_y = 7*16-10; link_direction = UP; LoadRoom(26); break; case 26: link_map_col = 6; link_map_row = 10; link_x = 6*16; link_y = 3*16+8; link_direction = DOWN; LoadRoom(25); break; case 32: link_map_col = 15; link_map_row = 0; link_x = 7*16; link_y = 4*16; link_direction = LEFT; LoadRoom(34); break; case 34: link_map_col = 8; link_map_row = 4; link_x = 1*16; link_y = 2*16+8; link_direction = DOWN; LoadRoom(32); break; } DrawScreen(); row++; for (count1=0;count1<15;count1++) { OSContrastUp(); DelayGame(30000); } } /*=================================================*/ /* Calculates the terrain's row, given a y */ /*=================================================*/ short GetTerrainRow(short y) { return (int)(y/16); } /*=================================================*/ /* Calculates the terrain's column, given an x */ /*=================================================*/ short GetTerrainCol(short x) { return (int)(x/16); }