def METHOD_NAME(fp):
    # read header fields
    header = fp.read(32 + 24 + 32 + 12)
    size = i32(header, 32), i32(header, 36)
    offset = i32(header, 40)
    # load pixel data
    fp.seek(offset)
    Image._decompression_bomb_check(size)
    im = Image.frombytes("P", size, fp.read(size[0] * size[1]))
    im.putpalette(quake2palette)
    im.format = "WAL"
    im.format_description = "Quake2 Texture"
    # strings are null-terminated
    im.info["name"] = header[:32].split(b"\0", 1)[0]
    next_name = header[56 : 56 + 32].split(b"\0", 1)[0]
    if next_name:
        im.info["next_name"] = next_name
    return im