public void render8Pixel(SpriteSheet sheet, int xPos, int yPos, int tile, int mirrorDir, int scale) {
		xPos -= xOffset;
		yPos -= yOffset;
		
		boolean mirrorX = (mirrorDir & BIT_MIRROR_X) > 0;
		boolean mirrorY = (mirrorDir & BIT_MIRROR_Y) > 0;

		int scaleMap = scale - 1;
		int xTile = tile % 32;
		int yTile = tile / 32;
		int tileOffset = (xTile << 3) + (yTile << 3) * sheet.width;
		
		for (int y = 0; y < 8; y++) {
			int ySheet = y;
			if(mirrorY) ySheet = 7 - y;
			
			int yPixel = y + yPos + (y * scaleMap) - ((scaleMap << 3) / 2);
			
			for (int x = 0; x < 8; x++) {
				int xSheet = x;
				if(mirrorX) xSheet = 7 - x;
				int xPixel = x + xPos + (x * scaleMap) - ((scaleMap << 3) / 2);
				
				int col = sheet.pixels[xSheet + ySheet * sheet.width + tileOffset];
				if (col != 0xffff15ff) {
					for(int yScale = 0; yScale < scale; yScale++){
						if (yPixel + yScale < 0 || yPixel + yScale >= height)
							continue;
						for(int xScale = 0; xScale < scale; xScale++){
							if (xPixel + xScale < 0 || xPixel + xScale >= width)
								continue;
							pixels[(xPixel + xScale) + (yPixel + yScale) * width] = col;
						}
					}
				}
			}
		}

	}