
    :hH                    ~    d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z
 ddlmZ  G d d	ej                        Zdd
ZdZy)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)IO   )Image	ImageFile)i32le)StrOrBytesPathc                  $    e Zd ZdZdZddZddZy)WalImageFileWALzQuake2 Texturec                   d| _         | j                  j                  d      }t        |d      t        |d      f| _        t        j                  | j                         t        |d      }| j                  j                  |       |d d j                  dd      d   | j                  d	<   |d
d j                  dd      d   }|r|| j                  d<   y y )NPd       $   (       r   r   name8   X   	next_name)_modefpreadi32_sizer   _decompression_bomb_checksizeseeksplitinfo)selfheaderoffsetr   s       N/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/WalImageFile.py_openzWalImageFile._open&   s    
 /0_c&"o5
''		2 VRV #3BK--eQ7:		&2(..ua8;	%.DIIk"     c                   | j                   t        j                  j                  | j                  | j
                        | _        | j                  | j                  j                  | j
                  d   | j
                  d   z               | j                  t               t        j                  j                  |       S )Nr   r   )_imr   corenewmoder   im	frombytesr   r   
putpalettequake2paletteload)r"   s    r%   r1   zWalImageFile.load8   sy    88jjnnTYY		:DGNN477<<		!tyy|(CDEOOM*{{%%r'   N)returnNone)r2   zImage.core.PixelAccess | None)__name__
__module____qualname__formatformat_descriptionr&   r1    r'   r%   r   r   "   s    F)/$&r'   r   c                    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   )filenames    r%   openr<   @   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)r;   zStrOrBytesPath | IO[bytes]r2   r   )__doc__
__future__r   typingr    r   r   _binaryr   r   _typingr	   r   r<   r0   r9   r'   r%   <module>rC      s=   	 #   ! #&9&& &<
"/H r'   