private void checkAdjacentNodes(Node origin) {
		Node n = null;
		for (int i = origin.x-1; i <= origin.x+1; i++) {
			for (int j = origin.y-1; j <= origin.y+1; j++) {
				n = new Node(i, j);
				int dirr = directionFromAdjacentNode(origin, n);
				if (dirr == 1) {
					if (isValid(n)) {
						n.parent = origin;
						if (!isInOpenArray(n)) {
							calculateG(n);
							calculateH(n);
							calculateF(n);
							addToOpenList(n);
						}
						else {
							n = getNodeFromOpenList(n.x, n.y);
							int dir = directionFromAdjacentNode(origin, n);
							double nG = 0;
							if (dir == 0)
								nG = origin.G + DIAGONAL_MOVE_COST;
							else if (dir == 1)
								nG = origin.G + roundHeight(MyzoGEN.getOutput().getTile(new Point(n.x, n.y)).height);
							if (nG < n.G) {
								n.parent = origin;
								calculateG(n);
								calculateF(n);
							}
						}
					}
				}
			}
		}
	}