Maze 32x32
This commit is contained in:
@@ -6,202 +6,220 @@ using UnityEngine.UIElements;
|
||||
using VRC.SDKBase;
|
||||
using VRC.Udon;
|
||||
|
||||
public class MazeDefinitionGenerator : UdonSharpBehaviour
|
||||
namespace Marro.PacManUdon.Dev
|
||||
{
|
||||
public BonusFruit bonusFruit;
|
||||
public PelletManager pelletManager;
|
||||
|
||||
void Start()
|
||||
enum CollisionMap
|
||||
{
|
||||
PrintPelletMap();
|
||||
PrintMazeMap();
|
||||
Wall = 0x00,
|
||||
Open = 0xFF,
|
||||
Tunnel = 0x61,
|
||||
HorizontalOnly = 0x56,
|
||||
}
|
||||
|
||||
private void PrintPelletMap()
|
||||
public class MazeDefinitionGenerator : UdonSharpBehaviour
|
||||
{
|
||||
var width = 28;
|
||||
var height = 31;
|
||||
public BonusFruit bonusFruit;
|
||||
public PelletManager pelletManager;
|
||||
|
||||
var pellets = pelletManager.gameObject.GetComponentsInChildren<Pellet>(includeInactive: true);
|
||||
const int width = 32;
|
||||
const int height = 32;
|
||||
|
||||
int[] map = new int[width * height];
|
||||
int[] pelletLocations = new int[pellets.Length];
|
||||
|
||||
for (int i = 0; i < map.Length; i++)
|
||||
void Start()
|
||||
{
|
||||
map[i] = -1;
|
||||
PrintPelletMap();
|
||||
PrintMazeMap();
|
||||
}
|
||||
|
||||
for (int i = 0; i < pellets.Length; i++)
|
||||
private void PrintPelletMap()
|
||||
{
|
||||
Pellet pellet = pellets[i];
|
||||
var position = GridMover.PositionToGrid(new Vector2(pellet.transform.localPosition.x, -pellet.transform.localPosition.y));
|
||||
var index = (int)position.x + (int)position.y * width;
|
||||
map[index] = i;
|
||||
pelletLocations[i] = index;
|
||||
}
|
||||
var pellets = pelletManager.gameObject.GetComponentsInChildren<Pellet>(includeInactive: true);
|
||||
|
||||
WriteBonusFruitTiles(map);
|
||||
int[] map = new int[width * height];
|
||||
int[] pelletLocations = new int[pellets.Length];
|
||||
|
||||
PrintMap(map, width);
|
||||
PrintMap(pelletLocations, 16);
|
||||
}
|
||||
|
||||
private void WriteBonusFruitTiles(int[] map)
|
||||
{
|
||||
var position = bonusFruit.transform.localPosition;
|
||||
var leftTileIndex = PelletManager.GetTilemapIndex(new Vector2(position.x - 0.5f, position.y));
|
||||
map[leftTileIndex] = (int)PacManConsumableType.FruitLeft;
|
||||
var rightTileIndex = PelletManager.GetTilemapIndex(new Vector2(position.x + 0.5f, position.y));
|
||||
map[rightTileIndex] = (int)PacManConsumableType.FruitRight;
|
||||
}
|
||||
|
||||
private void PrintMazeMap()
|
||||
{
|
||||
var width = 28;
|
||||
var height = 31;
|
||||
|
||||
int[] map = new int[width * height];
|
||||
var collisionMap = GetCollisionMap();
|
||||
|
||||
for (int i = 0; i < map.Length; i++)
|
||||
{
|
||||
if (collisionMap[i])
|
||||
for (int i = 0; i < map.Length; i++)
|
||||
{
|
||||
map[i] = (int)PacManCollisionType.Wall;
|
||||
continue;
|
||||
map[i] = (int)PacManConsumableType.None;
|
||||
}
|
||||
|
||||
map[i] = GetGhostTurnInformation(collisionMap, i, width, height);
|
||||
}
|
||||
|
||||
PrintMap(map, width);
|
||||
}
|
||||
|
||||
private int GetGhostTurnInformation(bool[] collisionMap, int i, int width, int height)
|
||||
{
|
||||
var availableDirections = 0;
|
||||
var totalAvailableDirections = 0;
|
||||
if (!collisionMap[GetTilemapIndex(i, Vector2.up, width, height)])
|
||||
{
|
||||
availableDirections |= 0b0001;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
if (!collisionMap[GetTilemapIndex(i, Vector2.down, width, height)])
|
||||
{
|
||||
availableDirections |= 0b0010;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
if (!collisionMap[GetTilemapIndex(i, Vector2.left, width, height)])
|
||||
{
|
||||
availableDirections |= 0b0100;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
if (!collisionMap[GetTilemapIndex(i, Vector2.right, width, height)])
|
||||
{
|
||||
availableDirections |= 0b1000;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
|
||||
if (totalAvailableDirections < 2)
|
||||
{
|
||||
return (int)PacManCollisionType.Empty;
|
||||
}
|
||||
|
||||
if (availableDirections == 0b0011 || availableDirections == 0b1100)
|
||||
{
|
||||
return (int)PacManCollisionType.Empty;
|
||||
}
|
||||
|
||||
return availableDirections;
|
||||
}
|
||||
|
||||
private int GetTilemapIndex(int index, Vector2 direction, int width, int height)
|
||||
{
|
||||
var position = new Vector2(index % width, index / width) + direction;
|
||||
position = Clamp(position, 0, width - 1, 0, height - 1);
|
||||
var result = (int)position.x + (int)position.y * width;
|
||||
return result;
|
||||
}
|
||||
|
||||
private static Vector2 Clamp(Vector2 vector, float xMin, float xMax, float yMin, float yMax)
|
||||
{
|
||||
if (vector.x < xMin)
|
||||
{
|
||||
vector.x = xMin;
|
||||
}
|
||||
|
||||
if (vector.x > xMax)
|
||||
{
|
||||
vector.x = xMax;
|
||||
}
|
||||
|
||||
if (vector.y < yMin)
|
||||
{
|
||||
vector.y = yMin;
|
||||
}
|
||||
|
||||
if (vector.y > yMax)
|
||||
{
|
||||
vector.y = yMax;
|
||||
}
|
||||
|
||||
return vector;
|
||||
}
|
||||
private void PrintMap(int[] map, int width)
|
||||
{
|
||||
var result = "";
|
||||
for (int i = 0; i < map.Length; i++)
|
||||
{
|
||||
if (map[i] < 0)
|
||||
for (int i = 0; i < pellets.Length; i++)
|
||||
{
|
||||
result += $"{map[i]:00}, ";
|
||||
}
|
||||
else
|
||||
{
|
||||
result += $"{map[i]:000}, ";
|
||||
Pellet pellet = pellets[i];
|
||||
var position = GridMover.PositionToGrid(new Vector2(pellet.transform.localPosition.x, pellet.transform.localPosition.y));
|
||||
var index = (int)position.x + (int)position.y * width;
|
||||
map[index] = i;
|
||||
pelletLocations[i] = index;
|
||||
}
|
||||
|
||||
if (i % width == width - 1)
|
||||
{
|
||||
result += "\n";
|
||||
}
|
||||
WriteBonusFruitTiles(map);
|
||||
|
||||
PrintMap(map, width);
|
||||
PrintMap(pelletLocations, 16);
|
||||
}
|
||||
|
||||
Debug.Log(result);
|
||||
}
|
||||
private void WriteBonusFruitTiles(int[] map)
|
||||
{
|
||||
var position = bonusFruit.transform.localPosition;
|
||||
var leftTileIndex = PelletManager.GetTilemapIndex(new Vector2(position.x - 0.5f, position.y));
|
||||
map[leftTileIndex] = (int)PacManConsumableType.FruitLeft;
|
||||
var rightTileIndex = PelletManager.GetTilemapIndex(new Vector2(position.x + 0.5f, position.y));
|
||||
map[rightTileIndex] = (int)PacManConsumableType.FruitRight;
|
||||
}
|
||||
|
||||
public static bool[] GetCollisionMap() => new bool[] {
|
||||
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true ,
|
||||
true, false, false, false, false, false, false, false, false, false, false, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, true ,
|
||||
true, false, true, true, true, true, false, true, true, true, true, true, false, true, true, false, true, true, true, true, true, false, true, true, true, true, false, true ,
|
||||
true, false, true, false, false, true, false, true, false, false, false, true, false, true, true, false, true, false, false, false, true, false, true, false, false, true, false, true ,
|
||||
true, false, true, true, true, true, false, true, true, true, true, true, false, true, true, false, true, true, true, true, true, false, true, true, true, true, false, true ,
|
||||
true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true ,
|
||||
true, false, true, true, true, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, true, true, true, false, true ,
|
||||
true, false, true, true, true, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, true, true, true, false, true ,
|
||||
true, false, false, false, false, false, false, true, true, false, false, false, false, true, true, false, false, false, false, true, true, false, false, false, false, false, false, true ,
|
||||
true, true, true, true, true, true, false, true, true, true, true, true, false, true, true, false, true, true, true, true, true, false, true, true, true, true, true, true ,
|
||||
false, false, false, false, false, true, false, true, true, true, true, true, false, true, true, false, true, true, true, true, true, false, true, false, false, false, false, false ,
|
||||
false, false, false, false, false, true, false, true, true, false, false, false, false, false, false, false, false, false, false, true, true, false, true, false, false, false, false, false ,
|
||||
false, false, false, false, false, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, false, false, false, false, false ,
|
||||
true, true, true, true, true, true, false, true, true, false, true, false, false, false, false, false, false, true, false, true, true, false, true, true, true, true, true, true ,
|
||||
false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false ,
|
||||
true, true, true, true, true, true, false, true, true, false, true, false, false, false, false, false, false, true, false, true, true, false, true, true, true, true, true, true ,
|
||||
false, false, false, false, false, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, false, false, false, false, false ,
|
||||
false, false, false, false, false, true, false, true, true, false, false, false, false, false, false, false, false, false, false, true, true, false, true, false, false, false, false, false ,
|
||||
false, false, false, false, false, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, false, false, false, false, false ,
|
||||
true, true, true, true, true, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, true, true, true, true, true ,
|
||||
true, false, false, false, false, false, false, false, false, false, false, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, true ,
|
||||
true, false, true, true, true, true, false, true, true, true, true, true, false, true, true, false, true, true, true, true, true, false, true, true, true, true, false, true ,
|
||||
true, false, true, true, true, true, false, true, true, true, true, true, false, true, true, false, true, true, true, true, true, false, true, true, true, true, false, true ,
|
||||
true, false, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, false, false, false, true ,
|
||||
true, true, true, false, true, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, true, false, true, true, true ,
|
||||
true, true, true, false, true, true, false, true, true, false, true, true, true, true, true, true, true, true, false, true, true, false, true, true, false, true, true, true ,
|
||||
true, false, false, false, false, false, false, true, true, false, false, false, false, true, true, false, false, false, false, true, true, false, false, false, false, false, false, true ,
|
||||
true, false, true, true, true, true, true, true, true, true, true, true, false, true, true, false, true, true, true, true, true, true, true, true, true, true, false, true ,
|
||||
true, false, true, true, true, true, true, true, true, true, true, true, false, true, true, false, true, true, true, true, true, true, true, true, true, true, false, true ,
|
||||
true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true ,
|
||||
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true
|
||||
};
|
||||
private void PrintMazeMap()
|
||||
{
|
||||
int[] map = new int[width * height];
|
||||
var collisionMap = GetCollisionMap();
|
||||
|
||||
for (int i = 0; i < map.Length; i++)
|
||||
{
|
||||
byte result = 0;
|
||||
var tile = collisionMap[i];
|
||||
|
||||
if (tile == (byte)CollisionMap.Wall)
|
||||
{
|
||||
result |= (byte)PacManCollisionInfoType.Wall;
|
||||
}
|
||||
|
||||
if (tile == (byte)CollisionMap.Tunnel)
|
||||
{
|
||||
result |= (byte)PacManCollisionInfoType.Tunnel;
|
||||
}
|
||||
|
||||
if (tile == (byte)CollisionMap.HorizontalOnly)
|
||||
{
|
||||
result |= (byte)PacManCollisionInfoType.HorizontalOnly;
|
||||
}
|
||||
|
||||
result |= GetGhostTurnInformation(collisionMap, i, width, height);
|
||||
|
||||
map[(i % width) + (height - i / width - 1) * width] = result;
|
||||
}
|
||||
|
||||
PrintMap(map, width);
|
||||
}
|
||||
|
||||
private byte GetGhostTurnInformation(byte[] collisionMap, int i, int width, int height)
|
||||
{
|
||||
byte result = 0;
|
||||
var totalAvailableDirections = 0;
|
||||
if (collisionMap[GetTilemapIndex(i, Vector2.up, width, height)] != (byte)CollisionMap.Wall)
|
||||
{
|
||||
result |= 0b0001;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
if (collisionMap[GetTilemapIndex(i, Vector2.down, width, height)] != (byte)CollisionMap.Wall)
|
||||
{
|
||||
result |= 0b0010;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
if (collisionMap[GetTilemapIndex(i, Vector2.left, width, height)] != (byte)CollisionMap.Wall)
|
||||
{
|
||||
result |= 0b0100;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
if (collisionMap[GetTilemapIndex(i, Vector2.right, width, height)] != (byte)CollisionMap.Wall)
|
||||
{
|
||||
result |= 0b1000;
|
||||
totalAvailableDirections += 1;
|
||||
}
|
||||
|
||||
if (totalAvailableDirections < 2
|
||||
|| result == 0b0011 || result == 0b1100)
|
||||
{
|
||||
result |= (byte)PacManCollisionInfoType.NoTurn;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private int GetTilemapIndex(int index, Vector2 direction, int width, int height)
|
||||
{
|
||||
var position = new Vector2(index % width, index / width) + direction;
|
||||
position = Clamp(position, 0, width - 1, 0, height - 1);
|
||||
var result = (int)position.x + (int)position.y * width;
|
||||
return result;
|
||||
}
|
||||
|
||||
private static Vector2 Clamp(Vector2 vector, float xMin, float xMax, float yMin, float yMax)
|
||||
{
|
||||
if (vector.x < xMin)
|
||||
{
|
||||
vector.x = xMin;
|
||||
}
|
||||
|
||||
if (vector.x > xMax)
|
||||
{
|
||||
vector.x = xMax;
|
||||
}
|
||||
|
||||
if (vector.y < yMin)
|
||||
{
|
||||
vector.y = yMin;
|
||||
}
|
||||
|
||||
if (vector.y > yMax)
|
||||
{
|
||||
vector.y = yMax;
|
||||
}
|
||||
|
||||
return vector;
|
||||
}
|
||||
private void PrintMap(int[] map, int width)
|
||||
{
|
||||
var result = "";
|
||||
for (int i = 0; i < map.Length; i++)
|
||||
{
|
||||
if (map[i] < 0)
|
||||
{
|
||||
result += $"{map[i]:00}, ";
|
||||
}
|
||||
else
|
||||
{
|
||||
result += $"{map[i]:000}, ";
|
||||
}
|
||||
|
||||
if (i % width == width - 1)
|
||||
{
|
||||
result += "\n";
|
||||
}
|
||||
}
|
||||
|
||||
Debug.Log(result);
|
||||
}
|
||||
|
||||
public static byte[] GetCollisionMap() => new byte[] {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user