Gumps

Data File: GumpArt.mul
Index File: GumpIdx.mul

You can compute the following values from the Extra field in the index file.

Sizes:

short width = ((extra >> 16) & 0xFFFF);
short height = (extra & 0xFFFF);

Data:

int[height] lookupTable;
RLE Data...

RLE stands for "run-length encoding", it is a simple form of image compression.
This implementation of the RLE compression is treated as 32-bit values, broken up into two 16-bit values

RLE Packet:

1F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100
RunColor

The Color field indicates which color should be repeated. The Run field represents the length of pixels:

for ( int i = 0; i < Run; i++ )
{
   SetPixel( x + i, y, Color );
}
x += Run;

See Also:
 - UO Color Format
 - Index Files