public void unpackImages()
	{
		int origIndexOffset = this.indexStream.offset;
		int origDataOffset = this.dataStream.offset;
		while (this.dataStream.offset < this.dataStream.payload.length) {
			int drawOffsetX = this.indexStream.getSignedByte();
			int drawOffsetY = this.indexStream.getSignedByte();
			int width = this.indexStream.getUnsignedShort();
			int height = this.indexStream.getUnsignedShort();

			this.packType = this.indexStream.getSignedByte();
			int numPixels = width * height;

			int[] pixels = new int[numPixels];
			if (this.packType == 0)
				for (int x = 0; x < numPixels; x++) {
					int i = this.dataStream.getUnsignedByte();
					pixels[x] = this.colourMap[i];
				}
			else if (this.packType == 1) {
				for (int x = 0; x < width; x++) {
					for (int y = 0; y < height; y++) {
						int i = this.dataStream.getUnsignedByte();
						pixels[(x + y * width)] = this.colourMap[i];
					}
				}
			}
			this.imageBeans.add(new ImageBean(drawOffsetX, drawOffsetY, width, height, pixels));
		}
		this.indexStream.offset = origIndexOffset;
		this.dataStream.offset = origDataOffset;
	}