U
    ڲg                     @  sN   d Z ddlmZ ddlmZmZ ddlmZ G dd dejZ	dd	 Z
d
ZdS )a  
This reader is based on the specification available from:
https://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml
and has been tested with a few sample files found using google.

.. note::
    This format cannot be automatically recognized, so the reader
    is not registered for use with :py:func:`PIL.Image.open()`.
    To open a WAL file, use the :py:func:`PIL.WalImageFile.open()` function instead.
    )annotations   )Image	ImageFile)i32lec                   @  s*   e Zd ZdZdZddddZdd Zd	S )
WalImageFileZWALzQuake2 TextureNone)returnc                 C  s   d| _ | jd}t|dt|df| _t| j t|d}| j| |d d 	ddd | j
d	< |d
d 	ddd }|r|| j
d< d S )NPd       $   (       r   r   name8   X   	next_name)_modefpreadi32_sizer   Z_decompression_bomb_checksizeseeksplitinfo)selfheaderoffsetr    r    4/tmp/pip-unpacked-wheel-xela2va7/PIL/WalImageFile.py_open#   s    
zWalImageFile._openc                 C  sR   | j sFtj| j| j| _ | | j| jd | jd   | 	t
 tj| S )Nr   r   )Zimr   corenewmoder   Z	frombytesr   r   Z
putpalettequake2paletteload)r   r    r    r!   r'   5   s
    "
zWalImageFile.loadN)__name__
__module____qualname__formatformat_descriptionr"   r'   r    r    r    r!   r      s   r   c                 C  s   t | S )a2  
    Load texture from a Quake2 WAL texture file.

    By default, a Quake2 standard palette is attached to the texture.
    To override the palette, use the :py:func:`PIL.Image.Image.putpalette()` method.

    :param filename: WAL file name, or an opened file handle.
    :returns: An image instance.
    )r   )filenamer    r    r!   open=   s    
r.   s   """&&&))),,,///222555777:::<<<$" 


##&""%" #!"  -( )$'"%8.1),%& <07,3(-$("
10.,*'
%!


)#'!& %#! 

&# 

3"5)&7/-95479:379046+14'.1"+/(,%* &%"
 
,!!*)'&$"!


.0)-.'+,&**$()#''!&&$$""
0-,*(&$!



()8&'6%&4$$1""/ !-*'%!
/2)-0&+.$),!'*%(#&!%"

?<9 5#1#-#)?????9??1??*?? ???<?9?5?2?-=*;&9!742/-*'#=???<.*6' 0!)<9772/1,(+&!0" N)__doc__
__future__r    r   r   _binaryr   r   r   r.   r&   r    r    r    r!   <module>   s   
